21. Oktober 2016 08:15
Hallo,
wir scannen GS1-128 Barcode in NAV ein. Leider wird das FNC1 Zeichen ignoriert. Wenn ich den Barcode in NAV einscanne dann sieht er wie folgt aus:
]C101153XXXX6055504172108003030106H143
Wenn ich den gleichen Barcode in Notepad Plus einscanne, dann sieht man das Trennzeichen FNC1.
GTIN.jpg
Wenn ich die Zeichen in diesem Feld zählen lasse, dann zeigt mir NAV/SQL Server 38 Zeichen. Wenn ich diesen Barcode direkt in SQL-Server einfüge, dann zeigt mir der SQL-Server 39 Zeichen.
Hat jemand von euch eine Idee wie man das Trennzeichen auch in NAV hineinbekommt?
Gruß
Michael
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von MichaelK am 15. November 2016 12:29, insgesamt 1-mal geändert.
21. Oktober 2016 08:33
Hallo,
ist das ein Code- oder ein Textfeld?
Falls ersteres, probier mal Text aus.
Gruß Fiddi
21. Oktober 2016 09:01
Den Scanner so programmieren, dass das Zeichen (meist wie hier als ASCII 29 übergeben, GS = Group Separator) durch ein anderes ersetzt wird. Der Kollege hier hat mit einem "#" Erfolg.
https://dynamicsuser.net/nav/f/developers/10453/ean128-barcode-how-to-find-interpret-fnc1
21. Oktober 2016 09:14
Könnte es sein, dass ihr in der Codeunit 1 in der Funktion MakeText bzw. MakeCode einen Funktionalität habt, welche nicht druckbare Zeichen entfernt?
(Ich habe sowas schonmal für den ein oder anderen Kunden realisiert, da die sehr viel mit Copy&Paste gearbeitet hatten, was dann zu unschönen Effekten führte.)
21. Oktober 2016 09:23
Timo Lässer hat geschrieben: da die sehr viel mit Copy&Paste gearbeitet hatten, was dann zu unschönen Effekten führte.
Copy&Paste an sich (innerhalb von NAV) geht ja noch
, aber wenn wie üblich Texte aus Webseiten direkt in NAV kopiert werden, kommt schnell das Steuerzeichenchaos, was dann u.a. Schnittstellen aus dem Takt bringen kann.
21. Oktober 2016 09:32
Hallo,
vielen Dank für eure Tipps.
ja, ich habe schon alles probiert was mir eingefallen ist, Text, BigText aber bei allen fehlt dieses Zeichen.
Die Scanner umzuprogrammieren wäre auch eine Möglichkeit aber etwas aufwendig.
Gibt es sonst keine Möglichkeit dieses Zeichen ins Navision zu bekommen?
Gruß
Michael
21. Oktober 2016 10:12
Was wird denn verwendet, CC oder RTC? Bitte im Betreff ergänzen.Ist der Scannertext im
OnAfterInput-Trigger (nur im CC) noch vollständig vorhanden? Dann könnte man ihn u.U. dort zeichenweise analysieren (auf Char = 29 prüfen) und das Zeichen umsetzen.
24. Oktober 2016 08:09
Hallo Kai,
vielen Dank für den Tipp. Leider gibt es diesen Trigger nicht beim RTC. Ich habe vergessen das zu erwähnen, dass es ich hierbei um RTC handelt.
Ich habe auch versucht diesen Barcode in der Form einzulesen. Auch beim OnAfterImput Trigger fehlt dieses Trennzeichen.
Gruß
Michael
24. Oktober 2016 10:10
Wie sieht es mit dem
Variant Data Type als SourceExpression des Feldes aus?
24. Oktober 2016 17:05
Hallo Kai,
wenn ich Variant als Source Expression nehme, dann bekomme ich im RTC folgende Fehlermeldung:
Microsoft Dynamics NAV
---------------------------
Die Seite '90000' ist ungültig und kann nicht angezeigt werden. Wenden Sie sich an den Systemadministrator.
---------------------------
OK
---------------------------
Muss ich da noch etwas einstellen?
Gruß
Michael
24. Oktober 2016 20:42
Die Meldung deutet auf defekte Einträge für diese Page in den Systemtabellen hin, in Tabelle 2000000080 Page Data Personalization bzw. in Datei PersonalizationStore.xml. in der Tabelle kann man ggf. gezielt Pages löschen.
25. Oktober 2016 08:24
Hallo Kai,
dies wäre meine Page
- Code:
OBJECT Page 90000 Scanner Test
{
OBJECT-PROPERTIES
{
Date=25.10.16;
Time=08:19:38;
Modified=Yes;
Version List=;
}
PROPERTIES
{
SourceTable=Table90000;
}
CONTROLS
{
{ 1140000; ;Container ;
ContainerType=ContentArea }
{ 1140001;1;Group ;
GroupType=Group }
{ 1140002;2;Field ;
SourceExpr=FNC1Variant;
OnValidate=BEGIN
//MESSAGE(FORMAT(ScannerBigText.LENGTH));
//FNC1Char := 29;
//FnC1Text := 'Z';
//FnC1Text[1] := FNC1Char;
MESSAGE(FORMAT(STRLEN(FNC1Variant)));
//MESSAGE(FORMAT(ScannerBigText.TEXTPOS(FnC1Text)));
END;
}
}
CODE
{
VAR
String@1140000 : DotNet "'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.String";
ScannerBigText@1140001 : BigText;
FNC1Char@1140002 : Char;
FnC1Text@1140003 : Text[30];
TempBlob@1140004 : Record 99008535;
FNC1Variant@1140005 : Variant;
BEGIN
END.
}
}
Wenn ich in der SourceExpression die Variant-Variable durch eine Text-Variable austausche, dann startet die Page ohne Probleme.
Gruß
Michael
26. Oktober 2016 21:44
Hallo,
wird das Zeichen wirklich ignoriert?
Probier doch mal die beigefügte Testpage aus.
Gruß Fiddi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
28. Oktober 2016 08:49
Hallo Fiddi,
wenn ich meinen Barcode dort einscanne, dann bekomme ich alle möglichen Zahlen zu sehen, aber die Zahl 29 tauch nicht auf.
Dies wäre z. B. so ein Barcode:
Barcode.jpg
Gruß
Michael
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
28. Oktober 2016 13:18
Erscheint denn eine 4stellige dazwischen?
Die gleiche wenn mann ALT- Taste und 29 auf dem Nummernblock eingibt?
Gruß Fiddi
28. Oktober 2016 15:26
Hallo Fiddi,
nein, dass erscheint leider nicht.
Hier sind die Werte welche nach dem Einscannen erscheinen.
93|67|49|48|49|49|48|54|49|48|48|55|53|49|54|52|51|49|53|49|55|50|49|48|56|48|48|51|48|53|49|48|54|72|48|50|50
Gruß
Michael
15. November 2016 09:14
Hallo,
in der Zwischenzeit habe ich eine .Net Winform gebastelt. Wenn ich den Barcode dort einscanne, dann fehlt dort auch das GS-Zeichen.
Scan_Winform.jpg
Wenn ich aber den in den Notepad++ eingescannten Text in die Winform kopiere, dann kommt das Trennzeichen vor.
Copy_Winform.jpg
Das gleich ist es, wenn ich einen Scan in die Konsole mache.
Scan_Konsole.jpg
Meine Winform kann hier heruntergeladen werden:
https://1drv.ms/u/s!AgNJR9gedwS0g2azJvSJPc6hYG9WHabt ihr eine Idee woran das liegen könnte?
Gruß
Michael
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
15. November 2016 12:28
Hallo,
vom Hersteller des Scanners habe ich erfahren, dass wenn der Scanner über die Tastaturschnittstelle sendet, dann wird das Trennzeichen mit der Tastenkombination Control und ] gesendet. Notepad++ und die Konsole können das dann korrekt interpretieren. Winfors und Navision können es anscheinend nicht.
Gruß
Michael
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.