БРАУЗЕР КЛАССОВ МЕТАСХЕМЫ

Для просмотра перечня классов метасхемы существует процедура:

getclass.p (in-title, in-parent-class-code, in-show-parent, in_right_type, in-level).

  • in-title - заголовок браузера, перечень классов, тип CHAR;
  • in-parent-class-code - родительский класс, тип CHAR;
  • in-show-parent - логическое значение отражающее отображать или нет родительский класс, тип LOGICAL;
  • in_right_type - уровень доступа пользователя к классам для отображения, тип CHAR:
    • R - чтение,
    • W - редактирование,
    • D - удаление,
    • C - создание.
  • in-level - уровень с которого будет выведен браузер, тип INTEGER.

in-title является составным параметром состоящим из 2-х элементов разделенных CHR(251). Первый элемент определяет заголовок браузера (теоретически, но в реальности этого не происходит, заголовок браузера фиксированный). Второй элемент определяет перечень отображаемых классов в формате CAN-DO. Классы данного перечня должны являться подклассами in-parent-class-code. Второе значение является необязательным.

Вывод классов может быть либо иерархический, либо линейный. По умолчание осуществляется иерархический вывод классов. Если указан список классов в in-title, то вывод будет линейным.

При выводе классов накладываются права пользователя. Т.е. пользователю будут отображены только те классы, на которые он имеет соответствующие права, определенные в in_right_type.

Возвращаемым значением pick-value отобранной записи является код класса.

Примеры:

Иерархический вывод

{globals.i}
{tmprecid.def}

DO TRANSACTION:
   RUN getclass.p ("ВКЛАДЫ",
                   "dep_person",
                   YES,
                   "R",
                   4).
END.

Линейный вывод

{globals.i}
{tmprecid.def}

DO TRANSACTION:
   RUN getclass.p ("ВКЛАДЫ" + CHR(251) + "*",
                   "dep_person",
                   YES,
                   "R",
                   4).
END.

Практический пример:

В АБС Бисквит не на все классы метасхемы имеется соответствующее меню просмотра его объектов. Так например, договора страхования  по кредиту (класс insurance) можно просмотреть только в рамках отдельно взятого кредитного договора. Если вам необходимо отобрать (просмотреть) все договора страхования заведенные в АБС и произвести над ними какие-то стандартные операции, например групповое изменение доп. реквизита и т.д., то это вызывает затруднение. Предлагаю написать небольшую процедуру, которая позволит осуществить выбор подклассов класса loan в браузере классов метасхемы, с последующим выводом браузера объектов выбранного класса.

{globals.i}
{tmprecid.def}

DO TRANSACTION:
   RUN getclass.p ("ДОГОВОРА",
                   "loan",
                   YES,
                   "R",
                   4).
END.

DO TRANSACTION:

   RUN browseld.p (pick-value,
                   "filial-id",
                   shFilial,
                   "",
                   4).

END.

 

Вы здесь: Главная ИБС Бисквит МЕТАСХЕМА АБС БИСКВИТ БРАУЗЕР КЛАССОВ МЕТАСХЕМЫ