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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.06.2011, 23:17   #1  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Мы сделали так. Скорость разноски увеличилась на порядок.

1. Обявляем в классе \Classes\Application.classDeclaration переменную
X++:
Map                     mappingsInfo_RU; // Оптимизация разноски накладной, EVO 26.04.2011
2. Добавляем новый метод \Classes\Application\mappingsInfo_RU
X++:
// Оптимизация разноски накладной, EVO 26.04.2011
Map mappingsInfo_RU()
{
    ;
    if (!mappingsInfo_RU)
    {
        mappingsInfo_RU = new Map(Types::Container, Types::Class); // [TableId, MapId], MappingsInfo_RU object
    }

    return mappingsInfo_RU;
}
3. Модификацируем метод \Classes\MappingsInfo_RU\createMapWithFieldId
X++:
static public Map createMapWithFieldId(tableId _tableId, tableId _mapID)
{
    MappingsInfo_RU    mappingsInfo;
    ;

    // Оптимизация разноски накладной, EVO 26.04.2011 -->
    //orig mappingsInfo = new MappingsInfo_RU(_tableId, _mapID);
    //orig return mappingsInfo.find();
    if (!appl.mappingsInfo_RU().exists([_tableId, _mapID]))
    {
        mappingsInfo = new MappingsInfo_RU(_tableId, _mapID);
        appl.mappingsInfo_RU().insert([_tableId, _mapID], mappingsInfo.find());
    }
    return appl.mappingsInfo_RU().lookup([_tableId, _mapID]);
    // Оптимизация разноски накладной, EVO 26.04.2011 <--
}

Последний раз редактировалось DSPIC; 09.06.2011 в 23:23.
За это сообщение автора поблагодарили: UNRW (1), wolfstein (1).
Старый 09.06.2011, 23:25   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Мы сделали так. Скорость разноски увеличилась на порядок.
Идиотский вопрос: А зачем новый метод в классе Application? Почему не использовать appl.globalcache() ? Там такой же Map.
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: DSPIC (5).
Старый 10.06.2011, 10:08   #3  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Почему не использовать appl.globalcache() ?
С использованием appl.globalcache() - модифицируем метод \Classes\MappingsInfo_RU\createMapWithFieldId следующим образом:
X++:
static public Map createMapWithFieldId(tableId _tableId, tableId _mapID)
{
    MappingsInfo_RU    mappingsInfo;
    ;

    //mappingsInfo = new MappingsInfo_RU(_tableId, _mapID);
    //return mappingsInfo.find();

    if (!appl.globalCache().isSet(classstr(MappingsInfo_RU), [_tableId, _mapID]))
    {
        mappingsInfo = new MappingsInfo_RU(_tableId, _mapID);
        appl.globalCache().set(classstr(MappingsInfo_RU), [_tableId, _mapID], mappingsInfo.find());
    }
    return appl.globalCache().get(classstr(MappingsInfo_RU), [_tableId, _mapID]);

}
За это сообщение автора поблагодарили: DSPIC (5).
Теги
bug, map, treenode, баг, локализация, накладная, налоги, ошибка, счет-фактура

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как автоматически отключать связи в файле Excel при пакетной обработке? decoder DAX: Программирование 7 03.06.2009 19:19
Исправление накладных и счетов-фактур Constantine DAX: Функционал 89 26.02.2006 13:13
При обработке накладной пропадают налоги Filip DAX: Функционал 21 21.03.2005 11:19
Еще 1 простой вопрос по пакетной обработке Smith DAX: Функционал 1 26.10.2004 17:55
Распределение накладных расходов при отрицательных строках закупки wb DAX: Программирование 1 30.06.2004 13:03
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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