19. Juli 2007 08:56
ValidateApplyRequirements(TempGenJnlLine : TEMPORARY Record "Gen. Journal Line")
IF (TempGenJnlLine."Bal. Account Type" = TempGenJnlLine."Bal. Account Type"::Customer) OR
  (TempGenJnlLine."Bal. Account Type" = TempGenJnlLine."Bal. Account Type"::Vendor)
THEN
  ExchAccGLJnlLine.RUN(TempGenJnlLine);
IF (TempGenJnlLine."Document Type" = TempGenJnlLine."Document Type"::Payment) OR
  (TempGenJnlLine."Document Type" = TempGenJnlLine."Document Type"::Refund)
  THEN
  IF TempGenJnlLine."Account Type" = TempGenJnlLine."Account Type"::Customer THEN BEGIN
    IF TempGenJnlLine."Applies-to ID" <> '' THEN BEGIN
      CustLedgEntry.SETCURRENTKEY("Customer No.","Applies-to ID",Open);
      CustLedgEntry.SETRANGE("Customer No.",TempGenJnlLine."Account No.");
      CustLedgEntry.SETRANGE("Applies-to ID",TempGenJnlLine."Applies-to ID");
      CustLedgEntry.SETRANGE(Open,TRUE);
      IF CustLedgEntry.FIND('-') THEN
        REPEAT
          IF (TempGenJnlLine."Posting Date" < CustLedgEntry."Posting Date") THEN
            ERROR(
              Text015,TempGenJnlLine."Document Type",TempGenJnlLine."Document No.",
              CustLedgEntry."Document Type",CustLedgEntry."Document No.");
        UNTIL CustLedgEntry.NEXT = 0;
    END ELSE IF TempGenJnlLine."Applies-to Doc. No." <> '' THEN BEGIN
      CustLedgEntry.SETCURRENTKEY("Document No.","Document Type","Customer No.");
      CustLedgEntry.SETRANGE("Document No.",TempGenJnlLine."Applies-to Doc. No.");
      IF TempGenJnlLine."Applies-to Doc. Type" <> TempGenJnlLine."Applies-to Doc. Type"::" " THEN
        CustLedgEntry.SETRANGE("Document Type",TempGenJnlLine."Applies-to Doc. Type");
      CustLedgEntry.SETRANGE("Customer No.",TempGenJnlLine."Account No.");
      CustLedgEntry.SETRANGE(Open,TRUE);
      IF CustLedgEntry.FIND('-') THEN
        IF (TempGenJnlLine."Posting Date" < CustLedgEntry."Posting Date") THEN
          ERROR(
            Text015,TempGenJnlLine."Document Type",TempGenJnlLine."Document No.",
            CustLedgEntry."Document Type",CustLedgEntry."Document No.");
    END;
  END ELSE IF TempGenJnlLine."Account Type" = TempGenJnlLine."Account Type"::Vendor THEN BEGIN
    IF TempGenJnlLine."Applies-to ID" <> '' THEN BEGIN
      VendLedgEntry.SETCURRENTKEY("Vendor No.","Applies-to ID",Open);
      VendLedgEntry.SETRANGE("Vendor No.",TempGenJnlLine."Account No.");
      VendLedgEntry.SETRANGE("Applies-to ID",TempGenJnlLine."Applies-to ID");
      VendLedgEntry.SETRANGE(Open,TRUE);
        REPEAT
          IF (TempGenJnlLine."Posting Date" < VendLedgEntry."Posting Date") THEN
            ERROR(
              Text015,TempGenJnlLine."Document Type",TempGenJnlLine."Document No.",
              VendLedgEntry."Document Type",VendLedgEntry."Document No.");
        UNTIL VendLedgEntry.NEXT = 0;
      IF VendLedgEntry.FIND('-') THEN BEGIN
      END;
    END ELSE IF TempGenJnlLine."Applies-to Doc. No." <> '' THEN BEGIN
      VendLedgEntry.SETCURRENTKEY("Document No.","Document Type","Vendor No.");
      VendLedgEntry.SETRANGE("Document No.",TempGenJnlLine."Applies-to Doc. No.");
      IF TempGenJnlLine."Applies-to Doc. Type" <> TempGenJnlLine."Applies-to Doc. Type"::" " THEN
        VendLedgEntry.SETRANGE("Document Type",TempGenJnlLine."Applies-to Doc. Type");
      VendLedgEntry.SETRANGE("Vendor No.",TempGenJnlLine."Account No.");
      VendLedgEntry.SETRANGE(Open,TRUE);
      IF VendLedgEntry.FIND('-') THEN
        IF (TempGenJnlLine."Posting Date" < VendLedgEntry."Posting Date") THEN
          ERROR(
            Text015,TempGenJnlLine."Document Type",TempGenJnlLine."Document No.",
            VendLedgEntry."Document Type",VendLedgEntry."Document No.");
    END;
  END;19. Juli 2007 09:49
19. Juli 2007 13:53
 
19. Juli 2007 14:00
19. Juli 2007 14:19
thommes hat geschrieben:@forki: DOCH, Du hast das Problem auf den Punkt getroffen. Microsoft hat das damals mit dem möglichen Skontoproblem begründet. Da es anscheinend keine andere Lösung gibt, als die Belege dann danach auszugleichen, werde ich diesen Eintrag nun als [gelöst] kennzeichnen.
Grüße @ all
thommes.
19. Juli 2007 14:38
 
19. Juli 2007 21:18
forki hat geschrieben:@Trollmama:
Also ich dachte es geht die ganze Zeit darum, dass die Zahlung zeitlich vor der Rechnung liegt. So heißt ja auch das Thema. Und das macht meiner Meinung auch durchaus Sinn.
Unsere Kunden bekommen monatlich Rechnungen. Diese werden mit zukünftigen Buchungsdatumswerten gebucht. Manchmal kommen Zahlungen aber früher als die Rechnungen ihr Buchungsdatum haben.
Diese sollen ja aber trotzdem betrachtet werden. Der Ausgleich darf dann natürlich erst zum Buchungsdatum der Rechnung erfolgen - dann stimmt auch das Skonto. Denke ich
Grüße Steffen
 
 
