- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Impressão de dados adicionais no cupom fiscal
×
Linguagem de Programação ADVPL
Perguntas Impressão de dados adicionais no cupom fiscal
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 3 meses atrás #16094
por RonaldoLopes
Impressão de dados adicionais no cupom fiscal foi criado por RonaldoLopes
Boa tarde, estou precisando imprimir algumas informações a mais no cupom fiscal, como posso fazer isso?
Obrigado.
Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- kaciorrm
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 55
- Obrigados Recebidos: 1
11 anos 3 meses atrás #16123
por kaciorrm
Respondido por kaciorrm no tópico Impressão de dados adicionais no cupom fiscal
Bom dia,
Tem o parametro MV_LJFISMS = &(Execblock("IMPMSGCUP",.F.,.F.))
Onde você executa um fonte com e envia as informações a serem impressas.
ex:
_cMsgCup := +Chr(10)+"Cod.Vendedor : "+_cCodVend+Chr(10)+;
"Cliente : "+_cCodCli +" - " + _cNomeCons
....
Return(_cMsgCup)
Tem o parametro MV_LJFISMS = &(Execblock("IMPMSGCUP",.F.,.F.))
Onde você executa um fonte com e envia as informações a serem impressas.
ex:
_cMsgCup := +Chr(10)+"Cod.Vendedor : "+_cCodVend+Chr(10)+;
"Cliente : "+_cCodCli +" - " + _cNomeCons
....
Return(_cMsgCup)
Por favor Acessar ou Registrar para participar da conversa.
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 3 meses atrás #16128
por RonaldoLopes
Respondido por RonaldoLopes no tópico Impressão de dados adicionais no cupom fiscal
Opa, boa tarde, cheguei a utilizar ele porém tem limite de 400 caracteres e preciso de muito mais do que isso, por isso pensei em utilizar algo similar ao relatorio gerencial, mas não estou conseguindo.
vlw
vlw
Por favor Acessar ou Registrar para participar da conversa.
- kaciorrm
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 55
- Obrigados Recebidos: 1
11 anos 3 meses atrás - 11 anos 3 meses atrás #16132
por kaciorrm
Respondido por kaciorrm no tópico Impressão de dados adicionais no cupom fiscal
Você pode após o cupom gerar um cupom não fisca, aqui utilizamos para gerar as parcelas da venda... dai o cliente assina.
PE: LJ7002
Importante lembrar que se gerar um cumpom na fiscal não sera possível excutir o cupom
Segue Trecho do codigo..
PE: LJ7002
Importante lembrar que se gerar um cumpom na fiscal não sera possível excutir o cupom
Segue Trecho do codigo..
If MsgYesNo("Deseja imprimir parcelas ?")
nRet := IFAbrCNFis( nHdlECF, Tabela("24",Alltrim(_cFormaPgto),.F.), Str(SL1->L1_VLRTOT,14,2), "30" ) //nRet := IFAbrCNFis( nHdlECF, Tabela("24",Alltrim(SL1->L1_FORMPG),.F.), Str(SL1->L1_VLRTOT,14,2), "30" )
_lEntrada := ("00" $ SE4->E4_COND .and. alltrim(SE4->E4_CODIGO)<>"CN") .or. (alltrim(SE4->E4_CODIGO)=="CN" .and. SL1->L1_ENTRADA > 0 )
/*Dbselectarea("SL2")
Dbsetorder(1)
Dbseek(xFilial()+Alltrim(M->LQ_NUM))
Do While SL2->(!EOF()) .and. Alltrim(SL2->L2_NUM) == Alltrim(M->LQ_NUM)
_TxtNFisc += StrZero(Val(SL2->L2_ITEM),3,0) +" "+Alltrim(SL2->L2_PRODUTO)+" "+Alltrim(SL2->L2_DESCRI) + _LF
_TxtNFisc += Transform(SL2->L2_QUANT, "@E 999,999.99") +" X "+Left(AllTrim(Transform(SL2->L2_VRUNIT, "@E 999,999.999"))+Space(12),12)
If SL2->L2_VALDESC > 0
_TxtNFisc += "desconto "+ Transform(SL2->L2_VALDESC *(-1), "@E 999,999.99")+ _LF
_TxtNFisc += Space(25)+STR(SL2->L2_VLRITEM) + _LF
Else
_TxtNFisc += "17"+IIF(Left("17",1)="T","%","")+Transform(SL2->L2_VLRITEM, "@E 999,999,999.99") + _LF
Endif
SL2->(DbSkip())
EndDo
_cTexto := "" */
_cSep := Replicate("-", 48)
_nNumParc := SL1->L1_PARCELA // - iif(_lEntrada, 1, 0)
/*
_cTexto += _LF
_cTexto += _LF
_cTexto += _LF + "--------------- r e c o r t a r ----------------" + _LF
_cTexto += _LF
If SM0->M0_CODIGO = "01"
_cTexto += _EXPN + " XXXXXXXXXXXXXXXXX" + _LF
_cTexto += " AV. XXXXXXXXXXXXXXXXXXXXXXXXXXXX" + _LF
_cTexto += " XXXXXXXXXXXXXXXXXXXXXXXXXXX" + _LF
_cTexto += _LF
_cTexto += "CNPJ:XX.XX.XXX/000X-XX" + _LF
_cTexto += "IE:XXX/XXX UF:RS" + _LF
_cTexto += "------------------------------------------------" + _LF
Else
_cTexto += _EXPN + "XXXXXXXXXXXXXXXXXXXXXX" + _LF
_cTexto += " xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + _LF
_cTexto += " xXXXXXXXXXXXXXXXXXXXXXXX" + _LF
_cTexto += _LF
_cTexto += "CNPJ:xXXXXXXXXXXXXXX" + _LF
_cTexto += "IE:XXXXXXXXXXXXX UF:RS" + _LF
_cTexto += "------------------------------------------------" + _LF
Endif
_cTexto += _LF
_cTexto += "ITEM CÓDIGO DESCRIÇÃO" + _LF
_cTexto += "QTD.UN. VL UNITARIO( R$) ST VL ITEM( R$)" + _LF
_cTexto += "------------------------------------------------" + _LF
_cTexto += _TxtNFisc
_cTexto += " ----------------------" + _LF
_cTexto += "SubTotal "+ Transform(SL1->L1_VALMERC, "@E 999,999,999.99") + _LF
_cTexto += "Acréscimo "+ Transform(_nAcrescimo, "@E 999,999,999.99") + _LF
_cTexto += "Desconto "+ Transform(SL1->L1_DESCONT, "@E 999,999,999.99") + _LF
_cTexto += "TOTAL "+ Transform(SL1->L1_VLRTOT, "@E 999,999,999.99") + _LF
_cTexto += "------------------------------------------------" + _LF
_cTexto += _EXPN + " " + SL1->L1_DUPL + _LF // CI */
_cTexto := _LF // _cTexto += _LF
_cTexto += "Orcamento : " + SL1->L1_NUM + " Vendedor : " + SL1->L1_VEND + _LF
_cTexto += "Cod.Cliente: " + Alltrim(SL1->L1_CLIENTE) + _LF
_cTexto += "Cliente : " + posicione("SA1",1,xfilial("SA1")+Alltrim(SL1->L1_CLIENTE)+Alltrim(SA1->A1_LOJA),"A1_NOME") + _LF
If !empty(SA1->A1_END)
_cTexto += "Endereco : " + alltrim(SA1->A1_END) + _LF
_cTexto += "Cidade : " + alltrim(SA1->A1_MUN) + " - " + SA1->A1_EST + " - " + transform(SA1->A1_CEP, "@r 99999-999") + _LF
_cTexto += "CNPJ / CPF : " + IIF(SA1->A1_PESSOA == "J", Transform(SA1->A1_CGC, "@R 99.999.999/9999-99"), Transform(SA1->A1_CGC, "@R 999.999.999-99")) + _LF
Endif
_cTexto += _LF + "Venda : " + Transform(SL1->L1_VLRTOT, "@e 9,999,999.99") + _LF
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Alterado p/ imprimir o acrescimo quando for CN Negociada ³
//³Implementacao: 13/10/04 - Eleandro ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If alltrim(SL1->L1_CONDPG)=="CN"
If _nAcrescimo > 0
_cTexto += "Acrescimo : " + transform(_nAcrescimo , "@e 9,999,999.99") + _LF
Endif
Endif
_cTexto += "Plano : " + alltrim(SE4->E4_DESCRI) + _LF
_cTexto += "Parcelas : " + str(_nNumParc, 2) + _LF
If _lEntrada
_cTexto += "Entrada : " + transform(apgtos[1][2] , "@e 9,999,999.99")+ _LF //transform(aReceb[1][2], "@e 9,999,999.99") + _LF
Endif
For _ix := 1 to _nNumParc
_cTexto += _LF
_cTexto += _LF
_cTexto += _cSep + _LF
_cTexto += _EXPN + "Parcela " + str(_ix, 2) + _LF
_cTexto += "Vencimento : " + DtoC(apgtos[_ix][1])+ _LF
_cTexto += "Valor : " + transform(apgtos[_ix][2], "@e 9,999,999.99") + _LF
_cTexto += _LF
_cTexto += _cSep + _LF
Next
_ix := 1
_cTexto += _LF
_cSep := Replicate("-", 48)
_nNumParc := SL1->L1_PARCELA - iif(_lEntrada, 1, 0)
/////////////////////////////
// SEGUNDA VIA //
////////////////////////////
_cTexto += "------------------------------------------------" + _LF
_cTexto += _EXPN + " " + SL1->L1_DUPL + _LF // CI
_cTexto += _LF
_cTexto += "Orcamento : " + SL1->L1_NUM + " Vendedor : " + Alltrim(Posicione("SA3",1,xFilial("SA3")+SF2->F2_VEND1,"SA3->A3_NREDUZ"))+" ("+Alltrim(SF2->F2_VEND1)+")" + _LF
_cTexto += "Cod.Cliente: " + Alltrim(SL1->L1_CLIENTE) + _LF
_cTexto += "Cliente : " + posicione("SA1",1,xfilial("SA1")+Alltrim(SL1->L1_CLIENTE)+Alltrim(SA1->A1_LOJA),"A1_NOME") + _LF
If !empty(SA1->A1_END)
_cTexto += "Endereco : " + alltrim(SA1->A1_END) + _LF
_cTexto += "Cidade : " + alltrim(SA1->A1_MUN) + " - " + SA1->A1_EST + " - " + transform(SA1->A1_CEP, "@r 99999-999") + _LF
_cTexto += "CNPJ / CPF : " + IIF(SA1->A1_PESSOA == "J", Transform(SA1->A1_CGC, "@R 99.999.999/9999-99"), Transform(SA1->A1_CGC, "@R 999.999.999-99")) + _LF
Endif
_cTexto += _LF + "Venda : " + Transform(SL1->L1_VLRTOT, "@e 9,999,999.99") + _LF
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Alterado p/ imprimir o acrescimo quando for CN Negociada ³
//³Implementacao: 13/10/04 - Eleandro ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If alltrim(SL1->L1_CONDPG)=="CN"
If _nAcrescimo > 0
_cTexto += "Acrescimo : " + transform(_nAcrescimo , "@e 9,999,999.99") + _LF
Endif
Endif
_cTexto += "Plano : " + alltrim(SE4->E4_DESCRI) + _LF
_cTexto += "Parcelas : " + str(_nNumParc, 2) + _LF
If _lEntrada
_cTexto += "Entrada : " + transform(apgtos[1][2] , "@e 9,999,999.99")+ _LF //transform(aReceb[1][2], "@e 9,999,999.99") + _LF
Endif
_cTexto += _LF
_cSep := Replicate("-", 48)
_nNumParc := SL1->L1_PARCELA //- iif(_lEntrada, 1, 0)
For _ix := 1 to _nNumParc
_cTexto += _LF
_cTexto += _LF
_cTexto += _cSep + _LF
_cTexto += _EXPN + "Parcela " + str(_ix, 2) + _LF
_cTexto += "Vencimento : " + DtoC(apgtos[_ix][1])+ _LF
_cTexto += "Valor : " + transform(apgtos[_ix][2], "@e 9,999,999.99") + _LF
_cTexto += _LF
_cTexto += _cSep + _LF
Next
_nRet := IFTxtNFis(nHdlECF, _cTexto, 1)
_nRet := IFFchCNFis(nHdlECF)
Endif
Ultima edição: 11 anos 3 meses atrás por kaciorrm.
Por favor Acessar ou Registrar para participar da conversa.
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 3 meses atrás #16133
por RonaldoLopes
Respondido por RonaldoLopes no tópico Impressão de dados adicionais no cupom fiscal
Cássio, boa tarde, essa rotina só funciona se for cupom não fiscal? Preciso que seja logo após o termino do cupom fiscal, testei aqui e não imprimiu, utilizei o ponto de entrada LJ7002 para executar a função.
Vlw
Vlw
Por favor Acessar ou Registrar para participar da conversa.
- kaciorrm
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 55
- Obrigados Recebidos: 1
11 anos 3 meses atrás #16135
por kaciorrm
Respondido por kaciorrm no tópico Impressão de dados adicionais no cupom fiscal
Sim tem que ser apos fechar o cupom fiscal.
Aqui temos as duas coisas Uma mensagem no parâmetro e após a impressão do cumpom caso não seja feita nota sobra o cumpom é impresso as parcelas.
Não me recordo da implementação... mas acredito que foi feito dessas maneira devido ao limite de caracteres como vc constatou. Pois dependendo do numero de parcelas o tamanho da impressão (caracteres) ultrapassaria o limite.
Aqui temos as duas coisas Uma mensagem no parâmetro e após a impressão do cumpom caso não seja feita nota sobra o cumpom é impresso as parcelas.
Não me recordo da implementação... mas acredito que foi feito dessas maneira devido ao limite de caracteres como vc constatou. Pois dependendo do numero de parcelas o tamanho da impressão (caracteres) ultrapassaria o limite.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Impressão de dados adicionais no cupom fiscal
Tempo para a criação da página:0.113 segundos