duvida com duas funcoes para o Acbr

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

duvida com duas funcoes para o Acbr

Mensagem por porter »

olá pessoal, estou usando exemplos aqui do forum para gerar arquivo para AcbrMonitoPlus, existe uma chamada para uma função assim:
NFe_Aux_StatusNota("ENVIADA")

Gostaria de saber se tem como me passar essas funções para eu ver o que elas fazem porque so tenho aqui no exemplo, a chamada da função, portanto nao tenho como saber qual a função delas.

essa também
cChaveNFe := NFe_Aux_PegaChave()

xHarbour
obrigado.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

duvida com duas funcoes para o Acbr

Mensagem por Jairo Maia »

Olá Porter,

Onde você encontrou essas funções? No manual distribuído junto com o ACBr (arquivo ACBrMonitor.chm que está na pasta do ACBr) elas não existem.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

duvida com duas funcoes para o Acbr

Mensagem por porter »

olá Jairo, a rotina abaixo, peguei em um exemplo que o fladimir postou aqui no forum, eu acho que a função dela é gravar "VALIDADA" no campo Status do Arquivo Notas.dbf, mas gostaria de confirmar.

Código: Selecionar todos

if "OK:" $ cNFeLog
         lErro:=.F.
         NFe_Aux_StatusNota("VALIDADA") [b]<-- o que faz essa função ?[/b]
         return
elseif "ERRO" $ cNFeLog
         lErro:=.T.
         vcr = 2
         Alert(Hb_UTF8ToStr('Atenção!!! Não foi possível Validar a NF-e;' + ' Verifique o Retorno da SEFAZ;' + ' Será necessário validar a NF-e!;;' , {' Pressione Enter '},vcr ) )
         Aux_NFe_MostraRetACBr()
endif

Código: Selecionar todos

if ("REJEICAO" $ cNFeLog) .or. ('DENEGADO' $ cNFeLog) .or. ('IRREGULARIDADE FISCAL DO DESTINATARIO' $ cNFeLog)
   	lErro:=.T.
	vcr := 2
   	if 'DUPLICIDADE' $ cNFeLog
   	    Alert( "Atencão!!! Foi verificado DUPLICIDADE no retorno do SEFAZ;"+ " Verifique o Retorno da SEFAZ;"+ " Será necessário Corrigir a NF-e ou Tentar novamente!;;" , {"Pressione Enter "},vcr)
   	    NFe_Aux_StatusNota("DUPLICIDADE")
   	else
   	    Alert( "Atenção!!! Não foi Autorizada a NF-e;"+ " Verifique o Retorno da SEFAZ;"+ " Será necessário Corrigir a NF-e ou Tentar novamente!;;" , {"Pressione Enter "},vcr)
   	    Aux_NFe_MostraRetACBr()
        endif
else
        lErro:=.F.
        Nota->STATUS  := "AUTORIZADA"
[b]        cChaveNFe := NFe_Aux_PegaChave()[/b] <-- o que faz essa função ?
        NFe_ImprimirDANFE() // Imprimir DANFE
        NFe_EnviarEmail( cChaveNFe+'-NFe.XML', cEmailx )
endif
obrigado.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

duvida com duas funcoes para o Acbr

Mensagem por fladimir »

A função NFe_Aux_PegaChave() pega a chave do nome do arquivo do ACBr vc pode bolar como achar melhor... inclusive tem uma função no ACBr q devolve a chave da NFe, mas como surgiu depois de eu ter implementado eu ainda uso assim

segue fonte dela...

Código: Selecionar todos

********************************************************************************
function NFe_Aux_PegaChave(cChaveNFe)
********************************************************************************
    default cChaveNFe To NFe->NomeArqXML

 *-- Devolve a ChaveNFe
 
	cChaveNFe:= StrTran(cChaveNFe, Alltrim(Path->CaminhACBr),"")
	cChaveNFe:= UPPER(Alltrim(cChaveNFe))
	cChaveNFe:= StrTran(cChaveNFe,"-","")
	cChaveNFe:= StrTran(cChaveNFe,"\","")
	cChaveNFe:= StrTran(cChaveNFe,"NFE","")
	cChaveNFe:= StrTran(cChaveNFe,"CTE","")
	cChaveNFe:= StrTran(cChaveNFe,"RESPOSTA","")
	cChaveNFe:= StrTran(cChaveNFe,"C:","")
	cChaveNFe:= StrTran(cChaveNFe,"ACBR","")
	cChaveNFe:= StrTran(cChaveNFe,".","")
	cChaveNFe:= StrTran(cChaveNFe,"XML","")
	cChaveNFe:= StrTran(cChaveNFe,'OK:','')

return cChaveNFe
E a NFe_Aux_StatusNota() muda o status da NFe na tabela minha q armazeno o ultimo status da NFe

Código: Selecionar todos

//------------------------------------------------------------------------------

function NFe_Aux_StatusNota(cStatusNota)
   NFe->STATUS    := cStatusNota		
return nil
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

duvida com duas funcoes para o Acbr

Mensagem por porter »

ola Fladimir, obrigado por responder, não estou conseguindo compilar o comando abaixo, o que ele faz, ele grava no NFe->NomeArqXML o valor de cChaveNFe ?

function NFe_Aux_PegaChave(cChaveNFe)
default cChaveNFe To NFe->NomeArqXML <-- esse comando

xHarbour.

obrigado.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

duvida com duas funcoes para o Acbr

Mensagem por fladimir »

acrescenta no inicio do teu código o seguinte:

Código: Selecionar todos

#xcommand DEFAULT <uVar1> To <uVal1>  [, <uVarN> To <uValN> ] ;
	          => ;
	            <uVar1> := IF( <uVar1> == NIL, <uVal1>, <uVar1> ) ;;
	          [ <uVarN> := IF( <uVarN> == NIL, <uValN>, <uVarN> ); ]
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Responder