Power Builder - del DW a la Estructura

   
Vista:

del DW a la Estructura

Publicado por Javier (206 intervenciones) el 06/05/2015 00:13:35
Soy un poco novato, desearía su gran ayuda ... Tengo un dw_1 del que quiero pasar algunos datos a la estructura para poder insertarlo en el mismo datawindow cuantas veces desee

Esto es por que derrepente quiero ingresar 100 baterías para una determinada área y para no estar ingresando los mismos datos, entonces los paso a la estructura y ya se pegaran los datos que deseo y solo lleno algunos cuantos como puede ser el numero de serie etc.
Este es mi código pero no logro pegar nada en el datawindow,.


est_f1 bme

bme.unidad=String(dw_mantenimientobienes.GetRow(),"area")
bme.subunidad=String(dw_mantenimientobienes.GetRow(),"sub_area")
bme.codsub=String(dw_mantenimientobienes.GetRow(),"cod_area")
bme.descricuenta=String(dw_mantenimientobienes.GetRow(),"descripc_cuenta")
bme.clasecuenta=String(dw_mantenimientobienes.GetRow(),"clase_cuenta")
bme.codcuenta=String(dw_mantenimientobienes.GetRow(),"cod_cuenta")
bme.codbien=String(dw_mantenimientobienes.GetRow(),"cod_bien")
bme.itemdirte=Long(String(dw_mantenimientobienes.GetRow(),"item_dirterp"))
bme.descripcionbien=String(dw_mantenimientobienes.GetRow(),"descripcion_bien")
bme.marca=String(dw_mantenimientobienes.GetRow(),"marca")
bme.modelo=String(dw_mantenimientobienes.GetRow(),"modelo")
bme.serie=String(dw_mantenimientobienes.GetRow(),"serie")
bme.tipo=String(dw_mantenimientobienes.GetRow(),"tipo_material")
bme.color=String(dw_mantenimientobienes.GetRow(),"color")
bme.dimension=String(dw_mantenimientobienes.GetRow(),"dimenciones")
bme.estado=String(dw_mantenimientobienes.GetRow(),"estado_bien")
bme.formaadquisc=String(dw_mantenimientobienes.GetRow(),"forma_adquisicion")
//bme.fechaadquisic=date(dw_mantenimientobienes.GetRow(),"fecha_adquisicion") ///aqui error es un campo date
bme.valor=Dec(String(dw_mantenimientobienes.GetRow(),"valor_bien_otasac"))
bme.observacio=String(dw_mantenimientobienes.GetRow(),"observaciones")
bme.foto=String(dw_mantenimientobienes.GetRow(),"foto")
bme.ordencomp=String(dw_mantenimientobienes.GetRow(),"nro_orden_compra")
//bme.fechaordencomp=Date(dw_mantenimientobienes.GetRow(),"fecha_ord_compra") ///aqui error es un campo date
bme.nropecosa=String(dw_mantenimientobienes.GetRow(),"nro_pecosa")
//bme.fechapecosa=Date(dw_mantenimientobienes.GetRow(),"fecha_pecosa") ///aqui error es un campo date
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

del DW a la Estructura

Publicado por Jorge (41 intervenciones) el 06/05/2015 00:56:56
Hola, has puesto el código que pasa los datos del DW a la estructura, pero no has puesto el que pasas de la estructura a los otros registros del DW. Colócalo también para poder indicarte la causa del problema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

del DW a la Estructura

Publicado por Javier (206 intervenciones) el 06/05/2015 01:09:30
ok disculpa aquí esta:

dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"area",bme.unidad)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"sub_area",bme.subunidad)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"cod_area",bme.codsub)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"descripc_cuenta",bme.descricuenta)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"clase_cuenta",bme.clasecuenta)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"cod_cuenta",bme.codcuenta)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"cod_bien",bme.codbien)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"item_dirterp",bme.itemdirte)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"descripcion_bien",bme.descripcionbien)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"marca",bme.marca)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"modelo",bme.modelo)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"serie",bme.serie)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"tipo_material",bme.tipo)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"color",bme.color)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"dimenciones",bme.dimension)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"estado_bien",bme.estado)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"forma_adquisicion",bme.formaadquisc)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"fecha_adquisicion",bme.fechaadquisic)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"valor_bien_otasac",bme.valor)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"observaciones",bme.observacio)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"foto",bme.foto)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"nro_orden_compra",bme.ordencomp)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"fecha_ord_compra",bme.fechaordencomp)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"nro_pecosa",bme.nropecosa)
dw_mantenimientobienes.Setitem(dw_mantenimientobienes.GetRow(),"fecha_pecosa",bme.fechapecosa)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

del DW a la Estructura

Publicado por Jorge (41 intervenciones) el 06/05/2015 16:05:12
Hola, asi como está debería funcionar. Se ve un poco saturado con todos esos campos, empieza con una prueba de concepto trabajando con unos 5 campos nomas, una vez que funcione agregas los demás. Por último copia todo el script (solo usando 5 campos) para revisarlo por que con lo que has puesto debería de funcionar, quiza el error es en otra parte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

del DW a la Estructura

Publicado por Javier (206 intervenciones) el 06/05/2015 16:51:43
Gracias Jorge pero aun no lo encuentro estoy probando en pasarlos a los singlelineedit a ver que tal me va

w_manto_equiposmueblesen.sle_unidad.Text = dw_mantenimientobienes.Object.unidad[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_subunidad.Text = dw_mantenimientobienes.Object.sub_unidad[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_codsub.Text = dw_mantenimientobienes.Object.cod_subunidad[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_descricuenta.Text = dw_mantenimientobienes.Object.descripc_cuenta[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_clasecuenta.Text = dw_mantenimientobienes.Object.clase_cuenta[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_codcuenta.Text = dw_mantenimientobienes.Object.cod_cuenta[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_codbien.Text = dw_mantenimientobienes.Object.cod_bien[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_itemdirte.Text = string(dw_mantenimientobienes.Object.item_dirterp[dw_mantenimientobienes.GetRow()])
w_manto_equiposmueblesen.sle_descripcionbien.Text = dw_mantenimientobienes.Object.descripcion_bien[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_marca.Text = dw_mantenimientobienes.Object.marca[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_modelo.Text = dw_mantenimientobienes.Object.modelo[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_serie.Text = dw_mantenimientobienes.Object.serie[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_tipo.Text = dw_mantenimientobienes.Object.tipo_material[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_color.Text = dw_mantenimientobienes.Object.color[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_dimension.Text = dw_mantenimientobienes.Object.dimenciones[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_estado.Text = dw_mantenimientobienes.Object.estado_bien[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_formaadquisc.Text = dw_mantenimientobienes.Object.forma_adquisicion[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_formaadquisc.Text = dw_mantenimientobienes.Object.forma_adquisicion[dw_mantenimientobienes.GetRow()]
w_manto_equiposmueblesen.sle_valor.Text = String(dw_mantenimientobienes.Object.valor_bien_otasac[dw_mantenimientobienes.GetRow()])
w_manto_equiposmueblesen.sle_observacio.Text = String(dw_mantenimientobienes.Object.observaciones[dw_mantenimientobienes.GetRow()])
w_manto_equiposmueblesen.sle_foto.Text = String(dw_mantenimientobienes.Object.foto[dw_mantenimientobienes.GetRow()])
w_manto_equiposmueblesen.sle_ordencomp.Text = String(dw_mantenimientobienes.Object.nro_orden_compra[dw_mantenimientobienes.GetRow()])
w_manto_equiposmueblesen.sle_nropecosa.Text = String(dw_mantenimientobienes.Object.nro_pecosa[dw_mantenimientobienes.GetRow()])
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

del DW a la Estructura

Publicado por Jorge (41 intervenciones) el 06/05/2015 19:35:21
Hola, veo que obtienes los datos de la fila GetRow(), y los colocas otra vez en la fila Getrow() ... en qué momento cambias de fila?
Otra cosa, luego de colocar los valores en el dw aplica un AceptText().

Me comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

del DW a la Estructura

Publicado por Jeinner (638 intervenciones) el 07/05/2015 16:45:06
Otra manera que sería mucho más simple sería:
dw_1.RowsCopy(GetRow(), GetRow(), PRIMARY!, dw_1, dw_1.RowCount()+1, PRIMARY!)

Asi copiaría el registro GetRow(), hacia el final del DW.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

del DW a la Estructura

Publicado por Hugo QN (28 intervenciones) el 12/05/2015 20:32:58
Después de tomar los datos y cargar a la estructura has esto.

Integer li_registronuevo

li_registronuevo = dw_mantenimientobienes.Inbsert(0)

luego en donde insertas los datos debes cambiar el dw_mantenimientobienes.GetRow() por el li_registronuevo

entonces quedará así.

dw_mantenimientobienes.Setitem(li_registronuevo,"area",bme.unidad)
dw_mantenimientobienes.Setitem(li_registronuevo,"sub_area",bme.subunidad)
dw_mantenimientobienes.Setitem(li_registronuevo,"cod_area",bme.codsub)
dw_mantenimientobienes.Setitem(li_registronuevo,"descripc_cuenta",bme.descricuenta)
.....

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar