Danjo's two cents NAV, Powershell, Android, C#, Lync, Win8, …

23Apr/120

[DAOC] Neue Version des Tools

Vor etwa zwei Wochen habe ich beschrieben wie man tausende von NAV-Objekten abgleichen kann um nur die notwendigen Objekte in ein Quellcodeverwaltungsprogramm laden zu müssen. Hier der Originalartikel

Heute habe ich eine neue Version des dort beschriebenen Tools hochgeladen.

Program window

Neu ist, dass man die Dateien nun nicht mehr beim klick auf den Button auswählen muss sondern diese bereits vorher festlegt.

Dies ist auf verschiedene Arten möglich:

  • Eintippen in die Textboxen
  • Die drei Punkte '...' verwenden um über einen Auswahldialog die Dateien auszusuchen
  • Die Aufrufe unter "File" verwenden
  • oder am einfachsten: Drag&Drop der DAteien auf die Textbox (Datei mit der Maus auf das Feld ziehen und los lassen)

Neue Version: Danjos Advanced Object Compare

10Apr/120

Umbenennen von Feldern und Objekten

In größeren Projekten wird es immer wieder vorkommen, dass man ein NAV-Objekt oder ein Tabellenfeld umbenennen muss. An und für sich ist das kein Problem, da NAV bereits alles an Codestücken und Relationen im Hinergrund korrigiert.

Das Problem beginnt wenn man mit einem Tool zur Quelltextverwaltung , wie zum Beipsiel subversion, arbeitet. Nach dem umbenennen eines Objektes/Feldes müssen alle geänderten Objekte in das Tool eingespielt werden. Da NAV allerdings im Hintergrund die Objekte ändert und hierbei weder Zeit, Datum noch Modified ändert, gibt es keinen Weg aus dem Vlient heraus zu erkennen welche Objekte nun tatsächlich verändert wurden. Wenn man nun einige Objekte übersieht, kann dies einigen Ärger nach sich ziehen. Benennt man ein Feld um das im C/AL-Code eines anderen Objektes verwendet wird ist das andere Objekt nicht länge kompilierbar. Klar, das ist einfach zu finden. Handelt es sich allerdings um Objekte mit Tabellenrelationen, ändert NAV die Relation auf die nächste Tabelle / das nächste Feld die/das so ähnlich klingt, bzw. den gleichen Anfang hat. Benennt man also die Tabelle Item in Artikel um, so ändert der Client beim Einspielen der Objekte aus der Quelltextverwaltung die Tabellenrelationen von Item zu Item Translation oder Item Ledger Entry, ... .

Da es mir in letzter Zeit öfter passiert ist, dass ich Objekte bzw. Felder umbennen musste, habe ich mir ein kleines Tool geschrieben, welches mir dabei hilft die entsprechenden Objekte ohne großen Aufwand zu finden. Alles was ich jetzt noch tun muss ist alls Objekte vor dem Umbennen als Text zu exportieren. Anschliessend sämtliche Umbennenungen vornehmen und dann wieder alle Objekte als Text exportieren.

Und so funktioniert das ganze:

1) Lade das Programm herunter

2) Das Programm ausführen und auf Compare Files klicken

3) Die erste Datei auswählen

4) Analog zu Schritt 3 die zweite Datei auswählen

5) Das Tool zeigt nun alle Objekte mit Änderungen an

 

Einige Hinweise:

  • Ich gebe keine Garantien
  • Die Objektliste kann mit Copy&Paste einfach in Word/Excel/... kopiert werden
  • Dieses Programm vergleicht die erste Datei mit der zweiten Datei. Dadurch ist es in der Lage auf zu zeigen welche Dateien aus der ersten Datei in der zweiten fehlen. Dies funktioniert nicht anders herum.
  • Das Programm kommt mit allen aktuell vorhandenen Dateitypen klar (Table/Form/Report/...)
  • Ihr könnt gerne Kommentare, Bugs, Vorschläge, ... posten

 

Don't KnowSind noch Fragen offen? Dann immer her damit.

   
%d Bloggern gefällt das: