Показать сообщение отдельно
Старый 08.11.2016, 16:59   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Установка ax2009 на windows 2012 R2
Привет всем.
Решили мы наконец перейти на терминальных серверах с 2003-й винды (32 бит) на 2012 R2

Все поставили - работает но бывают очень странные плавающие глюки. Может быть кто-нибудь подскажет в чем может быть дело.

Описание :
Форма LedgerJournalTable
Управляющий класс LedgerJournalformTable
При инициализации формы отрабатывает метод
X++:
SysQuery::GRD_setFieldRange( qbds, fieldnum(LedgerJournalTable, journalType), queryValue(ledgerJournalType), RangeStatus::Locked );
где GRD_setFieldRange это
X++:
// очищает все Range'и по указанному полю и устанавливает новый Range с указанным статусом
static QueryBuildRange GRD_setFieldRange(QueryBuildDataSource   _qbds,
                                        FieldId                 _fieldId,
                                        Range                   _rangeValue,
                                        RangeStatus             _rangeStatus = RangeStatus::Open)
{
    QueryBuildRange qbr;
    ;
    if (_qbds)
    {
        while (_qbds.findRange(_fieldId))
        {
            _qbds.clearRange(_fieldId);
        }
        qbr = _qbds.addRange(_fieldId);
        if (qbr)
        {
            qbr.value( _rangeValue);
            qbr.status(_rangeStatus);
        }
    }
    return qbr;
}
Выяснилось что после отработки этого метода "портится" значение переменной criteriaJournalType определенной тут
\Classes\JournalFormTable\classDeclaration
и инициализированной так :
X++:
    if (journalStatic.tableFieldIdJournalType())
        criteriaJournalType         = journalTable_ds.query().dataSourceNo(1).addRange(journalStatic.tableFieldIdJournalType());
(это стандартный код)

"Порча" в том что Аксапта начинает считать ссылку criteriaJournalType нулевой, но в какой то момент (вызов super() на дочерних датасорсах прилинкованных по delayed) эта ссылка вообще смотрит на какой то узел в treenode в AOT а вовсе не на QueryBuildRange ! Из-за чего при попытке работать с ней лезут ошибки. В частности при попытке установить фильтр ядро ругается что нет метода value

Из-за чего это может быть ? Как лечить ?
Ядро от RU7 (билд 1500.4570)
Проявляется на win2012 R2
Не проявляется на win2003 и на win2008 R2
Настройка совместимости с winXp, win7, etc в ярлыке запускающем клиента аксапты - не помогает.

Последний раз редактировалось Logger; 08.11.2016 в 17:06.