Публичный интерфейс библиотеки annotations
Аннотации
Классы
Модули
АннотацияАннотация
ПриСозданииОбъекта
bsl
// Базовый объект аннотации.
// Все пользовательские аннотации должны иметь аннотацию &Аннотация с передачей имени аннотации в качестве параметра.
//
// Параметры:
// Значение - Строка - Имя аннотации.
//
Процедура ПриСозданииОбъекта(Значение)АннотацияПовторяемый
ПриСозданииОбъекта
bsl
// Аннотация, показывающая что параметр аннотации может быть указан несколько раз.
//
// Применяется к параметрам конструктора аннотации.
//
// Примеры:
//
// &Аннотация("МояАннотация")
// Процедура ПриСозданииОбъекта(Значение, &Повторяемый Параметр)
// КонецПроцедуры
// .
// &МояАннотация(Значение = "Переданное значение", Параметр = "Первый параметр", Параметр = "Второй параметр")
//
Процедура ПриСозданииОбъекта()АннотацияПсевдонимДля
ПриСозданииОбъекта
bsl
// Аннотация, объявляющая параметр конструктора аннотации псевдонимом
// для параметра вложенной мета-аннотации.
//
// Применяется к параметрам конструктора аннотации-агрегатора (композитной аннотации).
// При разворачивании композитной аннотации значение помеченного параметра
// переносится в указанный параметр указанной мета-аннотации.
//
// По умолчанию в мета-аннотацию переносится только явно переданное значение параметра.
// Если значение параметра при применении композитной аннотации не указано, его значение
// по умолчанию НЕ переносится — мета-аннотация использует собственное значение по умолчанию.
// Чтобы намеренно переопределить значение по умолчанию мета-аннотации значением по умолчанию
// параметра-псевдонима, укажите ПереноситьЗначениеПоУмолчанию = Истина.
//
// Параметры:
// Аннотация - Строка - Имя мета-аннотации, параметр которой переопределяется.
// Параметр - Строка - Имя параметра мета-аннотации, которому присваивается значение.
// ПереноситьЗначениеПоУмолчанию - Булево - Признак переноса значения по умолчанию параметра-псевдонима
// в мета-аннотацию, когда значение параметра не было передано явно.
// По умолчанию Ложь — переносятся только явно переданные значения.
//
// Примеры:
//
// &Аннотация("Композит")
// &Цель
// Процедура ПриСозданииОбъекта(&ПсевдонимДля(Аннотация = "Цель", Параметр = "Значение") Значение)
// КонецПроцедуры
// .
// &Композит("переданное значение")
// // развернётся в &Композит("переданное значение") + &Цель(Значение = "переданное значение")
// .
// &Композит
// // развернётся в &Композит + &Цель — значение параметра "Значение" не передано,
// // поэтому мета-аннотация &Цель использует собственное значение по умолчанию.
//
// Чтобы переносить значение по умолчанию параметра-псевдонима, используйте
// ПереноситьЗначениеПоУмолчанию = Истина:
//
// &Аннотация("Композит")
// &Цель
// Процедура ПриСозданииОбъекта(
// &ПсевдонимДля(Аннотация = "Цель", Параметр = "Значение", ПереноситьЗначениеПоУмолчанию = Истина)
// Значение = "значение по умолчанию композита"
// )
// КонецПроцедуры
// .
// &Композит
// // развернётся в &Композит + &Цель(Значение = "значение по умолчанию композита")
//
// Параметр-псевдоним может быть одновременно помечен аннотацией &Повторяемый.
// В этом случае при разворачивании в целевую мета-аннотацию переносятся все
// переданные значения параметра.
//
// Примеры:
//
// &Аннотация("Композит")
// &Цель
// Процедура ПриСозданииОбъекта(&Повторяемый &ПсевдонимДля(Аннотация = "Цель", Параметр = "Значение") Значение)
// КонецПроцедуры
// .
// &Композит("первое", "второе")
// // развернётся в &Композит("первое", "второе") + &Цель(Значение = "первое", Значение = "второе")
//
Процедура ПриСозданииОбъекта(Аннотация, Параметр, ПереноситьЗначениеПоУмолчанию = Ложь)КонтейнерАннотаций
ПриСозданииОбъекта
bsl
// Контейнер аннотаций - объект, который хранит все определения аннотаций.
// При создании контейнера аннотаций в него автоматически добавляется базовая аннотация &Аннотация.
//
Процедура ПриСозданииОбъекта()ПолучитьОпределенияАннотаций
bsl
// Получить все определения аннотаций.
//
// Возвращаемое значение:
// ФиксированноеСоответствие - Соответствие, в котором хранятся все определения аннотаций:
// * Ключ - Строка - имя аннотации.
// * Значение - ОпределениеАннотации - определение аннотации.
//
Функция ПолучитьОпределенияАннотаций() ЭкспортПолучитьОпределениеАннотации
bsl
// Получить определение аннотации по её имени.
//
// Параметры:
// Имя - Строка - Имя аннотации.
//
// Возвращаемое значение:
// ОпределениеАннотации, Неопределено - Найденное определение аннотаций.
// Неопределено, если аннотация с данным именем не зарегистрирована.
//
Функция ПолучитьОпределениеАннотации(Имя) ЭкспортПолучитьРазворачивательАннотаций
bsl
// Получить настроенный разворачиватель аннотаций.
//
// Возвращаемое значение:
// РазворачивательАннотаций - Разворачиватель аннотаций, связанный с данным контейнером аннотаций.
//
Функция ПолучитьРазворачивательАннотаций() ЭкспортДобавитьАннотацию
bsl
// Добавить аннотацию в контейнер аннотаций.
//
// Параметры:
// ТипАннотации - Тип - Тип аннотации.
// ПереопределитьЕслиСуществует - Булево - Если Истина, то при добавлении уже существующей аннотации
// она будет переопределена. Если Ложь (по умолчанию),
// то будет вызвано исключение.
//
// Возвращаемое значение:
// ОпределениеАннотации - Определение добавленной аннотации.
//
Функция ДобавитьАннотацию(ТипАннотации, Знач ПереопределитьЕслиСуществует = Ложь) ЭкспортОпределениеАннотации
ПриСозданииОбъекта
bsl
Процедура ПриСозданииОбъекта(Знач _Имя, Знач _ИмяТипаАннотации, Знач _Параметры, Знач _Аннотации)Имя
bsl
// Имя аннотации.
//
// Возвращаемое значение:
// Строка
//
Функция Имя() ЭкспортИмяТипаАннотации
bsl
// Имя типа, к которому применяется аннотация.
//
// Возвращаемое значение:
// Строка
//
Функция ИмяТипаАннотации() ЭкспортПараметры
bsl
// Параметры аннотации - разобранные параметры конструктора класса аннотации.
// Метод возвращает копию таблицы.
//
// Возвращаемое значение:
// ТаблицаЗначений - таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// * ПоЗначению - Булево - Признак получения пораметра по значению.
// * ЕстьЗначениеПоУмолчанию - Булево - Признак наличия значения по умолчанию.
// * ЗначениеПоУмолчанию - Произвольный - Значение по умолчанию.
// * Аннотации - ТаблицаЗначений - Таблица аннотаций со следующими колонками:
// ** Имя - Строка - Имя аннотации.
// ** Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// *** Имя - Строка - Имя параметра аннотации.
// *** Значение - Строка - Значение параметра аннотации.
// * Экспорт - Булево - Признак экспорта параметра.
//
Функция Параметры() ЭкспортАннотации
bsl
// Подчиненные аннотации - список аннотаций над конструктором класса-аннотации.
// Метот возвращает глубокую копию таблицы.
//
// Возвращаемое значение:
// ТаблицаЗначений - Таблица аннотаций:
// * Имя - Строка - Имя аннотации.
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// ** Имя - Строка - Имя параметра аннотации.
// ** Значение - Строка - Значение параметра аннотации.
//
Функция Аннотации() ЭкспортПроверить
bsl
// Выполнить проверку корректности аннотации.
//
// Выбрасывает исключение:
// * Когда аннотация не содержит параметр, у которого нет значения по умолчанию.
// * Когда аннотация содержит параметр, которого нет в списке параметров аннотации.
// * Когда аннотация содержит несколько параметров без имени или с именем "Значение".
//
// Параметры:
// Аннотация - СтрокаТаблицыЗначений - Данные аннотации:
// * Имя - Строка - Имя аннотации.
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// ** Имя - Строка - Имя параметра аннотации.
// ** Значение - Строка - Значение параметра аннотации.
// ПредставлениеВладельцаАннотации - Строка - Строковое представление типа или объекта
// к которому применяется аннотация.
//
Процедура Проверить(Аннотация, ПредставлениеВладельцаАннотации) ЭкспортСоздатьОбъектАннотации
bsl
// Создать объект класса аннотации по параметрам аннотации.
//
// Параметры:
// Аннотация - СтрокаТаблицыЗначений - Данные аннотации:
// * Имя - Строка - Имя аннотации.
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// ** Имя - Строка - Имя параметра аннотации.
// ** Значение - Строка - Значение параметра аннотации.
//
// Возвращаемое значение:
// Произвольный - Объект аннотации с заданными параметрами.
//
Функция СоздатьОбъектАннотации(Аннотация) ЭкспортРазворачивательАннотаций
ПриСозданииОбъекта
bsl
Процедура ПриСозданииОбъекта(КонтейнерАннотаций)РазвернутьАннотацииСвойства
bsl
// Развернуть все аннотации переданного свойства рекурсивно.
// Для разворачивания используются данные из определений аннотаций.
//
// Параметры:
// Свойство - Структура - Описание свойства, метода или параметра метода:
// * Имя - Строка - Имя свойства.
// * Аннотации - ТаблицаЗначений - Таблица аннотаций свойства:
// ** Имя - Строка - Имя аннотации.
// ** Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// *** Имя - Строка - Имя параметра аннотации.
// *** Значение - Строка - Значение параметра аннотации.
// ВладелецСвойства - Тип - Тип владельца свойства.
// - Сценарий - Экземпляр владельца свойства.
//
Процедура РазвернутьАннотацииСвойства(Свойство, ВладелецСвойства) ЭкспортРазвернутьАннотацииСвойств
bsl
// Развернуть все аннотации переданного свойства рекурсивно.
// Для разворачивания используются данные из определений аннотаций.
//
// Параметры:
// Свойства - Массив Из Структура - Описания свойств, методов или параметров метода:
// * Имя - Строка - Имя свойства.
// * Аннотации - ТаблицаЗначений - Таблица аннотаций свойства:
// ** Имя - Строка - Имя аннотации.
// ** Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// *** Имя - Строка - Имя параметра аннотации.
// *** Значение - Строка - Значение параметра аннотации.
// ВладелецСвойства - Тип - Тип владельца свойства.
// - Сценарий - Экземпляр владельца свойства.
//
Процедура РазвернутьАннотацииСвойств(Свойства, ВладелецСвойства) ЭкспортРаботаСАннотациями
ПолучитьАннотации
bsl
// Получить все аннотации свойства с указанным именем аннотации.
//
// Параметры:
// Свойство - СтрокаТабличнойЧасти, Структура - Описание свойства/метода:
// * Аннотации - ТаблицаЗначений - Таблица аннотаций свойства/метода:
// * Имя - Строка - Имя аннотации.
// ИмяАннотации - Строка - Имя аннотации.
//
// Возвращаемое значение:
// Массив из СтрокаТабличнойЧасти - Массив найденных аннотаций.
//
Функция ПолучитьАннотации(Свойство, ИмяАннотации)ПолучитьАннотацию
bsl
// Получить первую аннотацию свойства с указанным именем аннотации.
//
// Параметры:
// Свойство - СтрокаТабличнойЧасти, Структура - Описание свойства/метода:
// * Аннотации - ТаблицаЗначений - Таблица аннотаций свойства/метода:
// * Имя - Строка - Имя аннотации.
// ИмяАннотации - Строка - Имя аннотации.
//
// Возвращаемое значение:
// СтрокаТабличнойЧасти - Найденная аннотация.
//
Функция ПолучитьАннотацию(Свойство, ИмяАннотации)НайтиАннотации
bsl
// Получить все аннотации с указанным именем аннотации.
//
// Параметры:
// Аннотации - ТаблицаЗначений - Таблица аннотаций:
// * Имя - Строка - Имя аннотации.
// ИмяАннотации - Строка - Имя аннотации.
//
// Возвращаемое значение:
// Массив из СтрокаТабличнойЧасти - Массив найденных аннотаций.
//
Функция НайтиАннотации(Аннотации, ИмяАннотации)НайтиАннотацию
bsl
// Получить первую аннотацию с указанным именем аннотации.
//
// Параметры:
// Аннотации - ТаблицаЗначений - Таблица аннотаций:
// * Имя - Строка - Имя аннотации.
// ИмяАннотации - Строка - Имя аннотации.
//
// Возвращаемое значение:
// СтрокаТабличнойЧасти - Найденная аннотация.
//
Функция НайтиАннотацию(Аннотации, ИмяАннотации)НайтиМетодыСАннотацией
bsl
// Получить все методы с указанной аннотацией.
//
// Параметры:
// Методы - ТаблицаЗначений, Массив - Список методов:
// * Аннотации - ТаблицаЗначений - Таблица аннотаций метода:
// * Имя - Строка - Имя аннотации.
// ИмяАннотации - Строка - Имя аннотации.
//
// Возвращаемое значение:
// Массив из СтрокаТабличнойЧасти - Массив найденных методов.
//
Функция НайтиМетодыСАннотацией(Методы, ИмяАннотации)ПолучитьПараметрыАннотации
bsl
// Получить параметры аннотации с указанным именем параметра.
//
// Параметры:
// Аннотация - СтрокаТабличнойЧасти,Структура - Аннотация:
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// ИмяПараметра - Строка - Имя параметра.
//
// Возвращаемое значение:
// Массив из СтрокаТабличнойЧасти - Массив найденных параметров.
//
Функция ПолучитьПараметрыАннотации(Аннотация, ИмяПараметра)ПолучитьПараметрАннотации
bsl
// Получить параметр аннотации с указанным именем параметра.
//
// Параметры:
// Аннотация - СтрокаТабличнойЧасти,Структура - Аннотация:
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// ИмяПараметра - Строка - Имя параметра.
//
// Возвращаемое значение:
// СтрокаТабличнойЧасти - Найденный параметр.
//
Функция ПолучитьПараметрАннотации(Аннотация, ИмяПараметра)ПолучитьЗначенияПараметровАннотации
bsl
// Получить значения параметров аннотации с указанным именем параметра.
//
// Параметры:
// Аннотация - СтрокаТабличнойЧасти,Структура - Аннотация:
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// * Значение - Произвольный - Значение параметра.
// ИмяПараметра - Строка - Имя параметра.
//
// Возвращаемое значение:
// Массив из Произвольный - Массив найденных значений параметров.
//
Функция ПолучитьЗначенияПараметровАннотации(Аннотация, ИмяПараметра)ПолучитьЗначениеПараметраАннотации
bsl
// Получить значение параметра аннотации с указанным именем параметра.
//
// Параметры:
// Аннотация - СтрокаТабличнойЧасти,Структура - Аннотация:
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// * Значение - Произвольный - Значение параметра.
// ИмяПараметра - Строка - Имя параметра.
// ЗначениеПоУмолчанию - Произвольный - Значение параметра по умолчанию.
// НеопределеноЭтоКорректноеЗначениеПараметра - Булево - Признак того,
// что Неопределено является корректным значением параметра.
//
// Возвращаемое значение:
// Произвольный - Значение параметра.
//
Функция ПолучитьЗначениеПараметраАннотации(Аннотация, ИмяПараметра = "Значение", ЗначениеПоУмолчанию = Неопределено, НеопределеноЭтоКорректноеЗначениеПараметра = Ложь)УстановитьЗначениеПараметраАннотации
bsl
// Установить значение параметра аннотации с указанным именем параметра.
//
// Параметры:
// Аннотация - СтрокаТабличнойЧасти,Структура - Аннотация:
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// * Значение - Произвольный - Значение параметра.
// ИмяПараметра - Строка - Имя параметра.
// ЗначениеПараметра - Произвольный - Значение параметра.
//
Процедура УстановитьЗначениеПараметраАннотации(Аннотация, ИмяПараметра, ЗначениеПараметра)ДобавитьЗначениеПараметраАннотации
bsl
// Добавить ещё одно значение параметра аннотации с указанным именем параметра.
// В отличие от УстановитьЗначениеПараметраАннотации не перезаписывает существующее
// значение, а добавляет новую строку параметра. Используется для повторяемых параметров.
//
// Параметры:
// Аннотация - СтрокаТабличнойЧасти,Структура - Аннотация:
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
// * Имя - Строка - Имя параметра.
// * Значение - Произвольный - Значение параметра.
// ИмяПараметра - Строка - Имя параметра.
// ЗначениеПараметра - Произвольный - Значение параметра.
//
Процедура ДобавитьЗначениеПараметраАннотации(Аннотация, ИмяПараметра, ЗначениеПараметра)