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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-07-2007
analia1979 analia1979 is offline
Miembro
 
Registrado: sep 2006
Posts: 22
Poder: 0
analia1979 Va por buen camino
Smile Aplicacion campañas de cereales

Hola a todos...
No se que en foro iria esta pregunta por eso lo puse en esta.
Tengo que hacer una aplicacion que cuando abra el usuario pueda elegir la campaña sobre la que quiera trabajar, seria como el ejercicio contable a abrir.
A partir de ahi que todo lo que se cargue sea sobre ese campaña.
Las tablas que tengo son Campañas, los Establecimientos y la relacion de estas dos CampañasEstablecimientos, que seria los establecimientos que entran en esa campaña.
Mi duda es como mantener la campaña que haya ingresado para que saber que todo lo que se ingrese de ahi en mas es sobre esa campaña y no de otra.
Tengo que mantener una variable, pero eso me parece medio medio.
Si alguien me pudiera guiar mil gracias.
Responder Con Cita
  #2  
Antiguo 18-07-2007
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Pues sera medio-medio pero es la manera de hacerlo.

Una forma mas elegante es usando una estrategia similar al concepto de sesion en sitios web y crear una clase con los datos de la sesion y usuario actual:

Código Delphi [-]
TSesion= class
  Usuario:TUsuario;
  EmpresaActual:TEmpresa;
  ..
  ..
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 18-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
La mayoría de componentes de acceso a datos, sino es que todos, manejan una componente que centraliza la conexión, DataBase, TSQLConnection, TADOConnection, TMyConection, etc, y todos los demás, tablas, queries, etc. se conectan a través de él. Lo único que tendrías que hacer es seleccionar los parámetros de la conexión correspondientes según la campaña que escoja el usuario.

// Saludos
Responder Con Cita
  #4  
Antiguo 18-07-2007
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
Depende... todo depende...

Como digo, depende. Si la información a recabar por campaña no es mucha y estás empleado algún RDBMS (Interbase, Firebird, Mssql...), yo soy partidario de añadir un par de campos en cada tabla de movimientos: Ejercicio y Campaña. Al realizar tus consultas puedes tener dos variables que indiquen qué ejercicio y campaña es el que está activo y cada vez que realices altas asignar por defecto el ejercicio y la campaña activa. ¿Ventajas? Todo está en una sola base de datos, si necesitas realizar comparaciones interanuales es mucho más fácil, el sistema de copias de seguridad se simplifica (un solo fichero), los ficheros maestros son comunes para todos los ejercicios, ahorrándote el proceso de cierre y apertura con importación de datos, el mantenimiento de los datos de los maestros también se simplifica, las cosas sólo se modifican una vez. Hacer un seguimiento de campañas por establecimiento, por ejemplo sería una simple consulta SQL, si lo tienes dividido en bases de datos te supone recorrer varias bases de datos y llevar un mantenimiento a parte de las mismas, para saber cuantas hay y qué contienen....

El único problema es la masificación de datos en los archivos de movimientos. Si no usas más de 4 índices y no vas a mantener más de cinco años en máquina puedes valorar unos 250.000 registros por año, si pasas de esa cantidad sí pensaría en dividir la base de datos por ejercicios.

Espero no haberte liado.
Saludos.
Responder Con Cita
  #5  
Antiguo 18-07-2007
analia1979 analia1979 is offline
Miembro
 
Registrado: sep 2006
Posts: 22
Poder: 0
analia1979 Va por buen camino
Wink Aplicacion campañas de cereales

Mil gracias a todos.
Afxe te entendi claramente, y esa es la solucion que tenia pensado, mi problema era como mantener esa variable de sin que se pierda.....

Saludos.
Responder Con Cita
  #6  
Antiguo 19-07-2007
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
Guardar variables

Puedes usar un .ini o, mejor aún, el registro de sistema para guardar los últimos valores con los que ha trabajado un usuario, o si tienes una tabla de años-campañas con valores por defecto puedes tener un campo que marque cual es la campaña activa. Si es multiusuario y tienes una tabla de usuarios para el control de acceso puedes almacenar ahí también ese valor. También puedes abrir la aplicación cargando por defecto los valores de la última campaña almacenada, y tener una barra de botones o una caja de herramientas donde el usuario pueda seleccionar rápida y fálcilmente el año y campaña con la que trabajar.

Saludos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación de Servicio+Aplicación Normal +Socket jake API de Windows 5 21-06-2007 18:53:19
Aplicación Web vs aplicación Delphi epuigdef Internet 26 08-05-2007 10:47:12
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
Diferencia entre aplicacion Clx y aplicación normal??? JorgeBec Varios 1 27-10-2004 17:30:49
aplicacion vertical? aplicacion horizontal? maruenda Varios 3 28-02-2004 23:23:20


La franja horaria es GMT +2. Ahora son las 16:40:22.


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