Ik probeer een dubbele filtering op dezelfde tabel uit te voeren mbv een tijdelijke tabel.
Even ter verduidelijking: aan de hand van een ingegeven einddatum probeer ik uit de artikelposten de posten te halen die voor deze datum nog niet volledig geboekt zijn en degenen die volledig geboekt zijn, maar een last invoice date hebben die voor de ingegeven datum ligt.
Ik probeer dit op de volgende manier in het report
DataItem Name
Item Ledger Entry <Item Ledger Entry>
Item Ledger Entry Item Ledger Entry2
Integer <Integer>
--
Item Ledger Entry - OnPreDataItem()
"Item Ledger Entry".RESET;
"Item Ledger Entry".SETFILTER("Posting Date", '<= %1', EndDate);
"Item Ledger Entry".SETFILTER("Entry Type", '%1', "Entry Type"::Sale);
"Item Ledger Entry".SETRANGE("Completely Invoiced",FALSE);
ItemLedgerEntryTemp := "Item Ledger Entry";
ItemLedgerEntryTemp.INSERT;
---
Item Ledger Entry2 - OnPreDataItem()
"Item Ledger Entry2".RESET;
"Item Ledger Entry2".SETFILTER("Posting Date", '<=%1', EndDate);
"Item Ledger Entry2".SETFILTER("Entry Type", '%1', "Entry Type"::Sale);
"Item Ledger Entry2".SETRANGE("Completely Invoiced",TRUE);
"Item Ledger Entry2".SETFILTER("Last Invoice Date", '<=%1', EndDate);
ItemLedgerEntryTemp := "Item Ledger Entry2";
ItemLedgerEntryTemp.INSERT;
----
Integer - OnPreDataItem()
ItemLedgerEntryTemp.SETCURRENTKEY("Source Type","Source No.","Entry Type","Item No.","Variant Code","Posting Date");
Integer.SETRANGE(Number,1, ItemLedgerEntryTemp.COUNT);
Integer - OnAfterGetRecord()
CustName := '';
IF Customer.GET(ItemLedgerEntryTemp."Source No.") THEN
CustName := Customer.Name;
OrderNo := '';
IF SalesShipmentLine.GET(ItemLedgerEntryTemp."Document No.", ItemLedgerEntryTemp."Document Line No.") THEN
OrderNo := SalesShipmentLine."Order No.";
IF OrderNo = '' THEN
IF ReturnReceiptLine.GET(ItemLedgerEntryTemp."Document No.", ItemLedgerEntryTemp."Document Line No.") THEN
OrderNo := ReturnReceiptLine."Return Order No.";
Wanneer ik dit uitvoer krijg ik alleen telkens de foutmelding Artikelpost Volgnummer '0' is reeds aanwezig, volgens mij doordat hij bij de Item Ledger Entry2, de ItemLedgerEntryTemp, weer opnieuw probeert te vullen. Maar ik weet dit niet zeker, en zou niet weten hoe ik dit kan oplossen.
Iemand een idee?