Ajuda com cadastro automatico
Olá gene é o seguinte
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
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
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
Curtidas 0
Respostas
Bruno Leandro
04/10/2012
ola Jeferson tente utilizar desta forma, substitua o campo nr_parcela pelo nome do seu campo
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;
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
Jeferson Araujo
04/10/2012
Tinha funcionado eu que tinha feito uma coisa errada vlw!!! ficou assim o código:
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
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
Jeferson Araujo
04/10/2012
aí galera alguém??
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?
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
Bruno Leandro
04/10/2012
Ola jeferson veja se desta forma fica conforme solicitado
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;
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
Jeferson Araujo
04/10/2012
ok vlw =) eu vou testas provavelmente amanhã porque cheguei agora do trab, e ja tenho q sair e amanhã tbm vou trabalhar de manhã e tarde. Até de noite respondo se funcionou ou não ^^
GOSTEI 0
Jeferson Araujo
04/10/2012
Muito Obrigado!
Funcionando perfeitamente!
Funcionando perfeitamente!
GOSTEI 0