Barcode , Ean 13 Code in Report einfügen

24. Mai 2008 12:05

Hallo zusammen,

Ein Problem beim einfügen eines Ean13 Codes in einen Etiquettendruck
Wenn ich die Schriftart Ean13 in den Report einfüge unter Font gibt er in mir nicht so im Ausdruck als wenn ich ihn generiere im Barcodeprogramm, oder in Word.
Weiß jemand zufällig wie man das bewerkstelligen kann.

Muß Aufkleber herstellen die auf Paletten geklebt werden, sowie auf Kartons.

Vielen Dank im voraus.

24. Mai 2008 17:48

Wurde der Font auch dem Feld zugewiesen? Die exakte Schreibweise ist hierbei wichtig.

24. Mai 2008 18:48

Der Font Name ist richtig und auch dem richtigem Feld zugewiesen,copy von dem Namen aus den Fontpropreties,
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

26. Mai 2008 14:46

EAN13 ist ein Code der von Scannern sowohl vorwärts als auch rückwärts gelesen werden kann. Das bedeutet natürlich, dass die EAN-Nummer nicht einfach 1:1 in den Zeichen des EAN-Barcodes geschrieben werden kann, sondern erst "umgerechnet" werden muss.

Ich habe dafür eine Funktion erstellt, die ich dir heute Abend bereitstellen kann. Die kann dann auch gleich das abgespeckte EAN8.

26. Mai 2008 22:55

Wie versprochen, hier der Code für den EAN13+8


Code:

IF STRLEN(Code) = 13 THEN BEGIN
  FOR a := 1 TO 10 DO BEGIN
    SatzA[a] := 58+(a-1);
    SatzB[a] := 68+(a-1);
    SatzC[a] := 78+(a-1);
  END;

  Result := Result + FORMAT(Code[1]);
  Result := Result + '"';

  CASE Code[1] OF
    '0' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[7]-'0'+1]);
          END;
    '1' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[7]-'0'+1]);
          END;
    '2' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[7]-'0'+1]);
          END;
    '3' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[7]-'0'+1]);
          END;
    '4' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[7]-'0'+1]);
          END;
    '5' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[7]-'0'+1]);
          END;
    '6' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[7]-'0'+1]);
          END;
    '7' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[7]-'0'+1]);
          END;
    '8' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[7]-'0'+1]);
          END;
    '9' : BEGIN
            Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[3]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[4]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[5]-'0'+1]);
            Result := Result + FORMAT(SatzB[Code[6]-'0'+1]);
            Result := Result + FORMAT(SatzA[Code[7]-'0'+1]);
          END;
  END;

  Result := Result + '#';
  Result := Result + FORMAT(SatzC[Code[8]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[9]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[10]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[11]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[12]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[13]-'0'+1]);
  Result := Result + '"';

  EXIT(Result);
END
ELSE IF STRLEN(Code) = 8 THEN BEGIN
 
  FOR a := 1 TO 10 DO BEGIN
    SatzA[a] := 58+(a-1);
    SatzB[a] := 68+(a-1);
    SatzC[a] := 78+(a-1);
  END;

  //Result := Result + FORMAT(Code[1]);
  Result := '"';

  Result := Result + FORMAT(SatzA[Code[1]-'0'+1]);
  Result := Result + FORMAT(SatzA[Code[2]-'0'+1]);
  Result := Result + FORMAT(SatzA[Code[3]-'0'+1]);
  Result := Result + FORMAT(SatzA[Code[4]-'0'+1]);

  Result := Result + '#';

  Result := Result + FORMAT(SatzC[Code[5]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[6]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[7]-'0'+1]);
  Result := Result + FORMAT(SatzC[Code[8]-'0'+1]);

  Result := Result + '"';

  EXIT(Result);
END;


Die Locals:
SatzA Char Array(10)
SatzB Char Array(10)
SatzC Char Array(10)
Result Text 30
a Integer

Wo den Code einfÜgen

3. Juni 2008 16:12

Hallo alle zusammen

Vielen Dank für eurer Antworten,

da ich noch ein ziemlicher Neuling in der Reporterstellung bin , weiss ich nicht wo ich den Code einfügen soll und die Locals .
Vielen Dank für Eurere Antwort.

3. Juni 2008 16:28

Mit diesem Tool können veschiedene Barcodes soz. "extern" erzeugt werden und als Bitmap eingebunden werden - ohne die entsprechenden Codierungen in NAV einzubauen.
Vielleicht hilft das ja!

Gruß,
Jörg

Ean13 Barcode

3. Juni 2008 16:33

Hallo

habe das Tool schon gesehen, nur soll in Navision der Barcode direct aus der Tabelle in dem Report ertellt werden.

Vielen Dank im voraus