ASSINE A NEWSLETTER

Cadastrando...
PIX uDesenv pix deposito

ADVPL - Transmissão de nota fiscal. AutoNfeEnv, Sefaz, XML, automático

Autor: Eurai Criado: 24/11/2024 Atualizado: 24/11/2024

 

 

ADVPL - Transmissão de nota fiscal. AutoNfe, sem job

 

Nas últimas atualizações do sistema protheus, houve bloqueio das funçoes de transmissão via fonte.

Antes do bloqueio era utilizado:

 

AutoNfeEnv(cEmpAnt,SF2->F2_FILIAL,"0","1",SF2->F2_SERIE,SF2->F2_DOC,SF2->F2_DOC)
AutoNfeEnv(cEmpAnt,SF2->F2_FILIAL,"0","1",SF2->F2_SERIE,SF2->F2_DOC,SF2->F2_DOC)
                                                    

                                                   
AutoNfeEnv(cEmpAnt,SF2->F2_FILIAL,"0","1",SF2->F2_SERIE,SF2->F2_DOC,SF2->F2_DOC)                                                    

 

 

Vou compartilhar alguns métodos, validar antes.

#INCLUDE "TOTVS.CH"
User Function autoNfe()
//01
validaAutoNfe("1", cEmpAnt, cFilAnt, cSerNF )
Return( Nil )
#INCLUDE "TOTVS.CH" User Function autoNfe() //01 validaAutoNfe("1", cEmpAnt, cFilAnt, cSerNF ) Return( Nil )
                                                    

#INCLUDE "TOTVS.CH"                                                    
User Function autoNfe()                                                    

//01
validaAutoNfe("1", cEmpAnt, cFilAnt, cSerNF )                                                


Return( Nil )                                                    

 

 

#INCLUDE "TOTVS.CH"
User Function autoNfe()
//02
LjEnviaNFe(cSerie, cNota, cCliente, cLoja)
Return( Nil )
#INCLUDE "TOTVS.CH" User Function autoNfe() //02 LjEnviaNFe(cSerie, cNota, cCliente, cLoja) Return( Nil )
                                                    

#INCLUDE "TOTVS.CH"                                                    
User Function autoNfe()                                                    

//02
LjEnviaNFe(cSerie, cNota, cCliente, cLoja)                                              


Return( Nil )                                                    

 

 

#INCLUDE "TOTVS.CH"
User Function autoNfe()
//03
Local cIdEnt := RetIdEnti()
Local cError := ''
Local cModalidade := ''
Local cVersao := ''
Local cRetorno := ''
Local lEnd := .F.
Local aRet := {.T.,""}
Local lAuto := .T.
Local aF2SERIE := TamSX3('F2_SERIE')
Default cModelo := '55' //55-NF-e, 57-CT-e, 65-NFC-e, 66-NF3-e, 67-CT-e OS
Default lCte := .F.
Begin Sequence
If Empty( cIdEnt )
aRet := {.F.,"Ident inválido: " + cIdEnt }
Break
Endif
cAmbiente := getCfgAmbiente(@cError, cIdEnt, cModelo)
If Empty(cAmbiente)
aRet := {.F.,"Ambiente inválido: " + cError }
Break
Endif
cModalidade := getCfgModalidade(@cError, cIdEnt, cModelo)
If Empty(cModalidade)
aRet := {.F.,"Modalidade inválido: " + cError }
Break
Endif
cVersao := getCfgVersao(@cError, cIdEnt, cModelo)
If Empty(cVersao)
aRet := {.F.,"Versão inválida: " + cError }
Break
Endif
cSerie := Padr(cSerie,aF2SERIE[01])
cRetorno := SpedNFeTrf("SF2",cSerie,cNotaIni,cNotaFim,cIdEnt,cAmbiente,cModalidade,cVersao,@lEnd,lCte,lAuto)
aRet := {.T.,cRetorno }
End Sequence
Return( Nil )
#INCLUDE "TOTVS.CH" User Function autoNfe() //03 Local cIdEnt := RetIdEnti() Local cError := '' Local cModalidade := '' Local cVersao := '' Local cRetorno := '' Local lEnd := .F. Local aRet := {.T.,""} Local lAuto := .T. Local aF2SERIE := TamSX3('F2_SERIE') Default cModelo := '55' //55-NF-e, 57-CT-e, 65-NFC-e, 66-NF3-e, 67-CT-e OS Default lCte := .F. Begin Sequence If Empty( cIdEnt ) aRet := {.F.,"Ident inválido: " + cIdEnt } Break Endif cAmbiente := getCfgAmbiente(@cError, cIdEnt, cModelo) If Empty(cAmbiente) aRet := {.F.,"Ambiente inválido: " + cError } Break Endif cModalidade := getCfgModalidade(@cError, cIdEnt, cModelo) If Empty(cModalidade) aRet := {.F.,"Modalidade inválido: " + cError } Break Endif cVersao := getCfgVersao(@cError, cIdEnt, cModelo) If Empty(cVersao) aRet := {.F.,"Versão inválida: " + cError } Break Endif cSerie := Padr(cSerie,aF2SERIE[01]) cRetorno := SpedNFeTrf("SF2",cSerie,cNotaIni,cNotaFim,cIdEnt,cAmbiente,cModalidade,cVersao,@lEnd,lCte,lAuto) aRet := {.T.,cRetorno } End Sequence Return( Nil )
                                                    

#INCLUDE "TOTVS.CH"                                                    
User Function autoNfe()                                                    

//03
Local cIdEnt 			:= RetIdEnti()
	Local cError			:= ''
	Local cModalidade		:= ''
	Local cVersao			:= ''
	Local cRetorno			:= ''

	Local lEnd				:= .F.
	Local aRet 				:= {.T.,""}
	Local lAuto   			:= .T.
	Local aF2SERIE			:= TamSX3('F2_SERIE')

	Default cModelo			:= '55' //55-NF-e, 57-CT-e, 65-NFC-e, 66-NF3-e, 67-CT-e OS
	Default lCte			:= .F.


	Begin Sequence

		If Empty( cIdEnt )
			aRet	:= {.F.,"Ident inválido: " + cIdEnt }
			Break
		Endif

		cAmbiente 	:= getCfgAmbiente(@cError, cIdEnt, cModelo)
		If Empty(cAmbiente)
			aRet	:= {.F.,"Ambiente inválido: " + cError }
			Break
		Endif

		cModalidade 	:= getCfgModalidade(@cError, cIdEnt, cModelo)
		If Empty(cModalidade)
			aRet	:= {.F.,"Modalidade inválido: " + cError }
			Break
		Endif

		cVersao		:= getCfgVersao(@cError, cIdEnt, cModelo)
		If Empty(cVersao)
			aRet	:= {.F.,"Versão inválida: " + cError }
			Break
		Endif

		cSerie		:= Padr(cSerie,aF2SERIE[01])
		cRetorno 	:= SpedNFeTrf("SF2",cSerie,cNotaIni,cNotaFim,cIdEnt,cAmbiente,cModalidade,cVersao,@lEnd,lCte,lAuto)
		aRet		:= {.T.,cRetorno }



	End Sequence                                          


Return( Nil )