Ajuda com Boleto
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.
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
Curtidas 0
Respostas
Alisson Santos
08/10/2012
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.
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.
GOSTEI 0
Gilvanio Gonçalves
08/10/2012
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.
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?
GOSTEI 0
Jeferson Araujo
08/10/2012
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:
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
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;
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;GOSTEI 0