Habilitar/Deshabilitar un(os) registros de un dtbk
Tengo una forma donde presento un datablock para la cabecera y un datablock enlazado para el detalle, lo que deseo programar es cuando uno de los campos (flag) de mi detalle esté lleno, me deshabilite todo el registro o la línea, es decir el :system.cursor_record ... ¿Qué propiedades debo manejar? ¿Tiene algún ejemplo?
1 Respuesta
Respuesta de lriverac
0
0
lriverac, DBA Oracle Desarrollo aplicaciones en Developer y Reports
Lo puedes programar en el trigger de bloque when-new-record-instance, puedes usar algo parecido a esto if :pro_encabezado_reporte_m.estado = 'PND' then set_item_property('control.b_aplicar',enabled,property_true); set_block_property('pro_encabezado_reporte_m',update_allowed,property_true); set_block_property('pro_encabezado_reporte_m',delete_allowed,property_true); set_block_property('pro_detalle_reporte_m',insert_allowed,property_true); set_block_property('pro_detalle_reporte_m',update_allowed,property_true); set_block_property('pro_detalle_reporte_m',delete_allowed,property_true); set_block_property('pro_reporte_lotes_m',insert_allowed,property_true); set_block_property('pro_reporte_lotes_m',update_allowed,property_true); set_block_property('pro_reporte_lotes_m',delete_allowed,property_true); set_block_property('pro_detalle_reporte_insumo_m',insert_allowed,property_true); set_block_property('pro_detalle_reporte_insumo_m',update_allowed,property_true); set_block_property('pro_detalle_reporte_insumo_m',delete_allowed,property_true); else set_item_property('control.b_aplicar',enabled,property_false); set_block_property('pro_encabezado_reporte_m',update_allowed,property_false); set_block_property('pro_encabezado_reporte_m',delete_allowed,property_false); set_block_property('pro_detalle_reporte_m',insert_allowed,property_false); set_block_property('pro_detalle_reporte_m',update_allowed,property_false); set_block_property('pro_detalle_reporte_m',delete_allowed,property_false); set_block_property('pro_reporte_lotes_m',insert_allowed,property_false); set_block_property('pro_reporte_lotes_m',update_allowed,property_false); set_block_property('pro_reporte_lotes_m',delete_allowed,property_false); set_block_property('pro_detalle_reporte_insumo_m',insert_allowed,property_false); set_block_property('pro_detalle_reporte_insumo_m',update_allowed,property_false); set_block_property('pro_detalle_reporte_insumo_m',delete_allowed,property_false); end if; Esto se uso en un encabezado pero igual lo puedes programar para un detalle.
En realidad lo que yo buscaba era el bloques de sólo 1 o varias líneas del detalle x columna, no toda una columna entera. Me funcionó con Set_Item_Instance_Property(...)