Generar reporte en QReport para obtener totales
Saludos a todos
Necesito generar un reporte en QReport para obtener los total de uniformes que debo comprar dependiendo de la medida de la ropa y zapatos de cada trabajador estoy trabajando en Delphi5 con una base de datos Standar .dbf
mi reporte lo quiero generar con QReport y los campos que utiliza son los siguientes:
Tipo caracter: Depto, Dias,Tipo_Bota,Cant_Botas,Cant_Panta, Cant_Camis,Cant_Over,Cantchama,Jabones,Toallas.
Tipo Numerico: Medida,Pantalon,Camisa,Manga,Overol,Chamarra
Realizo un calculo que da como resultado el total de uniformes que le correspode a cada trabajador dependiendo de los dias trabajados en el año.
Uniforme contempla: Camisa,Pantalon,Botas,Chamarras,Overoles,jabones,Toallas,
Yo necesito captar los datos que se generan al hacer ese calculo y plasmarlo en un reporte que me indique el total de uniformes que debo comprar dependiendo de la medida de camisa, pantalon, cuantos pares de botas de tal medida, cuantos overoles, cuantas chamarras segun la medida y un gran total de cada juego.
Nota: tengo pendiente overoles porque muy probable no se entreguen
anexo un ejemplo del calculo:
procedure TFdatos.CalcularClick(Sender: TObject);
Var datos: Integer;
const I= 0.143;
begin
//no es necesario abrir la BD ya esta activa al momento de llamar a esta forma
fdatos.table1.First;
While Not fdatos.table1.EOF do
Begin
datos := StrtoInt(DBEdit1.Text);
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('jabones').Value :=StrtoInt(DBEdit1.Text);
If (datos<>0) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('jabones').Value := (datos * I);
fdatos.Table1.Post;
End
Else
If (datos >365) then
showMessage('checa el numero ');
{ fdatos.Table1.Next;
End; // while
end; //procedimiento
end. }
datos := StrtoInt(DBEdit1.Text);
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cantchama').Value :=StrtoInt(DBEdit1.Text);
If (datos<=180) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cantchama').Value := '0';
fdatos.Table1.Post
End
Else
If (datos>=181) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cantchama').Value := '1';
fdatos.Table1.Post
End
else
If (datos >365) then
showMessage('checa el numero ');
datos := StrtoInt(DBEdit1.Text);
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cant_camis').Value :=StrtoInt(DBEdit1.Text);
fdatos.Table1.FieldByName('cant_panta').Value :=StrtoInt(DBEdit1.Text);
If (datos<=30) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cant_camis').Value := '0';
fdatos.Table1.FieldByName('cant_panta').Value := '0';
fdatos.Table1.Post;
End
Else
If (datos<=59) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cant_camis').Value := '1';
fdatos.Table1.FieldByName('cant_panta').Value := '1';
fdatos.Table1.Post
End
Else
If (datos<=183) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cant_camis').Value := '2';
fdatos.Table1.FieldByName('cant_panta').Value := '2';
fdatos.Table1.Post
End
Else
If (datos<=300) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cant_camis').Value := '3';
fdatos.Table1.FieldByName('cant_panta').Value := '3';
fdatos.Table1.Post
End
else
If (datos>=365) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('cant_camis').Value := '5';
fdatos.Table1.FieldByName('cant_panta').Value := '5';
fdatos.Table1.Post
End
Else
If (datos >365) then
datos := StrtoInt(DBEdit1.Text);
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('toallas').Value :=StrtoInt(DBEdit1.Text);
If (datos<=121) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('toallas').Value := '0';
fdatos.Table1.Post
End
Else
If (datos>=122)and (datos<=242) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('toallas').Value := '1';
fdatos.Table1.Post
End
Else
If (datos>=243) and (datos<365) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('toallas').Value := '2';
fdatos.Table1.Post
End
else
If (datos=365) then
Begin
fdatos.Table1.Edit;
fdatos.Table1.FieldByName('toallas').Value := '3';
fdatos.Table1.Post
End
Else
If (datos >365) then
showMessage('checa el numero ');
fdatos.Table1.Next;
End; // while
end; //procedimiento
end.
Para ti Moderador agradezco tus comentarios y pido disculpas por ser tan poco observadora decidí hacer un nuevo hilo pero no supe donde ubicarlo si me equivoco que es lo más seguro, te pido lo acomodes en el lugar que corresponde gracias...
|