Fórum Ajuda com Boleto #425793

08/10/2012

0

Olá pessoal, venho aqui mais uma vez pedir uma ajuda...

assim, tenho no meu programa, um form de cadastro de parcelas dos clientes, no caso ali tem todas as informações que são necessárias no boleto. Quando eu gerar o boleto, ele irá puxar desta tabela de parcelas os dados.

O problema que eu estou encontrando é:
na tabela eu tenho alguns campo como esses:

cli_nome
cli_codigo
par_codigo
par_numerodocumento
par_nossonumero

oque eu não estou conseguindo fazer é:
gerar o número do documento e o nosso número.

sendo que eu queria gerar o numero do documento assim:
código co cliente (par_codigo) + o nº do boleto..

exemplo:
eu tenho lá o cliente Caio que tem o código 54, e eu fiz 3 parcelas para ele
de códigos 124,125 e 126. Eu queria que o numero do documento ficasse assim 54/001, 54/002, 54/003

ele teria que contar quantas parcelas já tem dele e ir complementando pra mais tarde se eu criar mais 2 parcelas ficarem 54/004, 54/005

tem como fazer isso? estou quebrando a cabeça aqui e não ta saindo nada...

Mas de qualquer forma já agradeço! e parabéns para o fórum e pra galera aí que contribui.


Jeferson Araujo

Jeferson Araujo

Responder

Posts

09/10/2012

Alisson Santos

Caro amigo.

Referente a sua duvida, aconselho quando criar um arquivo parcelado fazer da seguinte forma.
fazer um for, utilizando a quantidade de parcelas e na hora de fazer a divisão pelas parcelas e gerar os numeros do documentos fazer uma concatenação com o que você quer.
Sempre que fosse fazer um novo parcelamento, era só verificar quandas parcelas tem o documento e fazer novamente a concatenação.
Responder

Gostei + 0

09/10/2012

Gilvanio Gonçalves

Olá pessoal, venho aqui mais uma vez pedir uma ajuda...

assim, tenho no meu programa, um form de cadastro de parcelas dos clientes, no caso ali tem todas as informações que são necessárias no boleto. Quando eu gerar o boleto, ele irá puxar desta tabela de parcelas os dados.

O problema que eu estou encontrando é:
na tabela eu tenho alguns campo como esses:

cli_nome
cli_codigo
par_codigo
par_numerodocumento
par_nossonumero

oque eu não estou conseguindo fazer é:
gerar o número do documento e o nosso número.

sendo que eu queria gerar o numero do documento assim:
código co cliente (par_codigo) + o nº do boleto..

exemplo:
eu tenho lá o cliente Caio que tem o código 54, e eu fiz 3 parcelas para ele
de códigos 124,125 e 126. Eu queria que o numero do documento ficasse assim 54/001, 54/002, 54/003

ele teria que contar quantas parcelas já tem dele e ir complementando pra mais tarde se eu criar mais 2 parcelas ficarem 54/004, 54/005

tem como fazer isso? estou quebrando a cabeça aqui e não ta saindo nada...

Mas de qualquer forma já agradeço! e parabéns para o fórum e pra galera aí que contribui.





Poste o codigo que vc esta tentando para que possamos te ajudar.
e onde vc esta usando o codigo?

se possivel os tipos deste campos, type:

cli_nome
cli_codigo
par_codigo
par_numerodocumento
par_nossonumero

qual banco de dados vc esta usando?
Responder

Gostei + 0

10/10/2012

Jeferson Araujo

a eu acabei conseguindo, mas em vez de mostrar o código mostrei as inicias do nome...
o banco q to usando eh o acces..

vou postar aqui o código pra vocês darem uma olhada:

Pegando as iniciais:
function TFrmParcelasClientes.PegarInicias(Valor: String): String;
Var
I: Integer;
begin
for I := 1 to Length(Valor) do
begin
if (Length(Trim(Valor[I - 1])) = 0) then
Result := Result + copy(Valor, I, 1);
end;
end;


nesse código ele está pegando os valores preenchidos e armazenando em variaiveis, aí ele faz um for para fazer o cadastro automatico das outras parcelas e no caso o numero do documento são as inicias + o numero que é a parcela... eu tenho um edit no qual o usuario informa qual o valor inicial, se ele gera 2 parcelas e coloca valor inicial 1 ele fica xxx/1 e xxx/2, se ele gerar + 2 depois deve colocar valor inicial 3 daí fica xxx/3 e xxx/4


  begin
    DbeDesconto.SetFocus;
    DbeDeducoes.SetFocus;
    DbeMora.SetFocus;
    DbeAcrescimos.SetFocus;
    DbeValorCobrado.SetFocus;
    Btncalcular.Click;

    // iniciais
    iniciais := PegarInicias
      (DTM.DTSParcelasClientesnome_cliente.AsString) + '/';

    clientecodsolicitacao := StrToInt(DBECodigoSolicitacao.Text);
    quantosmeses := StrToInt(DBEQuantosMeses.Text);
    meses := StrToInt(EdtQuantosMeses.Text);
    proximaparcela := StrToInt(EdtUltimaParcela.Text);
    clientenomesolicitacao := DBLCodSolicitacao.Text;
    Situacao := DBESituacao.Text;
    datavencimento := StrToDate(DBEDataVencimento.Text);
    datamora := StrToDate(DbeDataMora.Text);
    DataDesconto := StrToDate(DbeDataDesconto.Text);
    DataProtesto := StrToDate(DbeDataProtesto.Text);
    usuario := UntLogin.FrmLogin.EdtLogin.Text;
    DBGrid1.Refresh;
    ValorParcela := DTM.DTSParcelasClientespar_valorparcela.AsCurrency;
    Desconto := DTM.DTSParcelasClientespar_desconto.AsCurrency;
    deducoes := DTM.DTSParcelasClientespar_deducoes.AsCurrency;
    mora := DTM.DTSParcelasClientespar_mora.AsCurrency;
    acrescimos := DTM.DTSParcelasClientespar_acrescimos.AsCurrency;
    valorcobrado := DTM.DTSParcelasClientespar_valorcobrado.AsCurrency;
    DTM.DTSParcelasClientes.cancel;
    // meses, ultimaparcela,contador: Integer;
    for contador := proximaparcela to (proximaparcela + meses - 1) do
    begin

      DTM.DTSParcelasClientes.Insert;

      DTM.Dtsparcelasclientespar_codigosolicitacao.AsInteger :=
        clientecodsolicitacao;
      // datas inicio
      DTM.DTSParcelasClientespar_datavencimento.AsDateTime :=
        IncMonth(datavencimento, contador);
      DTM.DTSParcelasClientespar_datamora.AsDateTime :=
        IncMonth(datamora, contador);
      DTM.DTSParcelasClientespar_datadesconto.AsDateTime :=
        IncMonth(DataDesconto, contador);
      DTM.DTSParcelasClientespar_dataProtesto.AsDateTime :=
        IncMonth(DataProtesto, contador);

      // datas fim
      DTM.DTSParcelasClientespar_quantosmeses.AsInteger := quantosmeses;
      DTM.DTSParcelasClientespar_valorparcela.AsCurrency := ValorParcela;
      DTM.DTSParcelasClientespar_desconto.AsCurrency := Desconto;
      DTM.DTSParcelasClientespar_deducoes.AsCurrency := deducoes;
      DTM.DTSParcelasClientespar_mora.AsCurrency := mora;
      DTM.DTSParcelasClientespar_acrescimos.AsCurrency := acrescimos;
      DTM.DTSParcelasClientespar_valorcobrado.AsCurrency := ValorParcela -
        Desconto - deducoes + mora + acrescimos;
      DTM.DTSParcelasClientespar_situacao.AsString := Situacao;
      DTM.DTSParcelasClientespar_usuario.AsString := usuario;
      DTM.DTSParcelasClientespar_data_cad.AsDateTime := date;
      DTM.DTSParcelasClientesnome_cliente.AsString := clientenomesolicitacao;

// aqui ele monta o numero do documento
      DbeNumeroDoc.Text := iniciais + IntToStr(contador);

      DTM.DTSParcelasClientes.post;

    end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar