teste sefazclass

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

teste sefazclass

Mensagem por JoséQuintas »

O teste da sefazclass agora tem mais opções.
sefazclass.png
Pra quem ainda não viu a SefazClass, a autorização de nota parece até piada....

Código: Selecionar todos

      CASE nOpc == nOpcTemp++
         oSefaz:NfeLoteEnvia( [<NFe><infNFe Id="Nfe0001"></infNFe></NFe>] )
         ? oSefaz:cXmlRetorno
         Inkey(0)

Sim, é um XML inválido, só pra fazer o teste e ter retorno.
Mas se enviar um XML válido... nota autorizada.
Tanto faz se homologação, produção, 3.10, 4.00


Por isso estranho pedirem exemplo de uso.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Marcelo_Antonio
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 30 Ago 2018 17:30
Localização: Caruaru/PE

teste sefazclass

Mensagem por Marcelo_Antonio »

Boa tarde.

Como faço para salvar o arquivo retorno qdo for autorizada e imprimir o respectivo DANFE.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

teste sefazclass

Mensagem por JoséQuintas »

A variável da classe contém tudo que poderia precisar.

hb_MemoWrit( "autorizado.xml", oSefaz:cXmlAutorizado )

E a classe do Danfe, gera o Danfe.
Geralmente a partir do conteúdo de um XML.

oDanfe:ToPdf( oSefaz:cXmlAutorizado )

oDanfe:ToPdf( MemoRead( "arquivo.xml" ) )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Marcelo_Antonio
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 30 Ago 2018 17:30
Localização: Caruaru/PE

teste sefazclass

Mensagem por Marcelo_Antonio »

Bom Dia.

Obrigado pela ajuda.
Marcelo_Antonio
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 30 Ago 2018 17:30
Localização: Caruaru/PE

teste sefazclass

Mensagem por Marcelo_Antonio »

Boa tarde.

Estou fazendo teste (hambiente de Homologação) para envio da NFe, no entanto não esta me retornando nada.
Segue abaixo como estou utilizando para enviar. Minha dúvida é a seguinte: Devo carregar o arquivo para memória antes de enviar?

FUNCTION Enviar_XML(Arq_XML)
***************************************
LOCAL ArqXML:= HB_MemoRead(Arq_XML) //-->>Carrega o Arquivo Para a Memória
LOCAL L_ret := .T. , oFile, xArqRet
LOCAL nHandle:= FCREATE('Retorno_XML.log', 0)
oFile := mg_fileNameOnlyName(Arq_XML)
oFile := Substr(oFile, 1, Len(oFile)-8)

oSefaz:NfeLoteEnvia(ArqXML) //-->> Envio do Arquivo Para A SEFAZ

FWRITE(nHandle, oSefaz:cXmlRetorno)
FWRITE(nHandle, oSefaz:cXmlAutorizado)
FCLOSE(nHandle)

IF AT('*ERRO*', oSefaz:cXmlRetorno) <> 0
mg_MsgInfo("Solicitação não autorizada", "Retorno", oSefaz:cXmlRetorno )
xArqRet := HB_MemoWrit(Alltrim(M->Erro_XMLNFe)+oFile+"-pro-rec.XML", oSefaz:cXmlRetorno )
L_ret := .F.
WAPI_ShellExecute( NIL, "open", xArqRet, NIL, NIL, 1 )

ELSE //$ "100,101,150,301,302"
ArqXML := HB_MemoWrit(Alltrim(M->Dir_NFeXML)+oFile+"-procNfe.XML", oSefaz:cXmlAutorizado )
if File(ArqXML)
Danfe(ArqXML) //-->> Função para gravação e Impressão do DANFE
else
mg_Msgwarning("Falha na gravação do arquivo Retorno!", "Atenção")
//WAPI_MessageBox( wapi_GetActiveWindow(), "Falha na gravação do Arquivo "+ArqXML, "Advertência", 0x00000030)
endif
//oDanfe:ToPdf( MemoRead( "arquivo.xml" ) )
ENDIF

RETURN L_ret

Agradeço a cooperação.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

teste sefazclass

Mensagem por JoséQuintas »

O programa de teste tem tudo, basta olhar lá. /tests
Em todo caso:

Código: Selecionar todos

// minimo
oSefaz := SefazClass():New()
oSefaz:cCertificado := "nome do certificado"

// configurar o que vai usar
oSefaz:cUF := "SP"
oSefaz:cAmbiente := "1"

// Enviar nota?
cXml := MemoRead( "arquivo.xml" )
oSefaz:NfeLoteEnvia( cXml )

// o que podemos obter?
hb_MemoWrit( "123-autorizado.xml", oSefaz:cXmlAutorizado )   // XML autorizado

// ou pra conferencia, além de outros
hb_MemoWrit( "123-retorno.xml", oSefaz:cXmlRetorno )     // XML Retorno
hb_MemoWrit( "123-recibo.xml", oSefaz:cXmlRecibo ) // XML recibo
Mensagem( oSefaz:cStatus ) // codigo de status retornado
Mensagem( oSefaz:cMotivo ) // motivo do status

Lembrando que agora a comunicação exige configuração adicional no Windows W7, e não funciona em XP.
E a classe usa CAPICOM e MSXML5, ambos da Microsoft, que precisam estar instalados corretamente.
E um certificado válido pra NFE, lógico.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

teste sefazclass

Mensagem por JoséQuintas »

Complemento:

Isso vai ser seu aplicativo conversando com a Fazenda, do usuário direto ao governo e vice-versa, sem intermediário.
Valem os manuais do governo.
Inclusive os retornos, também são diretamente do governo, ou do windows.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

teste sefazclass

Mensagem por JoséQuintas »

Pois é, dica sua.
Como diz a antiga frase: vivendo e aprendendo...


E aproveitando:
Notem o {xhb}, isso é pra se for usar HBMK2 no X-Harbour.

Nota: acaba valendo pra quem usa compatibilidade xharbour, o que pode atrapalhar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder