Различия

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

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

ru:technical_manual:editor_param_class:edit_metadata [2017/01/30 11: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?nolink}} можно настроить отображающиеся в дереве классы: отображать классы только текущего модуля, показывать удаленные. По кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_042.png?nolink}} можно настроить отображающиеся в дереве классы: отображать классы только текущего модуля, показывать удаленные.
Строка 26: Строка 36:
 |  {{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:
 | Добавить | Добавляет класс на том же уровне, где находится текущий класс. Другими словами, новый класс будет иметь тот же класс-родитель, что и текущий класс, и принадлежать текущему модулю, который выбран в списке модулей. | | Добавить | Добавляет класс на том же уровне, где находится текущий класс. Другими словами, новый класс будет иметь тот же класс-родитель, что и текущий класс, и принадлежать текущему модулю, который выбран в списке модулей. |
 | Добавить\\ от текущего | Добавляет класс уровнем ниже текущего класса. То есть текущий класс будет являться классом-родителем для нового класса, и новый класс будет принадлежать текущему модулю, который выбран в списке модулей. | | Добавить\\ от текущего | Добавляет класс уровнем ниже текущего класса. То есть текущий класс будет являться классом-родителем для нового класса, и новый класс будет принадлежать текущему модулю, который выбран в списке модулей. |
-| Редактировать | Вызывает форму "Свойства класса" для редактирования названия класса, набора системных и дополнительных опций. Редактировать можно только пользовательские классы. | +| Редактировать | Вызывает форму "Свойства класса" для просмотра и редактирования названия класса, набора системных и дополнительных опций. Для системных классов доступно только добавление новых дополнительных опций и их редактирование. |
-| Просмотреть | Вызывает форму "Свойства класса" для просмотра. |+
 | Удалить | Удаляет текущий класс, оставляя возможность восстановления командой "Восстановить" контекстного меню строки класса. | | Удалить | Удаляет текущий класс, оставляя возможность восстановления командой "Восстановить" контекстного меню строки класса. |
 | Удалить полностью | Удаляет текущий класс полностью, без возможности восстановления. | | Удалить полностью | Удаляет текущий класс полностью, без возможности восстановления. |
Строка 100: Строка 109:
 <endTableBox|Таблица 3. Дополнительные опции класса> <endTableBox|Таблица 3. Дополнительные опции класса>
    
 +==== Особенности задания ключей для пользовательских классов ====
 +
 +При создании нового класса, требуется вручную завести для него ключи на одноименной вкладке в окне редактирования класса, если на этот класс будут ссылаться с помощью параметров типа "Объект" из других классов.
 +
 +Это требование применимо, если класс создается в качестве потомка от класса, не имеющего ключей (например, от "Элементы списков"). При создании же класса от родителя, имеющего ключи (например, "Объекты системы" - ключ "guid"), отдельно создавать ключи не требуется. 
 +
 +**Пример:** создание для класса из числа потомков класса "Элементы списков" вложенного списка/структуры (получается, что во вложенном списке/структуре окажется объектный параметр «Владелец» со ссылкой на родительский класс).
 +
 +В случае, если для любого класса из числа потомков класса "Элементы списков" (для определённости назовём его "Класс 1") создаётся параметр с типом "Список" или "Структура", необходимо для этого класса сделать следующее:
 +  - Создать параметр, значения которого будут уникальными в рамках класса, являющегося владельцем класса "Класс 1". Это может быть, например, "Номер документа", если список представляет собой список документов. В дальнейшем потребуется заполнять значение этого параметра для каждой строки списка с соблюдением этого условия по уникальности.
 +  - В окне редактирования класса, на вкладке "Ключ" создать для класса "Класс 1" новый ключ, в который включить 2 параметра: параметр, созданный в предыдущем пункте, и параметр "Владелец".
 +  - Применить изменения к базе данных.
 +
 +Это справедливо и для случаев, когда уровней вложенности несколько: например, если у класса "Класс 1" из числа потомков класса "Элементы списков" есть список, ссылающийся на класс "Класс 2", а у того - список, ссылающийся на класс "Класс 3", то описанное выше следует сделать для классов "Класс 1" и "Класс 2".
 +
 ===== Параметры класса ===== ===== Параметры класса =====
  
Строка 111: Строка 135:
 |  {{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. Пиктограммы параметров класса>
  
Строка 121: Строка 146:
 | Добавить | Добавляет параметр в текущем классе. | | Добавить | Добавляет параметр в текущем классе. |
 | Удалить | Удаляет текущий параметр. | | Удалить | Удаляет текущий параметр. |
-| Редактировать параметр | Вызывает форму "Настройки параметра класса" для редактирования названия параметра, типа, набора дополнительных опций и описания параметра. | +| Редактировать параметр | Вызывает форму "Настройки параметра класса" для просмотра и редактирования названия параметра, типа, набора дополнительных опций и описания параметра. |
-| Просмотреть параметр | Вызывает форму "Настройки параметра класса" только для просмотра настроек текущего параметра. |+
 | Перейти по ссылке  | Пункт меню доступен для не простых параметров (объектный, список, структура, перечисление). При выборе пункта осуществляется переход к классу, указанному в типе параметра. Таким образом, производится быстрая и наглядная навигация по дереву классов. | | Перейти по ссылке  | Пункт меню доступен для не простых параметров (объектный, список, структура, перечисление). При выборе пункта осуществляется переход к классу, указанному в типе параметра. Таким образом, производится быстрая и наглядная навигация по дереву классов. |
 <endTableBox|Таблица 5. Контекстное меню списка параметров классов> <endTableBox|Таблица 5. Контекстное меню списка параметров классов>
Строка 139: Строка 163:
 На вкладке "Опции" необходимо выбрать тип параметра: //простой, объектный, список, структура, перечисление//. На вкладке "Опции" необходимо выбрать тип параметра: //простой, объектный, список, структура, перечисление//.
  
-Если тип параметра //Простой//, то необходимо уточнить его тип: //логический, целый, строка, вещественный, датавремя, изображение, бинарный или текст.// Для параметра типа //Строка// необходимо указать длину, максимум 4000 символов. Для параметра типа //Вещественный// необходимо указать длину и точность (количество знаков после запятой), максимум 28 символов. Если тип параметра //Объектный//, то необходимо указать класс, который будет являться типом объектов, на которые будет ссылаться этот параметр.+Если тип параметра //Простой//, то необходимо уточнить его тип: //логический, целый, строка, вещественный, датавремя, изображение, бинарный или текст.// Для параметра типа //Строка// необходимо указать длину, максимум 4000 символов. Для параметра типа //Вещественный// необходимо указать общую длину и длину дробной части (количество знаков после запятой), максимум 28 символов. Если тип параметра //Объектный//, то необходимо указать класс, который будет являться типом объектов, на которые будет ссылаться этот параметр.
  
-Если тип параметра //Список// или //Структура//, то необходимо указать элементы списка, которые будут являться типом объектов, на которые будет ссылаться этот параметр.+Если тип параметра //Список// или //Структура//, то необходимо указать элементы списка, которые будут являться типом объектов, на которые будет ссылаться этот параметр. Указанные таким образом классы должны быть конечными (не иметь потомков) и не должны быть созданы под классами, уже указанными в каких-либо параметрах с типом //Список// или //Структура//.
  
 Если тип параметра //Перечисление//, то в качестве типа объектов указывается перечисление. Тип параметра выбирается по кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_057.png?nolink}}. Если тип параметра //Перечисление//, то в качестве типа объектов указывается перечисление. Тип параметра выбирается по кнопке {{ru/technical_manual/editor_param_class/edit_metadata/edit_metadata_057.png?nolink}}.
Строка 154: Строка 178:
 | Целый | 4 || | Целый | 4 ||
 | Строка [Длина] | Длина*2 + 2 || | Строка [Длина] | Длина*2 + 2 ||
-| Вещественный [Длина, Точность] ^  **Длина**  ^  **Длина в байтах**  ^+| Вещественный [Общая длина, Длина дробной части] ^  **Общая длина**  ^  **Длина в байтах**  ^
 | ::: |  1 - 9  |  5  | | ::: |  1 - 9  |  5  |
 | ::: |  10-19  |  9  | | ::: |  10-19  |  9  |
Строка 193: Строка 217:
 | Показ.РедактированиеОб | Логика | Если значение опции **Да** - то параметр редактируется в форме единичного показа. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - **Нет**. | | Показ.РедактированиеОб | Логика | Если значение опции **Да** - то параметр редактируется в форме единичного показа. Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции" - **Нет**. |
 | Показ.Обязательный | Логика | **Да/Нет.** Служит для выделения параметров, обязательных для ввода. | | Показ.Обязательный | Логика | **Да/Нет.** Служит для выделения параметров, обязательных для ввода. |
-| Показ.Номер | Целое | Показывает порядковый номер расположения параметра на форме списка объектов. \\ \\ **Внимание!** В системе есть возможность добавлять/убирать колонки, используя специальную форму. \\ \\ Если вы хотите, чтобы параметр не показывался по умолчанию, но пользователь в дальнейшем имел возможность вывести его на показ, нужно проставить Показ.Номер = -1.  Тем самым параметр появится в форме настройки колонок и можно его перетащить на основную форму. Также если используется опция Показ.Превью то нужно чтобы поле присутствовало в сетке, т.е. нужно ставить Показ.Номер = -1. \\ \\ Следует отметить, что в отличие от формы настройки колонок скрытые колонки загружаются, что снижает быстродействие. |+| Показ.Номер | Целое | Показывает порядковый номер расположения параметра на форме списка объектов. \\ \\ **Внимание!** В системе есть возможность добавлять/убирать колонки, используя специальную форму. \\ \\ Если вы хотите, чтобы параметр не показывался по умолчанию, но пользователь в дальнейшем имел возможность вывести его на показ, нужно проставить Показ.Номер = -1.  Тем самым параметр появится в форме настройки колонок и можно его перетащить на основную форму. \\ \\ Следует отметить, что в отличие от формы настройки колонок скрытые колонки загружаются, что снижает быстродействие. |
 | Показ.НомерОб | Целое | Задает порядковый номер расположения параметра на форме единичного показа объекта. Для параметров-списков - порядковый номер вкладки. \\ \\ **Внимание!** Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции", то порядковый номер заполнится от Показ.Номер. | | Показ.НомерОб | Целое | Задает порядковый номер расположения параметра на форме единичного показа объекта. Для параметров-списков - порядковый номер вкладки. \\ \\ **Внимание!** Если значение доп. опции не заполнено или доп. опция отсутствует на вкладке "Доп. опции", то порядковый номер заполнится от Показ.Номер. |
 | Показ.МинРазмер | Целое | Минимальный размер колонки, по умолчанию 0. Необходимо, например, при авторазмере, когда нужно, чтобы название обязательно было полностью видимым. | | Показ.МинРазмер | Целое | Минимальный размер колонки, по умолчанию 0. Необходимо, например, при авторазмере, когда нужно, чтобы название обязательно было полностью видимым. |
Строка 204: Строка 228:
 | Показ.ФорматСводный | Строка | Может указываться для не хранимых параметров с типом "Строка". Значение - комбинация из ссылок на параметры объекта с типом "Строка", каждая из которых заключена в квадратные скобки, и произвольного текста. \\ \\ Пример создания такого параметра см. в [[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). \\ ** ** |
Строка 213: Строка 237:
 | Название доп. опции | Тип доп. опции | Значение опции: =<Название доп. опции данного или одного из вышележащих классов>. \\ \\ В случае использования данного механизма доп. опции параметра класса присваивается значение указанной произвольной опции (переменной) данного или одного из вышележащих классов. Если опция определена в одном из вышележащих классов и в одном из классов-потомков ее значение переопределено - доп. опции будет присвоено переопределенное значение. Механизм может применяться, например, для управления видимостью параметров в классах-потомках (в одних потомках параметр виден, в других - нет). | | Название доп. опции | Тип доп. опции | Значение опции: =<Название доп. опции данного или одного из вышележащих классов>. \\ \\ В случае использования данного механизма доп. опции параметра класса присваивается значение указанной произвольной опции (переменной) данного или одного из вышележащих классов. Если опция определена в одном из вышележащих классов и в одном из классов-потомков ее значение переопределено - доп. опции будет присвоено переопределенное значение. Механизм может применяться, например, для управления видимостью параметров в классах-потомках (в одних потомках параметр виден, в других - нет). |
 <endTableBox|Таблица 7. Дополнительные опции параметров классов> <endTableBox|Таблица 7. Дополнительные опции параметров классов>
- + 
 +==== Особенности создания параметров с типом "Структура" ==== 
 + 
 +После создания в метаданных параметра с типом "Структура" и применения этих метаданных к базе необходимо для этой базы запустить команду пересохранения структур класса, в котором такой параметр был добавлен. 
 + 
 +**Вид командной строки:** /runcmd="База.КлиентскиеУтилиты.ПересохранитьСтруктурыКласса СИСТЕМНОЕ_ИМЯ_КЛАССА" 
 + 
 +**Аргументы:** 
 + 
 +СИСТЕМНОЕ_ИМЯ_КЛАССА - полное системное имя класса Business Studio (например, БизнесМодель.Процессы), в котором был добавлен параметр с типом "Структура". Системное имя класса отображается в **Объектной модели**. 
 + 
 +Подробнее о работе с командной строкой см. [[ru/manual/administration/cmd_line]]. 
 ===== Свойства перечисления ===== ===== Свойства перечисления =====
  
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki