|  | 
|  20.01.2009, 03:09 | #1 | 
| Участник | Проверка настроек складской аналитики 
			
			Коллеги, подскажите плиз, как правильно сделать следующее: Дано: Номенклатура Необходимо программно проверить, включена ли для данной номенклатуры складская аналитика "Партия". Как это правильно сделать? Еще кстати интересно - в 2009 в форме настройки скл. аналитик появилось новое поле Mandatory - интересно, что в связи с этим поменялось? | 
|  | 
|  20.01.2009, 07:55 | #2 | 
| Участник |  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 | 
| Участник | 
			
			Прямой поиск в 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 | 
| Участник | 
			
			Кстати, если есть переменная типа Movement (его наследников), то еще проще: Код: movement.dimSearch().findActive(movement.dimGroupId(), fieldNum(InventDim,InventBatchId)) | 
|  | 
|  20.01.2009, 10:40 | #5 | 
| Боец | 
			
			А можно ещё короче: X++: return InventDimParm::activeDimFlag(this.DimGroupId).InventLocationIdFlag; | 
|  | |
| За это сообщение автора поблагодарили: petergunn (1). | |
|  20.01.2009, 10:44 | #6 | 
| Участник | 
			
			Для уточнения (думаю, Raven это подразумевал): Это не только "кошерно", но и более верно с точки зрения производительности. Так как вместо запроса к базе данных получим обращение к внутреннему кэшу из ОП | 
|  | 
|  20.01.2009, 11:01 | #7 | 
| Боец | 
			
			После уточнения kashperuk'а хочу обратить внимание, что предложенный мною вариант также использует класс InventDimSearch, а тот в свою очередь кэш. Я к тому, что метод(ы) для такой(их) проверки(ок) уже написан(ы) до нас, и нужно максимально их использовать, нежели писать свои. Это поможет в будущем при переходе на новые версии продукта   | 
|  |