En principio, para obtener la información de la que hablas, creo que habría que cambiar el sistema en el que se guardan los datos del proveedor.
Actualmente lo que hay es un "autocomplete" sobre los proveedores de los gastos registrados en el proyecto (o en el agente). Si esto se lleva a buscar sobre todos los gastos de todo el sistema la búsqueda puede ser eterna, por lo que hay que pasar a un sistema en el que lo que se guarde en cada gasto sea una referencia al "proveedor" (como entidad individual) y no su nombre y nif.
He estado dándole vueltas durante bastante tiempo y tengo dudas sobre cómo manejar este tema.
En principio no sería muy complicado hacerlo, pero me surgen problemas al imaginar la operativa diaria y cómo conservar la integridad de los datos. Partamos de los supuestos:
1.- Debe ser posible crear nuevos proveedores desde la edición de gasto
2.- Debe ser posible asignar proveedores ya creados desde la edición de gasto
3.- Debe ser posible gestionar los proveedores desde algún sitio de la administración del sistema
4.- Dos proveedores distintos pueden tener el mismo nombre, luego la única forma de distinguirlos es el CIF (CPF), por lo que deberá ser obligatorio y único para cada uno de ellos.
5.- La información relativa a un gasto nunca podrá ser modificada:
a) Sin ser consciente explícitamente de que se está cambiando el gasto.
b) Aunque sea de forma intencionada, nunca se podrá cambiar un gasto de un proyecto cerrado o de una etapa que el agente haya cerrado.
Ahora, las siguientes situaciones y los problemas que hay asociados a cada una:
1.- Un usuario está metiendo gastos y en el momento de hacerlo tiene la información del nombre del proveedor, pero no de su NIF y este no existe previamente en el sistema. El gasto no podría ser guardado o se tendrá que introducir información "falsa" en él (puesto que a la hora de generar un nuevo proveedor el NIF es obligatorio).
2.- Al haber bastante probabilidad de que exista información inventada referente a los proveedores, cómo se evita o se sanea esa información?. (alguien revisando periodicamente el listado de proveedores?)
3.- El administrador del sistema puede modificar la información de los proveedores (desde la administración) y con ello la información vinculada a los gastos?. En qué condiciones?. (sólo si el gasto no está en "proyectos" o en "etapas de agentes" cerrados?)
4.- Si se observa que un gasto tiene mal introducida la información del proveedor (p.ej. el nombre no es correcto) y se desea desde la edición del gasto corregir este... sería posible hacerlo?. Recordemos que ese proveedor puede estar siendo usado en otros gastos de otros proyectos.
Como ves, me surgen un montón de preguntas sobre la usabilidad de la solución (puede resultar frustrante haber metido un proveedor y no poder modificarlo porque se esté usando en otro proyecto distinto).