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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.08.2009, 22:46   #1  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
отключен RAsset = бага+фича
Давным давно (в 2.5) появился в системе модуль RAsset. И как и у любого, уважающего себя модуля, есть у него табличка RAssetParameters, к которой прилагается метод find
X++:
public server static RAssetParameters find(boolean _forUpdate = false)
{
    RAssetParameters assetParameters;
    ;

    assetParameters.selectForUpdate(_forUpdate);
    select firstonly assetParameters
        index Key
        where assetParameters.Key == 0;

    if (! assetParameters)
    {
        Company::createParameter(assetParameters);
        NumberSeqReference::construct(RAssetParameters::numberSeqModule()).load();
    }

    return (assetParameters);
}
Уж не знаю, откуда его копировали, но имеет он одну особенность. При отключенном модуле, условие if всегда выполняется, а значит при каждом обращении к методу происходит NumberSeqReference.load(), то есть попытка создания ссылок на все свои номерные серии.
Все обращения к этому методу я не исследовал, но с одним часто сталкивался при оптимизациях
PurchFormLetter_Invoice.updateNow() - как раз в цикле при создании строк. То есть на 1 строку приходной накладной, приходится 8 бесполезных обновлений NumberSeqReference.
В Ax3 это приводит к блокировкам.
В DAX4 оптимизм победил, но неприятный осадок в виде постоянных попыток создать ссылки остался.
В DAX2009, наконец-то, добавили проверку на существование таблицы
X++:
...
    if (! assetParameters && ! assetParameters.isTmp())
    {
...
За это сообщение автора поблагодарили: ZVV (2), Logger (2), konopello (2), gl00mie (3).
Теги
ax2009, ax3.0, ax4.0, баг, основные средства, российская функциональность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
update_recordset. Бага или фича? Lucky13 DAX: Программирование 7 08.04.2009 17:33
Бага в сопоставлении «Максимальная переплата или недоплата». Starling DAX: Функционал 1 03.04.2009 17:16
Anytype (Баг или Фича) Eldar9x DAX: Программирование 3 15.01.2009 15:04
Есть ли фича для вставки комментариев ? Zabr DAX: Программирование 14 08.09.2008 09:58
Бага или фича в модуле Расчеты с персоналом? katja DAX: Функционал 3 13.09.2004 18:10

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:42.