[Gelöst] RTC/WS Auftrag anlegen DebitorName

Bild Microsoft Dynamics NAV 2018

[Gelöst] RTC/WS Auftrag anlegen DebitorName

Beitragvon elTorito » 15. April 2019 12:22

hi,

ich versuche gerade unsere in NAV2009 verwendeten WebServices in NAV2018 einzubauen, der WebService ist ein XML Port welcher ein VK Auftrag anlegt.

Bei der Anlage werden diverse Sachen geprĂĽft, unter anderem ob der Debitor schon existiert, wenn nicht wird einer angelegt, dito Rechnung an Debitor, Lieferadresse...

Nun war ich etwas verwundert warum hier/da im Auftrag Rechnung an Debitor irgendein WillkĂĽrlicher Datensatz gezogen wurde...
Bis ich dann in der Table 36 (Sales Header) auf den Felder "Verk.-An Name" und "Rechng.-an Name" folgendes gefunden habe:

Code: Alles auswählen
IF NOT IsCashCustomer THEN
       VALIDATE("Sell-to Customer No.",Customer.GetCustNo("Sell-to Customer Name"));
IF NOT IsCashCustomer THEN
  VALIDATE("Bill-to Customer No.",Customer.GetCustNo("Bill-to Name"));

T18 Customer:
[External] GetCustNo(CustomerText : Text) : Text
EXIT(GetCustNoOpenCard(CustomerText,TRUE,TRUE));


Die Funktion GetCustNo in Tabelle 18 (Customer) liefert eine DebitorenNummer, soweit so gut, aber die Funktion scheint auch eine Page zu öffnen wo man sich einen Debitor Rauspickt...
Das passiert beim Webservice nicht, und deswegen wird dort der erste/letzte Debitor gezogen wo der Name ĂĽbereinstimmt.

Gehört diese Abfrage / Validate nicht eigentlich auf die Page? Anstatt in die Tabelle?

Hmm.
Zuletzt geändert von elTorito am 16. April 2019 13:01, insgesamt 1-mal geändert.
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018

Re: RTC/WS Auftrag anlegen DebitorName

Beitragvon m_schneider » 15. April 2019 14:05

Also IsCashCustomer ist schon mal nicht Standard.
Das mit der Debitorenkarte schon. Das dient der Suche eines Kunden ĂĽber den Namen.
Ich gebe dir den Tipp: Validiere nur notwendige Felder. Es gibt Personen die meinen, man mĂĽsse jedes Feld validieren. Dem ist nicht so.


In einer Pager werden nur sachen programmiert, die nirgendwo anders Platz finden. Und das sollte die Ausnahme sein.
MfG Michael
Benutzeravatar
m_schneider
 
Beiträge: 2145
Registriert: 20. Januar 2009 14:36
Realer Name: Michael Schneider
Arbeitsort: Treuen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: RTC/WS Auftrag anlegen DebitorName

Beitragvon elTorito » 16. April 2019 11:27

m_schneider hat geschrieben:Also IsCashCustomer ist schon mal nicht Standard.
Das mit der Debitorenkarte schon. Das dient der Suche eines Kunden ĂĽber den Namen.
Ich gebe dir den Tipp: Validiere nur notwendige Felder. Es gibt Personen die meinen, man mĂĽsse jedes Feld validieren. Dem ist nicht so.
In einer Pager werden nur sachen programmiert, die nirgendwo anders Platz finden. Und das sollte die Ausnahme sein.


IsCashCustomer ist nicht Standard, richtig. Auch nicht so wichtig.

Das mit der Debitorenkarte und Suche verstehe ich dennoch nicht so richtig. Man kann ĂĽber das Name Feld suchen, verstehe ich, macht auch Sinn (irgendwo) ...

Ich hab da dennoch meine Verständnisprobleme, z.B. folgende Situation im RTC:

Auftrag wird angelegt, Debitor eingezogen, "Rechn.an" wähle ich "Anderer Debitor", im Feld "Name" kann ich nach einen Debitor suchen, ich wähle einen aus.
Nun kann ich alle "Rechn.-an" Felder überschreiben (Name 2, Adresse, PLZ usw...) nur das Feld "Rech. an Name" kann ich nicht überschreiben weil dann direkt wieder die Suche anspringt, bzw. es ploppt ein Dialog auf der Fragt ob Debitor neu anlegen oder vorhanden auswählen. Ich würde es ja noch verstehen wenn man gar keins der Felder überschreiben dürfte/könnte, und man immer auf die Daten des dahinter liegenden Debitor zugreift. Aber so ?

Und genau diese Situation wird mir zum Verhängnis wenn ich via WebService versuche "Rechnung an" Eigenschaften zu setzen , kommt via WebService "Rechnung an Name" = Karsten an, dann wird automatisch der erste Suchtreffer gezogen als Debitor, und da es mehrere Debitoren gibt die Karsten heißen wird u.U der falsche Debitor gezogen.

Gleiche Verhalten kann man im RTC nachstellen wenn man Automatischen Filter in Lookupfelder auf der Seite deaktiviert. Ich gebe in "Rechn an Name" ein Begriff ein und es wird der erstbeste Debitor gezogen bei dem der Begriff passt.
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018

Re: RTC/WS Auftrag anlegen DebitorName

Beitragvon fiddi » 16. April 2019 11:50

Hallo,

wenn du ein aktuelles CU hast, kannst du das pro Debitor/Kreditor ausschalten. :roll: :mrgreen: .

Früher hatten wir mal die Möglichkeit im OnAfterInput- Trigger eines Form-Feldes den Text abzufangen,zu suchen, und dann die gefundene Nr. im Beleg einzutragen. Ganz einfach und logisch.

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7094
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: RTC/WS Auftrag anlegen DebitorName

Beitragvon m_schneider » 16. April 2019 12:10

elTorito hat geschrieben:...Und genau diese Situation wird mir zum Verhängnis wenn ich via WebService versuche "Rechnung an" Eigenschaften zu setzen , kommt via WebService "Rechnung an Name" = Karsten an, ...

Und deswegen sagte ich: Man sollte nicht alles einfach validieren. Mach eine Zuweisung (:=) und Ruhe ist.
MfG Michael
Benutzeravatar
m_schneider
 
Beiträge: 2145
Registriert: 20. Januar 2009 14:36
Realer Name: Michael Schneider
Arbeitsort: Treuen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: RTC/WS Auftrag anlegen DebitorName

Beitragvon elTorito » 16. April 2019 13:01

Ah. Jetzt hat es geklingelt :-D
Danke.

PS: Was die Suche angeht, ist mir(unseren Usern) die Filtersuche zu träge, ganz schlimm wenn es um Artikel geht,
da habe ich zusätzliche Suchfelder eingebaut welche auf eine SQL Storage Procedur zugreifen. Läuft erstens viel schneller, und ich kann die Suche kombinieren,
in dem ich mehrere Felder einbinde wie z.B. karsten , dĂĽsseldorf, alle karstens in dĂĽsseldorf listet.

Gut wieder ein Mysterium gelöst :-) Danke euch. Aktuelle CU haben wir glaube ich nicht. :-(
gruĂź Peter
Die letzten Worte eines Dieselfahrers: "lieber tot als Schub verlieren" Dieselfahrverbot
(Oo)=*=(oO)
Benutzeravatar
elTorito
 
Beiträge: 1044
Registriert: 16. Juni 2006 17:57
Wohnort: Viersen
Realer Name: Peter Karsten
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.60 ... NAV2009 -> NAV2018


ZurĂĽck zu NAV 2018

Wer ist online?

Mitglieder in diesem Forum: Yandex [Bot] und 1 Gast

cron