Sondereichen bei Exporten

27. Juni 2017 10:55

Hallo zusammen,

ich habe das Problem, dass die Kollegen bei der Datenpflege CRLF und TAB in Namen, Telefon, etc. in NAV kopiert haben. Bei einem Schnittstellenexport hat die Gegenstelle damit ein massives Problem. Ich würde jetzt gerne bei der Eingabe verhindern, dass diese Zeichen in NAV gespeichert werden. Dazu habe ich auch etwas gefunden, was sich wohl aber nur auf den Classic Client bezieht, nämlich dass die Funktion in Codeunit 1: MakeText (dort Aufruf der Codeunit 41) immer bei Texteingaben aufgerufen wird.

Hier der Link zu der Programmierung, die im RTC bei mir nicht funktioniert: https://community.dynamics.com/nav/b/bodos/archive/2011/08/12/nav-2009-copy-amp-paste-und-b-246-se-zeichen-in-text-und-code-feldern

Kann mir vielleicht jemand sagen, ob es beim RTC auch so eine Stelle gibt?

Re: Sondereichen bei Exporten

27. Juni 2017 11:38

Die Änderung in Codeunit 1 bzw. 41 müsste noch funktionieren (ohne dass ich das jetzt selber ausprobiert hätte). Stelle sicher, dass du nach deiner Änderung den RTC neu gestartet hast (Änderungen in CU1 werden sonst nicht wirksam).

Ggf. das ganze mal dem Debugger nachvollziehen, dh. ob die verbotenen Zeichen auch wirklich nach Funktionsaufruf gelöscht sind.

Re: Sondereichen bei Exporten

27. Juni 2017 11:47

Hmmm. Ich bin eigentlich der Meinung, dass die Sonderzeichen seit 2013 oder sogar schon 2009 RTC automatisch bei der Eingabe abgefangen/gelöscht werden.
Bist du sicher, dass das neue Daten sind? Oder sind die eventuell bei einer Migration übernommen worden?

Re: Sondereichen bei Exporten

27. Juni 2017 11:52

SilverX hat geschrieben:dass die Sonderzeichen seit 2013 oder sogar schon 2009 RTC automatisch bei der Eingabe abgefangen/gelöscht werden.
Interessant, hast du einen Link dafür?

Re: Sondereichen bei Exporten

27. Juni 2017 12:03

Nein, aber wenn ich was mit Tabs oder CR/LF in ein Feld unter 2015 oder 2017 paste, dann werden die gar nicht eingefügt. Nur die Zeichen drumrum.

Code:
Dies!TAB!ist!TAB!ein!TAB!Test!!!!CRLF!
wird zu
Code:
DiesisteinTest!!!

Re: Sondereichen bei Exporten

27. Juni 2017 12:25

Ich bin mir auch sicher, dass die Sonderzeichen mindestens ab 2013 R2 vom Client abgefangen werden; Denn ich hatte versucht mit der Codeunit 1 die Sonderzeichen mit einem Pipe (|) zu ersetzen um bequem einen Filter zu bauen, wenn man von z.B. Excel eine ganze Spalte ins NAV kopiert. Leider keine Chance, denn der Client schneidet alles ab dem ersten Sonderzeichen ab. Stehen bleibt nur der Wert aus der 1. Zelle.

Re: Sondereichen bei Exporten

27. Juni 2017 12:50

Ich weiß nicht genau, wie meine Kollegen das hin bekommen haben, aber ja, das CRLF ist mit dem RTC hinein kopiert worden. Was ich aber durchaus hinbekomme, ist ein TAB hinein zu kopieren, einfach 2 nebeneinander liegende Excel-Zellen kopieren und in NAV einfügen.

Den RTC habe ich neu gestartet und sogar den Dienst. Ich habe extra eine Message im MakeText der Codeunit 1 eingebaut und auch diese erscheint nicht, wenn ich z.B. im Feld "Name" beim Debitor etwas eingeben. Die Codeunit 1 ist auf jeden Fall aktuell im RTC, das habe ich auch überprüft. Scheinbar wird das MakeText nur nicht automatisch bei der Eingabe angestoßen, leider...

Re: Sondereichen bei Exporten

27. Juni 2017 13:00

NavHummel hat geschrieben:Den RTC habe ich neu gestartet und sogar den Dienst. Ich habe extra eine Message im MakeText der Codeunit 1 eingebaut und auch diese erscheint nicht, wenn ich z.B. im Feld "Name" beim Debitor etwas eingeben. Die Codeunit 1 ist auf jeden Fall aktuell im RTC, das habe ich auch überprüft. Scheinbar wird das MakeText nur nicht automatisch bei der Eingabe angestoßen, leider...


Probiere mal eine neue Funktion in CU1 mit Namen "MakeCode" und ID 109 (Propertie der Funktion) anzulegen. Mach dort deine Programmierung rein. Das sollte gehen, zumindest für dein TAB.

Re: Sondereichen bei Exporten

27. Juni 2017 13:28

vandyke hat geschrieben:
NavHummel hat geschrieben:Den RTC habe ich neu gestartet und sogar den Dienst. Ich habe extra eine Message im MakeText der Codeunit 1 eingebaut und auch diese erscheint nicht, wenn ich z.B. im Feld "Name" beim Debitor etwas eingeben. Die Codeunit 1 ist auf jeden Fall aktuell im RTC, das habe ich auch überprüft. Scheinbar wird das MakeText nur nicht automatisch bei der Eingabe angestoßen, leider...


Probiere mal eine neue Funktion in CU1 mit Namen "MakeCode" und ID 109 (Propertie der Funktion) anzulegen. Mach dort deine Programmierung rein. Das sollte gehen, zumindest für dein TAB.


Funktioniert leider auch nicht. Der Name ist ja auch eigentlich ein Textfeld. Scheinbar durchläuft der RTC diese Funktionen nicht automatisch.

Re: Sondereichen bei Exporten

27. Juni 2017 14:28

Kannst du den Export anpassen? Wenn ja, dann wirf doch einfach dort die Zeichen weg.

Re: Sondereichen bei Exporten

27. Juni 2017 14:51

m_schneider hat geschrieben:Kannst du den Export anpassen? Wenn ja, dann wirf doch einfach dort die Zeichen weg.


Das ist meine letzte Option. Denn andere Exporte wie z.B. GDPdU werden dann auch wieder auf Fehler laufen und das würde ich gerne im Keim ersticken. :wink:

Re: Sonderzeichen bei Exporten

6. Juli 2017 18:56

Was Role Tailored Client bzw. Windows Client im Gegensatz zum Classic Client beim Einfügen wegwirft sind nur die Returns (z. B. am Ende eines von einer Internetseite kopierten Textes). Das sind ja auch die wesentlichen Probleme. Tabs innerhalb des kopierten Textes werden in NAV eingefügt (die machen aber i. d. R. auch weniger Probleme).

(Als Wald-affiner Mensch mag ich übrigens die Sondereichen im Betreff.)

Re: Sondereichen bei Exporten

7. Juli 2017 08:45

NavHummel hat geschrieben:
vandyke hat geschrieben:Probiere mal eine neue Funktion in CU1 mit Namen "MakeCode" und ID 109 (Propertie der Funktion) anzulegen. Mach dort deine Programmierung rein. Das sollte gehen, zumindest für dein TAB.


Funktioniert leider auch nicht. Der Name ist ja auch eigentlich ein Textfeld. Scheinbar durchläuft der RTC diese Funktionen nicht automatisch.



Mir ist gerade eingefallen, das möglicherweise ein NST Neustart nötig ist. Hattest du das nach Änderung an der CU1 auch gemacht?