Ir para conteúdo
  • Cadastre-se

Rodrigo Cardilo

Membros Pro
  • Total de ítens

    251
  • Registro em

  • Última visita

Tudo que Rodrigo Cardilo postou

  1. Boa tarde amigos, Meu cliente apagou acidentalmente todos os arquivos xml's gerados pelo meu programa. Até aí tudo bem pois consegui recuperar utiilizando a rotina: ACBrNFe1.WebServices.Consulta.NFeChave := ChaveNFE; ACBrNFe1.WebServices.Consulta.Executar; O problema agora é que eu precisaria dos arquivos dos eventos. Já descobri em outros posts que o arquivo com final *-sit.xml contém essas informações. Porém gostaria de saber se existe algum comando para salvá-los automaticamente na pasta (no meu caso a pasta mensal e dentro dela CCe e/ou Can). Eu tenho inclusive o protocolo desses eventos salvos no banco de dados. Grato pela atenção desde já.
  2. Boa tarde, Tem praticamente tudo no portal.. http://www.fazenda.sp.gov.br/sat/ Atc,.
  3. Boa dia, Acredito que o problema está aqui: <infNF> <CNPJ>00721388000110</CNPJ> <UF>MS</UF> <nNF>2632</nNF> <serie>1</serie> <dEmi>2014-09-02</dEmi> <vNF>729.38</vNF> </infNF> O que provavelmente acontece é que o emitente da nota fiscal 2632 não pode emitir nota fiscal e sim NOTA FISCAL ELETRÔNICA. O SEFAZ valida essa informação verificando a obrigatoriedade pelo CNPJ. Não sei se fui claro. Atc,
  4. Boa tarde Ítalo, Segue anexo arquivo .PAS com as alterações sugeridas. Grato, ACBrCTeDACTEFRDM.pas
  5. Oi Ítalo, Não vejo problema algum. A dificuldade encontrada pelo meu cliente era só em localizar o número da nota na chave. Ficaria show de bola. Agradeço pela atenção e se puder dar uma atenção na segunda alteração que eu sugeri, essa sim faz grande diferença. Grato,
  6. Olá amigos, Estou começando a desenvolver com o ACBRTEFD e tive algumas dúvidas utilizando o gptefdial. Quando fiz os testes no TEFDemo deu tudo certo, tanto com o comando AutoFinalizarCupom como True ou False. No caso do AutoFinalizarCupom = False eu testei usando a seguinte sequencia: Abrir VendeItem Subtotaliza CRT (o Gerenciador aprovou) FinalizarCupom Imprimir Transações Pendentes Deu tudo certo. Cheguei a fazer até com 3 formas de pagamento e sem problema algum. Porém, quando vou jogar os comando para a minha aplicação não consegui identificar como eu sei que a transação TEF foi aprovada pela operadora. Não consegui localizar onde pego esse retorno. Grato desde já,
  7. Oi Isaque. Claro que não tem problema. Taí a imagem circulada. Espero que achem importante. Atc,
  8. Oi Regys, Eu apaguei a pasta, fiz o que o post recomendado sugeriu, baixei novamente e o erro persiste. As units que eu citei acima não encontram a procedure Writelog no ACBRUtils.pas. Eu resolvi a ACBrECFClass.pas voltando com o código anterior do WriteLog. Já o ACBrBALClass.pas eu tive que comentar pois não deu certo de maneira alguma. Será que tenho que fazer mais alguma coisa diferente para dar certo. Grato.
  9. Segue a imagem com as observações e número da nota preenchidos. Já a unit eu já tinha postado antes compactada, mas segue novamente. Grato. ACBrCTeDACTEFRDM.rar
  10. Olá amigos moderadores, Utilizo a impressão do DACTE em Fast Report. Meus clientes pediram já a algum tempo algumas informações que eu sempre tenho que colocar manualmente após a atualização do componente e então estou postando aqui para se, caso acharem interessante, possam adicionar ao fonte. A primeira alteração se refere ao número da nota fiscal após a chave, o que facilita para o tomador do serviço localizar mais rapidamente a nota. procedure TdmACBrCTeFR.CarregaDadosNotasFiscais; var i: Integer; DoctoRem: string; NroNota: integer; // adicionado por Rodrigo Cardilo em 07/08/2014 begin { dados das Notas Fiscais } DoctoRem := FCTe.Rem.CNPJCPF; if Length(DoctoRem) > 11 then DoctoRem := FormatMaskText('##.###.###\/####-##;0;_', DoctoRem) else DoctoRem := FormatMaskText('###.###.###-##;0;_', DoctoRem); with cdsDadosNotasFiscais do begin Close; FieldDefs.Clear; FieldDefs.Add('tpDoc', ftString, 5); //Tipo Documento FieldDefs.Add('CNPJCPF', ftString, 18); //CNPJCPF FieldDefs.Add('Serie', ftString, 3); // Serie FieldDefs.Add('ChaveAcesso', ftString, 44); // Chave Acesso FieldDefs.Add('NotaFiscal', ftString, 9); // Numero Nota Fiscal FieldDefs.Add('TextoImpressao', ftString, 100); // Texto Impressao no Relatorio CreateDataSet; {$IFDEF PL_200} for i := 0 to CTe.infCTeNorm.infDoc.infNF.Count - 1 do begin with FCTe.infCTeNorm.infDoc.InfNF.Items[i] do {$ELSE} for i := 0 to CTe.Rem.InfNF.Count - 1 do begin with FCTe.Rem.InfNF.Items[i] do {$ENDIF} begin Append; FieldByName('tpDoc').AsString := 'NF'; FieldByName('CNPJCPF').AsString := FCTe.Rem.CNPJCPF; FieldByName('Serie').AsString := serie; FieldByName('ChaveAcesso').AsString := ''; FieldByName('NotaFiscal').AsString := nDoc; { Alterado por Jose Nilton Pace em 16/05/2013 } FieldByName('TextoImpressao').AsString := 'NF ' + DoctoRem + ' '+ serie+ ' / ' + FormatFloat('000000000', StrToInt(nDoc)); (* FieldByName('TextoImpressao').AsString := 'NF ' + DoctoRem + ' ' + FormatFloat('000', StrToInt(serie)) + ' / ' + FormatFloat('000000000', StrToInt(nDoc)); *) end; Post; end; {$IFDEF PL_200} for i := 0 to CTe.infCTeNorm.infDoc.InfNFE.Count - 1 do begin with FCTe.infCTeNorm.infDoc.InfNFE.Items[i] do {$ELSE} for i := 0 to CTe.Rem.InfNFE.Count - 1 do begin with FCTe.Rem.InfNFE.Items[i] do {$ENDIF} begin Append; FieldByName('tpDoc').AsString := 'NFe'; FieldByName('CNPJCPF').AsString := FCTe.Rem.CNPJCPF; FieldByName('Serie').AsString := copy(chave,23,3); FieldByName('ChaveAcesso').AsString := chave; FieldByName('NotaFiscal').AsString := copy(chave,26,9); NroNota := StrToInt(Copy(chave, 26, 9)); // Alterado por Rodrigo Cardilo em 07/08/2014 { Alterado por Jose Nilton Pace em 16/05/2013 } //FieldByName('TextoImpressao').AsString := 'NF-e '+chave ; // comentando { Alterado por Rodrigo Cardilo em 07/08/2014 } FieldByName('TextoImpressao').AsString := 'NF-e '+chave + ' - ' + IntToStr(NroNota); // continua o código A segunda alteração são as informações adicionais e/ou observações do CTE que não estavam sendo carregadas para a impressão. procedure TdmACBrCTeFR.CarregaInformacoesAdicionais; var vTemp: TStringList; IndexCampo: Integer; Campos: TSplitResult; BufferObs: string; TmpStr: string; wContingencia: string; wObs: string; wSubstituto: string; i:integer; begin with cdsInformacoesAdicionais do begin Close; FieldDefs.Clear; FieldDefs.Add('OBS', ftString, 2000); FieldDefs.Add('infAdFisco', ftString, 2000); FieldDefs.Add('ObsCont', ftString, 1800); CreateDataSet; Append; with FCTe.compl do begin wObs := xObs; {Adicionado por Rodrigo Cardilo em 07/08/2014} // Observações for i := 0 to ObsCont.Count - 1 do begin with ObsCont.Items[i] do TmpStr := TmpStr + XCampo + ': ' + XTexto + ';'; end; if Length(wObs) > 0 then wObs := wObs + ';'; wObs := wObs + TmpStr; TmpStr := ''; // Continua o Código Se acharem interessante adicionar ficaria muito bom pois acredito que outros possam ter essa necessidade. Em anexo estou postando o arquivo modificado ACBrCTeDACTEFRDM.rar
  11. Oi Juliomar, Não deu certo. Eu geralmente apago a pasta inteira e baixo tudo novamente. Ainda persiste o mesmo problema. Grato.
  12. Oi amigo, O SPED Fiscal é gerado a partir de informações do banco de dados e não tem absolutamente nada a ver como ACBRMonitor. O mesmo só tem a função de enviar a Nota Fiscal Eletrônica. Para maiores informações sobre o SPED Fiscal consulte o tópico específico: http://www.projetoacbr.com.br/forum/index.php?/forum/19-fiscal/ Atc,
  13. Olá amigos, Não estou conseguindo compilar/instalar o ACBRSerial após atualizar. Está dando o seguinte erro: Z:\Sistemas\Componentes\Delphi 2010\Acbr\Fontes\ACBrSerial\ACBrBALClass.pas(170) Error: E2003 Undeclared identifier: 'WriteLog' Esse mesmo erro está acontecendo na unit ACBrECFClass.pas. Se alguém souber como resolver fico grato desde já.
  14. Fala Galera, Resolvi a impressão de uma maneira simples. Fui no componente ACBrBoletoFCFortesFr.pas e lá selecionei o componente txtNomeSacadoCarne que é do tipo TRLMemo. Fui na propriedade Behavior e depois beSiteExpander e passei para False. Depois aumentei a altura (propriedade Height) para 40. Compilei e funcionou certinho. Se o pessoal responsável pela atualização puder mudar isso dá certinho. Abraço a todos
  15. Olá Isaque, Conforme eu citei anteriormente eu já consultei no manual http://www.bb.com.br/docs/pub/emp/empl/dwn/CbrVer04BB.pdf e na página 21 constam todos os retornos possíveis. Portanto o banco não tem problema algum e sim o componente ACBR. Eu mesmo fiz a alteração para me atender mas acho que deveria ser mudado no svn. Página 21 do manual fornecido pelo Banco: Códigos de movimento de retorno, informados pelo Banco do Brasil: 02 – Entrada confirmada, 03 – Entrada Rejeitada, 04 – Transferência de Carteira/Entrada, 05 – Transferência de Carteira/Baixa, 06 – Liquidação, 09 – Baixa, 11 – Títulos em Carteira (em ser), 12 – Confirmação Recebimento Instrução de Abatimento, 13 – Confirmação Recebimento Instrução de Cancelamento Abatimento, 14 – Confirmação Recebimento Instrução Alteração de Vencimento, 15 – Franco de Pagamento, 17 – Liquidação Após Baixa ou Liquidação Título Não Registrado, 19 – Confirmação Recebimento Instrução de Protesto, 20 – Confirmação Recebimento Instrução de Sustação/Cancelamento de Protesto, 23 – Remessa a Cartório (Aponte em Cartório), 24 – Retirada de Cartório e Manutenção em Carteira, 25 – Protestado e Baixado (Baixa por ter sido Protestado), 26 – Instrução Rejeitada, 27 – Confirmação do Pedido de Alteração de Outros Dados, 28 – Débito de Tarifas/Custas, 29 – Ocorrências do Sacado, 30 – Alteração de Dados Rejeitada, 44 – Título pago com cheque devolvido, 50 – Título pago com cheque pendente de compensação. Atc, Rodrigo Cardilo
  16. Olá amigos, Meu cliente recebeu um retorno hoje do Banco do Brasil CNAB 240 e um título veio com uma ocorrência que não consta na unit ACBrBancoBrasil.pas. O código da ocorrência é 17. Daí procurei no manual do Banco do Brasil (http://www.bb.com.br/docs/pub/emp/empl/dwn/CbrVer04BB.pdf) na página 21 e realmente tem alguns retornos que não possuem na lista conforme abaixo function TACBrBancoBrasil.CodOcorrenciaToTipo(const CodOcorrencia: Integer ) : TACBrTipoOcorrencia; begin case CodOcorrencia of 02: Result := toRetornoRegistroConfirmado; 03: Result := toRetornoComandoRecusado; 05: Result := toRetornoLiquidadoSemRegistro; 06: Result := toRetornoLiquidado; 07: Result := toRetornoLiquidadoPorConta; // 08: Result := ; // 08-Liquidação por Saldo 09: Result := toRetornoBaixado; 10: Result := toRetornoBaixaSolicitada; 11: Result := toRetornoTituloEmSer; 12: Result := toRetornoAbatimentoConcedido; 13: Result := toRetornoAbatimentoCancelado; 14: Result := toRetornoVencimentoAlterado; 15: Result := toRetornoLiquidadoEmCartorio; // 16: Result := ; // 16-Confirmação de alteração de juros de mora 19: Result := toRetornoRecebimentoInstrucaoProtestar; 20: Result := toRetornoDebitoEmConta; 21: Result := toRetornoRecebimentoInstrucaoAlterarNomeSacado; 22: Result := toRetornoRecebimentoInstrucaoAlterarEnderecoSacado; 23: Result := toRetornoEncaminhadoACartorio; 24: Result := toRetornoProtestoSustado; 25: Result := toRetornoJurosDispensados; // 26: Result := ; // 26-Alteração do número do título dado pelo Cedente (Seu número) – 10 e 15 posições 28: Result := toRetornoManutencaoTituloVencido; 31: Result := toRetornoDescontoConcedido; 32: Result := toRetornoDescontoCancelado; // 33: Result := ; // 33-Retificar desconto // 34: Result := ; // 34-Alterar data para desconto // 35: Result := ; // 35–Cobrar Multa // 36: Result := ; // 36–Dispensar Multa // 37: Result := ; // 37–Dispensar Indexador // 38: Result := ; // 38–Dispensar prazo limite para recebimento // 39: Result := ; // 39–Alterar prazo limite para recebimento 41: Result := toRetornoAcertoControleParticipante; // 42: Result := ; // 42–Alteração do número do documento do sacado (CNPJ/CPF) // 44: Result := ; // 44–Título pago com cheque devolvido 46: Result := toRetornoTituloPagoEmCheque; 72: Result := toRetornoTipoCobrancaAlterado; 96: Result := toRetornoDespesasProtesto; 97: Result := toRetornoDespesasSustacaoProtesto; 98: Result := toRetornoDebitoCustasAntecipadas; else Result := toRetornoOutrasOcorrencias; end; end; Se puderem incluir por favor fico grato. Atc,
  17. Olá Darlana, Passei pelo mesmo problema relatado por vocês e resolvi fazer a mesma alteração sugerida por você e Astrogildo na fonte do ACBR. Uma dúvida ficou pairando na minha cabeça. Como na alteração você confirma a nota caso o retorno seja 301 ou 302 como você trata isso na rotina ACBrNFe1.Enviar(0)? Pelo que entendi a nota será confirmada como enviada (o que realmente aconteceu). O que você sugere? Verifico qual o retorno após o envio? Seria mais ou menos o código abaixo? ACBrNFe1.Enviar(0); if ACBrNFe1.NotasFiscais.Items[0].Confirmada = True then If ACBrNFe1.WebServices.Retorno.cStat = 301 then ShowMessage('Nota Denegada') else If ACBrNFe1.WebServices.Retorno.cStat = 100 then ShowMessage('Nota Enviada com sucesso!') Grato desde já, Rodrigo Cardilo
  18. Olá Amigos, Tentei utilizar o DACTE.fx3 que está na pasta de exemplo e deu várias mensagens de erro. (conforme figura anexo) Porém já estou utilizando a versão 2.0 (conforme xml anexo) Só para constar eu atualizei hoje o ACBR via svn. Apaguei tudo, limpei o registro e instalei tudo de novo. Alguém pode me ajudar? Grato, Rodrigo Cardilo 31140605291022000171570010000001011000001018-cte.XML 31140605291022000171570010000001011000001018-cte.XML
  19. Oi Daniel, Foi somente isso mesmo.. Muito obrigado. De qualquer forma agradeço ao Régys e EMBarbosa pela atenção. Grato, Rodrigo Cardilo
  20. Olá amigos, Resolvi instalar novamente todos os componentes ACBR. Apaguei todos os arquivos e baixei. Quando tento instalar o componentes ACBRSerial me dá a seguinte mensagem de erro: [DCC Error] ACBrECF.pas(1277): E2003 Undeclared identifier: 'cACBrECFSemECFVirtualException' A linha que indica o erro tem a seguinte sintaxe: if (AValue = ecfECFVirtual) and (not Assigned( fsECFVirtual) ) then raise EACBrECFErro.Create( ACBrStr(cACBrECFSemECFVirtualException)); Já procurei e vi que a declaração está na unit ACBRConsts mas mesmo assim o erro persiste. Alguém sabe como me ajudar? Grato, Rodrigo Cardilo
  21. Olá amigos, Uma cliente me ligou hoje relatando que o banco está rejeitando os boletos do Bradesco pelo seguinte motivo. A agência está representada no código de barras/linha digitável incorretamente. Fui averiguar seguindo o manual do Bradesco (abaixo) e realmente temos um problema: A agência da minha cliente (80-9) aparece representada no boleto como 0008 (sem o dígito verificador é claro) onde teria que ser 0080. Num outro boleto onde a agencia é 3033-3 aparece 0303, (Página 32 do Manual anexo) Procurando no componente constatei que esse problema é devido à propriedade tamanhoagencia que no caso do Bradesco está 5. Fiz a alteração direto no componente na propriedade para 4 e aí sim gera corretamente. Não testei os outros métodos (remessa/retorno). Será que essa mudança vai alterar as outras funções do componente? Existe algum manual atualizado onde a agência possui 5 dígitos? Se alguém puder ajudar fico agradecido. Grato, Rodrigo Cardilo Bradesco+CNAB+400+-+03022010.pdf Bradesco+CNAB+400+-+03022010.pdf
  22. Olá Juliomar, Já apaguei todas as fontes e baixei novamente. Recompilei e nada. Curiosamente que quando eu utilizo o DACTE da versão 1.04 funciona perfeitamente. ATc, Rodrigo Cardilo
  23. Olá Amigos, Tentei utilizar o DACTE.fx3 que está na pasta de exemplo e deu várias mensagens de erro. (conforme figura anexo) Porém já estou utilizando a versão 2.0 (conforme xml anexo) Alguém pode me ajudar? Grato, 31140605291022000171570010000001011000001018-cte.XML
  24. Bom dia Juliomar, Eu vi que tinha um projeto porém somente em Lazarus e eu utilizo o Delphi, por isso nem tentei abrir. De qualquer forma muitíssimo obrigado pela ajuda. Atc,
×
×
  • 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.