Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 23-06-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
El Módulo de Lotes



Es importante darse cuenta que el nuevo número de lote siempre lo cogemos de configuración evitando de esta manera que se puedan duplicar los número de lotes

Tenemos que poner un apartado en el programa para cerrar el año, ya que este nos permite poner el contador de lotes y de otros si es necesario a 0

El código en https://gist.github.com/anonymous/5844768

Veamos un detalle de como va cambiando el módulo UbusquedaFP

Código Delphi [-]
procedure TFbusquedaFP.FormActivate(Sender: TObject);
//------------------------------------------------------------------------------
//********************[ Cargamos los Campos de la tabla  en el ComboBox  ]******
//------------------------------------------------------------------------------
begin
  //Comprobamos si el combo esta vacio cargamos los datos
  if Edbusqueda.Text='' then ActQuery(IBQBusqueda,'Select * From '+VarSTabla);
  if IBQBusqueda.IsEmpty then
  begin
     ShowMessage('No hay datos para buscar o mostrar');
     SB_SalirClick(Sender);
  end else
  begin
     if comboCampos.Items.Count=0 then DataSource1.DataSet.GetFieldNames(comboCampos.items);
     if VarSTabla='FPAGOS' then
     begin
       CarGarGrid(0,'ID',50,'ID');
       CarGarGrid(1,'CODIGO',130,'Código');
       CarGarGrid(2,'FORMAPAGO',260,'Forma de pago');
       CarGarGrid(3,'DIASPRESENTACION',130,'Días de presentación');
       CarGarGrid(4,'DIASCOBRO',130,'Días de cobro');
       CarGarGrid(5,'NUMERODEPAGOS',130,'Número de pagos');
     end;
     if VarSTabla='FABRICABLES' then
     begin
       CarGarGrid(0,'ID',50,'ID');
       CarGarGrid(1,'CODIGO',130,'Código');
       CarGarGrid(2,'PRODUCTO',520,'Producto');
     end;
     if VarSTabla='EMPLEADOS' then
     begin
       CarGarGrid(0,'ID',50,'ID');
       CarGarGrid(1,'CODIGO',130,'Código');
       CarGarGrid(2,'NOMBRE',520,'Nombre');
       CarGarGrid(3,'PUESTO',130,'Puesto de trabajo');
       CarGarGrid(4,'AGENTE ',130,'Es Agente o comercial');
     end;
  end;
end;

procedure TFbusquedaFP.FormClose(Sender: TObject; var Action: TCloseAction);
//------------------------------------------------------------------------------
//****************************************************************[ Cerrar ]****
//------------------------------------------------------------------------------
begin
   if (VarSNomMod='PROVEEDORES')  and (FProveedor.DsPrincipal.DataSet.State in [dsEdit,dsInsert]) then
   begin
       FProveedor.DBNCodigoFormaPago.Field.Value:=IBQBusqueda.FieldByName('FORMAPAGO').AsString; //Ponemos la forma de pago elegida
       FProveedor.DBNCodigoFormaPago.SetFocus;                        //Damos el foco nuevamente al campo
   end;
   if (VarSNomMod='LOTESF')  and (FLotes.DsPrincipal.DataSet.State in [dsEdit,dsInsert]) then
   begin
       FLotes.DBNCodFabricable.Field.Value:=IBQBusqueda.FieldByName('CODIGO').AsString; //Ponemos el código elegido
       FLotes.DBNCodFabricable.SetFocus;                        //Damos el foco nuevamente al campo
   end;
   if (VarSNomMod='LOTESE')  and (FLotes.DsPrincipal.DataSet.State in [dsEdit,dsInsert]) then
   begin
       FLotes.DBNCodEmpleado.Field.Value:=IBQBusqueda.FieldByName('CODIGO').AsString; //Ponemos el código elegido
       FLotes.DBNCodEmpleado.SetFocus;                        //Damos el foco nuevamente al campo
   end;
   Button3Click(Sender);
   QuerryOC(IBQBusqueda);
   comboCampos.Items.Clear;
end;

procedure TFbusquedaFP.FormShow(Sender: TObject);
//------------------------------------------------------------------------------
//****************************************************************[ OnShow ]****
// Adaptamos el título del form a la tabla que usamos
//------------------------------------------------------------------------------
begin
  if VarSTabla='FPAGOS' then Caption:='Búsquedas en Fomas de pago';  //Caption del Form
  if VarSTabla='EMPLEADOS' then Caption:='Búsquedas en Empleados';  //Caption del Form
  if VarSTabla='FABRICABLES' then Caption:='Búsquedas en Fabricables';  //Caption del Form
end;

como podemos ver usamos el mismo módulo, para diferentes llamadas, e incluso cunado las llamadas son desde el mismo módulo, pero para diferente Tablas ('LOTESF' y 'LOTESE')

El próximo módulo es el de entradas, que tiene muchas similitudes con este pero también con el de Stock, realmente es el paso intermedio entre ambos.

Que paséis un buen Domingo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"

Última edición por José Luis Garcí fecha: 23-06-2013 a las 14:44:22.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
llamar un programa desde otro programa en un computador con dos monitores RONPABLO Varios 0 10-10-2011 18:20:51
Cargar tu programa desde otro programa rmendoza83 Varios 7 05-01-2009 19:51:33
Lanzar programa desde mi programa Pablo Carlos API de Windows 32 09-09-2004 13:56:26
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
ISC ERROR CODE:335544344 I/O error for file "c:\gestion\gestion.gdb" eliasterrero Firebird e Interbase 2 28-06-2004 12:20:25


La franja horaria es GMT +2. Ahora son las 22:32:03.


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