Seite 1 von 1

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

Verfasst: Mi, 24. Mai 2017 11:52
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

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

Verfasst: Mi, 24. Mai 2017 11:57
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

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

Verfasst: Mi, 24. Mai 2017 12:01
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

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

Verfasst: Mi, 24. Mai 2017 12:14
von CRT
Danke für die Tipps. Ich werde das mal ausprobieren. Möchte die Lade per Hotkey öffnen.

lg

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

Verfasst: Mi, 24. Mai 2017 13:46
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

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

Verfasst: Mi, 24. Mai 2017 15:46
von CRT
Das ist interessant. Hab noch nie davon gehört. Geht wahrscheinlich aber nur mit Zebra?

Gruß
CRT

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

Verfasst: Fr, 26. Mai 2017 9:16
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

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

Verfasst: Mo, 29. Mai 2017 16:26
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