Iniciando desenvolvimento da NFe

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

JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Ok Itamar, obrigado pelas informações.
Respondendo a pergunta do colega Sandro, não está é criando o arquivo.

Obrigado.
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Olá Itamar,

Sua rotina de criação do txt realmente é bem prática, como vc utiliza o 'NFe.CriarEnviarNFe, gostaria que me esclarecesse, se possível, a função que trata o retorno, ChkRetornoNFE().
Estava em mente em utilizar 1º a NFe.CriarNFe e depois NFe.EnviarNFe mas, se eu entender a rotina de tratamento do retorno, faço conforme vc fez, ganha tempo.
Vc informou que o ACBr já trabalha com a versão 2.0, como estou iniciando agora não conheço a versão anterior, o que mudou basicamente foi inclusão de novos campos ?


Obrigado.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Iniciando desenvolvimento da NFe

Mensagem por Itamar M. Lins Jr. »

Ola!
Até onde sei não mudou nada, apenas acrescentou mais campos.
Então eu uso Hwgui, se você trabalha com console, é só pergar a ideia, pule a parte de desenho de telas.
É verificar no diretório do acbr se o arquivo de retorno existe é só isso.
Os comandos são:

Código: Selecionar todos


     cDestino := 'C:\ACBrNFeMonitor\'
     cDestino := cDestino+'sainfe.txt'
   //Aqui um do while básico!
      EsperaResposta(cDestino)
      
     msginfo(cString := memoread(cDestino))
     fErase(cDestino)
     return cString

Código: Selecionar todos


**********************
Function ChkRetornoNFE
**********************
*
*
Local oDlg, oFont,cDestino
If en->(dbseek('DIR'+'ACBRNFE'))
   cDestino := alltrim(en->dados)
Else
   cDestino := 'C:\ACBrNFeMonitor\'
EndIf
cDestino := cDestino+'sainfe.txt'

Private cTempo,oTempo,lAchou := .f.
PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -15
INIT DIALOG oDlg CLIPPER TITLE "Resposta SEFAZ NFE" Font oFont AT 0,0 SIZE 400,90 STYLE DS_CENTER +WS_SYSMENU+WS_VISIBLE

  @ 10,10 say "Aguarde.. Esperando Retorno da SEFAZ..." size 290,20
   cTempo := time()
  @ 300,10 say oTempo Caption transform(cTempo,'99:99:99') size 70,20

  oDlg:bActivate := {||EsperaResposta(cDestino)}

oDlg:Activate(  )

if lAchou
     msginfo(cString := memoread(cDestino))
    // VerRelatorio(cFile)
     fErase(cDestino)
endif

return cString

******************************
Function EsperaResposta(cFile)
******************************
*
*
Do while .t.

     cTempo:= Time()
     oTempo:SetText(cTempo,'99:99:99')
     if file(cFile)
        lAchou := .t.
        exit
     endif
     inkey(.8)

      if GetKeyState(VK_ESCAPE) < 0
         exit
      endif

enddo

EndDialog()
return .t.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Olá Sandro,

Você disse que exporta os retornos do ACBrNFeMonitor p/ um DBF, até ai tudo bem, gostaria que me enviasse, se possivel exemplos, de como trabalha nesse arquivo(DBF) p/ tratar estes retornos.
Descupe-me se tiver pedindo demais, está vencendo meu prazo p/ implantar a NFe no cliente e estou sem tempo p/ analisar com calma e programar.


Obrigado.
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Re: Iniciando desenvolvimento da NFe

Mensagem por SandroBelarmino »

JSystem escreveu:Você disse que exporta os retornos do ACBrNFeMonitor p/ um DBF, até ai tudo bem, gostaria que me enviasse, se possivel exemplos, de como trabalha nesse arquivo(DBF) p/ tratar estes retornos.
Eu faço da seguinte maneira; Vou ler um arquivo texto, então eu crio um dbf com 1 campo caracter, nesse caso com tamanho de 200, para que caiba até uma linha com 200 caracteres em cada registro, então faço um append from sdf do arquivo de retorno criado pelo acbrnfemonitor, então é só seguir o manual para ver o que poderá ser retornado, como autorização de uso, lote em processamento, rejeição, etc... e tratar esse retorno.
É isso.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Ok Sandro, obrigado.
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Olá Pessoal,

A NFe que estou desenvolvendo no ACBr, a empresa já emite nota em formulário continuo e possui várias linhas de informações complementares tanto na parte dos itens quanto em informações adicionais, item mesmo geralmente é só um, se trata de nota p/ depósito de grãos. Na NFe, como faço p/ constar estas informações na parte dos itens e em informações complementares ?


Obrigado a todos.
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Re: Iniciando desenvolvimento da NFe

Mensagem por SandroBelarmino »

Para cada item voce tem o campo infAdProd com tamanho de até 500 caracteres para informações adicionais do produto ou serviço.
Para as informações complementares da NF, voce tem o campo infCpl que no monitor é gerado pelo comando Complemento que pode ter até 5000 caracteres.
Sandro.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Olá Pessoal Bom Dia,

CRIEI a NFe, no ENVIO, me retornou o seguinte erro:


NFe.EnviarNFe(C:\ACBrNFeMonitor\Logs\31101105106012000119550000000000031000000032-nfe.xml,1,0)
OK: Lote recebido com sucesso
[ENVIO]
Versao=0671
TpAmb=2
VerAplic=0671
CStat=103
XMotivo=Lote recebido com sucesso
CUF=31
NRec=310000012643198
DhRecbto=19/11/2010 06:18:16
TMed=1
Nota(s) não confirmadas:
3->Rejeicao: CNPJ Emitente nao cadastrado


[RETORNO]
Versao=0671
TpAmb=2
VerAplic=0671
NRec=310000012643198
CStat=245
XMotivo=Rejeicao: CNPJ Emitente nao cadastrado
CUF=31
[NFE3]
Versao=0671
TpAmb=2
VerAplic=0671
CStat=245
XMotivo=Rejeicao: CNPJ Emitente nao cadastrado
CUF=31
ChNFe=31101105106012000119550000000000031000000032
DhRecbto=19/11/2010 06:18:16
NProt=
DigVal=rj72qBMfFTaOBRBDwswAcnLnrd4=



Gostaria, por gentileza, que me esclarecesse, além do RETORNO, o que coloquei em vermelho no ENVIO.


Obrigado a todos.
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Re: Iniciando desenvolvimento da NFe

Mensagem por SandroBelarmino »

Ceritique-se que o emitente está credenciado para emissão de NFe.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Iniciando desenvolvimento da NFe

Mensagem por rochinha »

Amiguinhos,

Completando o post anterior.

Certifique-se se o mesmo foi cadastrado nos 2 ambientes, sendo 1-Produção( notas com valor juridico ) e 2-Homologação( Notas de Teste ).
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Iniciando desenvolvimento da NFe

Mensagem por rochinha »

Amiguinhos,

Itamar
As funções TravaRegistro() e NetFlush() são funções de sua autoria? Voce pode apresenta-las, gostaria de compará-las com as minhas também.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Boa tarde a todos,

Quando Crio a NFe o ACBr grava em C:\ACBrNFeMonitor\Logs\31101105106012000119550000000000061000000069-nfe.xml.
Tem como mudar este caminho ?


Obrigado.
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Re: Iniciando desenvolvimento da NFe

Mensagem por JSystem »

Olá Pessoal,

Qdo ENVIO uma NFe, as vezes o ACBr me retorna o seguinte erro:

NFe.StatusServico()
ERRO: WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
- Bad Request (400) - 'https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2'[/color]

Gostaria de saber se isso as vezes ocorre ou é algo que posso corrigir ?


Obrigado a todos
anacatacombs
Membro Master
Membro Master
Mensagens: 472
Registrado em: 12 Jul 2005 16:53
Localização: Cianorte-Paraná
Contato:

Re: Iniciando desenvolvimento da NFe

Mensagem por anacatacombs »

As vezes acontece do web-service sair do ar.
Nesse caso, vc deve consultar o status do serviço.
Se realmente estiver fora do ar, não há nada que você possa fazer...
[]'s
Responder