7. August 2009 11:23
DebitorenPosten.SETRANGE(DebitorenPosten."Document Type",DebitorenPosten."Document Type"::Invoice);
DebitorenPosten.SETRANGE(DebitorenPosten."Document Type",DebitorenPosten."Document Type"::"Credit Memo");
DebitorenPosten.SETRANGE(Open,TRUE);
IF DebitorenPosten.FIND('-') THEN BEGIN
MahnStufe := 0;
END ELSE BEGIN
Mahnung.SETRANGE(Mahnung."Customer Entry No.",DebitorenPosten."Entry No.");
IF Mahnung.FINDLAST THEN BEGIN
MahnStufe:= Mahnung."Reminder Level";
END;
END;
7. August 2009 13:03
DebitorenPosten.SETRANGE(DebitorenPosten."Document Type",DebitorenPosten."Document Type"::Invoice);
DebitorenPosten.SETRANGE(DebitorenPosten."Document Type",DebitorenPosten."Document Type"::"Credit Memo");
7. August 2009 13:09
Kowa hat geschrieben:Das muss auf jeden Fall durch ein Zeile mit SETFILTER mit beiden Werten und ODER d.h. "|" Verknüpfung ersetzt werden. So greift momentan nur die zweite Zeile.
DebitorenPosten.SETRANGE(DebitorenPosten."Document Type",DebitorenPosten."Document Type"::Invoice,DebitorenPosten."Document Type"::"Credit Memo");
escabrosa hat geschrieben:IF DebitorenPosten.FIND('-') THEN BEGIN
MahnStufe := 0;
END ELSE BEGIN
Mahnung.SETRANGE(Mahnung."Customer Entry No.",DebitorenPosten."Entry No.");
IF Mahnung.FINDLAST THEN BEGIN
MahnStufe:= Mahnung."Reminder Level";
END;
END;
7. August 2009 13:11
DebitorenPosten.SETFILTER(DebitorenPosten."Document Type",'%1|%2',
DebitorenPosten."Document Type"::Invoice,
DebitorenPosten."Document Type"::"Credit Memo");
7. August 2009 13:19
IF DebitorenPosten.FIND('-') THEN BEGIN
MahnStufe := 0;
END ELSE BEGIN
Mahnung.SETRANGE(Mahnung."Customer Entry No.",DebitorenPosten."Entry No.");
IF Mahnung.FINDLAST THEN BEGIN
MahnStufe:= Mahnung."Reminder Level";
END;
END;
7. August 2009 13:53
7. August 2009 14:00
7. August 2009 14:03
7. August 2009 14:06
IF DebitorenPosten.FIND('-') THEN BEGIN
Mahnung.SETRANGE(Mahnung."Customer Entry No.",DebitorenPosten."Entry No.");
IF Mahnung.FINDLAST THEN
MahnStufe:= Mahnung."Reminder Level"
else
MahnStufe := 0;
END;
7. August 2009 14:24
McClane hat geschrieben:Kowa hat geschrieben:Das muss auf jeden Fall durch ein Zeile mit SETFILTER mit beiden Werten und ODER d.h. "|" Verknüpfung ersetzt werden. So greift momentan nur die zweite Zeile.
DebitorenPosten.SETRANGE(DebitorenPosten."Document Type",DebitorenPosten."Document Type"::Invoice,DebitorenPosten."Document Type"::"Credit Memo");
7. August 2009 14:29
Kowa hat geschrieben:Das würde hier zwar auch funktionieren, weil das in diesem Fall benachbarte Optionswerte sind.
7. August 2009 14:31
7. August 2009 14:48
escabrosa hat geschrieben:als dataitem gebe ich jetzt den customer an oder die tabelle 297?
7. August 2009 14:53
7. August 2009 14:55
7. August 2009 14:57
10. August 2009 08:39
10. August 2009 11:49
10. August 2009 12:01
KdNr := Customer."No.";
OpSumme := Customer."Balance (LCY)";
Inkassokennzeichen := Customer.Inkassokennzeichen;
InkassoDatum := Customer."Inkassokennzeichen gültig ab";
RegMahnStufe.SETCURRENTKEY(RegMahnStufe."Customer No.",RegMahnStufe."Reminder Level");
DebitorenPosten.SETFILTER(DebitorenPosten."Document Type",'%1|%2',
DebitorenPosten."Document Type"::Invoice,
DebitorenPosten."Document Type"::"Credit Memo");
IF DebitorenPosten.FIND('-') THEN BEGIN
Mahnung.SETRANGE(Mahnung."Customer Entry No.",DebitorenPosten."Entry No.");
IF Mahnung.FINDLAST THEN
MahnStufe:= Mahnung."Reminder Level"
ELSE
MahnStufe := 0;
END;
10. August 2009 12:16
IF DebitorenPosten.FIND('-') THEN BEGIN...
10. August 2009 12:22
MahnStufe := 0;
10. August 2009 12:51
10. August 2009 13:00
RegMahnStufe.SETCURRENTKEY(RegMahnStufe."Customer No.",RegMahnStufe."Reminder Level");
DebitorenPosten.SETFILTER(DebitorenPosten."Document Type",'%1|%2',
DebitorenPosten."Document Type"::Invoice,
DebitorenPosten."Document Type"::"Credit Memo");
IF DebitorenPosten.FIND('-') THEN BEGIN // <--- hier ein findlast setzen?
Mahnung.SETRANGE(Mahnung."Customer Entry No.",DebitorenPosten."Entry No.");
-->// RegMahnStufe.Setrange(RegMahnStufe."Customer No.") <--- und hier filtern?
IF Mahnung.FINDLAST THEN
MahnStufe:= Mahnung."Reminder Level"
ELSE
MahnStufe := 0;
END;
10. August 2009 13:22
MahnStufe := 0;
RegMahnStufe:RESET;
RegMahnStufe.SETCURRENTKEY("Customer No.","Reminder Level");
RegMahnStufe.SETRANGE("Customer No.",Customer."No.");
DebitorenPosten.RESET; // sonst bleibt ein FINDFIRST von letzten beim nächsten Debitor noch aktiv
Debitorenposten.SETCURRENTKEY("Document No".,"Document Type","Customer No.");
DebitorenPosten.SETFILTER(DebitorenPosten."Document Type",'%1|%2',
DebitorenPosten."Document Type"::Invoice,
DebitorenPosten."Document Type"::"Credit Memo");
DebitorenPosten.SETRANGE("Customer No.",Customer."No.");// nur die OP's des aktuellen Debitors sind jetzt relevant
IF DebitorenPosten.FINDFIRST THEN BEGIN // <--- ohne OP kann es keine mögliche Mahnung geben
IF RegMahnStufe.FINDLAST THEN
MahnStufe:= RegMahnStufe."Reminder Level"
ELSE
MahnStufe := 0;
END;
10. August 2009 13:35