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.
 Aber ich hätt´s erwähnen sollen, pardon :)
 Aber ich hätt´s erwähnen sollen, pardon :)
			
		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
