AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.10.2022, 08:45   #24  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,160 / 1289 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от fed Посмотреть сообщение
Опыт показал, что если в классе создать переменную типа tempDB, положить туда данные, потом FormDataSource прикрепить к этому же инстанцу временной таблицы через myDataSource_ds.cursor().linkPhysicalTableInstance(MyCalculationClass.tempDbBuffer()), а потом вызвать для исходных табличных переменных из MyCalculationClass метод Dispose(), то последствия бывают самые интересные и не вполне предсказуемые. В том числе иногда падает Productive AOS
...
В общем - похоже что после linkPhysicalTableInstance() вызывать Dispose для табличных переменных просто нельзя.
P.S. D365FO. Но я подозреваю что в DAX2012 грабли аналогичной конструкции.
Да, совсем недавно на 2012 с этим столкнулся.
Правда у меня падает не АОС, а клиент и не через некоторое время, а практически сразу при закрытии формы.

Но и кейс немного другой, я вызываю linkPhysicalTableInstance не на датасорсе, а наоборот, передаю курсор датасорса и его прикрепляю к локальной переменной:
X++:
public void inventToShipPrepare(
    ShipmentJournalRequestMap_OVK   _journalRequest,
    ShipmentInventToShipMap_OVK     _inventToShip
    )
{
    ShipmentInventToShipMap_OVK         inventToShip;
    ;
    
    inventToShip        = _inventToShip.emptyRecord();
    if (_inventToShip.isTempDb())
    {
        inventToShip.linkPhysicalTableInstance(_inventToShip);
    }

...

    // TODO: AKlim 12.10.2022 Попробовать разобраться в причине падения клиента
    //       Пока освобождение закомментировано, так как падает клиент при закрытии формы
    /*    
    if (_inventToShip.isTempDb())
    {
        inventToShip.dispose();
    }
    */
}
За это сообщение автора поблагодарили: Logger (5).
Теги
dispose, tempdb

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
TempDB table populated in CIL Blog bot DAX Blogs 9 05.03.2019 18:23
Axilicious:Permission denied in database ‘TempDB’ Blog bot DAX Blogs 0 27.01.2015 18:11
axinthefield: TempDb blocking with Dynamics AX Blog bot DAX Blogs 0 13.06.2011 00:11
Работа с таблицами Bigzone DAX: Программирование 7 25.10.2006 13:24
Помогите новичку (Работа с таблицами) Sada DAX: Программирование 4 03.06.2005 10:13

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.