29. Juli 2013 13:13
29. Juli 2013 13:35
29. Juli 2013 13:44
foxra hat geschrieben:Überprüfungen der Inhalte habe ich so noch nicht gemacht, könntet ihr da helfen?!
29. Juli 2013 14:47
29. Juli 2013 14:58
BinCode.INIT;
BinCount := BinCode.COUNT; // 1)
BinCount := 0;
BinCode.SETFILTER(BinCode."Location Code", BinCode."Item No."); 2)
IF BinCode.FINDSET THEN
REPEAT
BinCount := BinCount + 1; // 3)
UNTIL BinCode.NEXT = 0;
IF BinCount = 1 THEN
CurrReport.SKIP;
29. Juli 2013 15:07
Es ist doch gewünscht, dass der Artikel nicht gedruckt wird? Daher würde ich im OnAfterGetRecord von "Item" prüfen.Natalie hat geschrieben:Der Code für die Prüfungen (und das eben genannte CurrReport.SKIP) gehören in den Trigger OnAfterGetRecord das Bin-DataItems.
Da läuft so einiges noch nicht rund, aber hauptsächlich filterst du hier auf Lagerort = Artikelnummer. Da wird vermutlich nichts gefunden, und da Null ungleich Eins ist, kommt deine Abbruchbedingung nicht zum Zug.foxra hat geschrieben:BinCode.SETFILTER(BinCode."Location Code", BinCode."Item No.");
29. Juli 2013 15:48
BinCode.INIT;
BinCount := 0;
BinCode.SETFILTER(BinCode."Item No.",Item."No.");
IF BinCode.FINDSET THEN
BinCount:= BinCode.COUNT;
IF BinCount = 1 THEN CurrReport.SKIP;
29. Juli 2013 15:56
BinCode.INIT;
BinCount := 0;
BinCode.SETFILTER(BinCode."Item No.",Item."No."); 1)
IF BinCode.FINDSET THEN // 2)
BinCount:= BinCode.COUNT;
IF BinCount = 1 THEN CurrReport.SKIP; // 3)
foxra hat geschrieben:ob es für einen Artikel zwei eingetragene Lagerplätze gibt.
IF BinCount <> 2 THEN
CurrReport.SKIP;
29. Juli 2013 16:02
29. Juli 2013 16:10
foxra hat geschrieben:ich möchte alle Artikel auflisten die mehr als einen Lagerplatz haben.
29. Juli 2013 16:15
29. Juli 2013 16:17
foxra hat geschrieben:alle Artikel die < 2 sind,
der bericht bleibt aber leer bei dieser Bedingung :(
McClane hatte natürlich recht - ich gehe schon davon aus, dass dein Report nur aus DataItem "Item" besteht. Ist das richtig?McClane hat geschrieben:Daher würde ich im OnAfterGetRecord von "Item" prüfen.
29. Juli 2013 16:50
Item - OnAfterGetRecord()
BinCode.INIT;
BinCount := 0;
BinCode.SETFILTER(BinCode."Item No.",Item."No.");
BinCount:= BinCode.COUNT;
IF BinCount < 2 THEN
CurrReport.SKIP;
29. Juli 2013 17:01
foxra hat geschrieben:Ich rufe den Bericht im Classic per Obj. Designer auf und gebe als Filer "No." = * mit.
29. Juli 2013 17:11
29. Juli 2013 17:46
foxra hat geschrieben:keine veränderung....
was mache ich falsch?
ich habe mal das obj. angehängt (id 50080)
ItemRec.RESET;
LocationRec.RESET;
BinContentRec.RESET;
REPEAT
BinContentRec.SETRANGE("Item No.",ItemRec."No.");
IF BinContentRec.FINDSET THEN
IF BinContentRec.COUNT > 1 THEN BEGIN //Anzahl Artikelnr.-Zeilen > 1 mit gleicher Artikelnr.
REPEAT //nimm die Lagerorttabelle als Iterator
BinContentRec.SETRANGE("Location Code",LocationRec.Code);
IF BinContentRec.FINDSET THEN
REPEAT
IF BinContentRec.COUNT > 1 THEN
MESSAGE('Art-Nr. %1, enthaelt folgende Lagerplaetze: %2',BinContentRec."Item No.", BinContentRec."Bin Code");
UNTIL BinContentRec.NEXT = 0;
UNTIL LocationRec.NEXT = 0;
END;
UNTIL ItemRec.NEXT = 0;
29. Juli 2013 18:17
29. Juli 2013 22:35
foxra hat geschrieben:keine veränderung....
was mache ich falsch?
30. Juli 2013 09:42
30. Juli 2013 09:59