× Linguagem de Programação ADVPL

Perguntas Impressão de dados adicionais no cupom fiscal

Mais
11 anos 3 meses atrás #16094 por RonaldoLopes
Boa tarde, estou precisando imprimir algumas informações a mais no cupom fiscal, como posso fazer isso?
Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16123 por kaciorrm
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)

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16128 por RonaldoLopes
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

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás - 11 anos 3 meses atrás #16132 por kaciorrm
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..
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.

Mais
11 anos 3 meses atrás #16133 por RonaldoLopes
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

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16135 por kaciorrm
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.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.113 segundos
Joomla templates by a4joomla