Ir para conteúdo
  • Cadastre-se

Filipe Sortica

Membros
  • Total de ítens

    234
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Filipe Sortica

  1. Olá Juliana!

    Meu colega é quem está realizando esta homologação. Ele me enviou o pdf de retorno do banco.

    Contrariando o manual, este pdf pede para enviar o campo com espaços em branco... vai entender

    Veja a parte destacada no pdf:post-690-13548988221144.jpg

    Ele realizou a alteração para espaços em branco, enviou novamente e o banco aceitou.

    post-690-13548988221144.jpg

  2. Bom dia Juliana!

    Realmente, dei esta sugestão sem antes olhar no manual.

    Então, se o manual diz para preencher com 9's, a alteração para os fontes deve ser essa.

    Muito obrigado, e me desculpa pela sugestão precipitada.

  3. Olá!

    Em atual homologação da remessa 400, o banco retornou erro.

    No registro detalhe, o campo "CPF/CNPJ do Sacador avalista", posição 340 a 353, está sendo preenchido com zeros.

    O erro foi o seguinte:

    Se este campo for preenchido, o campo Pos. 354 a 394 - Nome sacador avalista também deve, e abaixo deste registro será obrigatório o registro detalhe do tipo sacador avalista. Obs.: Sacador avalista NÃO PODE ser o mesmo cedente/sacado
    Por isso, gostaria de sugerir a alteração para informar, ao invés de zeros, espaços em branco no campo "CPF/CNPJ do Sacador avalista", posição 340 a 353, do registro detalhe.
  4. agora a dúvida é como jogar os valor do retorno para os [...] campos do dbgrid

    Sobre tu nunca teres utilizado o ClientDataSet, tu encontras muito material sobre este componente na Internet.

    Um material que eu sugiro é: http://delphi.about.com/od/usedbvcl/a/tclientdataset.htm.

    Uma das explicações que tu encontras neste site é sobre como definir a estrutura do ClientDataSet utilizando o "FieldDefs".

    Outra, é sobre como navegar num ClientDataSet e editá-lo.

    Dá uma olhada... Qualquer dúvida estamos aí.

  5. Olá joaolenosi!

    como eu faço para no retorno especificar que o componente vai utilizar cnab400 ou cnab240?
    Isso não é necessário. Quando o ACBrBoleto abre o arquivo, ele vê quantas posições a primeira linha tem. Caso tenha 240, ele lê com o CNAB240; caso tenha 400, com o CNAB400.
  6. Olá!

    Estou testando a leitura dos arquivos de retorno.

    No CNAB 240, do BB, é preenchido o StringList MotivoRejeicaoComando com a seguinte linha:

    MotivoRejeicaoComando.Add(copy(Linha, 214, 2));
    Porém o outro StringList DescricaoMotivoRejeicaoComando não está sendo preenchido. Gostaria de sugerir a seguinte alteração:
    
               IdxMotivo := 214;
    
               while (IdxMotivo < 223) do
    
               begin
    
                 if (trim(Copy(Linha, IdxMotivo, 2)) <> '') then begin
    
                   MotivoRejeicaoComando.Add(Copy(Linha, IdxMotivo, 2));
    
                   DescricaoMotivoRejeicaoComando.Add(
    
                      CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo, StrToIntDef(Copy(Linha, IdxMotivo, 2), 0)));
    
                 end;
    
                 Inc(IdxMotivo, 2);
    
               end;
    
    

    A variável "IdxMotivo" deve ser declarada como "Integer".

    Sugiro que realizem esta alteração, caso desejem manter o padrão das leituras de retorno, que é o preenchimento dos dois campos.

  7. Visualmente parece igual.

    Porém, o "RegistroC010New" é uma função. Cada vez que chamamos ela, um novo registro C010 é instanciado.

    Utilizando o "with", apenas uma chamada é feita à função, apenas um registro é instanciado. E, dentro do escopo do "with", acessamos este registro e inserimos todas suas informações.

  8. Era o que eu imaginava...

    Tu estás instanciando um registro C010:

    RegistroC010New.CNPJ:= config.Cnpj;
    e depois instanciando outro:
    RegistroC010New.IND_ESCRI := IndEscriConsolidado;
    ou
    RegistroC010New.IND_ESCRI := IndEscriIndividualizado;
    Tente fazer assim:
    
    with Sped.Bloco_C do
    
    begin
    
      RegistroC001New.IND_MOV := imComDados;
    
      with RegistroC010New do
    
      begin
    
        CNPJ:= config.Cnpj;
    
        // Participante(Entrada.Participante.ID);
    
        if TConvertValuesBD.IndEscrNFeECF(config.Ind_ApuNfeEcf)=IndEscrConsolidado then
    
        begin
    
          IND_ESCRI := IndEscriConsolidado;
    
          LancaBlocoC180Saida;
    
          LancaBlocoC190Entrada;
    
        end
    
        else
    
        begin
    
          IND_ESCRI := IndEscriIndividualizado;
    
          ListaEntradas;
    
        end;
    
      end;
    
    end;
    
    

  9. Olá Juliana!

    Sim, nós já homologamos os boletos da CEF SIGCB.

    Como podes ver no arquivo, as alterações que enviei são as seguintes, por exemplo:

    - No trailler, a quantidade de títulos em cobrança estava igual à quantidade de registros do lote;

    IntToStrZero((2*ARemessa.Count), 6)
    Alterado para:
    IntToStrZero((ARemessa.Count-1), 6)
    - No header de lote, o nome da empresa estava alinhado à direita;
    padR(Nome, 30, ' ')
    Alterado para:
    padL(Nome, 30, ' ')
    - No header de arquivo e no header de lote, o CNPJ e o Código Cedente estavam alinhados à esquerda; - No header de arquivo, as posições 172 a 191 (Uso reservado do banco) estavam sendo preenchidas com zeros.
    padL('', 20, '0')                       + // 172 a 191 - Uso reservado do banco
    Alterado para:
    Space(20)                               + // 172 a 191 - Uso reservado do banco

    Basicamente, foram estas alterações que realizei.

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