Доброго дня, Эксперты разработки..
Я вот немного не понимаю код, написанный в триггере InvtToAdjustExist, а именно после фильтрации есть такой код:
Код:
CopyItemToItem(Item,ToItem);
IF ItemLedgEntry.AppliedEntryToAdjustExists('') THEN
InsertDeletedItem(ToItem);
- в коде по CopyItemToItem(Item,ToItem):
Код:
WITH ToItem DO BEGIN
RESET;
DELETEALL;
IF FromItem.FINDSET THEN
REPEAT
ToItem := FromItem;
INSERT;
UNTIL FromItem.NEXT = 0;
END;
- в коде по AppliedEntryToAdjustExists:
Код:
RESET;
SETCURRENTKEY("Item No.","Applied Entry to Adjust");
SETRANGE("Item No.",ItemNo);
SETRANGE("Applied Entry to Adjust",TRUE);
EXIT(FIND('-'));
- в коде по InsertDeletedItem(VAR Item : Record Item):
Код:
CLEAR(Item);
Item.INIT;
Item."Cost is Adjusted" := FALSE;
Item."Costing Method" := Item."Costing Method"::FIFO;
Item.INSERT;
Вопрос - ЗАЧЕМ пересоздавать всё, да ещё с признаком "Costing Method"::FIFO, если хотя бы одну операцию нужно корректировать!
Может тогда фильтрацию какую-нибудь поставить??