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