Ir para conteúdo
  • Cadastre-se

Lowry David da Silva Pereira Reis

Membros
  • Total de ítens

    21
  • Registro em

  • Última visita

Posts postados por Lowry David da Silva Pereira Reis

  1. Bom dia, não achei nenhum tópico sobre esse assunto... desculpa caso tenha sido duplicado...

    Existe alguma forma de setar uma fonte padrão para a impressão? me deparei com uma situação aonde maquinas na mesma empresa imprimem o danfe com configurações diferentes, fui analisar a situação e algumas maquinas estão com a visualização em 150% e outras tiveram seu pacote de fontes alterado por algum programa instalado...

     

  2. 17 minutos atrás, ssouzaacbr disse:

    você alterou alguma coisa no arquivo ACBrBoleto.pas?

    se eu alterar o tamanho do nosso numero para 8 ele para nesse trecho:

     

    procedure TACBrTitulo.SetNossoNumero ( const AValue: String ) ;
    var
       wTamNossoNumero: Integer;
       wNossoNumero: String;
    begin
       wNossoNumero:= OnlyNumber(AValue);
       with ACBrBoleto.Banco do
       begin
          wTamNossoNumero:= CalcularTamMaximoNossoNumero(Carteira, wNossoNumero,
                                                         ACBrBoleto.Cedente.Convenio);

          if Length(trim(wNossoNumero)) > wTamNossoNumero then
             raise Exception.Create( ACBrStr('Tamanho Máximo do Nosso Número é: '+ IntToStr(wTamNossoNumero) ));

          fNossoNumero := PadLeft(wNossoNumero,wTamNossoNumero,'0');
       end;
    end;
     

     

    não mexi no acbrboleto, apenas no ACBrBancoSafra, como tenho clientes em vários bancos, não posso fazer uma alteração no acbrboleto, isso pode provocar erros nos outros.

  3. 11 minutos atrás, ssouzaacbr disse:

    Bom dia Lowry, usei a sua Unit mas mesmo assim, ele adiciona um número a mais na posição 71, nas posições 63 a 71 deveria ser usada pelo Nosso Número, vou tentar descobrir o motivo..

    no final do nosso numero o componente gera o digito verificador, estou trabalhando utilizando ele, então nas minhas configurações eu comecei com o nosso numero setado em 1.

  4. 15 horas atrás, ssouzaacbr disse:

    percebi que vc alterou essa linha (a baixo), sendo que no manual pede que o nosso numero tenha 9 posições, é isso mesmo?  

    fpTamanhoMaximoNossoNum := 8; // 9 posicoes com o digito pagina 20 do manual ex: (XXX XXXXX X);

    poderia citar o trecho de código que você alterou para resolver essa questão do numero a mais no arquivo de remessa?

     

    Obrigado Lowry...

    essa linha não fui eu que alterei, já herdei essa Unit alterada nesse ponto :)
    minhas alterações foram para os campos da agencia que no meu caso começavam com 0...

    aconselho a pegar essa Unit e tentar a homologação.

  5. 6 minutos atrás, ssouzaacbr disse:

    Estou com dois problemas iguais ao seu, 1: nosso numero divergente, resolvi assim:

    function TACBrBancoSafra.MontarCampoCodigoCedente(const ACBrTitulo: TACBrTitulo): string;
    begin
      with ACBrTitulo.ACBrBoleto.Cedente do
      begin
            //Result := PadLeft(RightStr(Agencia,4), 4, '0') + PadLeft(AgenciaDigito, 1, '0') + ' / ' + PadLeft(ACBrBoleto.Cedente.Conta, 8, '0') + PadLeft(ACBrBoleto.Cedente.ContaDigito, 1, '0');
            Result := PadLeft(RightStr(Agencia,5), 5, '0') + ' / ' + PadLeft(ACBrBoleto.Cedente.Conta, 8, '0') + PadLeft(ACBrBoleto.Cedente.ContaDigito, 1, '0');
      end;
    end;

    Quanto ao digito que ele inclui no final do nosso numero na remessa ainda estou batendo cabeça...

    você baixou essa Unit para testar?

  6. 25 minutos atrás, Emerson Teixeira disse:

    olha o que diz o manual sobre o tamanho da agencia... 

    Sao 5 digitos = 4 da agencia + 1 do digito,  no seu codigo ficaria 6 digitos.

    confirma se sua conta esta sendo informada com o tamanho correto 8 posicoes da conta + 1 posicao do digito da conta = 9 posicoes com digito  = pagina 4 manual.

    att

    image.png.0492d9d862b1e7f3645b2284f147ba79.png

    image.thumb.png.0d235fe02376a6c89d1bad8c4914d937.png

    verifique que na verdade não existe digito da agencia e ele utiliza apenas os 4 primeiros dígitos para escrever a linha digitável, ou seja, se é 05200 ele vai escrever apenas 0520...

    não foi a melhor forma de alterar, mas a linha digitável ficou exatamente igual ao que eles estão pedindo, agora estou esperando a resposta do banco, caso ela seja de homologado, vou fazer uma alteração "decente".

  7. 15 minutos atrás, Emerson Teixeira disse:

    bom dia @Murilo Neves.

    quais foram as alterações que você fez?

    Pelo que vi aqui, vc mudou a ordem o campo SeuNumero/NumeroDocumento, apagou os comentários que fiz, aparentemente não vai resolver o problema do @Lowry David da Silva Pereira Reis

    o que pude observar é que o no caso da agencia 05200 e a função de montar o codigo de barras esta removendo este zero a esquerda, no meu caso a agencia nao tinha esse zero a esquerda.

    Ajustei a unit novamente, favor passar a agencia = 052

    se funcionar, me avise...

    att

     

    ACBrBancoSafra.pas 71 kB · 0 downloads

    Muito obrigado pela atenção :)

    testei novamente com a sua Unit e agora ela escreve corretamente a agencia na impressão e na remessa.

    só precisei alterar a function abaixo para poder gerar a linha digitável corretamente.

    function TACBrBancoSafra.MontarCodigoBarras(const ACBrTitulo: TACBrTitulo): string;
    var
      CodigoBarras, FatorVencimento, DigitoCodBarras ,
      valorDocumento, agencia, agenciaDigito, conta,
      ContaDigito, NossoNumero: string;
    begin
      with ACBrTitulo.ACBrBoleto do
      begin
        FatorVencimento  := CalcularFatorVencimento(ACBrTitulo.Vencimento);
        valorDocumento   := IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10);
        agencia          := PadRight(RightStr(Cedente.Agencia, 5), 5, '0'); //***ALTERADO DE 4 PARA 5****// aqui 4 posicoes da agencia + 1 posicao do digito pagina 23
        agenciaDigito    := PadLeft(Cedente.AgenciaDigito, 1, '0');
        conta            := PadLeft(Cedente.Conta, TamanhoConta, '0');
        ContaDigito      := PadLeft(Cedente.ContaDigito, 1, '0');
        NossoNumero      := PadLeft(RightStr(ACBrTitulo.NossoNumero,TamanhoMaximoNossoNum),TamanhoMaximoNossoNum,'0')  + CalcularDigitoVerificador(ACBrTitulo);

        CodigoBarras := IntToStr(Banco.Numero) + '9' + FatorVencimento +   valorDocumento +
                        '7' + agencia + trim(agenciaDigito) + trim(conta) + ContaDigito + NossoNumero + '2';

        DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras);
      end;

      Result := IntToStr(Numero) + '9' + DigitoCodBarras + Copy(CodigoBarras, 5, 39);

    end;

  8. 14 minutos atrás, Lowry David da Silva Pereira Reis disse:

    Bom dia, estou mantendo esse tópico pois ainda não consegui terminar as validações, mesmo com a Unit do companheiro acima, que esta validada e em produção e eu continuo tendo problemas...
    agora o dilema esta na linha digitável, a agencia do meu meu cliente é 05200 porem a agencia esta sendo informada na linha digitável sem o 0 a esquerda (apenas 5200), conforme a imagem abaixo.

    13566094.gif

    conforme a página 23 do manual CNAB400, a agencia é representada pelos 4 primeiros dígitos, então deveria estar 0520.

     

     

    link manual: https://www.safra.com.br/data/files/92/E1/A0/49/B7C39510FDF7C195181808FF/Leiaute de Arquivos - Cobranca CNAB 400.pdf

    Screenshot_5.png

  9. Bom dia, estou mantendo esse tópico pois ainda não consegui terminar as validações, mesmo com a Unit do companheiro acima, que esta validada e em produção e eu continuo tendo problemas...
    agora o dilema esta na linha digitável, a agencia do meu meu cliente é 05200 porem a agencia esta sendo informada na linha digitável sem o 0 a esquerda (apenas 5200), conforme a imagem abaixo.

    13566094.gif

  10. Em 11/10/2019 at 08:39, Lowry David da Silva Pereira Reis disse:

    Bom dia, ainda não, vou enviar uma remessa de teste utilizando ela ainda hoje

    Enviei a remesse utilizando a sua Unit, e eles me questionaram as seguintes coisas:
     

    • alterar campos marcados em vermelho no boleto modelo abaixo:
    • o campo nosso número informado no boleto está divergente do informado na remessa, o mesmo deve ser idêntico contendo 9 números sem cálculo do dígito final; -- (ou seja, o nosso numero deve conter 9 digitos + o digito verificador, na Unit do ACBR ele imprime 9 dígitos sem o digito verificar e preenche na remessa 9 dígitos contando com o dígito verificador)
    • ag e conta deve seguir o formato 05200 / 005834915 ; -- (na Unit do ACBR ele escreveu correto)
    • o nome do banco não deve conter logo, somente BANCO SAFRA S/A.; -- (em nenhuma das duas units saiu escrito)

    Screenshot_2.png

    unnamed.gif

  11. 42 minutos atrás, Emerson Teixeira disse:

    bom dia.

    esta usando a unit que passei?

    Bom dia Juliana.

    para fazer as alterações que estão na unit do outro post, segui o manual que esta no repositório do acbr, estas alterações estão comentadas na unit, informei a pagina em cada mudança.

    att.

     

    Bom dia, ainda não, vou enviar uma remessa de teste utilizando ela ainda hoje

    • Curtir 1
  12. 9 minutos atrás, Juliana Tamizou disse:

    Boa tarde.

    Você tem um manual fornecido do banco com estas exigências documentadas? Vale lembrar que temos outros membros da comunidade emitindo para este banco.

    At.

    eu só tenho o retorno do e-mail com todos os dizeres, alguns eu ja resolvi, ficaram apenas esses dois citados.

    NO BOLETO: 

    • alterar campos marcados em vermelho no boleto modelo abaixo:
    • o campo nosso número informado no boleto está divergente do informado na remessa, o mesmo deve ser idêntico contendo 9 números sem cálculo do dígito final;
    • ag e conta deve seguir o formato 05200 / 005834915;
    • o nome do banco não deve conter logo, somente BANCO SAFRA S/A.;
    • alterar mensagem de local de pagamentos;
    • recalcular linha digitável e código de barras conforme orientação abaixo:

    1B592555.gif

  13. 2 minutos atrás, Emerson Teixeira disse:

    boa tarde.

    fiz alguns ajustes nessa unit, tente usar a que está neste post: 

    tenho varios clientes emitindo, inclusive fiz a homologação de mais 1 esta semana.

     

    att

    eu vou testar com a sua Unit :)
    mas eu tenho medo de precisar atualizar o ACBR e acabar esquecendo de voltar a unit.... ai causar um stress desnecessário....

  14. Bom dia, iniciei um processo de homologação do banco safra (cobBancoSafra) e me deparei com dois problemas que não estou conseguindo resolver...

    1º  o nosso numero gerado no arquivo de remessa esta divergente do impresso pois ele esta adicionando um digito verificador na 9ª posição do NN.

                  IfThen(NossoNumero = '000000000', '000000000',
                                     PadLeft(RightStr(NossoNumero,8),8,'0') +
                                     CalcularDigitoVerificador(ACBrTitulo)) + 

    não consegui realizar a impressão utilizando esse digito verificador.

    2º o banco esta obrigando que não tenha uma logo e esteja escrito 'BANCO SAFRA S/A' em seu lugar, esse eu posso simplesmente alterar para que escreva o texto, mas na próxima vez que o ACBR for atualizado eu teria que alterar novamente.

    Screenshot_1.png

  15. eu consegui fazer aqui de uma forma um tanto quanto "burra", mas esta me resolvendo por enquanto, eu mando imprimir cada via separadamente da seguinte forma:

    DM.ACBrNFeDANFCeFortes1.ViaConsumidor := false;
    DM.ACBrNFe1.NotasFiscais.Imprimir;
    DM.ACBrNFeDANFCeFortes1.ViaConsumidor := true;
    DM.ACBrNFe1.NotasFiscais.Imprimir;

     

    não é a forma mais inteligente mas resolveu minha urgência, depois eu vou tentar implementar de uma forma melhor.

    • Curtir 1
  16. Boa tarde,

    Abri este tópico pois não achei nenhum já feito....

      Estou implementando a emissão offline e nos meus testes no ambiente de homologação, não estou conseguindo imprimir a segunda via, apenas a via da empresa... na impressão a aparece a seguinte mensagem: "NFC-e nº 000008993 Série 002 14/03/2019 16:42:23 Via Empresa", mas não consigo imprimir a via do cliente.

    aaaaaaaa.pdf

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