Jump to content

LEANDRODOCOUTO

Membros
  • Content Count

    76
  • Joined

  • Last visited

Everything posted by LEANDRODOCOUTO

  1. Estou tentando compilar opacote AcbrLibNFE no Lazarus e ele não encontra essa Unit.. DFeReportConfig.. pesquisei e ela não existe nos fontes do Acbr
  2. Tive muitos problemas de erro 12002 depois das ultimas atualizações. Uma forma que resolveu em todos os clientes, foi indo nas Opções de Internet / Avançadas e desmarcar todas as opções TLS ( 1.1 e 1.2 ) e deixando marcada somente SSL 2.0 e 3.0. No Download da XML ainda dá muitos erros 12002 ( timeout ), mas creio que isso é problema de infra pois o que tem que ser priorizado é a validação das notas fiscais, portanto os demais serviços ficam em segundo plano.
  3. Vamos compartilhar nossos exemplos de uso da ACBRLib... Tenho funcionando em C# exemplos de Inutilização, Consulta de status do Sefaz e consulta de CEP... CEPImports.cs NFEImports.cs ConsultaCEP.cs NFEletronica.cs NFEUtil.cs CEPUtil.cs
  4. Quando a inutilização não dava certo ( tentando inutilizar um numero que ja existia, por exemplo ), a rotina devolvia a constante "InutilizarNFe" ( Result := SetRetornoWebService(SSL.HTTPResultCode, 'InutilizarNFe') só substitui a contante 'InutilizarNFe' por xMotivo, pra trazer o motivo da inutilização não deu certo. Quando a inutilização não dá certo, XMotivo traz a mensagem de erro.
  5. Atualizei agora... revisão 16133 e o erro não ocorre mais...
  6. Atualizei o ACBR hoje 18/12 e passei a ter erro de Assinatura diferente do calculado ( erro 297 ). Volto para a versão do dia 15/12 e não acontece o erro.. segue em anexo o xml.. 43181290205691000152550010000480671364040094-nfe.xml
  7. boa tarde... segue a Unit Alterarda... ACBrLibNFeClass.pas
  8. Na Unit AcbrLibNfeClass.. no médodo NFE_Inutilizar o result estava como Result := SetRetornoWebService(SSL.HTTPResultCode, 'InutilizarNFe'); ( linha 1027 ) quando a inutilização não dava certo.. Então a mensagem de retorno sempre tinha como InutilizarNFe. Isso dificultava o entendimento. Mudei para Result := SetRetornoWebService(SSL.HTTPResultCode, Inutilizacao.XMotivo ); Isso retorna a mensagem correta de retorno do WebService
  9. Não precisa... faz desse jeito.. nesse caso, tem que colocar um item na tag PAG com o valor sem faturamento... if( vSemFaturamento > 0 ) then With Pag.Add do begin tPag := fpSemPagamento ; vPag := vSemFaturamento; end; a soma dos itens da tag PAG têm que fechar com o total da nota..mesmo uma nf de remessa tem que ter essa tag ... Citar
  10. Fiz dessa forma.. ( POG puro...) if( nf.ValorDesconto > 0 ) then vDesc := nf.ValorDesconto else begin if ( nfe.configuracoes.webservices.Ambiente = taHomologacao ) then vDesc := 0.001; end; vOrig := tFat + vDesc; vLiq := tFat; end; Funciona em homologação e produção.. claro.. depois de setembro vai dar erro de novo... mas ai tira-se o condicional.. Finalmente validando nfe 4.0 em produção e homologação...
  11. nesse caso, tem que colocar um item na tag PAG com o valor sem faturamento... if( vSemFaturamento > 0 ) then With Pag.Add do begin tPag := fpSemPagamento ; vPag := vSemFaturamento; end; a soma dos itens da tag PAG têm que fechar com o total da nota..mesmo uma nf de remessa tem que ter essa tag ...
  12. Vou colocar um condicional.. se for homologação faz assim.. se for produção faz assim...
  13. Galera.. uma sugestão.. voltem pra versão 3.1.. até o dia 09/07 ..aonde essas validações vão valer pro ambiente de produção.. eu, por exemplo, colocando 0.001 no vdesc não funcionou, e não tive problema nenhum com as tags de pagamento ..
  14. Unit pcnNfeW Linha 2208.. trocar Gerador.wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, 0, nfe.Cobr.Fat.vDesc, DSC_VDESC); por Gerador.wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, 1, nfe.Cobr.Fat.vDesc, DSC_VDESC); Dessa forma a tag vDesc sempre será gerada..
  15. Olá.. o componente já coloca com os zeros.. estou processando o arquivo de retorno, depois que o acbr leu e gerou a lista de titulos, então já vêm com os zeros.
  16. Desta forma abaixo funcionou perfeitamente... sds, function TACBrBancoBrasil.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String; var ANossoNumero, AConvenio: String; wTamNossoNum: Integer; begin with ACBrTitulo do begin AConvenio := ACBrBoleto.Cedente.Convenio; ANossoNumero := NossoNumero; wTamNossoNum := CalcularTamMaximoNossoNumero(Carteira,ANossoNumero); if ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) and (Length(AConvenio) = 6) and (wTamNossoNum = 17) then ANossoNumero := PadLeft(ANossoNumero, 17, '0') else if Length(AConvenio) <= 4 then ANossoNumero := PadLeft(AConvenio, 4, '0') + PadLeft(ANossoNumero, 7, '0') else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then // ANossoNumero := PadLeft(AConvenio, 6, '0') + PadLeft(ANossoNumero, 5, '0') ANossoNumero := PadLeft(AConvenio, 6, '0') + RightStr(ANossoNumero, 5) else if (Length(AConvenio) = 7) then ANossoNumero := PadLeft(AConvenio, 7, '0') + RightStr(ANossoNumero, 10); end; Result := ANossoNumero; end;
  17. sim.. a remessa e o retorno funcionam..pois eu busco as duplicatas pelo numero de controle.. mas eu salvo essa informação do banco de dados.. e está salvando errado..posso alterar e enviar a alteração ?
  18. Bom dia... Na Unit ACBRBancoBrasil, rotina FormataNossoNumero, if ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) and (Length(AConvenio) = 6) and (wTamNossoNum = 17) then ANossoNumero := PadLeft(ANossoNumero, 17, '0') else if Length(AConvenio) <= 4 then ANossoNumero := PadLeft(AConvenio, 4, '0') + PadLeft(ANossoNumero, 7, '0') else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then ANossoNumero := PadLeft(AConvenio, 6, '0') + PadLeft(ANossoNumero, 5, '0') else if (Length(AConvenio) = 7) then ANossoNumero := PadLeft(AConvenio, 7, '0') + RightStr(ANossoNumero, 10); No meu caso, cairia nessa opção em negrito.. Convenio com 6 digitos.. aNossoNumero ='0000000039871' aConvenio = '691329' o Acbr esta pegando os CINCO PRIMEIROS digitos do nosso numero , ou seja está pegando 5 zeros.. Ele não deveria pegar os 5 últimos pra compor o nosso numero corretamente ? ( RightStr(ANossoNumero, 5) ) ?? sds,
  19. pensamos do mesmo jeito.. também fiz algo semelhante... hehehe..
  20. No processamento do arquivo de retorno da caixa federal estou recebendo o erro de carteira inválida, mandando utilizar RG ou SR, porém está vindo 14. Quando chega na função TACBrCaixaEconomica.RetornaModalidade o componente lança a exceção : Exception.Create( ACBrStr('Carteira Inválida.'+sLineBreak+'Utilize "RG" ou "SR"') ) ; R121200002.ret
  21. O Manual do BB no padrão CNAB240, ignora o Segmento 'S' , que são as mensagens do boleto... As mensagens nos boletos vão no header do Lote.. Nos fontes do acbr os dois campos estão indo sempre vazios. PadRight('', 40, ' ') + // 104 a 143 - Mensagem 1 para todos os boletos do lote PadRight('', 40, ' ') + // 144 a 183 - Mensagem 2 para todos os boletos do lote Tam alguma propriedade na classe Banco ou Carteira aonde eu possa informar 2 linhas para serem adicioandas ao arquivo de remessa ? sds, Leandro Aggille Sistemas de Gestão
  22. Em todos os manuais do Sicredi que tenho aqui, os codigos de Mora são 1 2 e 3 .. porque no acbr temos que informar A B ? Sugestão: criar um tipo tpCodigoMora ( tpcmValorDiario, tpcmTaxaMensal, tpcmIsento ) e dai tratar dentro dos units dos bancos...
×
×
  • Create New...