Создание закладок на форме

Создайте на форме объект «Canvas» с двумя закладками: «Шапка документа» - свойство «Name»: «DOVER» и «Список товаров» - свойство «Name»: «DOVER_SP» и поместите уже созданные поля блока «DOVER» на закладку «Шапка документа».

Создание блока данных для вложенной таблицы

Для вложенной таблицы блок данных создается аналогично блоку данных основной таблицы, отличными будут лишь имена процедур:

1. PAK_DOVER4.N_QUERY_DOVER

2. PAK_DOVER4.N_INSERT_DOVER

3. PAK_DOVER4.N_UPDATE_DOVER

4. PAK_DOVER4.N_DELETE_DOVER

5. PAK_DOVER4.N_LOCK_DOVER

Для всех этих процедур необходимо установить значение параметра «NOM» в «:DOVER.kod» (точно так же, как при создании предыдущего блока был установлен параметр «D_KOD» для процедуры запроса).

Следующий шаг мастера, где предлагается создать связь между блоками данных, оставьте без изменения, так как в нашем случае связанность блоков будет поддерживаться с помощью параметров. Укажите имя блока – «DOVER_SP».

В «Layout Wizard» поместите блок на закладку «Список товаров» и укажите тип его отображения как «Tabular», при этом, установив количество отображаемых записей в 10, и установить флажок «Display Scrollbar». Блок данных «DOVER_SP» будет использоваться для работы со списком наименований товаров документа «Доверенность».

Создание автоматической нумерации кодовых полей в блоках данных

Поле первичного ключа должно иметь уникальное значение в пределах одной таблицы, поэтому лучше, если его значения будут устанавливаться автоматически, а не вводиться пользователем вручную.

Для того, чтобы при создании новой записи в каждом из блоков данных поле первичного ключа (в нашем случае поле «KOD») принимало автоматически следующее по порядку значение необходимо в каждом блоке объявить триггер «PRE-INSERT». Сделать это можно следующим образом:

1. В окне «Object Navigator» выбрать блок данных «DOVER» и в нем выбрать узел «Triggers»;

2. Затем вызвать контекстное меню и выбрать пункт «Smart Triggers->Others->PRE-INSERT» (рис. 159);

3. В появившемся окне ввести следующий код триггера:

 

SELECT seq_d_dover4.nextval INTO:DOVER.kod FROM dual;

 

Аналогичный триггер нужно создать и в блоке «DOVER_SP» со следующим кодом:

 

SELECT seq_d_dover4_n1.nextval INTO:DOVER_SP.kod FROM dual;

 

 

Рисунок 159 - Создание триггера PRE-INSERT

Скрытие кодовых полей

Скройте поле «KOD» в блоках «DOVER» и «DOVER_SP».

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: