Ir para conteúdo
  • Cadastre-se

William Mometti

Membros
  • Total de ítens

    33
  • Registro em

  • Última visita

Tudo que William Mometti postou

  1. Segue em anexo o arquivo: "pcnConversaoNFe.pas" com as alterações supramencionada... pcnConversaoNFe.pas
  2. Boa, Juliana! Todos que puderem vamos ajudar a comunidade. Para resolver o problema do "ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.tpEvento", não mapear os eventos “990900 - Vistoria Suframa” e "990910 - Internalização Suframa" efetuar a seguinte modificação no Fonte do ACBr. Diretório: ACBr\Fontes\ACBrDFe\ACBrNFe\PCNNFe Alterar a function "StrToTpEventoNFe" no arquivo: "pcnConversaoNFe.pas" De: function StrToTpEventoNFe(out ok: boolean; const s: string): TpcnTpEvento; begin Result := StrToEnumerado(ok, s, ['-99999', '110110', '110111', '110112', '110140', '111500', '111501', '111502', '111503', '210200', '210210', '210220', '210240', '610600', '610614', '790700'], [teNaoMapeado, teCCe, teCancelamento, teCancSubst, teEPECNFe, tePedProrrog1, tePedProrrog2, teCanPedProrrog1, teCanPedProrrog2, teManifDestConfirmacao, teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada, teRegistroCTe, teMDFeAutorizadoComCTe, teAverbacaoExportacao ]); end; Para: function StrToTpEventoNFe(out ok: boolean; const s: string): TpcnTpEvento; begin Result := StrToEnumerado(ok, s, ['-99999', '110110', '110111', '110112', '110140', '111500', '111501', '111502', '111503', '210200', '210210', '210220', '210240', '610600', '610614', '790700', '990900', '990910'], [teNaoMapeado, teCCe, teCancelamento, teCancSubst, teEPECNFe, tePedProrrog1, tePedProrrog2, teCanPedProrrog1, teCanPedProrrog2, teManifDestConfirmacao, teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada, teRegistroCTe, teMDFeAutorizadoComCTe, teAverbacaoExportacao, teVistoriaSuframa, teConfInternalizacao]); end; Fiz o teste em minha aplicação e deu certo.
  3. Boa noite, Bea. A forma de buscar o evento "990910 - Confirmacao de Internalizacao da Mercadoria na SUFRAMA" é da mesma maneira que o "790700 - Averbação para Exportação". O problema que eu encontrei foi que a variável "teConfInternalizacao" não está carregando valor nela, ou seja, esse evento "990910 - Confirmacao de Internalizacao da Mercadoria na SUFRAMA" está vindo como Não Mapeado, que é a mesma coisa que estava acontecendo com a variável "teAverbacaoExportacao" do evento "790700 - Averbação para Exportação" ( o Italo acerto no fonte do ACBr ), agora seria top se o Italo pudesse acertar também o evento "990910 - Confirmacao de Internalizacao da Mercadoria na SUFRAMA" no ACBr. Para mim esses eventos "990910 - Confirmacao de Internalizacao da Mercadoria na SUFRAMA", começaram a ficar disponíveis a partir da data de autorização 23/12/2019. Esse novo evento começou a ser emitido devido ao novo sistema do SUFRAMA o SIMNAC - Sistema de Ingresso de Mercadoria Nacional (Clique aqui para ver o Manual). (A partir de agora fica extinta a Declaração de Ingresso emitida pelo SUFRAMA, mas no lugar será gerado o Evento “990910 - Internalização SUFRAMA” ) Segue mais ou menos a rotina que eu fiz, onde foi feita "a toque de caixa", ou seja, precisa ser melhorada... procedure ConsultarNFeEmitente; var s_CNPJ, s_UF_Autor, s_ChaveNFe, s_NSU_Atual: String; docZip: TdocZipCollectionItem; i_UltimoNSU, i, j: Integer; node_infEvento, node_detEvento: IXMLNode; xml_dhEvento, xml_dhVistoria: TDateTime; xml_tpEvento, xml_NumeroPINe, xml_LocalidadeVistoria, xml_Posto, xml_Historico: String; i_Qtd_DFe_Encontrado: Integer; begin i_Qtd_DFe_Encontrado := 0; s_CNPJ := '000000000000'; // CNPJ da Empresa s_UF_Autor := ACBrNFe1.Configuracoes.WebServices.UF; // Aqui antes de começar busco qual foi o ultimo NSU que ficou gravado, e caso for a primeira vez será "0"... with qryTemp do begin Close; SQL.Clear; SQL.Add('SELECT ... '); Open; i_UltimoNSU := FieldByName('CodigoUltimoNSU').AsInteger; end; repeat try ACBrNFe1.DistribuicaoDFePorUltNSU( UFtoCUF( s_UF_Autor ), s_CNPJ, IntToStr( i_UltimoNSU ) ); i_UltimoNSU := StrToInt( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU ); // Rotina que grava o Ultimo NSU consultado, com Data/Hora e Usuário do sistema if ( i_UltimoNSU > 0 ) then GravaUltimoNSU( i_UltimoNSU ); except on er: Exception do begin if ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 0 ) then // Pode ser o Erro de Inativo e Inoperante begin Sleep( 5000 ); ACBrNFe1.DistribuicaoDFePorUltNSU( UFtoCUF( s_UF_Autor ), s_CNPJ, IntToStr( i_UltimoNSU ) ); i_UltimoNSU := StrToInt( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU ); if ( i_UltimoNSU > 0 ) then GravaUltimoNSU( i_UltimoNSU ); end else begin MessageDlg( 'cStat: ' + IntToStr( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat ) + #13#10 + er.Message, mtError, [mbOk], 0 ); Abort; end; end; end; // caso haja retorno [138-Documento localizado] try if ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138 ) then begin j := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1; for i:= 0 to j do begin Inc( i_Qtd_DFe_Encontrado ); frmAtualizandoDados.Repaint; frmAtualizandoDados.Refresh; Application.ProcessMessages; XMLDocument1.XML.Clear; s_ChaveNFe := ''; if not ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento = nil ) and not ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.chDFe = EmptyStr ) then begin s_ChaveNFe := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.chDFe; s_NSU_Atual := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].NSU; // Verifica se é o evento Completo de "990910 - Confirmacao de Internalizacao da Mercadoria na SUFRAMA". // Estarei fazendo esse monte de verificações até o ACBr acertar a variável "teConfInternalizacao" if ( ( s_ChaveNFe <> '' ) and ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].schema = schprocEventoNFe ) ) and ( ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.tpEvento = teConfInternalizacao ) or ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.detEvento.descEvento = 'Confirmacao de Internalizacao da Mercadoria na SUFRAMA' ) or ( ( AnsiPos('Internalizacao', ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.detEvento.descEvento) > 0 ) and ( AnsiPos('SUFRAMA', ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.detEvento.descEvento) > 0 ) ) or ( ( AnsiPos('Internalização', ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.detEvento.descEvento) > 0 ) and ( AnsiPos('SUFRAMA', ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.detEvento.descEvento) > 0 ) ) ) then begin // Consulta no Banco de Dados para verificar se a NF-e é "Venda destinada à Zona Franca de Manaus ou Áreas de Livre Comércio - CFOP 6.109 e 6.110" // Regra de Negócio minha... with qryTemp do begin Close; SQL.Clear; SQL.Add('SELECT ...'); SQL.Add(' FROM ... ns'); SQL.Add(' WHERE ... '); SQL.Add(' AND ns.CFOP IN ( ''6.109'', ''6.110'' )'); ParamByName('p_ChaveNFE').AsString := s_ChaveNFe; Open; end; if ( qryTemp.RecordCount > 0 ) then begin // Carrega o XML no "XMLDocument1", onde será possível acessar os "Nodes" de maneira mais fácil... // Foi feito essa rotina que lê direto no XML, pois, até na data "10/02/2020" o componente ACBrNFe não estava totalmente preparado para trabalhar com esse evento... XMLDocument1.XML.Clear; XMLDocument1.LoadFromXML( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].XML ); node_infEvento := XMLDocument1.ChildNodes.FindNode('procEventoNFe').ChildNodes.FindNode('evento').ChildNodes.FindNode('infEvento'); xml_dhEvento := ISO8601ToDate( node_infEvento.ChildValues['dhEvento'], False ); xml_tpEvento := node_infEvento.ChildValues['tpEvento']; node_detEvento := XMLDocument1.ChildNodes.FindNode('procEventoNFe').ChildNodes.FindNode('evento').ChildNodes.FindNode('infEvento').ChildNodes.FindNode('detEvento'); xml_NumeroPINe := node_detEvento.ChildValues['PINe']; xml_dhVistoria := ISO8601ToDate( node_detEvento.ChildValues['dVistoria'], False ); xml_LocalidadeVistoria := node_detEvento.ChildValues['locVistoria']; xml_Posto := node_detEvento.ChildValues['postoVistoria']; xml_Historico := node_detEvento.ChildValues['xHistorico']; // Aqui eu faço a Inserção do Evento no meu Banco de Dados... qryTemp2.Close; qryTemp2.SQL.Clear; qryTemp2.SQL.Add('BEGIN'); qryTemp2.ExecSQL; qryTemp2.Close; qryTemp2.SQL.Clear; qryTemp2.SQL.Add('INSERT INTO ... '); qryTemp2.ParamByName('chNFe').AsString := s_ChaveNFe; qryTemp2.ParamByName('NSUProtocolo').AsString := s_NSU_Atual; qryTemp2.ParamByName('dhEvento').AsDateTime := xml_dhEvento; qryTemp2.ParamByName('tpEvento').AsString := xml_tpEvento; qryTemp2.ParamByName('nSeqEvento').AsInteger := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.nSeqEvento; qryTemp2.ParamByName('descEvento').AsString := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.detEvento.descEvento; qryTemp2.ParamByName('ProtocoloEvento').AsString := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.RetinfEvento.nProt; qryTemp2.ParamByName('dhAutorizacaoSEFAZ').AsDateTime := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.RetinfEvento.dhRegEvento; qryTemp2.ParamByName('NumeroPINe').AsString := xml_NumeroPINe; qryTemp2.ParamByName('dhVistoria').AsDateTime := xml_dhVistoria; qryTemp2.ParamByName('LocalidadeVistoria').AsString := xml_LocalidadeVistoria; qryTemp2.ParamByName('Posto').AsString := xml_Posto; qryTemp2.ParamByName('Historico').AsString := xml_Historico; qryTemp2.ExecSQL; qryTemp2.Close; qryTemp2.SQL.Clear; qryTemp2.SQL.Add('COMMIT'); qryTemp2.ExecSQL; end; end; end; end; end; except on er: exception do begin raise Exception.Create('Erro Capturado: ' + er.Message); end; end; until ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat IN [108,109,137] ); if ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 108 ) then begin MessageDlg('cStat = 108: Serviço Paralisado Momentaneamente (curto prazo).', mtWarning, [mbOk], 0); end else if ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 108 ) then begin MessageDlg('cStat = 109: Serviço Paralisado sem Previsão.', mtWarning, [mbOk], 0); end else if ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 ) then begin // Caso tenha encontrado Documento Fiscal Eletrônica, irá da a mensagem "Pesquisa NF-e executado com sucesso!". if ( i_Qtd_DFe_Encontrado > 0 ) then begin MessageDlg('Pesquisa de NF-e que foram Internalizadas foi executado com sucesso!', mtInformation, [mbOk], 0); end else begin MessageDlg('cStat = 137: Nenhum documento localizado.', mtWarning, [mbOk], 0); end; end; end; Espero que eu posso ter ajudado em alguma coisa. Até mais...
  4. Boa noite, Italo. Primeira pergunta ao executar essa rotina ele entra dentro desse IF? Sim, você conseguiu acertar essa parte no ACBrNFe. a propriedade XML contem o XML do evento? Sim, quando "procEvento.tpEvento = teAverbacaoExportacao" e nodedetEvento.ChildNodes[i_ChildNodes].NodeName = 'itensAverbados' eu consigo pegar o XML do evento corretamente em DistribuicaoDFe.retDistDFeInt.docZip.Items.XML. Até o componente ACBrNFe for implementado corretamente essa função do Averbação de Exportação, estarei fazendo essa engenharia alternativa (esta dando 100% certo), até porque o cliente não espera muito. rsss Obrigado pela atenção, até mais.
  5. Bom dia, Italo. Hoje fiz a atualização geral e reinstalei o componente ACBr. E testei novamente a busca pelos eventos de Averbação de Exportação e continuou o problema citado acima. Não consigo ler o que está dentro da Propriedade "itensAverbados", não lista itens ou qualquer propriedade valida, conforme imagem em anexo. // Por hora estou pegando os itens Averbados dentro do XML // Minha rotina é parecida com a citada abaixo... // No loop dos eventos retornado pelo "ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip" if ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.tpEvento = teAverbacaoExportacao ) then begin XMLDocument1.LoadFromXML( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].XML ); nodedetEvento := XMLDocument1.ChildNodes.FindNode('procEventoNFe').ChildNodes.FindNode('evento').ChildNodes.FindNode('infEvento').ChildNodes.FindNode('detEvento'); for i_ChildNodes := 0 to nodedetEvento.ChildNodes.Count - 1 do begin if ( nodedetEvento.ChildNodes[i_ChildNodes].NodeName = 'itensAverbados' ) then begin nodeitensAverbados := nodedetEvento.ChildNodes[i_ChildNodes]; xml_dhEmbarque := ISO8601ToDate( nodeitensAverbados.ChildValues['dhEmbarque'], False ); xml_dhAverbacao := ISO8601ToDate( nodeitensAverbados.ChildValues['dhAverbacao'], False ); xml_nDue := FormatMaskText('99aa999999999\-9;0;', nodeitensAverbados.ChildValues['nDue'] ); xml_nItem := nodeitensAverbados.ChildValues['nItem']; xml_nItemDue := nodeitensAverbados.ChildValues['nItemDue']; xml_qItem := StringReplace( nodeitensAverbados.ChildValues['qItem'], '.', ',', [rfReplaceAll] ); xml_motAlteracao := nodeitensAverbados.ChildValues['motAlteracao']; Inc( i_itensAverbados ); end; end; end; Obrigado pela atenção.
  6. Em anexo estou passando outro XML do Evento de Averbação que estava tentando carregar acima (só mudei o CNPJ do meu cliente), que é de outra NF. Vi que a estrutura/elementos/tags são exatamente iguais nos XMLs, onde é claro só muda os valores das tags... AverbacaoExportacao_2.xml
  7. Boa tarde, Italo. Eu segui o seu procedimento de atualizar e instalar o ACBr novamente. Agora consigo ver mais propriedades alimentadas como por exemplo: ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.tpEvento = teAverbacaoExportacao ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.FRetInfEvento.FtpEvento = teAverbacaoExportacao Pelo que vi o que mudou: Dentro de propriedade "ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.FDetEvento" agora tem a "ItensAverbados" que pelo que vi é uma Collection Onde creio que poderia acessar os valores assim: ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.DetEvento.itensAverbados.Items[0] Mais isso no Debug "Evaluate/Modify" retorna o erro (em anexo imagem): "Delphi exception EListError at $3052F8A1" ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.detEvento.itensAverbados.Items[0].dhEmbarque Debug "Inaccessible value" Em execução da o erro: "List index out of bounds (0)" Agradeço pela atenção,
  8. Para melhorar a documentação desse post. Esse evento foi divulgado na Nota Técnica 2014/002, Web Service de Distribuição de DF-e de Interesse dos Atores da NF-e (PF ou PJ), Versão 1.02b de Maio 2017. http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=s/plBMpQotg= Obrigado!
  9. Boa tarde, Italo. Sim, é o fisco (SISCOMEX) que emite esse evento. O evento de averbação é um registro eletrônico vinculado às notas fiscais eletrônicas de exportação que instruíram a DU-E, com informações relativas (art. 93 da IN RFB nº 1.702/2017). Este evento é registrado nas notas fiscais pelo Portal siscomex.gov.br, depois da autorização de embarque ou de transposição de fronteira. Não basta que a mercadoria tenha sido desembaraçada para que o evento seja enviado à nota fiscal. É necessária a confirmação do embarque. Somente depois desta confirmação é que o evento de averbação de embarque é gerado. Em anexo o XML do Evento de Averbação para Exportação (por questão de segurança eu só troquei o CNPJ na Chave de Acesso, por um fictício, caso precise do XML original posso passar por e-mail). Meu muito obrigado pela atenção. AverbacaoExportacao.xml
  10. Bom dia a todos, Um cliente solicitou uma solução para buscar as informações do evento de Averbação de Exportação código do Evento 790700, onde o mesmo fica vinculado as NF-e de Exportação Direta e Indireta (CFOPs 7.101, 7.102, 5.501, 5.502, 6.501, 6.502) emitida POR ELE MESMO. Nesse evento tem os campos abaixo que são os importantes para eu pegar e fazer minha documentação, mas não são carregados nas propriedades do Componente ACBrNFe, só estão na propriedade XML é claro: Item da NF-e, Item da DUE, Número da DUE, Quantidade Averbada (uTrib), Data do Embarque, Data da Averbação, Motivo da Alteração Estou usando o componente ACBrNFe com a função: ACBrNFe1.DistribuicaoDFePorUltNSU( UFtoCUF( s_UF_Autor ), s_CNPJ, IntToStr( i_UltimoNSU ) ); Faço o clássico loop usando repeat, e essa função me retorna certinho os XMLs das NF-e e os Eventos etc. Só que percebi que no caso do Evento de Averbação de Exportação, o componente ACBrNFe não está mapeando as propriedades desse Evento. Aliais quando o evento é Averbação de Exportação a propriedade abaixo do componente nem é definida. ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.tpEvento = teAverbacaoExportacao ) Em vez de teAverbacaoExportacao ela fica teNaoMapeado. E consigo ver as seguintes propriedades abaixo: ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema = schprocEventoNFe ) ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.chDFe <> '' ) ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.cOrgao = 91 ) ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.CNPJ = '33683111000107' ) // CNPJ do SERPRO ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.tpEvento = teNaoMapeado ) ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.DetEvento.DescEvento = 'Averbação para Exportação' ) ( ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.RetInfEvento.cStat = 135 ) O XML está certinho dentro da Propriedade: ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.XML Eu sei que eu posso pegar os dados do XML (ficar lendo os XMLs que estão vindo) dessa propriedade e utilizar. Mas quero fazer a pergunta se eu estou tentando pegar os dados desse evento de maneira errada ou se o componente ainda não está preparado para trabalhar com esse Evento de Averbação de Exportação (daí o porquê de retornar Não Mapeado), nos Eventos de Manifestação do Destinatário e Carta de Correção o componente preenche certinho as propriedades e com isso facilitando muito a extração das informações. Agradeço desde já a atenção de todos.
  11. Bom dia, osmargyn Eu também estou tendo o mesmo problema em utilizar o WebService de Distribuição de DFe, para mim, começou no dia 27/08/2019, de principio ficando intermitente e depois sempre ocorrendo. Só de abrir o link do WebService pelo navegador já da erro: https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx HTTP Error 503. The service is unavailable. (O serviço esta indisponível). Tempos em tempos, a Receita faz esse maravilho trabalho de ferrar com seus contribuintes. Eles são fantásticos em fazer os contribuintes se ferrarem... Esse serviço deveria ser um exemplo um modelo de funcionamento perfeito, porque os documentos em questão geram impostos = receita para o governo. Dai você vê sites como arquivei.com.br que oferece esse tipo de serviço, claro que pago, sem dar nenhum problema, e porque isso, porque o governo criou um WebService exclusivo para "grandes" empresas oferecerem esse serviço (que deveria ser gratuito) sem dar problemas. Que WebService que o arquivei.com.br e sites do gênero usam? Eles utilizam a API do SERPRO (Serviço Federal de Processamento de Dados) do Governo Federal, consulte os preço para utilizar a API da SERPRO, são espetaculares . https://servicos.serpro.gov.br/api-serpro/biblioteca/index.html É uma absurdo uma situação dessa, muito deprimente.
  12. Sim... Colega... a lentidão nos WebServices do Governo é comum (pela quantidade de impostos que pagamos jamais deveria ser assim), se for gratuito mas se for pago como no caso do SERPRO é instantâneo as consultas, não precisa ficar horas criando rotinas para tratar erros e fazer malabarismo loucos por uma simples consulta de WebService. Todos nós temos que nos contentar (com toda essa quantidade de impostos que pagamos) com isso e ponto final... kkk Acho que pedir um servicinho decente para o governo é reclamar de mais... só me resta rir numa dessa
  13. Esse aplicativo em Java de Manifestação do Governo, também está com problemas de lentidão e está dando mensagem TimeOut (imagem em anexo)... Pois, deve está usando o mesmo WebService de Distribuição de NF-e do Ambiente Nacional. Só que o legal desse aplicativo do Governo que ele tem uma rotina muito boa para ficar dando Loop, mesmo que parece que vai ficar eternamente... rsss... E trata bem os erros do WebService. O legal de os desenvolvedores acessarem direto o WebService é implementar essa rotina em seus ERPs e não ficar usando softwares de terceiros e importando de um lado para o outro...
  14. Para mim o governo está deixando de propósito o WebService de distribuição ruim/péssimo para que as pessoas migrarem para os serviços pagos. Se alguém tiver outra opinião compartilhe. No SERPRO até 999 consultas valor fixo de R$ 662,40 (mensalmente) Caso passe de 999 da faixa 1.000 a 9.000, começa a ser cobrado R$ 0,66 por consulta com mais a mensalidade de R$ 662,42. E o valor por consulta só irá baixar se contratar planos caríssimos, é onde só compensa se abrir um site como o Arquivei.com.br, que tem quer um monte de clientes para tornar viável o negócio. No site arquivei.com.br tem o plano de R$ 139,90 por mês no pagamento anual, onde tem o limite mensal de 3.000 NFes, CTes e NFSe (quase R$ 0,05 por documento). Ainda para quem não pegou nas entre linhas nos comentários anteriores o governo está criando mais uma máfia para empresas grandes lucrarem, mais uma para os contribuintes pagarem a conta (que insistem em ficarem quietos e achar que é isso mesmo). É obvio que um serviço desses tem que ser gratuito como já estava sendo, e só ser disponibilizado para quem tem certificado digital para conseguir baixar os XMLs, até mesmo a consulta resumida dos documentos teria que ter o certificado e com isso não precisaria ter essa máfia. O próprio WebService de distribuição poderia fazer o controle por CNPJ para controlar o limite de consultas diárias, para evitar consumo indevido. "Para que o mal triunfe basta que os bons fiquem de braços cruzados." Edmund Burke (Considerado o pai do conservadorismo moderno. No século XIX Burke inspirou tanto conservadores quanto liberais)
  15. Com essa notícia, fiquei mais orgulhoso ainda de ser brasileiro. sqn. Meu, o contribuinte paga os impostos da NF-e, paga o certificado digital e não tem um servicinho descente do governo, que loucura... Realmente estamos ferrados se continuarmos quietos... Quase todos os dias, eu me lembro daquela música "Que País É Este" do Legião Urbana. "Mas o sangue anda solto Manchando os papéis Documentos fiéis Ao descanso do patrão ..."
  16. Pessoal, Aqui também continuamos com problema persistente de TimeOut no WebService NFeDistribuicaoDFe (NF-e – Componente TACBrNFe), já no WebService CTeDistribuicaoDFe ( CT-e – Componente TACBrCTe) não estamos tendo problemas. Eu entrei em contato para questionar esse problema com Central NF-e 0800 9782338 (serpro.gov.br) e com o SEFAZ-SP. Tentei primeiramente o contato com a Central NF-e 0800 9782338 (serpro.gov.br), mas me disseram que eu tenho que resolver esse problema com o meu SEFAZ, ainda insisti com o atendente falando que o WebService é de Ambiente Nacional e seria com eles não no SEFAZ, claro não adiantou nada :(... Daí enviei e-mail para [email protected] e me responderam assim: “Prezado contribuinte, O Web Service de Distribuição de DFe (NFeDistribuicaoDFE) é de responsabilidade do ambiente nacional. Não temos relatos semelhantes de outros contribuintes. Não temos conhecimento dos sites indicados "lite.arquivei.com.br e fsist.com.br". Estão sendo tomadas medidas para evitar ferramentas que buscam informações de NF-es por meio das consulta públicas. No portal da NF-e SP já está sendo exigido certificado digital para consulta completa do documento. Em breve, o ambiente nacional também exigirá.” O maluco do SEFAZ-SP que me respondeu, não conhece o arquivei.com (pois, tinha questionado como esses sites conseguem fazer a consulta sem dar nenhum problema)... kkkk Estou pensando em fazer testes de madrugada, para ver se o WebService nesse horário está melhor, caso estiver, vou criar um robô para fazer as consultas, só que para meus clientes eles não precisam manifestar e nem baixar todos os XMLs, então o uso acaba tendo que ser mesmo no horário comercial, ai fica mais uma para o Analista Programador dar seus pulos.
  17. Também tem o www.fsist.com.br serviço top também... kkk. Ontem esse site estava até dando opção fazer a manifestação do destinatário pelo site. Você manda baixar um XML é na hora. Precisamos fazer um movimento em massa, questionar o SEFAZ porque disso, porque esses sites estão conseguindo acesso privilegiado.
  18. Boa tarde, Pessoal. Eu também estou com esse problema de TimeOut, desde hoje cedo. Não tive sucesso em nenhuma consulta. Tinha dia que até dava erro mais logo depois funcionava. O que a gente conclui que é problema do WebService, que no caso é no Ambiente Nacional e não no SEFAZ autorizadora. NFeDistribuicaoDFe: https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx Esse WebService estava bem lento na parte dá manhã, agora já está dando a mensagem: “The service is unavailable.”. Meu eu fico aqui pensando com meus botões, não é possível que um serviço desse está em uma situação desastrosa dessa. Quantos impostos os contribuintes pagam e quando precisam de uma simples consulta dos documentos fiscais, que ela pagou os impostos não conseguem fazer. E agora está aparecendo empresas/sites que fazem essa consulta e cobram pelo serviço. É uma situação absurda!
  19. O regyssilveira liberou a revision 16058, agora deu certo a instalação. Show de bola! Obrigado!
  20. Boa tarde, Pessoal. Acabei de atualizar na última Revision (16057) e ao executar o instalador "ACBrInstall_Trunk2.exe" está dando o abaixo: Já tentei usar o "apagarAcbr.bat". Utilizo no Windows 10 com Delphi 10.2 Tokyo Professional A única alteração que eu fiz no fonte é no arquivo ACBr.inc, linha 270 "{$DEFINE USE_MINGW}", habilitei o MinGW. Log: Caminho: C:\ACBR\ Versão do delphi: Delphi 10.2 Tokyo (0) Plataforma: Win32(0) ================================================================================ Criando diretórios de bibliotecas... Removendo diretorios e pacotes antigos instalados... Adicionando library paths... COMPILANDO OS PACOTES... Compiling package C:\ACBR\Pacotes\Delphi\synapse\ACBr_synapse.dpk "C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\dcc32.exe" "C:\ACBR\Pacotes\Delphi\synapse\ACBr_synapse.dpk" Embarcadero Delphi for Win32 compiler version 32.0 Copyright (c) 1983,2017 Embarcadero Technologies, Inc. 37134 lines, 0.36 seconds, 369552 bytes code, 29384 bytes data. Compilation success Pacote "ACBr_synapse.dpk" compilado com sucesso. Compiling package C:\ACBR\Pacotes\Delphi\ACBrComum\ACBr_Comum.dpk "C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\dcc32.exe" "C:\ACBR\Pacotes\Delphi\ACBrComum\ACBr_Comum.dpk" Embarcadero Delphi for Win32 compiler version 32.0 Copyright (c) 1983,2017 Embarcadero Technologies, Inc. C:\ACBR\Fontes\ACBrComum\ACBrBase.pas(181) Error: E2008 Incompatible types C:\ACBR\Fontes\ACBrComum\ACBrUtil.pas(2207) Fatal: F2063 Could not compile used unit 'ACBrConsts.pas' Compilation failure Erro ao compilar o pacote "ACBr_Comum.dpk". Abortando... Ocorreram erros na compilação dos pacotes. Em anexo imagens com as opções que marco no instalador.
  21. Bom dia, André. Obrigado pela resposta. Era isso mesmo, teria que haver uma modificação no componente ACBrNFe, para que não precisássemos fazer POG (Programação Orientada a Gambiarras). Ficou Show de Bola. Para o SEFAZ-SP em Produção (por enquanto), tenho que deixar a propriedade "ACBrNFe1.Configuracoes.Geral.CamposFatObrigatorios := False", se não da Rejeição: "Falha no Schema XML". ?
  22. Pessoal a questão é que o SCHEMA novo está exigindo valor, não é mais opcional informar ou não informar o "vDesc". Se voltar a ser opcional informar a tag "vDesc" terá que ser novamente atualizado o SCHEMA certo? <xs:element minOccurs="0" name="vDesc" type="TDec_1302"> <xs:annotation> <xs:documentation>Valor do desconto da fatura</xs:documentation> </xs:annotation> </xs:element>
  23. Bom dia, Pessoal. Vi que foi aberto um tópico sobre esse assunto em ACBrMonitorPLUS, mas foi fechado (905 - Rejeicao: Campos do grupo Fatura nao informados). A dúvida minha é que acho que as tags do Grupo Fatura (nFat, vOrig, vDesc e vLiq), agora são obrigadas a informar mesmo que seja valor "0.00", pois, pelo SCHEMAS/leiauteNFe_v4.00.xsd, foi alterado assim: Antes: <xs:element minOccurs="0" name="vOrig" type="TDec_1302Opc"> <xs:annotation> <xs:documentation>Valor original da fatura</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="vDesc" type="TDec_1302Opc"> <xs:annotation> <xs:documentation>Valor do desconto da fatura</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="vLiq" type="TDec_1302Opc"> <xs:annotation> <xs:documentation>Valor líquido da fatura</xs:documentation> </xs:annotation> </xs:element> Agora: Esquemas XML NF-e - Pacote de Liberação No. 9 (Novo leiaute da NF-e, NT 2016.002 v.1.60 - b). Publicado em 02/07/2018. ( leiauteNFe_v4.00.xsd está com data 27/06/2018 11:00 ) <xs:element minOccurs="0" name="vOrig" type="TDec_1302"> <xs:annotation> <xs:documentation>Valor original da fatura</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="vDesc" type="TDec_1302"> <xs:annotation> <xs:documentation>Valor do desconto da fatura</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="vLiq" type="TDec_1302"> <xs:annotation> <xs:documentation>Valor líquido da fatura</xs:documentation> </xs:annotation> </xs:element> "tiposBasico_v4.00.xsd" <xs:simpleType name="TDec_1302"> <xs:annotation> <xs:documentation>Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="TDec_1302Opc"> <xs:annotation> <xs:documentation>Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais, utilizado em tags opcionais</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?"/> </xs:restriction> </xs:simpleType> O meu problema é que estou tentando validar uma NF-e com pagamento 15-Boleto Bancário com Parcelamento... Assim não valida, pois falta a tag <vDesc> não foi gerada no XML: - <cobr> - <fat> <nFat>334320</nFat> <vOrig>1452.00</vOrig> <vLiq>1452.00</vLiq> </fat> Assim valida (só coloquei o desconto para ver se validava): - <cobr> - <fat> <nFat>334319</nFat> <vOrig>1452.00</vOrig> <vDesc>0.01</vDesc> <vLiq>1451.99</vLiq> </fat>
×
×
  • 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.