Создание блока данных DOVER4_L

В окне «Object Navigator» необходимо установить курсор на узел «Data Blocks» и нажать кнопку «Create» на правой панели инструментов.

В открывшемся диалоге нужно выбрать «Use the Data Block Wizard» для использования мастера создания блоков данных.

В открывшемся мастере необходимо нажать кнопку «Далее» и выбрать тип блока данных «Table or View» (рис. 150).

 

 

Рисунок 150 - Выбор типа блока данных

 

На следующем шаге мастера, нужно указать, по какой таблице будет строиться блок данных. Выбор таблицы осуществляется нажатием кнопки «Browse», после чего следует ввести данные соединения с БД.

В окне «Tables» осуществляется выбор таблиц. Чтобы таблицы текущей схемы были видны, следует выбрать пункты «Current User» и «Tables» (рис. 151). В предложенном списке таблиц выбираем «D_DOVER4».

 

Рисунок 151 - Выбор таблицы БД для блока данных

Включите в нее только следующие поля (рис. 152):

– KOD;

– NDOC;

– DATAV;

– DATA_DEIS;

– REF_ORG2.NAIMEN;

– REF_FIZ_LIC2.FAM;

– REF_FIZ_LIC2.IM;

– REF_FIZ_LIC2.OTCH/

 

 

Рисунок 152 - Выбор полей таблицы базы данных

 

На следующем шаге нажмите «Далее», затем в поле «Data Block Name» введите имя блока данных: «DOVER4_L», после чего завершаем работу мастера нажатием на кнопку «Готово».

Для планирования расположения полей на форме только что созданного блока данных сразу после мастера «Data Block Wizard» запускается мастер «Layout Wizard». На двух первых его шагах следует просто нажать кнопку «Далее». На третьем шаге, будет предложено выбрать: какие поля следует отображать на форме. Переместите в список «Displayed Items» следующие поля:

– KOD;

– NDOC;

– DATAV;

– DATA_DEIS;

– REF_ORG2.NAIMEN.

Следующий шаг, где предлагается установить размеры полей, оставим без изменения.

На следующем шаге выберем тип отображения формы как «Tabular» и нажмем кнопку «Далее». На завершающем шаге (рис. 153), установим значение поля «Records Displayed» в 10 и отметим флажок «Display Scrollbar». Завершим работу мастера нажатием кнопки «Готово».

 

Рисунок 153 - Ввод дополнительных свойств блока данных

 

В открывшеймся объекте Canvas на палитре инструментов выберите элемент текстовое поле и добавьте его на объект Canvas. Для добавленного поля установите следующие свойства: «Name» - FIO, «Width» - 14, «Database Item» - No, «Promt» - «Ф.И.О.», «Maximum Length» - 150. Установите подписи колонок отображаемых полей, для этого вызовите окно свойств поля и введите подпись в свойство «Promt»: «Ndoc» - «Номер», «Datav» - «Дата выписки», «Data_deis» - «Действительно до», «REF_ORG2_NAIMEN» - «Организация». Теперь скроем поле «KOD» (установим свойство «Canvas» в «Null»), так как оно является кодовым и не подлежит ручному изменению.

Измените размеры формы как на рисунке 154.

 

 

Рисунок 154 - Вид формы журнала документов «Доверенность»

 

Для блока «DOVER4_L» установите в «Property Palette» следующие свойства:

1. Name: DOVER4_L;

2. Insert Allowed: NO;

3. Update Allowed: NO.

Создадим фильтр записей журнала по полю «Дата выписки» - «DATAV». Для этого создайте служебный блок «TAIL» (по аналогии с предыдущими работами), в котором будет находиться текстовые элементы и кнопки не связанные с базой данных. Проделаем следующие операции:

1. Откройте объект «Canvas» списка доверенностей, в списке «Block» выберите созданный блок «TAIL».

2. Выберите на палитре инструментов элемент текстовое поле и добавьте его на форму в верхней части окна.

3. Установите следующие свойства текстовому элементу, вызвав окно свойств двойным щелчком по полю: «Name» - «BEGIND», «Justification» - «Center», «Data Type» - «Date», «Format Mask» - «DD.MM.RRRR», «Database Item» - «No».

4. Выберите на палитре инструментов элемент текстовое поле и добавьте его на форму в верхней части окна.

5. Установите следующие свойства текстовому элементу, вызвав окно свойств двойным щелчком по полю: «Name» - «ENDD», «Justification» - «Center», «Data Type» - «Date», «Format Mask» - «DD.MM.RRRR», «Database Item» - «No».

6. Выберите на палитре инструментов элемент кнопку и добавьте его на форму в верхней части окна.

7. Установите следующие свойства кнопки: «Name» - «FILTER_BUTTON», «Label» - «Фильтровать».

8. Создайте триггер «WHEN-BUTTON-PRESSED» для кнопки «Фильтровать» и вставьте следующий код в PL/SQL-редактор:

 

IF:TAIL.BEGIND IS NOT NULL or:TAIL.ENDD IS NOT NULL THEN     SET_BLOCK_PROPERTY('DOVER4_L', DEFAULT_WHERE, 'datav between '''||:TAIL.BEGIND||''' AND '''||:TAIL.ENDD||'''');     Go_Block('DOVER4_L');     Execute_Query; ELSE     Message('Поля фильтра не заполнены.'); END IF;

 

Создайте основные триггеры формы со следующим кодом:

1. Триггер «WHEN-NEW-FORM-INSTANCE»:

:system.message_level:=5;   :TAIL.begind:=Trunc(sysdate,'MM'); :TAIL.endd:=last_day(sysdate); SET_BLOCK_PROPERTY('DOVER4_L', DEFAULT_WHERE, 'datav between '''||:TAIL.BEGIND||''' AND '''||:TAIL.ENDD||'''');   Go_Block('DOVER4_L'); Execute_Query;

 

2. Триггер «WHEN-WINDOW-CLOSED»:

 

Exit_Form(NO_VALIDATE);

 

Теперь создадим триггер «POST-QUERY» в блоке «DOVER4_L», данные триггер будет формировать строку фамилия, имя и отчество работника. Для его создания разверните узел блока «DOVER4_L» и перейдите к разделу «Triggers», вызовите контекстное меню и выберите «Smart triggers», а затем «Other». В появившемся окне найдите триггер «POST-QUERY» и нажмите «OK». В результате проделанных операций откроется окно PL/SQL редактора, в который добавим следующий код:

 

:DOVER4_L.FIO:=:DOVER4_L.REF_FIZ_LIC2_FAM +:DOVER4_L.REF_FIZ_LIC2_IM +:DOVER4_L.REF_FIZ_LIC2_OTCH;

 

Создайте кнопку закрытия формы в блоке «TAIL» с подписью «Закрыть» и именем «CLOSE_BUTTON» в нижнем правом углу формы. По аналоги с предыдущими работами создайте триггер «WHEN-BUTTON-PRESSED» для кнопки «Закрыть», для которого добавьте следующий PL/SQL код:

 

Exit_Form(NO_VALIDATE);

 

Установим заголовок окна формы. В «Object Navigator » нужно найти узел «Windows », развернуть его и вызвать «Property Palette » для единственного окна формы (как правило «WINDOW1 ») и установить свойство «Title» - «Список доверенностей».

В результате получим форму как на рисунке 155.

 

Рисунок 155 - Окно журнала списка доверенностей


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



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