Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-03-2004
Obdulia Pérez Obdulia Pérez is offline
Registrado
 
Registrado: ene 2004
Posts: 5
Poder: 0
Obdulia Pérez Va por buen camino
Wink 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...
Responder Con Cita
  #2  
Antiguo 03-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Yo no soy moderador de Impresión, pero lo que sí te pediría es que editaras tu mensaje y utilizaras la etiqueta [ code ] ..... [ /code ] sin los espacios, para poner el codigo, ya que tantas lineas se hacen practicamente imposibles de seguir

gracias
Responder Con Cita
  #3  
Antiguo 03-03-2004
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

Obdulia, aparte de lo que indica Cadetill para que se pueda leer mejor el código, ¿podrías indicar dónde tienes el problema o la duda, es decir, dónde falla?

Así, a bote pronto, parece que funciona, aunque no lo he probado , lo que quiero decirte es que para poder ayudarte sería necesario que nos dijeras qué es lo que falla, o si te salta un mensaje de error, o si da un resultado que no es el que esperas ... para poder entrarle a ese código.

Un saludo
__________________
Guía de Estilo
Responder Con Cita
  #4  
Antiguo 03-03-2004
Obdulia Pérez Obdulia Pérez is offline
Registrado
 
Registrado: ene 2004
Posts: 5
Poder: 0
Obdulia Pérez Va por buen camino
No tengo problemas con el codigo que anexe considere necesario ponerlo porque los valores que arroja ese codigo es lo que yo necesito sumar y obtener los totales de lo que debo mandar comprar has de cuenta:

Dias Tipo_Bota Medida Cant_Bota Pantalon Cant_Panta Camisa Cant_camis
365 sc 9.5 2 32 4 16 4
200 cc 8 1 38 2 18.5 2
100 sc 8 1 32 1 18.5 1

sc = sin casquillo
cs = con casquilloTotales

Bota con Casquillo Talla cantidad
8 1

Bota sin Casquillo 8 1
9.5 2

Pantalon 32 5
38 2

Camisas 16 4
18.5 3

y asi sucesivamente tengo 700 empleados y no todos trabajan los 365 dias en el año por lo que no les corresponde la misma cantidad de uniformes.....
no se si me di a entender espero sus comentarios gracias.
Responder Con Cita
  #5  
Antiguo 04-03-2004
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Me cuesta entenderte, la verdad, quizás no sea tanto una cuestión del informe sino del método que usas para averiguar el número de uniformes que corresponden a cada empleado. ¿Lo haces mediante una consulta SQL? Si es que Sí, ¿qué consulta aplicas?

un saludo
__________________
Guía de Estilo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:24:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi