Возвращает Истина, если конфигурация или один из ее дочерних объектов изменены (в том числе и добавлением нового дочернего объекта) расширениями в текущем сеансе.
Синтаксис
ЕстьИзмененияРасширениямиКонфигурации()Полное описание, параметры и ограничения
ОбъектМетаданныхКонфигурация.ЕстьИзмененияРасширениямиКонфигурации (ConfigurationMetadataObject.ChangedByConfigurationExtensions)
ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)
ЕстьИзмененияРасширениямиКонфигурации (ChangedByConfigurationExtensions)
Доступен, начиная с версии 8.3.9.
Синтаксис:
ЕстьИзмененияРасширениямиКонфигурации()
Описание:
Возвращает Истина, если конфигурация или один из ее дочерних объектов изменены (в том числе и добавлением нового дочернего объекта) расширениями в текущем сеансе.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.9.
Методическая информация
Практические примеры
Составить паспорт конфигурации перед интеграцией
Определяем, с какой конфигурацией работаем, считаем группы метаданных и проверяем поиск справочника по полному имени и по типу ссылки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Сообщить(СтрШаблон("Конфигурация: %1 (%2)", Метаданные.Имя, Метаданные.Синоним));
Сообщить("Версия конфигурации: " + Метаданные.Версия);
Сообщить("Поставщик: " + Метаданные.Поставщик);
Сообщить(Метаданные.РежимСовместимости);
Сообщить(Метаданные.Комментарий);
Сообщить(СтрШаблон("Справочников: %1; документов: %2; регистров сведений: %3; общих модулей: %4",
Метаданные.Справочники.Количество(), Метаданные.Документы.Количество(),
Метаданные.РегистрыСведений.Количество(), Метаданные.ОбщиеМодули.Количество()));
Сообщить(Метаданные.ЕстьИзмененияРасширениямиКонфигурации());
Описание = Метаданные.НайтиПоПолномуИмени("Справочник.Номенклатура");
Если Описание = Неопределено Тогда
Сообщить("Справочник.Номенклатура отсутствует — проверьте выбранную конфигурацию");
Иначе
ПоТипу = Метаданные.НайтиПоТипу(Тип("СправочникСсылка.Номенклатура"));
Сообщить(Описание = ПоТипу);
Сообщить(Метаданные.Справочники.Содержит(Описание));
Индекс = Метаданные.Справочники.Индекс(Описание);
Сообщить(Индекс);
Сообщить(Метаданные.Справочники.Получить(Индекс) = Описание);
КонецЕсли;Разбор по шагам
Читаем имя и версию конфигурации: это не номер версии платформы 1С.
Количество считает описания объектов метаданных, а не количество товаров или документов в базе.
Поиск по полному имени использует Справочник.Номенклатура; по типу — СправочникСсылка.Номенклатура. Это разные строки.
Проверяем принадлежность коллекции и обратный доступ по найденному индексу. При отсутствии справочника не обращаемся к несуществующему типу.
Как проверить результат
Имя и версия совпадают с корневым объектом конфигурации в Конфигураторе, а не с 8.5.1.1343.
В конфигурации с Номенклатурой три сравнения дают Истина; индекс неотрицательный.
Измените полное имя на Справочник.УчебныйОтсутствующий: получите сообщение об отсутствии, а не ошибку обращения к свойству Неопределено.
Ожидаемый результат
Получен паспорт текущей конфигурации и проверена связь описания метаданных с типом ссылки.
На что обратить внимание
Наличие метаданных не доказывает, что текущему пользователю разрешено читать все данные соответствующего объекта.
ЕстьИзмененияРасширениямиКонфигурации сообщает об изменениях структуры расширениями; это не признак ошибки и не проверка бизнес-логики.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.