Перейти к основному содержимому

Типы, порождаемые элементом проекта вида «КонтрактСущности»

После того как вы добавили в проект контракт сущности, «1С:Шина» создаст следующие типы:

Тип «ИмяКонтрактаСущности»​

Тип {ИмяКонтрактаСущности} — абстрактный тип. Содержит методы для работы с экземплярами типов-одиночек элементов, которые реализуют контракт сущности:

  • ПолучитьОдиночки() — возвращает множество экземпляров типов-одиночек элементов, которые реализуют данный контракт сущности. Метод доступен, если в элементе проекта значение свойства ПолучениеВсехОдиночек имеет значение Доступно.
  • ПолучитьОдиночку() — возвращает экземпляр типа-одиночки, который реализует данный контракт сущности и соответствует типу элемента, переданного в параметрах.
// Модуль объекта справочника СостояниеДокументов
// При записи справочника получаем экземпляр типа-одиночки и вызываем метод контракта
@Обработчик
@ВыполнятьПриЗагрузкеДанных
метод ПослеЗаписи(ПредыдущееЗначение: СостояниеДокументов.Данные, ПараметрыЗаписи: СостояниеДокументов.ПараметрыЗаписи)
исп КонтекстДоступа.Привилегированный()
пер Док = ДокументИмеющийСостояние.ПолучитьОдиночку(этот)
Док.ПослеЗаписиСостоянияДокумента(этот, ПредыдущееЗначение, ПараметрыЗаписи)
;

Модуль контракта сущности​

В проекте модуль, расширяющий тип {ИмяКонтрактаСущности}, называется модулем контракта сущности.

В модуле контракта сущности могут быть объявлены методы (с ключевым словом абстрактный), из которых состоит контракт.

Например, ниже показан модуль контракта сущности, в котором объявлен абстрактный метод ПослеЗаписиСостоянияДокумента().

абстрактный метод ПослеЗаписиСостоянияДокумента(
ТекущееЗначение: СостояниеДокументов.Объект,
ПредыдущееЗначение: СостояниеДокументов.Данные,
ПараметрыЗаписи: СостояниеДокументов.ПараметрыЗаписи)

Тип «ИмяКонтрактаСущности.Данные»​

Абстрактный тип. Содержит свойства, объявленные в контракте сущности.

Тип «ИмяКонтрактаСущности.Объект»​

Абстрактный тип. Содержит свойства и методы объекта контракта.

Тип «ИмяКонтрактаСущности.ПараметрыЗаписи»​

Абстрактный тип. Содержит параметры записи, которые должны присутствовать во всех элементах, реализующих контракт {ИмяКонтрактаСущности}.

Тип «ИмяКонтрактаСущности.ПараметрыУдаления»​

Абстрактный тип. Содержит параметры удаления, которые должны присутствовать во всех элементах, реализующих контракт {ИмяКонтрактаСущности}.

Тип «ИмяКонтрактаСущности.Ссылка»​

Ссылка на контракт.

Примеры​