Ir para conteúdo
  • Cadastre-se

dev botao

Campo Em Branco Quando É Tipo Impressão Normal


Ver Solução Respondido por Juliana Tamizou,
  • Este tópico foi criado há 3733 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Conforme o Layout do banco Sicredi anexado na Pagina  27, posição 075 a 076 e 077 a 078, tem uma divergência quando o campo deve ser vazio.

 

Segue código abaixo e uma provável correção do mesmo.

Classe ACBrBancoSicredi

 

Hoje a classe manda '00' no campo, so que quando mandei ao banco para homologar o banco retornou que o campo deve se branco.

 

204    procedure TACBrBancoSicredi.GerarRegistroTransacao400(ACBrTitulo :TACBrTitulo; aRemessa:TStringList);
205    var
206        DigitoNossoNumero, CodProtesto, DiasProtesto: String;
207        TipoSacado, AceiteStr, wLinha, Ocorrencia   : String;
              TipoBoleto, wModalidade: Char;
          begin
             
              with ACBrTitulo do
              begin
                  MontarCampoNossoNumero(ACBrTitulo);
                  DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo);
                  .
                  .
                  .
                  .
                  .
305            with ACBrBoleto do
306            begin             
307                if wModalidade = 'A' then
308                    wLinha:=             wLinha                                                             +
309                                                Space(6)                                                           +                  // 057 a 062 - Filler - Brancos
310                                                FormatDateTime( 'yyyymmdd', date)                +                 // 063 a 070 - Data da instrução
311                                                Space(1)                                                           +                 // 071 a 071 - Campo alterado, quando instrução "31" Conforme tabela de instruções
312                                                IfThen(TipoBoleto = 'A', 'S', 'N')                        +                 // 072 a 072 - Postagem do título = "S" Para postar o título "N" Não postar e remeter para o cedente
313                                                Space(1)                                                           +                 // 073 a 073 - Filler Brancos
314                                                TipoBoleto                                                         +                // 074 a 074 - Emissão do bloqueto = "A" Impressão pelo SICREDI "B" Impressão pelo Cedente
315                                                IfThen(Parcela > 0, padR(IntToStr(Parcela),2,'0'), '00')  +                   // 075 a 076 - Número da parcela do carnê --Anderson
316                                                IfThen(TotalParcelas > 0, padR(IntToStr(TotalParcelas),2,'0'), '00')  // 077 a 078 - Número total de parcelas do carnê -- Anderson  
                     else
                     .           
                     .        
                     .
                 end;                                                             
              end                    
          end
 
Conforme o Código acima o mesmo deveria ficar assim para seguir exigência do layout do banco.
 
315    (Parcela > 0, padR(IntToStr(Parcela),2,'0'), '  ')  +                   
316    (TotalParcelas > 0, padR(IntToStr(TotalParcelas),2,'0'), '  ')  
Somente trocando os 00 por espaços em brancos

 

Manual Beneficiário Cobrança_CNAB 400.pdf

  • Administradores
Postado

Bom dia.

 

Ao analisar o manual não localizei nenhuma indicação de que o valor a ser informado deve ser vazio e não "00". 

Você chegou a enviar a remessa ao banco e a mesma foi recusada?

 

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Bom dia.
 
Sim Juliana, foi enviada uma remessa ao banco e eles recusaram dizendo que deve ser em Brancos.
 
Segue a imagem da rejeição do banco, na informação o banco diz que se for diferente de 'B' deve ser preenchido de branco ou zero, mais como foi mandado zero e mesmo assim o banco rejeitou dizendo que é branco.

post-4030-0-23484800-1410525544_thumb.pn

  • Administradores
Postado

Bom dia.

 

A validação deste banco é feita pela equipe do próprio banco ou é terceirizada?  Se for terceirizada podemos verificar o motivo de não estarem validando o arquivo, mesmo com regras sendo seguidas.

 

 

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Ola, Juliana, entrei em contato direto com o suporte do banco, a validação é feita pelo próprio banco.

 

Eles me informaram que esse campo deve ser Branco, pedi um layout para anexar aqui.

 

Só que o layout é o mesmo que anexei anteriormente.

 

Ou seja, pelo que eu pude observar é que o campo realmente tem que estar branco, só que no layout e não diz nada a respeita, somente na hora de validar que retorno como erro.

  • Administradores
Postado

Boa tarde.

 

Conforme a imagem anexada por você a orientação do próprio banco seria informar zeros ou espaços...qual foi a resposta do banco sobre as orientações recebidas pela validação?

 

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Administradores
Postado

Bom dia.

 

Ajustes disponíveis no svn.

 

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa tarde, analisando o ajuste disponível, Verifiquei que o código foi mudado na linha 323 e 325 da Class ACBrBancoSicredi, não se refere ao caso postado.

 

Sendo que a alteração pedida acima quando o campo 04-04 for <> 'B', ou seja o código entra na Linha 305.

 

305       if wModalidade = 'A' then
306                wLinha:= wLinha +
307                                Space(6)                                                           +                    // 057 a 062 - Filler - Brancos
308                                FormatDateTime( 'yyyymmdd', date)                +                    // 063 a 070 - Data da instrução
309                                Space(1)                                                           +                    // 071 a 071 - Campo alterado, quando instrução "31" Conforme tabela de instruções
310                                IfThen(TipoBoleto = 'A', 'S', 'N')                                 +           // 072 a 072 - Postagem do título = "S" Para postar o título "N" Não postar e remeter para o cedente
311                                Space(1)                                                           +                   // 073 a 073 - Filler Brancos
312                                TipoBoleto                                                         +                  // 074 a 074 - Emissão do bloqueto = "A" Impressão pelo SICREDI "B" Impressão pelo Cedente
313                                IfThen(Parcela > 0, padR(IntToStr(Parcela),2,'0'), '00')    +  // 075 a 076 - Número da parcela do carnê --Anderson
314                                IfThen(TotalParcelas > 0, padR(IntToStr(TotalParcelas),2,'0'), '00')  // 077 a 078 - Número total de parcelas do carnê -- Anderson
315         else
 
 
Como deve ficar:  Trocando os Zeros por Espaços brancos
 
313                                IfThen(Parcela > 0, padR(IntToStr(Parcela),2,'0'), '  ')    +                  // 075 a 076 - Número da parcela do carnê --Anderson
314                                IfThen(TotalParcelas > 0, padR(IntToStr(TotalParcelas),2,'0'), '  ')    // 077 a 078 - Número total de parcelas do carnê -- Anderson
  • Administradores
  • Solution
Postado

Bom dia.

 

Você chegou a realizar os testes? 

Mesmo para situações onde não se trata de carnê este campo deve ser informado, sendo assim o valor informado está correto.

 

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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