Ir para conteúdo
  • Cadastre-se

Nelson Santos

Membros
  • Total de ítens

    154
  • Registro em

  • Última visita

Posts postados por Nelson Santos

  1. @Italo Giurizzato Junior  Estou enviando o arquivo ACBrOFX.pas modificado, pois não está tratando a tag <TRNTYPE> (Propriedade no ACBrOFX: MovType) adequadamente conforme Manual de Especificações do OFX (https://financialdataexchange.org/common/Uploaded%20files/OFX%20files/OFX%20Banking%20Specification%20v2.3.pdf).

    Assim, alterei a Function Import para fazer o tratamento corretamente conforme item 3.2.9.2 Positive and Negative Signs na página 95 e item 11.4.4.3 Transaction Types Used in <TRNTYPE> na página 235 do mesmo manual, para verificar se a tag <TRNAMT> tem valor negativo ou positivo, uma vez que a maioria dos tipos são baseados no valor, como é o caso do tipo XFER que pode ser Débito de Transferência ou Crédito de Transferência.
    Com isto, o ACBrOFX não retorna mais "OTHER" no MovType, mas sim "D" ou "C". Esta informação será retornada na nova propriedade que eu criei "OriginalMovType".
     
    Além de alterar o código da função, criei a propriedade "OriginalMovType" que guardará o <TRNTYPE> original do OFX, pois os códigos de tipos do OFX são também importantes, já que tem significado e podem ser tratados pelos sistemas. 

    Obs.: Deixei os códigos anteriores comentados.

    ACBrOFX.pas

    • Curtir 2
  2.  

    Boa noite,

    Mais uma vez foi necessário alterar o componente.

    Na parte onde converte o valor de String para Float:

    Alterado de:   

           oItem.Value := StrToFloat(Amount);

     

    Para:        

                  {$IF CompilerVersion > 21.0}  // VERSÕES SUPERIORES AO DELPHI 2010, É NECESSÁRIO INICIALIZAR ...
                  fs:=TFormatSettings.Create('pt-BR');
                  GetLocaleFormatSettings(GetThreadLocale(),fs);
                  {$IFEND}

                  fs.DecimalSeparator:=',';
                  oItem.Value := StrToFloat(Amount, fs);

    Esta alteração foi necessária porque, dependendo das configurações dos sistema, a Função StrToFloat somente consegue converter com Ponto Decimal, mas aqui, no componente, está tentando a conversão com Vírgula Decimal. Assim, foi necessário reconfigurar o TFormatSettings para usar Vírgula na função StrToFloat.

     

    Segue anexo novo AcbrOFX.pas

    ACBrOFX.pas

  3. Desculpe se estou reativando o topico, mas não quis abrir outro, pois acredito que tenha a ver com o assunto.

    Atualizei o Acbr hoje (04/09/2023), e tenho o Delphi 10.4 Sidney com Fast Report 6...

    A instalação do Acbr está parando ao tentar instalar o ACBr_NFeDanfeFR.dpk, dando que o fs23.dpk não está instalado.

    O Delphi Sdney usa o fs27, e não o fs23...

    Para resolver isto, editei o ACBr_NFeDanfeFR.dpk e inclui as diretivas de compilação para cada versão do Delphi...o que fez compilar e instalr normalmente....

    segue anexo a nova dpk do ACBr_NFeDanfeFR.dpk

     

    ACBr_NFeDanfeFR.dpk

  4. Estou com uma demanda para um sistema de emissão de NF-e conjugada com a conta de água aqui no Estado do RJ.

    Isto, baseado no Anexo IV à Resolução SEFAZ n.º 720/14.

    Pelo que entendi, nada mais é que uma NF-e com algumas informações diferenciadas...

    Acredito que um dos únicos problemas é com relação a denominação "Nota Fiscal Conta de Fornecimento de Água" que precisa estar impressa na DANFE (me corrija se estiver errado).

    1) Seria através do ACBRNfe ?

    2) O AcbrNFe está preparado para isto ?

    Obs.: link para a resolução citada:

    http://www.fazenda.rj.gov.br/sefaz/faces/oracle/webcenter/portalapp/pages/navigation-renderer.jspx?_afrLoop=101272881274284506&datasource=UCMServer%23dDocName%3AWCC223428&_adf.ctrl-state=yw9x1of4b_9

     

    Desde já, obrigado.

    NELSON SANTOS

  5. Não entendi "anexar manual" se o manual está anexo e claro....inclusive anexei exemplo de um boleto gerado diretamente pelo Internet Banking do Banco Inter..

    Além disso, já citei que este problema foi detectado em um cliente em produção...se usar o Código de Operação na propriedade Cedente, vai gera sim a linha digitável corretamente...entretanto, a parte impressa abaixo do vencimento no boleto, ficha de compensação estará errada ..

  6. Estou anexando um exemplo de boleto gerado direto pelo Internet Banking...

    Veja que a Linha Digitável não consta o Código de Beneficiário (que é o Código de Cedente), mas é impresso no campo abaixo do Vencimento..

    Na Linha Digitável consta este código de operação, conforme manual...

     

    bancointer.png

    • Curtir 1
  7. @Victor H. Gonzales - Panda Se vc ver novamente, o CodigoCedente é impresso no Boleto em campo próprio também., mas na Linha Digitável e no Codigo de Barras não é...

    Assim, se for alimentado o Componente com este Código de Operação na propriedade  CodigoCedente, sairá impresso no campo Codigo do Cedente este codigo de Operação...o que está errado...Neste campo, como dito, é impresso realmente o Codigo do Cedente, mas na Linha Digitável e Codigo de Barras é este código de operação...

    Assim, não vejo motivos para reversão da atualização...

    Para confirmação, basta gerar o PDF do Boleto direto pelo Internet Banking do Banco Inter.

  8. Fiz uma alteração no arquivo ACBrBancoInter.pas para adequá-lo ao layout, conforme manual fornecido pelo Banco Inter.

    Conforme manual anexo, testado e com cliente em produção, a parte livre do codigo de barras não contem o Codigo do Cedente, mas um número da operação com 7 digitos (ver página 22, item 6.1.3 do manual anexo)

    Com esta alteração, a impressão ficou correta...

    Para isto, passei a usar a propriedade "CodigoOperacao" que deverá ser informada e poderá ser obtida pelo Internet Banking do Banco Inter em 
    Conta Digital > Emisão via CNAB > Retorno

    Este código é também utilizado por boletos emitidos pelo Webservice...

    ACBrBancoInter.pas Manual_CNAB_400_Inter.pdf

    • Curtir 1
  9. @Juliana Tamizou bom dia...foi feito o teste, conforme mencionei, no Delphi, inclusive já tenho software em produção...entretanto, não havia testado no Lazarus, quando tive que realizar tal alteração, uma vez que o Lazarus não existe a unit JPeg, mas o mesmo usa tudo pela unit Graphics...esta foi a alteração que tive que fazer, ou seja, criar um IFDEF para compilar com JPeg somente quando for Delphi...e quando for Lazarus, usar a Graphics...

×
×
  • 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.