Lista de comandos atualizados do ACbrNFeMonitor, onde?

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

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Lista de comandos atualizados do ACbrNFeMonitor, onde?

Mensagem por ANDRIL »

Estou usando a lista do blog do André, http://www.anfm.blogspot.com.br/search/label/NFe, alguém sabe de outra listagem. Por exemplo o comando NFE.ConsultarNFe( xArqXML ), gostaria de saber se tem mais parametros (novos) como por exemplo UForigemdaNota, AmbientedaNota, FormaEmissaodaNota, seria o ideal. Como nas instruções citadas não tem, tenho que fazer para cada um desses parametros uma requição para o monitor separadamente.

Ou existe outro comando para consultar uma nota de outra UF (pelo menos isso, supondo que foi emitida em produção e forma normal)?

Ate+

PS: não estou conseguindo fazer uma url ficar como link, mesmo usando a tag apropriada.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Lista de comandos atualizados do ACbrNFeMonitor, onde?

Mensagem por Pablo César »

Código: Selecionar todos

PS: não estou conseguindo fazer uma url ficar como link, mesmo usando a tag apropriada.
Anderson, eu adicionei "www." no URL que você tinha postado e deu certo.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Kiko Fernandes
Usuário Nível 3
Usuário Nível 3
Mensagens: 213
Registrado em: 24 Out 2008 22:41
Localização: Foz do Iguaçu

Lista de comandos atualizados do ACbrNFeMonitor, onde?

Mensagem por Kiko Fernandes »

ANDRIL, não sei se compreendi bem o que vc está solicitando, mas baseado no que entendi vou tentar responder.
1 - Estou usando a lista do blog do André, http://www.anfm.blogspot.com.br/search/label/NFe, alguém sabe de outra listagem.
Versões: http://anfm.blogspot.com.br/search/label/ACBrNFeMonitor
Comandos AcbrNfeMonitor: http://anfm.blogspot.com.br/2010/02/com ... nitor.html
2 - Por exemplo o comando NFE.ConsultarNFe( xArqXML ), gostaria de saber se tem mais parametros (novos) como por exemplo
( a)UForigemdaNota, (b)AmbientedaNota, ( c)FormaEmissaodaNota, seria o ideal.

o Comando NFE.ConsultarNFe(xArqXML) - Pode ser enviado o arquivo XML, caso seja a empresa emitente. Nesta situação se é acrescentado o protocolo de autorização ou não da NFe ao final do arquivo. Também pode ser informado apenas a chave da NFe para a consulta.
Exemplo: NFE.ConsultarNFe("c:\pastaaplicativo\nfe\emitidas\151202XXXXXXXXXXXXXX550050000005281000005283-nfe.xml")
ou NFe.ConsultarNfe("151202XXXXXXXXXXXXXX550050000005281000005283")

a) UForigemdaNota
Manual de Orientacao Contribuinte v 5.00 - Pág. 92
http://www.nfe.fazenda.gov.br/portal/ex ... xgJXfbUhs=

A partir da versão 2.00 do leiaute da NF-e, o campo tpEmis (forma de emissão da NF-e) passou a compor a chave de acesso da seguinte forma:
 cUF - Código da UF do emitente do Documento Fiscal
 AAMM - Ano e Mês de emissão da NF-e
 CNPJ - CNPJ do emitente
 mod - Modelo do Documento Fiscal
 serie - Série do Documento Fiscal
 nNF - Número do Documento Fiscal
 tpEmis – forma de emissão da NF-e
 cNF - Código Numérico que compõe a Chave de Acesso
 cDV - Dígito Verificador da Chave de Acesso

Sugiro que você tenha uma tabela com os códigos IBGE de cada UF. Usando como exemplo a chave acima, observamos que começa com 15 que é o campo (cUF - Código da UF do emitente do Documento Fiscal ) que corresponde ao Pará - PA. Então com isto vc tem a resposta da ( a)UForigemdaNota.
Você pode encontrar a tabela de código IBGE das UF's na página 93 do manual.

(b)AmbientedaNota
Somente pela chave não é possível saber em qual ambiente ela foi feita. Penso que o melhor seria fazer a consulta em produção, não existindo e desejando fazer a consulta em homologação então trocaria-se o ambiente de consulta e varia a consulta tambem no ambiente homologação.
Obs.: Caso vc tenha como abrir o XML procure então pelo CNPJ do destinatário se for 99999999000191 ou a razao social for NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO – SEM VALOR FISCAL, ela foi emitida no ambiente homologação. Não tendo como ler o arquivo, então sugiro que ao fazer a consulta, não encontrando em produção já responde que não é uma NFe válida.

Para a consulta de outra UF que não seja a do emitente, vc deverá configurar o AcbrNFeMonitor. Isto pode ser feito modificando o arquivo INI e fazendo a leitura do programa novamente.
Exemplo:
no ACBrNFeMonitor.ini o teu sistema deve procurar por:
[WebService]
UF=PR //Mudar para o estado que deseja consultar. No exemplo acima mudariamos para UF=PA
Ambiente=1 //Mudar para o ambiente que deseja consultar.

Após alterar o arquivo use o comando:
NFe.LerIni() - Le as informações do arquivo ACBrNFeMonitor.ini. Útil para quem muda as configurações do INI por fora da interface do ACBrNFeMonitor e quer que as configurações sejam lidas sem precisar fechar e abrir novamente o programa.

Quanto ao ambiente existe também o comando:
NFe.SetAmbiente(nNumAmbiente)
nNumAmbiente - pode ser passado o valor 1 para Ambiente de Produção ou 2 para Ambiente de Homologação
Se usar ele, no comando acima você poderia trocar apenas a UF pelo arquivo ini.

( c)FormaEmissaodaNota
Novamente página 92 do Manual de Orientacao Contribuinte v 5.00
A partir da versão 2.00 do leiaute da NF-e, o campo tpEmis (forma de emissão da NF-e) passou a compor a chave de acesso da seguinte forma:
 cUF - Código da UF do emitente do Documento Fiscal
 AAMM - Ano e Mês de emissão da NF-e
 CNPJ - CNPJ do emitente
 mod - Modelo do Documento Fiscal
 serie - Série do Documento Fiscal
 nNF - Número do Documento Fiscal
 tpEmis – forma de emissão da NF-e
 cNF - Código Numérico que compõe a Chave de Acesso
 cDV - Dígito Verificador da Chave de Acesso [/size]
Então se vc pegar algo como substr(cChave,35,1) vc terá a forma de emissão.
151202XXXXXXXXXXXXXX550050000005281000005283


O arquivo SAINFE.TXT estará com o conteúdo semelhante ao citado abaixo ao fazer uma consulta da NFe pela chave.
NFE.ConsultarNFe("151202XXXXXXXXXXXXXX550050000005281000005283") //Comando

OK: Autorizado o uso da NF-e //Resposta
[CONSULTA]
Versao=SVAN_2.0.0
TpAmb=2
VerAplic=SVAN_2.0.0
CStat=100
XMotivo=Autorizado o uso da NF-e
CUF=15
ChNFe=151202XXXXXXXXXXXXXX550050000005281000005283
DhRecbto=08/02/2012 16:44:33
NProt=99995120000009999
DigVal=XXXXXX/NHkrmWmedg4yuIiTjYj+c=
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Lista de comandos atualizados do ACbrNFeMonitor, onde?

Mensagem por ANDRIL »

Kiko, muito obrigado pela sua resposta. Porem já faço a consulta de uma NFE de outra UF alterando o INI exatamente como voce citou. O que eu estou procurando saber é se teve alguma atualização dos comandos de uso do monitor (a listagem que eu conheço é exatamente esta que citamos ->2010/02<-), para saber se foi incluido mais parametros na função ConsultarNFe, pois se colocassem os parametros como Forma de Emissao, UF de destino já passariamos tudo uma única vez ao monitor.

A minha preocupação com este processo de alterar o INI e LE, é quando se usa em ambiente de rede, quando o monitor tem que monitorar vários TXT (entnfe01.txt, entnfe02.tx etc) pode ocorrer de uma maquina ler o arquivo alterado por outra maquina em frações de segundos. Já estou pensando em abrir o INI em modo exclusivo para a maquina solicitante, aplicar as alterações para a consulta, voltar as configurações anteriores e desbloquear o arquivo. Por tudo isso, se tivesse um comando que não precisasse tudo isso seria bem melhor.

Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Kiko Fernandes
Usuário Nível 3
Usuário Nível 3
Mensagens: 213
Registrado em: 24 Out 2008 22:41
Localização: Foz do Iguaçu

Lista de comandos atualizados do ACbrNFeMonitor, onde?

Mensagem por Kiko Fernandes »

Agora te entendi :D
Pelo que sei ainda não tem, mas pode ser apresentado como sugestão, o problema é que o pessoal do ACBr está bastante atarefado.
Quando ao caso de mudar o INI e estar em rede, vc poderia colocar um flag que durante este momento "crítico" pois está mudando a UF por exemplo poderia bloquear a emissão de NF de todos os terminais, após a consulta estaria liberado.
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Lista de comandos atualizados do ACbrNFeMonitor, onde?

Mensagem por ANDRIL »

Kiko Fernandes escreveu:vc poderia colocar um flag que durante este momento "crítico"
Eu acho que o monitor não seja mult-thread, sendo assim, creio que se enviar a sequencia dos comandos dentro de apenas um arquivo, isso prenderá o monitor ate que execute todos os comandos, sendo assim se algum outro terminal da rede mandar outro arquivo em "tese" aguardaria a liberação do monitor. Só que aqui também há um problema, pois não tem como mandar um comando por exemplo para alterar a UF (tipo um NFE.SetUF()) fazendo com que precisamos alterar o INI diretamente.

Então, vou fazer assim, ao criar o ENTNFE01.TXT vou criar junto o ESPERA.TXT, o monitor ao receber o ENTNFE01.TXT ira apagá-lo, ficando só o segundo arquivo, enquando o monitor esta processando, no meu sistema antes de enviar qualquer comando eu verifico se há o arquivo ESPERA.TXT se tiver nao gero outro por exemplo ENTNFE02.TXT, fico aguardando ate que o monitor me devolva o SAINFE01.TXT, ai altero o INI e só depois apago o ESPERA.TXT para dar vez a outro terminal.

Vou testar e ver se dá certo.
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Responder