Ir para conteúdo
  • Cadastre-se

dev botao

Percentual de Mora/Juros no arquivo de remessa - Bancoob/Sicoob - CNAB 400


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

Recommended Posts

Postado

Prezados(as) colegas,

Encontrei um problema ao gerar o arquivo de remessa do banco sicoob/bancoob utilizando o layout C400.

Ocorre que no layout do banco (arquivo xls em anexo) na posição 161 a 166 do registro Detalhe, deve ser enviado percentual de Mora/Juros, no entanto está sendo passado o Valor de Mora/Juros como segue trecho do código encontrado na linha 375 do arquivo ACBrBancoBancoob.pas:

...

...
IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6), +
...

Alternativamente tentei passar o percentual ao dia para que na rotina ao multiplicar o valor por 30 conseguiria chegar no percentual ao mês, mas como a propriedade ValorMoraJuros é Currency o valor recalculado não corresponderia ao correto. Para exemplificar tomemos por exemplo uma taxa de 2% ao mês:

Taxa Mês: 2%

Taxa Dia: = 2/30*100 = 0,0666666667

Se eu passar esse valor para a propriedade ValorMoraJuros, por ser Currency, o mesmo será arredondado para 4 decimais ficando 0,0667 fazendo com que o valor resultante não seja exatamente os 2%.

Encontrei um post anterior de 2014 (abaixo) que relata sobre o assunto, mas o mesmo pelo que vi não foi disponibilizado no trunk, mas mesmo assim, pelo que verifiquei ainda cairia no problema da limitação do Currency possuir apenas 4 decimais.

Diante do exposto, gostaria da opinião de vocês sobre como contornar esta situação. Se necessário alguma alteração estou disposto a contribuir. Desde já deixo minha sugestão que seria passar o valor '2' para a propriedade CodigoMora e passar a taxa mensal na propriedade ValorMoraJuros, implementando a seguinte alteração no arquivo ACBrBancoBancoob.pas:

...
IfThen(CodigoMora = '2',
IntToStrZero( Round( ValorMoraJuros *10000 ), 6),
IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6) ), +
...

Aguardo sugestões e opiniões de todos e dos moderadores do projeto.

Grato

Layouts para troca de informações.xls

Postado

Bom dia, neste caso a função Round deveria arredondar o valor fazendo com que ele seja exatamente o valor dos 30 dias ( * 30).

Fiz alguns testes e para valores sem centavos (ex: 100,00 / 250,00 / 300,00) funciona beleza, já com valores com centavos ele arredonda errado mesmo.

  • 3 semanas depois ...
Postado

Bom dia.

Analisando aqui, percebi que no caso do CNAB 400 não é levado em conta o CodigoMora, sendo assim fiz uma adaptação na Procedure GerarRegistroTransacao400 para usar o CódigoMora. 

     { Juros }
     if (ValorMoraJuros > 0) and (CodigoMora = '') then
       CodigoMora := '1'
     else if (ValorMoraJuros = 0) and (CodigoMora = '') then
       CodigoMora := '0';

     if CodigoMora = '0' then
       ValorMora := PadLeft('', 15, '0')
     else if CodigoMora = '1' then
       ValorMora := IntToStrZero( Round( (((ValorMoraJuros * 100) / ValorDocumento) * 30) * 10000), 6)
     else if CodigoMora = '2' then
       ValorMora := IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6);

No caso do CodigoMora ser igual a '1', eu faço uma regra de 3 usando o ValorMoraJuros e o ValorDocumento para pegar o % de juros por dia, e após isso multiplico por 30 para pegar a taxa mensal.

No caso do CodigoMora ser igual a '2' eu mantive o código que era passado anteriormente.

Pra mim serviu a alteração, mas não sei se é aplicável para todos os usuários do componente,

Analisem aí e vejam o que acham.

Obrigado.

  • 3 meses depois ...
  • Membros Pro
Postado

Boa tarde!

Estou tendo um problema com a remessa do banco sicoob. Eu estou informando o CodigoMora = 2 e no boleto está sendo informado 0,0333% por dia de atraso. Só que nas posições 161 a 166, está informada a cobrança de juros de 14,0760% ao mês.

Alguém tem alguma idéia do que pode estar gerando essa divergência?

 

Atenciosamente

 

Társis Francke Ferreira

Postado
48 minutos atrás, Gandalf disse:

Boa tarde!

Estou tendo um problema com a remessa do banco sicoob. Eu estou informando o CodigoMora = 2 e no boleto está sendo informado 0,0333% por dia de atraso. Só que nas posições 161 a 166, está informada a cobrança de juros de 14,0760% ao mês.

Alguém tem alguma idéia do que pode estar gerando essa divergência?

 

Atenciosamente

 

Társis Francke Ferreira

Boa tarde @Gandalf!

Você está passando o mesmo valor para a propriedade CodigoMora e ValorMoraJuros ao gerar o boleto e ao gerar o arquivo de remessa (CNAB 400)? Esses valores que vc mostrou realmente estão muito divergentes. Se não me engano o Sicoob exige o percentual de mora/juros ao dia nessa posição, por isso fiz aquela alteração no arquivo ACBrBancoBancoob.pas:

...
IfThen(CodigoMora = '2',
IntToStrZero( Round( ValorMoraJuros *10000 ), 6),
IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6) ), +
...

Lembre-se que a propriedade ValorMoraJuros é Currency, então mesmo que você passe valores com mais de 4 decimais ele vai considerar apenas 4.

Postado
Em 25/05/2017 at 09:17, brsamn disse:

Bom dia.

Analisando aqui, percebi que no caso do CNAB 400 não é levado em conta o CodigoMora, sendo assim fiz uma adaptação na Procedure GerarRegistroTransacao400 para usar o CódigoMora. 


     { Juros }
     if (ValorMoraJuros > 0) and (CodigoMora = '') then
       CodigoMora := '1'
     else if (ValorMoraJuros = 0) and (CodigoMora = '') then
       CodigoMora := '0';

     if CodigoMora = '0' then
       ValorMora := PadLeft('', 15, '0')
     else if CodigoMora = '1' then
       ValorMora := IntToStrZero( Round( (((ValorMoraJuros * 100) / ValorDocumento) * 30) * 10000), 6)
     else if CodigoMora = '2' then
       ValorMora := IntToStrZero( Round( (ValorMoraJuros * 30) *10000 ), 6);

No caso do CodigoMora ser igual a '1', eu faço uma regra de 3 usando o ValorMoraJuros e o ValorDocumento para pegar o % de juros por dia, e após isso multiplico por 30 para pegar a taxa mensal.

No caso do CodigoMora ser igual a '2' eu mantive o código que era passado anteriormente.

Pra mim serviu a alteração, mas não sei se é aplicável para todos os usuários do componente,

Analisem aí e vejam o que acham.

Obrigado.

Boa tarde @brsamn! Precisei fazer uma alteração semelhante a essa também. O único detalhe é que você percebeu se no layout que você usou como base deve ser passado o percentual ao mês ou ao dia? No meu caso o percentual era ao dia, então quando o CodigoMora = "2" eu simplesmente faço:

IntToStrZero( Round( ValorMoraJuros *10000 ), 6)

não multiplico por 30.

Abraços!

  • Membros Pro
Postado (editado)

Pelo que vi, os bancos estão fazendo um balaio de gato com o formato destes campos. Não sei se isso vai se regularizar após a estabilização desta nova plataforma de cobrança, espero que sim.

Tenho 2 observações a fazer:

01. Acredito que há um erro no layout da remessa CNAB240 (Na linha 825 da unit ACBrBoletoBancoob.pas):

     else if CodigoMora = '2' then
       ValorMora := IntToStrZero(Round(ValorMoraJuros * 10000), 15);

A multiplicação, quando CodigoMora=2 não deveria ser por 10000 (assim como é feita no layout 400) e sim por 100, pois, segundo manual (em XLS) do Sicoob de 24/02/2017 este campo deve estar no formato abaixo para remessa CNAB240:

"Juros de Mora por Dia/Taxa ao Mês
Valor = R$ ao dia
Taxa = % ao mês
Ex: 0000000000220 = 2,20%; Ex: 0000000001040 = 10,40%"

Já a CNAB400 fica assim:

"Taxa de mora mês
Ex: 022000 = 2,20%"

Este sim, deve ser multiplicado por 10000.

Tive que utilizar CodigoMora=1 que é em R$ / dia.

Em anexo envio o manual do Sicoob datado de 24/02/2017.

02. Tive que fazer uma adaptação na geração do meu arquivo de remessa para o Sicoob (Fiz no meu ERP), mas poderia ser feito no ACBrBoletoBancoob para ajudar mais pessoas.

Minha adaptação (pode ser que ajude mais alguém):

No momento de alimentar o ACBrBoleto1.Titulos

                
                CodigoMora := '1';
                case ACbrBoleto1.Banco.TipoCobranca of                 
                 cobBancoob :
                  begin
                    //Se estiver gerando remessa então faz o tratamento especifico do campo ValorMoraJuros
                    if (bGerarRemessa) and (FdmBoleto.qrCedenteTAXA_JUROS.AsFloat<>0) then
                    begin
                      if FdmBoleto.ACBrBoleto1.LayoutRemessa=c400 then
                      begin
                        //0=Isento, 1=Valor por dia, 2=Taxa mensal
                        //Obs: Até 15/09/2017 este campo CodigoMora só era usado no layout 240 na unit ACBrBancoBancoob, mas já coloco nos dois por segurança
                        CodigoMora:= '2';
                        ValorMoraJuros := FdmBoleto.qrCedenteTAXA_JUROS.AsFloat/30 //Divido por 30 aqui por que na unit ACBrBancoBancoob/cnab400 ele multiplica por 30
                      end else
                      if FdmBoleto.ACBrBoleto1.LayoutRemessa=c240 then
                      begin
                        CodigoMora := '1'; //0=Isento, 1=Valor por dia, 2=Taxa mensal
                        ValorMoraJuros := StrToFloat(FormatFloat('###,##0.00',ValorDocumento * (FdmBoleto.qrCedenteTAXA_JUROS.AsFloat / 30 /100) ));  //Juros armazenado sempre mensal e em percentual
                      end;
                    end;
                  end;


                end;

Para padronizar e evitar maiores problemas futuros, minha sugestão seria o ACBrBoleto forçar nós desenvolvedores a enviar um formato específico no campo "ValorMoraJuros" (podendo ser em %/mês ou em R$ ao dia por exemplo). E o campo CodigoMora seria preenchido de acordo a necessidade (e disponibilidade de cada banco).  Um exemplo seria remover este campo e criar um novo que deixe explicito o formato exigido: "PercentualJurosAoMes" (Nos tratamentos seria fácil transformar em R$/dia, %/dia, ou R$/mês) , e tornaria obrigatório o preenchimento do CodigoMora (mesmo se em algumas remessas não utilizar, o ACBr usaria).
Assim o ACBrBoleto poderia, em cada unit de cada banco, fazer os tratamentos necessários (Na impressão e na geração das remessas).
(Não sei se estão entendo o que quero dizer)

 

 

Sicoob_Layouts_para_troca_de_informacões_Fev_2017.xls

Editado por maiconsaraiva
  • 2 meses depois ...
  • Moderadores
Postado (editado)

Pessoal, como ficou essa questão? Está dando problema serio no pagamento via internet. 

Em 15/09/2017 at 18:44, maiconsaraiva disse:

Pelo que vi, os bancos estão fazendo um balaio de gato com o formato destes campos. Não sei se isso vai se regularizar após a estabilização desta nova plataforma de cobrança, espero que sim.

Tenho 2 observações a fazer:

01. Acredito que há um erro no layout da remessa CNAB240 (Na linha 825 da unit ACBrBoletoBancoob.pas):


     else if CodigoMora = '2' then
       ValorMora := IntToStrZero(Round(ValorMoraJuros * 10000), 15);

A multiplicação, quando CodigoMora=2 não deveria ser por 10000 (assim como é feita no layout 400) e sim por 100, pois, segundo manual (em XLS) do Sicoob de 24/02/2017 este campo deve estar no formato abaixo para remessa CNAB240:

"Juros de Mora por Dia/Taxa ao Mês
Valor = R$ ao dia
Taxa = % ao mês
Ex: 0000000000220 = 2,20%; Ex: 0000000001040 = 10,40%"

Já a CNAB400 fica assim:

"Taxa de mora mês
Ex: 022000 = 2,20%"

Este sim, deve ser multiplicado por 10000.

Tive que utilizar CodigoMora=1 que é em R$ / dia.

Em anexo envio o manual do Sicoob datado de 24/02/2017.

02. Tive que fazer uma adaptação na geração do meu arquivo de remessa para o Sicoob (Fiz no meu ERP), mas poderia ser feito no ACBrBoletoBancoob para ajudar mais pessoas.

Minha adaptação (pode ser que ajude mais alguém):

No momento de alimentar o ACBrBoleto1.Titulos


                
                CodigoMora := '1';
                case ACbrBoleto1.Banco.TipoCobranca of                 
                 cobBancoob :
                  begin
                    //Se estiver gerando remessa então faz o tratamento especifico do campo ValorMoraJuros
                    if (bGerarRemessa) and (FdmBoleto.qrCedenteTAXA_JUROS.AsFloat<>0) then
                    begin
                      if FdmBoleto.ACBrBoleto1.LayoutRemessa=c400 then
                      begin
                        //0=Isento, 1=Valor por dia, 2=Taxa mensal
                        //Obs: Até 15/09/2017 este campo CodigoMora só era usado no layout 240 na unit ACBrBancoBancoob, mas já coloco nos dois por segurança
                        CodigoMora:= '2';
                        ValorMoraJuros := FdmBoleto.qrCedenteTAXA_JUROS.AsFloat/30 //Divido por 30 aqui por que na unit ACBrBancoBancoob/cnab400 ele multiplica por 30
                      end else
                      if FdmBoleto.ACBrBoleto1.LayoutRemessa=c240 then
                      begin
                        CodigoMora := '1'; //0=Isento, 1=Valor por dia, 2=Taxa mensal
                        ValorMoraJuros := StrToFloat(FormatFloat('###,##0.00',ValorDocumento * (FdmBoleto.qrCedenteTAXA_JUROS.AsFloat / 30 /100) ));  //Juros armazenado sempre mensal e em percentual
                      end;
                    end;
                  end;


                end;

Para padronizar e evitar maiores problemas futuros, minha sugestão seria o ACBrBoleto forçar nós desenvolvedores a enviar um formato específico no campo "ValorMoraJuros" (podendo ser em %/mês ou em R$ ao dia por exemplo). E o campo CodigoMora seria preenchido de acordo a necessidade (e disponibilidade de cada banco).  Um exemplo seria remover este campo e criar um novo que deixe explicito o formato exigido: "PercentualJurosAoMes" (Nos tratamentos seria fácil transformar em R$/dia, %/dia, ou R$/mês) , e tornaria obrigatório o preenchimento do CodigoMora (mesmo se em algumas remessas não utilizar, o ACBr usaria).
Assim o ACBrBoleto poderia, em cada unit de cada banco, fazer os tratamentos necessários (Na impressão e na geração das remessas).
(Não sei se estão entendo o que quero dizer)

 

 

Sicoob_Layouts_para_troca_de_informacões_Fev_2017.xls

 

Editado por Gr@c@
  • 2 semanas depois ...
  • 2 meses depois ...
  • 3 meses depois ...
  • Administradores
Postado

Boa tarde.

Seus fontes estão atualizados?? Observem que em dezembro/2017 o Junior informou que deveriam ser atualizados os fontes com as correções.

Em 14/12/2017 at 17:52, José M. S. Junior disse:

Favor atualizar os fontes para teste...

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 !!

  • 1 mês depois ...
Postado

Boa tarde, o erro persiste para o cnab400, pois o manual prevê a taxa mensal e o valormorajuros é passado com o valor da multa diária para poder enviar na mensagem de juros diário: fiz as seguintes  alterações
no acbrboleto adicionei o seguinte tratamento na geração da mensagem para converter o valor mora para juros diário

ValorMoraJurosDiario := ValorMoraJuros;
          //se for codigo 2 ou B entao mantem a taxa informada pois ja estara definida em % ao mes
          if (CodigoMora = '2') or (CodigoMora = 'B') then
            ValorMoraJurosDiario := ValorMoraJuros
          else //o converte o valor_mora  para valor diario de acordo com o tipo de juros
            case CodigoMoraJuros of
             cjValorDia:
              ValorMoraJurosDiario := ValorMoraJuros;
             cjTaxaMensal:
              ValorMoraJurosDiario := RoundTo((ValorDocumento * ValorMoraJuros / 100) / 30, -2);
             cjValorMensal:
              ValorMoraJurosDiario := RoundTo( ValorMoraJuros / 30 , -2);
             cjTaxaDiaria:
              ValorMoraJurosDiario := RoundTo( ValorDocumento * ValorMoraJuros / 100, -2);
            end;

         if DataMoraJuros <> 0 then
            AStringList.Add(ACBrStr('Cobrar juros de '                        +
                            ifthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJurosDiario) + '% ao mês',
                                   FormatCurr('R$ #,##0.00 por dia',ValorMoraJurosDiario))         +
                             ' de atraso para pagamento a partir de ' +
                             FormatDateTime('dd/mm/yyyy',ifthen(Vencimento = DataMoraJuros,
                                                                IncDay(DataMoraJuros,1),DataMoraJuros))))
         else
            AStringList.Add(ACBrStr('Cobrar juros de '                +
                                    ifthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJurosDiario) + '% ao mês',
                                           FormatCurr('R$ #,##0.00 por dia',ValorMoraJurosDiario))         +
                             ' de atraso'));

e no ACBrBancoBancoob adicionei o mesmo tratamento para converter o valormorajuros para taxa mensal :


      //o converte o valor_mora  para taxa mensal de acordo com o tipo de juros
      TaxaMensalMoraJuros := 0;
      case CodigoMoraJuros of
       cjValorDia:
        TaxaMensalMoraJuros := RoundTo( 100 * 30 * ValorMoraJuros  / ValorDocumento, -4);
       cjTaxaMensal:
        TaxaMensalMoraJuros := ValorMoraJuros;
       cjIsento:
        TaxaMensalMoraJuros := 0;
       cjValorMensal:
        TaxaMensalMoraJuros := RoundTo( 100 * ValorMoraJuros  / ValorDocumento, -4);
       cjTaxaDiaria:
        TaxaMensalMoraJuros := 30 * ValorMoraJuros;
      end;

Seguem arquivos para analise!

ACBrBancoBancoob.pas

ACBrBoleto.pas

Postado

Boa tarde a todos,

Como no CNAB 400 é apenas taxa mensal e a procedure GerarRegistroTransacao400 nem faz uso da "CodigoMora", torna-se desnecessário toda essa implementação, bastando apenas para resolver essa questão remover essa multiplicação por 30 na procedure GerarRegistroTransacao400, ficando assim:

                  IntToStrZero( Round( (ValorMoraJuros) *10000 ), 6)      +  // Taxa de mora mês

Inclusive já tem um tópico sendo avaliado com essa sugestão para os moderadores subirem

Vamos aguardar a avaliação deles, por hora no meu código.

Tudo indica que assim que tiverem tempo, irão acatar a sugestão

  • Curtir 1
  • 3 semanas depois ...
Postado

Boa tarde.

No caso do CNAB 400 o correto não é obrigatoriamente aparecer o % de juros no campo (Taxa Mora Mês - Pos 161 a 166)?

Da maneira proposta ele está apenas multiplicando o valor do juros mora diário, não?

Exemplo: Boleto de 21,50 com 0,2% de juros ao dia (0,043 centavos por dia)

O que ele deveria mostrar no campo: 060000  (6% ao mês - 0,2 ao dia * 30 dias * 10000)

O que ele mostra assim: 000430 (0,043 centavos ao dia * 10000)

Está correto meu raciocínio?

Obrigado.

Postado

Bom dia.

Vi o tópico e me surgiu uma dúvida: sempre informei, para todos os bancos, o valor (em reais) por dia no Campo ValorMoraJuros. 

Agora devo informar o %?

E isso para todos os bancos ou apenas para o SICOOB CNAB 400?

Obrigado.

  • Moderadores
Postado

Boa tarde, para a maioria dos bancos segue o padrão do manual, podendo ser em % ou R$ baseado no parâmetro passado ("CodigoMora"). No caso SICOOB CNAB400, seguindo o manual deve ser sempre % Mensal.

  • Curtir 1
  • Obrigado 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Bom dia.

Mesmo quando eu passo o % mensal, a mensagem no boleto fica errada, embora na remessa o valor fique correto.

2018-09-19_11h22_13.png.139e0caf0f358c223ae76fe6d365864e.png

No meu sistema informo 0,2% de juros ao dia e no momento que passo o valor para ValorMoraJuros (no caso do Sicoob 400), multiplico ele por 30 para chegar ao valor no mês (6%).  

Existe alguma outra configuração que devo fazer?

Obrigado.

  • Administradores
Postado

Bom dia.

Como você está informando a propriedade CodigoMora? No seu caso o correto seria informa "2".

 

Att.

  • Obrigado 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 !!

Postado

Olá pessoal, bom dia.

Estou com o mesmo problema de vocês. Banco Sicoob CNAB400.

Estou com os fontes do AcBr atualizados.

Adaptei no meu projeto da seguinte forma:
Ao gerar o boleto eu converto o %/mês em R$/dia

ValorMoraJuros    := RetornaValorJurosMoraDiario(ValorDoc, PercentualMes);

Ao gerar a remessa eu passo o percentual direto, após me certificar de que seja o banco Sicoon CNAB400.
 

// Para o Siboob CNAB400 informa neste campo o percentual mensal dos juros.
if (boletos.Banco.TipoCobranca = cobBancoob) and (vLayout = 400) then  
  ValorMoraJuros  := PercentualMes
else
  ValorMoraJuros    := RetornaValorJurosMoraDiario(ValorDoc, PercentualMes);

 

Visualmente falando, ficou tudo certo. No boleto saiu o R$/dia e na remessa saiu o %/mês.

Exemplo:

ValorDoc = R$1000

%/Mes = 2,00 (este saiu na remessa)

R$/dia = 0,67 (este saiu no boleto)

 

Queria saber com vocês se isso pode dar algum problema, quanto a validação do banco?

 

Obrigado desde já.

  • Obrigado 1
  • Administradores
Postado

Boa tarde.

Não acredito você tenha qualquer problema.

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 !!

Postado
2 horas atrás, Juliana Tamizou disse:

Bom dia.

Como você está informando a propriedade CodigoMora? No seu caso o correto seria informa "2".

 

Att.

Boa tarde.

Passei fixo 2 para o CodigoMora no caso do Sicoob400 e funcionou corretamente.

Obrigado pela ajuda.

  • Curtir 1
  • Este tópico foi criado há 2256 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.