Ir para conteúdo
  • Cadastre-se

dev botao

[ACBrBoleto] - Sicoob


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

Recommended Posts

Postado

Boa noite a todos,

Tive um retorno do Sicoob na remessa que mandei de testes que acredito que envolva ajustes também no componente.

layout sicoob.pdf

Atualmente eu emitia boleto apenas pelo Bradesco e este está ok.

Meu código:

procedure TBoleto.GetBoletos(GerarPDF: boolean);
var
qryContasReceber : TZQuery;
begin
try
  ACBrBoleto.ListadeBoletos.Clear;

  qryContasReceber := TZQuery.Create(nil);
  qryContasReceber.Connection := FrmPrincipal.Conexao;
  qryContasReceber.SQL.Add('SELECT CONTAS_RECEBER.*, CLIENTE.*, CIDADE.* FROM CONTAS_RECEBER');
  qryContasReceber.SQL.Add('INNER JOIN CLIENTE ON CLIENTE.CLI_CODIGO = CONTAS_RECEBER.CLI_CODIGO');
  qryContasReceber.SQL.Add('INNER JOIN CIDADE ON CIDADE.CID_CODIGO = CLIENTE.CID_CODIGO');
  qryContasReceber.SQL.Add('WHERE CONTAS_RECEBER.CR_CODIGO IN ('+FCodigos+')');
  qryContasReceber.Open;

  while not qryContasReceber.EOF do
    begin
    if (GerarPDF) then
      ACBrBoleto.ListadeBoletos.Clear;

    with ACBrBoleto.CriarTituloNaLista do
      begin
      OcorrenciaOriginal.Tipo := toRemessaRegistrar;

      Sacado.NomeSacado := qryContasReceber.FieldByName('CLI_RAZAO').AsString;
      Sacado.CNPJCPF    := qryContasReceber.FieldByName('CLI_CNPJ').AsString;
      if (Length(qryContasReceber.FieldByName('CLI_CNPJ').AsString) = 11) then
         Sacado.Pessoa := pFisica
      else
         Sacado.Pessoa := pJuridica;
      Sacado.Logradouro := qryContasReceber.FieldByName('CLI_LOGRADOURO').AsString;
      Sacado.Numero     := qryContasReceber.FieldByName('CLI_NUMERO').AsString;
      Sacado.Bairro     := qryContasReceber.FieldByName('CLI_BAIRRO').AsString;
      Sacado.Cidade     := qryContasReceber.FieldByName('CID_NOME').AsString;
      Sacado.UF         := qryContasReceber.FieldByName('CID_UF').AsString;
      Sacado.CEP        := qryContasReceber.FieldByName('CLI_CEP').AsString;
      if Length(qryContasReceber.FieldByName('CLI_EMAIL').AsString) > 5 then
        Sacado.Email := qryContasReceber.FieldByName('CLI_EMAIL').AsString;
      if Length(qryContasReceber.FieldByName('CLI_TELEFONE').AsString) > 3 then
        Sacado.Fone := qryContasReceber.FieldByName('CLI_TELEFONE').AsString;

      EspecieMod              := 'R$';
      Vencimento              := qryContasReceber.FieldByName('CR_VENCIMENTO').AsDateTime;
      DataDocumento           := qryContasReceber.FieldByName('CR_LANCAMENTO').AsDateTime;
      NumeroDocumento         := qryContasReceber.FieldByName('CR_CODIGO').AsString;
      SeuNumero               := qryContasReceber.FieldByName('CR_CODIGO').AsString;
      NossoNumero             := qryContasReceber.FieldByName('CR_CODIGO').AsString;
      EspecieDoc              := 'DM';
      Aceite                  := atNao;
      Carteira                := FCarteira;
      DataProcessamento       := Now;
      LocalPagamento          := ACBrBoleto.Banco.LocalPagamento;
      ValorDocumento          := qryContasReceber.FieldByName('CR_VALOR').AsFloat;
      PercentualMulta         := FPercentualMulta;
      if (FPercentualMulta > 0) then
        begin
        ValorMoraJuros    := (qryContasReceber.FieldByName('CR_VALOR').AsFloat * FPercentualMulta / 100) / 30;
        DataMoraJuros     := IncDay(Vencimento, 1);
        end;

      if (FDiasProtesto > 0) then
        begin
        TipoDiasProtesto := diUteis;
        DataProtesto     := IncDay(Vencimento, FDiasProtesto);
        end;

      TipoImpressao := tipNormal;
      end;

    if (GerarPDF) then
      begin
      ACBrBoletoRpt := TACBrBoletoFCLazReport.Create(nil);
      ACBrBoleto.ACBrBoletoFC := ACBrBoletoRpt;

      ACBrBoletoRpt.DirLogo := diretorio_logotipos;
      ACBrBoletoRpt.NomeArquivo := ACBrBoleto.DirArqRemessa + '\bol_' + FormatFloat('000000000', qryContasReceber.FieldByName('CR_CODIGO').AsInteger) + '.pdf';
      ACBrBoletoRpt.GerarPDF;

      ACBrBoleto.ACBrBoletoFC := nil;
      ACBrBoletoRpt.Free;
      end;

    qryContasReceber.Next;
    end;
finally
  qryContasReceber.Free;
end;
end; 

 

Att, Marcos

Marcos Gerene

[email protected]

  • 3 semanas depois ...
  • Este tópico foi criado há 2684 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...