Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio PBDV10 PDF
Laboratorio PBDV10 PDF
0 PBDV10- Laboratorio
Laboratorio
PowerBuilder
Developer
V10.0
PBDV10
cursos@techeras.com
www.techeras.com
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 1
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Laboratorio
PowerBuilder Developer
V10.0
PBDV10
2005 TechEra e-Learning
www.techeras.com
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 2
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Vista General
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 3
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para empezar a desarrollar con PowerBuilder, lo primero que tenemos que crear es nuestro Workspace,
donde le asignaremos un nombre para que sea identificado como nuestra rea de trabajo.
En la ventana New de PowerBuilder escogemos el tab Workspace y hacemos doble clic sobre el icono
workspace.
El nombre a ingresar puede ser opcional, nosotros le agregamos techera, y nos crear un archivo de
extensin .pbw, en el directorio indicado.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 4
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de ingresar el nombre, PowerBuilder nos muestra el workspace creado y la ruta donde se ha generado
este archivo, ahora falta agregarle los targets para poder trabajar.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 5
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego utilizaremos el wizard para crear los targets en este caso vamos a crear el wizard para crear el objeto
application, el cual nos va a crear el PowerScript Target, esto lo ubicamos haciendo New en el toolbar y
seleccionamos el tab Target y hacemos doble click en Application, como se muestra en las figuras de abajo.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 6
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Cuando se ingresa un nombre de Aplicacin automticamente te crea una librera con este mismo nombre y
un target, tal como se muestra a continuacin.
Luego de ingresado los valores PowerBuilder nos muestra, el target ventas.pbt, la librera ventas.pbl y el
objeto application ventas. Ahora puedes crear tus dems objetos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 7
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para trabajar en PowerBuilder se necesitan crear Libreras, en estos archivos es donde se almacenan los
objetos de PowerBuilder, para tal efecto vamos a crear libreras donde vamos a almacenar los objetos, se
recomienda crear libreras por cada tipo de objeto, asimismo es recomendable que las libreras no tengan un
tamao mayor al de 1 MB, ni tampoco la creacin de demasiadas libreras.
Como PowerBuilder es una herramienta orientada a Objetos se recomienda crear libreras donde se van a
guardar todas las clases principales de donde se van a heredar, como se indica a continuacin :
Acceder al painter del Library para crear libreras, esto lo realizamos presionando el icono Library del
PowerBar, como se ilustra.
Una vez en el painter del Library, procedemos a crear las libreras presionando el icono Create Library
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 8
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Las libreras deben ser ingresadas y sern guardadas en el directorio indicada, las libreras a crear se indican
a continuacin:
base_win.pbl
base_dw.pbl
base_uo.pbl
base_fun.pbl
base_mn_pbl
Luego para trabajar con los objetos de estas libreras base se recomienda crear libreras para la aplicacin a
desarrollar en este caso vamos a crear un sistema de ventas y para esto crearemos las libreras necesarias :
ventas_win.pbl
ventas_dw.pbl
ventas_uo.pbl
ventas_fun.pbl
ventas_mn.pbl
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 9
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber finalizado la creacin de las libreras necesarias para el desarrollo del Sistema de Ventas se
necesita poder compartir estas libreras a fin de intercambiar objetos entre las diferentes libreras como se
muestra a continuacin :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 10
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Este objeto ser el principal de toda aplicacin, asimismo se deber de guardar con el nombre de w_ancestro
y ser guardado en la librera base_win.pbl, por ser una clase de objeto, a continuacin detallamos como se
crea una objeto window.
Luego en el tab PB Object, escogemos el icono Window y hacemos doble click para crear un window
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 11
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una vez escogido la opcin nos muestra el objeto window, y lo grabamos con el nombre de w_ancestro, para
efectos de poder grabar debemos de realizar alguna modificacin para que se active la opcin de grabar.
Para poder reutilizar las propiedades de los objetos ancestros vamos agregar las opciones necesarias a
estos, empezaremos con agregarles eventos de Usuario (user events)
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 12
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para crear user events, escogemos el List box y la opcin (New Event), y solo agregaremos el nombre de los
eventos, la funcionalidad luego ser programada.
ue_nuevo ue_fin
ue_eliminar ue_validar
ue_grabar ue_postvalidar
ue_anular ue_zoom
ue_buscar ue_regla
ue_imprimir ue_guardarcomo
ue_preliminar ue_pag_siguiente
ue_siguiente ue_pag_anterior
ue_anterior ue_pag_inicio
ue_inicio ue_pag_fin
Muchos de los objetos a heredar utilizan variables, para esto vamos a declarar las siguientes variables de
instancias en la clase principal w_ancestro.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 13
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Objetivo: Poder crear una objeto Window y realizar la programacin con el Lenguaje PowerScript sobre
los controles
3 Controles SingleLineEdit
1 Control DropDownListBox
4 Controles StaticText y
1 Control CommandButton
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 14
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Los objetos creados, se ubican en diferentes posiciones, pero PowerBuilder te provee de una opcin que te
permite ordenar todos los controles, lo que se tiene que realizar es seleccionar los controles a ordenar y
escoger una de las opciones como se muestra a continuacin:
Para poder realizar el proceso de Operacin necesitamos varios valores en el control DropDownListBox, estos
datos son ingresados en sus propiedades en el tab Items, y procedemos a ingresar los valores de la
operacin tal como se ilustra.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 15
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber agregado los controles y configurado sus propiedades, el siguiente paso es realizar la
codificacin del Script, esto lo realizamos con el lenguaje PowerScript, un lenguaje similar a las dems
herramientas, PowerBuilder se caracteriza por tener un orden, y para esto debemos de codificar teniendo en
cuenta los estndares para cada variable y tipo de dato, el siguiente cdigo es para realizar el proceso de
clculo.
Ahora procedemos a grabar este objeto window con el nombre de w_operaciones en la librera
ventas_win.pbl.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 16
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El paso final para probar el objeto creado es programar el evento Open del objeto application ventas,
de donde invocaremos a la ventana w_operaciones, el cdigo se muestra a continuacin:
Ahora ingresamos y escogemos valores de los controles para verificar que la codificacin realizada fue
correcta.
Felicitaciones!, haz creado tu primera aplicacin en PowerBuilder, esto realmente es lo bsico, pero ya
viene lo ms interesante, el proceso de creacin de clases, herencia, la interaccin con la base de datos,
trabajar con los DataWindows.
Ahora pon en prctica lo aprendido y crea una ventana de Ingreso de tu Nombre y muestra un mensaje, tienes
libertad para el diseo y la programacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 17
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora vamos a crear una clase men principal para toda la aplicacin, este objeto deber ser guardado con el
nombre de m_ancestro y deber ser ubicado en la librera base_mn.pbl, crearemos el objeto men como se
indica a continuacin :
En la ventana de dilogo escogemos el tab PB Object y escogemos el icono de men y presionamos doble
click como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 18
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora necesitamos agregarle items al objeto men, por lo general se sigue el estndar del GUI el cual est
basado en una norma para desarrollar aplicaciones de entorno grfico como se muestra en la figura y en la
tabla.
Luego de agregar los items, estos son mostrados de forma automtica para poder verificar el diseo del
men.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 19
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Nota :
Cuando se crean los items para las opciones nuevo, eliminar, grabar etc. La propiedad del toolbar del men el
ToolbarItemVisible debe de ser desactivado en el m_ancestro, esto posteriormente ser activado cuando sea
requerido.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 20
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Primero vamos a crear los objetos men, que van a ser asignados a todos los objetos windows que
posteriormente vamos a crear, se crearn los siguientes objetos que se indican :
m_main
m_sheet
m_impresion
Ahora vamos a heredar de la clase m_ancestro y vamos a crear el objeto m_main, este objeto estar
relacionado con la aplicacin que se va a desarrollar, en tal sentido lo vamos a guardar en las libreras de la
aplicacin de sistemas, en ventas_mn.pbl, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 21
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
A este objeto m_main, le vamos a modificar los items 1 y 2 y lo vamos a renombrar con Mantenimientos y
Procesos, para darle una forma orientada a la Aplicacin que vamos a realizar, el objeto debe de quedar tal
como se muestra a continuacin.
NOTA :
Las opciones que no van a ser utilizados deben de tener la propiedad de visible desactivada a fin de poder
tener un diseo adecuado en la aplicacin, esto se realiza en el tab General.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 22
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para poder trabajar con los objetos con los formularios preliminares de los DataWindows a imprimir, debemos
de crear un men para estos objetos, el cual vamos a heredarlo desde el objeto men m_main, y las
propiedades del item Opciones lo vamos a activar en la propiedad del ToolbarItemVisible de acuerdo a lo que
se muestra a continuacin :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 23
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
En esta parte vamos a crear todos los objetos window base para nuestra aplicacin, por eso vamos a heredar
del objeto ancestro como se indica a continuacin, los objetos a crear son los siguientes:
w_mantenimiento (main)
w_cabecera_detalle (main)
w_mdi (mdihelp!), se le debe agregar el objeto menu m_ancestro por ser requerido una asignacin
de objeto menu a los window mdi.
w_login (response)
w_buscar (response)
w_preview (main)
w_sheet (main)
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 24
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora empezamos a heredar desde el System Tree como se muestra en la figura, este proceso ser realizado
para los dems objetos.
NOTA: Se recomienda primero crear todas las ventanas de la parte de diseo a fin de poder invocarlos
cuando se generen las dems clases
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 25
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El primer paso a seguir es asignarle un control DataWindow, para que se le asigne posteriormente el objeto
DataWindow asociado a las datos respectivos, el nombre por defecto de este control es dw_1.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 26
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Por ahora le agregaremos el objeto men ancestro m_ancestro, luego ser cambiado por el men m_sheet de
la aplicacin final.
Evento Open :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 27
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Evento ue_nuevo :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 28
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Evento ue_eliminar :
Evento ue_grabar :
triggerEvent('ue_validar')
IF dw_1.update() = 1 THEN
COMMIT;
messagebox("OK","SE ACTUALIZO LA BASE DE DATOS")
ELSE
ROLLBACK;
messagebox("ERROR","PROBLEMAS AL MOMENTO DE GRABAR")
END IF
triggerEvent('ue_post_validar')
Evento ue_buscar
Antes de programar este evento, primero debemos de crear la funcin f_buscar(as_DataWindow), donde le
enviaremos como argumento por valor el nombre del objeto DataWindow que queremos que se muestre en
pantalla para buscar los datos requeridos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 29
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
En el Tab PB Object, hacemos doble click en el icono Function para crear nuestra funcin f_buscar().
Luego de escoger la opcin de creacin de funcin, procedemos a ingresar el cdigo como se muestra en la
siguiente figura, que ejecuta una funcin para abrir el objeto window w_buscar envindole un argumento.
NOTA: Al momento de realizar la compilacin, debe de salir un mensaje de que Objeto w_buscar no existe, lo
que se tendr que realizar es heredar y crear temporalmente el objeto w_buscar, ahora vuelva a compilar
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 30
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Evento ue_buscar :
f_buscar(is_DataWindow)
ls_valor = message.Stringparm
Nota: te dice que la variable de instancia is_datawindow no existe, entonces lo que tienes que hacer es
comentar esa linea de cdigo y como se va a usar en todos los objetos hay que crearla en el objeto ancestro
w_ancestro.
Evento ue_imprimir :
Evento ue_preliminar
Para programar este evento debemos de crear algunos objetos complementarios, uno de ellos es crear un
objeto Structure para poder manipular un grupo de variables.
Para poder trabajar con un grupo de datos que pasaremos como argumentos al objeto w_preview vamos a
crear un objeto Structure como se indica a continuacin :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 31
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de escoger la opcin Structure, procedemos a ingresar los valores al objeto a fin de que reciba los
valores y puedan ser almacenados.
Le vamos a asignar el nombre de str_valores, y sern utilizados por las clases principales.
Ahora debemos de crear la funcin f_preliminar(as_DataWindow, as_codigo) y guardarlo en las libreras base
en base_fun.pbl.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 32
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
A la funcin f_preliminar le agregaremos dos argumentos de tipo string e ingresaremos el cdigo que se
muestra en la figura, as como utilizar el objeto structure str_valores previamente creado.
Evento ue_preliminar :
Nota: tienes problemas con las variables is_dw_print e is_argumento, debes de declararlas en el objeto
ancestro w_ancestro porque van a ser utilizadas por todos los dems objetos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 33
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Evento ue_siguiente :
Evento ue_anterior :
Evento ue_inicio :
Evento ue_fin :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 34
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora tenemos que activar las propiedades HscrollBar y el VscrollBar para que el usuario pueda desplazarse
por la lista de datos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 35
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Este evento recibir un valor a travs del objeto Message y ser asignado al control DataWindow para que
muestre los datos.
ls_codigo = dw_1.GetItemstring(dw_1.GetRow(),1)
closewithReturn(parent,ls_codigo)
Una vez finalizado la codificacin del objeto w_buscar, este objeto ser invocado por todas las opciones que
requieran buscar datos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 36
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para poder manipular las opciones del objeto w_preliminar debemos de asociarle un men, para nuestro caso
le vamos a asociar el menu m_ancestro, luego ser cambiado por el m_impresin de la aplicacin final.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 37
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
str_destino = message.PowerObjectParm
dw_1.dataobject = str_destino.as_DataWindow
dw_1.SetTransObject(SQLCA)
NOTA: Este Evento puede ser modificado para que el cambio de tamao sea dinmico.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 38
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 39
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora debemos de asociar el men m_ancestro al objeto w_cabecera_detalle para que podamos acceder a
las opciones para manipular al objeto, esto ser cambiado por el men m_sheet en la aplicacin final.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 40
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una vez definido la interfaz del objeto w_cabecera_detalle, procedemos a programar los eventos necesarios
para poder trabajar con los dos controles DataWindows, asimismo para este efecto vamos a reutilizar algunas
funciones que hemos creado previamente.
Tambin se tienen que agregar nuevos eventos a fin de poder trabajar con el DataWindow del detalle, estos
son :
ue_nuevo_det
ue_eliminar_det
ue_buscar_det
ue_validar_print
STRING is_dw_det_buscar
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 41
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
string ls_valor
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 42
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber ingresado el cdigo necesario para el objeto w_cabecera_detalle, necesitamos que los
controles DataWindow manipulen los datos para tal efecto agregaremos el siguiente cdigo y crearemos el
objeto men popup.
Crearemos un objeto men popup para poder manipular el control DataWindow dw_2 que es el detalle, para
realizar esto presionaremos el icono New del PowerBar y escogeremos la opcin PB Object y haremos doble
click en Men, como se muestra en la figura.
Una vez escogido el icono men procedemos a disear el men popup como se muestra a continuacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 43
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
A cada opcin de los items creados se le debe de agregar el cdigo que se muestra en la figura, a fin de que
puedan activar los eventos del objeto window w_cabecera_detalle.
Parentwindow.triggerevent(ue_eliminar_det)
Parentwindow.triggerevent(ue_buscar_det)
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 44
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de ingresado el cdigo necesario procedemos a grabar el objeto con el nombre m_popup en las
libreras base base_mn.pbl
//***Crea una variable del popup para que se muestre en el control DataWindow especificado
m_popup lmn_popup
Nota: el argumento w_mdi, luego debe ser cambiado por el objeto MDI de la aplicacin final, para nuestro
caso ser w_mdi_ventas.
SelectRow(0, FALSE)
SelectRow(currentrow, TRUE)
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 45
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 46
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El objeto men m_ancestro debe ser asociado, a fin de que este objeto cuente con un men, luego ser
cambiado por el men de la aplicacin final.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 47
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una de las reglas de oro de PowerBuilder es que se creen objetos User Object para crear objetos
personalizados y poder reutilizarlos en toda la aplicacin, ahora vamos a empezar a crear objetos simples
para los botones aceptar y cancelar y veremos como reflejamos la reutilizacin.
Presionamos el icono New del PowerBar y escogemos el tab PB Object y hacemos doble clic en el icono
Stantard Visual, como se muestra en la figura.
Ahora escogemos el tipo Visual CommandButton para crear los botones necesarios para la aplicacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 48
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Vamos a crear un objeto ancestro para todos los botones, desde este objeto heredaremos los dems.
Una vez creado el objeto ancestro uo_commandbutton, lo que tenemos que hacer es heredar desde esta
clase desde el System Tree y vamos a crear el botn Aceptar y activar la propiedad Default como se
muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 49
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Lo siguiente es crear el botn cancelar, que va a ser heredado desde la clase uo_commandbutton y le
activamos la propiedad Cancel, como se muestra en la figura.
Ahora vamos a crear un User Object no visual Standard Class de tipo DataStore, para trabajar con los objetos
DataWindow no visuales.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 50
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una vez escogido la opcin, lo siguiente es seleccionar el tipo DataStore para generar el objeto uo_datastore.
Luego procedemos a grabarlo con el nombre uo_datastore, por ahora solo se aceptarn los valores por
defecto.
La forma como se utilizan estas clases sern mostradas por el instructor de forma prctica.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 51
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Cuando se ejecute el cdigo en el objeto application ventas se debe ejecutar la aplicacin y mostrar el
siguiente mensaje.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 52
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora vamos a construir la aplicacin MDI, primero tenemos que heredar del w_mdi que hemos creado y
construir el objeto w_mdi_ventas que estar asociado al menu m_main que previamente se ha creado y debe
estar guardado en la librera ventas_mn.
Luego debemos de asociar el objeto w_mdi_ventas con el men m_main, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 53
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos a ejecutar el objeto application ventas, pero cambiaremos la codificacin del evento Open,
para poder invocar al objeto w_mdi_ventas que ser el entorno de toda nuestra aplicacin, el cdigo se
especifica a continuacin :
Luego de haber asignado este cdigo procedemos a ejecutar la aplicacin y mostrar la aplicacin como se
ilustra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 54
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego nos mostrar la ventaja hija lista para ser trabajada y orientada a la seguridad para la Aplicacin de
Ventas, y lo grabaremos con el nombre de w_login_ventas en la librera ventas_win.pbl.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 55
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
STRING ls_usuario
STRING ls_clave
ls_usuario = UPPER(sle_1.text)
ls_clave = UPPER(sle_2.text)
Antes de ejecutar la aplicacin debemos de hacer el cambio en el evento Open del objeto Application ventas y
poner el siguiente cdigo:
Cuando ejecutemos la aplicacin deber de mostrarnos la figura que aparece, y luego ingresaremos el
usuario y clave, que para este caso es USUARIO y CLAVE y podremos acceder a la aplicacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 56
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
En caso de que existiera algn error en el ingreso de los datos el mensaje sera el siguiente como se muestra
en la figura de abajo
Si los datos ingresados son los correctos podremos acceder a la aplicacin y se nos mostrar la figura que
aparece abajo
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 57
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para hacerlo de una manera fcil utilizaremos el wizard que viene con el PowerBuilder para crear la Base de
datos de Ventas como se muestra a continuacin :
Ahora accedemos a la opcin del Database Profile y comenzamos a utilizar el wizard que se encuentra en
Utilities y escogemos la opcin de Create ASA Database como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 58
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora nos muestra una ventana de dilogo del Create Adaptive Server Anywhere Database, es ah donde
utilizamos los datos por defecto y en la opcin de Database Name presionamos el botn y escogemos la ruta
donde queremos guardar la base de datos.
Luego de ingresados los valores ahora nos muestra la ventana de dilogo con los datos ingresados en la
opcin User ID el valor asignado es DBA y en Password es SQL, estos valores son por defecto y se
recomienda usarlos para efectos de desarrollo, en la opcin Database Name se ingres la ruta y el nombre de
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 59
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
base de datos, ahora presionamos el botn OK. y el wizard nos crear la base de datos, esto tomar unos
minutos.
Luego de creado la base de datos el wizard nos crea automticamente la base de datos, como se muestra en
la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 60
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora revisemos la opcin ODBC Administrator y veamos como nos cre el DSN automticamente, esto
tambin se puede hacer manualmente si el desarrollador usa otros mecanismos de creacin de la base de
datos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 61
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Primero para acceder a este ambiente escogemos el icono DataBase, como se muestra en la figura
Una vez ingresado al ambiente del Database procedemos a escoger el profile de ventas y lo expandemos y
nos ubicamos en el flder de Tables y presionamos el botn derecho del mouse para crear nuevas tablas
grficamente como se muestra en la figura .
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 62
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ingresamos los campos necesarios para la tabla de usuarios como se muestra en la figura, esto se hace
grficamente, luego vamos a grabar la tabla presionando el botn grabar del toolbar.
Presionado el botn grabar nos muestra una ventana de dilogo y ah ingresamos el nombre de la tabla, para
nuestro caso ser usuario.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 63
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una vez grabado el nombre, la tabla ser mostrada grficamente en el editor de PowerBuilder, ahora tenemos
que crearle el Primary Key para esta tabla, esto tambin se hace grficamente como se muestra en la figura,
se presiona el botn derecho en la cabecera de la tabla y se escoge la opcin Primary Key.
Para nuestro caso escogeremos el campo usuario, se tiene que tener en cuenta que para crear llaves
primarias los campos deben ser not null, luego de escoger estos valores presionamos el botn grabar del
toolbar y se crear el Primary Key para esta tabla.
Luego de haber grabado el Primary Key la tabla tendr indicada que campos son Primary Key, como se
muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 64
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Utilizaremos las tablas clientes y pas, que tienen en comn el campo cdigo de pas, se los relacionar por
ese campo, como se muestra en la figura, primero debemos de seleccionar la tabla clientes donde se
referencia al campo de la tabla pas.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 65
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 66
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 67
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Traer la asignacin de los datos del objeto Transaction que se encuentran declarados en el profile database
en el tab preview tal como se muestra en la figura, para esto se tiene que seleccionar el profile de ventas y
presionar el botn Edit.
Luego nos vamos hacia el tab Preview y todos los datos los copiaremos y los llevaremos al evento Open del
objeto Application ventas.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 68
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El cdigo copiado desde el profile database lo ubicaremos antes de abrir el window w_mdi_ventas, asimismo
tenemos que agregar la sentencia CONNECT y validar la conexin para asegurarnos de que fue realizado
correctamente como se muestra en la figura.
Luego de haber ingresado los valores para realizar la conexin a la base de datos procedemos a verificar si
efectivamente se est conectando a la base de datos, para esto debemos de ver el mensaje de conformidad
de la conexin.
Ahora debemos de cambiar la ventana de MDI por la ventana de Login, osea w_login_ventas y debemos
modificar el evento Open para abrir el objeto w_login_ventas, y tambin tenemos que modificar el objeto
w_login_ventas, porque este objeto tiene cdigo en duro para el usuario y la clave, estos se tienen que
guardar en una tabla, para nuestro caso lo vamos a guardar en la tabla usuarios.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 69
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
//***Obtiene los valores ingresados por el usuario y los valida contra los datos en el script
STRING ls_usuario
STRING ls_clave
INTEGER li_count
ls_usuario = sle_1.text
ls_clave = sle_2.text
SELECT count(*)
INTO :li_count
FROM usuario
WHERE usuario = :ls_usuario AND
clave = :ls_clave USING SQLCA;
IF NOT IsNull(li_count) or li_count > 0 THEN
open(w_mdi_ventas)
close(parent)
ELSE
Messagebox("ERROR","USUARIO O CLAVE NO EXISTE, INTENTE DE NUEVO")
RETURN
END IF
Esto nos permitir validar los datos ingresados de forma dinmica y segura, pero recuerde que todava no
tiene ingresados valores en la tabla, as es que procederemos a ingresar dos registros para realizar las
pruebas respectivas, para esto accederemos al ambiente del database, presionando el icono database del
toolbar, y nos ubicaremos en el profile de ventas y extenderemos el flder de tablas y buscaremos la tabla
usuario y presionaremos el botn derecho y escogeremos la opcin edit data / grid, es ah donde
ingresamos los valores como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 70
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego presionamos el botn derecho para escoger la opcin Insert Row, para poder ingresar el dato
Luego de ingresado los datos presionamos el botn Save Changes como se muestra en la figura para
guardar los datos ingresados.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 71
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora que ya se tienen valores en la tabla usuario, procedemos a realizar la validacin desde la aplicacin en
tiempo de ejecucin.
Con esto se ha logrado poderse conectar a la base de datos desde la aplicacin en tiempo de ejecucin,
ahora vamos a interactuar con el ingreso de datos a las tablas en la siguiente seccin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 72
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Heredar un mantenimiento
Una vez heredado el objeto w_mantenimiento procedemos a grabarlo, este objeto servir para guardar los
datos de la tabla usuario, as es que lo denominaremos w_mto_usuario y ser guardado en ventas_win.pbl,
como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 73
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 74
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y luego seleccionamos todos los campos, uno por uno o con la opcion Select All del men popup.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 75
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y por ltimo presionamos el icono Return, para irnos al painter del DataWindow.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 76
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Por ahora dejamos los valores por defecto de las propiedades del objeto DataWindow.
Y por ltimo nos muestra una lista de todos los valores seleccionados y presionamos Finish para continuar
con el diseo.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 77
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El objeto DataWindow ser mostrado como en la figura de abajo, ahora procedemos a darle una mejor
presentacin.
Podemos escoger todos los campos y ponemos las Propiedades 3D para que tenga una mejor presentacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 78
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 79
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y por ltimo guardamos el objeto DataWindow con el nombre de d_mto_usuario, para saber que es un
ingreso de datos, esto ser guardado en la librera ventas_dw.pbl.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 80
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El mantenimiento debe quedar tal y como se muestra en la figura, a fin de que tenga una adecuada
presentacin para el usuario final.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 81
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber realizado todas las opciones para dejar listo el mantenimiento procedemos a colocarlo en el
objeto menu m_main, es ah donde pondremos el mantenimiento para invocarlo, lo asignaremos en el punto
mantenimiento con el nombre de Usuario, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 82
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora ingresaremos cdigo en el item de usuario para poder abrir la ventana, pero debemos asegurarnos de
estar en el item, suele suceder que a veces por omisin se ubica el cdigo en otro lugar y no se obtiene el
resultado deseado, el cdigo es el siguiente :
OpenSheet(w_mto_usuario, w_mdi_ventas,10,original!)
Donde :
Ahora procedemos a ejecutar la aplicacin y probar el mantenimiento creado ingresando un valor en esta
opcin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 83
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber activado el mantenimiento, procedemos a ingresarle valores en los campos principales.
Felicitaciones!! Con esto haz logrado ingresar un valor a la base de datos desde la aplicacin, a continuacin
mostraremos las dems opciones para mejorar el manejo de los datos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 84
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Primero se debe de crear el objeto DataWindow que va a mostrar el listado de datos como se muestra en las
siguientes figuras, lo primero es presionar el icono New del Toolbar y escoger el tipo de DataWindow, en este
caso es Grid.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 85
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
La tabla es usuario
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 86
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Las Propiedades del objeto DataWindow se dejan tal y como estn y en la ltima ventana presionamos Finish
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 87
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
En la Propiedad Tab Order, debemos de poner cero a todos los campos para que no sean editables.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 88
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos a guardar el objeto DataWindow con el nombre de d_grid_usuario para indicarle que son
datos mostrados en formato de grid, asimismo por ser objetos de la aplicacin de ventas, lo guardamos en la
librera de ventas_dw.pbl. como se muestra en la figura.
Luego de haber creado el objeto DataWindow d_grid_usuario procedemos a realizar las codificaciones
necesarias en el objeto w_mto_usuario para poder invocar estos datos al momento de presionar la opcin de
bsqueda de datos.
//*** Con este cdigo asignamos el valor del nombre del objeto DataWindow que ser mostrado
//***cuando se active la opcin de bsqueda de datos.
is_DataWindow = d_grid_usuario
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 89
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una vez seleccionado la propiedad Modify DataWindow escogemos el Icono Data Source del objeto
DataWindow.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 90
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 91
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 92
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora probaremos el argumento asignado, presionando el icono Retrieve desde la barra de men.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 93
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Guardamos los cambios y ahora procedemos a realizar las pruebas con la aplicacin en Ejecucin
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 94
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 95
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora a la opcin preliminar la vamos a activar para poder reutilizarla en el objeto w_manteniendo, el cdigo
para este objeto fue previamente colocado, y esto es invocado en el evento ue_preliminar del objeto
w_mantenimiento, a continuacin se indican los pasos necesarios para trabajar con este objeto
Primero se debe de crear el objeto DataWindow, para este caso de presentacin preliminar de datos a
imprimirse vamos a utilizar el tipo de DataWindow tabular, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 96
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 97
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y una vez escogidos todos los valores procedemos al diseo del Objeto DataWindow y le pones la propiedad
Tab Order a 0 a todos los campos, para que no puedan ser editables.
Le agregamos una imagen para que pueda resaltar el reporte a disear, esto lo hacemos escogiendo desde el
Toolbar el objeto Picture as tambin le podemos agregar un texto al Reporte, como se muestra a
continuacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 98
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Siempre es recomendable poner la fecha en la que se realiza la impresin y esto lo podemos hacer con la
funcin today() que es agregado al campo computado.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 99
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 100
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber creado el objeto d_rpt_usuario para la visualizacin preliminar del objeto, procedemos a
asignar el valor del nombre a la variable de instancia is_dw_print para que pueda asignar en tiempo de
ejecucin el valor como se muestra a continuacin :
is_DataWindow = "d_grid_usuario"
is_dw_print = 'd_rpt_usuario'
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 101
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Area
Ciudad
Pais
Empleado
Cliente
Documento_identidad
Productos
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 102
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 103
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 104
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 105
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos al al diseo del DataWindow en el painter del DataWindow, los siguientes ya fueron
explicados anteriormente, as es que el usuario los escoger por defecto.
Ahora necesitamos disear el objeto DataWindow cabecera de una manera que tenga la apariencia requerida
para ser manejada, para esto tenemos que agregar nuevos elementos a este objeto, como son los dropdown
DataWindow, tenemos que crearlos tanto sean necesarios en este objeto, estos objeto dropdown
DataWindow pueden ser utilizados luego por cualquier otro objeto, la finalidad de estos son mostrar la
descripcin de los cdigos de las tablas a las cuales se hacen referencia como se indican en las figuras.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 106
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 107
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y escogemos la tabla clientes, y luego escogeremos el campo cod_cliente y crearemos un campo computado
para concatenar los nombres del cliente.
Y nos iremos al painter del DataWindow para realizar el diseo del DropDown DataWindow.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 108
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos a disear el drop down DataWindow para que tenga una apariencia adecuada y pueda ser
utilizada por los dems objetos
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 109
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y lo grabamos con el nombre de d_dddw_clientes, para identificarlo que es un drop down DataWindow.
Ahora que se tiene el drop down DataWindow para clientes procedemos a asignarlo en el objeto de cabecera
d_cabecera_cotizacin en el campo cliente como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 110
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El diseo final del objeto DataWindow d_cabecera_cotizacin debe quedar como se muestra en la figura, con
todos los drop down DataWindow necesarios para los campos que necesitan mostrar la descripcin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 111
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos a crear el detalle para la cotizacin de la tabla detalle_cotizacin, y para esto
escogeremos el tipo Grid, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 112
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y procedemos a escoger los campos para el DataWindow, tanto de la tabla detalle_cotizacin como la
descripcin de la tabla articulo, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 113
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y luego procedemos a tomar los valores por defecto del Wizard del DataWindow, hasta ir al Painter del
DataWindow para el diseo.
Una vez obtenido los datos para el detalle de la cotizacin procedemos al diseo del objeto DataWindow para
que tenga una presentacin adecuada como se muestra en la figura, agregndole campos computados para
los clculos de los totales, Etc.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 114
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El objeto DataWindow d_detalle_cotizacin debe quedar como se muestra en la figura, con las caractersticas
necesarias para que se puedan ingresar datos en los campos, cabe resaltar que la propiedad tab order de los
campos deben de tener numeracin mayor a 0, excepto los que no se van a ser editados, como la descripcin
del producto o el monto subtotal.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 115
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Una vez creado los objetos DataWindow, procedemos a trabajar con el objeto w_cotizacin_ventas, para
asignar esos objetos creados y darles un diseo adecuado como se muestra en las figuras.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 116
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
El objeto DataWindow debe de quedar como se muestra a continuacin, pero se tiene que dar las
dimensiones necesarias al objeto window y a los controles DataWindows, esta modificacin solo afectara al
objeto w_cotizacin_ventas y no la clase principal de donde se ha heredado.
El objeto window w_cotizacion_ventas debe de quedar como se muestra en la figura con las modificaciones
necesarias.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 117
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Debemos agregar el cdigo necesario para que las opciones del objeto w_cotizacin_ventas estn completas,
para ello debemos de hacer lo siguiente
ls_mask = '0000000000'
SELECT max(codigo)
INTO :ls_codigo
FROM cabecera_cotizacion USING SQLCA;
ll_codigo = long(ls_codigo)
IF ll_codigo < 1 or IsNull(ll_codigo) THEN
ll_codigo = 1
ELSE
ll_codigo = ll_codigo + 1
END IF
ls_codigo = Right(ls_mask + string(ll_codigo), 10)
//***INSERTA CODIGO A LA CABECERA DE PEDIDO
dw_1.setitem(1,'codigo',ls_codigo)
//***INSERTA CODIGO AL DETALLE DE PEDIDO
ll_total = dw_2.Rowcount()
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 118
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
ls_codigo = message.Stringparm
SELECT descripcion, imp_precio
INTO :ls_descripcion, :lde_precio
FROM productos
WHERE codigo = :ls_codigo USING SQLCA;
dw_2.setitem(dw_2.GetRow(),"cod_producto",ls_codigo)
dw_2.setitem(dw_2.GetRow(),"productos_descripcion",ls_descripcion)
dw_2.setitem(dw_2.GetRow(),"imp_precio",lde_precio)
Ahora se proceder a poner el objeto w_cotizacin_ventas en el menu m_main para poder invocarlo y
manipularlo
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 119
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego procedemos a realizar las pruebas respectivas para verificar que efectivamente el objeto funciona bien
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 120
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 121
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora accedemos a la opcin de bsqueda de datos para los productos que se desean insertar, esto lo
hacemos presionando el botn derecho en el DataWindow detalle y luego escogemos la opcin Buscar.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 122
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y finalmente agregamos los datos necesarios, como cantidad y grabamos estos datos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 123
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y seleccionamos los campos requeridos, como el codigo, fch_cotizacin, flg_estado de la tabla cotizacin y
dsc_nombres, dsc_paterno y dsc_materno de la tabla clientes.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 124
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y luego escogemos los dems valores por defecto de las opciones del Wizard del DataWindow, hasta llegar al
painter del DataWindow y realizaremos las opciones necesarias.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 125
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y procedemos a realizar el Diseando el DataWindow, de tal manera que tenga una adecuada presentacin.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 126
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Podemos agregar un control de filas para saber con cuantos registros cuenta nuestro objeto DataWindow.
Y luego en el campo expresin del Modify agregamos la funcin getrow(), para que muestre las filas del objeto
DataWindow.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 127
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Luego de haber creado el objeto para la bsqueda de datos, tenemos que asignar el nombre de este objeto a
la variable de instancia para que pueda mostrar cuando activemos la opcin de bsqueda, eso lo realizaremos
en el evento Activate del objeto w_cotizacin_ventas como se muestra a continuacin :
//***permite asignar el nombre del objeto DataWindow que queremos visualizar en la bsqueda
is_DataWindow = 'd_grid_cotizacion'
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 128
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Debemos de escoger el tipo Tabular del tab DataWindow, y el origen de datos ser SQL Select y luego
seleccionaremos la tablas cabecera_cotizacin, ciudad, pais, y clientes y escogemos los campos necesarios
como se muestra en la figura y luego escogeremos las dems opciones del wizard hasta llegar al painter del
DataWindow.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 129
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Este objeto DataWindow cuando va a ser invocado va a mostrar los datos de una cotizacin, por tal motivo
debe de recibir un argumento el cual vamos a crear a continuacin, segn los pasos que se indican :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 130
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 131
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y volvemos al painter del DataWindow y debemos de darle un diseo adecuado con algunas opciones, como
picture, campos computed para las fechas, etc.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 132
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
As tambin se puede agregar un campo computed de la fecha como se hizo anteriormente, y luego
procedemos a grabar con el nombre de d_rpt_cabecera_cotizacin, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 133
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos a construir el objeto DataWindow para el detalle de la cotizacin para la opcin preliminar,
se tienen que seguir los siguientes pasos :
Crear el objeto Detalle del Reporte, para esto escogemos el tipo Grid y el origen de Datos SQL Select y
seleccionaremos las tablas detalle_cotizacin y productos como se muestra en la figura.
Y escogemos los campos necesarios y luego presionaremos el icono Return para irnos al diseo del
DataWindow.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 134
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Las dems opciones del wizard sern aceptadas por defecto, hasta llegar al painter del DataWindow.
A este objeto DataWindow tambin debemos de agregarle un Retrieval Argument, enlazado con el cdigo de
cotizacin, y debe quedar como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 135
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
En esta parte vamos a darle un diseo adecuado al detalle del objeto DataWindow
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 136
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para mostrar una suma de unos campos podemos agregarle la opcin summing a un campo computed, como
se muestra en la figura.
Ahora que ya se cuenta con los objetos DataWindow tanto para la cabecera como para el detalle, debemos de
unirlos, esto lo vamos a realizar mediante la construccin de un DataWindow tipo Composite el cual va a tener
a los DataWindows previamente creados, cabe mencionar que se puede construir los DataWindows
composite desde los objetos DataWindows, como se detalla continuacin :
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 137
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 138
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y luego aceptaremos los valores por defecto del Wizard hasta llegar al painter del DataWindow y darle los
tamaos necesarios a los objetos DataWindow del Composite.
Este objeto DataWindow va a recibir un argumento el cual va a permitir mostrar los datos de ese argumento
que ser enviado como parmetro, como este DataWindow es composite est compuesto por dos
DataWindow, e internamente PowerBuilder asignar los valores a estos objetos, y para eso tenemos que
hacer lo siguiente, declarar la variable en la opcin Retrieval Arguments del Tab General de las propiedades
del DataWindow como se muestra en la figura, el argumento a crear ser as_codigo.
Ahora procedemos a agregarle a los objeto DataWindows, para esto debemos de escoger cada objeto
DataWindow y le asignaremos ese argumento creado previamente.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 139
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 140
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 141
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Para probar los objetos escogeremos la opcin Preview para verificar los argumentos.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 142
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 143
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y por ltimo procedemos a grabar lo realizado con este objeto, el nombre ser d_rpt_cotizacion
Luego de haber terminado de crear el objeto DataWindow para el reporte de la cotizacin procedemos a
agregar el cdigo necesario para visualizarlo en tiempo de ejecucin como se muestra en la figura
Ahora realizaremos la prueba de la opcin asignada y procedemos a buscar una cotizacin y activaremos la
opcin preliminar para la Cotizacin.
De la misma forma como se hizo la Cotizacin, ahora Ud. Deber de realizar una orden de compra el cual
tendr las mismas caractersticas que la cotizacin, con la excepcin de que sern diferentes tablas.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 144
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ahora procedemos a realizar un Full Build a todo el target ventas, como se muestra en la figura.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 145
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 146
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Y luego aceptaremos los valores por defecto del Wizard del Application Project.
As como nos indicar las libreras que participaran de la generacin de este ejecutable.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 147
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 148
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Las dems opciones sern aceptadas por defecto como la opcin Specify Build.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 149
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 150
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Al final nos crear el objeto project con todas las opciones configuradas en el Wizard tal como nos muestra en
la figura de abajo.
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 151
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 152
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 153
Este producto solo puede ser usado para uso personal y no para otros fines.
PowerBuilder Developer v10.0 PBDV10- Laboratorio
Ventas.exe, Ventas_win.pbd
___________________________________________________________________________________________________
Derechos Reservados de TechEra e-Learning - PowerBuilder Developer v10.0 PBDV10 Lab- 154
Este producto solo puede ser usado para uso personal y no para otros fines.