by Daniel·Kommentare deaktiviert für [DAOC] New Version of compare tool
Some days ago I described a way to compare thousands of NAV-objects as it may be needed for some source-control tools. Read more
Today I uploaded a new version of the tool.
It is now possible to select the two files seperatly. This is possible by using the ‘…’ at the end of the text-boxes or with the help of drag&drop to the text-boxes.
by Daniel·Kommentare deaktiviert für [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.
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)
In bigger projects it often happens that you have to rename an object or a field. That’s no problem in NAV, since it will find the places where it is used and change the code accordingly.
The problem with this starts when you use source-control like subversion. After renaming a field, you will have to upload all changed objects. But since NAV does not change the objects date/time or modified-flag, there is no way to see which objects where changed. If you miss some objetcs, this could bring real trouble. If you rename a field that is used in C/AL-Code, the objects you forgot will not compile. Yeah, that’s easy to find. But if there are objects with a table relation, this table relation will change to the next table or field that starts with the same name. If you rename Item-table to Article for example, the Table relation will switch to Item Translation or maybe Item Ledger Entry.
Since it happend more often to me in the last weeks that I had to rename fields, I wrote a small tool to help me find all changed objects. The only thing I have to do now is to export all objects as text before and after the renaming of the object or the field. The tool will show me a list of all changed objects then.
This tool compares the first file with the second file, which means that you see objects in file 1 that are missing in file 2. But not the other way around.
You can copy&paste the objectlist into Word/Excel/…
This tool is working with all kind of objects there are available in NAV currently
Feel free to leave a comment with bugs, suggestions or use-cases
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.
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
Sind noch Fragen offen? Dann immer her damit.
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.