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