Gerar Demonstrativo de pagamento

Delphi

16/08/2005

ola pessoal...bom é o seguinte eu estou fazendo uma tela para gerar demonstraçao de pagamento,eu tenho uma tabela de lancamentos e uma de funcionarios,na tabela de lançamentos eu tenho um campo VALOR onde eu gravo os seguintes valores:COD_FUNCIONARIO,SALARIO_REGISTRO,VALOR_SALARIO,VALOR_SALARIO_FAMILIA,QUANT_SAL_FAMILIA que estao na tabela de e tenho tambem na tabela de lancamentos um campo DATA onde eu gravo a data atual.

o que eu tenho que fazer é o seguinte: para cada funcionario eu tenho que gerar um lancamento preenchendo o Campo valor com os valores que estao nos campos citados acima ou seja vai ter que gravar para o mesmo funcionario quatro vezes, pois tem que gerar na tabela de lancamento uma parcela para os campos SALARIO_REGISTRO depois uma para o Campo VALOR_SALARIO e depois uma para o campo VALOR_SALARIO_FAMILIA e depois outra para QUANT_SAL_FAMILIA.

obs.: eu estou usando o seguinte codigo mas nao esta dando certo, pois nao esta gerando um lancamento para cada valor que esta nos campos citados acima.

segue o codigo:

while not QryFuncionarios.Eof do
if Codigo = QryFuncionariosCod_vendedor.Value then
begin
QryLancamentos_Pag.Open;
QryLancamentos_Pag.Insert;
QryLancamentos_pagCODFUNC.Value:=QryFuncionariosCOD_VENDEDOR.Value;
QryLancamentos_pagDATA.Value:=Date;
QryLancamentos_PagVALOR.Value:=QryFuncionariosSALARIO_REGISTRO.Value;
QryLancamentos_PagVALOR.Value:=QryFuncionariosValor_Salario.Value;
QryLancamentos_PagVALOR.Value:=QryFuncionariosValor_Salario_Familia.Value;
QryLancamentos_PagVALOR.Value:=QryFuncionariosQuant_Sal_Familia.Value;
QryLancamentos_pag.Post;
QryLancamentos_pag.Next;
QryLancamentos_Pag.ApplyUpDates;


L3gion4rio

L3gion4rio

Curtidas 0

Respostas

Rjun

Rjun

16/08/2005

Se entendi bem, acho que isso deve resolver:

while not qryFuncionarios.Eof do
begin
  if Codigo = QryFuncionariosCod_vendedor.Value then
  begin
    qryLancamentos_Pag.Insert;
    qryLancamentos_Pag.FieldByName(´CODFUNC´).Value := QryFuncionarios.FieldByName(´COD_VENDEDOR´).Value;
    qryLancamentos_Pag.FieldByName(´DATA´).Value := Date;
    qryLancamentos_Pag.FieldByName(´VALOR´).Value := QryFuncionarios.FieldByName(´SALARIO_REGISTRO´).Value;
    qryLancamentos_Pag.Post;

    qryLancamentos_Pag.Insert;
    qryLancamentos_Pag.FieldByName(´CODFUNC´).Value := QryFuncionarios.FieldByName(´COD_VENDEDOR´).Value;
    qryLancamentos_Pag.FieldByName(´DATA´).Value := Date;
    qryLancamentos_Pag.FieldByName(´VALOR´).Value := QryFuncionarios.FieldByName(´VALOR_SALARIO´).Value;
    qryLancamentos_Pag.Post;

    qryLancamentos_Pag.Insert;
    qryLancamentos_Pag.FieldByName(´CODFUNC´).Value := QryFuncionarios.FieldByName(´COD_VENDEDOR´).Value;
    qryLancamentos_Pag.FieldByName(´DATA´).Value := Date;
    qryLancamentos_Pag.FieldByName(´VALOR´).Value := QryFuncionarios.FieldByName(´VALOR_SALARIO_FAMILIA´).Value;
    qryLancamentos_Pag.Post;

    qryLancamentos_Pag.Insert;
    qryLancamentos_Pag.FieldByName(´CODFUNC´).Value := QryFuncionarios.FieldByName(´COD_VENDEDOR´).Value;
    qryLancamentos_Pag.FieldByName(´DATA´).Value := Date;
    qryLancamentos_Pag.FieldByName(´VALOR´).Value := QryFuncionarios.FieldByName(´QUANT_SAL_FAMILIA´).Value;
    qryLancamentos_Pag.Post;

    qryLancamentos_Pag.ApplyUpDates;
  end;

  qryFuncionarios.Next;
end;



GOSTEI 0
L3gion4rio

L3gion4rio

16/08/2005

deu certo aqui Rogério, valeu cara. abração pra ti.


GOSTEI 0
POSTAR