Осуществляет поиск в составе плана обмена элемента, содержащего указанный объект метаданных.
Синтаксис
Найти(<Метаданные>)Полное описание, параметры и ограничения
СоставПланаОбмена.Найти (ExchangePlanContent.Find)
СоставПланаОбмена (ExchangePlanContent)
Найти (Find)
Доступен, начиная с версии 8.0.
Синтаксис:
Найти(<Метаданные>)
Параметры:
<Метаданные> (обязательный)
Объект метаданных, который необходимо найти в элементе состава плана обмена.
Тип параметра - ОбъектМетаданных, описывающий объекты конфигурации, которые могут входить в состав плана обмена (например: ОбъектМетаданных: Справочник, ОбъектМетаданных: Документ и т.д.).
Возвращаемое значение:
Тип: ЭлементСоставаПланаОбмена, Неопределено.
Если объекта метаданных с таким именем нет, то возвращается значение Неопределено.
Описание:
Осуществляет поиск в составе плана обмена элемента, содержащего указанный объект метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Проверить включение Номенклатуры в план до поиска потерянного товара
Ищем элемент состава по описанию справочника. Не пытаемся передать ссылку товара вместо объекта метаданных.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Описание = Метаданные.ПланыОбмена.Найти("Мобильные");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует ПланыОбмена.Мобильные";
КонецЕсли;
Справочник = Метаданные.Справочники.Найти("Номенклатура");
Если Справочник = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Справочники.Номенклатура";
КонецЕсли;
ЕстьВСоставе = Описание.Состав.Содержит(Справочник);
Сообщить(ЕстьВСоставе);
Элемент = Описание.Состав.Найти(Справочник);
Если Элемент = Неопределено Тогда
Сообщить("Номенклатура не найдена в составе этого плана; ищите другой механизм интеграции");
Иначе
Сообщить(Элемент.Метаданные = Справочник);
Сообщить(Элемент.АвтоРегистрация);
КонецЕсли;
Сообщить(ЕстьВСоставе = (Элемент <> Неопределено));Разбор по шагам
Передаём описание Справочник.Номенклатура, не ссылку на конкретную номенклатуру.
Содержит проверяет состав, Найти возвращает элемент состава или Неопределено.
Настройку АвтоРегистрация читаем только после успешного поиска.
Согласованность двух методов проверяем сравнением, независимо от наличия справочника в плане.
Как проверить результат
Последнее сравнение ожидаемо Истина; первое может быть Истина или Ложь в вашей схеме.
Если элемента нет, не появляется ошибка обращения к АвтоРегистрация у Неопределено.
Ожидаемый результат
Выделена первая проверка схемы перед диагностикой непереданного товара.
На что обратить внимание
Даже при наличии в составе конкретный товар мог не пройти отбор обмена.
Пример не читает товар и не исправляет очередь изменений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.