FocusRJ
Membros-
Total de ítens
235 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que FocusRJ postou
-
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
-
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.
-
Amigos, como encontro o número do protocolo retornado pela CCe? Att.
-
carta correção como fazer? por favor me ajudem...
FocusRJ replied to igmaster2000's tópico in ACBrNFe
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 -
ACBRECF Sefaz RJ Decreto 43.437 - Dúvida de implementação
FocusRJ replied to FocusRJ's tópico in ACBrSerial
Blz Regys e Lampada, vcs ajudaram muito, mais uma vez obrigado ao pessoal do ACBR! []s -
ACBRECF Sefaz RJ Decreto 43.437 - Dúvida de implementação
FocusRJ replied to FocusRJ's tópico in ACBrSerial
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? -
ACBRECF Sefaz RJ Decreto 43.437 - Dúvida de implementação
FocusRJ replied to FocusRJ's tópico in ACBrSerial
Alguém sabe se tem essa possibilidade? É que neste momento estamos no órgão homologador! -
ACBRECF Sefaz RJ Decreto 43.437 - Dúvida de implementação
FocusRJ replied to FocusRJ's tópico in ACBrSerial
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” -
ACBRECF Sefaz RJ Decreto 43.437 - Dúvida de implementação
um tópico no fórum postou FocusRJ ACBrSerial
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? -
Obrigado Arce!
-
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
-
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.
-
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
-
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.
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
Então Daniel, as baixei direto do site da URANO, http://www.urano.com.br/atu/desenvolvedores.htm []s Rômulo
-
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
-
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;
