Wie öffnet man mit L&L die Kassenlade? [erledigt]

Moderator: Moderatoren

Antworten
CRT
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Mo, 18. Aug 2008 9:33
Wohnort: Kärnten / Österreich
Hat sich bedankt: 10 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Wie öffnet man mit L&L die Kassenlade? [erledigt]

Beitrag von CRT »

Wie kann man mit List&Label die an einem USB-Drucker angeschlossene Kassenlade öffnen? ESC-Sequenzen senden geht ja nicht, oder doch? Danke im voraus!

Beste Grüße
CRT
Zuletzt geändert von CRT am Mo, 29. Mai 2017 16:38, insgesamt 1-mal geändert.
Zeiterfassung . Zutrittskontrolle
www.CRT-software.com
:wav:
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Wie öffnet man mit L&L die Kassenlade (Cashdrawer)?

Beitrag von Martin Altmann »

Moin,
wieso muss es aus L&L heraus passieren? Du kannst doch den Bon drucken (dafür wirst Du ja L&L nehmen - vermute ich mal) und dann einen neuen "Druckjob" starten, der die ESC-Sequenz an die Schublade schickt.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Wie öffnet man mit L&L die Kassenlade (Cashdrawer)?

Beitrag von Jan »

Viele Bondrucker haben einen Anschluß für die Bonschublade. Und dann stellt man im Druckertreiber des Bondruckers ein, das nach Abschluß des Bondruckes das Öffnen-Signal an die Kassenschublade gesendet werden soll.

Ansonsten das, was Martin geschrieben hat.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
CRT
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Mo, 18. Aug 2008 9:33
Wohnort: Kärnten / Österreich
Hat sich bedankt: 10 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Re: Wie öffnet man mit L&L die Kassenlade (Cashdrawer)?

Beitrag von CRT »

Danke für die Tipps. Ich werde das mal ausprobieren. Möchte die Lade per Hotkey öffnen.

lg
Zeiterfassung . Zutrittskontrolle
www.CRT-software.com
:wav:
Benutzeravatar
e25
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 35
Registriert: Do, 22. Dez 2011 16:43

Re: Wie öffnet man mit L&L die Kassenlade (Cashdrawer)?

Beitrag von e25 »

Hi,
man kann auch direkt über LL Sequenzen schicken, hierzu wird das Passtrough Verfahren verwendet, gibt auch einen kleinen KB-Artikel dazu, ist zwar für RFID - Tags, aber das Prinzip ist ja identisch.
Hier der KB-Artikel:
https://www.combit.net/reporting/suppor ... l-drucken/

LG
Erdal Alacali
CRT
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Mo, 18. Aug 2008 9:33
Wohnort: Kärnten / Österreich
Hat sich bedankt: 10 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Re: Wie öffnet man mit L&L die Kassenlade (Cashdrawer)?

Beitrag von CRT »

Das ist interessant. Hab noch nie davon gehört. Geht wahrscheinlich aber nur mit Zebra?

Gruß
CRT
Zeiterfassung . Zutrittskontrolle
www.CRT-software.com
:wav:
Benutzeravatar
e25
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 35
Registriert: Do, 22. Dez 2011 16:43

Re: Wie öffnet man mit L&L die Kassenlade (Cashdrawer)?

Beitrag von e25 »

CRT hat geschrieben:Das ist interessant. Hab noch nie davon gehört. Geht wahrscheinlich aber nur mit Zebra?

Gruß
CRT
Hi,
kann ich leider nicht sagen, ist ja Drucker-Treiber abhängig, hier hab ich mal ein Beispiel für einen Epson Drucker gefunden->
[externer Link]
http://faq.kassen.net/content/9/46/de/w ... m_xxx.html

Wenn der Drucker-Treiber das unterstützt sollte es schon funktionieren, List & Label reicht die Befehle ja nur weiter und anhand der Start und EndSeqs weiß der Drucker das es ein Befehl ist, bei Zebra z.B. "${ - $}".

Gruss Erdal Alacali
CRT
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 123
Registriert: Mo, 18. Aug 2008 9:33
Wohnort: Kärnten / Österreich
Hat sich bedankt: 10 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

So öffne ich die Kassenlade (Cashdrawer) nun ohne List & Lab

Beitrag von CRT »

So funktioniert das jetzt. Der Bondrucker muss aber diese ESC-Sequenz verstehen.

Code: Alles auswählen

/*
 // Xpp 1.90.355 - CRT software 29.05.17
 xpp DrWahlLadeAuf
 alink DrWahlLadeAuf xppui2.lib /pm:pm
*/
#include "XbpDev.ch"

procedure main()
  local oP:= XbpPrinter():new()
  local aPrinter:= oP:list()

  // Verfügbare Drucker anzeigen
  aEval(aPrinter,{|cPrintername| qout(cPrintername)})

  // Bondrucker mit Kassenladenanschluß auswählen und Lade öffnen (Epson-kompatible ESC-sequenzen)
  printtest()
return


function printtest()
  LOCAL oPrinter, cDefPrinter:= ""

  // Bondrucker aus Dialog auswählen
  oDlg:= XbpPrintDialog():new()
  oDlg:create()

  oPrinter:= oDlg:display()  // Zeigt dens Druckerauswahl-Dialog an und konfiguriert ein XbpPrinter-Objekt.
  oDlg:destroy()
  cDefPrinter:= oPrinter:devName

  msgbox("Es wurde folgender Drucker ausgew„hlt: "+cDefPrinter+chr(10)+chr(13);
        +"Status: "+PrnStatus(oPrinter:printerStatus()), "Druckerauswahl")

  IF oPrinter <> NIL
    tone(500, 9)
     *-------------------------------------------------------------------------------------------------------------------
    *    <>     MU§TER DOSDRUCK mit Printerobjekt
    *  <>  <>
    *    <>
    set printer to OBJECT oPrinter
    *
     *--------------------------------------------------------------------------------------------------------------v/crt.
    set device to printer

    set console off
    set printer on
    // Kassenlade öffnen am EPSON-(kompatiblen)-Drucker (OK f. STAR TSP100)
    ?? chr(27)+"p"+chr(0)+chr(32)+chr(128)
    set printer off
    set console on

    set device to screen
    set printer to
    oPrinter:destroy()

  ENDIF
return( .t. )


function PrnStatus(nStatus)  // Text des Status zurückgeben
  local cTxt:= "Unbekannter Druckerstatus"

  do case
  case nStatus == XBPPRN_STATUS_PAUSED
        cTxt:= "Der Drucker wurde angehalten"
  case nStatus == XBPPRN_STATUS_READY
        cTxt:= "Der Drucker ist Online und bereit zum Drucken"
  case nStatus == XBPPRN_STATUS_BUSY
        cTxt:= "Der Drucker ist besch„ftigt"
        /* - auf einen Druckjob wartet
           - gerade druckt
           - einen Druckjob vorbereitet
           - in einem aktiven I/O Zustand ist

           - keinen Druckjob annehmen kann
        */
  case nStatus == XBPPRN_STATUS_SERVICE
        cTxt:= "Der Drucker braucht Wartung oder wird gerade gewartet"
        /* wenn:
           - wenig oder kein Toner da ist
           - der Ausgabeschacht voll ist
           - ein unbestimmtes Problem auftritt
           - die Papierzuführung verstopft ist
        */
  case nStatus == XBPPRN_STATUS_NOPAPER
        cTxt:= "Es gibt kein Papier mehr"
  case nStatus == XBPPRN_STATUS_NOT_READY
        cTxt:= "Der Drucker ist z.Z. nicht bereit!"
        /* weil:
           - das Gerät geöffnet ist
           - die Aufwärmphase noch läuft
        */
  case nStatus == XBPPRN_STATUS_NA
        cTxt:= "Der Drucker ist nicht verfgbar"
        /* weil:
           - das XbpPrinter Objekt den Drucker nicht
             innerhalb ":create()" erreichen konnte
           - das Druckerobjekt des Betriebssystems
             gerade gelöscht wird
        */
  case nStatus == XBPPRN_STATUS_ERROR
        cTxt:= "Der Drucker meldet einen Fehler"
        /* wenn z.B.:
           - der Speicherplatz nicht ausreicht
           - eine Seite nicht gedruckt werden kann
        */
  case nStatus == XBPPRN_STATUS_OFFLINE
        cTxt:= "Der Drucker befindet sich im Offline Status"
  endcase
return( cTxt )
//eof
Danke allen und lg
CRT
Zeiterfassung . Zutrittskontrolle
www.CRT-software.com
:wav:
Antworten