![]() |
#5 |
Участник
|
Поднял старую тему, поскольку также вызывает недоумение фрагмент этого кода в dax2012, который тянется с младших версий
X++: else if (tmpInventTransMark.QtyMarkNow != 0) // update new marking { qtyRemain = -tmpInventTransMark.QtyMarkNow; loop = 0; while (loop < 4) // почему здесь значение 4, а не 3 ? { // Select transactions are to be marked inventTransThis = TmpInventTransMark::inventTransMark(_inventTransId, _inventDimCriteria, _qty, tmpInventTransMark, loop); loop = 0 - Не маркированные проводки с тем же значением InventDimId loop = 1 - Не маркированные проводки, но по значениям аналитик loop = 2 - Проводки по значениям аналитик, маркированные с другой проводкой loop = 3 - Проводки по значениям аналитик. Без контроля маркирования Вот loop = 3 и вызывает вопросы. По сути, этот шаг цикла просто еще раз отберет те же самые проводки, которые были отобраны на предыдущих шагах. В результате, если изначально ошиблись с подсчетом количества для маркирования или другой пользователь внес изменения в проводки, то вот этот самый шаг с loop = 3 может привести к разнообразным глюкам маркирования Я не очень понимаю, это специально было сделано? Может, в младших версиях был в этом какой-то смысл?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
Теги |
ax2009, ax3.0, bug, баг, ошибка |
|
|