Показать сообщение отдельно
Старый 07.04.2009, 18:54   #5  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Цитата:
Сообщение от romtex Посмотреть сообщение
Если требуются остатки на конкретную дату, а не на сегодня, то строить отчет на поле "Остаток кол-во" нельзя
Построить такой отчет можно без доп. полей, но правда работать он будет достаточно долго.
По каждому товару нужно создать темповую товар книгу, куда изначально сложить интересующие операции покупки,
затем по отрицательным операциям(не перемещениям) по этому товару найти исходную операцию (функция ниже), если она совпадает с одной из интересующих операций покупки, то в темптаблице уменьшить кол-во. Ну и затем показать все что осталось в темповой таблице.
Дополнительных полей создавать не требуется, учет переделывать тоже не нужно.
Да, это не будет работать, если учет по средней.

Код:
GetIncomingOperation(EntryNo : Integer) IncomingEntry : Decimal
ItemLedgerEntry.GET(EntryNo);
IF ItemLedgerEntry."Entry Type" = ItemLedgerEntry."Entry Type" :: Transfer THEN
  BEGIN
   ItemAppEntry.RESET;
   ItemAppEntry.SETRANGE("Item Ledger Entry No.",EntryNo);
   IF ItemAppEntry.FIND('-') THEN IncomingEntry := GetIncomingOperation(ItemAppEntry."Transferred-from Entry No.");
  END
 ELSE IncomingEntry := EntryNo;
Спасиб. Я почти так же сделал!