Programación General > Power Builder

 Datawindow

<< < (2/4) > >>

davidmolina1:
primero necesitas una datawindow que va a tener un solo registro. será la cabecera de la factura los datos más usuales que se muestran son: Fecha, cliente, número de factura, serie, total de la factura,  el id de la cabecera,  etc...

debajo se pone una datawindow tipo grid con los detalles de la factura cantidad, código de artículo, descripción, precio unitario.

La primera datawindow ataca a la tabla cabecera_factura y la segunda a detalle_factura.

Las dos tablas deben tener el updateproperties activado para todos los campos.

PARA CREAR FACTURAS.
Para grabar una factura solo tienes que insertar un registro en la cabecera, registrar los datos que consideres necesario y grabar. Cuando tengas el id de la cabecera, puedes insertar registros en los detalles de la factura y lo primero que debes hacer es escribir el id que te ha dado la cabecera en cada línea de detalle, y por supuesto rellenar el resto de datos.

PARA VISUALLIZAR FACTURAS:
Tienes que localizar la factura a través de su ID  y hacer un retrieve (id_cabecera) en la cabecera y después un retrive (id_cabecera) en la datawindow con los detalles.

PARA MODIFICAR.
Es igual que para editar, basta con tener los campos editables.

sayri:
ahun nada
sigo con el mismo problema
los campos del data window factura_detalle estan desabilitados para agregar datos
solo aparece como reporte

davidmolina1:
Prueba lo siguiente:

Si consigues hacer una inserción y los campos no son editables puede ser por alguno de estos motivos.
1.- Que los campos de la tabla detalle_factura no tengan el taborder a 0
2.- Que no tengan nada en la propiedad Protect

Si ni siquiera consigas insertar un registro puede ser porque no hayas creado un campo en la tabla como primary key.

Espero haberte ayudado porque se me han acabado las ideas.

sayri:
gracias por la yuda problema solucionado

y por ultimo como puedo imprimir las dos datawindow si9n usar el objeto composite, ya lo eh probabo y es muy problematico

davidmolina1:
Pero no nos dejes así, ¿Qué le pasaba?.  :D , que si no no aprendemos de tus errores.

Bueno, te contesto a lo de la impresión.

Para imprimir la factura puedes hacerlo de varias formas.

Si no es muy complejo el formato, puedes hacer una datawindow en la que vas añadiendo las tablas que necesites: cabecera de factura, detalle de factura, cliente, etc... y seleccionas las campos que desees mostrar.

Si la cosa se complica, por ejemplo, imagínate que tienes que sacar información que las formas de pago que permite el proveedor y tienes que desglosar los impuestos por tipos. En estos casos la información que no esté accesible de una forma rápida se puede calcular mediante datastores y luego insertarla en la factura usando campos computados de la select de la datawindow o simplemente static text.

Si la cosa se complica aún más, por ejemplo te piden que las líneas de detalle de la factura no deben ir ordenadas por fecha  (que sería lo normal) sino que hay que agruparlas por familia, subfamilia, grupo y fecha y además de todos esto configurable según el proveedor. Aquí la cosa se te puede complicar. En estos casos lo mejor es crearte una datawindow external con los campos que necesites y alimentarla con los datos que vayas procesando de una datastore. Aunque también puedes tener un formato de impresión para cada caso pero eso puede ser poco mantenible.

Un saludo.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa