-
Total de ítens
234 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Endrigo Rodrigues postou
-
Me parece pior um pouco Ítalo. Não vir na mesma ordem não seria problema algum, o problema que observei é que o número e o protocolo da NFSe está sendo gravado no registro de outro RPS.
-
Desculpe a demora para responder Ítalo, estive ausente da empresa nesses dias. Bom, o problema que estou tendo é que quando mando gravar o número da NFS-e e o número do protocolo para o número de RPS enviado por mim está vindo de outra nota de outro RPS. Como mando um lote de 20 notas sempre, os retornos de número da NFSe e número de protocolo está vindo trocado entre as notas enviadas no mesmo lote. Ficou claro?
-
Italo, simplificando, os códigos relevantes ao meu processo são estes: if Enviar(IdRps, False) then begin . . . sProtocolo := WebServices.ConsLote.Protocolo; for x := 0 to NotasFiscais.Count - 1 do begin if Trim(NotasFiscais.Items[x].NFSe.Numero) <> EmptyStr then begin tbTabela1.First; tbTabela1.Locate('NUMNOTA', StrToInt(Trim(NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero)), []); tbTabela1.Edit; tbTabela1DATA.AsDateTime := Date; tbTabela1NFSE_ENVIADA.AsString := '1'; tbTabela1NFSE_RPS.AsString := IntToStr(IdRps); tbTabela1NFSE_RPS_PROTOCOLO.AsString := Trim(sProtocolo); tbTabela1NFSE_STATUS.AsInteger := 9; tbTabela1NFSE_NUMERO.AsString := Trim(NotasFiscais.Items[x].NFSe.Numero); tbTabela1NFSE_CODIGO_VERIF.AsString := Trim(NotasFiscais.Items[x].NFSe.CodigoVerificacao); if FileExists(Configuracoes.Arquivos.GetPathNFSe + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '-nfse.xml') then tbTabela1NFSE_XML.LoadFromFile(Configuracoes.Arquivos.GetPathNFSe + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '-nfse.xml'); if FileExists(DANFSe.PathPDF + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '.pdf') then tbTabela1NFSE_PDF.LoadFromFile(DANFSe.PathPDF + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '.pdf'); tbTabela1.Post; end; end; tbTabela1.ApplyUpdates(-1); tbTabela1.First; end; end;
-
Italo, você tem usado o componente para enviar lote de RPS, notei algo estranho em meu sistema, tenho o seguinte procedimento, envio lotes de 20 notas cada, pois tenho que enviar quase 1000 notas por mês. E observei que o retorno que pego do número e do protocolo da NFSe e salvo no meu registro vieram trocadas para as minhas notas enviadas. Te agradeço se puder me ajudar me informando se estou fazendo algo de errado. Segue abaixo parte do meu código que faço a captura dessas informações após o envio do lote e recepção da resposta. if Enviar(IdRps, False) then begin if WebServices.Msg <> EmptyStr then begin sMsg := WebServices.Msg; for x := 0 to NotasFiscais.Count - 1 do if NotasFiscais.Items[x].Msg <> EmptyStr then sMsg := sMsg + #13#10 + Trim(NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero) + ' -> ' + NotasFiscais.Items[x].Msg; Mensagem(sMsg, 'Erro no Envio do Lote (WebServices.Msg)', 'A'); TableFilter[1] := ''; OpenSQL(1, otClose, ''); LimpaMensagem; break; end else begin Mensagem('Atualizando o banco de dados . . .', '', 'M'); sProtocolo := WebServices.ConsLote.Protocolo; if not Reenvio then begin frmManager.sqlDB.ExecuteDirect('UPDATE GERADORES SET VALOR = VALOR + 1 WHERE TABELA = ''NFSE_RPS'''); end; ListaRpsCons.Clear; for x := 0 to NotasFiscais.Count - 1 do begin if Trim(NotasFiscais.Items[x].NFSe.Numero) <> EmptyStr then begin tbTabela1.First; tbTabela1.Locate('NUMNOTA', StrToInt(Trim(NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero)), []); tbTabela1.Edit; tbTabela1DATA.AsDateTime := Date; tbTabela1NFSE_ENVIADA.AsString := '1'; tbTabela1NFSE_RPS.AsString := IntToStr(IdRps); tbTabela1NFSE_RPS_PROTOCOLO.AsString := Trim(sProtocolo); tbTabela1NFSE_STATUS.AsInteger := 9; tbTabela1NFSE_NUMERO.AsString := Trim(NotasFiscais.Items[x].NFSe.Numero); tbTabela1NFSE_CODIGO_VERIF.AsString := Trim(NotasFiscais.Items[x].NFSe.CodigoVerificacao); if FileExists(Configuracoes.Arquivos.GetPathNFSe + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '-nfse.xml') then tbTabela1NFSE_XML.LoadFromFile(Configuracoes.Arquivos.GetPathNFSe + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '-nfse.xml'); if FileExists(DANFSe.PathPDF + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '.pdf') then tbTabela1NFSE_PDF.LoadFromFile(DANFSe.PathPDF + '\' + Trim(NotasFiscais.Items[x].NFSe.Numero) + '.pdf'); tbTabela1.Post; end else begin ListaRpsCons.Add(Trim(NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero)); end; end; tbTabela1.ApplyUpdates(-1); tbTabela1.First; end; end else begin sMsg := WebServices.Msg; for x := 0 to NotasFiscais.Count - 1 do if NotasFiscais.Items[x].Msg <> EmptyStr then sMsg := sMsg + #13#10 + Trim(NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero) + ' -> ' + NotasFiscais.Items[x].Msg; Mensagem(sMsg, 'Erro no Envio do Lote (WebServices.Msg)', 'A'); TableFilter[1] := ''; OpenSQL(1, otClose, ''); LimpaMensagem; break; end;
-
Sim Italo, funcionou perfeitamente. Muito obrigado.
-
Italo boa tarde. Estou tentando instalar o novo ACBrNFSe porém quando tento compilar o ACBrNFSeDanfseQRpkg é apresentado um erro dizendo que o pacote QR5RunD7 é necessário, porém não encontrei esse pacote. Como devo proceder?
-
Como você fez? No Delphi 7 funciona?
-
Se não me engano só funciona no QuickReport pago.
-
No componente da NFSe (Nota Fiscal de Serviço Eletrônica) não está sendo feito esse tratamento.
-
Erro ao Gerar Arq. MFD -- DLLATO17GeraArquivo Cod 4097
Endrigo Rodrigues replied to natanaelsimoes's tópico in ACBrSerial
Possuo uma DataRegis e não tem dado problemas. -
Problemas com boleto Bradesco e Itaú
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrBoleto
Alguma posição se essas alterações entrarão no SVN e quando? Obrigado. -
Problemas com boleto Bradesco e Itaú
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrBoleto
Verifiquei que no envio também tenho o mesmo problema do número da conta, utilizando RightStr(Cedente.Conta, 5) tanto no cabeçalho quanto na linha do título resolve o problema. CNAB400. -
Olá. Seguinte, estou fazendo testes para liberar o meu sistema para funcionar com Bradesco e Itaú, boleto registrado, e tenho encontrado alguns problemas. Arquivo: ACBrBancoBradesco.pas Função: LerRetorno400 Linha: 387 Solução: Se não tiver o RightStr() na verificação da conta, não funciona. if (not LeCedenteRetorno) and ((rAgencia <> OnlyNumber(Cedente.Agencia)) or (rConta <> RightStr(OnlyNumber(Cedente.Conta), Length(rConta)))) then raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido')); Arquivo: ACBrBancoItau.pas Função: LerRetorno400 Linha: 800 Solução: A verificação de CNPJ/CPF está invertida. 01 = CPF, 02 = CNPJ. case StrToIntDef(Copy(ARetorno[1],2,2),0) of 1 : rCNPJCPF:= Copy(ARetorno[1],07,11); 2 : rCNPJCPF:= Copy(ARetorno[1],04,14); else rCNPJCPF:= Copy(ARetorno[1],4,14); end; Arquivo: ACBrBancoItau.pas Função: LerRetorno400 Linha: 812 Solução: Se não tiver o RightStr() na verificação da conta, não funciona. if (not LeCedenteRetorno) and ((rAgencia <> OnlyNumber(Cedente.Agencia)) or (rConta <> RightStr(OnlyNumber(Cedente.Conta), Length(rConta)))) then raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));
-
O que pode ser feito também é ao verificar a data de movimento e for detectado que a mesma é diferente da data atual do ECF, verificar se o estado atual do ECF é diferente de estRequerZ, se for assumir a data de movimento como sendo a data do dia. function TECF.LerDataMovimento: TDateTime; var DtDia: TDateTime; begin Result := 0; try Result := frmPDV.ECFACBr.DataMovimento; DtDia := DateOf(frmPDV.ECFACBr.DataHora); if Result < DtDia then if frmPDV.ECFACBr.Estado <> estRequerZ then Result := DtDia; except on E: Exception do MsgErro(E.Message); end; end;
-
Ahhhh!!! Tinha esquecido de falar, tive que alterar também a função GetDadosUltimaReducaoZ acrescentando o comando para retornar a venda bruta do último Z 'LeMoeda;NomeDadoMonetario=VendaBrutaReducao[' + IntToStr(StrToInt(NumCRZ)) + ]"'; Pelo que vi a função GetDadosUltimaReducaoZ está completamente inconsistente, inclusive para as outras informações, pois para buscar os dados tem que ser utilizado essas variáveis com o índice do CRZ para retornar cada uma das funções, como eu só precisava de buscar a Venda Bruta e o CRZ por conta da reconstrução do arquivo do GT, então só modifiquei essa parte.
-
Segue abaixo as DLLs utilizadas com a Dataregis. Gostaria de informar que consegui homologar com a Dataregis 3202DT protocolo FiscNet após ter feito as duas alterações no código fonte e ter atualizado as DLLs. DataregisDLL.7z
-
Consegui resolver, segue em anexo o fonte da FiscNet que já vinha utilizando com a alteração que eu já tinha feito com relação ao rodapé do cupom fiscal por conta da Sangria que já havia postado em outro post, e com a alteração da geração do arquivo LMFC COTEPE. ACBrECFFiscNET.pas
-
Estou usando a função: ECF_ACBR.PafMF_LMFC_Cotepe1704(DataInicial, DataFinal, PathArquivo); E ví la no fonte do ACBr (ACBrECF.pas) que o que é executado é: Self.ArquivoMFD_DLL(DataInicial, DataFinal, PathArquivo, [docTodos], finMF); Com o parâmetro correto finMF, mas o arquivo não é gerado dessa forma e nem foi avisado que a função não tinha sido implementada.
-
Olá pessoal. Bom, estou no desespero aqui, estou homologando com uma Dataregis 3202DT (protocolo FiscNet) e estou nos últimos requisitos de minha homologação aqui, e não estou conseguindo fazer gerar o arquivo do menu fiscal LMFC Ato Cotepe. O homologador disse que o meu arquivo foi gerado como MFD e não como MF. Mas executei a função correta e com os parâmetros corretos. Quem puder me ajudar, por favor, não sei mais o que fazer.
-
FiscNet -> Sangria + IdentificaPAF
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrSerial
Daniel? Alguma solução? -
FiscNet -> Sangria + IdentificaPAF
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrSerial
Dataregis Quick 3202DT 01.00.73 -
FiscNet -> Sangria + IdentificaPAF
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrSerial
A questão Daniel, é se foi testado essa modificação após a alteração 1890 para Sangria com IdentificaPAF. Pois do jeito que está hoje, não funciona, funciona somente a Sangria se não tiver sido executado o IdentificaPAF. Agora, com a versão 1890 funciona todos os comandos. -
FiscNet -> Sangria + IdentificaPAF
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrSerial
Sim Daniel. Estou fazendo os testes para homologar amanhã, e depois da alteração tudo está funcionando. -
FiscNet -> Sangria + IdentificaPAF
Endrigo Rodrigues replied to Endrigo Rodrigues's tópico in ACBrSerial
Segue em anexo o arquivo fonte ACBrECFFiscNET.pas modificado. ACBrECFFiscNET.pas -
Achei bem rápido, ainda não testei o ACBrMonitor via TCP/IP.