Показать сообщение отдельно
Старый 02.12.2015, 09:15   #11  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Я собрал из двух частей: сначала по сути целиком взял CU 5801 Show Applied Entries, а внутри добавил функцию из CU 5895 Inventory Adjustment GetOrigPosItemLedgEntryNo, которая бежит по перемещениям к покупке. В итоге на кнопке такой код:

Код:
TempItemEntry.DELETEALL;
WITH Rec DO BEGIN
  IF Positive THEN
    ERROR('Это положительная операция')
  ELSE BEGIN
    ItemApplnEntry.RESET;
    ItemApplnEntry.SETCURRENTKEY("Outbound Item Entry No.","Item Ledger Entry No.","Cost Application");
    ItemApplnEntry.SETRANGE("Outbound Item Entry No.","Entry No.");
    ItemApplnEntry.SETRANGE("Item Ledger Entry No.","Entry No.");
    ItemApplnEntry.SETRANGE("Cost Application",TRUE);
    IF ItemApplnEntry.FIND('-') THEN
      REPEAT
        ItemApplnEntry2.RESET;
        ItemApplnEntry2.SETCURRENTKEY("Inbound Item Entry No.","Item Ledger Entry No.");
        ItemApplnEntry2.SETRANGE("Item Ledger Entry No.",ItemApplnEntry."Inbound Item Entry No.");
        ItemApplnEntry2.SETRANGE("Inbound Item Entry No.",ItemApplnEntry."Inbound Item Entry No.");
        ItemApplnEntry2.FINDFIRST;
          IF ItemApplnEntry2."Outbound Item Entry No." <> 0 THEN BEGIN
            GetOrigPosItemLedgEntryNo(ItemApplnEntry2);
            InsertTempEntry(ItemApplnEntry2."Item Ledger Entry No.",ItemApplnEntry.Quantity);
          END ELSE BEGIN
            InsertTempEntry(ItemApplnEntry2."Item Ledger Entry No.",ItemApplnEntry.Quantity);
          END;
      UNTIL ItemApplnEntry.NEXT = 0;
  END;
END;
FORM.RUNMODAL(5804,TempItemEntry);