<< Click to Display Table of Contents >> Структуры |
Структуры – это объекты, которые состоят из нескольких логически связанных между собой полей разного типа. Например, в структуре можно хранить персональную информацию о сотруднике: ФИО (string), дату рождения (DateTime), паспортные данные (int).
Полями в структурах могут быть:
•простые типы:
short, short? |
Guid, Guid? |
double, double? |
---|---|---|
int, int? |
bool, bool? |
Uri |
long, long? |
decimal, decimal? |
string |
char, char? |
DateTime, DateTime? |
|
•перечисления: Enumeration, Enumeration?;
•ссылки на типы сущностей: IUser, ICompany и т.п.;
•интерфейсы структур и списки интерфейсов структур;
•списки простых типов или типов сущностей: List<int>, List<ICompany> и т.п.
1.В редакторе решения, модуля, типа сущности или отчета в группе «Структуры и константы» перейдите по ссылке Добавить. 2.В открывшемся редакторе кода доработайте имя структуры, добавьте поля и напишите комментарии, например:
3.Сохраните изменения. Важно. В перекрытиях и наследниках можно добавлять новые структуры, но нельзя переопределять структуры, которые добавлены в родительском модуле или типе сущности. |
Если у структуры нет атрибута Public и она добавлена в редакторе решения, то создавать экземпляры структуры и использовать их: •можно в коде этого решения и перекрытиях, которые созданы в этом решении. Например, структура создана в решении SolutionDiscipline. Ее можно использовать в этом же решении и его перекрытиях; •нельзя в коде модулей, типов сущностей и отчетов этого решения и в других решениях. Если у структуры нет атрибута Public и она добавлена в редакторе модуля, типа сущности или отчета, то создавать экземпляры структуры и использовать их: •можно в рамках этого модуля. Например, структура добавлена в редакторе типа документа с именем Presentation. Создать экземпляры структуры можно в функции модуля HRPR, в событии отчета ReportAttestation, в действии типа документа Presentation и т.п. •нельзя в решении, где находится модуль, в перекрытиях, а также в других модулях и решениях. Например, создан модуль с именем HRPR. В него добавлена структура с данными для расчета исполнительской дисциплины сотрудников подразделений:
Структура используется в серверной функции этого же модуля:
|
Атрибут Public добавляют, если нужно создавать и использовать экземпляры структуры в других решениях, модулях, типах сущностей и отчетах. Например, в модуле Vacations (Отпуска) добавлена структура:
Ее можно использовать в рамках этого модуля и в других модулях, решениях и перекрытиях: Важно. Чтобы обратиться к структуре с атрибутом Public, нужно использовать интерфейс структуры. Например, в модуле HRPR добавлена серверная функция, в которой создается экземпляр структуры из модуля Vacations:
Интерфейс структуры используется в типе возвращаемого значения: написано Structures.Module.IVacation, а не Structures.Module.Vacation. |
Формат создания экземпляра структуры
Чтобы создать экземпляр структуры, используйте метод Create() с параметрами или без них. Параметрами являются поля структуры. Формат вызова метода зависит от того, в каком редакторе элемента разработки добавлена структура.
|
© Компания Directum, 2024 |