Реализация контракта

Реализация свойства

Если у элемента проекта есть стандартное свойство и этот элемент реализует контракт, в котором есть свойство, которое совпадает со стандартным (на любом языке), то считается, что это стандартное свойство соответствует свойству из контракта.

Такими свойствам являются:

  • У справочника:
    • Код,
    • Владелец,
    • Ссылка,
    • ВерсияДанных,
    • Представление,
  • У регистра сведений:
    • Период,
    • КлючЗаписи.

Реализация метода

Модуль элемента проекта, реализующего контракт, должен содержать определения всех методов, объявленных в контракте.

Методы-реализации:

  • Должны иметь аннотацию видимости, равную области видимости контракта (свойство ОбластьВидимости) или шире. Например, если контракт имеет область видимости @ВПроекте, то методы-реализации могут иметь область видимости @ВПроекте или @Глобально;
  • Должны иметь аннотацию @Реализация.

Например, так выглядит реализация метода СформироватьПредставление().

@ВПроекте
@Реализация
метод СформироватьПредставление()
    Представление = "%Фамилия %Имя %Отчество"   
;  

Методы контракта и методы-реализации сопоставляются по сигнатуре.

Возвращаемое значение метода-реализации может иметь более конкретный тип, чем в контракте.

Если сигнатура метода контракта совпадает со стандартным методом типа, в котором находится реализация, то считается, что стандартный метод является реализацией метода, объявленного в контракте. Пример — метод Записать().