|
![]() |
#1 |
Участник
|
а теперь параметры
X++: Query Query; QueryRun QueryRun; InventDim DimCriteria; InventDimParm ParmCriteria; InventDimParm ParmGroupBy; ; ////////////// параметры ////////////// DimCriteria.clear(); DimCriteria.InventLocationId = 'your wh'; ParmCriteria.clear(); ParmCriteria.ItemIdFlag = NoYes::Yes; ParmCriteria.InventLocationIdFlag = NoYes::Yes; ParmGroupBy.clear(); ParmGroupBy.ItemIdFlag = NoYes::Yes; ////////////// цикл ////////////// Query = InventSum::newQuery(null, 'your item',DimCriteria, ParmCriteria, ParmGroupBy); QueryRun = new Qureyrun(Query); while( QueryRun.next() ) { inventSum = QueryRun.get(tablenum(InventSum)); inventQty += inventSum.availPhysical(); } info(strfmt('%1', inventQty)); Нет. Стал ли код более универсальным? Да. Стал ли код правильным? Еще не совсем. Не хватает проверки на допустимость склада - бывают номенклатуры, для которых склад неактивен. Но поскольку в "примере" рассматривается только одна номенклатура и только один склад - это несущественно. Вот если бы мы раскрывали цикл по нескольким номенклатурам и складам... Можно ли этот код использовать в качестве паттерна для дальнейшего использования? Да. А ведь достаточно было посмотреть на УЖЕ СУЩЕСТВУЮЩИЕ методы и чуть-чуть подумать... "fast and dirty", блин ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|