Реализация контракта
Реализация свойства
Если у элемента проекта есть стандартное свойство и этот элемент реализует контракт, в котором есть свойство, которое совпадает со стандартным (на любом языке), то считается, что это стандартное свойство соответствует свойству из контракта.
Такими свойствам являются:
- У справочника:
Код
,Владелец
,Ссылка
,ВерсияДанных
,Представление
,
- У регистра сведений:
Период
,КлючЗаписи
.
Реализация метода
Модуль элемента проекта, реализующего контракт, должен содержать определения всех методов, объявленных в контракте.
Методы-реализации:
- Должны иметь аннотацию видимости, равную области видимости контракта (свойство
ОбластьВидимост и
) или шире. Например, если контракт имеет область видимости@ВПроекте
, то методы-реализации могут иметь область видимости@ВПроекте
или@Глобально
. - Должны иметь аннотацию
@Реализация
.
Например, так выглядит реализация метода СформироватьПредставление().
@ВПроекте
@Реализация
метод СформироватьПредставление()
Представление = "%Фамилия %Имя %Отчество"
;
Методы контракта и методы-реализации сопоставляются по сигнатуре.
Возвращаемое значение метода-реализации может иметь более конкретный тип, чем в контракте.
Если сигнатура метода контракта совпадает со стандартным методом типа, в котором находится реализация, то считается, что стандартный метод является реализацией метода, объявленного в контракте. Пример — метод Записать()
.