Урок 2. Создание типа объекта#
Для выполнения заданий используйте ваш персональный модуль «Библиотека» (lbrXX), где XX — ваш порядковый номер. Модуль содержит свой собственный набор классов, бизнес-объектов, выборок, а также собственного приложение «Управление библиотекой XX». При этом все описанные ниже задания порядкового номера не содержат, и при их выполнении необходимо корректировать свои действия с учетом порядкового номера пользователя, под которым вы подключились к системе.
Задание. Создание нового типа объекта#
Создайте новый тип объекта Lbr_OutOrderLimitUse (Выдача книг с ограниченным доступом). Для этого:
Откройте приложение «Настройка системы» и перейдите в перечень типов объектов (меню:
Сущности > Типы объектов > Типы объектов).Введите в фильтр по системному имени класса
Lbr_OutOrder.Скопируйте найденный тип объекта
Lbr_OutOrder.В открывшейся карточке нового, скопированного типа объекта, измените код на
Lbr_OutOrderLimitUse, наименование на «Выдача книг с ограниченным доступом» и краткое наименование на «Выдача книг ОО».
Настройка закладок#
Для нового типа объекта к уже выведенным добавьте вкладки:
прикрепленные файлы;
подписи;
проводки;
маршруты;
характеристики.
Для этого:В созданном типе объекта выделите группу настроек «Закладки типа объекта»;
В детализации справа, на панели фильтрации, отметьте признак «Отображать неактивные»;
Выделите все неактивные для данного типа объекта вкладки и нажмите на кнопку «Добавить несколько».
Задайте порядок, в котором должны выводиться вкладки, указав для них значение в атрибуте «Порядковый номер».
Перейдите в приложение «Библиотека», в интерфейс «Выдача книг». Откройте документ и измените его тип на только что созданный. В детализации документа должны отобразиться добавленные ранее закладки.
Примечание
Если отмечен признак «Отображать неактивные», то в списке выводятся все вкладки, указанные в качестве доступных для данного класса (подкласса), независимо от того, выводятся ли они для выбранного типа объекта.
Настройка обязательного атрибута#
Сделайте атрибут sNumDoc обязательным для заполнения. При этом проверка должна срабатывать при переводе состояния из «Оформляется» в «Выполнен». Для этого:
В типе объекта перейдите на закладку «Управление атрибутами»;
В списке атрибутов найдите
sNumDocи отметьте «Обязателен для ввода»;В список состояний, при переводе из которых будет выполняться проверка на обязательность атрибута, укажите «Оформляется».
Создайте документ с новым типом и попробуйте перевести состояние из «Оформляется» в «Выполнен». Система выдаст сообщение об ошибке и не изменит состояние.
Настройка переходов состояний#
Для типа объекта настройте переход из «Оформляется» в «Согласуется» и из «Согласуется» в «Выполнен». Для этого:
В типе объекта перейдите на вкладку «Переходы состояний».
Выделите состояния «Оформляется» и добавьте переход в «Согласуется».
Аналогично настройте переходы из «Согласуется» в «Выполнен» и из «Согласуется» в «Оформляется».
Сбросьте кэш для типа объекта;
Перейдите в документ (если он открыт, то его надо закрыть и открыть заново) и попробуйте перевести состояние. Состояния документа должны переводиться в соответствии со сделанными настройками.
Добавление характеристик#
Для типа объекта добавьте созданные ранее характеристики. Для этого:
Перейдите на вкладку «Объектные характеристики».
Выполните операцию «Создать группу», в открывшемся диалоге введите наименование группы «Дополнительные характеристики» и нажмите «Ок».
Выполните операцию «Создать атрибут».
В открывшемся диалоге выбора атрибутов класса на панели фильтрации укажите фильтр «Указать все атрибуты класса».
Выберите созданный ранее атрибут «Предполагаемая дата возврата», а также атрибут
sNumDocBMs _dz.Нажмите на кнопку «Выбор».
Для атрибута
sNumDocBMs_dzизмените наименование на «Номер в разрезе читателя».Откройте документ данного типа и на вкладке «Характеристики» проверьте, что выводятся соответствующие атрибуты.
Автоматическое вычисление значения#
Сделайте так, чтобы значение атрибута «Номер в разрезе читателя» (sNumDocBMs_dz) вычислялось автоматически. Для этого:
В типе объекта перейдите на вкладку «Автовычисляемые колонки».
Нажмите кнопку «Создать».
В диалоге выбора атрибутов выберите
sNumDocBMs_dz.Для добавленного атрибута отметьте признаки «Сделать не редактируемым» и «Выводить кнопку автовычисления».
Введите SQL-запрос для вычисления значения атрибута (см. ниже), заменив
Lbr_OutOrderна таблицу, соответствующую вашему пользователю.
(select coalesce (max(o.snumdocbms_dz), 0)+1
from lbr_outorder o
where o.idperson = t.idperson)
Создайте новый документ, выбрав соответствующий тип, укажите читателя и сохранитесь. Атрибут «Номер в разрезе читателя» на вкладке «Характеристики» должен заполниться автоматически.
