ОбъектМетаданныхКонфигурация.ЕстьИзмененияРасширениямиКонфигурации

Методы · ChangedByConfigurationExtensions

Возвращает Истина, если конфигурация или один из ее дочерних объектов изменены (в том числе и добавлением нового дочернего объекта) расширениями в текущем сеансе.

Синтаксис

ЕстьИзмененияРасширениямиКонфигурации()
Полное описание, параметры и ограничения

ОбъектМетаданныхКонфигурация.ЕстьИзмененияРасширениямиКонфигурации (ConfigurationMetadataObject.ChangedByConfigurationExtensions)

ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)

ЕстьИзмененияРасширениямиКонфигурации (ChangedByConfigurationExtensions)

Доступен, начиная с версии 8.3.9.

Синтаксис:
ЕстьИзмененияРасширениямиКонфигурации()
Описание:

Возвращает Истина, если конфигурация или один из ее дочерних объектов изменены (в том числе и добавлением нового дочернего объекта) расширениями в текущем сеансе.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.3.9.

Методическая информация

Практические примеры

Составить паспорт конфигурации перед интеграцией

Определяем, с какой конфигурацией работаем, считаем группы метаданных и проверяем поиск справочника по полному имени и по типу ссылки.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.


Сообщить(СтрШаблон("Конфигурация: %1 (%2)", Метаданные.Имя, Метаданные.Синоним));
Сообщить("Версия конфигурации: " + Метаданные.Версия);
Сообщить("Поставщик: " + Метаданные.Поставщик);
Сообщить(Метаданные.РежимСовместимости);
Сообщить(Метаданные.Комментарий);
Сообщить(СтрШаблон("Справочников: %1; документов: %2; регистров сведений: %3; общих модулей: %4",
    Метаданные.Справочники.Количество(), Метаданные.Документы.Количество(),
    Метаданные.РегистрыСведений.Количество(), Метаданные.ОбщиеМодули.Количество()));
Сообщить(Метаданные.ЕстьИзмененияРасширениямиКонфигурации());
Описание = Метаданные.НайтиПоПолномуИмени("Справочник.Номенклатура");
Если Описание = Неопределено Тогда
    Сообщить("Справочник.Номенклатура отсутствует — проверьте выбранную конфигурацию");
Иначе
    ПоТипу = Метаданные.НайтиПоТипу(Тип("СправочникСсылка.Номенклатура"));
    Сообщить(Описание = ПоТипу);
    Сообщить(Метаданные.Справочники.Содержит(Описание));
    Индекс = Метаданные.Справочники.Индекс(Описание);
    Сообщить(Индекс);
    Сообщить(Метаданные.Справочники.Получить(Индекс) = Описание);
КонецЕсли;

Разбор по шагам

  1. Читаем имя и версию конфигурации: это не номер версии платформы 1С.

  2. Количество считает описания объектов метаданных, а не количество товаров или документов в базе.

  3. Поиск по полному имени использует Справочник.Номенклатура; по типу — СправочникСсылка.Номенклатура. Это разные строки.

  4. Проверяем принадлежность коллекции и обратный доступ по найденному индексу. При отсутствии справочника не обращаемся к несуществующему типу.

Как проверить результат

  1. Имя и версия совпадают с корневым объектом конфигурации в Конфигураторе, а не с 8.5.1.1343.

  2. В конфигурации с Номенклатурой три сравнения дают Истина; индекс неотрицательный.

  3. Измените полное имя на Справочник.УчебныйОтсутствующий: получите сообщение об отсутствии, а не ошибку обращения к свойству Неопределено.

Ожидаемый результат

Получен паспорт текущей конфигурации и проверена связь описания метаданных с типом ссылки.

На что обратить внимание

  1. Наличие метаданных не доказывает, что текущему пользователю разрешено читать все данные соответствующего объекта.

  2. ЕстьИзмененияРасширениямиКонфигурации сообщает об изменениях структуры расширениями; это не признак ошибки и не проверка бизнес-логики.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.