Урок 2. Создание типа объекта#

Для выполнения заданий используйте ваш персональный модуль «Библиотека» (lbrXX), где XX — ваш порядковый номер. Модуль содержит свой собственный набор классов, бизнес-объектов, выборок, а также собственного приложение «Управление библиотекой XX». При этом все описанные ниже задания порядкового номера не содержат, и при их выполнении необходимо корректировать свои действия с учетом порядкового номера пользователя, под которым вы подключились к системе.

Задание. Создание нового типа объекта#

Создайте новый тип объекта Lbr_OutOrderLimitUse (Выдача книг с ограниченным доступом). Для этого:

  1. Откройте приложение «Настройка системы» и перейдите в перечень типов объектов (меню: Сущности > Типы объектов > Типы объектов).

  2. Введите в фильтр по системному имени класса Lbr_OutOrder.

  3. Скопируйте найденный тип объекта Lbr_OutOrder.

  4. В открывшейся карточке нового, скопированного типа объекта, измените код на Lbr_OutOrderLimitUse, наименование на «Выдача книг с ограниченным доступом» и краткое наименование на «Выдача книг ОО».

Настройка закладок#

Для нового типа объекта к уже выведенным добавьте вкладки:

  • прикрепленные файлы;

  • подписи;

  • проводки;

  • маршруты;

  • характеристики.
    Для этого:

    1. В созданном типе объекта выделите группу настроек «Закладки типа объекта»;

    2. В детализации справа, на панели фильтрации, отметьте признак «Отображать неактивные»;

    3. Выделите все неактивные для данного типа объекта вкладки и нажмите на кнопку «Добавить несколько».

    4. Задайте порядок, в котором должны выводиться вкладки, указав для них значение в атрибуте «Порядковый номер».

    5. Перейдите в приложение «Библиотека», в интерфейс «Выдача книг». Откройте документ и измените его тип на только что созданный. В детализации документа должны отобразиться добавленные ранее закладки.

Примечание

Если отмечен признак «Отображать неактивные», то в списке выводятся все вкладки, указанные в качестве доступных для данного класса (подкласса), независимо от того, выводятся ли они для выбранного типа объекта.

Настройка обязательного атрибута#

Сделайте атрибут sNumDoc обязательным для заполнения. При этом проверка должна срабатывать при переводе состояния из «Оформляется» в «Выполнен». Для этого:

  1. В типе объекта перейдите на закладку «Управление атрибутами»;

  2. В списке атрибутов найдите sNumDoc и отметьте «Обязателен для ввода»;

  3. В список состояний, при переводе из которых будет выполняться проверка на обязательность атрибута, укажите «Оформляется».

  4. Создайте документ с новым типом и попробуйте перевести состояние из «Оформляется» в «Выполнен». Система выдаст сообщение об ошибке и не изменит состояние.

Настройка переходов состояний#

Для типа объекта настройте переход из «Оформляется» в «Согласуется» и из «Согласуется» в «Выполнен». Для этого:

  1. В типе объекта перейдите на вкладку «Переходы состояний».

  2. Выделите состояния «Оформляется» и добавьте переход в «Согласуется».

  3. Аналогично настройте переходы из «Согласуется» в «Выполнен» и из «Согласуется» в «Оформляется».

  4. Сбросьте кэш для типа объекта;

  5. Перейдите в документ (если он открыт, то его надо закрыть и открыть заново) и попробуйте перевести состояние. Состояния документа должны переводиться в соответствии со сделанными настройками.

Добавление характеристик#

Для типа объекта добавьте созданные ранее характеристики. Для этого:

  1. Перейдите на вкладку «Объектные характеристики».

  2. Выполните операцию «Создать группу», в открывшемся диалоге введите наименование группы «Дополнительные характеристики» и нажмите «Ок».

  3. Выполните операцию «Создать атрибут».

  4. В открывшемся диалоге выбора атрибутов класса на панели фильтрации укажите фильтр «Указать все атрибуты класса».

  5. Выберите созданный ранее атрибут «Предполагаемая дата возврата», а также атрибут sNumDocBMs _dz.

  6. Нажмите на кнопку «Выбор».

  7. Для атрибута sNumDocBMs_dz измените наименование на «Номер в разрезе читателя».

  8. Откройте документ данного типа и на вкладке «Характеристики» проверьте, что выводятся соответствующие атрибуты.

Автоматическое вычисление значения#

Сделайте так, чтобы значение атрибута «Номер в разрезе читателя» (sNumDocBMs_dz) вычислялось автоматически. Для этого:

  1. В типе объекта перейдите на вкладку «Автовычисляемые колонки».

  2. Нажмите кнопку «Создать».

  3. В диалоге выбора атрибутов выберите sNumDocBMs_dz.

  4. Для добавленного атрибута отметьте признаки «Сделать не редактируемым» и «Выводить кнопку автовычисления».

  5. Введите SQL-запрос для вычисления значения атрибута (см. ниже), заменив Lbr_OutOrder на таблицу, соответствующую вашему пользователю.

(select coalesce (max(o.snumdocbms_dz),	0)+1
from lbr_outorder o 
 where o.idperson  = t.idperson)
  1. Создайте новый документ, выбрав соответствующий тип, укажите читателя и сохранитесь. Атрибут «Номер в разрезе читателя» на вкладке «Характеристики» должен заполниться автоматически.