Ir para conteúdo
  • Cadastre-se

Duarte

Membros Pro
  • Total de ítens

    342
  • Registro em

  • Última visita

  • Days Won

    3

Tudo que Duarte postou

  1. Opa, boa tarde, Muito obrigado pela dica, mais uma para a coleção...!
  2. Bom dia, Pessoal, acabei de atualizar os fontes do ACBr, e começou agora mesmo a retornar "URL não definida para: TNFeRecepcao" Envia NF-e.... Socorro!!! Sem backup dos fontes antigo, atualizo direto o ACBr... Opa, perdão... Observei que o método de tratamento do retorno.
  3. Bom dia, Estou terminando aqui a migração para trunk2 dois, fiz pequenas adaptações no DANFeNFCeRL, para se usado em impressoras que não tem suporte a EscPos, mais vou postar aqui as alterações, quem sabe sirva para alguém... Obrigado!
  4. Tudo neste projeto foi feito com Thread, teve alguma alteração que o uso de Thread poderia a vim comprometer algo? Pois se que o uso de Thread é chato, uma mudança no projeto lá a gente que quer mexer em um monte de coisa que a Thread venha funcionar lega.
  5. Vou testar! No projeto que emiti as NF-e e NFC-e eu uso assim, dentro de um DataModule, este da DistribuicaoDFe + Manifesto é um projeto a parte, mais o interessante é que no trunk já vinha funcionado a meses, ou seja, tenho apenas um componente no form, a cada chamada do EnvioEvento limpo os eventos(Clear) e depois adiciono os novos(Add) agora no trunk2 que deu este bug. Acho que mesmo se jogo num data module daria no mesmo! Pois usarei o comando de manifesto logo após a DistribuicaoDFe, isto é, caso o usuário selecione notas a serem manifestada. Pois o projeto é assim: 1º Consultar as notas emitas usando o CNPJ, 2º Verificar quais destas notas já tenho o .xml (Coisa que o acbr tá fazendo legal, já baixa a nota completa "Download". Ficou ótimo isto! 3º Caso na lista vinda da DistribuicaoDFe tenha notas que não foi possível fazer o download, listo elas para o usuário, para que o mesmo selecione quais ele quer manifestar que tem ciência da nota. 4º Aqui entra a questão, veja que no ponto um eu usei no AcbrNFe o DistribuicaoNFe, agora em seguida irei usar "N" vezes o EnviaEvento. Sendo que eu monto um malote de 20 eventos para enviar. Não sei o porque que agora noo trunk2 está levantado o erro de assinatura. Mais em fim... Deu certo, vou esperar talvez achemos o que mudou que ocorreu isto, caso tenha um tempo e queira emular, é só comandar esta sequencia DistribuicaoDFe em seguida tente Comandar EnvioEvento, não fiz teste mais acho se usar o mesmo Objeto "AcbrNFe" para fazer tudo isto vai dar este erro. vou montar um exemplo aqui para emular. Imaginei (Enviar, DistribuicaoDFe, CartaCorrecao "Evento", Cancelar"Evento") daria na mesma coisa que fiz ai, ou seja envio de eventos após uma DistribuicaoDFe, não estou tento este problema porque o projeto da DistribuicaoDFe é um outro .exe
  6. Italo, meu muito obrigado, a sua unit resolveu a questão da DistribuicaoDFe, em relação ao manifesto resolvi assim. no inicio de cada manifesto, estou criando uma instância do acbrNFe para chamar o envioEvento, se usar a mesma instância que chamou a DistrbuicaoDFe, dar erro na assinatura, não sei o porque que no trunk não dava isto, então mudei o meu fonte está ok... Deste já meu muito obrigado que Deus lhe abençoe grandemente.
  7. Acabei de fazer um teste, aqui. removi todas as chamadas: SSL. A exceção é levantada se eu usar acbrNFe.DistribuicaoDFe depois acbrNFe.EnviarEvento. Fui debugando passo a passo veja aonde parou. Sendo que na primeira fez (DistribuiçãoDFe e assinado), se manifestar sem antes usar (DistribuiçãoDFe) manifesta. TACBrNFe.EnviarEvento -> function TDFeWebService.Executar -> procedure TDFeWebService.InicializarServico-> procedure TDFeWebService.DefinirDadosMs-> function TDFeSSL.Assinar-> procedure TDFeSSL.InitSSLClass-> function TDFeSSL.Assinar-> XmlAss := FSSLClass.Assinar(ConteudoXML, docElement, infElement);Linha 246 ACBrDFeSSL.pas
  8. Boa noite, 1º Italo muito obrigado pelas dicas. Sua alerta é necessária mesma! No código acima é apenas parte do projeto, é dado a opção de selecionar as nf-e que veio o Acbr não fez o downaload no retorno da ConsultaDFe, assim o usuário selecionar quais quer manifestar, então e feito um laço entre as selecionada, neste caso uso "Ciência" pois não acarreta em problemas no cancelamento da NF-e. Mais o usuário está ciente, ou seja ele tem a liberdade de ignorar o processo de manifestação. 2º Não destruo o componente em cada chamada, ele está colocado no form e é carregado suas propriedades no onCreate do form, vou ver a questão de pegar o CNPJ a cada chamada do procedimento, ele é armazenado num .ini quando o sistema é iniciado e que não tem o CNPJ dentro do .ini. Pois o projeto não prever uso de db, é apenas o .exe.
  9. Segue o FortesReportCE que baixei caso alguém precise, instalei com sucesso no XE5 no delphi 2006 não consegui. FortesReportCE.rar Uma coisa, pessoal para delphi XE5 eu tive que mexer um pouco na DANFeNFCe, tive que remover os filtrosPDF e HMTL, todas as chamadas a estes filtro, como para NFCe não preciso de disto removi-os mesmo. Tive que acrescentar uns códigos para pegar as margens do componente NF-e pois na impressora Elgin estava cortando do lado esquerdo, alterei a passagem do troco, pois como estava pegando a soma dos totais pago do xml, não dava troco, pois agora existe uma validação que soma os totais pago com o total dos itens, sendo assim não é mais possível passar um valor maior que o valor total da nota, neste caso alimento o troco no componente NF-e e não no DANFe. se alguém quiser a .pas que alterei
  10. Boa tarde, 1º Eu apenas renomei os arquivos para facilitar a interpretação, ambos, está sendo salvo todos, mais tenho uma novidade do erro. debugando do o projeto após o envio desta .pas que você envio ai é o seguinte: 1º Eu chamo _NFe.DistribuicaoDFe( 2º Percorro os .zip retornado e vejo se o ACbr salvou a nota completa. for := 0 to _NFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.count -1 do... 3º Caso não ache o o xml salvo pelo acbr, então comando o envio do envento Manifestação: ai Meu amigo levanta este exception no arquivo ACBrDFeWebService.pas na linha 445. Exception levantada: Falha ao assinar o Envio de Evento CoInitialize não foi chamado, ClassID: {88D969E5-F192-11D4-A65F-0040963251E5}' Segue código de que está sendo aplicado para envio da manifestação... try try _StatusDFe.Panels[0].Text := 'Processando manifestação...'; Application.ProcessMessages ; with _NFe.EventoNFe.Evento.Add do begin InfEvento.cOrgao := 91; infEvento.chNFe := aChave; infEvento.CNPJ := _NFe.SSL.CertCNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teManifDestCiencia; end; _NFe.EnviarEvento(StrToInt(FormatDateTime('hhmmss', time))); SalvaManifesto(aChave); except on e : exception do GeraFileLog('Procedure Manifesta:' + e.Message); end; finally _StatusDFe.Panels[0].Text := 'Manifestação processada!'; Application.ProcessMessages ; _NFe.EventoNFe.Evento.Clear; end;
  11. Pessoal, nos meus testes de DANFeNFC-e usando o Fortes, usei duas impressoras (Bematech MP-4200 TH) e uma Elgin VOX, na Bematech tudo sai legal, agora na Elgin fica cortando o lado esquerdo, no componente ele não está carregando as propriedades (Margens). Coloquei aqui e deu certo...Fica a dica, não usem nunca esta Elgin VOX para NFC-e aqui tem um laboratório com as duas (Bematech e Elgin VOX), A Elgin não imprimi o QRCode via PosPrinter, ela até imprimi as formatações legal, agora para impressão do DANFeNFC-e deve usar o modelo (ppTexto) e neste modelo é lógico não tem QRCode, por isto estou para ficar doido, pois migrei tudo para trunk2 e tenho vários clientes que tem esta impressora. fNumItem := 0 ; fNumPagto := 0 ; fTotalPagto := 0; fNumObs := 0 ; fObsFisco := TStringList.Create ; fHeightDetItem := rlbDetItem.Height; fACBrNFeDANFCeFortes := TACBrNFeDANFCeFortes(Owner) ; // Link para o Pai rlVenda.Margins.LeftMargin := fACBrNFeDANFCeFortes.MargemEsquerda ; rlVenda.Margins.RightMargin := fACBrNFeDANFCeFortes.MargemDireita ; rlVenda.Margins.TopMargin := fACBrNFeDANFCeFortes.MargemSuperior ; rlVenda.Margins.BottomMargin := fACBrNFeDANFCeFortes.MargemInferior ;
  12. Bom dia, Régys fiz uns testes aqui usando XE5, para conseguir criar um pacote e instalar, tive que remover do ACBrDANFCeFortesFr os filtro e do fonte tudo que se refere a filtro, Assim conseguir instalar...
  13. Me desculpe, anexei mesmo os arquivos errados, mais veja, ai esta o que estou lhe falando, em anexo os xml gerado pelo trunk e os que foram gerados usando as alterações que você me enviou trunk2 RetornoConsulta_Trunk.xml RetornoConsulta_Trunk2.xml SolicitaConsulta_Trunk.xml SolicitaConsulta_Trunk2.xml Analisando os dois xml no do trunk2 está faltando esta parte: <soap:Header><WSCorIDSOAPHeader CorID="87CBF5C3C8C6EFB50223D67B6CFDAF00,1:1,1,0,,,AgAAAkdIQgAAAAFGAAAAAQAAABFqYXZhLnV0aWwuSGFzaE1hcAAAAAhIQgAAAAJGAAAAAgAAABBqYXZhLmxhbmcuU3RyaW5nABBBcHBNYXBDYWxsZXJIb3N0SEIAAAADRQAAAAIADFNQQ0RTUlZWMDM0MkhCAAAABEUAAAACABBBcHBNYXBDYWxsZXJUeXBlSEIAAAAFRQAAAAIAB1NlcnZsZXRIQgAAAAZFAAAAAgAKVHhuVHJhY2VJZEhCAAAAB0UAAAACACE4N0NCRjU4NEM4QzZFRkI1MDIyM0Q2N0IxMTgzNjlBNjBIQgAAAAhFAAAAAgARQXBwTWFwQ2FsbGVyQWdlbnRIQ0hCAAAACUUAAAACAA5BcHBNYXBBcHBOYW1lc0hCAAAACkYAAAADAAAAE2phdmEudXRpbC5BcnJheUxpc3QAAAACSEIAAAALRQAAAAIAEk5GZURpc3RyaWJ1aWNhb0RGZUhCAAAADEUAAAACABJORmVEaXN0cmlidWljYW9ERmVIQgAAAA1FAAAAAgAWQXBwTWFwQ2FsbGVyTWV0aG9kTmFtZUhCAAAADkUAAAACACVTeW5jU2Vzc2lvbmxlc3NIYW5kbGVyfFByb2Nlc3NSZXF1ZXN0SEIAAAAPRQAAAAIAE0FwcE1hcENhbGxlclByb2Nlc3NIQgAAABBFAAAAAgAMLk5FVCBQcm9jZXNzSEIAAAARRQAAAAIAD0NhbGxlclRpbWVzdGFtcEhCAAAAEkUAAAACAA0xNDM2Nzk3MzY3NzQ3" xmlns="http://www.wilytech.com/" /></soap:Header> Pelo que parece, trata-se da assinatura, é isto?
  14. Italo, acabei de voltar o fonte aqui, só para relatar, acho que este erro ai nos retorno não foi causado por esta mudança sua ai, pois com ACBrNFeWebServices.pas que tinha antes de você me envia esta novamente, também retorna o xml errado, só não tinha ainda analisado todos os logs de retorno.
  15. Rodei aqui, está realizando agora a consulta da DF-e só os xml de retorno está vindo errado para todos os eventos, aqui fiz testes(CC-e, Cancelamento, Manifesto e Consulta). Veja log que está vindo errado, entre este, não está gerando correto o retorno da DF-e com lista das nf-e zipada... 586-pro-lot-soap.xml 587-eve-soap.xml 588-eve-soap.xml
  16. Agora meu amigo... Já lhe dou um retorno...!
  17. Bom dia, Pessoal, alguém conseguiu descobrir o que está ocorrendo com a consultaDF-e? Ou estão conseguindo consultar normalmente no trunk2?
  18. Boa noite Italo, Marquei um breack point, na linha (307-ACBrDFeWebService), veja os valores que estão repassados para FPDFeOwner.SSL.Enviar(FPEnvelopeSoap, FPURL, FPSoapAction); FPEnvelopeSoap='<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDistDFeInteresse xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe"><distDFeInt xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"><tpAmb>1</tpAmb><cUFAutor>15</cUFAutor><CNPJ>10308036000190</CNPJ><consNSU><NSU>000000000000000</NSU></consNSU></distDFeInt></nfeDistDFeInteresse></soap12:Body></soap12:Envelope>' FPURL='https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx' FPSoapAction='http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe/nfeDistDFeInteresse'
  19. Boa tarde, Acabei de comparar as URLs conforme o juliomar solicitou, e estão corretas, comparei ao do site da receita... veja o que está no arquivo: [NFe_AN_P] NFeDistribuicaoDFe_1.00=https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx No site tá este, iguais... NFeDistribuicaoDFe 1.00 https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx
  20. Boa tarde, simplesmente levantada uma exception vazia '', conforme informei acima. Usando o demo atualizado pelo regys pelo que vi lenta exception da img. Mais no trunk está funcionando 100%. Migrei todo o meu projeto para trunk2.
  21. Bom dia, meu amigo, Comentei e não resolveu não, veja o xml de envelopamento.... 20150710112136-con-dist-dfe-soap.xml chamo ela assim... _NFe.DistribuicaoDFe( 15, _NFe.SSL.CertCNPJ, IfThen(StrToIntDef(aUltimo_NSU, 0) = 0, '0', IntToStr(StrToInt(aUltimo_NSU) -1)), '' );
  22. Uso quase deste Uso quase deste jeito e está funcionando já no trunk2. Mais vi que você tá usando acbrMonitor... veja um xml... 15150710308036000190650010000005031000005030.xml
  23. Bom dia, eu não uso o acbrMonitor, mais segue como trato o envio das NF-e, e sim, temos este tipo de problema também diariamente, mais trato tudo automaticamente pelo meu sistema, hoje rodamos no estado do Pará e Roraima, um usa SVAN e outro SVRS, nos dois ocorre este erro as vezes, segue minhas rotinas, caso lhe ajude: procedure T_frmNotaFiscal._btnEnviarClick(Sender: TObject); var aAutorizacao : string; begin if not Permissao(Sessao, 'modificar') then Abort ; try _pclTopo.ActivePageIndex := 0 ; MostrarPainelProgresso(_dbgProduto, _pnlProgresso, 'Enviando NF-e, aguarde...' ); RemoveFileLog ; try with TabelaPai do begin Edit; FieldByName('LOTE').AsInteger := _dmVenda.GeraCodigo('g_lotenf') ; ApplyUpdates(0); if not FileExists(PathNFe('Xml_Signed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml') then GerarNFe(true) ; with _dmVenda._acbrNFe do begin try Configuracoes.Geral.ModeloDF := moNFe; NotasFiscais.Clear ; NotasFiscais.LoadFromFile(PathNFe('Xml_Signed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml'); DANFE := nil; if Enviar(FieldByName('LOTE').AsString, Assigned(DANFE), _dmVenda._ConfNota.FieldByName('SICRONO').AsString = 'SIM') then begin aAutorizacao := NotasFiscais.Items[0].NFe.procNFe.nProt ; NotasFiscais.Items[0].GravarXML(TabelaPai.FieldByName('CHAVE').AsString + '.xml', PathNFe('Xml_Processed')); _dmDados.aLibrayNoturno.ImprimirNFe(_dmVenda._acbrNFe.NotasFiscais[0].NomeArq, _dmVenda._DanfeESCPOS.Logo); end; except raise; end; end; if aAutorizacao <> '' then begin Edit ; FieldByName('SITUACAO').AsString := 'ENVIADO' ; FieldByName('AUTORIZACAO').AsString := aAutorizacao ; //Atualiza o faturamento dos debitos. TabelaFilho3.First ; while not TabelaFilho3.Eof do begin TabelaFilho3.Edit ; TabelaFilho3.FieldByName('SITUACAO').AsString := FieldByName('SITUACAO').AsString ; TabelaFilho3.Post ; TabelaFilho3.Next ; end; ApplyUpdates(0) ; _dmDados.LogUsuario(TabelaPai, '', Sessao, _btnEnviar) ; //Envia o xml por email if FieldByName('EMAIL').AsString <> '' then begin with _dmVenda do begin if aExecuteSendXML then if Assigned(aSendXML) then aSendXML.Terminate ; aSendXML := TSendXML.Create( false, TabelaPai.FieldByName('EMAIL').AsString, 'Arquivo XML NF-e Nº ' + FormatFloat('000000000', FieldByName('CODIGONFE').AsInteger) + ' - [ ' + _dmSistema._Empresa.FieldByName('RAZAO').AsString + ' ]', 'Em anexo arquivo XML referente a nota fiscal eletrônica(NF-e) Nº <b>' + FormatFloat('000000000', FieldByName('CODIGONFE').AsInteger) + '<\b>.', PathNFe('Xml_Processed') + TabelaPai.FieldByName ('CHAVE').AsString + '.xml' ); end; end; //Envia o backup do XML. with _dmVenda do begin if aExecuteBackupXML then if Assigned(aBackupXML) then aBackupXML.Terminate ; aBackupXML := TBackupXML.Create(false); end; end; end; except on e : exception do begin TabelaPai.CancelUpdates ; if trim(TabelaPai.FieldByName('AUTORIZACAO').AsString) = '' then if FileExists(PathNFe('Xml_Processed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml') then DeleteFile(PathNFe('Xml_Processed')+ TabelaPai.FieldByName('CHAVE').AsString + '.xml') ; if pos('duplicidade', LowerCase(e.Message)) > 0 then begin _lblAutorizacaoClick(_lblAutorizacao); if TabelaPai.FieldByName('AUTORIZACAO').AsString <> '' then Exit; end; SendFileLogNF('Enviar NF-e.', _dmVenda._ConfNota.FieldByName('SICRONO').AsString) ; raise; end; end; finally _dmVenda._acbrNFe.NotasFiscais.Clear ; DesabilitarBotao(abSem, TabelaPai, 0) ; _pnlProgresso.Visible := false ; end; end; Tenho está função para recuperar o xml num label: procedure T_frmNotaFiscal._lblAutorizacaoClick(Sender: TObject); begin if not Permissao(Sessao, 'modificar') then Abort ; MostrarPainelProgresso(_dbgProduto, _pnlProgresso, 'Obtendo protocolo, aguarde...'); try RemoveFileLog ; with TabelaPai do begin try if not FileExists(PathNFe('Xml_Signed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml') then GerarNFe(true) ; with _dmVenda._acbrNFe do begin NotasFiscais.Clear; Configuracoes.Geral.ModeloDF := moNFe; NotasFiscais.LoadFromFile(PathNFe('Xml_Signed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml'); if Consultar then if WebServices.Consulta.Protocolo <> '' then begin with TabelaPai do begin Edit ; FieldByName('AUTORIZACAO').AsString := _dmVenda._acbrNFe.WebServices.Consulta.Protocolo; FieldByName('SITUACAO').AsString := IfThen(Trim(FieldByName('CANCELAMENTO').AsString) = '', 'ENVIADO', 'CANCELADO'); ApplyUpdates(0); end; if FileExists(PathNFe('Xml_Processed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml') then DeleteFile(PathNFe('Xml_Processed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml') ; NotasFiscais.Items[0].GravarXML(TabelaPai.FieldByName('CHAVE').AsString + '.xml', PathNFe('Xml_Processed')); end else raise exception.Create(WebServices.Consulta.XMotivo); end; except on e : exception do begin SendFileLogNF('Obter Protocolo NF-e.'); raise; end; end; end; finally _pnlProgresso.Visible := false ; DesabilitarBotao(abSem, TabelaPai, 0) ; end; Em resumo a sua pergunta, para pegar um .xml eu uso: NotasFiscais.Clear; Configuracoes.Geral.ModeloDF := moNFe; NotasFiscais.LoadFromFile(PathNFe('Xml_Signed') + TabelaPai.FieldByName('CHAVE').AsString + '.xml'); if Consultar then ....
  24. Duarte

    Erro DistribuicaoDFe

    Bom dia, Pessoal, após atualizar para o trunk2 não estou mais conseguindo consultar a DF-e, no trunk está ok, em anexo está os dois xml, pelo que vi não tem nenhum parâmetro diferente, mais não retorna o xml certo não. Levanta um EACBrDFeException ''. 20150710071753-con-dist-dfe-soap_TRUNK.xml 20150710071756-dist-dfe-soap_TRUNK.xml 20150710072105-con-dist-dfe-soap_TRUNK2.xml 20150710072106-dist-dfe-soap_TRUNK2.xml Comparando os dois xml, notei que no trunk2 esta faltando a Tag <nfeDadosMsg>.
  25. Boa noite, Quero agradecer ao Régys Silveira , Daniel Simoes e Juliomar Marchetti que foram muito camarada comigo na migração do trunk para trunk2. Consegui migra 100% (Exceto NFS-e) que ficarei na espera por ela no trunk2. Régys consegui instalar via "Install" seguindo este truque, instalei o "Mínimo", sem nenhum gerenciado de relatório, dai após a instalação, voltava e instalar mais pacotes, até terminar, não instalei os "Gerenciado de Relatório" pois uso BDS2006 e não consegui de jeito nenhum o "FortesReport" para esta versão do delphi, Mais crie um dll no XE5 que gerenciar a impressão dos DANFes utilizando o "FastReport". Veja os resultados dos testes, achei algumas coisas, fiz teste em quase todos os componentes, nos que uso fiz em todos, aqui temos um laboratório com diversos equipamentos, todos funcionaram igual ao funcionamento do trunk. Testes realizado com sucesso: (NF-e, NFC-e, DF-e, Todo o conjunto de componente do TCP, todos do Serial, SPED Fiscal, SPED Pis/Cofins, Sintegra). Pontos de observância: No DANFeRetrato.fr3 não tá saindo as informações complementares "Obs". No DANFeRetrato_Basic.fr3 Não tem o campo "´Valor Aproximado dos Tributos", então tive que mexer e adaptar. Pergunta: * Alguém tem experiência ai já com PosPrint com impressora Elgin VOX USB? Se sim, qual PaginaDeCodigo usaram, o modelo usado foi "ppTexto"? * Tem alguma previsão para adequação da NFS-e no trunk2?
×
×
  • 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.