Ir para conteúdo
  • Cadastre-se

FocusRJ

Membros
  • Total de ítens

    235
  • Registro em

  • Última visita

Tudo que FocusRJ postou

  1. Encontrei, a forma de obter o nº do Protocolo, aproveitando a informação prestada pelo amigo Nellien, testei e encontrei: AcbrNFe1.WebServices.CartaCorrecao.CCeRetorno.retEvento.Items.RetInfEvento.nProt
  2. Boa tarde Walter, não sei se vc já conseguiu, mas aqui mesmo no fórum vi esta dica, ainda não testei, mas segue a mesma: altere a linha - decrescendo de 5 minutos a hora atual - infEvento.dhEvento := IncMinute(now,-5); Aproveitando a deixa, algum amigo sabe me informar como obter pelo ACBR o nº do protocolo da CCe? Att.
  3. Amigos, como encontro o número do protocolo retornado pela CCe? Att.
  4. Segue uma que acabei de fazer no Fast Report. Amigos só uma dúvida, como encontro o nº do protocolo pelo AcbrNfe? Att. cce.pdf
  5. Blz Regys e Lampada, vcs ajudaram muito, mais uma vez obrigado ao pessoal do ACBR! []s
  6. Mas e as propriedades com as informações: “PROCON – R da Ajuda 5 – RJ – (21) 151 ALERJ – R 1º de Março s/n – RJ – (21) 25881418” Já vai junto com o cupom mania?
  7. Alguém sabe se tem essa possibilidade? É que neste momento estamos no órgão homologador!
  8. Do Sefaz RJ Decreto 43.437 PAF-ECF - E a mensagem para o cupom mania nas informações suplementares: “PROCON – R da Ajuda 5 – RJ – (21) 151 ALERJ – R 1º de Março s/n – RJ – (21) 25881418”
  9. Amigos, onde pelo acbrecf eu associo os dizeres obrigatórios ao Estado do RJ do Procon e da Alerj, com endereços e telefones? Tem algum campo especifico?
  10. Obrigado Arce!
  11. Bom dia, alguém sabe me dizer se pelo ACBR já se tem a possibilidade de imprimir a CCe? Necessito emitir uma CCe para realizar um redespacho e com isso preciso dela impressa. Se não houver a possibilidade pelo ACBR, alguém sabe me dizer se já foi desenvolvido à parte por algum usuário do ACBR? Att. Rômulo Mayworm
  12. O problema, que estou tendo, é que o código do ACBRNFeWebServices força a entrada da mensagem if not(Self.Retorno.Executar) then begin if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then TACBrNFe( FACBrNFe ).OnGerarLog(Self.Retorno.Msg); raise EACBrNFeException.Create(Self.Retorno.Msg);//cai nessa exceção em caso de duplicidade e mostra na tela a EXCEPTION end; Me retorna a mensagem de ERRO, no caso da duplicidade, dessa forma eu queria tratar essa duplicidade sem que o usuário fosse notificado. Não seria interessante o ACBRNFE ter os eventos para os erros? Conforme o ACBRECF, onErrorXXX...? Att.
  13. Mas já está assim e não cai na exceção do meu!!! INCRÍVEL rs try try Transmitida := ACBrNFe1.Enviar(0); TpAmbiente := TpAmbToStr(ACBrNFe1.Configuracoes.WebServices.Ambiente); if (MessageBox(0, 'Deseja salvar o DANFE em *.pdf?', 'Atenção', MB_ICONQUESTION or MB_YESNO) = idYes) then begin ACBrNFe1.NotasFiscais.ImprimirPDF; end; except on E: Exception do begin ShowMessage(RetornaErroNFe(ACBrNFe1.WebServices.Retorno.cStat)+'.'+#13+#10+E.Message); Exit; end; end; finally SalvaRetorno; end; Da forma que está, debuguei e na linha Transmitida := ACBrNFe1.Enviar(0); vai pros códigos do ACBR, aparece a mensagem de duplicidade daquele RAISE que postei acima e cai no meu finally! Ocorrendo somente o SalvaRetorno!!! Att. Rômulo Mayworm
  14. Boa tarde Ricardo, pelo pouco que vi, se não me engano o próprio ACBR já trata isso, o meu problema está no ACBRNFeWebServices na: function TWebServices.Envia(ALote: String): Boolean; begin self.Enviar.FLote := ALote; if not(Self.Enviar.Executar) then begin if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then TACBrNFe( FACBrNFe ).OnGerarLog(Self.Enviar.Msg); raise EACBrNFeException.Create(Self.Enviar.Msg); end; Self.Retorno.Recibo := Self.Enviar.Recibo; if not(Self.Retorno.Executar) then begin if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then TACBrNFe( FACBrNFe ).OnGerarLog(Self.Retorno.Msg); raise EACBrNFeException.Create(Self.Retorno.Msg);//cai nessa exceção em caso de duplicidade e mostra na tela a EXCEPTION end; Result := true; end; Que cai na raise EACBRNFeException.Create... caso o envio da NFe resulte em algum erro, tomemos por exemplo uma DUPLICIDADE de NFe, e nessa chamada aparece a mensagem da Exception gerada na tela, e eu queria tratar isso de forma que sem que essa mensagem apareça ao usuário, se no Retorno.Msg, que é chamado em caso de duplicidade, estiver presente a palavra 'DUPLICIDADE' o programa, de forma automática, acresceria o sequencial numérico da NFe e tentaria enviar a mesma novamente com um novo número até que seu Status fosse de autorizado.
  15. Amigo, como vc faz a validação pra ver se a nfe foi autorizada? Aconteceu comigo de eu estar salvando o resultado da validação em um clientdataset e ao salvar antes eu não dava um EmptyDataSet, logo se desse um erro, o usuário corrigisse e enviasse novamente o clientdataset estaria com dois registros e ao verificar eu só avaliava o primeiro que não havia passado, retornando assim a mensagem de não autorizada! Se possível poste seu código para ajudar. Att. Rômulo Mayworm
  16. Amigos, como devo proceder para interceptar as mensagens de exception do Acbr e mostrar uma mensagem de minha autoria? Uma outra coisa que me fez ter interesse nessa possibilidade é ter o poder de caso ocorra uma duplicidade de nfe o emissor automaticamente incrementa o número da nfe e tenta enviá-lo novamente sem que apareça a mensagem de duplicidade ao usuário. Teria essa possibilidade? Alguém teria alguma informação que seria contra esse tipo de utilização? Att. Rômulo Mayworm
  17. RESOLVIDO! Dentro do procedure SalvaRetorno estava da seguinte forma: var Arquivo: string; begin with DMDadosNota.cdsRetorno do begin Active := True; Append; FieldByName('RECIBO').AsString := ACBrNFe1.WebServices.Recibo.Recibo; FieldByName('PROTOCOLO').AsString := ACBrNFe1.WebServices.Retorno.Protocolo; FieldByName('CHAVE').AsString := ACBrNFe1.WebServices.Retorno.ChaveNFe; FieldByName('TRANSMITIDA').AsBoolean:= Transmitida; FieldByName('TPAMBIENTE').AsString := TpAmbiente; Post; Arquivo := ExtractFilePath(Application.ExeName)+'NFE_RETORNO.xml'; if FileExists(Arquivo) then DeleteFile(Arquivo); SaveToFile(Arquivo); end; end; Se tentasse enviar e por algum motivo faltasse alguma informação, ex. CPF do destinatário, ele passava dentro do salvaretorno e já associava dados a ele, aí eu ia e corrigia, nisso enviava corretamente e associava um segundo registro ao cdsRetorno. No momento de verificar se a NFe foi transmitida eu verificava pelo cdsRetorno que pegava sempre o primeiro registro, o que havia dado erro por isso não me retornou nada. Para corrigir coloquei um EmptyDataSet antes do Append! obrigado Amigos!!! Att. Rômulo Mayworm
  18. Acabei de realizar uns testes em homologação.... a nota foi enviada e a variável TRANSMITIDA continuou como false, dando a subentender que a nota não foi enviada. E dessa forma decresceu um número na tabela do sequencial do certificado e não atribuiu esse número da nfe ao pedido. Ao tentar reenviar deu DUPLICIDADE e consultando foi a nota que enviei corretamente e retornou false do enviar! Corre algum risco do comando ENVIAR me retornar false mesmo tento transmitido a NFe? Att. Rômulo
  19. Seguem algumas das xmls! Teria como eu consultar a situação da chave antes? parte do meu código: procedure TfrmNotaFiscal.btnCriarEnviarClick(Sender: TObject); var vAux, vNumLote, ArquivoXMLGerado, Para : String; CC, Mensag: Tstrings; I: integer; Enviar_Email: Boolean; begin Transmitida := False; SalvaDados; //salva informações que estão nos edits... e afins nos clientdatasets if (ConfigNFePreenchido and EmitenteNFePreenchido and DestinatarioNFePreenchido and ConfigCertificadoPreenchido) then begin Cursor := crHourGlass; MensagemRodape('Transmitindo NFe...'); ACBrNFe1.NotasFiscais.Clear; vAux := DMDadosNota.cdsPedido.FieldByName('NumeroNFe').AsString; //o numero da nfe que foi associado ao pedido GerarNFe(vAux);//associa as informações dos clientdatasets ao acbrnfe1 try try Transmitida := ACBrNFe1.Enviar(0); //se der erro, tipo duplicidade já vai direto pro finally except on E: Exception do begin ShowMessage(RetornaErroNFe(ACBrNFe1.WebServices.Retorno.cStat)+'.'+#13+#10+E.Message); Exit; end; end; finally SalvaRetorno;//salva num txt se a nota foi transmitida testando o transmitida = true e associa as informações ao pedido end; Teria algo errado? att. Rômulo Mayworm
  20. Então João, vou lhe explicar como pego a numeração pelo meu sistema: 1 - Eu pego o último número referente ao certificado, que está salvo na tabela do certificado digital; 2 - Incremento esse número e verifico se o mesmo já foi vinculado a algum outro pedido e com este certificado (para o caso de utilizar mais de um certificado); 3 - Defino então o novo valor do sequencial da numeração no certificado; 4 - Defino na tabela dos pedidos o número da nfe e o cd_certificado que estou usando e os vinculo ao pedido selecionado; 5 - Verifico se a Nfe foi emitida perfeitamente, caso não tenha sido: 5.1 - Decresce o número referente ao certificado - na tabela do certificado digital; 5.2 - Zero o número da nfe e o cd_certificado daquele pedido. Então o que está meio que cabuloso ao meu entender é: nos dois computadores foram geradas as xmls válidas (como se tivessem sido enviadas e recebidas corretamente - pois consulto através do carregamento da xml) e as coisas que mudam são apenas nome do destinatário e suas informações assim como valores e itens.... porém a chave, o protocolo, o NÚMERO DA NFE são os mesmos! Att. Rômulo Mayworm
  21. Amigo, eu criei um arquivo .bat que o executo e até o presente momento nunca me retornou erro algum, faço da seguinte forma: if EXIST %windir%\SysWOW64\x64 goto Win64 :Win32 ECHO *** FOCUS NF-e v.2.0 *** ECHO *** Copiando as DLLs *** copy capicom.dll %windir%\System32 copy msxml5.dll %windir%\System32 copy msxml5r.dll %windir%\System32 copy libeay32.dll %windir%\System32 copy midas.dll %windir%\System32 ECHO *** Registrando as DLLs *** regsvr32 %windir%\System32\capicom.dll /s regsvr32 %windir%\System32\msxml5.dll /s regsvr32 %windir%\System32\libeay32.dll /s regsvr32 %windir%\System32\midas.dll /s goto end :Win64 ECHO *** FOCUS NF-e v.2.0 *** ECHO *** Copiando as DLLs x64 *** copy capicom.dll %windir%\SysWOW64 copy msxml5.dll %windir%\SysWOW64 copy msxml5r.dll %windir%\SysWOW64 copy libeay32.dll %windir%\SysWOW64 copy midas.dll %windir%\SysWOW64 ECHO *** Registrando as DLLs x64 *** regsvr32 %windir%\SysWOW64\capicom.dll /s regsvr32 %windir%\SysWOW64\msxml5.dll /s regsvr32 %windir%\SysWOW64\libeay32.dll /s regsvr32 %windir%\SysWOW64\midas.dll /s goto end :end Tente assim pra ver se daria certo! Att. Rômulo Mayworm
  22. Bom dia amigos, estou tendo o seguinte problema, já utilizamos há algum tempo mas só agora reparamos, utilizamos o emissor de NFe em 5 computadores e em alguns casos está se repetindo uma numeração para alguns pedidos, Exemplo: a Nota Nº 26037 pro cliente Fulano de Tal foi emitida/transmitida pelo certificado X e retornou o Danfe com o número de protocolo e chave de acesso preenchidos corretamente em outro computador fomos emitir uma nota agora pro cliente Beltrano, essa nota pegou a mesma numeração 26037, mudaram-se cliente e produtos (valores), porém o meu Danfe retornou com o mesmo número de protocolo e a mesma chave de acesso que o outro mas cliente e produtos diferindo (MÁQUINA DIFERENTE!!!). Fui consultar no portal da nfe do governo e a chave carrega os dados da primeira nota. Alguém já teve esse problema? Descobri isso da seguinte forma, fui copiar os xmls do mês de novembro todos para uma só pasta e acusou que o arquivo já existia, não sobrepus e fui compará-los depois. As desse mês emitidas foram um total de 822 notas até então e com numerações repetidas tivemos 14 algumas tendo diferença até na data de emissão, de um dia pra outro!!! Utilizamos o Delphi 2010, Danfe em FASTREPORT - PS, fiz uma alteração no DANFE que está disponibilizado que caso seja uma nfe não válida (homologação, somente gerada, ...) aparece a mensagem como marca d'água de NFe não válida assim como aparece no DANFE do Rave. Att. Rômulo Mayworm
  23. Então Daniel, as baixei direto do site da URANO, http://www.urano.com.br/atu/desenvolvedores.htm []s Rômulo
  24. Boa tarde, talvez possam me ajudar, estou com uma impressora da marca Urano, modelo LOGGER, preciso gerar o arquivo MFD - o ATO 17/04 - creio que através da dll ATO17.dll porém gera o arquivo ACBR.TDM e até gera o relacionado ao MFD, porém somente com 1KB com 2 linhas que armazenam as informações do ECF e a terceira que é o EAD, porém as informações pertinentes ao período solicitado não são exibidas. Alguém teria alguma sugestão? Estou utilizando o ACBRECF da pasta de exemplos do ACBR. E seleciono por impressora o ecfFiscnet. Obrigado []s Rômulo
  25. A alteração feita foi na ACBRNFEDANFEFR.pas: procedure TACBrNFeDANFEFR.ImprimirDANFEPDF(NFE: TNFe); const TITULO_PDF = 'Nota Fiscal Eletrônica'; var I: Integer; begin if PrepareReport(NFE) then begin dmDanfe.frxPDFExport.Author := Sistema; dmDanfe.frxPDFExport.Creator := Sistema; dmDanfe.frxPDFExport.Producer := Sistema; dmDanfe.frxPDFExport.Title := TITULO_PDF; dmDanfe.frxPDFExport.Subject := TITULO_PDF; dmDanfe.frxPDFExport.Keywords := TITULO_PDF; dmDanfe.frxPDFExport.ShowDialog := False; for I := 0 to TACBrNFe(ACBrNFe).NotasFiscais.Count - 1 do begin if not FileExists(PathPDF + dmDanfe.NFe.procNFe.chNFe + '.pdf') then begin dmDanfe.frxPDFExport.FileName := PathPDF + dmDanfe.NFe.procNFe.chNFe + '.pdf'; dmDanfe.frxReport.Export(dmDanfe.frxPDFExport); end; end; end; end;
×
×
  • 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.

The popup will be closed in 10 segundos...