Показать сообщение отдельно
Старый 26.03.2009, 13:54   #1  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Thumbs up
Доброго дня, Эксперты разработки..

Я вот немного не понимаю код, написанный в триггере 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, если хотя бы одну операцию нужно корректировать!
Может тогда фильтрацию какую-нибудь поставить??