WinEcrCom

Moderator: Enrico Maria Giordano

WinEcrCom

Postby Silvio.Falconi » Mon Sep 19, 2022 7:31 am

Volevo sapere se è possibile come usare questa DLL dal un prg Fwh io ho un pseudo scontrino creato da un xbrowse

la cassa è collegato con il cavo RS232 ma volevo sapere come fare se quando sarà collegata con il cavo LAN

mi hanno spiegato di creare un file denominato scontrino.txt
perchè il software andrebbe a ricercare questo file se esiste nella cartella e crea lo scontrino
nel file scontrino.txt come deve essere creato ?

Esempio di scontrino
Code: Select all  Expand view
; Esempio di scontrino di vendita inviato ad ECR mediante WINECRCOM
; -----------------------------------------------------------------
CHIAVE REG ;conferma che la cassa si trovi in assetto REGistrazione

VEND REP=1,PREZZO=0.20 ;vendita semplice a reparto 1
VEND REP=2,QTY=6,PREZZO=0.25 ;vendita su reparto con quantita' non unitaria
VEND REP=3,PRE=0.30,DES='
CANCELLERIA' ;vendita su reparto con descrizione

PERCA ALI=50, SUBTOT ;Sconto del 50% sul subtotale

CHIUS T=1 ;Chiusura in contanti

;fine file scontrino


ma io in fwh come faccio a fare questo file e poi ho gli articoli e i prezzi in un'altro modo

ho trovato un esempio in VB6
Code: Select all  Expand view
Private Sub ditron()

Dim Ris As Long
Dim comando As String, Result As String

If SysCmd(acSysCmdRuntime) Then On Error GoTo ditron_Error

comando = "PORT = 1"

Ris = CoEcrCom1.Open(comando)

If Ris = 0 Then

CoEcrCom1.EventMask = 32 + 64 + 128

CoEcrCom1.OutEditOptions = 0

CoEcrCom1.EnableTradDC = False

CoEcrCom1.OperatingMode = 0

comando = "SETP CURDIR='" & gRamDrv & "' "

Ris = CoEcrCom1.EcrCmd(comando, Result)

Ris = 1
While Ris <> 0

comando = "@ scontr.ecr, ERRORI.TXT" ' richiama il file di testo creato prima . Se ci sono errori li trovi nel file ERRORI.TXT

Ris = CoEcrCom1.EcrCmd(comando, Result)

If Ris Then

If MsgBox("errore cassa: " & Ris & ". Continuo", vbCritical + vbYesNo, gProgramma) = vbNo Then Ris = 0

End If

Wend

Ris = CoEcrCom1.Close()

End If

exit_here:

On Error GoTo 0
Exit Sub
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 6768
Joined: Thu Oct 18, 2012 7:17 pm

Re: WinEcrCom

Postby solving » Wed Sep 21, 2022 2:19 pm

Ciao, Esempio di quello che uso

Code: Select all  Expand view
* ------------------------------------------------------- GSCONTR
STATIC FUNCTION GScontr( )
LOCAL cExec :=  "STASCO.BAT",;
            fTmp :=  "INPUT.TXT"

LOCAL cRiga := ""

LOCAL cA, cP := "", cQ,  cR,  nP

LOCAL cRep := ""

LOCAL  cCP := "1"   // Default Contanti

* --- Determina Tipo Pagamento
*  Contanti
 cCP := "1"

*  Pos / Bancomat
 cCP := "3"

* --- Inizio Creazione Testo per Scontrino Fiscale
cRiga := "CLEAR" + CHR(13) + CHR(10)
cRiga += "CHIAVE REG" + CHR(13) + CHR(10)

* --- File o Vettore/Array con I Dati Che Interessano
* In Questo Caso File XAPP_03
*
XAPP_03->( DBGOTOP() )
DO WHILE !XAPP_03->( EOF() )

   IF XAPP_03->DOC_QTA > 0      // Se Quantita' > 0

         nIva := ALLTRIM( STR(XAPP_03->IVA_PERC) )  // Trasformo Iva in Stringa

         * --- Punta su Articolo
         * WinEcr Limita La Descrizione a 20 Caratteri, se Supporta si più Aumentare il 20
         *
         * ----- Descrizione
         cA := UPPER(LEFT(ALLTRIM(XAPP_03->ART_DESC),20) )

         * Tolgo Caratteri Strani
         cA := STRTRAN( cA, ['], SPACE(1) )
         cA := STRTRAN( cA, ["], SPACE(1) )
         cA := STRTRAN( cA, [,], SPACE(1) )
         cA := STRTRAN( cA, ".", SPACE(1) )
         cA := STRTRAN( cA, "ø", SPACE(1) )
         cA := STRTRAN( cA, "!", SPACE(1) )
         cA := STRTRAN( cA, "*", SPACE(1) )
         cA := STRTRAN( cA, "+", SPACE(1) )
         cA := STRTRAN( cA, "-", SPACE(1) )
         cA := STRTRAN( cA, "/", SPACE(1) )
         cA := STRTRAN( cA, "\", SPACE(1) )
         cA := STRTRAN( cA, "|", SPACE(1) )
         cA := STRTRAN( cA, "&", SPACE(1) )
         cA := STRTRAN( cA, "%", SPACE(1) )
         cA := STRTRAN( cA, "…", "A" )
         cA := STRTRAN( cA, "Š", "E" )
         cA := STRTRAN( cA, "‚", "E" )
         cA := STRTRAN( cA, "", "I" )
         cA := STRTRAN( cA, "•", "O" )
         cA := STRTRAN( cA, "—", "U" )

         * ----- Reparto
         cRep := ALLTRIM( XAPP_03->PLU )

         * ----- Prezzo Vendita
         nP  := XAPP_03->PRE_VEN
   
         IF nP <> 0     // se Prezzo > 0
             nP := ROUND(nP, 2)

            * --- Serve il . nel Prezzo come Separatore Decimali - Trasformo in Stringa
             cP := ALLTRIM( STR(nP) )

             * ----- Quantita'

             cQ := ALLTRIM(TRANSFORM(XAPP_03->DOC_QTA,"9999.99"))
             cQ := STRTRAN( cQ, ",", "." )

              * Reparto Obbligatorio se Non Previsto nel File/Vettore Metto 1
              IF EMPTY( cRep )
                   cR := "1"
               ELSE
                   cR := PADR( LEFT(cRep,1) ,1, "")     // Allineato se Superiore ad 1 Carattere
               ENDIF
     
               * Costrizione Riga Scontrino

               cRiga += "VEND REP=" + cR + "," +;
                                "QTY="      + cQ + "," +;
                                "PRE="      + cP + "," +;
                                "DES="      + CHR(39) + cA + CHR(39) +;
                                CHR(13) + CHR(10)


        ENDIF
   ENDIF
   XAPP_03->( DBSKIP() )
ENDDO

* --- a Questo Punto la Stringa cRiga Contiene La Parte Iniziale  Tante Righe Quante Sono gli Articoli

 * --- SubTotale
 cRiga += "SUBTOT" + CHR(13) + CHR(10)
 cRiga += "CHIUS T=" + cCP

* --- Genera File Esterno ASCII

FERASE( fTmp )

* --- Adatta con le funzioni di Harbour
dfFCreate( fTmp )
dfFAppend( cRiga )

dfFClose()

* ----- Esegue Programma Esterno
IF FILE( cExec )
   dfSwap(cExec)        // Adatta con il tuo comando di essecuzione
ELSE
   dbMsgW("Batch " + cExec + " Non Esiste")
ENDIF

RETURN NIL
 


----------------------------------------- CONTENUTO FILE ESTERNO STASCO.BAT

COPY INPUT.TXT C:\directory_monitorata_da_WinEcr\SCONTRINO.TXT

il File Scontrino.txt puoi chiamarlo come vuoi , basta che nella configurazione
di WinEcr specifichi il nome.txt
lo Stesso vale per la directory dove leggere il file .txt
Vedi il Programma WinConfig o qualcosa di simile ( dove metterai i settaggi se Usare Seriale o Lan )
solving
 
Posts: 65
Joined: Fri Jun 05, 2009 7:55 am
Location: Sicily ( ct ) - Italy

Re: WinEcrCom

Postby solving » Wed Sep 21, 2022 2:22 pm

ops....

La variabile nIva in questo contesto non serve , serviva per altri reg. cassa
solving
 
Posts: 65
Joined: Fri Jun 05, 2009 7:55 am
Location: Sicily ( ct ) - Italy


Return to All products support

Who is online

Users browsing this forum: No registered users and 12 guests