In Microsoft Dynamics NAV 2009 und im Classic Client konnte man über “Suchen und Ersetzen” Datenänderungen durchführen ohne dafür einen Batch programmieren zu müssen. Im RTC wurde das Suchen durch Filtern ersetzt und das Ersetzen suchte man vergeblich. In Microsoft Dynamics NAV 2013 nun ist das Suchen zurückgekehrt:
Standard Page zum Suchen
Aber manchmal vermisst man doch das Ersetzen noch. Vielleicht haben Sie den Blog Post von Robert Miller schon gesehen. Er ist es auf jeden Fall Wert einen genaueren Blick hinein zuwerfen. Deswegen hier die eingedeutschte Version des Beitrags, ergänzt um eigene Anmerkungen. Viel Spaß beim Experimentieren.
Auch wenn Microsoft Dynamics NAV 2013 mit Rapid Start und den bekannten Möglichkeiten einen kleinen Report / Funktion zur Änderung von Stammdaten zu schreiben, schon ein ganzes Arsenal an Werkzeugen bietet, so ist es für den Endanwender doch oft einfacher mittels Suchen und Ersetzen einen Wert durch einen anderen zu ersetzen. Wie man mit einfachen Mitteln eine Page zum Ersetzen erstellen und mit unterschiedlichsten Daten benutzen kann zeigt die nachfolgende Beschreibung. So könnte das ganze Aussehen:
Ersetzen Page
Beschreibung
Options:
Wie wird diese Page nun genutzt?
Sie können das angehängte .TXT Objekt importieren und kompilieren. Sie werden dann in der Lage sein, die Page von fast überall aus zu benutzen. Versuchen Sie dies zum Beispiel bei der Kunden List Page (Page 22):
1. Importieren und Kompilieren Sie “Replace NAV2013DE.txt”. (Neue Page 50050)
2. Öffnen Sie die Entwicklungsumgebung und dort die Page 22 per Design öffnen.
3. Fügen Sie eine globale Variable hinzu, die Sie auf die neue Page (50050) zeigen lassen
4. Erzeugen Sie eine neue Action
5. Im OnAction Trigger der neuen Action, kommt der folgende Code hinein…
6. Speichern und Kompilieren Sie und schon können Sie die Funktion nutzen
Wie funktioniert es nun?
Noch ein paar Hinweise / Ideen:
These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.
Mit freundlichen Grüßen und Viel Spaß damit
Andreas Günther
Microsoft Dynamics Germany
Ist ja super.
Ich bau das gerade für einen Kunden ein.
Hat er gut gemacht der Miller.
Besonders die ganze rec ref Geschichte. Habe ich immer noch vollständig durchdrungen.
Zum Teil schon deutsch hinterlegt. In den Texten fehlt es aber noch.
Was jedoch nicht funktioniert ist der Filter.
Den braucht man beim Aufruf aus einem Buchblatt
Hängt auch mit der Sprache zusammen.
Filtertext ist deutsch Name Feld englisch
//IF FilteredFldRef.NAME = Filters[ICount][1] THEN BEGIN
IF FilteredFldRef.CAPTION = Filters[ICount][1] THEN BEGIN
Gibt es eine neuere Version davon in ML. Der Blog ist ja schon etwas älter
Hallo Helge,
wenn du folgendes änderst, dann funktionierst auch mit Captions.
1. In page 6218 die Caption mit reinnehmen
2. Im Code "SelectedField" in der Replace page im OnValidate()
//Fields.SETRANGE(FieldName,SelectedField);
Fields.SETRANGE("Field Caption",SelectedField);
Ändern und im OnAssistEdit:
//SelectedField := Fields.FieldName;
SelectedField := Fields."Field Caption";
Damit kann man dann die Felder auf der aktuellen Sprache auswählen oder eingeben. Der Rest funktioniert schon automatisch, weil er nur die Feldnummern speichert.
Gruß
Andreas