Moderador: Moderadores
#include 'minigui.ch'
#include 'miniprint.ch'
FUNCTION Nfce()
DEFINE WINDOW Form_nfce ;
AT 0, 0 ;
WIDTH 800 ;
HEIGHT 600 ;
TITLE 'NFC-e : Nota Fiscal Consumidor Eletrônica' ;
ICON 'icone' ;
MODAL ;
NOSIZE
@ 10, 10 BUTTONEX Btn_1 ;
CAPTION "Enviar nota" ;
WIDTH 120 ;
HEIGHT 60 ;
FONT 'calibri' SIZE 12 BOLD ;
NOTABSTOP ;
FONTCOLOR BLACK ;
BACKCOLOR WHITE ;
GRADIENTFILL { { 1, { 230, 230, 230 }, { 200, 200, 200 } } } ;
ACTION Enviar_Nota()
@ 100, 10 LABEL Label_1 ;
VALUE 'Certificado escolhido :' AUTOSIZE FONT 'calibri' SIZE 12 BOLD FONTCOLOR BLACK TRANSPARENT
@ 130, 10 LABEL Label_2 ;
VALUE 'ERROS :' AUTOSIZE FONT 'calibri' SIZE 12 BOLD FONTCOLOR GRAY TRANSPARENT
@ 150, 10 richeditbox label_erro ;
width 780;
height 400;
value '';
font 'courier new';
size 10;
backcolor WHITE;
fontcolor BLACK;
maxlength 510000;
NOHSCROLL
/*
tecla ESC para sair da janela
*/
ON KEY ESCAPE ACTION Form_nfce.release
END WINDOW
Form_nfce.center
Form_nfce.activate
RETURN( Nil )
*-------------------------------------------------------------------------------
STATIC FUNCTION Enviar_Nota()
/*
http://www.sped.fazenda.pr.gov.br/modules/conteudo/conteudo.php?conteudo=97
*/
LOCAL cXmlRetorno
LOCAL cCertificado
LOCAL cTexto
LOCAL cNomeXml := 'C:\MHR_Food\modelo_nfce.xml'
cXml := MemoRead(cNomeXml)
oSefaz := SefazClass():New()
oSefaz:cUF := "PR"
oSefaz:cAmbiente := "2"
oSefaz:cNFCE := "S"
oSefaz:cCertificado := CapicomEscolheCertificado()
Setproperty('Form_nfce','Label_1','value','Certificado escolhido : '+oSefaz:cCertificado)
cCertificado := Alltrim(oSefaz:cCertificado)
cXmlRetorno := oSefaz:NfeStatusServico()
MsgInfo(oSefaz:cXmlSoap,"XML enviado")
MsgInfo(oSefaz:cXmlRetorno,"XML retornado")
cTexto := "Tipo Ambiente:" + XmlNode( cXmlRetorno, "tpAmb" ) + HB_EOL()
cTexto += "Versão Aplicativo:" + XmlNode( cXmlRetorno, "verAplic" ) + HB_EOL()
cTexto += "Status:" + XmlNode( cXmlRetorno, "cStat" ) + HB_EOL()
cTexto += "Motivo:" + XmlNode( cXmlRetorno, "xMotivo" ) + HB_EOL()
cTexto += "UF:" + XmlNode( cXmlRetorno, "cUF" ) + HB_EOL()
cTexto += "Data/Hora:" + XmlNode( cXmlRetorno, "dhRecbto" ) + HB_EOL()
cTexto += "Tempo Médio:" + XmlNode( cXmlRetorno, "tMed" ) + HB_EOL()
MsgInfo(cTexto,"Informação ExtraÃda")
oSefaz:NFeLoteEnvia( @cXml, "1", "PR", cCertificado, "2", "1" )
Setproperty('Form_nfce','Label_erro','value',oSefaz:cXmlRetorno)
//hbNFeDaNFe( oSefaz:cXmlAutorizado )
RETURN( Nil )
Na verdade terá que aceitar 2 GTIN´s. Um da unidade de venda e outro da unidade tributária.MSDN escreveu:O sistema deve estar preparado para aceitar mais de um GTIN
Nesse caso, o GTIN do produto será aquele que estiver sendo vendido e será usado pelo leitor no PDV, e o outro GTIN na verdade é o GTIN da unidade tributária. A unidade tributária é a menor unidade do produto.JoséQuintas escreveu:Vamos ao CIGARRO....
Tem o GTIN do maço de cigarros
Tem O GTIN do pacote de cigarros
Tem o GTIN do pacotão de pacotes de cigarros
Se na nota de entrada for o pacote com 10 unidades e for vender o pacote, o GTIN de venda será o do pacote e o da unidade tributária será o do maço avulso.
Retornar para Legislação Fiscal e Tributária
Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes