Ver Mensaje Individual
  #6  
Antiguo 27-12-2016
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Reputación: 19
identsoft Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Mi recomendación es que nunca distribuyas diferentes versiones del programa según los clientes.
Es decir, que te las arregles para que el ejecutable sea el mismo para todos. Algo diferente de esto sólo te va a traer problemas y quebraderos de cabeza.
Tienes razón, lo ideal es que el ejecutable sea el mismo para todos, pero a veces eso no es posible y tenemos que ir añadiendo modificaciones propias para cada cliente.

Cita:
Empezado por Neftali Ver Mensaje
No hay una solución estándard para resolverlo, se trata de tener imaginación para cada caso.
En el caso de los listados, por ejemplo, puedes tener una carpeta donde cada cliente tenga sus listados de forma que à la hora de instalar o actualizar no modifiques los listados del cliente.
O tener una carpeta para los listados de la aplicación (esos puedes actualizarlos) y otra para los "personalizados" de cada cliente, de forma que estos últimos nunca se "machacan" cuando instalas o actualizas.

Por ejemplo, si necesitas crear elementos de menú para llamar a los listados de un cliente, puedes hacerlo en tiempo de ejecución utilizando un fichero de configuración (es la primera que se me ocurre).
Tener un elemento de menú que diga "listados" o "Listados personalizados" y luego un pequeño fichero de configuración que sea algo así:

Código Delphi [-]
[LISTADOS]
Listado1=Resumen semanal
path1=c:\Program Files\MyApp\ListadosCliente\ResumenSemanal.frf
Listado2=Facturación anual
path2=c:\Program Files\MyApp\ListadosCliente\FacturacionAnual.frf
...

En ejecución, segun ese fichero puedes crear los elementos de menú para lanzar los listados.

Es simplemente un ejemplo, se trata de pensar algo que se ajuste a lo que necesitas, pero hay infinitas opciones.
Si detallas más concretamente tu problemas te podemos dar alguna idea y algo de código.
He puesto el ejemplo de los listados porque es el más común. pero las modificaciones pueden ser múltiples y variadas. Por ejemplo: la aplicación es multiempresa y cada empresa puede tener Clientes propios y Agentes que a su vez pueden tener otros Clientes. La facturación se puede hacer tanto a los clientes propios como a nombre de los agentes como a nombre del cliente de los agentes. Lo mismo a la hora de contabilizar el apunte contable. Otro ejemplo: cada artículo tiene un precio determinado, pero dependiendo del cliente puede tener otro precio y lo mismo para el Agente o para el cliente del agente. etc,etc.. y así más.
Yo intento adaptar esas modificaciones al aplicativo general, pero a veces es imposible.
Responder Con Cita