Suchen & ersetzen

Bild Tipps & Tricks zu den Dynamics NAV Versionen
Hier bitte keine Fragen stellen, sondern nur bereits vorhandene Tricks veröffentlichen.
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie
Hier bitte keine Fragen stellen, sondern nur bereits vorhandene Tricks veröffentlichen.

Suchen & ersetzen

Beitragvon Raik Zobel » 15. September 2016 12:40

Hallo,

da das gute alte "Suchen & Ersetzen" nicht mehr existiert, habe ich mich nach einer Lösung umgesehen.
FĂĽndig wurde ich auch hier: https://blogs.msdn.microsoft.com/nav/20 ... -nav-2013/

Ich hänge mal die eigens abgeänderte Version an. Diese enthält ein paar Features und Fixes. So z.B.

-eine Autovervollständigung für die Feldeingabe,
-die Möglichkeit Alles zu ersetzen (also unabhängig von Suche nach ...),
-Auf Wunsch Commit nach jeder Ă„nderung,
-Nur Selektierte Datensätze abarbeiten (Siehe Dokutrigger 1 und 2b),
-Anzeige der Gesamtrecords + Warnung wenn alle Datensätze der Tabelle im Filter sind.
-24.11.2016: Es lässt sich eine Tabelle auswählen, wenn die Page ohne gesetzten RecRef gestartet wird.




Es gibt ein paar Einschränkungen:
So kann es vorkommen, dass ein Feld nicht zum Suchen & Ersetzen verwendet werden kann wenn dieses selbst für die Filterung der Datensätze genutzt wurde. (Muss nicht). Außerdem sollte man bedenken, dass durch die Verwendung von Record Referenzen der Modify Trigger der Tabelle keine Änderung zwischen Rec und xRec erkennt!

Ich empfehle auch die Informationen aus dem oben angegebenen Link zu lesen.
Die Ehre gebĂĽhrt Robert Miller NAV fĂĽr die Initialversion der Page und OttoChr fĂĽr die ersten Korrekturen (Siehe Kommentarbereich unter dem Artikel aus dem Link).

Ich stelle meine angepasste Version hier lediglich zur Verfügung und übernehme keine Haftung für fehlerhafte Änderungen an Records oder andere Schäden.


Microsoft.Dynamics.Nav.Client_2016-11-24_08-42-08.png



Ă„nderungen
Code: Alles auswählen
160916 RZ001 : Fix fĂĽr DECIMAL (Siehe Forenkommentar #2,#4)
190916 RZ002 : Vereinfachung fĂĽr RZ001
221116 RZ003 : + Möglichkeit Tabelle auszuwählen, wenn Page ohne RecRef gestartet wird
231116 RZ004 : Fix Filter fĂĽr Dezimalzahlen + SetReplaceWholeField() u. UnsetMatchCase von Code[10] auf Code[20]
Dateianhänge
Page50050_Replace.txt
(50.88 KiB) 191-mal heruntergeladen
Zuletzt geändert von Raik Zobel am 24. November 2016 09:50, insgesamt 4-mal geändert.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Suchen & ersetzen

Beitragvon fiddi » 15. September 2016 13:25

Hallo,

vielen Dank fĂĽr dieses nette Tool.

Mir scheinen allerdings noch ein paar kleine Fehler drin zu sein. :wink:
Code: Alles auswählen
IF UPPERCASE(FORMAT(FldRef.TYPE)) = 'DECIMAL' THEN BEGIN
  DecimalPlaces := STRLEN(FindWhat) - STRPOS(FindWhat,'.');
  MatchText := FORMAT(FldRef.VALUE,0,'<Precision,2:' + FORMAT(DecimalPlaces) + '><Standard Format,0>');
END ELSE
  MatchText := FORMAT(FldRef.VALUE);


1. Der Dezimalpunkt ist in Deutschland ein ',' (2. Zeile des Codes).
2. DecimalPlaces sollte die Anzahl der Nachkommastellen enthalten, nicht die Länge der Zahl, wenn kein Dezimalpunkt eingegeben wurde (2. Zeile des Codes)
3. Wenn in FindWhat ein Decimal mit 0-1 Dezimalstellen eingegeben wurde, wird der Matchstring immer mit 2 Nachkommastellen sein.
4. Wenn FindWhat "1,25" enthält, und das zu prüfende Feld "1,245" wird auch das als gleiches Feld erkannt, da der Matchstring auf 2 Nachkommastellen gerundet würde. :shock:

Mir scheint, da sind noch ein paar Dinge ĂĽbersehen worden :-(

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: 7091
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: Suchen & ersetzen

Beitragvon Raik Zobel » 15. September 2016 16:54

Ok,

das schau ich mir mal noch genauer an. Hatte bisher nur die Fehler die mir aufgefallen sind behoben. Zum Beispiel beim FilterString wurde auch nach dem "," gesucht um die Anzahl der Filter zu finden. Geht aber nicht, wenn der FilterString eine Dezimalzahl enthält.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Suchen & ersetzen

Beitragvon Raik Zobel » 16. September 2016 15:59

Ich gehe einen anderen Weg.

Nicht der Feldwert (MatchText) wird geändert, sondern der Suchtext (FindString) wird angepasst.
Zuletzt geändert von Raik Zobel am 19. September 2016 09:24, insgesamt 2-mal geändert.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Suchen & ersetzen

Beitragvon fiddi » 16. September 2016 17:01

Hallo,

ganz ehrlich: Ich wĂĽrde bei einem Dezimal auch einen Dezimal vergleichen.
AuĂźerdem macht das ganze Geraffel ob das ganze Feld ersetzt/geprĂĽft werden soll, oder nur ein Teil des Feldes bei allen nicht Text/Code-Feldern eh keinen Sinn.

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: 7091
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: Suchen & ersetzen

Beitragvon Raik Zobel » 19. September 2016 10:02

fiddi hat geschrieben:Hallo,

ganz ehrlich: Ich wĂĽrde bei einem Dezimal auch einen Dezimal vergleichen.
AuĂźerdem macht das ganze Geraffel ob das ganze Feld ersetzt/geprĂĽft werden soll, oder nur ein Teil des Feldes bei allen nicht Text/Code-Feldern eh keinen Sinn.

GruĂź Fiddi



Nun ja,

ich habe den Dezimalvergleich nochmal verkĂĽrzt. Es geht auch ohne die ganzen Umwandlungen.

Was die Teilfeldersetzung anbelangt, kann ich nicht sagen ob das Sinn macht oder nicht - Ich benötige es nicht, es war schon im Code enthalten und vielleicht macht es ja durchaus für jemand anderen Sinn. Mir ist die Erweiterung wichtig, dass man auch ohne "Suche nach" alles Ersetzen kann. Mach z.B. Sinn wenn man alle Debitoren aus einem bestimmten PLZ Bereich einen neuen Verkäufercode zuweisen möchte, unabhängig davon was das Feld vorher für einen Wert hatte. Mir hat die Page in diesem Fall schon sehr oft geholfen.

GrĂĽĂźe
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Suchen & ersetzen

Beitragvon Raik Zobel » 24. November 2016 09:52

Update 24.11.2016: Es lässt sich eine Tabelle auswählen, wenn die Page ohne gesetzten RecRef gestartet wird. Außerdem ist ein weiterer Fehler behoben, welcher bei der Filterung auf Dezimalzahlen enstanden ist.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016


ZurĂĽck zu NAV Tipps & Tricks

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast