[Gelöst] - Kreditoren Zahlungsdatei / Avis modifizieren

24. September 2010 12:58

Hi,

mir fehlt das i tüpfelchen für eine Sache an der ich arbeite, vielleicht könnt Ihr mir helfen...

Also, bei Kreditoren EK Rechnung soll es möglich sein einen individuellen "Bank Code" in der EK Rechnung zu hinterlegen, dieser Bank Code soll übernommen werden in die Kreditorenposten, und später bei erstellen der Zahlungsdatei berücksichtigt werden.

Der "Bank Code" wird durchgeschleift, und die Zahlungsdatei erstellt, es wird also pro Kreditor und Bank ein Eintrag in die Zahlungsdatei geschrieben, auch richtig aufsummiert.

Das "Problemchen" was ich habe ist wenn ein Avis erstellt werden soll, angenommen es sollen ab 3 Posten Avis/Begleitzettel erstellt werden, im Standard werden alle Posten eines Kreditor zusammengefasst und ein Avis erstellt , nun aber soll es so sein das ein Avis pro Kreditor und Bank erstellt werden soll.

Es fehlt mir ein Filter, und ich weiß nicht so recht wo ich diesen platzieren soll. In der Tabelle Payment Line wird reingeschrieben ob ein Posten zu ein Begleitzettel gehört.

Beispiel:
in den Fibu Buchungsblattzeilen habe ich 5 Zeilen für den gleichen Kreditor, 3 Zeilen mit Bank Code XYZ und 2 Zeilen mit Bank Code ABC, ein Avis soll ab 3 Posten erstellt werden, in der Payment Line Tabelle müsste ich also 3 Zeilen mit Haken Begleitzettel haben, das passiert aber nicht, es werden für alle 5 Posten der Haken Begleitzettel gesetzt.

im Report 5001904 (Kreditor Zahlungsdatei) gibt es folgende Stelle:
Code:
      IF PaymentSetup."With Avis" THEN BEGIN
        NoEntries := GenJnlLine2.COUNT;
     ...


An dieser Stelle ist in meiner Version NoENtries = 5 (richtig müsste 3 sein)
Also müsste ich wohl hier ein Filter auf GenJnlLine 2 haben der zusätzlich auf Bank Code filtert.
Wahrscheinlich nach folgenden Zeilen:
Code:
      GenJnlLine2.SETCURRENTKEY(
        "Journal Template Name",
        "Journal Batch Name",
        "Account Type",
        "Currency Code",
        "Account No.",
        "Bank Code", // Neu hinzugefügt
        "Amount (LCY)");
      GenJnlLine2.SETRANGE("Journal Template Name","Journal Template Name");
      GenJnlLine2.SETRANGE("Journal Batch Name",Name);
      GenJnlLine2.SETRANGE("Account Type",GenJnlLine2."Account Type"::Vendor);
      GenJnlLine2.SETRANGE("Account No.",Vend);


Nur woher bekomme ich an dieser Stelle mein "Bank Code" für den Filter (in den FibuBuchBlattZeilen vorhanden) ?

Oder muss ich noch weiter "zurück" gehen, bis an diese stelle evtl:
Code:
  IF GenJnlInv.FIND('-') THEN BEGIN
    PaymLine3."Payment Order No." := 0;
    REPEAT
      Vend := GenJnlInv."Account No.";
      GenJnlInv.SETRANGE("Account No.",Vend);
      GenJnlCredMemo.SETRANGE("Account No.",Vend);
      ...


Vielleicht hat jemand ein entscheidenen Tipp für mich wo ich das i tüpfelchen ansetzen kann.
Danke schonmal.
Zuletzt geändert von elTorito am 30. September 2010 14:16, insgesamt 1-mal geändert.

Re: Kreditoren Zahlungsdatei / Avis modifizieren

24. September 2010 21:55

Ich fasse mal das Problem zusammen:
Du hast mehrere GenJnlLine2 für einen Kreditor. In dieser Tabelle gibt es das zusätzlich Feld "Bank Code".
Du möchtest die Anzahl an Datensätze pro "Bank Code" ermitteln.

Als Otto Normalbenutzer würdest du wahrscheinlich folgendes machen: Du gehts die Zeilen von oben nach unten runter und notierst dir den "Bank Code", sofern er noch nicht auf deinem Zettel steht. Für jeden Code auf deinem Zettel zählst du dann die Datensätze.

In NAV nimmst du statt des Zettels eine beliebige temporäre Tabelle, deren Primärschlüssel aus einem einzigen Feld besteht, z.B. die Artikeltabelle (= TempItem).

Code:
Für jede GenJnlLine (mit gefülltem Bank Code):
  Steht der Bank Code in der TempItem?
    Ja: Nichts machen. Hatten wir schon geprüft
    Nein: Neuen Datensatz in TempItem für aktuellen Bank Code erstellen.
      Kopiere Filter von GenJnlLine nach GenJnLine2
      Filtere GenJnlLine2 nach dem Bank Code
      Anzahl von GenJnlLine2 >= 3?
        Ja: Für alle GenJnlLIne2 Markierung setzen

Re: Kreditoren Zahlungsdatei / Avis modifizieren

30. September 2010 14:16

Hallo Natalie,

danke für deine Antwort, habe das nun ohne zusätzliche Temp Tabelle hinbekommen,
hatte gesehen das meine GenJnlInv schon Temporär war, dann noch ein bisschen rumprobiert,
und dann doch noch die passende Stellen gefunden um auf das neue Feld "Bank Code" zu filtern.