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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2009, 03:09   #1  
nebraska is offline
nebraska
Участник
 
25 / 12 (1) ++
Регистрация: 07.11.2006
Проверка настроек складской аналитики
Коллеги, подскажите плиз, как правильно сделать следующее:

Дано: Номенклатура
Необходимо программно проверить, включена ли для данной номенклатуры складская аналитика "Партия". Как это правильно сделать?

Еще кстати интересно - в 2009 в форме настройки скл. аналитик появилось новое поле Mandatory - интересно, что в связи с этим поменялось?
Старый 20.01.2009, 07:55   #2  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
-> DAX 4.0
Посмотрите InventDimSetup::find( InventTable.dimGroupId, fieldNum( InventDim, inventBatchId ) ).Active :

X++:
static void jbCheckActiveInventDimSetup(Args _args)
{
    ItemId  itemId = '<бла-бла-бла>' ;
    ;
    
    info( strfmt( "%1", InventDimSetup::find( InventTable::find( itemId ).dimGroupId, fieldNum( InventDim, inventBatchId ) ).Active ) ) ;
}
Старый 20.01.2009, 10:05   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Прямой поиск в InventDimSetup действительно работает, но более кошерно работать не напрямую с таблицей InventDimSetup, а через класс InventDimSearch .
Что-то вроде (метод на таблице InventTable):

X++:
//BP Deviation documented
// ААК: МФД40_08_01_0001_02 05.08.2008 [Синхронизация номенклатур между компаниями] -->
display boolean inventLocationActive_OVK()
// ААК: МФД40_08_01_0001_02 05.08.2008 [Синхронизация номенклатур между компаниями] <--
{
    InventDimSearch dimSearch;
    ;

    dimSearch   = new InventDimSearch();

    if (dimSearch.find(this.DimGroupId, fieldNum(InventDim, InventLocationId)))
    {
        return dimSearch.dimActive();
    }

    return false;
}
За это сообщение автора поблагодарили: mazzy (2), -Dmitry- (0).
Старый 20.01.2009, 10:24   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Кстати, если есть переменная типа Movement (его наследников), то еще проще:
Код:
movement.dimSearch().findActive(movement.dimGroupId(), fieldNum(InventDim,InventBatchId))
Старый 20.01.2009, 10:40   #5  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
А можно ещё короче:

X++:
return InventDimParm::activeDimFlag(this.DimGroupId).InventLocationIdFlag;
За это сообщение автора поблагодарили: petergunn (1).
Старый 20.01.2009, 10:44   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Для уточнения (думаю, Raven это подразумевал):
Это не только "кошерно", но и более верно с точки зрения производительности.
Так как вместо запроса к базе данных получим обращение к внутреннему кэшу из ОП
Старый 20.01.2009, 11:01   #7  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
После уточнения kashperuk'а хочу обратить внимание, что предложенный мною вариант также использует класс InventDimSearch, а тот в свою очередь кэш.
Я к тому, что метод(ы) для такой(их) проверки(ок) уже написан(ы) до нас, и нужно максимально их использовать, нежели писать свои. Это поможет в будущем при переходе на новые версии продукта
Теги
inventdim, аналитика

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление новой складской аналитики, axapta 4. Hub DAX: Программирование 25 13.10.2015 12:30
Сравнение в разрезе складской аналитики. longson DAX: Программирование 3 14.01.2008 13:45
Изменение группы складской аналитики Uma Turman DAX: Функционал 27 02.07.2007 04:53
Изменение складской аналитики sao DAX: Программирование 1 15.06.2006 14:41
Использование складской аналитики "Ячейка" Елена Сысовская DAX: Функционал 3 25.03.2003 20:27
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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