Reg. Mahnungen mit Salesperson Code

31. August 2005 16:00

Hallo,

einache frage:

ich häng grad ein bisschen...
ich hab den report reg. mahnungen (indiv) auf dem sollte der verkäufercode der rechnung stehen... nur weiss ich nicht wie ich den auf den report bekomme???


mfg
dante

31. August 2005 20:05

Ohne jetzt mir die Tabellen anzusehen, würde ich adhoc mal sagen, dass du über die angemahnten Debitorenposten mit der Belegnr. auf die VK-Rechnung kommst.
Dabei ist natürlich zu beachten, dass jede Mahnungszeile von einer anderen Rechnung stammt, welche einen anderen Verkäufer haben könnte.

Hallo

1. September 2005 08:56

Das ist mir bewusst.
Was ich damit erreichen will ist folgendes:

Im Kopf des Reports soll der Verkäufername der Originalrechnung stehen.
Ich dachte mir das ich über die "Issued Reminder Line" die Belegnummer nehme, und damit auf die Debitorenposten gehen kann, und von dort den Verkäufercode(name) holen kann. Das habe ich mit einem GET probiert, geht aber nicht :oops:

1. September 2005 11:07

Hi Dante,
hast du für die Debitorenposten eine neue Variable angelegt?
wenn ja, übergibst du im Get den kompletten Primary key?
evtl solltest du mit setrange und setfilter und dann mit find arbeiten.
über die Falle bin ich auch schon gestolpert.... :oops:

Hallo

1. September 2005 11:18

Hi Dante,
hast du für die Debitorenposten eine neue Variable angelegt?
wenn ja, übergibst du im Get den kompletten Primary key?
evtl solltest du mit setrange und setfilter und dann mit find arbeiten.
über die Falle bin ich auch schon gestolpert.... Embarassed


Hallo Michael.

Ja, für deb Posten hab ich eine variable angelegt.
Ja, im GET hab ich den PK angegeben, trotzdem happerst noch irgendwo.

Könntest du mir evtl. ein Bsp. geben wie du´s gemacht hast? :roll:

****************************************************************

1. September 2005 11:25

Naja, ich hab halt einfach mit setrange und/oder setfilter je nach Kriterium den Datensatz genau eingekreist und dann einen find(-) gemacht. wichtig ist, dass man zuallererst vor dem setzen der Filter einen Reset macht, damit evtl vorhandene Filter und sortieroptionen zurückgesetzt werden.
Ein explizites Beispiel hab ich jetzt auf die schnelle nicht. das kam irgendwo bei der Arbeit mit den XML-Schnittstellen für den Stammdaten-import vor, weiss aber nicht mehr, wo.....

1. September 2005 11:34

Michael Schumacher hat geschrieben:Naja, ich hab halt einfach mit setrange und/oder setfilter je nach Kriterium den Datensatz genau eingekreist und dann einen find(-) gemacht. wichtig ist, dass man zuallererst vor dem setzen der Filter einen Reset macht, damit evtl vorhandene Filter und sortieroptionen zurückgesetzt werden.
Ein explizites Beispiel hab ich jetzt auf die schnelle nicht. das kam irgendwo bei der Arbeit mit den XML-Schnittstellen für den Stammdaten-import vor, weiss aber nicht mehr, wo.....


Code:
"Issued Reminder Line".RESET;
"Issued Reminder Line".SETRANGE("Document No.", CustLed."Document No.");
  IF "Issued Reminder Line".FIND('-') THEN
    CustLed.SETRANGE("Salesperson Code", salespurch.Code);
      IF CustLed.FIND('-') THEN;


zuerst habe ich auf die "Doc Nr." gefiltert
dann in der "cust. ledger entry" auf den Verkäufercode.
dennoch bringt kommt immer noch der falsche verkäufercode !?

1. September 2005 11:40

hmmm, die Zeile
CustLed.SETRANGE("Salesperson Code", salespurch.Code);
verstehe ich jetzt nicht.

Wenn du die Salesperson suchst, wieso machst du dann ein Setrange darauf?
oder habe ich dein Vorhaben falsch verstanden?

1. September 2005 11:51

Momentan ist es noch so, das der Verkäufer anhand des "Customers" angedruckt wird.
Ich versuche aber den verkäufer anhand der Rechnung anzudrucken.

Meine vorgehensweise wäre diese:

anhand der
"issued reminder line"."document no." --> auf die Tabell "Cust. Ledger Entry" zuzugreifen (und von dort vom "Salespersoncode) --> auf die Tabelle "Salesperson/Purchaser" zuzugreifen, und den Namen anzudrucken.
Oder bin ich da auf dem falsche weg :?:

EDIT: Das ganze müsste doch mit einem "einfachen" GET auch funkt. ?

1. September 2005 12:01

jo sollte eigentlich mit einem get gehen, aber dann so:
salespurch.get(custled."salesperson code")
und nicht andersrum, wie du es gemacht hast ! ;-)

bei der ermittlung der Custled ist es auch falsch rum...

grundsätzlich:

wo_suche_ich.get(was_suche_ich)
bzw:
wo_suche_ich.setrange(in_welchem_feld,was_genau_suche_ich)

:wink:

:)

2. September 2005 10:19

Ok, jetzt hab ich´s

Code:
"Issued Reminder Line".RESET;
"Issued Reminder Line".SETCURRENTKEY("Reminder No.",Type);
"Issued Reminder Line".SETRANGE("Reminder No.", "Issued Reminder Header"."No.");
"Issued Reminder Line".SETRANGE(Type, "Issued Reminder Line".Type::"Customer Ledger Entry");
"Issued Reminder Line".SETRANGE("Document No.");
"Issued Reminder Line".SETRANGE("Document Type", "Issued Reminder Line"."Document Type"::Invoice);
  IF "Issued Reminder Line".FIND('-') THEN BEGIN
    custLed.RESET;
    custLed.SETRANGE("Document No.", "Issued Reminder Line"."Document No.");
    custLed.SETRANGE("Entry No.", "Issued Reminder Line"."Entry No.");
      IF custLed.FIND('-') THEN
        IF ( salespurch.GET(custLed."Salesperson Code")) THEN;
  END;

2. September 2005 10:39

Hallo,

es geht auch ein bisschen kürzer:
Code:
"Issued Reminder Line".RESET;
"Issued Reminder Line".SETCURRENTKEY("Reminder No.",Type);
"Issued Reminder Line".SETRANGE("Reminder No.", "Issued Reminder Header"."No.");
"Issued Reminder Line".SETRANGE(Type, "Issued Reminder Line".Type::"Customer Ledger Entry");
"Issued Reminder Line".SETRANGE("Document No.");
"Issued Reminder Line".SETRANGE("Document Type", "Issued Reminder Line"."Document Type"::Invoice);
  IF "Issued Reminder Line".FIND('-') THEN BEGIN
    CLEAR(salespurch);
    IF custLed.GET("Issued Reminder Line"."Entry No.") THEN
      IF salespurch.GET(custLed."Salesperson Code") THEN;
  END;

MfG
Josef Metz