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.
Lista de comandos atualizados do ACbrNFeMonitor, onde?
Moderador: Moderadores
Lista de comandos atualizados do ACbrNFeMonitor, onde?
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- Pablo César
- 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?
Código: Selecionar todos
PS: não estou conseguindo fazer uma url ficar como link, mesmo usando a tag apropriada.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.
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

- Mensagens: 213
- Registrado em: 24 Out 2008 22:41
- Localização: Foz do Iguaçu
Lista de comandos atualizados do ACbrNFeMonitor, onde?
ANDRIL, não sei se compreendi bem o que vc está solicitando, mas baseado no que entendi vou tentar responder.
Comandos AcbrNfeMonitor: http://anfm.blogspot.com.br/2010/02/com ... nitor.html
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:
Quanto ao ambiente existe também o comando:
( 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=
Versões: http://anfm.blogspot.com.br/search/label/ACBrNFeMonitor1 - Estou usando a lista do blog do André, http://www.anfm.blogspot.com.br/search/label/NFe, alguém sabe de outra listagem.
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:
Se usar ele, no comando acima você poderia trocar apenas a UF pelo arquivo ini.NFe.SetAmbiente(nNumAmbiente)
nNumAmbiente - pode ser passado o valor 1 para Ambiente de Produção ou 2 para Ambiente de Homologação
( 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=
Lista de comandos atualizados do ACbrNFeMonitor, onde?
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.
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

- Mensagens: 213
- Registrado em: 24 Out 2008 22:41
- Localização: Foz do Iguaçu
Lista de comandos atualizados do ACbrNFeMonitor, onde?
Agora te entendi
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.
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.
Lista de comandos atualizados do ACbrNFeMonitor, onde?
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.Kiko Fernandes escreveu:vc poderia colocar um flag que durante este momento "crítico"
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
