Datawindow "Спецификация счета"

Создайте окно данных типа Grid, используя все поля таблицы account_item, и сохраните его под именем dw_account_item.

Меню окна m_account_item.

Визуальное представление

В окне Design художника DataWindow выделите поле данных id_account_item и нажмите клавишу Delete. Вы удалили поле из визуального представления данных, но не из самого объекта DataWindow (что видно в окне Data художника DataWindow). Поле является ключом таблицы account_item и необходимо для сохранения данных, но не несет смысловой нагрузки, поэтому показывать его на экране не имеет смысла. Заметим, что после удаления поля из визуальной части окна данных, поле остается полностью доступным для работы с ним из скриптов.

Установите для всех полей Tab Order равным нулю.

SQL-запрос окна данных

Удалите также поля emp_id, id_hotel, id_account. Если вам позже придется вернуть эти поля в окно данных или вы удалите поле по ошибке, для добавления поля данных используйте пункт меню Insert - Control - Column или панель инструментов.

Откройте окно DataSource художника DataWindow и добавьте в запрос таблицы clients и hotels.

Из таблицы clients выберете поля emp_fname, emp_lname.

Из таблицы hotels выберете поля s_name_hotel, s_cat_hotel.

Поменяйте поля в запросе, используя Selection List в верхней части окна Table Lyaout. Порядок полей должен быть следующий:

  • Id_account_item
  • Id_account
  • Emp_id
  • Id_hotel
  • Emp_lname
  • Emp_fname
  • Date_beg
  • How_days
  • Cost_per_day
  • S_name_hotel
  • S_cat_hotel

Установите сортировку окна по полям Emp_lname, Emp_fname, Date_beg.

Добавьте параметр окна данных id_account типа number и впишите в окно where:

Нажмите кнопку Verify. Если выражение неверно, будет выдано соответствующее сообщение. Если этого не произошло, нажмите кнопку ОК. Назначьте полю имя sum_cost. Добавьте заголовок к полю, выбрав пункт меню Insert - Control - Text.

Добавьте суммарные значения для полей sum_cost и how_days. Для этого выделите левой кнопкой мыши оба поля, удерживая клавишу Ctrl, и выберете пункт меню меню Insert - Control - Sum. Суммарные значения были установлены в области Summary. Данная область находится после всех значимых строк окна данных. Область Footer находится в конце каждой страницы окна данных.

Параметры редактирования

В запросе участвуют три таблицы, и только одна из них обновляется. Параметры редактирования необходимо настроить в окне Specify Update Properties (File - Update Properties):

  1. Установите признак Allow Updates.
  2. Установите значение Key Columns в блоке Where Clause for Update/Delete.
  3. Отметьте в окне Updateable Columns только поля из таблицы account_item.
  4. Table to Update должна быть account_item.
  5. Key modification установите в Use Update.
  6. Нажмите кнопку Primary Key. Должно выделиться поле id_account_item.
  7. Нажмите кнопку ОК.

Закройте художник DataWindow.