[gelöst] "purchase header"."No.","purchase header"."No."

22. Dezember 2009 17:27

Ein Hallo ins Forum,

ich suche eine Möglichkeit einfach die nächste Nummer aus einem Nummernkreis für die Rechnungserstellung zu nehmen. Ich habe in meinem Import nen repeat Until Schleife über eine Puffertabelle. Nun Übergebe ich alle Daten und will eine NAvisioninterne Nummer aus dem hinterlegten Nummernkreis vergeben. ICh habe schon folgende Möglichkeiten probiert:
Code:
VALIDATE("purchase header"."No.","purchase header"."No."::rg_kreis1);
VALIDATE("purchase header"."No.","purchase header"."No."::"rg_kreis1");
VALIDATE("purchase header"."No.","purchase header"."No."::'rg_kreis1');
VALIDATE("purchase header"."No.","purchase header"."No."::next);
//VALIDATE("purchase header"."No.","purchase header"."No."::rg_kreis1); ohne explizite Angabe
VALIDATE("purchase header"."No.","");


Hat aber alles nicht geklappt, das muss doch irgendwie gehen.

VG
René
Zuletzt geändert von kockiren am 22. Dezember 2009 18:28, insgesamt 1-mal geändert.

Re: VALIDATE("purchase header"."No.","purchase header"."No."::ne

22. Dezember 2009 17:33

Was hast du denn da Seltsames probiert :-)

Aber was soll das nun werden - eine gebuchte Rechnung oder ein Angebot/Gutschrift/Bestellung/Rechnung/etc?

Ein PurchaseHeader.insert(true) dürfte helfen (vorher einfach gar keine Nummer eintragen, nur den "Document Type").

Re: VALIDATE("purchase header"."No.","purchase header"."No."::ne

22. Dezember 2009 17:49

Hallo McClane,

ja das hab ich als erstes probiert und danach hab ich erst begonnen diese merkwürdigen Dinge zu tun :-) Also ich habe folgendes in meiner insertPurchaseHeader Funktion:
Code:
          WORKDATE := tmpRec.InvoiceDate;
          EVALUATE(datum,'01.'+tmpRec.Month+'.'+tmpRec.Year);
          purchaseHeader.INIT;
          purchaseHeader."Document Type" := purchaseHeader."Document Type"::Invoice;
          purchaseHeader.VALIDATE("Posting Date", datum);
          purchaseHeader.VALIDATE("Due Date", tmpRec.PayoutDate);
          purchaseHeader.VALIDATE("Pay-to Contact No.",tmpRec.CustomerId);
          purchaseHeader.VALIDATE("Buy-from Contact No.",tmpRec.CustomerId);
          purchaseHeader.VALIDATE("Buy-from Address",Contact.Address);
          purchaseHeader.VALIDATE("Buy-from Address 2",Contact."Address 2");
          purchaseHeader.VALIDATE("Buy-from City",Contact.City);
          purchaseHeader.VALIDATE("Buy-from Post Code",Contact."Post Code");
          purchaseHeader.VALIDATE("Currency Code",tmpRec.Currency);
          purchaseHeader.VALIDATE("Vendor Invoice No.",tmpRec.InvoiceId);
          purchaseHeader.INSERT(TRUE);

Und dann bekomm ich die Meldung: Der Einkaufskopf mit der Nummer "nächste freie Nummer aus Nummernkreis" existiert bereits.

Tja bin da gerade irgendwie leicht Hilflos.

VG
René

Re: VALIDATE("purchase header"."No.","purchase header"."No."::ne

22. Dezember 2009 17:55

Tausch doch mal probehalber das PurchaseHeader.init gegen ein clear(PurchaseHeader) oder zusätzlich: PurchaseHeader."No.":=''.

Re: VALIDATE("purchase header"."No.","purchase header"."No."::ne

22. Dezember 2009 18:28

Hey vielen Dank,

mit dem clear(purchaseHeader) klappt das wunderbar.


VG und nen frohes Fest
René