Ir para conteúdo
  • Cadastre-se

Marcos Mentz_5837

Membros
  • Total de ítens

    42
  • Registro em

  • Última visita

Posts postados por Marcos Mentz_5837

  1. Boa tarde!

    A função abaixo não estava contemplando o tipo de carteira tcDireta para o result 5, com a adição validou corretamente o arquivo.

    A critica do banco antes da alteração:

    REGISTRO DETALHE -SEGMENTO P REMESSA      
    058-058 Tipo de cobrança: . . CÓDIGO DA CARTEIRA INCORRETO. ALTERAR PARA 5 USAR informação do tipo de carteira.

     

    function TACBrBancoSantander.DefineCaracTitulo(const ACBrTitulo: TACBrTitulo): String;
    begin
      with ACBrTitulo do
      begin
        case CaracTitulo of
          tcSimples            : Result := '1'; {Cobrança Simples (Sem Registro e Eletrônica com Registro)}
          tcCaucionada         : Result := '3'; {Cobrança Caucionada (Eletrônica com Registro e Convencional com Registro)}
          tcDescontada         : Result := '4'; {Cobrança Descontada (Eletrônica com Registro)}
          tcVinculada, tcDireta,
          tcSimplesRapComReg   : Result := '5'; {Cobrança Simples (Rápida com Registro)}
          tcCaucionadaRapComReg: Result := '6'; {Cobrança Caucionada (Rápida com Registro)}
          { TODO :
              8 = Cobranca Cessao (Eletronica com Registro)
          }
        else
            Result := '1';
        end;
      end;
    end;

    ACBrBancoSantander.pas

    • Curtir 1
  2. Bom dia!

    Sim, foi alteração complementar.

    No código existente validava corretamente a remessa cobrança simples, mas para a cobrança descontada não.

    Fiz vários ajustes em campos que não estava de acordo com o manual atualizado e também haviam informações que não estava corretas pro tipo de carteira desconto.

    Com a unit disponibilizada validamos a remessa de cobrança simples e descontada.

     

    Marcos

  3. Bom dia!

    Na validação da remessa cnab240 para o Banrisul veio uma critica do emitente do boleto como sendo "emissão própria" sendo que o emitente deveria ser o banco.

    Verificando os fontes vi que estava fixo na transação "1020" conforme imagem onde a coluna "2" se refere ao emitente do boleto.

    image.png.c44017a4b68c8857ffde63a104fd8f41.png

    Fiz o ajuste seguindo a configuração do Banco do Brasil usando varável "ATipoBoleto" que trata a propriedade do responsável pela emissão do boleto e modifiquei a linha destacada usando a varável.

     

         {Pegando Tipo de Boleto}
         ATipoBoleto := '1';
         case ACBrBoleto.Cedente.ResponEmissao of
         tbCliEmite : ATipoBoleto := '2';
         tbBancoEmite : ATipoBoleto := '1';
         end;
     

    Linha modificada no layout:  '10' + ATipoBoleto + '0' +

    Em anexo a unit com o ajuste.

    Marcos

    Grupo MHE

    ACBrBancoBanrisul.pas

    • Curtir 1
  4. 32 minutos atrás, Amarildo de Matos disse:

    boa tarde.. 

    da uma olhada, se esse link lhe ajuda.

     

    No caso não ajudou e estou acompanhando que está havendo mudanças no componente. Estou com os componentes atualizados diariamente e refiz os testes, antes imprimia normalmente agora a nova funcionalidade da propriedade do true/false estão invertidas:

    True = não está gerando as informações adicionais do item

    False = gera

     

    Marcos

    Softbox

  5. Boa tarde!

    Tem outro problema com o Uniprime, eles usam "099-X" na identificação do banco no boleto, usando "X" ao invés de "4" no digito do banco, e na classe do boleto é inteiro, para contornar só vi uma solução de criar um arquivo .fr3 específico para atender este banco.

    Segue o texto da página 2 do manual do Uniprime:

    "Número do Banco e seu DV: Fixar o número do banco ‘099-X’ ao lado direito Logo/Nome do Banco"

    "Beneficiário (Recibo do Pagador): Informar a razão social + Endereço completo (endereço, bairro, cidade, UF, CEP) do Cooperado"

    "Beneficiário (Ficha de compensação): Razão social + Inscrição + Endereço completo (endereço, bairro, cidade, UF, CEP) do Cooperado"

    As críticas de validação do boleto foram feitas por:

    Equipe de Suporte - IT Quality Systems - www.itquality.com.br
    
     

     

    Marcos

    Softbox

     

    BoletoUniprime.fr3

    • Curtir 1
  6. Bom dia!

    Foi e está funcionando a classe.

    A questão está no layout da impressão do boleto, onde conforme o manual deles, eles querem o endereço do beneficiário no recibo do sacado e na ficha de compensação.

    O layout padrão está saindo no recibo do sacado somente.

    Pesquisei boletos impressos físicos de diversos bancos, emitido pelo banco ou outro sistema, e vi os 2 layouts de impressão do endereço do beneficiário.

    Tentei argumentar com o banco, pesquisei na internet sobre padrão da febrabran sobre padrão de exigências e não encontrei nada, e esse banco Uniprime tem na documentação deles a exigência do endereço do beneficiário e eles foram irredutíveis na validação do boleto, processo se arrastando por 3 meses e somente validaram com a inserção do endereço na ficha de compensação.

    Marcos

    Softbox

  7. Boa tarde!

    A impressão da DANFE utilizando o modelo DanfeRetrato.fr3 não está imprimindo corretamente o texto no quadro "informações complementares", cortando ou não imprimindo tudo.

    Fiz o ajuste modificando o quadro para fazer stretch automático conforme o tamanho do texto, em anexo o arquivo modificado com o ajuste para análise.

    Antes:

    image.png.9161a1f40993fa74e62bb01cb4fecbc9.png

    Depois:

    image.png.392b867e30770d4ef5bd2f29b488173c.png

    e continuando na página seguinte:

    image.png.bb34ffe3b6e6ba5e8bd7b6cc1f1f8f19.png

     

    Marcos

    Softbox

    DANFeRetrato.fr3

  8. Boa tarde!

    Como vi vários posts referente este assunto abri este como dica de melhoramento podendo ser aplicado em outros bancos.

    Enfrentei diversas vezes problema com a geração da remessa para a CEF cnab240 com a instrução de protesto, a maneira que o o sistema está calculando a informação se é dias úteis ou corridos e os dias de protesto.

    O problema acontece quando o vencimento da duplicata é em sexta e tem 3 dias corridos, exemplo vencimento em 05/01/2018 onde a data de protesto é na quarta 10/01/18 e na remessa gera o campo 221 = 1 e o campo 222/224 = 05 como se o protesto seria na sexta 12/01/18.

    No meu código para a geração do boleto informo as propriedades "DiasDeProtesto" e "TipoDiasProtesto".

    Fiz o ajuste utilizando as varáveis onde fica bem explicito a informação alterando as linhas 684 e 685:

                   IfThen((DataProtesto <> 0) and (DiasDeProtesto <= 5), '1', '3') + //221 - Código de protesto: Protestar em XX dias corridos
                   IfThen((DataProtesto <> 0) and (DiasDeProtesto > 0),
                        PadLeft(IntToStr(DiasDeProtesto), 2, '0'), '00') + //222 a 223 - Prazo para protesto (em dias corridos)

    onde antes constava:

                   IfThen((DataProtesto <> 0) and (DataProtesto > Vencimento), '1', '3') + //221 - Código de protesto: Protestar em XX dias corridos
                   IfThen((DataProtesto <> 0) and (DataProtesto > Vencimento),
                        PadLeft(IntToStr(DaysBetween(DataProtesto, Vencimento)), 2, '0'), '00') + //222 a 223 - Prazo para protesto (em dias corridos)
     

    Em anexo a unit alterada.

     

    Marcos

    Softbox Informática Ltda

     

    ACBrBancoCaixa.pas

  9. Boa tarde!

    Segue um ajuste para a correta geração de quantidade de registros do lote,

    Antes esta fixo o cálculo de quantidade de registros x3, como entrou o registro do segmento "S" essa lógica não serve mais, e como o "S" é opcional adicionei uma variável para fazer a contagem: fQtRegLote

    Segue a unit em anexo.

    Marcos

    Softbox

     

    ACBrBancoCaixa.pas

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

The popup will be closed in 10 segundos...