NAV-Tools

Bild Tools zu Microsoft Dynamics NAV (ehem. Navision)

NAV-Tools

Beitragvon Timo Lässer » 24. September 2007 22:57

Diese Sammlung von Codeunits enthält zahlreiche nützliche Funktionen, die den Alltag eines Programmierers deutlich erleichtern.

  • GlobalVariableManagement
    Diese (SingleInstance-)Codeunit ist ein Beispiel, wie man "anwendungsglobale" Variablen definieren kann.
    (In diesem Beispiel wird ein Druckername hinterlegt, welcher in der Codeunit 1 ĂĽber die entsprechende Funktion abgefragt werden kann.)
  • EncodeDecodeManagement
    • MD5
      Diese Funktion ermittelt den MD5-Hash des ĂĽbergebenden Textes.
    • Base64EncodeStream
      Diese Funktion erzeugt eine Base64-Zeichenfolge (als Stream) für den übergebenden (Binär-)Stream
    • Base64DecodeStream
      Diese Funktion erzeugt einen (Binär-)Stream für den übergebenen (Base64-)Stream
    • EncodeFF
      Diese Funktion verschlĂĽsselt einen ĂĽbergebenen Text-String mittels der sogenannten "FF-Maske", dabei wird auch die Reihenfolge der einzelnen Zeichen innerhalb des Strings vertauscht.
    • DecodeFF
      Mit dieser Funktion kann der per "EncodeFF" verschlĂĽsselte Text wieder in Klartext umgewandelt werden.
  • DatabaseManagement
    • GetDatabaseName
      Diese Funktion liefert den Namen der aktuell verwendeten Datenbank zurĂĽck.
    • GetServerName
      Diese Funktion liefert den Servernamen zurĂĽck.
    • GetServerType
      Diese Funktion liefert die verwendete Serverart (Native oder MS-SQL) zurĂĽck.
    • GetParameterValue
      Diese Funktion liefert den Wert eines beliebigen Parameters zurĂĽck, mit dem Dynamics NAV aufgerufen wurde.
    • GetDBUsagePercent
      Diese Funktion ermittelt die ungefähre Auslastung der Datenbank in Prozent.
      (Dieser Wert kann von der "offiziellen" Angabe abweichen!)
    • GetObjectUsageKB
      Diese Funktion ermittelt den Speicherplatzverbrauch der in der Datenbank enthaltenen Objekten.
    • GetDataUsageKB
      Diese Funktion ermittelt den Gesamt-Speicherplatzverbrauch der einzelnen Datenbankteile.
    • GetDBSizeKB
      Diese Funktion ermittelt den Speicherplatzverbrauch der in der Datenbank gespeicherten Daten.
    • GetMySessionID
      Diese Funktion liefert die Session-ID der eigenen Sitzung zurĂĽck.
    • CountActiveSessions
      Diese Funktion liefert die Anzahl aktuell verwendeter Sessions zurĂĽck.
    • LocateZupFile
      Diese Funktion liefert die absolute Pfadangabe der eigenen ZUP-Datei zurĂĽck.
    • DeleteZupFile
      Diese Funktion löscht die eigene ZUP-Datei und erstellt anschließend eine neue "leere" ZUP-Datei an gleicher Stelle mit gleichem Namen.
    • CreateZupFile
      Diese Funktion erstellt eine neue "leere" ZUP-Datei.
    • DecompileZupFile
      Diese Funktion erstellt eine Textdatei mit Initialisierungswerten, welche anschließend als Ausgangsbasis für die Funktion "CreateZupFile" verwendet werden können.
  • DateAndTimeManagement
    • HMS2Time
      Diese Funktion stellt das Ă„quivalent zu DMY2Date dar.
    • Time2HMS
      Diese Funktion stellt das Ă„quvalent zu Date2DMY dar.
    • CalcTime
      Diese Funktion stellt das Ă„quivalent zu CalcDate dar.
    • RoundTime
      Diese Funktion stellt das Ă„quivalent zu RoundDateTime dar.
    • Int2Time
      Diese Funktion ermittelt aus der angegebenen Anzahl Millisekunden (nach Mitternacht) die aktuelle Uhrzeit.
    • Time2Int
      Diese Funktion ermittelt die Anzahl Millisekunden (nach Mitternacht) von einer angegebenen Uhrzeit.
    • Time2HHMM
      Diese Funktion formatiert eine Uhrzeit im Format HH:MM.
    • HHMMSS2Time
      Diese Funktion erstellt eine Uhrzeit aus einem Text im Format HHMMSS.
    • Date2YYYYMMTT
      Diese Funktion formatiert ein Datum im Format JJJJMMTT
    • YYYYMMTT2Date
      Diese Funktion erstellt ein (Dynamics NAV) Datum aus einem Text im Format JJJJMMTT
    • Date2WWYYYY
      Diese Funktion formatiert ein (Dynamics NAV) Datum im Format KW/JJJJ.
      Hinweis: Der Format-Befehl berücksichtigt nicht, dass sich die Jahreszahl (z. B. beim 31.12.2007) ändern könnte.
    • JulianDayNo2GregorianDate
      Diese Funktion errechnet das gregorianische Datum einer julianischen Tageszahl.
    • JulianDayNo2JulianDate
      Diese Funktion errechnet das julianische Datum einer julianischen Tageszahl.
    • GregorianDate2JulianDayNo
      Diese Funktion errechnet die julianische Tageszahl eines gregorianischen Datums.
    • JulianDate2JulianDayNo
      Diese Funktion errechnet die julianische Tageszahl eines julianischen Datums
    • GregorianDate2JulianDate
      Diese Funktion errechnet das julianische Datum eines gregorianischen Datums.
    • JulianDate2GregorianDate
      Diese Funktion errechnet das gregorianische Datum eines julianischen Datums.
    • CountWorkingDays
      Diese Funktion zählt die Anzahl Arbeitstage zwischen zwei Dati unter Berücksichtigung des angegebenen Basiskalenders.
    • CountCustomizedWorkingDays
      Diese Funktion zählt die Anzahl Arbeitstage zwischen zwei Dati unter Berücksichtigung des angegebenen spezifischen Kalenders.
    • CountFinancialDays
      Diese Funktion zählt die Anzahl Finanztage zwischen zwei Dati.
      Hinweis: Jede Nation definiert die Finanztage anders!
      Diese Funktion geht davon aus, dass ein Monat 30 Tage und ein Jahr 360 Tage hat. Nur vollständig abgelaufene Tage werden berücksichtigt.
    • IndustrialDate2NormalDate
      Diese Funktion errechnet das Datum eines Industriedatums.
      (Industriedatum = TagDesJahres/Jahr)
    • NormalDate2IndustrialDate
      Diese Funktion errechnet das Industriedatum eines Datums.
    • IndustrialTime2NormalTime
      Diese Funktion errechnet die Uhrzeit einer Industrie-Uhrzeit.
      (Eine Industrie-Stunde hat 100 Minuten.)
    • NormalTime2IndustrialTime
      Diese Funktion errechnet die Industrie-Uhrzeit einer Uhrzeit.
  • WindowsScriptHostManagement
    • CreateFullKey
      Diese Funktion erstellt die vollständige Pfadangabe zu einem Windows-Registry-Schlüssels anhand eines angegebenen Pfades und eines Schlüssels.
    • RegRead
      Diese Funktion liefert den Wert eines angegebenen Windows-Registry-SchlĂĽssels.
    • RegWrite
      Diese Funktion . ändert den Wert bzwerstellt einen angegebenen Windows-Registry-Schlüssel.
    • RegDelete
      Diese Funktion löscht einen angegebenen Schlüssel bzw. Pfad in der Windows-Registry.
    • MsgBox
      Diese Funktion ermöglicht die Generierung einer vollwertigen Message-Box, wobei der Titel, der Text, das Symbol sowie die anzuzeigenden Schaltflächen frei definiert werden können.
    • SendKeys
      Diese Funktion sendet eine beliebige Zeichenfolge an die aktive Anwendung. (In diesem Fall "Dynamics NAV".)
    • LogOff
      Diese Funktion sendet die Zeichenfolge zum SchlieĂźen der aktuellen Datenbank an Dynamics NAV.
    • ReLogOn
      Diese Funktion sendet die Zeichenfolge zum Schließen der aktuellen Datenbank und öffnen der zuletzt verwendeten Datenbank an Dynamics NAV.
      Hinweis: Da die Datenbank gerade geschlossen wurde ist sie die zuletzt verwendete Datenbank und wird somit erneut geöffnet.
  • LicenceManagement
    • GetLicenseHeader
      Diese Funktion liefert die Zeilen der Lizenzdatei zurĂĽck, die den Lizenznehmer (inkl. Adresse, ...) enthalten.
    • GetLicensee
      Diese Funktion liefert den Namen des Lizenznehmers zurĂĽck.
    • GetMaxNoOfSessions
      Diese Funktion liefert die maximale Anzahl konkurrierender Sessions laut Lizenz zurĂĽck.
      Hinweis: Die Lizenzen von Microsoft Business Solution Providern (MBSP) sind aufgrund von Platzmangel beschnitten, so dass die relevanten Informationen nicht ermittelt werden können.
    • CheckDataLicensePermission
      Diese Funktion prüft, ob ein bestimmtes Recht (Lesen, Einfügen, Bearbeiten, Löschen) für die Daten der angegebenen Tabelle in der Lizenz vorhanden ist.
    • CheckObjectLicensePermission
      Diese Funktion prĂĽft, ob die AusfĂĽhrungs-Berechtigung fĂĽr ein bestimmtes Objekt (Table, Form, Report, ...) in der Lizenz vorhanden ist.
    • ShowLicenseError
      Diese Funktion generiert eine Fehlermeldung entsprechend den Dynamics NAV-Standard.
    • IsDemonstrationCompany
      Diese Funktion prĂĽft, ob es sich um einen Demo-Mandanten handelt.
    • CheckTextFin
      Diese Funktion stellt ein Beispiel dar, wie man "virtuelle Granules" erstellen kann.
  • FileManagement
    • FormatFileSize
      Diese Funktion formatiert eine Dateigröße (in Bytes) in die größtmögliche Größenangabe (bis hin zu Zeta-Bytes).
      ExtractFolder
      Diese Funktion ermittelt den Ordner eines vollständigen Dateinamens.
      ExtractFilename
      Diese Funktion ermittelt den reinen Dateinamen eines vollständigen Dateinamens (inkl. Ordnerangabe).
      ExtractExtension
      Diese Funktion ermittelt die Dateiendung eines Dateinamens.
      OpenFolder
      Diese Funktion öffnet ein Dialog-Fenster zur Auswahl eines Ordners.
      AddBackSlash
      Diese Funktion stellt sicher, dass eine Ordnerangabe mit einem Backslash endet.
      DelBackSlash
      Diese Funktion stellt sicher, dass eine Ordnerangabe nicht mit einem Backslash endet.
      ZipFolder
      Diese Funktion kopiert die angegebene Datei/den angegebenen Ordner in einen ZIP-komprimierten Ordner.
  • HolidayManagement
    • Holiday
      Diese Funktion berechnet, ob ein angegebenes Datum (in einem bestimmten D-A-CH-Land/-Bundesland/Kanton) ein Feiertag ist, und ob dieser darĂĽber hinaus auch noch arbeitsfrei ist.
    • CalcEaster
      Diese Funktion berechnet das Datum des Ostersonntags des angegebenen Jahres.
    • CalcAdvent
      Diese Funktion berechnet den 1. Advent des angegebenen Jahres.
  • TextManagement
    • ANSI2ASCII
      Diese Funktion konvertiert einen ANSI-Text in einen ASCII-Text.
      Hinweis: ANSI = ISO8859-1 ("Latin-1") - ASCII = Codepage 850 ("DOS-Latin-1")
    • ASCII2ANSI
      Diese Funktion konvertiert einen ASCII-Text in einen ANSI-Text.
      Hinweis: ANSI = ISO8859-1 ("Latin-1") - ASCII = Codepage 850 ("DOS-Latin-1")
    • ASCII2EBCDIC
      Diese Funktion konvertiert einen ASCII-Text in einen EBCDEC-Text.
      Hinweis: ASCII = Codepage 850 ("DOS-Latin-1")
    • EBCDIC2ASCII
      Diese Funktion konvertiert einen EBCDIC-Text in einen ASCII-Text.
      Hinweis: ASCII = Codepage 850 ("DOS-Latin-1")
    • Umlaut2PlainText
      Diese Funktion konvertiert Umlaute und Sonderzeichen in "einfache" Zeichen (z. B. "Ăź" -> "ss", "Ă„" -> "AE")
    • ANSI2HTML
      Diese Funktion konvertiert Sonderzeichen eines ANSI-Textes in die entsprechende HTML-Schreibweise.
      Hinweis: ANSI = ISO8859-1 ("Latin-1")
    • HTML2ANSI
      Diese Funktion konvertiert einen Text mit in HTML-Schreibweise geschriebener Sonderzeichen in einen ANSI-Text.
      Hinweis: ANSI = ISO8859-1 ("Latin-1")
    • Text2HTMLdec
      Diese Funktion konvertiert sämtliche Zeichen in die dezimale HTML-Schreibweise.
    • HTMLdec2Text
      Diese Funktion konvertiert einen Text mit in dezimaler HTML-Schreibweise geschriebener Zeichen in normalen Text.
    • Text2HTMLhex
      Diese Funktion konvertiert sämtliche Zeichen in die hexadezimale HTML-Schreibweise.
    • HTMLhex2Text
      Diese Funktion konvertiert einen Text mit in hexadezimaler HTML-Schreibweise geschriebener Zeichen in normalen Text.
    • TidyPhoneNo
      Diese Funktion eliminiert sämtliche nicht-nummerische Zeichen (ausser dem Plus-Zeichen) einer Zahlenkombination.
      Beispiel: +49 (123) 456789-0 --> +491234567890
    • DecStr
      Diese Funktion stellt das Ă„quivalent zu INCSTR dar.
    • NormalizeText
      Diese Funktion konvertiert einen Text so, dass immer nur der erste Buchstabe nach einem Trennzeichen (Leer, Bindestrich, ...) groĂź und der Rest klein geschrieben ist.
  • ColorManagement
    • RGB2Color
      Diese Funktion errechnet aus den ĂĽbergebenen Rot-, GrĂĽn- und Blau-Werten den korrespondierenden (Dynamics NAV-)Farbwert.
      Color2Blue
      Diese Funktion extrahiert den Blau-Wert aus einem (Dynamics NAV-)Farbwert.
      Color2Green
      Diese Funktion extrahiert den GrĂĽn-Wert aus einem (Dynamics NAV-)Farbwert.
      Color2Red
      Diese Funktion extrahiert den Rot-Wert aus einem (Dynamics NAV-)Farbwert.
  • NumberManagement
    • Bin2Hex
      Diese Funktion konvertiert einen Binärwert in einen Hexadezimalwert um.
    • Bin2Int
      Diese Funktion konvertiert einen Binärwert in einen Dezimalwert um.
    • Bin2Oct
      Diese Funktion konvertiert einen Binärwert in einen Oktalwert um.
    • Bin2User
      Diese Funktion konvertiert einen Binärwert in einen benutzerdefiniertes Zahlensystem um.
    • Hex2Bin
      Diese Funktion konvertiert einen Hexadezimalwert in einen Binärwert um.
    • Hex2Int
      Diese Funktion konvertiert einen Hexadezimalwert in einen Dezimalwert um.
    • Hex2Oct
      Diese Funktion konvertiert einen Hexadezimalwert in einen Oktalwert um.
    • Hex2User
      Diese Funktion konvertiert einen Hexadezimalwert in ein benutzerdefiniertes Zahlensystem um.
    • Int2Bin
      Diese Funktion konvertiert einen Dezimalwert in einen Binärwert um.
    • Int2Hex
      Diese Funktion konvertiert einen Dezimalwert in einen Hexadezimalwert um.
    • Int2Oct
      Diese Funktion konvertiert einen Dezimalwert in einen Oktalwert um.
    • Int2User
      Diese Funktion konvertiert einen Dezimalwert in ein benutzerdefiniertes Zahlensystem um.
    • Oct2Bin
      Diese Funktion konvertiert einen Oktalwert in einen Binärwert um.
    • Oct2Hex
      Diese Funktion konvertiert einen Oktalwert in einen Hexadezimalwert um.
    • Oct2Int
      Diese Funktion konvertiert einen Oktalwert in einen Dezimalwert um.
    • Oct2User
      Diese Funktion konvertiert einen Oktalwert in ein benutzerdefiniertes Zahlensystem um.
    • User2Bin
      Diese Funktion konvertiert ein benutzerdefiniertes Zahlensystem in einen Binärwert um.
    • User2Hex
      Diese Funktion konvertiert ein benutzerdefiniertes Zahlensystem in einen Hexadezimalwert um.
    • User2Int
      Diese Funktion konvertiert ein benutzerdefiniertes Zahlensystem in einen Dezimalwert um.
    • User2Oct
      Diese Funktion konvertiert ein benutzerdefiniertes Zahlensystem in einen Oktalwert um.
    • User2User
      Diese Funktion konvertiert ein benutzerdefiniertes Zahlensystem in ein benutzerdefiniertes Zahlensystem um.
  • RecRefManagement
    • GetBestKey
      Diese Funktion ermittelt die optimale Sortierung anhand der gesetzten Filter.
    • FormatDataType
      Diese Funktion formatiert einen Text entsprechend dem Datentyps des angegebenen Feldes.
    • EvaluateFieldRef
      Diese Funktion evaluiert einen String in eine FieldReference.
    • GetLastErrorText
      Diese Funktion liefert die letzte Fehlermeldung zurĂĽck, falls eine Funktion mit FehlerunterdrĂĽckung aufgerufen wurde.
    • FieldIsEmpty
      Diese Funktion liefert zurück, ob die FieldReference einen leeren Feldwert repräsentiert.
    • IsPrimaryKeyField
      Diese Funktion liefert zurück, ob das angegebene Feld Teil des Primärschlüssels ist.
    • ValidateText
      Diese Funktion prĂĽft, ob der ĂĽbergebene Text in ein bestimmtes Feld validiert werden kann.
    • LookupText
      Diese Funktion ruft die LookUp-Form für ein bestimmtes Feld auf (sofern möglich).
      Hinweis: Es sind nicht alle Tabellen spezifiziert, weitere können aber auf einfachste Art hinzugefügt werden.
    • GetTableRelation
      Diese Funktion liefert die Tabellennummer der referenzierten Tabelle des ĂĽbergebenen Feldes zurĂĽck.
Dateianhänge
Codeunits TL5.00.zip
Codeunits TL5.00
(98.22 KiB) 4710-mal heruntergeladen
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Beitragvon rkaufmann » 9. April 2008 09:10

Hallo Timo,

ich wollte grade mal die Funktion "OpenFolder" aus der CU FileManagement ausprobieren.

In der Funktion hast du die lokale Variable "ActiveWindow" definiert.
Die Automation wird bei mir als "Unknown Automation Server.Unknown Class" angezeigt.

Hab ich da was ĂĽbersehen?

GruĂź,
Rolf
Es heiĂźt immer noch Baden-WĂĽrttemberg und nicht WĂĽrttemberg-Baden.
Benutzeravatar
rkaufmann
 
Beiträge: 194
Registriert: 16. Juni 2006 10:13
Wohnort: Buchen
Realer Name: Rolf Kaufmann
Arbeitsort: Ă–hringen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 SP2

Beitragvon feri » 4. Juni 2008 15:39

Hallo,

ich verwende diese zwei TextManagement Funktionen in NAV 5 und bin dabei wohl ueber einen Navision Bug gestolpert.

Code: Alles auswählen
MailBody := TM.ANSI2HTML(TM.ASCII2ANSI(NMB.Content));


Der Rueckgabewert der 1. Funktion ist der Parameter der 2. Funktion. Dabei bringt er hin und wieder die Zeichen an der 255. Stelle durcheinander und kopiert dann Teile vom Anfang des Strings dorthin, obwohl er nur Sonderzeichen HTML konform austauschen soll!

Macht man daraus einen 2 Zeiler, gibt es keine Probleme mehr. :roll:
Code: Alles auswählen
MailBody := TM.ASCII2ANSI(NMB.Content);
MailBody := TM.ANSI2HTML(MailBody);


Gruesse
feri
feri
 
Beiträge: 261
Registriert: 16. März 2006 16:59
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon Timo Lässer » 4. Juni 2008 17:03

rkaufmann hat geschrieben:In der Funktion hast du die lokale Variable "ActiveWindow" definiert.
Die Automation wird bei mir als "Unknown Automation Server.Unknown Class" angezeigt.

Hab ich da was ĂĽbersehen?

Du kannst die Stelle im C/AL-Code auch durch eine 0 (Null) ersetzen, oder du lädst dir die DLL von mibuso herunter.
Die genaue URL ist in der entsprechenden Funktion als Kommentar hinterlegt.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Beitragvon rkaufmann » 5. Juni 2008 07:45

Das hab ich völlig übersehen.

Danke.
Es heiĂźt immer noch Baden-WĂĽrttemberg und nicht WĂĽrttemberg-Baden.
Benutzeravatar
rkaufmann
 
Beiträge: 194
Registriert: 16. Juni 2006 10:13
Wohnort: Buchen
Realer Name: Rolf Kaufmann
Arbeitsort: Ă–hringen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 SP2

Beitragvon Timo Lässer » 5. Juni 2008 09:30

feri hat geschrieben:Macht man daraus einen 2 Zeiler, gibt es keine Probleme mehr. :roll:

Hallo feri,

vielen Dank fĂĽr diesen Hinweis.
Hast du zufällig die Möglichkeit, dieses Verhalten mit einer anderen Runtime-Version (fin.exe) nochmals zu prüfen?
Dadurch könnte man dann herausfinden, ob es ein Fehler innerhalb eines einzelnen Build ist oder sich schon ewig durchzieht.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Beitragvon feri » 22. Juli 2008 10:13

Hallo,

ich konnte mir das leider erst jetzt wieder etwas ansehen.
Mit Version 3.60 war der Fehler nicht nachvollziehbar. Neugierig geworden habe ich es dann nochmal mit 5.00 ausprobiert, da hat dann auch alles gepasst.

Leider habe ich die genaue Testmail von damals nicht mehr um das 100%ig zu testen. Jedenfalls habe ich einige verschiedene Sachen getestet und es hat gepasst. Moeglich, dass die Testmail von damals ganz besonders war. :roll:

Sicherheitshalber werde ich hier aber immer den 2 Zeiler verwenden, man weiss ja nie. :wink:

Gruesse
feri
feri
 
Beiträge: 261
Registriert: 16. März 2006 16:59
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: NAV-Tools

Beitragvon ChristophE » 4. Dezember 2008 11:03

Vielen Dank fĂĽr die Ansii2HTML Funktion.
Hat mir einiges erspart :)
Benutzeravatar
ChristophE
 
Beiträge: 131
Registriert: 30. Juni 2008 11:02
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: <=2018

Re: NAV-Tools

Beitragvon rainergaiss » 24. Juni 2009 11:12

Hallo Timo,

deine NAV-Tools sind klasse! Ich hatte allerdings jetzt ein kleines Problem, das ich gelöst habe: Bei der Konvertierung von ASCII nach ANSI wird das Euro-Zeichen nicht konvertiert. Das kannst du hinzufügen indem du hinten in der Funktion InitCharMap folgende Zeile anhängst:

ANSI[95] := 128; ASCII[95] := 176; // Euro

Außerdem musst du natürlich die Längen der Variablen ASCII und ANSI auf 95 erhöhen.

Viele GrĂĽĂźe

Rainer
Benutzeravatar
rainergaiss
Microsoft Partner
Microsoft Partner
 
Beiträge: 553
Registriert: 17. April 2008 22:47
Wohnort: Höchberg
Realer Name: Rainer GaiĂź
Arbeitsort: Höchberg
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: blau 3.53 bis NAV 2018

Re: NAV-Tools

Beitragvon doRi » 10. Dezember 2009 12:52

Hallo Timo,

erst einmal vielen Dank, das ich deine geschriebenen Codeunits verwenden darf, einige haben mir schon oft weiter geholfen!
Nun muss ich per Code ein Mandanten öffnen, was auch teilweise funktioniert.
das Schwierige ist das Filtern, da wir mehrere Mandanten haben.
In das Auswahl Fenster der Mandanten komme ich und ich wollte probieren, dann über die Tastenkombination ALT+A+L zu "drücken", um mir den Mandant zu filtern, den ich öffnen möchte.
Das funktioniert auch mehr oder weniger. Problem an der ganzen Sache ist, das das Mandant-Auswahl-Fenster nicht im Vordergrund steht und der Tabellenfilter sich für das Fenster öffnet, was im Hintergrund noch offen ist.
Meine Frage: Ist es möglich, über die SendKeys-Funktion ein Strg und ein TAB zu übergeben?
Da es ja durch ein % bei dem ALT auch geht, erhoffe ich mir eine Lösung :)

Vielen Dank schon mal im Vorraus!
doRi
 
Beiträge: 4
Registriert: 8. September 2009 12:20
Realer Name: Dominik Richter
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00

Re: NAV-Tools

Beitragvon mikka » 10. Dezember 2009 13:02

Mit der Forensuche findest du einige Beiträge zum Thema :-)
Anbei eine kleine Ăśbersicht.

Windows sripting host hat geschrieben:Man kann jeden Buchstaben auf der Tastatur automatisieren,
hier eine kleine Ăśbersicht der Sondertasten:

Taste - Zeichen
ALT - %
Bild ab - {PGDN}
Bild auf - {PGUP}
Druck - {PRTSC}
Einfg - {INSERT}, {INS}
Ende - {END}
Entf - {DELETE}, {DEL}
Escape - {ESC}
F1 bis F12 - {F1} bis {F12}
Feststelltaste - {CAPSLOCK}
Hilfe - {HELP}
nach links - {LEFT}
nach rechts - {RIGHT}
nach oben - {UP}
nach unten - {DOWN}
NUM- Feststell - {NUMLOCK}
Pause - {BREAK}
Return - {ENTER} oder ~
Rollen- Feststelltaste - {SCROLLOCK}
Pos1 - {HOME}
RĂĽcktaste - {BACKSPACE}, {BS}, {BKSP}
STRG - ^
Tab - {TAB}
Umschalt - +
Startmenü öffnen - ^{ESC}
Quelle: quatschtel.de - Windows Scripting Host
GruĂź, Mikka

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.
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Re: NAV-Tools

Beitragvon rkaufmann » 3. Dezember 2010 14:47

Hallo Timo,

ich nutze die TextManagement CU schon lange und sie hat immer hervorragende Dienste geleistet.
Heute ist mir aber eins aufgefallen:
Wenn an eine Konvertierung von ASCII nach ANSI macht und im String die hochgestellte 2, wie z.B. bei m² drin ist, wird dieses Zeichen nicht richtig konvertiert.
Obwohl das in den Konverterstrings vorgesehen ist.
Code: Alles auswählen
ANSI[18] := 178;   ASCII[18] := 253;  // ²


Wenn ich den konvertierten String in eine Dateischreibe (TEXTMODE=TRUE) dann steht da irgend ein anderes Zeichen an der Stelle.

Ich kann mir da keinen Reim drauf machen.
Die Codeunit wird ausgefĂĽhrt unter NAV 2009 Classic Client mit SQL.

Wäre schön, wenn jemand einen Tipp hätte, woran das liegen kann.
Es heiĂźt immer noch Baden-WĂĽrttemberg und nicht WĂĽrttemberg-Baden.
Benutzeravatar
rkaufmann
 
Beiträge: 194
Registriert: 16. Juni 2006 10:13
Wohnort: Buchen
Realer Name: Rolf Kaufmann
Arbeitsort: Ă–hringen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0 SP2

Re: NAV-Tools

Beitragvon rainergaiss » 3. Dezember 2010 15:20

Vielleicht verwendest du im ASCII eine abweichende Codepage. Unter DOS war es so, dass 850 eingestellt sein musste, aber das ist sehr lange her. Wie die in NAV eingestellt wird, weiĂź ich leider nicht, vielleicht gibt es das auch gar nicht mehr. Es kann aber auch sein, dass du einen Font hast, der das Zeichen nicht ausgeben kann?
Benutzeravatar
rainergaiss
Microsoft Partner
Microsoft Partner
 
Beiträge: 553
Registriert: 17. April 2008 22:47
Wohnort: Höchberg
Realer Name: Rainer GaiĂź
Arbeitsort: Höchberg
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: blau 3.53 bis NAV 2018

Re: NAV-Tools

Beitragvon rotsch » 7. April 2011 16:36

Hallo Timo

Ich verwende aus deinen tollen NAV-Tools das Filemanagement. Die Funktion GetFileName, bzw. das ShowOpen erzeugt mir im RTC einen Fehler

Meldung fĂĽr C/AL Programmierer
ShowOpen The common dialog function failed during initialization.
This error often occurs when insufficient memory is available.

Mein Arbeitsspeicher ist aber nur zur Hälfte belegt. Kennst du das Problem ev.?
Gruss und besten Dank, Roger
Benutzeravatar
rotsch
Microsoft Partner
Microsoft Partner
 
Beiträge: 1703
Registriert: 8. März 2006 14:44
Bezug zu Microsoft Dynamics: Freiberufler
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab Version 1.3 bis Aktuell

Re: NAV-Tools

Beitragvon Timo Lässer » 7. April 2011 18:43

Hallo rotsch,

meine (hier veröffentlichten) NAV-Tools sind noch nicht 3-Tier-kompatibel und somit noch nicht RTC-fähig.
Lösung: Die Automation-Variablen müssen auf dem Client instanziiert werden. Füge hierzu dem CREATE-Befehl den Parameter TRUE hinzu.
Nähere Infos hierzu kannst du der Online-Hilfe zum CREATE-Befehl entnehmen ;-)
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: NAV-Tools

Beitragvon rotsch » 7. April 2011 20:12

Timo Lässer hat geschrieben:meine (hier veröffentlichten) NAV-Tools sind noch nicht 3-Tier-kompatibel und somit noch nicht RTC-fähig.


Hallo Timo

Alles klar, besten Dank!
Gruss und besten Dank, Roger
Benutzeravatar
rotsch
Microsoft Partner
Microsoft Partner
 
Beiträge: 1703
Registriert: 8. März 2006 14:44
Bezug zu Microsoft Dynamics: Freiberufler
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab Version 1.3 bis Aktuell

Re: NAV-Tools

Beitragvon Jupiter » 16. Juni 2011 20:51

Hallo Timo,
ich habe Frage zu der TextManagement-Codeunit, speziell zu der Umsetzung ANSI2ASCII im Bezug auf Ăź
Code: Alles auswählen
InitCharMap()
....
ANSI[62] := 223;   ASCII[62] := 225;  // Ăź
ANSI[64] := 225;   ASCII[64] := 160;  // á

Wenn ich Text mit ' Ăź ' aus Navision exportiere und dabei mit der Fkt. ANSI2ASCII konvertiere, dann steht Ă  wo Ăź stehen muss.
Kann es sein, dass fĂĽr Ăź und Ă  die Ăśbersetzung falsch eingerichtet ist bzw. ist was anderes schuld ist?
Eigentlich steht ĂĽberall im Internet als ASCII-Zeichen fĂĽr Ăź = 225
Ich habe die Ăśbersetzung wie folgt umgedreht (160 <--> 225), und schon klappt es mit der Auslesung von Text mit 'Ăź' richtig
(sowie die Auslesung von Text mit Ă  )
Code: Alles auswählen
ANSI[62] := 223;   ASCII[62] := 160  // Ăź  ==> TEST
ANSI[64] := 225;   ASCII[64] := 225; // á  == > TEST

Habe ich da einen Denkfehler?
Jupiter
 
Beiträge: 160
Registriert: 17. Juni 2007 15:17
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: NAV-Tools

Beitragvon Timo Lässer » 17. Juni 2011 06:58

Hallo Jupiter,

wenn du Daten aus NAV exportierst, dann kommt nur ASCII2ANSI in Frage, da NAV im ASCII-Zeichensatz exportiert.

Gleiches gilt bei einem Import:
NAV erwartet ASCII, wodurch ggfls. eine Konvertierung mittels ANSI2ASCII durchgefĂĽhrt werden muss.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: NAV-Tools

Beitragvon Jupiter » 17. Juni 2011 10:38

Timo Lässer hat geschrieben:Hallo Jupiter,

wenn du Daten aus NAV exportierst, dann kommt nur ASCII2ANSI in Frage, da NAV im ASCII-Zeichensatz exportiert.

Hallo Timm,

ich habe beide Varianten fĂĽr den Export aus NAV ausprobiert, folgendes:
in NAV ist der Inhalt des Feldes, das ich exportiere: ä ö ü ß
1. bei Verwendung von ASCII2ANSI (wie von Dir empfohlen) steht in der Textdatei: õ ÷ ³ (letztes Zeichen hier leider nicht sichtabr)
2. ber Verwendung von ANSI2ASCII (mit ASCII-Wert 225 für ß) steht in der Textdatei: ä ö ü á
3. ber Verwendung von ANSI2ASCII (mit ASCII-Wert 160 für ß) steht in der Textdatei: ä ö ü ß

Wieso funktioniert es bei mir geanau umgekehrt als von Dir empfohlen?
Jupiter
 
Beiträge: 160
Registriert: 17. Juni 2007 15:17
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: NAV-Tools

Beitragvon Timo Lässer » 17. Juni 2011 14:13

Welchen Zeichensatz verwendest du denn in deinem Betriebssystem?
Meine Funktion konvertiert ausschlieĂźlich von ASCII Codepage 850 nach ISO 8859-1 ("Latin-1").
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: NAV-Tools

Beitragvon Jupiter » 17. Juni 2011 18:02

Timo Lässer hat geschrieben:Welchen Zeichensatz verwendest du denn in deinem Betriebssystem?
Meine Funktion konvertiert ausschlieĂźlich von ASCII Codepage 850 nach ISO 8859-1 ("Latin-1").

Wenn ich in cmd-Kommandozeile chcp eingebe bekomme ich 850 als Antwort
In der Registry unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
steht bei
ACP ==> 1252
OEMCP ==> 850
Steht bei Dir unter ACP 28591 ?
Jupiter
 
Beiträge: 160
Registriert: 17. Juni 2007 15:17
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: NAV-Tools

Beitragvon Timo Lässer » 28. Juli 2011 21:03

Da es immer häufiger zu Unstimmigkeiten und dergleichen kommt, hier nochmal ein besonderer Hinweis bezüglich der ASCII- / ANSI-Begrifflichkeiten in den oben gelisteten NAV-Tools:
ANSI versteht sich als ISO8859-1 (aka "Latin-1") und ASCII versteht sich als Codepage 850 (aka "DOS-Latin-1")

Viele Zeichen sind auch in anderen ISO8859-x Spezifikationen mit der ISO8859-1 identisch, jedoch (logischerweise) nicht alle, daher kann und wird es bei anderen Spracheinstellungen zu falschen Ausgabezeichen kommen!
Das Gleiche gilt bei unterschiedlichen ASCII-Codepages.

Ich bitte dies zu beachten.
Wer (für andere Codepages / ISO8859-x Normen) entsprechend angepasste Versionen dieser NAV-Tools anbieten möchte, darf gerne die oben genannte Codeunit "TextManagement" - um entsprechende Funktionen ergänzt - hier zum Download bereitstellen!
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: NAV-Tools

Beitragvon NavHummel » 30. August 2011 11:10

Hallo,

das Tool zur ASCII/ANSI-Umwandlung ist super, vielen Dank dafĂĽr!

Jetzt möchte ich bei uns etwas aus Navision direkt nach Excel ausgeben und darin sind Sonderzeichen, die hier nicht enthalten sind. Ich möchte jetzt gerne den Code erweitern. Die Programmierung an sich ist kein Problem, aber ich finde die passenden Werte für ANSI nicht.

Zum Beispiel: Laut Code ist ASCII für ä=228 und für ANSI=245. Die 228 finde ich überall, nicht aber die 245.

Aktuell suche ich ANSI fĂĽr < (ASCII 60) > (ASCII 62) = (ASCII 61).

Kann mir hier jemand helfen? Vielen Dank im Voraus.
GrĂĽĂźe
NavHummel
NavHummel
 
Beiträge: 191
Registriert: 2. Mai 2006 11:03
Wohnort: NRW
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV3.6,NAV5,NAV2009R2,NAV2013

Re: NAV-Tools

Beitragvon Timo Lässer » 30. August 2011 11:44

NavHummel hat geschrieben:Zum Beispiel: Laut Code ist ASCII für ä=228 und für ANSI=245. Die 228 finde ich überall, nicht aber die 245.
Das ä steht in ANSI (ISO8859-1) an der Codestelle 228. In ASCII (Codepage 850) steht es an Stelle 132. ;-)

NavHummel hat geschrieben:Aktuell suche ich ANSI fĂĽr < (ASCII 60) > (ASCII 62) = (ASCII 61).
Alle Zeichensätze (ASCII, ANSI, UTF-8) sind in den ersten 7 Bit (also bis einschließlich Position 127) identisch, somit brauchen diese Zeichen nicht konvertiert werden.
(Von ISO8859-1 nach UTF-8 sind die Zeichen sogar bis Position 159 identisch.)
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5279
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: NAV-Tools

Beitragvon NavHummel » 30. August 2011 12:07

Timo Lässer hat geschrieben:
NavHummel hat geschrieben:Zum Beispiel: Laut Code ist ASCII für ä=228 und für ANSI=245. Die 228 finde ich überall, nicht aber die 245.
Das ä steht in ANSI (ISO8859-1) an der Codestelle 228. In ASCII (Codepage 850) steht es an Stelle 132. ;-)


Vielen Dank, aber warum steht in der Funktion dann:
" ANSI[84] := 245; ASCII[84] := 228; // ä " ???
GrĂĽĂźe
NavHummel
NavHummel
 
Beiträge: 191
Registriert: 2. Mai 2006 11:03
Wohnort: NRW
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV3.6,NAV5,NAV2009R2,NAV2013

Nächste

ZurĂĽck zu NAV Tools

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron