Самостоятельная работа

По аналогии с приведённым выше упражнением реализуйте информационную панель для справочника «Сотрудники».

1) С помощью celesta-sql в файле _deps.sql создайте таблицу staff (см. рис. 6).

Описание таблиц departments и staff

2) В <userdata>/datapanelstarage создайте файл панели staff.xml. В пакете grids гранулы deps создайте модуль staff.py для реализации функций gridData, gridMeta и gridToolbar.

Информационная панель должна содержать:

  • кнопки «Добавить», «Редактировать», «Удалить»;

  • таблицу для отображения данных.

В качестве названий столбцов используйте следующие:

  • ФИО;

  • Пол;

  • Дата рождения;

  • Адрес;

  • Телефон;

  • Зарплата;

  • departmentsid – не показывать.

3) Реализуйте в debug.py функцию добавления данных в таблицу staff. Для это этого используйте имеющиеся курсоры departmentsCursor и staffCursor. Не забудьте закомментировать функцию добавления данных в таблицу departments в модуле depsNavigator.py, т.к. при удалении данных будет возникать ошибка из-за внешнего ключа departmentsid.

4) Добавьте действие (action) для отображения справочника «Сотрудники» в навигатор.

Результат представлен на рисунке

Справочник «Сотрудники». Информационная панель

5) Добавьте в таблицу название подразделения, в котором работает сотрудник. Для загрузки данных используйте курсоры departmentsCursor и staffCursor.