Fórum Ajuda com cadastro automatico #425498
04/10/2012
0
no meu sistema ele tem um cadastro de parcelas, no caso o usuário seleciona o cliente e cria a parcela,
eu coloquei um Edit para o usuário escrever quantas parcelas ele quer gerar aí no botão confirmar eu tentei colocando o comando FOR, mas ele apenas cria os dados em branco... se eu crio 1 parcela e coloco no edit para ele fazer 3 parcelas ele gera a que eu preenchi os dados mas acaba gerando mais 3 com todos os dados em branco menos o código que é numeração automática e a data de alteração
for quantosmeses := 1 to StrToInt(EdtQuantosMeses.Text) do begin
DTM.DTSParcelasClientes.post;
DTM.DTSParcelasClientes.Insert;
DTM.DTSParcelasClientespar_data_alt.AsDateTime := date;
end;
self.TrataBotoes;
também já tentei capturar os dados o colocar em variáveis, e depois colocar para ele preencher em baixo do DTM.DTSParcelasClientespar_data_alt.AsDateTime := date; mas ele gera os cadastros todos em branco do mesmo jeito
Jeferson Araujo
Curtir tópico
+ 0Posts
04/10/2012
Bruno Leandro
for quantosmeses := 1 to StrToInt(EdtQuantosMeses.Text) do begin
DTM.DTSParcelasClientes.Insert;
DTM.DTSParcelasClientespar_data_alt.AsDateTime := date;
DTM.DTSParcelasClientespar_nr_parcela.AsInteger := quantosmeses;
DTM.DTSParcelasClientes.post;
end;
self.TrataBotoes;
Gostei + 0
04/10/2012
Jeferson Araujo
begin
clientecodsolicitacao:=StrToInt(DBECodigoSolicitacao.Text);
quantosmeses:= StrtoInt(DBEQuantosMeses.Text);
clientenomesolicitacao:= DBLCodSolicitacao.Text;
Situacao:= DBESituacao.Text;
datavencimento:= StrToDate(DBEDataVencimento.Text);
for quantosmeses := 1 to StrToInt(EdtQuantosMeses.Text) do begin
DTM.DTSParcelasClientes.Insert;
DTM.DTSParcelasClientespar_data_alt.AsDateTime := date;
DTM.DTSParcelasClientespar_datavencimento.AsDateTime := datavencimento;
DTM.DTSParcelasClientespar_situacao.AsString:= Situacao;
DTM.DTSParcelasClientespar_codigosolicitacao.AsInteger:= clientecodsolicitacao;
DTM.DTSParcelasClientesnome_cliente.AsString:= clientenomesolicitacao;
DTM.DTSParcelasClientes.post;
end;
self.TrataBotoes;
end;Mas uma coisa... quando eu cadastro o cliente e no EditQuantasParcelas coloco 3 por exemplo ele gera a que eu preenchi e mais 3, mas no caso a data do vencimento queria que adiantasse os 3 meses também, no caso
se eu colocar vencimento dia 10/10/2012, queria que ele gerasse:
A primeira que eu preenchi: 10/10/2012
e as outras 3
10/11/2012
10/12/2012
10/01/2013
Gostei + 0
04/10/2012
Jeferson Araujo
assim eu mudei pra ele gerar o número q o usuário definir então ta assim:
Nome do Cliente com DblookupCombobox, data de vencimento com DbEdit, numero de parcelas à gerar com Edit, e valor com DbEdit tbm...
daí assim o usuário seleciona o cliente, coloca a data do vencimento por exemplo 10/10/2012, quantas parcelas ele irá gerar, por exemplo 3, e o valor.
quando ele clica para gerar ele está criando estas 3 parcelas, mas como ele está repetindo tudo, ele copia as datas tendo 3 parcelas com a mesma data de vencimento queria que fosse a 1ª parcela com a data 10/10/2012 e a segunda parcela com 10/11/2012 e a terceira com 10/12/2012,
Eu coloquei na parte DTM.DTSParcelasClientespar_datavencimento.AsDateTime := (datavencimento + 30);
onde ele adiciona 30 dias mas dai ficam assim os cadastros:
1ª 10/10/2012 2ª 09/12/2012 e a 3ª 09/12/2012
teria como fazer adicionando para todas? e deixar o dia fixo?
Gostei + 0
04/10/2012
Bruno Leandro
begin
clientecodsolicitacao:=StrToInt(DBECodigoSolicitacao.Text);
quantosmeses:= StrtoInt(DBEQuantosMeses.Text);
clientenomesolicitacao:= DBLCodSolicitacao.Text;
Situacao:= DBESituacao.Text;
datavencimento:= StrToDate(DBEDataVencimento.Text);
for quantosmeses := 0 to StrToInt(EdtQuantosMeses.Text) + 1 do begin
DTM.DTSParcelasClientes.Insert;
DTM.DTSParcelasClientespar_data_alt.AsDateTime := date;
DTM.DTSParcelasClientespar_datavencimento.AsDateTime := IncMonth(datavencimento,quantosmeses);
DTM.DTSParcelasClientespar_situacao.AsString:= Situacao;
DTM.DTSParcelasClientespar_codigosolicitacao.AsInteger:= clientecodsolicitacao;
DTM.DTSParcelasClientesnome_cliente.AsString:= clientenomesolicitacao;
DTM.DTSParcelasClientes.post;
end;
self.TrataBotoes;
end;
Gostei + 0
05/10/2012
Jeferson Araujo
Gostei + 0
07/10/2012
Jeferson Araujo
Funcionando perfeitamente!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)