Ir para conteúdo
  • Cadastre-se

Marcos Aurélio de Souza

Membros
  • Total de ítens

    43
  • Registro em

  • Última visita

Tudo que Marcos Aurélio de Souza postou

  1. boa tarde! Preciso colocar que será descontado R$ xx,xx até o dia, e esta aparecendo que pode concender desconto de R$ xx,xx todo dia até o vencimento. quero que o cliente tenha um desconto fixo até a data de vencimento. onde faço esta alteração?
  2. Boa tarde! preciso mudar o form que recebe o foco após a impressão do boleto ( a tela que aparece o boleto gerado). quero que após a impressão a tela que mandou o boleto feche, mas não consigo por que esta dentro do acbrboleto1. Obrigado!
  3. obrigado, mas já resolvi, descobri como mandar o valor para dentro da unit do santander, implementei para baixa e alteração de data com segmento p. obrigado
  4. Bom dia Juliana! O arquivo de envio para instruções que não seja remessa, exemplo: baixa, deve ter apenas HEADER, segmento P e TRAILER. e na Unit deve ser informado número de dias para baixa, esta informação não chega dentro da unit ACbrBancoSantader, lá esta preenchido com '00' , SEGMENTO P posição 226-227. minha duvida é a seguinte. como crio um variável para parar dentro desta unit? estou implementando o arquivo para baixa e alteração de data. Obrigado
  5. Desculpe a falta de conhecimento sobre o truck, não sei utilizar. mas gostaria de aprender. obrigado
  6. Boa tarde Juliana! Fiz mais algumas coletas de informações com os analistas do Santander. CNAB240 segue: Se o boleto tiver a opção de protesto, ele não deve ser baixado, então a posição: 224- 224[ Código para Baixa / Devolução ] recebe [ 2 ] e a posição 222-223 [ Número de dias para protesto ] tem que ser preenchido com o número de dias após o vencimento, a unit está programada para item 221-221 [ Código para protesto ], [1] protestar dias corridos. então: se data_protesto<> '' and data_protesto>vencimento; 224-224:= 2; // NÃO BAIXAR / NÃO DEVOLVER dias_protesto:= data_protesto - data_vencimento; 222-223:= dias_protesto; 221-221:= 1; // PROTESTAR DIAS CORRIDOS se não 224-224:= 2; // NÃO BAIXAR / NÃO DEVOLVER 222-223:=00; 221-221:=0; //NÃO PROTESTAR fim obs.: se o boleto for para protesto em cartório, após liquidado será automaticamente baixado. Juliana, na Unit, na linha 335, que faz referencia as linhas 493 e 494, alterei pois tenho tido problemas com essa função (padR), aqui no meu ambiente de desenvolvimento, desconsiderar, pois após pesquisas não vi ninguém reclamando d´ela aqui no forum. segue UNIT ACBrBancoSantander.pas
  7. Consegui uma solução que deu certo, um pequeno ajuste. segue: {Instruções} if (DataProtesto <> 0) and (DataProtesto > Vencimento) then begin if (Trim(Instrucao2) = '') then Instrucao1 := '1' // Protestar Dias Corridos else begin if not MatchText(Instrucao2, ['0', '1', '2', '3', '9']) then raise Exception.Create('Código de protesto informado incorretamente!'); end; // Calcular os dias para protesto sDiasProtesto := padR(IntToStr(Trunc(DataProtesto) - Trunc(Vencimento)), 2, '0'); Instrucao2 := '2' // NAO BAIXAR / NAO DEVOLVER end else begin Instrucao1 := '0'; // Não protestar SDiasProtesto := '00'; end; // Baixa/Devolução if Instrucao2 = '' then Instrucao2 := '2' // NAO BAIXAR / NAO DEVOLVER else begin if not MatchText(Instrucao2, ['1', '2', '3']) then raise Exception.Create('Código de Baixa/Devolução informado incorretamente!'); end;
  8. Esta meio esquisito esse breguets aqui.... {Instruções} if (DataProtesto <> 0) and (DataProtesto > Vencimento) then begin if (Trim(Instrucao2) = '') then Instrucao2 := '1' // Protestar Dias Corridos <<<<<<---------------------------------------- Como altera a instrução2 se a frase //Protestar dias corridos é da instrucao1????? else begin if not MatchText(Instrucao2, ['0', '1', '2', '3', '9']) then raise Exception.Create('Código de protesto informado incorretamente!'); end; // Calcular os dias para protesto sDiasProtesto := padR(IntToStr(Trunc(DataProtesto) - Trunc(Vencimento)), 2, '0'); end else begin Instrucao1 := '0'; // Não protestar SDiasProtesto := '00'; end; // Baixa/Devolução if Instrucao2 = '' then Instrucao2 := '2' // NAO BAIXAR / NAO DEVOLVER else begin if not MatchText(Instrucao2, ['1', '2', '3']) then raise Exception.Create('Código de Baixa/Devolução informado incorretamente!'); end;
  9. Boa tarde Juliana! Utilizei como acima, e a variável esta assim: Vdata_baixa:= '05/06/2016'; e estou instanciando assim: DataBaixa:= StrToDate(Vdata_baixa); porem ao gerar a remessa, sai na linha 224 - (Código para Baixa/Devolução), o número: 0 deveria ser 1 - (Baixar/Devolver); pode me auxiliar por favor? Obrigado
  10. Deu certo Juliana, encontrei. Titulo := ACBrBoleto1.CriarTituloNaLista; with Titulo do begin DataBaixa := Obrigado novamente.
  11. Deu certo Juliana, entendi o que você falou. ACBrBoleto1.Cedente.CodigoTransmissao:=Vcodigo_transmissao; Obrigado!
  12. Boa tarde Juliana! Estou com os fontes atualizados, mas não encontrei onde utilizar esta opção. Ex: ACBrBoletos1.... DataBaixa:= vdatabaixa; tem como você me ajudar por favor? obrigado.
  13. E esse problema apareceu ao preencher o código de transmissão: 301500007428138 estou usando layout 240 é só na agencia mesmo. B33D10_05_2016H13_18_03.REM B33D10_05_2016H14_34_32.REM
  14. bingo! quem sabe, sabe. agora outro problema, na sequencia... a agencia do cedente no arquivo de remessa esta saindo com um zero na frente, e não esta sendo enviado. e esta colocando um zero(0) na frente do nº da conta no arquivo remessa. penas um trecho da linha 3 segmento P: 0330001300001P 010301501300022270130002227 00... consegue visualizar?
  15. Boa tarde Alexandre! O código de transmissão no Santander não esta sendo gerado no arquivo de remessa cba240, Você tem alguma ideia de onde esta o erro, tem algum modelo de como preencher esta informação no banco 033? obrigado
  16. bom dia! quando eu selecionar o tipo de carteira no boleto santander, tctsimples, ja deveria ir o 102, para o tipo de carteira? obrigado
  17. consegui, alterando um pouco, veja como ficou: antes: ACBrBanco.ACBrBoleto.DataArquivo := StringToDateTimeDef(Copy(ARetorno[0],144,2)+'/'+ Copy(ARetorno[0],146,2)+'/'+ Copy(ARetorno[0],148,4),0, 'DD/MM/YYYY' ); depois: ACBrBanco.ACBrBoleto.DataArquivo := StrToDateTime(FormatDateTime('dd/MM/yyyy', StrToDate(Copy(ARetorno[0],144,2)+'/'+ Copy(ARetorno[0],146,2)+'/'+ Copy(ARetorno[0],148,4)))); e também estava recebendo o NossoNumero em branco, fiz uma pequena alteração, veja como ficou: antes: NossoNumero := Copy(Copy(Linha,47,10), // sem o DV Length(Copy(Linha,47,10))-TamanhoMaximoNossoNum , TamanhoMaximoNossoNum); depois: Vn := Copy(Linha,47,1); //pega o primeiro digito do identificação do titulo no banco // Verificando para passar NossoNumero if Vn='8' then //Cobrança Sem Registro begin NossoNumero := copy(Linha,49,8); end; if Vn='9' then //Cobrança Rápida begin NossoNumero := copy(Linha,48,9); end; se for ajudar alguém, estou as ordens obrigado
  18. não entendi o problema, mesmo ignorando o header de arquivo, na linha passada, sem ler as datas, apresenta o mesmo erro.
  19. Bom dia Juliana não consegui identificar na unit CBrUtil, ou é em outra unit? segue a linha 628
  20. caixa economica, escou usando cobCaixaSicob, com o modelo c240
  21. desculpe, fiz pesquisa e não encontrei nada relacionado a minha duvida, e também havia ficado em duvida sobre onde postar, e acabei cometendo o tal flooding. obrigado
  22. Bom dia! estou tendo problemas na leitura do arquivo de retorno, está dando a seguinte mensagem " econvert error with message '00/00/0000' is not valid data and time'" resolvi colocar os dados no componente ACBrBoleto manualmente para ver se dava outro erro mas persiste, troquei o layout para c400 e não deu. vou anexar o retorno. dentro do ACBrUtil.pas aponta aqui: {----------------------------------------------------------------------------- Converte uma <DateTimeString> para TDateTime, semelhante ao StrToDateTimeDef, mas verifica se o seprador da Data é compatível com o S.O., efetuando a conversão se necessário. Se não for possivel converter, retorna <DefaultValue> ---------------------------------------------------------------------------- } function StringToDateTimeDef(const DateTimeString : String ; const DefaultValue : TDateTime ; const Format : String) : TDateTime ; begin try Result := StringToDateTime( DateTimeString, Format ) ; except Result := DefaultValue ; end ; end ; Obrigado ret1100.ret
  23. Bom dia! estou tendo problemas na leitura do arquivo de retorno, está dando a seguinte mensagem " econvert error with message '00/00/0000' is not valid data and time'" resolvi colocar os dados no componente ACBrBoleto manualmente para ver se dava outro erro mas persiste, troquei o layout para c400 e não deu. vou anexar o retorno. dentro do ACBrUtil.pas aponta aqui: {----------------------------------------------------------------------------- Converte uma <DateTimeString> para TDateTime, semelhante ao StrToDateTimeDef, mas verifica se o seprador da Data é compatível com o S.O., efetuando a conversão se necessário. Se não for possivel converter, retorna <DefaultValue> ---------------------------------------------------------------------------- } function StringToDateTimeDef(const DateTimeString : String ; const DefaultValue : TDateTime ; const Format : String) : TDateTime ; begin try Result := StringToDateTime( DateTimeString, Format ) ; except Result := DefaultValue ; end ; end ; Obrigado ret1100.ret
  24. Boa tarde! olha eu de novo te incomodando... eu estou tentando apenas com conta, digito da conta, agencia, digito da agencia, não gera o número correto no campo [Agência / Código do Beneficiário] em anexo, e aproveitando onde vai o campo operação, que exista na conta da caixa? vou anexar um boleto, para melhorar a minha explicação 233552_ 110_03_2016.pdf Desculpe, eu mesmo responder, é que achei a minha fonte de ignorância, eu tinha que testar se o campo está vazio, if Vcodigo_cedente <> '' then begin ACBrBoleto1.Cedente.CodigoCedente := Vcodigo_cedente; end; if Vcodigo_transmissao <> '' then begin ACBrBoleto1.Cedente.CodigoTransmissao := Vcodigo_transmissao; end; assim não invoca o código cedente e código transmissão e a montagem do nosso campo [Agência / Código do Beneficiário] ficou correta. mesmo assim obrigado não deu ;(
×
×
  • 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.