como colocar o nome aplicaivo comercial mp-4000 th fi

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

paulomuniz
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jan 2012 13:58
Localização: macapa/ap

impressora fiscal mp-4000 th fi

Mensagem por paulomuniz »

alguem pode me ajudar, preciso colocar a identicacao do aplicativo no rodape do cupom fiscal na bematech mp-4000 th fi
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

impressora fiscal mp-4000 th fi

Mensagem por Kapiaba »

Bom dia, você usa a DLL? Não seria:

Código: Selecionar todos

Bematech_FI_TerminaFechamentoCupomCV0909 - Esta função encerra o cupom fiscal imprimindo a mensagem promocional na impressora fiscal.
http://partners.bematech.com.br/bemacas ... dPost=6159

Já ligou no suporte?
paulomuniz
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jan 2012 13:58
Localização: macapa/ap

impressora fiscal mp-4000 th fi

Mensagem por paulomuniz »

Bom dia amigo.

o meu problema e que estou usando os comandos no clipper, o cupom ja esta fechado, so me falta colocar apos de utilizar as oito linhas da mensagem promocional isto.

----------------------------------------------------------------------------------
Aplicativo: nome do programa Versao: x.x.xx

ateno cupom nao fiscal depois do;
----------Nao e documento fiscal--------------
----------------------------------------------------------------------------------
Aplicativo: nome do programa Versao: x.x.xx

vc me entendeu.. me diz como que isso isso.....
paulomuniz
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jan 2012 13:58
Localização: macapa/ap

como colocar o nome aplicaivo comercial mp-4000 th fi

Mensagem por paulomuniz »

gente por deus sera que nao existe, um programador que me ajude a colocar a mensagem "Aplicativo: xxxxx" apos o fechamento do cupom na bematech termica mp-4000 th fi, eu nao acredito nisso, pois ja me tou desistindo, so q meu cliente q por qr essa informacao, e moleza... :? :? :?
Editado pela última vez por Toledo em 26 Out 2015 16:34, em um total de 1 vez.
Razão: Esta mensagem estava em um outro tópico que tratava do mesmo assunto. Evite dividir em vários tópicos mensagens que trate do mesmo assunto.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

impressora fiscal mp-4000 th fi

Mensagem por Kapiaba »

Opa, desculpe, É NÃO FISCAL...

Simples, crie um BD com a mensagem, crie um WHILE.. ENDDO e gire a mensagem no rodape do cupom.

// Veja onde está escrito: ARQUIVO DE MENSAGENS

Código: Selecionar todos

/*
* MODULE TICKT.PRG
*/
FUNCTION TICKT()

LOCAL DIN_CHEQ
LOCAL QDE_ETIQ
LOCAL SIM

FIELD END
FIELD LOCALIZA
FIELD QUADRANTE
FIELD ESP_MASSA
FIELD MATRICULA
FIELD MESANO
FIELD CODIGO
FIELD TELEFONE
FIELD NUM_TICKET
FIELD NOME_CLI
FIELD DESCRICAO
FIELD DESCRICAO2
FIELD QTD_VENDEU
FIELD VALOR
FIELD DINCHEQ
FIELD PORCENTO
FIELD CREDIT
FIELD DEBIT
FIELD TRO_CLI
FIELD MESSAGE

LOCAL BEEP
LOCAL TOT_DESC
LOCAL TOT_PROV
LOCAL TOT_D_NOTA
LOCAL TOT_A_PAGAR
LOCAL IMP_LIN
LOCAL LINHA
LOCAL CONTA
LOCAL N_TICKET
LOCAL TOT_COMPRA
LOCAL DC

LOCAL FPP_VALOR
LOCAL PORC_APLIC
LOCAL DESC_NOTA
LOCAL TOTAPAGAR
LOCAL TOTADESC
LOCAL DESCSIM
LOCAL X

MEMVAR GETLIST
MEMVAR LCOD
MEMVAR LCOD2
MEMVAR LCOD3

SET KEY -1
SET KEY -2
SET KEY -3
SET KEY -4
SET KEY -5

CLEAR TYPEAHEAD

@ 19,69 SAY MEMORY(0)

LCOD3:=LCOD3

DO WHILE INKEY() # 27

    SET PROCEDURE TO EDITOR
    SET KEY -5 TO EDITOR          && F6

    SET PROCEDURE TO TROCO
    SET KEY -6 TO TROCO           && F7

    SET DEVICE TO SCREEN
    RODAPE2()
    QDE_ETIQ:=1

    FOR BEEP = 1 TO 2
    TONE(1100,3)    && SINAL SONORO DE ADVERTENCIA
    NEXT

    SET COLOR TO W+/B+
    @ 22,21 SAY " F6 - Mensagens no Rodap‚ "
    @ 22,48 SAY " F7 - Troco "
    SET COLOR TO

    SET CURSOR OFF
    SET COLOR TO W+/R+*
    @ 23,28 SAY "ESPERA: FUN€ŽO OU <ENTER>"
    WAIT ""
    SET COLOR TO

    IF (LASTKEY() == 27)
        FOR BEEP = 1 TO 4
        TONE(1100,3)    && SINAL SONORO DE ADVERTENCIA
        NEXT
        SET COLOR TO W+/R+*
        @ 16,10 SAY "ATEN€ŽO: USE TECLA DE FUN€ŽO OU <ENTER>"
        WAIT ""
        SET COLOR TO
        IF (LASTKEY() == 27)
            FOR BEEP = 1 TO 5
            TONE(1100,3)    && SINAL SONORO DE ADVERTENCIA
            NEXT
            SET COLOR TO W+/R+*
            @ 16,10 SAY "ATEN€ŽO: USE TECLA DE FUN€ŽO OU <ENTER>"
            WAIT ""
            SET COLOR TO
        ENDIF
    ENDIF

    RODAPE2()
    EXIT

ENDDO

DO WHILE INKEY() # 27

    SET KEY -5
    SET KEY -6

    SET CURSOR ON
    SET ESCAPE OFF
    @ 12,02 CLEAR TO 19,78
    FOR BEEP = 1 TO 2
    TONE(1100,3)    && SINAL SONORO DE ADVERTENCIA
    NEXT
    DIN_CHEQ:=" "
    SET COLOR TO W+/R
    @ 13,14 SAY "[D]INHEIRO/[C]HEQUE/[T]ICKT:" +CHR(26) GET DIN_CHEQ PICT "@!A";
            VALID ((DIN_CHEQ)) $ [C,D,T," "].OR.LASTKEY()=5
    SET COLOR TO
    READ

    IF (LASTKEY() == 27)
        LOOP
    ENDIF

    IF ( LASTKEY() # 27 )

        SELECT 4   // CHAMA BANCO DE DADOS PROVIS=PROVISORIO
        DBGOTOP()
        SEEK STRZERO(VAL(LCOD3),5,0)

        IF (UPPER(DIN_CHEQ)) = " "
            REPLACE ALL DINCHEQ WITH "N"  && REPASSA DINHEIRO OU CHEQUE
            COMMIT
         ELSE
            REPLACE ALL DINCHEQ WITH DIN_CHEQ  && REPASSA DINHEIRO OU CHEQUE OU TICKT
            COMMIT
        ENDIF

    ENDIF

    @ 19,69 SAY MEMORY(0)
    SET CURSOR ON
    SET ESCAPE OFF
    @ 16,09 SAY "                                         "
    SIM:=[S]
    BEEP()
    SET COLOR TO W+/R+*
    @ 23,27 SAY "POSSO COME€AR A IMPRIMIR ? " GET SIM PICT "@!A" VALID (UPPER(SIM)) $ [SN]
    SET COLOR TO
    READ

    IF (LASTKEY() == 27)
        SET CURSOR ON
        LOOP
     ENDIF
    
    IF (UPPER(SIM)) # "S"
        SET PRINTER OFF
        SET DEVICE TO SCREEN
        SET CURSOR ON
        SET ESCAPE ON

        DBCLOSEALL()

        USE FP_PROV INDEX FP_PROV ALIAS PIZZAS
        APPEND FROM PROVIS
        DBCLOSEALL()

        USE ORDEM2 INDEX ORDEM2 ALIAS AORDEM2
        APPEND FROM PROVIS
        DBCLOSEALL()

        RODAPE2()

        RELEASE ALL
        RETURN NIL

    ENDIF
    
    EXTERNAL ISPRINTER
    IF ISPRINTER()
        RODAPE2()
        SET COLOR TO W+/R+*
        @ 23,27 SAY "AGUARDE, ESTOU IMPRIMINDO !!!"
        SET COLOR TO
        EXIT
     ELSE
        BEEP()
        SET COLOR TO W+/R+*
        @ 16,25 SAY "SUA IMPRESSORA NŽO ESTA ATIVA!"
        SET COLOR TO
        SET COLOR TO W+/R+*
        @ 17,25 SAY "VERIFIQUE E PRESSIONE ALGO!!! "
        SET COLOR TO
        INKEY(0)
        @ 16,25 SAY "                              "
        @ 17,25 SAY "                              "
        LOOP
    ENDIF
    
ENDDO

LCOD :=LCOD
LCOD2:=LCOD

TOT_DESC:=0.00
TOT_PROV:=0.00
TOT_D_NOTA:=0.00
TOT_A_PAGAR:=0.00

IMP_LIN:=0.00
LINHA:=PROW()

SELECT 4   // CHAMA BANCO DE DADOS PROVIS=PROVISORIO
DBGOTOP()

DO WHILE INKEY() # 27 .AND. !EOF()

    IF !EOF()

        FOR CONTA=1 TO QDE_ETIQ
        
        SET DEVICE TO PRINTER
        SET PRINTER ON

        @ LINHA,00 SAY ""+CHR(14)+CHR(15)
        @ LINHA,03 SAY "PIZZARIA VIA APPIA"
        LINHA:=LINHA+1
        @ LINHA,00 SAY ""+CHR(15)
        @ LINHA,03 SAY REPLICATE("-",50)
        LINHA:=LINHA+1
        @ LINHA,03 SAY "DATA..: " + MESANO
        @ LINHA,29 SAY "HORA DO PEDIDO: " + TIME()
        LINHA:=LINHA+1
        @ LINHA,03 SAY "FONE..: " + TELEFONE
        SELECT 9  // CHAMA O NTICKET
        @ LINHA,29 SAY "CONTROLE N§: "
        @ LINHA,41 SAY NUM_TICKET
        LINHA:=LINHA+2
        SELECT 4 && ARQUIVO PROVISORIO
        @ LINHA,03 SAY "CLI: " +MATRICULA+"-"+"  "+NOME_CLI
        LINHA:=LINHA+1
        @ LINHA,03 SAY "ENDEREC,O: " +END
        LINHA:=LINHA+1
        @LINHA,03 SAY "PAG: "+LOCALIZA+"- "+"QUAD: "+QUADRANTE
        LINHA:=LINHA+1
        @ LINHA,03 SAY REPLICATE("-",50)
        LINHA:=LINHA+1
        @ LINHA,03 SAY "CO'D.:    QTDE:      DESCRIC,A~O       ESP:    TOTAL:"
        LINHA:=LINHA+1
        @ LINHA,03 SAY REPLICATE("-",50)
        LINHA:=LINHA+1

        TOT_DESC:=0.00
        TOT_PROV:=0.00
        TOT_D_NOTA:=0.00
        TOT_A_PAGAR:=0.00

        DO WHILE INKEY()#27 .AND. !EOF()

            IF EOF()
                EXIT
            ENDIF

            @ LINHA,03 SAY CODIGO

            @ LINHA,03 SAY (ROUND(QTD_VENDEU,2))
            @ LINHA,18 SAY DESCRICAO+" "+ESP_MASSA

            IF (UPPER(DESCRICAO2)) # " "
               LINHA:=LINHA+1
               @ LINHA,18 SAY (LTRIM(DESCRICAO2))
            ENDIF

            TOT_COMPRA:=(ROUND(VALOR,2))*(ROUND(QTD_VENDEU,2))

            @ LINHA,40 SAY TOT_COMPRA PICT "@E 99,999,999.99"

            IMP_LIN:=(ROUND(IMP_LIN,2))+(ROUND(QTD_VENDEU,2))

            LINHA:=LINHA+1

            IF (ROUND(IMP_LIN,2)) >=1.00
                 @ LINHA,03 SAY REPLICATE("-",50)
                 LINHA:=LINHA+1
                 IMP_LIN:=0.00
            ENDIF

            IF SUBS(CODIGO,1,1)="P"

                DC:=DINCHEQ && DINHEIRO OU CHEQUES
                FPP_VALOR:=(ROUND(VALOR,2))
                PORC_APLIC:=(ROUND(PORCENTO,2))/100 && PORCENTAGEM A APLICAR SOBRE O PRODUTO OU DESCONTO
                TOT_PROV   := (ROUND(TOT_PROV,2))+(ROUND(VALOR,2))*;
                             (ROUND(QTD_VENDEU,2))

                IF (ROUND(PORC_APLIC,2)) # 0.00
                    DESC_NOTA  := (ROUND(FPP_VALOR,2))*(ROUND(QTD_VENDEU,2))*;
                                 (ROUND(PORC_APLIC,2))
                    TOT_D_NOTA := (ROUND(TOT_D_NOTA,2))+(ROUND(DESC_NOTA,2))
                ENDIF

                TOTAPAGAR  := (ROUND(TOT_PROV,2))
                TOTADESC   := (ROUND(TOT_D_NOTA,2))
                TOT_A_PAGAR:=(ROUND(TOTAPAGAR,2)) - (ROUND(TOTADESC,2))
            ENDIF

            IF SUBS(CODIGO,1,1)="D"
                TOT_DESC  := (ROUND(TOT_DESC,2))+(ROUND(VALOR,2))
            ENDIF

            DBSKIP()

        ENDDO

        IF (ROUND(TOT_D_NOTA,2)) # 0.00
            DESCSIM:="S"
           ELSE
            DESCSIM:="N"
        ENDIF

        LINHA:=LINHA+1
        @ LINHA,03 SAY "TOTAL...: "
        @ LINHA,39 SAY (ROUND(TOT_PROV,2)) PICT "@E 999,999,999.99"
        LINHA:=LINHA+1

        IF (UPPER(DESCSIM)) = "S"
            @ LINHA,03 SAY "DESCONTO: "
            @ LINHA,39 SAY (ROUND(TOT_D_NOTA,2)) PICT "@E 999,999,999.99"
            LINHA:=LINHA+1
        ENDIF

        IF (UPPER(DESCSIM)) = "S"
            @ LINHA,03 SAY "A PAGAR.: "
            @ LINHA,39 SAY (ROUND(TOT_A_PAGAR,2)) PICT "@E 999,999,999.99"
            LINHA:=LINHA+1
        ENDIF

       IF (UPPER(DESCSIM)) = "N"
            @ LINHA,03 SAY "A PAGAR.: "
            @ LINHA,39 SAY (ROUND(TOT_PROV,2)) PICT "@E 999,999,999.99"
            LINHA:=LINHA+1
        ENDIF

        IF SUBS(DC,1,1) = "C"
            @ LINHA,03 SAY "PAGO EM CHEQUE "
            LINHA:=LINHA+1
        ENDIF

        IF SUBS(DC,1,1) = "D"
            SELECT 7  // ARQUIVO DE TROCO
            @ LINHA,03 SAY "PAGO EM DINHEIRO: "
            IF (ROUND(CREDIT,2)) # 0.00
                @ LINHA,22 SAY CREDIT   PICT "@E 9,999,999.99"
             ELSE
                @ LINHA,22 SAY (ROUND(TOT_PROV,2)) PICT "@E 9,999,999.99"
            ENDIF
            LINHA:=LINHA+1
            @ LINHA,03 SAY "VALOR DO DE'BITO=> "
            IF (ROUND(CREDIT,2)) # 0.00
                @ LINHA,22 SAY DEBIT    PICT "@E 9,999,999.99"
             ELSE
                @ LINHA,22 SAY (ROUND(TOT_PROV,2)) PICT "@E 9,999,999.99"
            ENDIF
            LINHA:=LINHA+1
            @ LINHA,00 SAY ""+CHR(14)+CHR(15)
            @ LINHA,03 SAY "TROCO:"
            @ LINHA,00 SAY ""+CHR(15)
            @ LINHA,06 SAY TRO_CLI PICT "@E 9,999,999.99"
            LINHA:=LINHA+1

            IF !EOF()
                ZAP
            ENDIF
        ENDIF

        IF SUBS(DC,1,1) = "T"
            @ LINHA,03 SAY "PAGO COM TICKET(S)"
            LINHA:=LINHA+1
        ENDIF

        NEXT

    ENDIF

    LINHA:=LINHA+1
    @ LINHA,03 SAY REPLICATE("-",50)
    LINHA:=LINHA+1

    SELECT 8  // ARQUIVO DE MENSAGENS
    DBGOTOP()

    DO WHILE !EOF()
        IF EOF()
            EXIT
        ENDIF

        IF !EOF()
            @ LINHA,08 SAY MESSAGE
            @ LINHA,08 SAY MESSAGE
            @ LINHA,08 SAY MESSAGE
            LINHA:=LINHA+1
        ENDIF
        DBSKIP()
    ENDDO

    SELECT 8  // ARQUIVO DE MENSAGENS
    ZAP

    @ LINHA,03 SAY REPLICATE("-",50)

    FOR X=1 TO 11
        LINHA:=LINHA+1
        @ LINHA,00 SAY " "
    NEXT

    SET PRINTER OFF
    SET DEVICE TO SCREEN

    SELECT 9 && ARQUIVO NTICKET
    N_TICKET:=NUM_TICKET
    N_TICKET:=N_TICKET+1
    REPLACE NUM_TICKET WITH N_TICKET

    DBCLOSEALL()

    USE FP_PROV INDEX FP_PROV ALIAS APIZZAS
    APPEND FROM PROVIS
    DBCLOSEALL()

    USE ORDEM2 INDEX ORDEM2 ALIAS AORDEM2
    APPEND FROM PROVIS
    DBCLOSEALL()

    RODAPE2()

    EXIT

ENDDO

RELEASE ALL
SET CURSOR ON
SET ESCAPE ON
RETURN NIL
// END OF PROGRAM
Infelizmente, não uso mais CLIPPER a long long time ago. Foi o único exemplo que achei em meu HD.

abs
Responder