![]() |
#3 |
Участник
|
Нет, не могу на это смотерть спокойно.
Во-первых, раз уж чел рассказывает про "On-hand number", то мог бы хотя бы метод использовать вмето тупого суммирования "непонятных" полей. Код бы получился более коротким и более наглядным. Заодно разобрался бы, что перепутал знаки и пропустил статус Зарегистрировано (хотя в списке полей запроса указал). X++: InventDim inventDim; InventSum inventSum; InventQty inventQty; ; while select sum(postedQty), sum(received), sum(deducted), sum(registered), sum(picked), sum(reservPhysical) from InventSum group by itemId join InventDim where inventSum.inventDimId == inventDim.inventDimId && inventSum.itemId == 'your item' && inventDim.inventLocationId == 'your WH' { inventQty += inventSum.availPhysical(); } info(strfmt('%1', inventQty)); Чел даже не предполагает, что цикл может вернуть несколько значений (тогда зачем использует while?). А все потому, что чел делает свертку по номенклатуре. Воистину "fast and dirty" поскольку при других условиях ему придется писать абсолютно новый код. Исправил в моем примере. |
|