Lieferschein mit Barcode (Bestellnummer)

Hallo Zusammen,

mein Unternehmen hat die Auflage bekommen unsere Lieferscheine mit einem Barcode zu versehen. Der Inhalt soll die 6stellige Bestellnummer sein.

Wie kann man soetwas realisieren? Ich bin selbst Programmierer und hab absolut keine angst vor Codes. Der LX-Editor (DruckNT) ist war eine nette IDE jedoch fehlt mir jegliche Referenz zu den Objekten und Modulen. Wo finde Beispiele zu Barcodes und ihren Syntax?

Danke!

Falls ich hier irgendwie etwas erfrage was schon öfters gelöst wurde dann bitte ich um Nachsicht. Ich habe alle Suchfunktionen versucht … konnte aber nichts finden.

Grüße Merz GmbH

Hallo,

Hilfe dazu findest du direkt im Programm DruckNT unter Hilfe. Außerdem gibt es unter Lexware Formulare: Anleitung Änderung im Quelltext | lex-blog weitere Hilfe. Hinsichtlich der Barcordes sieh dir die A1Etikett.lsf an. Das ist ein Etikett mit EAN-Code und dort kannst du sehr schnell erkennen, wie Code-128 bzw. Code-39-25 eingebunden werden. Im Lieferschein kann man das genauso anwenden.

Vielen Dank für Ihre Hilfe. Inzwischen habe ich wirklich ein Formular mit Strichcodes zugepflastert bekommen.

Nun eine weitere Frage zu den Formularen: Ich benötige einen Fertigungsauftrag im Format einer unserer AB’s. Inzwischen habe ich mir eine Einfache Stückliste als Beispiel kopiert und einen eigenen Code gebaut.

Parktisch gesehen möchte ich einen Artikel aus einer Bestellung nehmen und daraus eine detailierte Stückliste (inkl. Struktur) einbauen.

Beispiel:
Spielzeug XY

  • Schaufel
    ++ Aufhängung mit Bolzen
  • Korpus
    ++ Fahrerhaus
    +++ Fahrersitz
    +++ Lenkrad

usw.

Ein Beispiel aus dem Code soll mir einfach nur die Laufenden Nummern auflisten. Ich bekomme allerdings nichts als Ausgabe. Ich verwende als Quelle eine Auftragsbestätigung.

Result_P = FirstRecord(AUFTRPOSITION)
While Result_P do
’ Menge, Einheit, Artikelnummer, Bezeichnung
SetCellText(C_Spalte_3, Get(POS_LAUFENDE_NR))
DrawCell(C_Zeile, True)

Result_R = NextRecord(AUFTRPOSITION)
End While

Hallo,

bist du dir mit der Variablen sicher? Normalerweise wird „Pos_Nr“ genommen. Die Pos_laufende_Nr habe ich m.W. noch nie benutzt, aber vermutlich ist das eine rein numerische Variable, die mit FormatNumeric und GetNumeric eingelesen werden muss. In der Hilfe vom DruckNT findest du die genaue Syntax dieser Befehle.

Hallo Udo,

erstmal vielen Dank für die super Hilfe! Du hattest natürlich recht. Die Get Funktion erreicht nur Strings.

Trotzdem erhalte ich leider keine Ausgabe :frowning:
Ich habe den Code noch mit einem POS_Text erweitert. Jedoch wird nichts in die Tabelle gezeichnet da das Result_P schon nach dem FirstRecord false ist. Muss ich eine weitere Schleife drüber setzten? Eigentlich dürfte doch der aktuelle aufgerufene Auftrag genung sein oder?

Dim Result_P as bool

Result_P = FirstRecord(AUFTRPOSITION)
While Result_P do
’ Menge, Einheit, Artikelnummer, Bezeichnung
SetCellText(C_Spalte_3, FormatNumeric("%.0f", GetNumeric(„P“, 4)))
SetCellText(C_Spalte_4, Get(POS_TEXT))
DrawCell(C_Zeile, True)

Result_P = NextRecord(AUFTRPOSITION)
End While

Hallo,

na ich gehe doch davon aus, dass du innerhalb einer Result_R Schleife bist?

SetCellText(C_Spalte_3, FormatNumeric(„%.0f“, GetNumeric(„P“, 4)))
SetCellText(C_Spalte_4, Get(POS_TEXT))

und hier hast du zuvor C_Spalte ordnungsgemäß eingerichtet? Ansonsten versuche einfach mal

TL("Pos-Text = " + Get(Pos_Text) )

Ich vermute aber, dass du nicht innerhalb der R-Schleife (Rechnung) bist, sondern nur über die P-Schleife (Positionen) reingegangen bist, sonst wäre das Result nicht false.

Hallo Udo,

wunderbar! Inzwischen habe ich den Fehler mit deiner Hilfe gefunden. Natürlich lag es an der Verschachtelung und da war ich nicht sorgfälltig genug.

' Tabellenkopf füllen
' Menge, Einheit, Artikelnummer, Bezeichnung, Bestand
SetCellText(C_H_Spalte_1, "Stl Ebene")
SetCellText(C_H_Spalte_2, "Benneung")
SetCellText(C_H_Spalte_3, "Matchcode")
SetCellText(C_H_Spalte_4, "Menge")
SetCellText(C_H_Spalte_5, "Lagerort")
SetCellText(C_H_Spalte_6, "?")

SetHeaderCell(C_H_Head)

Dim Result_R as bool
Dim Result_P as bool
Dim Result_Z as bool
Dim Result_Z1 as bool
Dim Result_Z2 as bool
Dim Result_Z3 as bool
Dim Result_Z4 as bool


Result_R = FirstRecord(AUFTRAG)
While Result_R do

	Result_P = FirstRecord(AUFTRPOSITION)
	While Result_P do

		SetCellText(C_Spalte_2, Get(POS_TEXT))
		SetCellText(C_Spalte_1, "0")
		DrawCell(C_Zeile, True)
'Stücklistenebene 1
		Result_Z = FirstRecord(STUECKLISTE)
		While Result_Z do
		
			SetCellText(C_Spalte_1, "1")
			SetCellText(C_Spalte_2, ".. " + Get(STL_POS_BEZ))
			SetCellText(C_Spalte_3, Get(STL_POS_MATCHCODE))
			SetCellText(C_Spalte_4, FormatNumeric("%.2f", GetNumeric(STL_POS_MENGE)) + " " + Get(STL_POS_EINHEIT))
			SetCellText(C_Spalte_5, Get(STL_POS_LAGERORT))
			DrawCell(C_Zeile, True)
				
			Result_Z = NextRecord(STUECKLISTE)
		End While 

		
		Result_P = NextRecord(AUFTRPOSITION)
	End While

Result_R = NextRecord(AUFTRAG)
End While

Aaaaaber natürlich habe ich wie immer eine Frage und einen Hacken zu der Sache.

Wie kann ich darin eine Strukturstückliste darstellen? Ich habe viele Artikel die noch mindestestens eine weitere Unterbaugruppe besitzen. So wie jetzt kann ich mit der „STUECKLISTE“ nur eine Tiefe runter. Jeder Versuch noch irgendwie eine Stückliste Tiefer zu gehen schlug fehl. Gibt es da eine möglichkeit mit der internen nummer vielleicht noch eine Ebene Tiefer zu gehen?

Danke!

Hallo,

also eine Stückliste, die Bestandteil einer Stückliste ist. Ich bin nicht sicher, aber glaube, dass das nicht möglich ist. Zumindest nicht mit der normalen Formular-Programmiersprache. Über einen direkten Datenbankzugriff wird es vermutlich gehen, aber da fehlt mir das Detailwissen.

Korrekt, geht nur mit DB Zugriff. Würde ich aber auch nichts direkt im Formular machen sondern dafür ein externes Tool entwickeln. Im Formular wäre das viel zu aufwendig…

Ok aber wie finde ich eine Referenz zu Datenbankzugriffen?

Würde das ganze gerne im Lexware selbst verarbeiten.

Ein keines Beispiel zur anbindung wäre gut. Wenn SQL-Abfragen funktionieren würden wäre das optimal.

Hallo,

gar nicht. Lexware gibt diese Informationen nicht raus.

1 „Gefällt mir“

Ok schade. Ich finde es etwas schade das man aus dem größten Lexware nicht mehr machen kann. Meine hoffnung war es soweit ausbauen zu können das wir in Zukunft auch andere Aufgaben automatisch ablaufen lassen können.

Ich hab da allerdings noch einen Versuch der vielleicht funktionieren könnte.

Melde mich wenn ich mehr weiß

Man kann ja mehr machen lassen. Dazu benötigt man aber die notwendigen Kenntnissse. Solche individuellen Wünsche sind unsere Spezialität, wir machen fast nichts anderes :slight_smile: Bei Bedarf kann über Steve der Kontakt hergestellt werden.

1 „Gefällt mir“

Hallo zusammen,

korrekt. Und zwar hier: Kontakt | lex-blog → „Angebotsanfrage Lexware Tools“ mit Verweis auf diesen Thread. :slight_smile:

1 „Gefällt mir“