Часть функционала Окна редактора метаданных MetaEdit (общий вид окна, его назначение областей, команды контекстного меню, принципы работы окна поиска и т.д.) идентична функционалу Окна объектной модели (см. Объектная модель).
Ниже в данной статье описан только тот функционал, который специфичен именно для MetaEdit.
Общий вид окна MetaEdit показан на Рис.1.
В информационном окне отражаются сведения о загрузке и применении метаданных.
Структура данных представлена тремя модулями: База, БизнесМодель, CRM.
База – общий функционал, независимо от предметной области (права, меню, отчеты, импорт и т.д.). При заведении объектных параметров и списков можно использовать только классы модуля База. Дочерние классы можно создавать любых модулей.
БизнесМодель – функционал предметного решения (предметные классы, диаграммы). При заведении объектных параметров и списков можно использовать классы модуля База и БизнесМодель. Дочерние классы можно создавать только модуля БизнесМодель.
CRM - модуль почтовых рассылок. При заведении объектных параметров и списков можно использовать классы модуля База и CRM. Дочерние классы можно создавать только модуля CRM.
Вверху окна расположен раскрывающийся список модулей и кнопка , вызывающая меню (Рис. 2).
Раскрывающийся список содержит список модулей, включенных в метаданные. Выбранный модуль используется для создания нового класса, класс создается с учетом логики, описанной выше. Классы, не относящиеся к текущему модулю, будут выделены в дереве серым цветом.
По кнопке можно настроить отображающиеся в дереве классы: отображать классы только текущего модуля, показывать удаленные.
Отображать классы тек. модуля - Если опция меню отмечена, то при выборе модуля из раскрывающегося списка модулей, в дереве классов будут отображены только классы, принадлежащие выбранному модулю. Если опция не выбрана, то в дереве классов будут показаны все классы, независимо от их модульной принадлежности, но классы, не относящиеся к текущему модулю, будут неактивны, то есть будут выделены в дереве серым цветом. Если у класса, не принадлежащего текущему модулю, есть классы-наследники, принадлежащие текущему модулю, то класс-родитель выделяется в дереве классов синим цветом.
Показывать удаленные - При выборе этой опции меню в дереве классов будут отображены все классы, включая удаленные ранее классы. Удаленные классы выделяются в дереве красным цветом.
Показывать заголовки классов - По умолчанию опция отмечена. Если опция меню отмечена, в дереве классов будут показаны не системные названия классов, а их заголовки, т.е. значения, заданные для соответствующих классов в их дополнительной опции "RepositoryView.Header" (см. Свойства класса).
Классы, принадлежащие текущему модулю (модулю, выбранному из раскрывающегося списка), отображаются в дереве стандартным черным цветом. Классы, не принадлежащие текущему модулю, отображаются серым цветом. Однако, если у класса, не принадлежащего текущему модулю, хотя бы один потомок принадлежит текущему модулю, то класс-родитель отображается в дереве классов синим цветом. Такая подсветка классов позволяет легко ориентироваться в большой и многоуровневой иерархии классов. Для удобства чтения информации о классе, у каждого класса есть пиктограммы. Их значения описаны в Таблица 1 Пиктограммы классов. Все действия с классами производятся из контекстного меню дерева классов, описание пунктов контекстного меню приведено в Таблице 2 Контекстное меню дерева классов.
Пиктограмма | Значение |
---|---|
Класс - потомок класса "Самостоятельные объекты". | |
Перечисление - потомок типа "Перечисления". | |
Класс - потомок класса "Строки списков". | |
Наличие этого элемента в пиктограмме означает, что класс допускает хранимые ссылки. | |
Наличие этого элемента в пиктограмме означает, что класс нехранимый. | |
Наличие этого элемента в пиктограмме означает, что класс системный, доступен только для просмотра. | |
Наличие этого элемента в пиктограмме означает, что класс пользовательский, есть возможность редактирования. |
Пункт меню | Описание |
---|---|
Добавить | Добавляет класс на том же уровне, где находится текущий класс. Другими словами, новый класс будет иметь тот же класс-родитель, что и текущий класс, и принадлежать текущему модулю, который выбран в списке модулей. |
Добавить от текущего | Добавляет класс уровнем ниже текущего класса. То есть текущий класс будет являться классом-родителем для нового класса, и новый класс будет принадлежать текущему модулю, который выбран в списке модулей. |
Редактировать | Вызывает окна "Свойства класса" для просмотра и редактирования названия класса, набора системных и дополнительных опций. Для системных классов доступно только добавление новых дополнительных опций и их редактирование. |
Удалить | Удаляет текущий класс, оставляя возможность восстановления командой "Восстановить" контекстного меню строки класса. |
Удалить полностью | Удаляет текущий класс полностью, без возможности восстановления. |
Восстановить | Восстанавливает ранее удаленный класс. |
Язык в MetaEdit переключается в правом нижнем углу.
На переключение языка реагируют дерево (при активной опции Показывать заголовки классов) и панель свойств.
Внимание! Ресурсы метаданных (например, "Описание" в классах и параметрах) обязательно должны быть заполнены на Языке по умолчанию (см. Термины). После этого можно заполнять ресурсы на остальных языках.
Форма "Свойства класса" (Рис. 3) вызывается при добавлении нового класса, редактировании или просмотре существующего. Вызов класса на редактирование осуществляется выбором пункта контекстного меню.
Внимание! Создание и редактирование возможно только для пользовательских классов, к их названию добавляется префикс usr_.
Внимание! Все пользовательские справочники рекомендуется создавать в классе Основные объекты.
Создание нового класса проходит в несколько этапов:
На вкладке "Опции" одна часть параметров недоступна для изменений (пользовательские классы и пользовательские строки списков всегда хранимые и допускают хранимые ссылки), а другая часть, касающаяся настроек для версионности может быть задана пользователем (подробнее о том, какими бывают классы с точки зрения версионности см. Свойства веток, Таблица 2).
Внимание! Опцию "Единые данные в ветках" можно изменить только при создании класса. Изменить ее у уже существующих классов (как системных, так и пользовательских) нельзя.
На вкладке "Доп. опции" определяется набор дополнительных опций класса. Из контекстного меню можно вносить доп. опции по категориям. Поддерживается мультистрочный ввод значений дополнительных опций. Удаление опции производится из контекстного меню выбором пункта "Удалить строку". Описание дополнительных опций класса приведено в Таблице 3 Дополнительные опции класса.
Внимание! Для системных классов часть дополнительных опций уже заполнена по умолчанию, такие дополнительные опции недоступны для редактирования и выделяются на вкладке "Доп. опции" серым цветом. Все остальные дополнительные опции для системных классов доступны для заполнения.
Для пользовательских классов все дополнительные опции доступны для заполнения.
Для ряда текстовых опций, таких как ClassHeader, Hint, Description, возможен ввод значений на нескольких языках. Для этого используется префикс, содержащий код языка ("ru", "kz", "by" и т.д.).
Пример. У класса Оргединица указаны следующие опции: RepositoryView.ClassHeader – OrgUnit, RepositoryView.ClassHeader.ru – Оргединица.
Также поддерживаются значения по умолчанию для мультиязычных параметров. Чтобы задать значение по умолчанию для языкового параметра нужно вписывать его значение с языковым суффиксом.
В метаданных в значениях по умолчанию имеется поддержка формулы-ссылки на значение доп. опции класса: =ИмяДопопции.
Для локализации мультиязычных значений ОПУ (параметр Название) нужно добавить язык интерфейса (в MetaEdit через Настройки - Языки Интерфейса), перевести значение ОПУ на этот язык и поместить этот перевод в качестве значения допопции RepositoryView.Header с суффиксом добавленного языка. После этого при применении в добавляемом классе появится значение на соответствующем языке данных в ОПУ. Если нужно завести другую опцию для этих целей, её название должно начинаться с префикса Resx. Рекомендуется называть такие опции Resx_СистемноеНазваниеПараметра.
Логика работы кнопки Заполнить умолчания следующая: если у класса есть параметр Название, то ему в качестве значения по умолчанию выставляется формула со ссылкой на опцию RepositoryView.Header. При этом, если метаданные мультиязычные, то значение по умолчанию задается для всех локализованных параметров (Название_en, Название_ru_RU,…), а ссылка в формуле задается на локализованную опцию на том же языке, что и параметр (RepositoryView.Header.en).
Если метаданные были немультиязычные и у параметра было значение по умолчанию, то при добавлении языков данных в значениях по умолчанию класса должны появиться значения для всех локализованных параметров (если там были ссылки на опцию, то для каждого локализованного параметра должна указываться опция для его языка)
Если же из мультиязычных метаданных делают немультиязычные, то значение по умолчанию для локализованного параметра на основном языке данных должно попасть к мультиязычному параметру, а сама опция - потерять признак языка.
Внимание! Не рекомендуется править файлы ресурсов языков, поставляемых вместе с Business Studio. Они перезаписываются своими новыми версиями в рамках конвертации при обновлении версии программы.
Название | Тип | Назначение |
---|---|---|
Категория "RepositoryView" | ||
RepositoryView.ClassHeader | Строка | Название объекта класса. Если значение доп. опции не задано, отображается Системное название класса. |
RepositoryView.Header | Строка | Название справочника (например, название объектов класса во множественном числе). Заполняется только для хранимого класса. |
RepositoryView.ReadOnly | Логика | Объект класса нельзя модифицировать, независимо от настроек прав. |
RepositoryView.Visible | Логика | Для показа по умолчанию в формах выбора справочника (No - класс будет показан только после включения опции "Показывать все"), а также для показа в Навигаторе объектов (No - класс не будет показан в Навигаторе объектов кроме ситуации, когда он выведен на отдельной вкладке). |
RepositoryView.Icon | Строка | Относительная ссылка на иконку класса в каталоге img\ в папке с установленной программой. Например, для класса Бизнес-актор указан путь Archimate\BusinessActor.svg. Также могут использоваться иконки из пользовательских библиотек - для них требуемое значение этого параметра включает путь к библиотеке с иконками и её индекс, подробнее о назначении для пользовательских классов таких иконок см. в примере Пример задания с помощью MetaEdit для пользовательского класса своей иконки. |
RepositoryView.ClassIcon | Строка | Иконка класса и его объектов. Если параметр пустой, используется параметр RepositoryView.Icon (Иконка справочника). |
RepositoryView.MainKey | Имя главного ключа, по нему осуществляется автоматический импорт/экспорт и автогенерация объектов импорта. | |
RepositoryView.Hierarchical | Логика | Используется для импорта, для стандартных форм. Если значение опции Yes - разрешается создавать группы в стандартных формах. При импорте объекты создаются группами, если этот момент не указан особо. No - Не разрешается создавать группы в стандартных формах. При импорте объекты создаются не группами, если этот момент не указан особо. |
RepositoryView.DependentRepositories | Строка | Значение - перечень зависимых классов, которые хотелось бы открыть из данного класса. Обычно в зависимых классах есть объектный параметр исходного класса. |
RepositoryView.Autosize | Логика | Если значение опции Yes - то авторазмер сетки снимается, и размер каждой колонки подбирается автоматически (появляется горизонтальная прокрутка). По умолчанию - Yes (если значение доп. опции не задано или доп. опция отсутствует на вкладке "Доп. опции"). |
RepositoryView.Synchronize | Логика | Определяет, будет ли на форме включена кнопка синхронизации. В формах списков объектов и форме редактирования объекта синхронизация включена по умолчанию. |
RepositoryView.DeleteLastFigureObject | Логика | Управляет поведением системы при удалении последней фигуры, обозначающей объект на диаграмме. Yes - Удалять объект Ask - Спрашивать перед удалением No - Не удалять объект Исключение: Связи с признаком Основная иерархия автоматически не удаляются. |
RepositoryView.AllowedObjectCreationInRepository | Логика | Разрешает создавать объекты в справочнике. |
RepositoryView.AllowedObjectCreationOfClass | Логика | Разрешает создавать объекты данного класса. Актуально для классов, имеющих разделение на подклассы, где каждый объект является членом определенного подкласса. По умолчанию - Yes (если значение доп. опции не задано или доп. опция отсутствует на вкладке "Доп. опции"). |
RepositoryView.NewObjectNaming | Логика | Позволяет использовать название класса для именования новых объектов. |
RepositoryView.PropertyForDisplay | Строка | Параметр, выводимый в справочнике и полях ввода в качестве названия объекта. Если параметр пуст, используется параметр "Название". |
RepositoryView.PropertyForEdit | Строка | Параметр объекта, который будет редактироваться при входе в режим редактирования названия в Навигаторе или на фигуре диаграммы. |
RepositoryView.PropertyForSorting | Строка | Параметр объекта, который будет использоваться при сортировке объектов на одном уровне иерархии. Если параметр не задан, то производится сортировка по алфавиту по параметру RepositoryView.PropertyForDisplay. |
Категория "EPC" | ||
EPC.Position | Строка | В качестве значения задаётся число, соответствующее позиции иконки данного класса на панели элементов диаграммы EPC (чем выше число - тем ниже иконка). |
EPC.Shape | Строка | Для пользовательских классов можно задавать пользовательские фигуры (шейпы) для отображения их объектов на диаграммах нотации EPC, используя содержащий их набор элементов MS Visio формата vss/vssx, подробнее о данной возможности см. в примере Пример задания с помощью MetaEdit для пользовательского класса своего шейпа для отображения его объектов на диаграммах нотации EPC. |
На вкладке "Ключи" задаются ключи для класса - как простые (уникальность проверяется по одному параметру), так и составные (уникальность проверяется по сочетанию нескольких параметров). Удаление ключа производится из контекстного меню по пункту "Удалить строку".
При создании нового класса, требуется вручную завести для него ключи, если на этот класс будут ссылаться с помощью параметров типа "Объект" из других классов.
Это требование применимо, если класс создается в качестве потомка от класса, не имеющего ключей (например, от "Строки списков"). При создании же класса от родителя, имеющего ключи (например, "Объекты системы" - ключ "guid"), отдельно создавать ключи не требуется.
Пример: создание для класса из числа потомков класса "Строки списков" вложенного списка/структуры (получается, что во вложенном списке/структуре окажется объектный параметр "Владелец" со ссылкой на родительский класс).
В случае, если для любого класса из числа потомков класса "Строки списков" (для определённости назовём его "Класс 1") создаётся параметр с типом "Список" или "Структура", необходимо для этого класса сделать следующее:
Это справедливо и для случаев, когда уровней вложенности несколько: например, если у класса "Класс 1" из числа потомков класса "Строки списков" есть список, ссылающийся на класс "Класс 2", а у того - список, ссылающийся на класс "Класс 3", то описанное выше следует сделать для классов "Класс 1" и "Класс 2".
В системе предусмотрено два вида операций с параметрами классов:
Существует два типовых сценария назначения параметров подклассам:
Необходимо выбирать сценарий с наименьшей трудоёмкостью настройки.
Для настройки назначения параметров классу необходимо:
1. В Окне свойств класса на вкладке Группы параметров выбрать группу:
Группа параметров | Описание |
---|---|
Видимость параметров | Устанавливается видимость параметров по умолчанию в Окне свойств объекта. Дополнительно параметры можно вывести с помощью настройки видимости параметров в Окне свойств объекта (Действия → Настройка параметров). |
Видимость параметров входящего списка | Устанавливается видимость параметров по умолчанию во входящем списке, рассчитанном по бинарным связям. Входящий список — это перечень бинарных связей, в которых объект находится на месте Объект В. |
Видимость параметров исходящего списка | Устанавливается видимость параметров по умолчанию в исходящем списке, рассчитанном по бинарным связям. Исходящий список — это перечень бинарных связей, в которых объект находится на месте Объект Из. |
Видимость параметров списка | Устанавливается видимость параметров по умолчанию в любом списке, созданном по данном классу. Данная группа параметров предназначена только для хранимых классов. |
Видимость параметров справочника | Устанавливается видимость параметров по умолчанию в справочнике. |
Параметры класса | Устанавливается, какие параметры разрешены для данного класса. Параметры, которые не разрешены для данного класса нельзя будет вывести на показ с помощью настройки видимости параметров в Окне свойств объекта (Действия → Настройка параметров). |
2. Выбрать состояние флажка:
Группа параметров | Состояние флажка | ||||
---|---|---|---|---|---|
Установлен | Снят | Не определен | |||
Видимость параметров | Параметр отображается по умолчанию | Параметр скрыт по умолчанию | Настройка видимости параметра для данного класса наследуется от ближайшего надкласса, где флажок установлен/снят | ||
Видимость параметров входящего списка | |||||
Видимость параметров исходящего списка | |||||
Видимость параметров списка | |||||
Видимость параметров справочника | |||||
Параметры класса | Параметр назначен для данного класса | Параметр запрещен для данного класса | Назначение параметра для данного класса наследуется от ближайшего надкласса, где флажок установлен/снят |
Пример. Параметр Описание (Description) создан в классе Предметный объект, так как он нужен у нескольких подклассов. Однако в нем нет необходимости у всех предметных объектов. Поэтому на уровне Предметный объект видимость данного параметра по умолчанию выключена (флажок в группе Видимость параметров снят). В классе Оргединица данный параметр выведен на показ по умолчанию (флажок в группе Видимость параметров установлен).
На вкладке "Значения" устанавливаются значения параметров по умолчанию во вновь создаваемом объекте класса. Для параметров с типом Перечисление (см. Свойства перечисления) значение по умолчанию может быть задано как перечислением наименований выбранных по умолчанию элементов перечисления через запятую, так и в бинарном виде - числом, равным сумме параметров Значение этих элементов перечисления.
Внимание! Для класса обязательно задание значений по умолчанию для параметров guid и Название. Значения могут быть сгенерированы автоматически на основе текущего названия класса с помощью нажатия на кнопку "Задать умолчания" в окне добавления/редактирования класса.
На вкладке "Описание" дается многострочное описание функционального назначения класса и его места в объектной иерархии. Если описание оставить пустым, то оно автоматически заполнится заголовком класса.
На вкладке "Мультиязычные параметры" приводится список мультиязычных параметров класса. Для унаследованных от родительских классов мультиязычных параметров, которые тоже присутствуют в этом окне, флажок, отвечающий за мультиязычность на этой вкладке, по умолчанию установлен, но может быть снят пользователем.
Параметры выделенного класса приведены в правой части окна на вкладке "Параметры".
Все действия с параметрами классов (см. Таблицу 6 ниже) производятся из контекстного меню, вызываемого от параметров на этой вкладке.
При создании параметров необходимо учитывать принцип наследования, описанный в Термины и понятия. Не нужно создавать в классе параметры, дублирующие параметры класса-родителя.
Пункт меню | Описание |
---|---|
Добавить | Добавляет параметр в текущем классе. |
Удалить | Удаляет текущий параметр. |
Редактировать параметр | Вызывает форму "Настройки параметра класса" для редактирования названия параметра, типа, набора дополнительных опций и описания параметра. |
Форма "Настройки параметров класса" (Рис. 4) вызывается при добавлении нового параметра или редактировании существующего. Создание и редактирование возможно только для пользовательских параметров, к их названию добавляется префикс usr_.
Внимание! Имя пользовательского параметра должно состоять из букв, цифр и знаков подчеркивания. Начинаться такие имена могут с буквы или со знака подчеркивания.
Вызов параметра на редактирование осуществляется либо выбором соответствующей опции всплывающего меню, либо двойным щелчком на параметре левой кнопкой мыши.
На вкладке "Опции" необходимо выбрать тип параметра: простой, объектный, список, структура, перечисление.
Если тип параметра Простой, то необходимо уточнить его тип: логический, целый, строка, вещественный, датавремя, бинарный или текст. Для параметра типа Строка необходимо указать длину, максимум 4000 символов. Для параметра типа Вещественный необходимо указать общую длину и длину дробной части (количество знаков после запятой), максимум 28 символов. Если тип параметра Объектный, то необходимо указать класс, который будет являться типом объектов, на которые будет ссылаться этот параметр.
Если тип параметра Список или Структура, то необходимо указать строки списка, которые будут являться типом объектов, на которые будет ссылаться этот параметр. Указанные таким образом классы должны быть конечными (не иметь потомков) и не должны быть созданы под классами, уже указанными в каких-либо параметрах с типом Список или Структура.
Если тип параметра Перечисление, то в качестве типа объектов указывается перечисление.
Тип параметра выбирается по кнопке .
Внимание! Общая длина (сумма длин всех параметров) класса, заданных на одном уровне в иерархии классов, не должна превышать 8000 Байт. Длина параметров различных типов в байтах приведена ниже в Таблице 7 Длина в байтах для различных типов параметров.
Тип параметра | Длина в байтах | |
---|---|---|
Логический | 1 | |
Целый | 4 | |
Строка [Длина] | Длина*2 + 2 | |
Вещественный [Общая длина, Длина дробной части] | Общая длина | Длина в байтах |
1 - 9 | 5 | |
10-19 | 9 | |
20-28 | 13 | |
ДатаВремя | 8 | |
Бинарный | 16 | |
Текст | 16 | |
Объектный | 31 | |
Список | 0 | |
Структура | 0 | |
Перечисление | 4 |
Опция параметра Не хранимый отвечает за то, будет ли параметр сам хранить информацию (хранимый параметр) или же не будет, а будет использоваться для вывода данных, хранящихся в других параметрах системы (не хранимый параметр). Пользовательский параметр может быть не хранимым, примеры создания таких параметров см. в Примеры создания нехранимых параметров с помощью MetaEdit.
Опция параметра Мультиязычный отвечает за то, будет ли параметр мультиязычным, т.е. будет ли он поддерживать одновременно разные значения на разных языках базы. У не мультиязычного параметра объекта будет одно значение вне зависимости от количества языков в базе.
На вкладке "Доп. опции" определяется набор дополнительных опций параметра класса. Они позволяют указывать заголовки, управлять порядком и видимостью по умолчанию, настраивать действия. Из контекстного меню можно вносить доп. опции по категориям. Удаление опции производится из контекстного меню выбором пункта "Удалить выделенные строки". Описание дополнительных опций параметра приведено в Таблице 8 Дополнительные опции параметров классов.
Внимание! Для системных параметров часть дополнительных опций уже заполнена по умолчанию, такие дополнительные опции недоступны для редактирования и выделяются на вкладке "Доп. опции" серым цветом. Все остальные дополнительные опции для системных параметров доступны для заполнения.
Для пользовательских параметров все дополнительные опции доступны для заполнения.
На вкладке "Описание" можно дать многострочное описание функционального назначения параметра класса и его места в объектной иерархии. Если описание оставить пустым, то оно автоматически заполнится заголовком параметра класса.
Название | Тип | Назначение |
---|---|---|
Категория "PropertyView" | ||
PropertyView.Header | Строка | Содержит Заголовок параметра, который будет показываться в стандартных формах. Если значение не задано, берется Наименование параметра. |
PropertyView.Visible | Логика | Если значение опции Yes - то параметр показывается в форме списка. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - используется значение опции Yes. |
PropertyView.VisibleObj | Логика | Если значение опции Yes - то параметр показывается в форме единичного показа. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - используется значение опции Yes. |
PropertyView.OnTab | Логика | Указывается для параметров-списков. Если значение опции Yes, то список отображается на вкладке в форме единичного показа. Если опция не заполнена - используется значение опции No. |
PropertyView.Editable | Логика | Если значение опции Yes - то параметр редактируется в форме списка. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - используется значение опции No. |
PropertyView.EditableObj | Логика | Если значение опции Yes - то параметр редактируется в форме единичного показа. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - используется значение опции No. |
PropertyView.Required | Логика | Yes/No. Служит для выделения параметров, обязательных для ввода. |
PropertyView.Number | Целое | Показывает порядковый номер расположения параметра на форме списка объектов. Внимание! В системе есть возможность добавлять/убирать колонки, используя специальную форму. Если вы хотите, чтобы параметр не показывался по умолчанию, но пользователь в дальнейшем имел возможность вывести его на показ, нужно проставить PropertyView.Number = -1. Тем самым параметр появится в форме настройки колонок и можно его перетащить на основную форму. Следует отметить, что в отличие от формы настройки колонок скрытые колонки загружаются, что снижает быстродействие. |
PropertyView.NumberObj | Целое | Задает порядковый номер расположения параметра на форме единичного показа объекта. Для параметров-списков - порядковый номер вкладки. Внимание! Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции", то порядковый номер заполнится от PropertyView.Number. |
PropertyView.MinSize | Целое | Минимальный размер колонки, по умолчанию 0. Необходимо, например, при авторазмере, когда нужно, чтобы название обязательно было полностью видимым. |
PropertyView.Size | Целое | Задает размер колонки в сетке в форме списка объектов. |
PropertyView.Sort | Строка | Возможные значения: Ascend, Descend. Используется для сортировки по параметру в форме списка. |
PropertyView.Format | Строка | Значение - формат вывода значения параметра в формате C# (см. Руководство пользователя, глава Автонумераторы классов). Выводит значение параметра в заданном формате в форме списка. |
PropertyView.FormatObj | Строка | Значение - формат вывода значения параметра в формате C#. Выводит значение параметра в заданном формате в форме редактирования объекта. |
PropertyView.Preview | Логика | Параметр, у которого стоит значение Да, появится в виде поля превью под строкой (если заполнен), например, комментарий. Внимание! Чтобы этот параметр показывался в виде поля превью под строкой, но не показывался при этом в виде колонки в форме списка, нужно для него установить PropertyView.Number = -1. Также, если хотите, чтобы это поле показывалось в форме показа объекта - проставьте PropertyView.NumberObj = 100 (например). Следовательно, данную опцию нужно заполнять, когда порядок в единичной форме показа отличается от формы списка, например Комментарий, который не показывается в форме списка (PropertyView.Number = -1), но показывается в форме единичного показа PropertyView.NumberObj = 100. |
PropertyView.Prefix | Строка | Может указываться для не хранимых параметров. Значение - ссылка на параметр объекта. Предназначен для вывода вложенных параметров, например Версия.Автор. Пример создания такого параметра см. в Пример создания не хранимого параметра. Внимание! Тип параметра, для которого задается данная доп. опция, обязательно должен совпадать с типом параметра, на который идет ссылка. |
PropertyView.ComplexFormat | Строка | Может указываться для не хранимых параметров с типом "Строка". Значение - комбинация из ссылок на параметры объекта с типом "Строка", каждая из которых заключена в квадратные скобки, и произвольного текста. Пример создания такого параметра см. в Пример создания не хранимого сводного параметра. |
PropertyView.Editor | Строка | Задает эдитор на экранных формах списков, отличный от стандартного (по умолчанию) для формы списка объектов. Например, для параметра типа Текст эдитор может быть MemoEdit (с просмотром содержимого) или RichEdit (текст в формате RTF), по умолчанию привязан эдитор MemoEditEx - без просмотра содержимого в сетке. Примечание: Эдитор MemoEdit может быть привязан и к параметру типа строка, если нужно автоматически увеличивать высоту ячейки, если строка не помещается. Пользоваться этой возможностью нужно осторожно - нельзя позволять редактировать строку этим эдитором (только просмотр) - так как пользователь может вставить перевод строки. Возможные значения: - MemoEdit, RichEdit (вместо MemoEditEx по умолчанию); - PictureEdit (вместо ImageEdit по умолчанию); - ButtonEdit (для привязки эдитора для выбора, при нажатии на кнопку которого должен выполниться метод, описанный в опции PropertyView.ButtonAction). |
PropertyView.EditorObj | Строка | Задает эдитор на экранных формах объекта, отличный от стандартного (по умолчанию) для формы редактирования объекта. |
PropertyView.ButtonAction | Строка | В качестве значения используется имя метода, который будет запускаться на исполнение при нажатии кнопки "…" эдитора (переопределенного в опции PropertyView.Editor, либо PropertyView.EditorObj в значение ButtonEdit). |
PropertyView.DeleteButtonAction | Строка | В качестве значения используется имя метода, который будет запускаться на исполнение при нажатии кнопки с крестом эдитора (переопределенного в опции PropertyView.Editor, либо PropertyView.EditorObj в значение ButtonEdit). |
PropertyView.Synchronize | Логика | Если значение опции Yes, то по этому объектному полю будет синхронизироваться форма редактирования объекта данного класса. Если значение No - синхронизация не используется. |
Прочее | ||
Название доп. опции | Тип доп. опции | Значение опции: =<Название доп. опции данного или одного из вышележащих классов>. В случае использования данного механизма доп. опции параметра класса присваивается значение указанной произвольной опции (переменной) данного или одного из вышележащих классов. Если опция определена в одном из вышележащих классов и в одном из классов-потомков ее значение переопределено - доп. опции будет присвоено переопределенное значение. Механизм может применяться, например, для управления видимостью параметров в классах-потомках (в одних потомках параметр виден, в других - нет). |
После создания в метаданных параметра с типом "Структура" и применения этих метаданных к базе необходимо для этой базы запустить команду пересохранения структур класса, в котором такой параметр был добавлен.
Вид командной строки: /runcmd="База.КлиентскиеУтилиты.ПересохранитьСтруктурыКласса СИСТЕМНОЕ_ИМЯ_КЛАССА"
Аргументы:
СИСТЕМНОЕ_ИМЯ_КЛАССА - полное системное имя класса Business Studio (например, БизнесМодель.Процессы), в котором был добавлен параметр с типом "Структура". Системное имя класса отображается в Объектной модели.
Подробнее о работе с командной строкой см. Командная строка.
Классы связей создаются под классом Бинарная связь. Действия при создании класса связи аналогичны созданию классов самостоятельных объектов (см. Создание класса объектов).
Для данных классов также действуют опции ClassHeader и AllowedObjectCreationOfClass. Прочие опции, которые необходимо заполнить, представлены в таблице.
Название | Описание | Правила заполнения |
---|---|---|
Relationships.Name | Название связи прямое | Заполняется строчными буквами. Пример: Для класса Композиция прямое название связи: "состоит из". |
Relationships.ReverseName | Название связи обратное | Заполняется строчными буквами. Пример: Для класса Композиция обратное название связи: "является частью". |
Relationships.ShortName | Сокращенное название связи | |
Relationships.CardinalityTo | Кратность связи для Объект В | Указывается в формате 0..N. Пример: 0..1 – допускается не более одной связи данного класса у Объекта В 0..3 – допускается не более трех связей данного класса у Объекта В 0..N – допускается любое количество связей. Если опция не указывается, то допускается любое количество связей. |
Relationships.CardinalityFrom | Кратность связи для ОбъектИЗ | Указывается в формате 0..N. Пример: 0..1 – допускается не более одной связи данного класса у Объекта Из 0..3 – допускается не более трех связей данного класса у Объекта Из 0..N – допускается любое количество связей. Если опция не указывается, то допускается любое количество связей. |
Окно Свойства перечисления (Рис. 5) вызывается при добавлении нового перечисления или редактировании существующего. При создании пользовательских перечислений к их названию добавляется префикс "usr_".
На вкладке Элементы задается список элементов перечисления. Параметры перечисления:
Вызов перечисления на редактирование осуществляется выбором соответствующего пункта контекстного меню.
Редактирование доступно для:
Внимание! Не рекомендуется изменять системное название элемента пользовательского перечисления, так как в этом случае потребуется заново вводить значения параметра Описание на всех языках.
Удаление элемента перечисления осуществляется выбором соответствующего пункта контекстного меню.
Параметр Множество позволяет задавать параметру объекта несколько значений из перечисления. При изменении параметра Множество во включенное состояние для уже созданных объектов, информация в базе не теряется. При отключении параметра Множество информация в базе по параметрам объектов этого перечисления утратится.
Внимание! Для независимых элементов перечисления-множества, необходимо значениям элементов присваивать степени двойки: 1,2,4,8,…
На вкладке Доп.опции можно задать значение доп. опций "RepositoryView.Visible" и "PropertyView.Header", их работа идентична работе соответствующих опций классов (см. Таблицу 3 в Свойства класса).
На вкладке Описание дается многострочное описание перечисления.
SQL индексы предназначены для ускорения работы фильтров, где фильтрация происходит по параметрам, которые включены в индекс.
Форма "Добавление SQL индекса" (Рис. 6) вызывается при добавлении нового SQL индекса или редактировании существующего. Создание и редактирование SQL индексов возможно для хранимых справочников. В индекс могут входить хранимые параметры всех типов, кроме списков и структур. К названию SQL индекса добавляется префикс STU_.
Внимание! Добавлять SQL индексы для объектных полей не требуется, так как для них уже присутствуют системные индексы по умолчанию.
Добавление новых и изменение существующих индексов производится выбором соответствующего пункта контекстного меню на вкладке "Индексы".