#oracle #textbox #block #oracleforms
#Oracle #текстовое поле #блок #oracleforms
Вопрос:
У меня проблема с включением текста в блочной форме oracle. как включить текстовое поле qty_actual в блоке, когда штрих-код = номер детали, а затем включить qty_actual, помогите мне, пожалуйста.
код :
set_block_property('part_lokases',default_where,'part_part_no =||':barcode.txtb');
go_block('part_lokases');
execute_query;
set_block_property('part_lokases',default_where,'');
go_item('part_lokases.qty_actual');
set_item_property('part_lokases.qty_actual',ENABLED,PROPERTY_TRUE);
Комментарии:
1. Прежде всего, существует логическая проблема с порядком последних двух строк вашего кода. Их следует заменить, сначала включить элемент, а затем навести на него курсор. ( Действительно,
set_item_property
похоже, заменено наset_item_instance_property
для вашего случая, как уже сказал @littlefoot ).
Ответ №1:
Поскольку это табличная форма, вам придется использовать SET_ITEM_INSTANCE_PROPERTY
встроенную процедуру. Что-то вроде этого:
if :tabular_block.par_number = :barcode.part_number then
set_item_instance_property('tabular_block.qty_actual', current_record, insert_allowed, property_true);
set_item_instance_property('tabular_block.qty_actual', current_record, update_allowed, property_true);
else
set_item_instance_property('tabular_block.qty_actual', current_record, insert_allowed, property_false);
set_item_instance_property('tabular_block.qty_actual', current_record, update_allowed, property_false);
end if;
Комментарии:
1. спасибо @Littlefoot, но мне нужно включить текстовое поле qty_actual (в определенном поле, например, на картинке) в блоке part_lokases, если barcode.txtb = part_lokases.part_part_no
2. Ну, это то, что я сказал, не так ли? Хотя на момент написания ответа я не знал имен блоков, но — вы должны быть в состоянии исправить это самостоятельно. Суть в следующем: используйте SET_ITEM_INSTANCE_PROPERTY , а не SET_ITEM_PROPERTY.