Редактирование метаданных

Часть функционала Окна редактора метаданных MetaEdit (общий вид окна, его назначение областей, команды контекстного меню, принципы работы окна поиска и т.д.) идентична функционалу Окна объектной модели (см. Объектная модель).

Ниже в данной статье описан только тот функционал, который специфичен именно для MetaEdit.

Общий вид окна MetaEdit показан на Рис.1.

Рисунок 1

В информационном окне отражаются сведения о загрузке и применении метаданных.

Список модулей

Структура данных представлена тремя модулями: База, БизнесМодель, CRM.

База – общий функционал, независимо от предметной области (права, меню, отчеты, импорт и т.д.). При заведении объектных параметров и списков можно использовать только классы модуля База. Дочерние классы можно создавать любых модулей.

БизнесМодель – функционал предметного решения (предметные классы, диаграммы). При заведении объектных параметров и списков можно использовать классы модуля База и БизнесМодель. Дочерние классы можно создавать только модуля БизнесМодель.

CRM - модуль почтовых рассылок. При заведении объектных параметров и списков можно использовать классы модуля База и CRM. Дочерние классы можно создавать только модуля CRM.

Вверху окна расположен раскрывающийся список модулей и кнопка , вызывающая меню (Рис. 2).

Рисунок 2

Раскрывающийся список содержит список модулей, включенных в метаданные. Выбранный модуль используется для создания нового класса, класс создается с учетом логики, описанной выше. Классы, не относящиеся к текущему модулю, будут выделены в дереве серым цветом.

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

Отображать классы тек. модуля - Если опция меню отмечена, то при выборе модуля из раскрывающегося списка модулей, в дереве классов будут отображены только классы, принадлежащие выбранному модулю. Если опция не выбрана, то в дереве классов будут показаны все классы, независимо от их модульной принадлежности, но классы, не относящиеся к текущему модулю, будут неактивны, то есть будут выделены в дереве серым цветом. Если у класса, не принадлежащего текущему модулю, есть классы-наследники, принадлежащие текущему модулю, то класс-родитель выделяется в дереве классов синим цветом.

Показывать удаленные - При выборе этой опции меню в дереве классов будут отображены все классы, включая удаленные ранее классы. Удаленные классы выделяются в дереве красным цветом.

Показывать заголовки классов - По умолчанию опция отмечена. Если опция меню отмечена, в дереве классов будут показаны не системные названия классов, а их заголовки, т.е. значения, заданные для соответствующих классов в их дополнительной опции "RepositoryView.Header" (см. Свойства класса).

Дерево классов

Классы, принадлежащие текущему модулю (модулю, выбранному из раскрывающегося списка), отображаются в дереве стандартным черным цветом. Классы, не принадлежащие текущему модулю, отображаются серым цветом. Однако, если у класса, не принадлежащего текущему модулю, хотя бы один потомок принадлежит текущему модулю, то класс-родитель отображается в дереве классов синим цветом. Такая подсветка классов позволяет легко ориентироваться в большой и многоуровневой иерархии классов. Для удобства чтения информации о классе, у каждого класса есть пиктограммы. Их значения описаны в Таблица 1 Пиктограммы классов. Все действия с классами производятся из контекстного меню дерева классов, описание пунктов контекстного меню приведено в Таблице 2 Контекстное меню дерева классов.

Пиктограмма Значение
Класс - потомок класса "Самостоятельные объекты".
Перечисление - потомок типа "Перечисления".
Класс - потомок класса "Строки списков".
Наличие этого элемента в пиктограмме означает, что класс допускает хранимые ссылки.
Наличие этого элемента в пиктограмме означает, что класс нехранимый.
Наличие этого элемента в пиктограмме означает, что класс системный, доступен только для просмотра.
Наличие этого элемента в пиктограмме означает, что класс пользовательский, есть возможность редактирования.
Таблица 1. Пиктограммы классов
Пункт меню Описание
Добавить Добавляет класс на том же уровне, где находится текущий класс. Другими словами, новый класс будет иметь тот же класс-родитель, что и текущий класс, и принадлежать текущему модулю, который выбран в списке модулей.
Добавить
от текущего
Добавляет класс уровнем ниже текущего класса. То есть текущий класс будет являться классом-родителем для нового класса, и новый класс будет принадлежать текущему модулю, который выбран в списке модулей.
Редактировать Вызывает окна "Свойства класса" для просмотра и редактирования названия класса, набора системных и дополнительных опций. Для системных классов доступно только добавление новых дополнительных опций и их редактирование.
Удалить Удаляет текущий класс, оставляя возможность восстановления командой "Восстановить" контекстного меню строки класса.
Удалить полностью Удаляет текущий класс полностью, без возможности восстановления.
Восстановить Восстанавливает ранее удаленный класс.
Таблица 2. Контекстное меню дерева классов

Свойства класса

Внимание! Форма "Свойства класса" (Рис. 3) вызывается при добавлении нового класса, редактировании или просмотре существующего. Создание и редактирование возможно только для пользовательских классов, к  их названию  добавляется префикс usr_. Вызов класса на редактирование осуществляется выбором пункта контекстного меню.

Рисунок 3

Внимание! Все пользовательские справочники рекомендуется создавать в классе База.Справочники.


Внимание! Имя пользовательского класса должно состоять из букв, цифр и знаков подчеркивания. Начинаться такие имена могут с буквы или со знака подчеркивания.


На вкладке "Опции" одна часть параметров недоступна для изменений (пользовательские классы и пользовательские строки списков всегда хранимые и допускают хранимые ссылки), а другая часть, касающаяся настроек для версионности может быть задана пользователем (подробнее о том, какими бывают классы с точки зрения версионности см. Свойства веток, Таблица 2).

Внимание! Опцию "Единые данные в ветках" можно изменить только при создании класса. Изменить ее у уже существующих классов (как системных, так и пользовательских) нельзя.

На вкладке "Доп. опции" определяется набор дополнительных опций класса. Из контекстного меню можно вносить доп. опции по категориям. Поддерживается мультистрочный ввод значений дополнительных опций. Удаление опции производится из контекстного меню выбором пункта "Удалить строку". Описание дополнительных опций класса приведено в Таблице 3 Дополнительные опции класса.

Внимание! Для системных классов часть дополнительных опций уже заполнена по умолчанию, такие дополнительные опции недоступны для редактирования и выделяются на вкладке "Доп. опции" серым цветом. Все остальные дополнительные опции для системных классов доступны для заполнения.

Для пользовательских классов все дополнительные опции доступны для заполнения.


Также поддерживаются значения по умолчанию для мультиязычных параметров. Чтобы задать значение по умолчанию для языкового параметра нужно вписывать его значение с языковым суффиксом.

В медатанных в значениях по умолчанию имеется поддержка формулы-ссылки на значение доп. опции класса: =ИмяДопопции.

Для локализации мультиязычных значений ОПУ (параметр Название) нужно добавить язык интерфейса (в MetaEdit через Настройки - Языки Интерфейса), перевести значение ОПУ на этот язык и поместить этот перевод в качестве значения допопции RepositoryView.Header с суффиксом добавленного языка. После этого при применении в добавляемом классе появится значение на соответствующем языке данных в ОПУ. Если нужно завести другую опцию для этих целей, её название должно начинаться с префикса Resx. Рекомендуется называть такие опции Resx_СистемноеНазваниеПараметра.

Логика работы кнопки Заполнить умолчания следующая: если у класса есть параметр Название, то ему в качестве значения по умолчанию выставляется формула со ссылкой на опцию RepositoryView.Header. При этом, если метаданные мультиязычные, то значение по умолчанию задается для всех локализованных параметров (Название_en, Название_ru_RU,…), а ссылка в формуле задается на локализованную опцию на том же языке, что и параметр (RepositoryView.Header.en).

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

Если же из мультиязычных метаданных делают немультиязычные, то значение по умолчанию для локализованного параметра на основном языке данных должно попасть к мультиязычному параметру, а сама опция - потерять признак языка.

Внимание! Не рекомендуется править файлы ресурсов языков, поставляемых вместе с Business Studio. Они перезаписываются своими новыми версиями в рамках конвертации при обновлении версии программы.

На вкладке "Ключи" задаются ключи для класса - как простые (уникальность проверяется по одному параметру), так и составные (уникальность проверяется по сочетанию нескольких параметров). Удаление ключа производится из контекстного меню по пункту "Удалить строку".

На вкладке "Значения" устанавливаются значения параметров по умолчанию во вновь создаваемом объекте класса. Для параметров с типом Перечисление (см. Свойства перечисления) значение по умолчанию может быть задано как перечислением наименований выбранных по умолчанию элементов перечисления через запятую, так и в бинарном виде - числом, равным сумме параметров Значение этих элементов перечисления.

Внимание! Для класса обязательно задание значений по умолчанию для параметров guid и Название. Значения могут быть сгенерированы автоматически на основе текущего названия класса с помощью нажатия на кнопку "Задать умолчания" в окне добавления/редактирования класса.


На вкладке "Описание" дается многострочное описание функционального назначения класса и его места в объектной иерархии. Если описание оставить пустым, то оно автоматически заполнится заголовком класса.

На вкладке "Мультиязычные параметры" приводится список мультиязычных параметров класса. Для унаследованных от родительских классов мультиязычных параметров, которые тоже присутствуют в этом окне, флажок, отвечающий за мультиязычность на этой вкладке, по умолчанию установлен, но может быть снят пользователем.

Название Тип Назначение
Категория "RepositoryView"
RepositoryView.Header Строка Опция класса, содержит Заголовок класса, который будет показываться в стандартных формах в заголовке. Если значение доп. опции не задано или доп. опция отсутствует на вкладке "Доп. опции" - берется ПолноеНаименование класса.
RepositoryView.ReadOnly Логика Объект класса нельзя модифицировать, независимо от настроек прав.
RepositoryView.Visible Логика Для показа по умолчанию в формах выбора справочника (No - класс будет показан только после включения опции "Показывать все"), а также для показа в Навигаторе объектов (No - класс не будет показан в Навигаторе объектов кроме ситуации, когда он выведен на отдельной вкладке).
RepositoryView.Icon Строка Иконка класса для показа в формах выбора справочников. Могут использоваться как иконки присутствующие в составе программы по умолчанию - для них требуемое значение этого параметра совпадает с нумерацией соответствующих графических файлов из папки objects, которая находится по следующему пути: <Каталог установки Business Studio>\BS_Portal\www\img\objects\ (например, C:\Program Files\STU-Soft\Business Studio 4.2\BS_Portal\www\img\objects\), так и иконки из своих библиотек - для них требуемое значение этого параметра включает путь к библиотеке с иконками и её индекс, подробнее о назначении для пользовательских классов таких иконок см. в примере Пример задания с помощью MetaEdit для пользовательского класса своей иконки.
RepositoryView.ClassIcon Строка Иконка класса и его объектов. Если параметр пустой, используется параметр RepositoryView.Icon (Иконка справочника).
RepositoryView.MainKey   Имя главного ключа, по нему осуществляется автоматический импорт/экспорт и автогенерация объектов импорта.
RepositoryView.Hierarchical Логика Используется для импорта, для стандартных форм.

Если значение опции Yes - разрешается создавать группы в стандартных формах. При импорте объекты создаются группами, если этот момент не указан особо.

No - Не разрешается создавать группы в стандартных формах. При импорте объекты создаются не группами, если этот момент не указан особо.
RepositoryView.DependentRepositories Строка Значение - перечень зависимых классов, которые хотелось бы открыть из данного класса. Обычно в зависимых классах есть объектный параметр исходного класса.
RepositoryView.Autosize Логика Если значение опции Yes - то авторазмер сетки снимается, и размер каждой колонки подбирается автоматически (появляется горизонтальная прокрутка).

По умолчанию - Yes (если значение доп. опции не задано или доп. опция отсутствует на вкладке "Доп. опции").
RepositoryView.Synchronize Логика Определяет, будет ли на форме включена кнопка синхронизации. В формах списков объектов и форме редактирования объекта синхронизация включена по умолчанию.
RepositoryView.DeleteLastFigureObject Логика Позволяет автоматически удалять объект из системы при удалении последней фигуры, обозначающей объект на диаграмме.
Исключение:
Связи с признаком Основная иерархия автоматически не удаляются.
RepositoryView.AllowedObjectCreationInRepository Логика Разрешает создавать объекты в справочнике.
RepositoryView.AllowedObjectCreationOfClass Логика Разрешает создавать объекты данного класса. Актуально для классов, имеющих разделение на подклассы, где каждый объект является членом определенного подкласса.
RepositoryView.NewObjectNaming Логика Позволяет использовать название класса для именования новых объектов.
RepositoryView.PropertyForDisplay Строка Параметр, выводимый в справочнике и полях ввода в качестве названия объекта. Если параметр пуст, используется параметр "Название".
RepositoryView.PropertyForEdit Строка Параметр объекта, который будет редактироваться при входе в режим редактирования названия в Навигаторе или на фигуре диаграммы.
RepositoryView.PropertyForSorting Строка Параметр объекта, который будет использоваться при сортировке объектов на одном уровне иерархии. Если параметр не задан, то производится сортировка по алфавиту по параметру RepositoryView.PropertyForDisplay.
Категория "EPC"
EPC.Position Строка В качестве значения задаётся число, соответствующее позиции иконки данного класса на панели элементов диаграммы EPC (чем выше число - тем ниже иконка).
EPC.Shape Строка Для пользовательских классов можно задавать пользовательские фигуры (шейпы) для отображения их объектов на диаграммах нотации EPC, используя содержащий их набор элементов MS Visio формата vss/vssx, подробнее о данной возможности см. в примере Пример задания с помощью MetaEdit для пользовательского класса своего шейпа для отображения его объектов на диаграммах нотации EPC.
Таблица 3. Дополнительные опции класса

Переключение языков в MetaEdit

Язык в MetaEdit переключается в правом нижнем углу.

На переключение языка реагируют дерево (при активной опции Показывать заголовки классов) и панель свойств.

Особенности задания ключей для пользовательских классов

При создании нового класса, требуется вручную завести для него ключи на одноименной вкладке в окне редактирования класса, если на этот класс будут ссылаться с помощью параметров типа "Объект" из других классов.

Это требование применимо, если класс создается в качестве потомка от класса, не имеющего ключей (например, от "Строки списков"). При создании же класса от родителя, имеющего ключи (например, "Объекты системы" - ключ "guid"), отдельно создавать ключи не требуется.

Пример: создание для класса из числа потомков класса "Строки списков" вложенного списка/структуры (получается, что во вложенном списке/структуре окажется объектный параметр «Владелец» со ссылкой на родительский класс).

В случае, если для любого класса из числа потомков класса "Строки списков" (для определённости назовём его "Класс 1") создаётся параметр с типом "Список" или "Структура", необходимо для этого класса сделать следующее:

  1. Создать параметр, значения которого будут уникальными в рамках класса, являющегося владельцем класса "Класс 1". Это может быть, например, "Номер документа", если список представляет собой список документов. В дальнейшем потребуется заполнять значение этого параметра для каждой строки списка с соблюдением этого условия по уникальности.
  2. В окне редактирования класса, на вкладке "Ключ" создать для класса "Класс 1" новый ключ, в который включить 2 параметра: параметр, созданный в предыдущем пункте, и параметр "Владелец".
  3. Применить изменения к базе данных.

Это справедливо и для случаев, когда уровней вложенности несколько: например, если у класса "Класс 1" из числа потомков класса "Строки списков" есть список, ссылающийся на класс "Класс 2", а у того - список, ссылающийся на класс "Класс 3", то описанное выше следует сделать для классов "Класс 1" и "Класс 2".

Параметры класса

Параметры выделенного класса приведены в правой части окна на вкладке "Параметры".

Все действия с параметрами классов (см. Таблицу 4 ниже) производятся из контекстного меню, вызываемого от параметров на этой вкладке.

При создании параметров необходимо учитывать принцип наследования, описанный в Термины и понятия. Не нужно создавать в классе параметры, дублирующие параметры класса-родителя.

Пункт меню Описание
Добавить Добавляет параметр в текущем классе.
Удалить Удаляет текущий параметр.
Редактировать параметр Вызывает форму "Настройки параметра класса" для редактирования названия параметра, типа, набора дополнительных опций и описания параметра.
Таблица 4. Контекстное меню списка параметров классов

 

Настройки параметра класса

Форма "Настройки параметров класса" (Рис. 4) вызывается при добавлении нового параметра или редактировании существующего. Создание и редактирование возможно только для пользовательских параметров, к  их названию  добавляется префикс usr_.

Внимание! Имя пользовательского параметра должно состоять из букв, цифр и знаков подчеркивания. Начинаться такие имена могут с буквы или со знака подчеркивания.

Вызов параметра на редактирование осуществляется либо выбором соответствующей опции всплывающего меню, либо двойным щелчком на параметре левой кнопкой мыши.

Рисунок 4

На вкладке "Опции" необходимо выбрать тип параметра: простой, объектный, список, структура, перечисление.

Если тип параметра Простой, то необходимо уточнить его тип: логический, целый, строка, вещественный, датавремя, бинарный или текст. Для параметра типа Строка необходимо указать длину, максимум 4000 символов. Для параметра типа Вещественный необходимо указать общую длину и длину дробной части (количество знаков после запятой), максимум 28 символов. Если тип параметра Объектный, то необходимо указать класс, который будет являться типом объектов, на которые будет ссылаться этот параметр.

Если тип параметра Список или Структура, то необходимо указать строки списка, которые будут являться типом объектов, на которые будет ссылаться этот параметр. Указанные таким образом классы должны быть конечными (не иметь потомков) и не должны быть созданы под классами, уже указанными в каких-либо параметрах с типом Список или Структура.

Если тип параметра Перечисление, то в качестве типа объектов указывается перечисление.

Тип параметра выбирается по кнопке .

Внимание! Общая длина (сумма длин всех параметров) класса, заданных на одном уровне в иерархии классов, не должна превышать 8000 Байт. Длина параметров различных типов в байтах приведена ниже в Таблица 5 Длина в байтах для различных типов параметров.

Тип параметра Длина в байтах
Логический 1
Целый 4
Строка [Длина] Длина*2 + 2
Вещественный [Общая длина, Длина дробной части] Общая длина Длина в байтах
1 - 9 5
10-19 9
20-28 13
ДатаВремя 8
Бинарный 16
Текст 16
Объектный 31
Список 0
Структура 0
Перечисление 4
Таблица 5. Длина в байтах для различных типов параметров


Опция параметра Не хранимый отвечает за то, будет ли параметр сам хранить информацию (хранимый параметр) или же не будет, а будет использоваться для вывода данных, хранящихся в других параметрах системы (не хранимый параметр). Пользовательский параметр может быть не хранимым, примеры создания таких параметров см. в Примеры создания нехранимых параметров с помощью MetaEdit.

Опция параметра Мультиязычный отвечает за то, будет ли параметр мультиязычным, т.е. будет ли он поддерживать одновременно разные значения на разных языках базы. У не мультиязычного параметра объекта будет одно значение вне зависимости от количества языков в базе.

На вкладке "Доп. опции" определяется набор дополнительных опций параметра класса. Они позволяют указывать заголовки, управлять порядком и видимостью по умолчанию, настраивать действия. Из контекстного меню можно вносить доп. опции по категориям. Удаление опции производится из контекстного меню выбором пункта "Удалить выделенные строки". Описание дополнительных опций параметра приведено в Таблице 6 Дополнительные опции параметров классов.

Внимание! Для системных параметров часть дополнительных опций уже заполнена по умолчанию, такие дополнительные опции недоступны для редактирования и выделяются на вкладке "Доп. опции" серым цветом. Все остальные дополнительные опции для системных параметров доступны для заполнения.

Для пользовательских параметров все дополнительные опции доступны для заполнения.

На вкладке "Описание" можно дать многострочное описание функционального назначения параметра класса и его места в объектной иерархии. Если описание оставить пустым, то оно автоматически заполнится заголовком параметра класса.

Название Тип Назначение
Категория "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 - синхронизация не используется.
Прочее
Название доп. опции Тип доп. опции Значение опции: =<Название доп. опции данного или одного из вышележащих классов>.

В случае использования данного механизма доп. опции параметра класса присваивается значение указанной произвольной опции (переменной) данного или одного из вышележащих классов. Если опция определена в одном из вышележащих классов и в одном из классов-потомков ее значение переопределено - доп. опции будет присвоено переопределенное значение. Механизм может применяться, например, для управления видимостью параметров в классах-потомках (в одних потомках параметр виден, в других - нет).
Таблица 6. Дополнительные опции параметров классов

Особенности создания параметров с типом "Структура"

После создания в метаданных параметра с типом "Структура" и применения этих метаданных к базе необходимо для этой базы запустить команду пересохранения структур класса, в котором такой параметр был добавлен.

Вид командной строки: /runcmd="База.КлиентскиеУтилиты.ПересохранитьСтруктурыКласса СИСТЕМНОЕ_ИМЯ_КЛАССА"

Аргументы:

СИСТЕМНОЕ_ИМЯ_КЛАССА - полное системное имя класса Business Studio (например, БизнесМодель.Процессы), в котором был добавлен параметр с типом "Структура". Системное имя класса отображается в Объектной модели.

Подробнее о работе с командной строкой см. Командная строка.

Свойства перечисления

Окно Свойства перечисления (Рис. 5) вызывается при добавлении нового перечисления или редактировании существующего. При создании пользовательских перечислений к их названию добавляется префикс "usr_".

На вкладке Элементы задается список элементов перечисления. Параметры перечисления:

  • Значение - числовое значение элемента;
  • Название - системное название элемента;
  • Описание - заголовок элемента, который отображается в интерфейсе программы.

Вызов перечисления на редактирование осуществляется выбором соответствующего пункта контекстного меню.

Редактирование доступно для:

  • параметра Описание системных перечислений на всех языках, кроме Языка по умолчанию (см. Термины) и русского (ru);
  • всех параметров пользовательских перечислений на всех языках.

Внимание! Не рекомендуется изменять системное название элемента пользовательского перечисления, так как в этом случае потребуется заново вводить значения параметра Описание на всех языках.


Рисунок 5

Удаление элемента перечисления осуществляется выбором соответствующего пункта контекстного меню.

Параметр Множество позволяет задавать параметру объекта несколько значений из перечисления. При изменении параметра Множество во включенное состояние для уже созданных объектов, информация в базе не теряется. При отключении параметра Множество информация в базе по параметрам объектов этого перечисления утратится.

Внимание! Для независимых элементов перечисления-множества, необходимо значениям элементов присваивать степени двойки: 1,2,4,8,…


На вкладке Доп.опции можно задать значение доп. опций "RepositoryView.Visible" и "PropertyView.Header", их работа идентична работе соответствующих опций классов (см. Таблицу 3 в Свойства класса).

На вкладке Описание дается многострочное описание перечисления.

Добавление SQL индекса

SQL индексы предназначены для ускорения работы фильтров, где фильтрация происходит по параметрам, которые включены в индекс.

Форма "Добавление SQL индекса" (Рис. 6) вызывается при добавлении нового SQL индекса или редактировании существующего. Создание и редактирование SQL индексов возможно для хранимых справочников. В индекс могут входить хранимые параметры всех типов, кроме списков и структур. К названию SQL индекса добавляется префикс STU_.

Внимание! Добавлять SQL индексы для объектных полей не требуется, так как для них уже присутствуют системные индексы по умолчанию.


Добавление новых и изменение существующих индексов производится выбором соответствующего пункта контекстного меню на вкладке "Индексы".

Рисунок 6
« ПредыдущаяНа уровень вышеСледующая »
 
Driven by DokuWiki