miércoles, 25 de septiembre de 2013

Create a search parameter in Adempiere

1) Crear una vista en el PostgreSQL

-- select * from vw_listado_clientes tc;

drop view if exists vw_listado_clientes;

create view vw_listado_clientes
as
select
    u.ad_user_id as vw_listado_clientes_id,
    1000001 as ad_client_id,
    0 as ad_org_id,
    cast('Y' as char) as isactive,
    now() as created,
    100 as createdby,
    now() as updated,
    100 as updatedby,
    bp.c_bpartner_id as id_tercero,
    bp.value as cod_tercero,
    bp.name as tercero,
    tc.nic_tipo_cliente_id as id_tipo_cliente,
    tc.nombre as tipo_cliente,
    tp.nic_tipo_pension_id as id_tipo_pension,
    tp.nombre as tipo_pension,
    u.value as cod_cliente,
    u.num_cedula,
    u.name as nombre,
    u.nss,
    coalesce(l.address1, l.address2) as direccion,
    l.city as ciudad,
    coalesce(u.phone, u.phone2) as telefono,
    u.birthday as fecha_nacimiento,
    u.lastcontact as ultima_llamada,
    u.notificationtype as tipo_notificacion
from c_bpartner bp
    join ad_user u
    on bp.c_bpartner_id = u.c_bpartner_id
    left outer join nic_tipo_cliente tc
    on u.nic_tipo_cliente_id = tc.nic_tipo_cliente_id
    left outer join nic_tipo_pension tp
    on u.nic_tipo_pension_id = tp.nic_tipo_pension_id
    left outer join c_location l
    on u.c_location_id = l.c_location_id
where bp.ad_client_id = 1000001
    and bp.isactive = 'Y'
    and u.ad_client_id = 1000001
    and u.isactive = 'Y'
order by
    bp.name,
    u.name;

2) Integrar la vista en el sistema en la pantalla "Tabla y Columna"



3) Marcar el identificador del registro, para este ejemplo es la columna "Nombre". Tambien marcarlo como columna a mostrar en la pantalla de busqueda.


4) Marcar las columnas a mostrar en la pantalla de busqueda. Para este ejemplo son: "Tercero", "No. Cedula", "Nombre", "Telefono", "Direccion"


 5) Integrar la tabla "Listado de clientes" en una ventana de "Solo Lectura", usando la pantalla "Ventana, Pestaña y Campo" ubicado en Menu > Diccionario de la Aplicacion



6)  Crear una pestaña "Listado de clientes" para la ventana "Listado de clientes"



7)  Crear los campos para la pestaña "Listado de clientes"




8)  Crear una referencia de la tabla "Listado de clientes" en Menu > Diccionario de la Aplicacion > Referencia














9) Definir la columna clave y la columna a mostrar en la validación de tablas de la referencia


10) Asignar la ventana "Listado de clientes" a la tabla "vw_listado_clientes"




















11) Asignar la referencia clave a la columna que invocará la pantalla de búsqueda para una determinada tabla, en este ejemplo, se creo una nueva columna "ID Contacto" para la tabla "Order", y se agregó el nuevo campo para la ventana "Orden de Venta"

























12) Finalmente, entrar a la pantalla que contiene el campo de búsqueda, para este ejemplo "Orden de Venta"





















^_^ "Dar un comentario es una forma de agradecimiento" ^_^


No hay comentarios:

Publicar un comentario