Тип встроенного языка, порождаемый элементом проекта вида «ХранимаяСтруктура»
Элемент проекта Хранимая структура отличается от элемента проекта Структура тем, что:
- Хранимую структуру можно использовать как тип реквизита
справочника или тип измерения (ресурса, реквизита) регистра сведений (для хранения
данных в базе данных), поэтому:
- окружение только КлиентИСервер;
- поля могут быть только таких типов, для которых обеспечивается хранение в базе данных;
- две структуры не могут иметь поля, ссылающиеся друг на друга;
- Хранимую структуру можно использовать как тип параметра и как тип результата запланированного задания;
- Хранимую структуру можно использовать в полнотекстовом поиске.
После того как вы добавили в проект хранимую структуру и дали ей имя, создаст два типа встроенного языка. Например, если в проекте есть хранимая структура под названием СтрокаТаблицы, то будут созданы следующие типы:
- СтрокаТаблицы
- СтрокаТаблицы.Данные
В общем случае имена этих типов выглядят следующим образом:
- имя-хранимой-структуры
- имя-хранимой-структуры.Данные
Тип «имя-хранимой-структуры»
Тип имя-хранимой-структуры доступен только в окружении КлиентИСервер.
Этот тип имеет конструктор без параметров новый имя-хранимой-структуры(), который позволяет создать новый экземпляр хранимой структуры. Поля хранимой структуры доступны по их именам.
Например, хранимую структуру СтрокаТаблицы с полями Товар, Количество и Цена можно использовать следующим образом:
знч НоваяСтрока = новый СтрокаТаблицы(ТоварСсылка, 10, 1500)
ТабличнаяЧасть.Добавить(НоваяСтрока)
Тип «имя-хранимой-структуры.Данные»
Служебный тип. Используется в типе имя-справочника.Данные для описания полей, типы которых являются хранимыми структурами.
Не имеет конструктора.
Модуль хранимой структуры
В проекте модуль, расширяющий тип имя-хранимой-структуры, называется модулем хранимой структуры. Он доступен только в окружении КлиентИСервер.
Вы можете расширить тип имя-хранимой-структуры, добавив в этот модуль собственные публичные методы. Например, модуль
структуры СтрокаТаблицы может содержать метод МетодСтруктуры()
:
@ВПроекте
метод МетодСтруктуры()
...
;
Этот метод будет доступен в других модулях:
// Вызов собственного метода структуры «СтрокаТаблицы»
знч НоваяСтрока = новый СтрокаТаблицы()
НоваяСтрока.МетодСтруктуры()