[GELÖST] FNC1 in einem GS1-128 Barcode

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.

Re: FNC1 in einem GS1-128 Barcode

21. Oktober 2016 08:33

Hallo,

ist das ein Code- oder ein Textfeld?

Falls ersteres, probier mal Text aus.

Gruß Fiddi

Re: FNC1 in einem GS1-128 Barcode

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

Re: FNC1 in einem GS1-128 Barcode

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.)

Re: FNC1 in einem GS1-128 Barcode

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 :wink: , 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.

Re: FNC1 in einem GS1-128 Barcode

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

Re: FNC1 in einem GS1-128 Barcode

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.

Re: FNC1 in einem GS1-128 Barcode

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

Re: FNC1 in einem GS1-128 Barcode

24. Oktober 2016 10:10

Wie sieht es mit dem Variant Data Type als SourceExpression des Feldes aus?

Re: FNC1 in einem GS1-128 Barcode

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

Re: FNC1 in einem GS1-128 Barcode

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.

Re: FNC1 in einem GS1-128 Barcode

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

Re: FNC1 in einem GS1-128 Barcode

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.

Re: FNC1 in einem GS1-128 Barcode

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.

Re: FNC1 in einem GS1-128 Barcode

28. Oktober 2016 13:18

Erscheint denn eine 4stellige dazwischen?
Die gleiche wenn mann ALT- Taste und 29 auf dem Nummernblock eingibt?

Gruß Fiddi

Re: FNC1 in einem GS1-128 Barcode

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

Re: FNC1 in einem GS1-128 Barcode

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!AgNJR9gedwS0g2azJvSJPc6hYG9W

Habt ihr eine Idee woran das liegen könnte?

Gruß

Michael
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: FNC1 in einem GS1-128 Barcode

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