СоставПланаОбмена

Типы · ExchangePlanContent

Коллекция элементов состава объекта метаданных плана обмена.

Полное описание, параметры и ограничения

СоставПланаОбмена (ExchangePlanContent)

СоставПланаОбмена (ExchangePlanContent)

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

Элементы коллекции:
ЭлементСоставаПланаОбмена
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы состава плана обмена.

Методы:
Количество (Count)
Найти (Find)
Содержит (Contains)

Описание:

Коллекция элементов состава объекта метаданных плана обмена.

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

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

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

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

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

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

Разобрать состав плана и автоматическую регистрацию объектов

Считаем элементы схемы обмена и выводим их настройки. Это не очередь изменений и не число отправленных сообщений.

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

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

Подготовка

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

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

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

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

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

  1. Состав хранит элементы с Метаданные и АвтоРегистрация.

  2. ПолноеИмя у связанного описания указывает, какой объект участвует в плане.

  3. АвтоРегистрация описывает настройку, не наличие уже зарегистрированных изменений.

  4. Сравниваем число пройденных элементов с размером состава.

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

  1. Последнее сравнение даёт Истина; пустой состав также корректно даёт ноль и Истина.

  2. Сверьте элементы состава в Конфигураторе. В коде нет регистрации, удаления регистрации или отправки изменений.

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

Получена схема состава для последующего аудита интеграции.

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

  1. Авторегистрация не гарантирует передачу данных: важны узлы, обработчики и формат обмена.

  2. Ручная регистрация может присутствовать в коде конфигурации независимо от этой настройки.

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

Проверить включение Номенклатуры в план до поиска потерянного товара

Ищем элемент состава по описанию справочника. Не пытаемся передать ссылку товара вместо объекта метаданных.

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

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

Подготовка

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

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

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Описание = Метаданные.ПланыОбмена.Найти("Мобильные");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ПланыОбмена.Мобильные";
КонецЕсли;
Справочник = Метаданные.Справочники.Найти("Номенклатура");
Если Справочник = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует Справочники.Номенклатура";
КонецЕсли;
ЕстьВСоставе = Описание.Состав.Содержит(Справочник);
Сообщить(ЕстьВСоставе);
Элемент = Описание.Состав.Найти(Справочник);
Если Элемент = Неопределено Тогда
    Сообщить("Номенклатура не найдена в составе этого плана; ищите другой механизм интеграции");
Иначе
    Сообщить(Элемент.Метаданные = Справочник);
    Сообщить(Элемент.АвтоРегистрация);
КонецЕсли;
Сообщить(ЕстьВСоставе = (Элемент <> Неопределено));

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

  1. Передаём описание Справочник.Номенклатура, не ссылку на конкретную номенклатуру.

  2. Содержит проверяет состав, Найти возвращает элемент состава или Неопределено.

  3. Настройку АвтоРегистрация читаем только после успешного поиска.

  4. Согласованность двух методов проверяем сравнением, независимо от наличия справочника в плане.

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

  1. Последнее сравнение ожидаемо Истина; первое может быть Истина или Ложь в вашей схеме.

  2. Если элемента нет, не появляется ошибка обращения к АвтоРегистрация у Неопределено.

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

Выделена первая проверка схемы перед диагностикой непереданного товара.

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

  1. Даже при наличии в составе конкретный товар мог не пройти отбор обмена.

  2. Пример не читает товар и не исправляет очередь изменений.

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

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

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

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

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