Ir para conteúdo
  • Cadastre-se

carlos_augusto

Membros
  • Total de ítens

    175
  • Registro em

  • Última visita

Tudo que carlos_augusto postou

  1. Sr. italo Perfeito! Me desculpe a confusão. Vou fazer na sequência que o Sr. indicou. Obrigado!
  2. Sr. Italo Muito obrigado pela resposta. Entendi agora que providências vou realizar, conforme descrevo abaixo: 1)-Inicialmente utilizo o Método : DistribuicaoDFePorChaveNFe para verificar se a Chave de Nfe informada efetivamente existe na Sefaz. Se no retorno cStat = 138, considero que a chave da nota está correta. 2)-Depois eu Manifesto "Ciência da Operação" para esta Nota Fiscal da seguinte forma : acbrNota.EventoNFe.Evento.Clear; with acbrNota.EventoNFe.Evento.Add do begin // Chave da Nota Fiscal Eletrônica infEvento.chNFe := edtChaveNfe.Text; // Cnpj do Detinatário ( empresa.CNPJ ) infEvento.CNPJ := qryEmpresa.FieldByName('CNPJ').AsString; // data da manifestação infEvento.dhEvento := now; // tipo do evento infEvento.tpEvento := teManifDestCiencia // orção responsável por receber o evento ( 91 - Ambiente Nacional ) infEvento.cOrgao := 91; //infEvento.descEvento := stDescEvento; // Ambiente da Nota Fiscal Eletrônica infEvento.tpAmb := taProducao end; boEventOAceito := False; acbrNota.EnviarEvento(1); with dmdModAcbrNFe.acbrNota.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento do begin if ((cStat = 128) or (cStat = 135) or (cStat = 136) or (cStat = 138)) then boEventOAceito := True; end; 3)-Se a Manifestação tiver sido aceita , finalmente efetuo a baixa do Arquivo Xml: if (boEventOAceito) then begin acbrnfNota.WebServices.DownloadNFe.Executar; cdsNotaARQUIVOXML.AsString := acbrnfNota.WebServices.DownloadNFe.retDownloadNFe.XML; end; Seria basicamente esta a idéia? Grato
  3. Sr. Italo Inicialmente eu gostaria de agradecer a sua resposta. Conforme sugerido eu li a Nota Técnica 2014/002 versão 1.02b. Ficaram apenas as seguintes dúvidas : 1)-O procedimento normal, pelo que eu entendi, seria : Primeiro : Consultar quais notas fiscais de terceiros foram emitidas para o meu CNPJ Segundo : Manifestar "Ciência da Operação" para a nota fiscal desejada Terceiro : Finalmente fazer download do Xml desejado. Então a questão é : o ACBR encapsulou todas estas tarefas dentro do Método : DistribuicaoDFePorUltNSU ou DistribuicaoDFePorChaveNFe ? Isto é, o Acbr enviará automaticamente comando de "Ciência da Operação" ? 2)-Em 2014 quando fiz o desenvolvimento da Consulta por NSU , constatei que em caso da empresa ter diversas Notas Fiscais a ela destinadas, aparecia erro de "consumo indevido". Assim, cheguei a definir que seriam consultadas de 20 e 20 notas. A questão é : na prática o sr. tem observado este problema atualmente? Grato
  4. Companheiros Gostaria de solicitar a ajuda de todos porque estou totalmente confuso! Normalmente os nossos clientes fazem Manifestação das NFEs à eles destinadas utilizando ferramentas públicas e depois fazem download do xml utilizando recursos que cada um elegeu como ideal. Depois utilizam recurso existente em nosso ERP para gerar uma Nota Fiscal de Entrada através da importação de arquivo XML. Porém agora os clientes solicitaram que todos estes procedimentos sejam automáticos. Assim, nosso Erp terá que ter a habilidade de : - consultar notas fiscais destinadas ao CNPJ - efetuar manifestação - fazer download - importar no ERP transformando-a em uma Nota Fiscal de Compra Em 2014 eu havia criado um recurso específico para Consultar Nfe Destinadas e Efetuar Manifestação ( que não foi utilizado porque os clientes já estavam acostumados a usar outras ferramentas de suas preferências ). Porém agora quando testo esta rotina antiga é exibida a seguinte mensagem de erro : "Após 02/05/2017 o Web Service ConsultaNFeDest foi desativado pela SEFAZ. Favor utilizar o método DistribuicaoDFe." Assim gostaria de ajuda dos companheiros para entender exatamente o que devo alterar no procedimento de Inicial da Consulta utilizando este método : DistribuicaoDFe. Abaixo estou postando o código-fonte de 2014. Grato CÓDIGO-FONTE DESENVOLVIDO EM 2014: // PARAMETRO 1 : Indicador de NFe a ser Consultada //veja NT 2012/002 pág. 11 para identificar os valores possíveis 0 = Todas as NF-e; 1 = Somente as NF-e que ainda não tiveram manifestação do destinatário // (Desconhecimento da operação, Operação não Realizada ou Confirmação da Operação); 2 = Idem anterior, incluindo as NF-e que também não tiveram a Ciência da Operação.*) stIndNFe := '0'; // PARAMETRO 2 : Indicador do Emissor da NF-e //veja NT 2012/002 pág. 11 para identificar os valores possíveis /0 = Todos os Emitentes / Remetentes; //1 = Somente as NF-e emitidas por emissores / remetentes que não tenham a mesma raiz do CNPJ do destinatário (para excluir as notas fiscais de transferência entre filiais). stIndEmi := '0'; // PARAMETRO 3 : Último NSU recebido pela Empresa veja NT 2012/002 pág. 11 para identificar os valores possíveis // Caso seja informado com zero, ou com um NSU muito antigo, a consulta retornará unicamente as notas fiscais que tenham sido recepcionadas nos últimos 15 dias. stUltNSU := qryUltimoNsu.FieldByName('NRO_NSU_ULTIMO').AsString; if Trim(stUltNSU) = '' then stUltNSU := '0'; inInc := 0; inNroPesquisa := 0; inItemConsulta := 0; dmdModAcbrNFe.acbrNota.NotasFiscais.Clear; with dmdModAcbrNFe.acbrNota.WebServices.ConsNFeDest.retConsNFeDest do begin repeat // incremento item da pesquisa ( servirá apenas para determinar se trata-se da primeira pesquisa // visto que esta deverá ser utilizar o NSU da consulta anterior ) inNroPesquisa := inNroPesquisa + 1; // pesquiso na sefaz try dmdModAcbrNFe.acbrNota.ConsultaNFeDest(stCNPJEmpresa, StrToIndicadorNFe(ok,stIndNFe), StrToIndicadorEmissor(ok,stIndEmi), stUltNSU); except on e : exception do if Trim(e.message) <> '' then begin stMsgErro := 'ATENÇÃO !' + #13 + #13 + 'A SEFAZ recebeu o pedido de Consulta ' + #13 + #13 + 'Mas retornou a seguinte mensagem de erro : ' + #13 + #13 + ' ' + Trim(e.message); showmessage(stMsgErro); end else begin stMsgErro := 'ATENÇÃO !' + #13 + #13 + 'A SEFAZ recebeu o pedido de Consulta ' + #13 + #13 + 'Mas retornou a seguinte mensagem de erro : ' + #13 + #13 + ' ' + Trim(dmdModAcbrNFe.acbrNota.WebServices.ConsNFeDest.retConsNFeDest.xMotivo); showmessage(stMsgErro); end end; for inInc := 0 to ret.Count - 1 do begin retorno := ret.Items[inInc]; // inicializo dataset de inclusão do item if (not(retorno.resNFe = nil) and not(retorno.resNFe.chNFe = EmptyStr)) then if (Trim(retorno.resNFe.NSU) <> '') then begin // numero do NSU stNro_Nsu := retorno.resNFe.NSU; // nro. nota eletronica stNumNfEletronica := retorno.resNFe.chNFe; // cnpj stCnpj := retorno.resNFe.CNPJCPF; stCnpj := Copy(stCnpj,1,2) + '.' + Copy(stCnpj,3,3) + '.' + Copy(stCnpj,6,3) + '/' + Copy(stCnpj,9,4) + '-' + Copy(stCnpj,13,2) ; // razão social stRazaoSocial := AnsiUpperCase(retorno.resNFe.xNome); // inscrição estadual stInscricao := retorno.resNFe.IE; // data da emissão dtDataEmissao := retorno.resNFe.dEmi // entrada ou saída case retorno.resNFe.tpNF of tnEntrada: stTipoNfe := '0'; // entrada tnSaida: stTipoNfe := '1'; // saida end; // valor total da nota fiscal cyValorNota := retorno.resNFe.vNF; // data da autorização dtDataAutoriza := retorno.resNFe.dhRecbto // código da situação da nfe stCodSituacaoNfe := ''; case retorno.resNFe.cSitNFe of snAutorizado: stCodSituacaoNfe := '1'; // nfe autorizada snDenegado: stCodSituacaoNfe := '2'; // nfe denegada snCancelado: stCodSituacaoNfe := '3'; // nfe cancelada end; // Código da Situação da Manifestação do Destinatário case retorno.resNFe.cSitConf of smdSemManifestacao: stCodSituacaoManifestacao := '0'; // Sem Manifestação do Destinatario smdConfirmada: stCodSituacaoManifestacao := '1'; // Confirmada Operaçao smdDesconhecida: stCodSituacaoManifestacao := '2'; // Desconhecida smdOperacaoNaoRealizada: stCodSituacaoManifestacao := '3'; // Operação não Realizada smdCiencia: stCodSituacaoManifestacao := '4'; // Ciencia end; except AddMensagem('Erro Gravando NSU : ' + stNro_Nsu); if qryIncItemConsulta.Transaction.InTransaction then qryIncItemConsulta.Transaction.RollbackRetaining; Raise; end; end; end; stUltNSU := ultNSU; if (inItemConsulta > spnMaximoNotas.Value) then begin break; end; until (indCont = icNaoPossuiMaisDocumentos); end;
  5. Sra. Juliana Estamos emitindo Nfe normalmente. Conseguindo enviar, cancelar, consultar,inutilizar. Só aparece erro na Carta de Correção e em São Paulo Grato
  6. Companheiros Boa Tarde! Estamos observando erro na transmissão da Carta de Correção em Ambiente de Produção no Estado de São Paulo. Apenas no ambiente de Produção ocorre o seguinte erro "Rejeição: Falha no schema XML". Por acaso os companheiros estão observando este erro também? Pela lógica o erro é da Sefaz-SP, concordam ? Grato
  7. Porque dá muito trabalho fazer algo que só vai beneficiar o Governo! Nós sofremos e o Governo recebe tudo pronto! Será que pelo menos posso ganhar um boné para esquecer o cansaço acumulado de todos estes dias?
  8. Sr. Italo Será que eu consigo utilizar o ACBR MONITOR PLUS para assinar um arquivo xml? Eu gero um arquivo ENT.TXT na pasta padrão do ACBRMONITORPLUS com um comando para assinar um arquivo que está em em uma determinada pasta. Acha que daria certo? Obviamente no AcbrMonitorPlus estaria configurado o Certificado Digital e dados do emitente. Grato
  9. Sr. Juliomar Entendi! Vou fazer o procedimento. Muito obrigado.
  10. Sr. Italo Na verdade eu procedo da seguinte forma : - importo o arquivo txt ( acbrNota.NotasFiscais.LoadFromFile(stArquivo); ) - gero o arquivo xml ( acbrNota.NotasFiscais.Items[0].GerarXML; ) ( faço isto apenas 1 vez, embora eu tenha colocado repetido logo acima ) - assino o arquivo xml ( acbrNota.NotasFiscais.Assinar; ) - gero o arquivo em disco (acbrNota.NotasFiscais.Items[0].GravarXML(ExtractFileName(stArquivoXML),ExtractFilePath(stArquivoXML));) Porém eu não consigo debugar porque o certificado digital do cliente é A3 e não posso trazê-lo para meu escritório. Eu só consegui descobrir o erro porquefui colocando showmessage logo após cada linha, o que me possibilitou descobrir. O Sr. acha que cometi algum erro na sequência de comandos? Seria falta de alguma DLL específica? Grato
  11. Prezados Companheiros Eu criei recurso para na minha aplicação importar arquivo TXT e gerar arquivo XML. Tudo ocorreu com sucesso. Vejam como ficou o código-fonte: acbrNota.NotasFiscais.Clear; acbrNota.NotasFiscais.Add; NFeRTXT := TNFeRTXT.Create(acbrNota.NotasFiscais.Items[0].NFe); NFeRTXT.CarregarArquivo(Trim(stArquivo)); if NFeRTXT.LerTxt then NFeRTXT.Free else begin NFeRTXT.Free; //tenta XML acbrNota.NotasFiscais.Clear; try acbrNota.NotasFiscais.LoadFromFile(stArquivo); except //ShowMessage('Arquivo NFe Inválido'); //exit; end; end; acbrNota.NotasFiscais.Items[0].GerarXML; acbrNota.NotasFiscais.Items[0].GravarXML(ExtractFileName(stArquivoXML),ExtractFilePath(stArquivoXML)); acbrNota.NotasFiscais.Items[0].GravarXML(ExtractFileName(stArquivoXML),ExtractFilePath(stArquivoXML)); Mas aí resolvi modificar para já gerar o arquivo assinado, caso o Número de Série do certificado esteja configurado no computador, desta forma : if (Trim(stNROCERTIFICADO) <> '') then begin acbrNota.NotasFiscais.Assinar; end; acbrNota.NotasFiscais.Items[0].GravarXML(ExtractFileName(stArquivoXML),ExtractFilePath(stArquivoXML)); Só começou a exibir um erro de "TRANSACTION IS NOT ACTIVE" na linha do método ASSINAR. Sabem os companheiros o que pode esta ocasionando isto? Grato
  12. Companheiros Estou criando rotina para selecionar o Certificado Instalado na Máquina através desta rotina : stNroCertificado := AcbrNota.SSL.SelecionarCertificado; E isto está resultando em um erro "CLASSE NÃO REGISTRADA". Sabem o que pode estar provocando o erro? Grato Carlos
  13. Prezados Srs. André e Amarildo Bom Dia! Apenas para finalizar o assunto, fiz novo teste utilizando a rotina de Conversão do Arquivo TXT para XML do ACBR e constatei que funcionou perfeitamente ( como um Relógio Suiço ). Trata-se portanto de uma poderosa ferramenta para compatibilizar sistemas mais antigos com as novas normas da Nfe. Assim, gostaria de agradecer sua ajuda e novamente pedir desculpas. Eu me considero satisfeito com relação à este assunto. Grato
  14. Prezado Sr. André Por favor me desculpe. O Sr. está corretíssimo. O problema está integralmente no Arquivo TXT que eu gerei. No arquivo txt gerado o Código Situação Tributária está cortado, exibindo '90', quando deveria ser '900'. Solicito desculpas também ao Sr. Amarildo. Grato Carlos Augusto Franca-Sp
  15. Sr. André A expressão "N10h" corresponde justamente à CSOSN 900. O problema é que quando o Arquivo XML é gerado não aparece o código 900. Grato
  16. Sr. Amarildo Obrigado por sua ajuda. Vou aguardar uma ajuda dos senhores. Grato
  17. Sr. Amarildo Existe um modelo de arquivo txt que fica dentro da pasta \acbr\trunk2\Doctos\Manuais\Layout_TXT_NFe_NFCe_4_00.odt. Portanto, estou utilizando um manual de arquivo txt homologado pela Comunidade ACBR. E o método acbrNota.NotasFiscais.LoadFromFile aceita plenamente o arquivo gerado pelo manual acima indicado. Portanto, o problema é que quando importa o arquivo , estão ocorrendo os erros que descrevi acima. Aliás, minha esperança para resolver o problema é justamente conseguir importar o arquivo conforme descrevi acima, visto que é uma funcionalidade em vigor no ACBR. Grato
  18. Sr. Amarildo Por precaução eu fiz teste de importação de um arquivo txt e sua geração em formato xml utilizando o Acbr, de umaempresa inscrita no Regime Normal de ICMS. E constatei que também está com problema nesta funcionalidade de converter txt para xml com arquivos deste tipo. Não está sendo gerada a Tag : PAG. Assim, estou anexando o arquivo txt e bem como o arquivo xml resultante. Veja que no arquivo txt temos a estrutura : YA01|1|01|9.90|||| YA09| E no arquivo xml temos somente : <pag/> Grato Carlos Franca-Sp 009092_00396589000199_001_29_07_2018.xml 009092_00396589000199_001_29_07_2018-nfe.txt
  19. Sr. Amarildo Estou postando aqui : - arquivo txt - arquivo xml ( resultante do arquivo txt ) Eu fiz modificações em ambos arquivos apenas para trocar dados pessoais de : emitente / cliente / transportador. O Sr.verá que no final do arquivo txt , no item 10 existe a tag : N10h| ( correspondente à Situação Tributária de Icms Simples : 500 ). Mas, quando o arquivo é gerado , a tag fica assim : <CSOSN>0</CSOSN>. Abaixo eu posto também o código fonte da geração do arquivo. Grato por sua ajuda. Carlos Franca-Sp CÓDIGO-FONTE: acbrNota.NotasFiscais.Clear; acbrNota.NotasFiscais.Add; NFeRTXT := TNFeRTXT.Create(acbrNota.NotasFiscais.Items[0].NFe); NFeRTXT.CarregarArquivo(Trim(stArquivo)); if NFeRTXT.LerTxt then NFeRTXT.Free else begin NFeRTXT.Free; //tenta XML acbrNota.NotasFiscais.Clear; try acbrNota.NotasFiscais.LoadFromFile(stArquivo); except //ShowMessage('Arquivo NFe Inválido'); //exit; end; end; acbrNota.NotasFiscais.Items[0].GerarXML; acbrNota.NotasFiscais.Items[0].GravarXML(ExtractFileName(stArquivoXML),ExtractFilePath(stArquivoXML)); 020223_59615773000125_001_28_07_2018-nfe.txt 020223_59615773000125_001_28_07_2018.xml
  20. Prezados Companheiros Boa Noite! Estou auxiliando amigos que possuem Sistema ERP mais antigo ( licença comprada ),e por questão financeira não tem como migrar para uma aplicação mais dispendiosa. Desenvolvi rotina que : - lê o arquivo txt que a aplicação deles gera ( Nfe 3.10 ) - mescla com informações que eu criei diretamente no banco de dados - gera um arquivo txt no padrão do ACBR ( Nfe 4.00 ) - importa no componente ACBRNFE - finalmente exporta como Arquivo XML ( Nfe 4.00 ) Como eles são Regime Simples, eu fiz teste com todas Situações Tributárias do Simples, apenas para constatar se estava tudo correto. Constatei que apenas na Situação Tributária 900 ocorreu um erro : a)-No Arquivo TXT: N| N10h|0|90|3|35.00||18.00|6.30| |||||||||3.41|1.19| b)-No Arquivo XML: <ICMS> <ICMSSN> <orig>0</orig> <CSOSN>0</CSOSN> </ICMSSN> </ICMS> Vejam que na Sit.Tributária 500 este erro não ocorre : <ICMS> <ICMSSN500> <orig>0</orig> <CSOSN>500</CSOSN> </ICMSSN500> Sabem os companheiros a causa deste problema? Grato
  21. Boa Tarde! Sim eu vi o comentário do Sr. André! Apenas quiz confirmar com os companheiros como estava a situação em todos os Estados onde possuem clientes. Se estavam experimentando situações diferentes em diferentes estados. Em nosso ERP , considerando contato de ontem com os companheiros, optei por parametrizar nos ambientes de Produção e Homologação. Obrigado por sua ajuda.
  22. Companheiros Com relação à nova propriedade : Configuracoes.Geral.CamposFatObrigatorios recentemente criada, como vocês estão procedendo ? Chegaram a criar em seus sistemas uma parametrização para informar valores nesta propriedade : - por Estado - por Ambiente ? Estão detectando diferenças de comportamento entre as Sefaz de cada estado relativo à aplicação da Regra de Validação Y01-20 ? Grato
  23. Companheiros Com relação à nova propriedade : Configuracoes.Geral.CamposFatObrigatorios recentemente criada, como vocês estão procedendo ? Chegaram a criar em seus sistemas uma parametrização para informar valores nesta propriedade : - por Estado - por Ambiente ? Estão detectando diferenças de comportamento entre as Sefaz de cada estado relativo à Regra de Validação Y01-20 ? Grato
  24. Companheiros Obrigado pela sua atenção e pelas informações! Me considero satisfeito com o contéudo da ajuda ! Obrigado
  25. Sr. Amarildo Estou em contato com as seguintes situações : - Erp gera um Arquivo TXT que é importado no Emissor Público de NFE e Transmitido - Erp gera um Arquivo XML que é importado no Emissor Público de NFE e Transmitido A questão é : posso sugerir aos usuários destes Erps ( que não são de minha autoria ) uitilizarem o ACBRMONITORPLUS para : - importar os arquivos - transmitir - imprimir o Danfe evitando utilizarem o Emissor Público de NFE do Sebrae? Estas pessoas são amigas minhas e estão muito assustadas com a possibilidade do Emissor Público de Nfe do Sebrae não ficar pronto até o final da Vigência da Nfe 3.10 ( dia 02/08/2018 ). Grato
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.