Цитата:
Сообщение от
Starling
Если я правильно понял идею, то она будет работать не всегда.
Пример:
Есть один перенос, по нему две проводки:
- Проводка1 - Х
- Проводка2 +Х
Сторнирующий перенос:
- Проводка3 - Y
- Проводка4 +Y
Вы предлагаете маркировать: Проводка1 <-> Проводка4 и Проводка2 <-> Проводка3?
Этот подход избавит от циклов только в случае если Х = Y. Если это не так, то такая маркировка наоборот может привести к появлению новых циклов.
Немного не так. Надо проводки не полностью в кольцо замыкать (т.к. при разной себестоимости в проводках это вызовет заворот мозгов у системы, т.е. безконечный цикл до исчерпания лимита, причем с бредовой себестоимостью в переносах в результате), а приход-расход на одном складе. Точнее, ошибочный приход со сторно-расходом.
В Вашем примере, если принять первую операцию за ошибочную, а вторую - за сторно, это будет маркировка Проводка2 <-> Проводка3.
Замечу, что при отсутствии такой маркировки система не только будет долго мучаться в циклах, но и результат выдаст неверный (по итоговой себестоимости запасов).