Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

ru:technical_manual:editor_param_class:edit_metadata [2012/12/24 10:58]
belkin [Свойства класса]
ru:technical_manual:editor_param_class:edit_metadata [2023/04/03 16:49] (текущий)
aliev
Строка 7: Строка 7:
 ===== Список модулей ===== ===== Список модулей =====
  
-Вверху окна расположен раскрывающий список модулей и кнопка, вызывающая меню (Рис. 2). Раскрывающийся список содержит список модулей, включенных в метаданные.+Структура данных представлена тремя модулями: База, БизнесМодель, CRM. 
 + 
 +**База** – общий функционал, независимо от предметной области (права, меню, отчеты, импорт и т.д.). При заведении объектных параметров и списков можно использовать только классы модуля База. Дочерние классы можно создавать любых модулей
 + 
 +**БизнесМодель** – функционал предметного решения (предметные классыдиаграммы). При заведении объектных параметров и списков можно использовать классы модуля База и БизнесМодельДочерние классы можно создавать только модуля БизнесМодель. 
 + 
 +**CRM** -  модуль почтовых рассылок. При заведении объектных параметров и списков можно использовать классы модуля База и CRM. Дочерние классы можно создавать только модуля CRM. 
 + 
 +Вверху окна расположен раскрывающийся список модулей и кнопка {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_042.png?nolink}}, вызывающая меню (Рис. 2).
  
 [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_040.png?nolink |Рисунок 2}}] [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_040.png?nolink |Рисунок 2}}]
  
-По кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_042.png?25x22&nolink}} можно настроить отображающиеся в дереве классы: отображать классы только текущего модуля, показывать удаленные.+Раскрывающийся список содержит список модулей, включенных в метаданные. Выбранный модуль используется для создания нового класса, класс создается с учетом логики, описанной выше. Классы, не относящиеся к текущему модулю, будут выделены в дереве серым цветом. 
 + 
 +По кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_042.png?nolink}} можно настроить отображающиеся в дереве классы: отображать классы только текущего модуля, показывать удаленные.
  
 //Отображать классы тек. модуля// - Если опция меню отмечена, то при выборе модуля из раскрывающегося списка модулей, в дереве классов будут отображены только классы, принадлежащие выбранному модулю. Если опция не выбрана, то в дереве классов будут показаны все классы, независимо от их модульной принадлежности, но классы, не относящиеся к текущему модулю, будут неактивны, то есть будут выделены в дереве серым цветом. Если у класса, не принадлежащего текущему модулю, есть классы-наследники, принадлежащие текущему модулю, то класс-родитель выделяется в дереве классов синим цветом. //Отображать классы тек. модуля// - Если опция меню отмечена, то при выборе модуля из раскрывающегося списка модулей, в дереве классов будут отображены только классы, принадлежащие выбранному модулю. Если опция не выбрана, то в дереве классов будут показаны все классы, независимо от их модульной принадлежности, но классы, не относящиеся к текущему модулю, будут неактивны, то есть будут выделены в дереве серым цветом. Если у класса, не принадлежащего текущему модулю, есть классы-наследники, принадлежащие текущему модулю, то класс-родитель выделяется в дереве классов синим цветом.
Строка 23: Строка 33:
 <startTableBox> <startTableBox>
 ^  Пиктограмма  ^  Значение  ^ ^  Пиктограмма  ^  Значение  ^
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_044.gif?20x16&nolink}}  | Класс - потомок класса «Классы». | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_044.gif?20x16&nolink}}  | Класс - потомок класса "Классы". | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_045.gif?22x19&nolink}}  | Перечисление - потомок типа «Перечисления». | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_045.gif?22x19&nolink}}  | Перечисление - потомок типа "Перечисления". | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_046.gif?20x17&nolink}}  | Класс - потомок класса «Элементы списков». | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_046.gif?20x17&nolink}}  | Класс - потомок класса "Элементы списков". | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_047.gif?9x11&nolink}}  | Наличие этого элемента в пиктограмме обозначает, что класс допускает хранимые ссылки. | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_047.gif?9x11&nolink}}  | Наличие этого элемента в пиктограмме означает, что класс допускает хранимые ссылки. | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_048.gif?10x9&nolink}}  | Наличие этого элемента в пиктограмме обозначает, что класс нехранимый. | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_048.gif?10x9&nolink}}  | Наличие этого элемента в пиктограмме означает, что класс нехранимый. | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_049.gif?11x13&nolink}}  | Наличие этого элемента в пиктограмме обозначает, что класс доступен только для просмотра. | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_049.gif?11x13&nolink}}  | Наличие этого элемента в пиктограмме означает, что класс системный, доступен только для просмотра. | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_050.gif?12x13&nolink}}  | Наличие этого элемента в пиктограмме обозначает, что класс пользовательский есть возможность редактирования. |+|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_050.gif?12x13&nolink}}  | Наличие этого элемента в пиктограмме означает, что класс пользовательскийесть возможность редактирования. |
 <endTableBox|Таблица 1. Пиктограммы классов> <endTableBox|Таблица 1. Пиктограммы классов>
  
Строка 37: Строка 47:
 | Добавить | Добавляет класс на том же уровне, где находится текущий класс. Другими словами, новый класс будет иметь тот же класс-родитель, что и текущий класс, и принадлежать текущему модулю, который выбран в списке модулей. | | Добавить | Добавляет класс на том же уровне, где находится текущий класс. Другими словами, новый класс будет иметь тот же класс-родитель, что и текущий класс, и принадлежать текущему модулю, который выбран в списке модулей. |
 | Добавить\\ от текущего | Добавляет класс уровнем ниже текущего класса. То есть текущий класс будет являться классом-родителем для нового класса, и новый класс будет принадлежать текущему модулю, который выбран в списке модулей. | | Добавить\\ от текущего | Добавляет класс уровнем ниже текущего класса. То есть текущий класс будет являться классом-родителем для нового класса, и новый класс будет принадлежать текущему модулю, который выбран в списке модулей. |
-| Редактировать | Вызывает форму «Свойства класса» для редактирования названия класса, набора системных и дополнительных опций. Редактировать можно только пользовательские классы. | +| Редактировать | Вызывает форму "Свойства классадля просмотра и редактирования названия класса, набора системных и дополнительных опций. Для системных классов доступно только добавление новых дополнительных опций и их редактирование. | 
-Просмотреть | Вызывает форму «Свойства класса» для просмотра. | +Удалить | Удаляет текущий класс, оставляя возможность восстановления командой "Восстановить" контекстного меню строки класса. | 
-| Удалить | Удаляет текущий класс. | +| Удалить полностью | Удаляет текущий класс полностью, без возможности восстановления. | 
-| Найти | Выводит форму поиска для поиска класса в дереве по имени класса. При успешном поиске найденный класс становится текущим. | +| Восстановить | Восстанавливает ранее удаленный класс. | 
-| Найти далее | Продолжает поиск класса в дереве, по заданному ранее имени. |+| Найти | Выводит форму для задания настроек поиска класса или параметра (задаётся название и область поиска: по классам, по параметрам или по классам и параметрам) и запуска поиска. При успешном поиске найденный класс или параметр становится текущим. | 
 +| Найти далее | Продолжает поиск с заданными ранее настройками (название и область поиска). | 
 +| Поиск ссылок на класс | Поиск классов, имеющих ссылки на текущий класс. |
 <endTableBox|Таблица 2. Контекстное меню дерева классов> <endTableBox|Таблица 2. Контекстное меню дерева классов>
 ===== Свойства класса ===== ===== Свойства класса =====
  
-Форма «Свойства класса» (Рис. 3) вызывается при добавлении нового класса, редактировании или просмотре существующего. Создание и редактирование возможно только для пользовательских классов, к  их названию  добавляется префикс //usr_//. Вызов класса на редактирование осуществляется выбором пункта  контекстного меню.+Форма "Свойства класса(Рис. 3) вызывается при добавлении нового класса, редактировании или просмотре существующего. Создание и редактирование возможно только для пользовательских классов, к  их названию  добавляется префикс //usr_//. Вызов класса на редактирование осуществляется выбором пункта контекстного меню.
  
 [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_051.png?&nolink |Рисунок 3}}] [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_051.png?&nolink |Рисунок 3}}]
Строка 54: Строка 66:
 \\ \\
 == Внимание! == == Внимание! ==
-Имя пользовательских классов и параметров должно состоять из букв, цифр и знаков подчеркивания. Начинаться такие имена могут с буквы или со знака подчеркивания.+Имя пользовательского класса должно состоять из букв, цифр и знаков подчеркивания. Начинаться такие имена могут с буквы или со знака подчеркивания.
 ===== ===== ===== =====
 \\ \\
-Закладка «Опции» недоступна для изменений. Пользовательские классы и пользовательские элементы списков всегда хранимые.+Вкладка "Опциинедоступна для изменений. Пользовательские классы и пользовательские элементы списков всегда хранимые.
  
-На закладке «Доп. опции» определяется набор дополнительных опций класса. Из контекстного меню можно вносить доп. опции по категориям. Удаление опции производится из контекстного меню выбором пункта «Удалить строку». Описание дополнительных опций класса приведено в Таблица 3 //Дополнительные опции класса//.+На вкладке "Доп. опцииопределяется набор дополнительных опций класса. Из контекстного меню можно вносить доп. опции по категориям. Поддерживается мультистрочный ввод значений дополнительных опций. Удаление опции производится из контекстного меню выбором пункта "Удалить строку". Описание дополнительных опций класса приведено в Таблица 3 //Дополнительные опции класса//.
  
-На закладке «Ключи» задаются ключи для класса - как простые (уникальность проверяется по одному параметру), так и составные (уникальность проверяется по сочетанию нескольких параметров). Удаление ключа производится из контекстного меню по пункту «Удалить строку».+== Внимание! == 
 +Для системных классов часть дополнительных опций уже заполнена по умолчанию, такие дополнительные опции недоступны для редактирования и выделяются на вкладке "Доп. опции" серым цветом.  Все остальные дополнительные опции для системных классов доступны для заполнения. 
 + 
 +Для пользовательских классов все дополнительные опции доступны для заполнения. 
 +===== ===== 
 +\\ 
 +На вкладке "Ключизадаются ключи для класса - как простые (уникальность проверяется по одному параметру), так и составные (уникальность проверяется по сочетанию нескольких параметров). Удаление ключа производится из контекстного меню по пункту "Удалить строку".
  
-На закладке «Значения» устанавливаются значения параметров по умолчанию во вновь создаваемом объекте класса.+На вкладке "Значенияустанавливаются значения параметров по умолчанию во вновь создаваемом объекте класса
 +Для параметров с типом //Перечисление// (см. [[ru/technical_manual/editor_param_class/edit_metadata#свойства_перечисления|Свойства перечисления]]) значение по умолчанию может быть задано как перечислением наименований выбранных по умолчанию элементов перечисления через запятую, так и в бинарном виде - числом, равным сумме параметров //Значение// этих элементов перечисления.
  
 == Внимание! == == Внимание! ==
-Для класса обязательно задание значений по умолчанию для параметров //guid// и //Название//.+Для класса обязательно задание значений по умолчанию для параметров //guid// и //Название//. Значения могут быть сгенерированы автоматически на основе текущего названия класса с помощью нажатия на кнопку "Задать умолчания" в окне добавления/редактирования класса.
 ===== ===== ===== =====
 \\ \\
-На закладке «Описание» дается многострочное описание функционального назначения класса и его места в объектной иерархии.+На вкладке "Описаниедается многострочное описание функционального назначения класса и его места в объектной иерархии.
  
  
 <startTableBox> <startTableBox>
 ^  Название  ^  Тип  ^  Назначение  ^ ^  Название  ^  Тип  ^  Назначение  ^
-^  //Категория «ПоказКласса»//  ^^^ +^  //Категория "ПоказКласса"//  ^^^ 
-| ПоказКласса.Заголовок | Строка | Опция класса, содержит **//Заголовок//** класса, который будет показываться в стандартных формах в заголовке. Если значение не заданоберется **//ПолноеНаименование//** класса. |+| ПоказКласса.Заголовок | Строка | Опция класса, содержит **//Заголовок//** класса, который будет показываться в стандартных формах в заголовке. Если значение доп. опции не задано или доп. опция отсутствует на вкладке "Доп. опции" - берется **//ПолноеНаименование//** класса. |
 | ПоказКласса.ТолькоЧтение | Логика | Объект класса нельзя модифицировать, независимо от настроек прав. | | ПоказКласса.ТолькоЧтение | Логика | Объект класса нельзя модифицировать, независимо от настроек прав. |
-| ПоказКласса.Видимый | Логика | Для показа по умолчанию в формах выбора справочника (**Нет** - класс будет показан только после включения опции «Показывать все»). | +| ПоказКласса.Видимый | Логика | Для показа по умолчанию в формах выбора справочника (**Нет** - класс будет показан только после включения опции "Показывать все"), а также для показа в Навигаторе объектов (**Нет** - класс не будет показан в Навигаторе объектов кроме ситуации, когда он выведен на отдельной вкладке). | 
-| ПоказКласса.Иконка | Целое Номер иконки класса для показа в формах выбора справочников. Набор иконок недоступен для модификации. Нумерация иконок совпадает с нумерацией соответствующих графических файлов из папки Img, которая находится по следующему пути: <Каталог установки Business Studio>\Web\Img (например, C:\Program Files\STU-Soft\Business Studio 3.6\Web\Img\). |+| ПоказКласса.Иконка | Строка Иконка класса для показа в формах выбора справочников. Могут использоваться как иконки присутствующие в составе программы по умолчанию - для них требуемое значение этого параметра совпадает с нумерацией соответствующих графических файлов из папки objects, которая находится по следующему пути: <Каталог установки Business Studio>\BS_Portal\www\img\objects\ (например, C:\Program Files\STU-Soft\Business Studio 4.2\BS_Portal\www\img\objects\), так и иконки из своих библиотек - для них требуемое значение этого параметра включает путь к библиотеке с иконками и её индекс, подробнее о назначении для пользовательских классов таких иконок см. в примере [[ru/technical_manual/editor_param_class/examples/appointment_of_the_icon_for_a_user_class]]. |
 | ПоказКласса.ГлавныйКлюч |   | Имя главного ключа, по нему осуществляется автоматический импорт/экспорт и автогенерация объектов импорта. | | ПоказКласса.ГлавныйКлюч |   | Имя главного ключа, по нему осуществляется автоматический импорт/экспорт и автогенерация объектов импорта. |
 | ПоказКласса.Иерархический | Логика | Используется для импорта, для стандартных форм. \\ \\ Если значение опции **Да** - разрешается создавать группы в стандартных формах. При импорте объекты создаются группами, если этот момент не указан особо. \\ \\ **Нет** - Не разрешается создавать группы в стандартных формах. При импорте объекты создаются не группами, если этот момент не указан особо. | | ПоказКласса.Иерархический | Логика | Используется для импорта, для стандартных форм. \\ \\ Если значение опции **Да** - разрешается создавать группы в стандартных формах. При импорте объекты создаются группами, если этот момент не указан особо. \\ \\ **Нет** - Не разрешается создавать группы в стандартных формах. При импорте объекты создаются не группами, если этот момент не указан особо. |
 | ПоказКласса.ЗависимыеКлассы | Строка | Значение - перечень зависимых классов, которые хотелось бы открыть из данного класса. Обычно в зависимых классах есть объектный параметр исходного класса. | | ПоказКласса.ЗависимыеКлассы | Строка | Значение - перечень зависимых классов, которые хотелось бы открыть из данного класса. Обычно в зависимых классах есть объектный параметр исходного класса. |
 | ПоказКласса.ПолныйДоступ | Логика | **Да** - полный Доступ/Модификация объекта класса есть всегда, независимо от настроек прав. | | ПоказКласса.ПолныйДоступ | Логика | **Да** - полный Доступ/Модификация объекта класса есть всегда, независимо от настроек прав. |
-| ПоказКласса.Авторазмер | Логика | Если значение опции **Нет** - то авторазмер сетки снимается, и размер каждой колонки подбирается автоматически (появляется горизонтальная прокрутка). \\ \\ По умолчанию - **Да** (если ничего не задано). |+| ПоказКласса.Авторазмер | Логика | Если значение опции **Нет** - то авторазмер сетки снимается, и размер каждой колонки подбирается автоматически (появляется горизонтальная прокрутка). \\ \\ По умолчанию - **Да** (если значение доп. опции не задано или доп. опция отсутствует на вкладке "Доп. опции"). |
 | ПоказКласса.Синхронизировать | Логика | Определяет, будет ли на форме включена кнопка синхронизации. В формах списков объектов и форме редактирования объекта синхронизация включена по умолчанию. | | ПоказКласса.Синхронизировать | Логика | Определяет, будет ли на форме включена кнопка синхронизации. В формах списков объектов и форме редактирования объекта синхронизация включена по умолчанию. |
 +^  //Категория "EPC"//  ^^^
 +| EPC.Position | Строка | В качестве значения задаётся число, соответствующее позиции иконки данного класса на панели элементов диаграммы EPC (чем выше число - тем ниже иконка). |
 +| EPC.Shape | Строка | Для пользовательских классов можно задавать пользовательские фигуры (шейпы) для отображения их объектов на диаграммах нотации EPC, используя содержащий их набор элементов MS Visio формата vss/vssx, подробнее о данной возможности см. в примере [[ru/technical_manual/editor_param_class/examples/appointment_of_the_epc_shape_for_a_user_class]]. |
 <endTableBox|Таблица 3. Дополнительные опции класса> <endTableBox|Таблица 3. Дополнительные опции класса>
    
 +==== Особенности задания ключей для пользовательских классов ====
 +
 +При создании нового класса, требуется вручную завести для него ключи на одноименной вкладке в окне редактирования класса, если на этот класс будут ссылаться с помощью параметров типа "Объект" из других классов.
 +
 +Это требование применимо, если класс создается в качестве потомка от класса, не имеющего ключей (например, от "Элементы списков"). При создании же класса от родителя, имеющего ключи (например, "Объекты системы" - ключ "guid"), отдельно создавать ключи не требуется. 
 +
 +**Пример:** создание для класса из числа потомков класса "Элементы списков" вложенного списка/структуры (получается, что во вложенном списке/структуре окажется объектный параметр «Владелец» со ссылкой на родительский класс).
 +
 +В случае, если для любого класса из числа потомков класса "Элементы списков" (для определённости назовём его "Класс 1") создаётся параметр с типом "Список" или "Структура", необходимо для этого класса сделать следующее:
 +  - Создать параметр, значения которого будут уникальными в рамках класса, являющегося владельцем класса "Класс 1". Это может быть, например, "Номер документа", если список представляет собой список документов. В дальнейшем потребуется заполнять значение этого параметра для каждой строки списка с соблюдением этого условия по уникальности.
 +  - В окне редактирования класса, на вкладке "Ключ" создать для класса "Класс 1" новый ключ, в который включить 2 параметра: параметр, созданный в предыдущем пункте, и параметр "Владелец".
 +  - Применить изменения к базе данных.
 +
 +Это справедливо и для случаев, когда уровней вложенности несколько: например, если у класса "Класс 1" из числа потомков класса "Элементы списков" есть список, ссылающийся на класс "Класс 2", а у того - список, ссылающийся на класс "Класс 3", то описанное выше следует сделать для классов "Класс 1" и "Класс 2".
 +
 ===== Параметры класса ===== ===== Параметры класса =====
  
-Параметры выделенного класса отображаются в списке «Параметры». При создании параметров необходимо учитывать принцип наследования, описанный в [[ru/technical_manual/editor_param_class/terms]]. Не нужно создавать в классе параметры, дублирующие параметры класса-родителя.+Параметры выделенного класса отображаются в списке "Параметры". При создании параметров необходимо учитывать принцип наследования, описанный в [[ru/technical_manual/editor_param_class/terms]]. Не нужно создавать в классе параметры, дублирующие параметры класса-родителя.
  
 Параметры также имеют пиктограммы, значения которых приведены в таблице ниже. Параметры также имеют пиктограммы, значения которых приведены в таблице ниже.
Строка 97: Строка 134:
 ^  Пиктограмма  ^  Значение  ^ ^  Пиктограмма  ^  Значение  ^
 |  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_053.gif?15x19&nolink}}  | Параметр класса. | |  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_053.gif?15x19&nolink}}  | Параметр класса. |
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_054.gif?11x11&nolink}}  | Наличие этого элемента в пиктограмме означает, что этот параметр не хранимый, то есть  рассчитываемый, пользователь не сможет изменять его в программе. | +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_054.gif?11x11&nolink}}  | Наличие этого элемента в пиктограмме означает, что этот параметр не хранимый, то есть рассчитываемый, пользователь не сможет изменять его в программе. | 
-|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_049.gif?11x13&nolink}}  | Наличие этого элемента в пиктограмме означает, что этот параметр только для чтения, то есть системный,  редактирование такого параметра в структуре данных невозможно. |+|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_049.gif?11x13&nolink}}  | Наличие этого элемента в пиктограмме означает, что параметр системный, доступен только для просмотра. | 
 +|  {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_050.gif?12x13&nolink}}  | Наличие этого элемента в пиктограмме означает, что параметр пользовательский, есть возможность редактирования. |
 <endTableBox|Таблица 4. Пиктограммы параметров класса> <endTableBox|Таблица 4. Пиктограммы параметров класса>
  
Строка 108: Строка 146:
 | Добавить | Добавляет параметр в текущем классе. | | Добавить | Добавляет параметр в текущем классе. |
 | Удалить | Удаляет текущий параметр. | | Удалить | Удаляет текущий параметр. |
-| Редактировать параметр | Вызывает форму «Настройки параметра класса» для редактирования названия параметра, типа, набора дополнительных опций и описания параметра. | +| Редактировать параметр | Вызывает форму "Настройки параметра классадля просмотра и редактирования названия параметра, типа, набора дополнительных опций и описания параметра. |
-| Просмотреть параметр | Вызывает форму «Настройки параметра класса» только для просмотра настроек текущего параметра. |+
 | Перейти по ссылке  | Пункт меню доступен для не простых параметров (объектный, список, структура, перечисление). При выборе пункта осуществляется переход к классу, указанному в типе параметра. Таким образом, производится быстрая и наглядная навигация по дереву классов. | | Перейти по ссылке  | Пункт меню доступен для не простых параметров (объектный, список, структура, перечисление). При выборе пункта осуществляется переход к классу, указанному в типе параметра. Таким образом, производится быстрая и наглядная навигация по дереву классов. |
 <endTableBox|Таблица 5. Контекстное меню списка параметров классов> <endTableBox|Таблица 5. Контекстное меню списка параметров классов>
Строка 116: Строка 153:
 ===== Настройки параметра класса ===== ===== Настройки параметра класса =====
  
-Форма «Настройки параметров класса» (Рис. 4) вызывается при добавлении нового параметра или редактировании существующего. Создание и редактирование возможно только для пользовательских параметров, к  их названию  добавляется префикс //usr////_//. Вызов параметра на редактирование осуществляется либо выбором соответствующей опции всплывающего меню, либо двойным щелчком на параметре левой кнопкой мыши.+Форма "Настройки параметров класса(Рис. 4) вызывается при добавлении нового параметра или редактировании существующего. Создание и редактирование возможно только для пользовательских параметров, к  их названию  добавляется префикс //usr////_//.  
 +== Внимание! == 
 +Имя пользовательского параметра должно состоять из букв, цифр и знаков подчеркивания. Начинаться такие имена могут с буквы или со знака подчеркивания. 
 +===== ===== 
 +Вызов параметра на редактирование осуществляется либо выбором соответствующей опции всплывающего меню, либо двойным щелчком на параметре левой кнопкой мыши.
  
 [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_055.png?nolink |Рисунок 4}}] [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_055.png?nolink |Рисунок 4}}]
  
-На закладке «Опции» необходимо выбрать тип параметра: //простой, объектный, список, структура, перечисление//.+На вкладке "Опциинеобходимо выбрать тип параметра: //простой, объектный, список, структура, перечисление//.
  
-Если тип параметра //Простой//, то необходимо уточнить его тип: //логический, целый, строка, вещественный, датавремя, изображение, бинарный или текст.// Для параметра типа //Строка// необходимо указать длину, максимум 4000 символов. Для параметра типа //Вещественный// необходимо указать длину и точность (количество знаков после запятой), максимум 28 символов. Если тип параметра //Объектный//, то необходимо указать класс, который будет являться типом объектов, на которые будет ссылаться этот параметр.+Если тип параметра //Простой//, то необходимо уточнить его тип: //логический, целый, строка, вещественный, датавремя, изображение, бинарный или текст.// Для параметра типа //Строка// необходимо указать длину, максимум 4000 символов. Для параметра типа //Вещественный// необходимо указать общую длину и длину дробной части (количество знаков после запятой), максимум 28 символов. Если тип параметра //Объектный//, то необходимо указать класс, который будет являться типом объектов, на которые будет ссылаться этот параметр.
  
-Если тип параметра //Список// или //Структура//, то необходимо указать элементы списка, которые будут являться типом объектов, на которые будет ссылаться этот параметр.+Если тип параметра //Список// или //Структура//, то необходимо указать элементы списка, которые будут являться типом объектов, на которые будет ссылаться этот параметр. Указанные таким образом классы должны быть конечными (не иметь потомков) и не должны быть созданы под классами, уже указанными в каких-либо параметрах с типом //Список// или //Структура//.
  
-Если тип параметра //Перечисление//, то в качестве типа объектов указывается перечисление. Тип параметра выбирается по кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_057.png?24x23&nolink}}.+Если тип параметра //Перечисление//, то в качестве типа объектов указывается перечисление. Тип параметра выбирается по кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_057.png?nolink}}.
  
 == Внимание! == == Внимание! ==
-Общая длина (сумма длин всех параметров) класса, заданных на одном уровне в иерархии классов, не должна превышать 8000 Байт. Таблица длин параметров приведена в п. 4.5 Длина в байтах для различных типов параметров.+Общая длина (сумма длин всех параметров) класса, заданных на одном уровне в иерархии классов, не должна превышать 8000 Байт. Длина параметров различных типов в байтах приведена ниже в Таблица 6 //Длина в байтах для различных типов параметров//.
 ===== ===== ===== =====
 +
 +<startTableBox>
 +^  Тип параметра  ^  Длина в байтах  ^^
 +| Логический | 1 ||
 +| Целый | 4 ||
 +| Строка [Длина] | Длина*2 + 2 ||
 +| Вещественный [Общая длина, Длина дробной части] ^  **Общая длина**  ^  **Длина в байтах**  ^
 +| ::: |  1 - 9  |  5  |
 +| ::: |  10-19  |  9  |
 +| ::: |  20-28  |  13  |
 +| ДатаВремя | 8 ||
 +| Изображение | 16 ||
 +| Бинарный | 16 ||
 +| Текст | 16 ||
 +| Объектный | 31 ||
 +| Список | 0 ||
 +| Структура | 0 ||
 +| Перечисление | 4 ||
 +<endTableBox|Таблица 6. Длина в байтах для различных типов параметров>
 \\ \\
 Опции параметра //Только для чтения//, //История// и //Наследуемый// недоступны для изменений, т.к. пользовательские параметры всегда редактируемые, без истории, не наследуемые. Опции параметра //Только для чтения//, //История// и //Наследуемый// недоступны для изменений, т.к. пользовательские параметры всегда редактируемые, без истории, не наследуемые.
  
-Пользовательский параметр может быть не хранимым, т.е. он может сам не хранить информацию, а использоваться для вывода данных, хранящихся в других параметрах системы.+Пользовательский параметр может быть не хранимым, т.е. он может сам не хранить информацию, а использоваться для вывода данных, хранящихся в других параметрах системы. Примеры создания таких параметров см. в [[ru/technical_manual/editor_param_class/examples/create_not_stored_parameters]].
  
-Например, можно создать для класса //Процессы// пользовательский параметр для вывода данных из параметра процесса //Версия.Автор//.+На вкладке оп. опции" определяется набор дополнительных опций параметра класса. Они позволяют указывать заголовки, управлять порядком и видимостью по умолчанию, настраивать действия. Из контекстного меню можно вносить доп. опции по категориям. Удаление опции производится из контекстного меню выбором пункта "Удалить выделенные строки". Описание дополнительных опций параметра приведено в Таблица //Дополнительные опции параметров классов//.
  
-Это делается следующим образом: для класса Процессы создается параметр, аналогичный тому, что заведен у Версии, т.ена закладке «Опции» формы настройки параметра задается Тип параметра - значение //Простой//Тип свойства - значение //Строка [100],// устанавливается галочка для опции «Не хранимый». Далее открывается закладка «Доп. опции» и вводится опция //Показ.Префикс// со значением //Версия.Автор//.+== Внимание! == 
 +Для системных параметров часть дополнительных опций уже заполнена по умолчанию, такие дополнительные опции недоступны для редактирования и выделяются на вкладке "Доп. опции" серым цветом.  Все остальные дополнительные опции для системных параметров доступны для заполнения.
  
-На закладке «Доп. опции» определяется набор дополнительных опций параметра класса. Они позволяют указывать заголовки, управлять порядком и видимостью по умолчанию, настраивать действия. Из контекстного меню можно вносить допопции по категориям. Удаление опции производится из контекстного меню выбором пункта «Удалить строку». Описание дополнительных опций параметра приведено в Таблица 6 //Дополнительные опции параметров классов//.+Для пользовательских параметров все дополнительные опции доступны для заполнения. 
 +===== =====
  
-На закладке «Описание» можно дать многострочное описание функционального назначения параметра класса и его места в объектной иерархии.+На вкладке "Описаниеможно дать многострочное описание функционального назначения параметра класса и его места в объектной иерархии.
  
  
 <startTableBox> <startTableBox>
 ^  Название  ^  Тип  ^  Назначение  ^ ^  Название  ^  Тип  ^  Назначение  ^
-^  //Категория «Показ»//  ^^^+^  //Категория "Показ"//  ^^^
 | Показ.Заголовок | Строка | Содержит **//Заголовок//** параметра, который будет показываться в стандартных формах. \\ Если значение не задано, берется **//Наименование//** параметра. | | Показ.Заголовок | Строка | Содержит **//Заголовок//** параметра, который будет показываться в стандартных формах. \\ Если значение не задано, берется **//Наименование//** параметра. |
-| Показ.Видимый | Логика | Если значение опции **Да** - то параметр показывается в форме списка. Если опция не заполнена - **Да**. | +| Показ.Видимый | Логика | Если значение опции **Да** - то параметр показывается в форме списка. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - **Да**. | 
-| Показ.ВидимыйОб | Логика | Если значение опции **Да** - то параметр показывается в форме единичного показа. Если опция не заполнена, то используется значение опции «Видимый». |+| Показ.ВидимыйОб | Логика | Если значение опции **Да** - то параметр показывается в форме единичного показа. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - используется значение опции "Видимый". |
 | Показ.НаВкладке | Логика | Указывается для параметров-списков. Если значение опции **Да**, то список отображается на вкладке в форме единичного показа. Если опция не заполнена - **Нет**. | | Показ.НаВкладке | Логика | Указывается для параметров-списков. Если значение опции **Да**, то список отображается на вкладке в форме единичного показа. Если опция не заполнена - **Нет**. |
-| Показ.Редактирование | Логика | Если значение опции **Да** - то параметр редактируется в форме списка. Если опция не заполнена - **Нет**. | +| Показ.Редактирование | Логика | Если значение опции **Да** - то параметр редактируется в форме списка. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - **Нет**. | 
-| Показ.РедактированиеОб | Логика | Если значение опции **Да** - то параметр редактируется в форме единичного показа. Если опция не заполнена - **Нет**. |+| Показ.РедактированиеОб | Логика | Если значение опции **Да** - то параметр редактируется в форме единичного показа. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - **Нет**. |
 | Показ.Обязательный | Логика | **Да/Нет.** Служит для выделения параметров, обязательных для ввода. | | Показ.Обязательный | Логика | **Да/Нет.** Служит для выделения параметров, обязательных для ввода. |
-| Показ.Номер | Целое | Показывает порядковый номер расположения параметра на форме списка объектов. \\ \\ **Внимание!** В системе есть возможность добавлять/убирать колонки, используя специальную форму. \\ \\ Если вы хотите, чтобы параметр не показывался по умолчанию, но пользователь в дальнейшем может захотеть его показать, нужно проставить Показ.Номер = -1.  Тем самым параметр появится в форме кустомизации колонок и можно его перетащить на основную форму. Также если используется опция Показ.Превью то нужно чтобы поле присутствовало в сетке, т.е. нужно ставить Показ.Номер = -1. \\ \\ Следует отметить, что в отличие от формы настройки колонок скрытые колонки загружаются, что снижает быстродействие. | +| Показ.Номер | Целое | Показывает порядковый номер расположения параметра на форме списка объектов. \\ \\ **Внимание!** В системе есть возможность добавлять/убирать колонки, используя специальную форму. \\ \\ Если вы хотите, чтобы параметр не показывался по умолчанию, но пользователь в дальнейшем имел возможность вывести его на показ, нужно проставить Показ.Номер = -1.  Тем самым параметр появится в форме настройки колонок и можно его перетащить на основную форму. \\ \\ Следует отметить, что в отличие от формы настройки колонок скрытые колонки загружаются, что снижает быстродействие. | 
-| Показ.НомерОб | Целое | Задает порядковый номер расположения параметра на форме единичного показа объекта. Для параметров-списков - порядковый номер вкладки. \\ \\ **Внимание!** Если опция не заполнена, то порядковый номер заполнится от Показ.Номер. |+| Показ.НомерОб | Целое | Задает порядковый номер расположения параметра на форме единичного показа объекта. Для параметров-списков - порядковый номер вкладки. \\ \\ **Внимание!** Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции", то порядковый номер заполнится от Показ.Номер. |
 | Показ.МинРазмер | Целое | Минимальный размер колонки, по умолчанию 0. Необходимо, например, при авторазмере, когда нужно, чтобы название обязательно было полностью видимым. | | Показ.МинРазмер | Целое | Минимальный размер колонки, по умолчанию 0. Необходимо, например, при авторазмере, когда нужно, чтобы название обязательно было полностью видимым. |
 | Показ.Размер | Целое | Задает размер колонки в сетке в форме списка объектов. | | Показ.Размер | Целое | Задает размер колонки в сетке в форме списка объектов. |
Строка 162: Строка 224:
 | Показ.Формат | Строка | Значение - формат вывода значения параметра в формате C# (см. [[ru/manual/manual]], глава [[ru/manual/administration/numerators_classes]]). Выводит значение параметра в заданном формате в форме списка. | | Показ.Формат | Строка | Значение - формат вывода значения параметра в формате C# (см. [[ru/manual/manual]], глава [[ru/manual/administration/numerators_classes]]). Выводит значение параметра в заданном формате в форме списка. |
 | Показ.ФорматОб | Строка | Значение - формат вывода значения параметра в формате C#. Выводит значение параметра в заданном формате в форме редактирования объекта. | | Показ.ФорматОб | Строка | Значение - формат вывода значения параметра в формате C#. Выводит значение параметра в заданном формате в форме редактирования объекта. |
-| Показ.Превью | Логика | Параметр, у которого стоит значение **Да**, появится в виде поля превью под строкой (если заполнен), например, комментарий. \\ \\ **Внимание!** Чтобы этот параметр показывался, нужно поставить Показ.Номер = -1. \\ \\ Также, если хотите, чтобы это поле показывалось в форме показа объекта - проставьте Показ.НомерОб = 100 (например). \\ \\ Следовательно, данную опцию нужно заполнять, когда порядок в единичной форме показа отличается от формы списка, например Комментарий, который не показывается в форме списка (Показ.Номер=-1), но показывается в форме единичного показа Показ.НомерОб  =  100. \\ ** ** | +| Показ.Превью | Логика | Параметр, у которого стоит значение **Да**, появится в виде поля превью под строкой (если заполнен), например, комментарий. \\ \\ **Внимание!** Чтобы этот параметр показывался в виде поля превью под строкой, но не показывался при этом в виде колонки в форме списка, нужно для него установить Показ.Номер = -1. \\ \\ Также, если хотите, чтобы это поле показывалось в форме показа объекта - проставьте Показ.НомерОб = 100 (например). \\ \\ Следовательно, данную опцию нужно заполнять, когда порядок в единичной форме показа отличается от формы списка, например Комментарий, который не показывается в форме списка (Показ.Номер=-1), но показывается в форме единичного показа Показ.НомерОб  =  100. \\ ** ** | 
-| Показ.Префикс | Строка | Указывается для не хранимых параметров. Значение - ссылка на параметр объекта. \\ \\ Предназначен для вывода вложенных параметров, например //Версия.Автор//. Пример создания такого параметра см. на стр.30. \\ \\ **Внимание!** Тип параметра, для которого задается данная доп. опция, обязательно должен совпадать с типом параметра, на который идет ссылка. \\ ** ** | +| Показ.Префикс | Строка | Может указываться для не хранимых параметров. Значение - ссылка на параметр объекта. \\ \\ Предназначен для вывода вложенных параметров, например //Версия.Автор//. Пример создания такого параметра см. в [[ru/technical_manual/editor_param_class/examples/create_not_stored_parameters#пример_создания_не_хранимого_параметра|Пример создания не хранимого параметра]]. \\ \\ **Внимание!** Тип параметра, для которого задается данная доп. опция, обязательно должен совпадать с типом параметра, на который идет ссылка. \\ ** ** 
-^  //Категория «Редактирование»//  ^^^ +| Показ.ФорматСводный | Строка | Может указываться для не хранимых параметров с типом "Строка". Значение - комбинация из ссылок на параметры объекта с типом "Строка", каждая из которых заключена в квадратные скобки, и произвольного текста. \\ \\ Пример создания такого параметра см. в [[ru/technical_manual/editor_param_class/examples/create_not_stored_parameters#пример_создания_не_хранимого_сводного_параметра|Пример создания не хранимого сводного параметра]]. 
-| Редактирование.Эдитор | Строка | Задает эдитор на экранных формах списков, отличный от стандартного (по умолчанию) для формы списка объектов. \\ \\ Например, для параметра типа Текст эдитор может быть MemoEdit (с просмотром содержимого) или RichEdit (текст в формате RTF), по умолчанию привязан эдитор MemoEditEx - без просмотра содержимого в сетке. \\ \\ **Примечание:** Эдитор MemoEdit может быть привязан и к параметру типа строка, если нужно автоматически увеличивать высоту ячейки, если строка не помещается. Пользоваться этой возможностью нужно осторожно - нельзя позволять редактировать строку этим эдитором (только просмотр) - так как пользователь может вставить перевод строки. \\ \\ Возможные значения: \\ - MemoEdit, RichEdit (вместо MemoEditEx по умолчанию); \\ - PictureEdit (вместо ImageEdit по умолчанию); \\ - ProgressBar (вместо SpinEdit); \\ - ButtonEdit (для привязки эдитора для выбора, при нажатии на кнопку которого должен выполниться метод, описанный в опции **ДействиеПоКнопке**). |+^  //Категория "Редактирование"//  ^^^ 
 +| Редактирование.Эдитор | Строка | Задает эдитор на экранных формах списков, отличный от стандартного (по умолчанию) для формы списка объектов. \\ \\ Например, для параметра типа Текст эдитор может быть MemoEdit (с просмотром содержимого) или RichEdit (текст в формате RTF), по умолчанию привязан эдитор MemoEditEx - без просмотра содержимого в сетке. \\ \\ **Примечание:** Эдитор MemoEdit может быть привязан и к параметру типа строка, если нужно автоматически увеличивать высоту ячейки, если строка не помещается. Пользоваться этой возможностью нужно осторожно - нельзя позволять редактировать строку этим эдитором (только просмотр) - так как пользователь может вставить перевод строки. \\ \\ Возможные значения: \\ - MemoEdit, RichEdit (вместо MemoEditEx по умолчанию); \\ - PictureEdit (вместо ImageEdit по умолчанию); \\ - ButtonEdit (для привязки эдитора для выбора, при нажатии на кнопку которого должен выполниться метод, описанный в опции **ДействиеПоКнопке**). |
 | Редактирование.ЭдиторОб | Строка | Задает эдитор на экранных формах объекта, отличный от стандартного (по умолчанию) для формы редактирования объекта. | | Редактирование.ЭдиторОб | Строка | Задает эдитор на экранных формах объекта, отличный от стандартного (по умолчанию) для формы редактирования объекта. |
-| Редактирование.Действие-ПоКнопке | Строка | В качестве значения используется имя метода, который будет запускаться на исполнение при нажатии кнопки **«»** эдитора (переопределенного в опции **Эдитор**, либо **ЭдиторОб** в значение ButtonEdit). \\ ** ** |+| Редактирование.Действие-ПоКнопке | Строка | В качестве значения используется имя метода, который будет запускаться на исполнение при нажатии кнопки **""** эдитора (переопределенного в опции **Эдитор**, либо **ЭдиторОб** в значение ButtonEdit). \\ ** ** |
 | Редактирование.Действие-ПоКнопкеУдалить | Строка | В качестве значения используется имя метода, который будет запускаться на исполнение при нажатии кнопки с крестом эдитора (переопределенного в опции **Эдитор**, либо **ЭдиторОб** в значение ButtonEdit). \\ ** ** | | Редактирование.Действие-ПоКнопкеУдалить | Строка | В качестве значения используется имя метода, который будет запускаться на исполнение при нажатии кнопки с крестом эдитора (переопределенного в опции **Эдитор**, либо **ЭдиторОб** в значение ButtonEdit). \\ ** ** |
-^  //Категория «Связи»//  ^^^+^  //Категория "Связи"//  ^^^
 | Связи.Синхронизировать | Логика | Если значение опции **Да**, то по этому объектному полю будет синхронизироваться форма редактирования объекта данного класса. \\ \\ Если значение **Нет** - синхронизация не используется. | | Связи.Синхронизировать | Логика | Если значение опции **Да**, то по этому объектному полю будет синхронизироваться форма редактирования объекта данного класса. \\ \\ Если значение **Нет** - синхронизация не используется. |
 ^  //Прочее//  ^^^ ^  //Прочее//  ^^^
 | Название доп. опции | Тип доп. опции | Значение опции: =<Название доп. опции данного или одного из вышележащих классов>. \\ \\ В случае использования данного механизма доп. опции параметра класса присваивается значение указанной произвольной опции (переменной) данного или одного из вышележащих классов. Если опция определена в одном из вышележащих классов и в одном из классов-потомков ее значение переопределено - доп. опции будет присвоено переопределенное значение. Механизм может применяться, например, для управления видимостью параметров в классах-потомках (в одних потомках параметр виден, в других - нет). | | Название доп. опции | Тип доп. опции | Значение опции: =<Название доп. опции данного или одного из вышележащих классов>. \\ \\ В случае использования данного механизма доп. опции параметра класса присваивается значение указанной произвольной опции (переменной) данного или одного из вышележащих классов. Если опция определена в одном из вышележащих классов и в одном из классов-потомков ее значение переопределено - доп. опции будет присвоено переопределенное значение. Механизм может применяться, например, для управления видимостью параметров в классах-потомках (в одних потомках параметр виден, в других - нет). |
-<endTableBox|Таблица 6. Дополнительные опции параметров классов> +<endTableBox|Таблица 7. Дополнительные опции параметров классов> 
- + 
 +==== Особенности создания параметров с типом "Структура" ==== 
 + 
 +После создания в метаданных параметра с типом "Структура" и применения этих метаданных к базе необходимо для этой базы запустить команду пересохранения структур класса, в котором такой параметр был добавлен. 
 + 
 +**Вид командной строки:** /runcmd="База.КлиентскиеУтилиты.ПересохранитьСтруктурыКласса СИСТЕМНОЕ_ИМЯ_КЛАССА" 
 + 
 +**Аргументы:** 
 + 
 +СИСТЕМНОЕ_ИМЯ_КЛАССА - полное системное имя класса Business Studio (например, БизнесМодель.Процессы), в котором был добавлен параметр с типом "Структура". Системное имя класса отображается в **Объектной модели**. 
 + 
 +Подробнее о работе с командной строкой см. [[ru/manual/administration/cmd_line]]. 
 ===== Свойства перечисления ===== ===== Свойства перечисления =====
  
-Форма «Свойства перечисления» (Рис. 5) вызывается при добавлении нового перечисления или редактировании существующего. Создание и редактирование возможно только для пользовательских перечислений, к их названию добавляется префикс //usr////_//. Вызов перечисления на редактирование осуществляется выбором соответствующей опции контекстного меню.+Форма "Свойства перечисления(Рис. 5) вызывается при добавлении нового перечисления или редактировании существующего. Создание и редактирование возможно только для пользовательских перечислений, к их названию добавляется префикс //usr////_//. Вызов перечисления на редактирование осуществляется выбором соответствующей опции контекстного меню. 
  
 [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_059.png?nolink |Рисунок 5}}] [{{ ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_059.png?nolink |Рисунок 5}}]
  
-На закладке «Элементы» задается список элементов перечисления. Параметры перечисления: //значение, наименование, описание.// Значение -  подставляемое значение, название - системное название элемента, описание - подставляемое название элемента. Удаление элемента перечисления осуществляется из контекстного меню.+На вкладке "Элементызадается список элементов перечисления. Параметры перечисления: //значение, наименование, описание.// Значение -  подставляемое значение, название - системное название элемента, описание - подставляемое название элемента. Удаление элемента перечисления осуществляется из контекстного меню.
  
 Параметр //Множество// позволяет задавать параметру объекта несколько значений из перечисления. При изменении параметра //Множество// во включенное состояние для уже созданных объектов, информация в базе не теряется. При отключении параметра //Множество// информация в базе по параметрам объектов этого перечисления утратится. Параметр //Множество// позволяет задавать параметру объекта несколько значений из перечисления. При изменении параметра //Множество// во включенное состояние для уже созданных объектов, информация в базе не теряется. При отключении параметра //Множество// информация в базе по параметрам объектов этого перечисления утратится.
Строка 189: Строка 264:
 ===== ===== ===== =====
 \\ \\
-На закладке «Описание» дается многострочное описание перечисления.+На вкладке "Описаниедается многострочное описание перечисления. 
 + 
 + 
 + 
 + 
 + 
 +[<contextnavigator>] 
 + 
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki