Показать сообщение отдельно
Старый 06.08.2018, 10:10   #1  
jeky is offline
jeky
:o)
Аватар для jeky
 
130 / 64 (3) ++++
Регистрация: 22.05.2008
снова updateMarking 4.0
Добрый день, коллеги!

Есть проблема с маркировкой, может кто-то посоветует с какой стороны её решить (кроме отказа работать с 4кой)
Есть исправление функционала в updateMarking, связанного с кредит-нодой, это отразилось на процедуре сторнирования журналов переноса

есть постановка о том, что
Цитата:
В момент создания строк/разноски? сторно журнала для исходных строк должно заполняеться:
- у строки StatusReceipt (Куплено...) - InventRefTransId (проставляется InventTransId сторнирующей строки)
- у строки StatusIssue (Продано...)- InventTransIdReturn (проставляется InventTransId сторнирующей строки)

У сторнирующих строк:
- у строки StatusReceipt (Куплено...) - InventTransIdReturn и InventRefTransId (проставляется InventTransId исходной строки)
- у строки StatusIssue (Продано...) InventRefTransId (проставляется InventTransId исходной строки)
но для updateMarking есть изменение: добавлено условие

X++:
if ((inventTrans.InvoiceId != '') && (inventTrans.InvoiceId == _invoiceId)) // здесь обернули строку кода в условие
        {
            inventTrans.InventRefTransId    = _inventRefTransId;
        }
если убрать условие, система вылетает с ошибкой в InventJourCopyStorno.run()
X++:
Qty1 = InventTrans::updateMarking(transOrig.InventTransId, transNew.InventTransId ,  transOrig.Qty);
Qty2 = InventTrans::updateMarking(transNew.InventTransId , transOrig.InventTransId, -transOrig.Qty);
            if (Qty1 != -Qty2)
                error('Не удалось сопоставить проводки');
эта ошибка вообще вылетает почти на каждый чих, частично для журналов проводок удалось решить её доработкой метода delete на таблице InventTrans: т.е. зачищать значение в поле, тк оно не затиралось, но для журналов переноса это не сработало...

задача срочная, если есть какие-то мысли в каком направлении двигаться, подскажите, пожалуйста.

то, что нашлось по теме
http://axforum.info/forums/archive/i...p?t-17558.html
Маркировка - достала!
__________________
"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов.