Добрый день!

УТ 11.3. В заказе поставщику (ЗП) при просмотре связанных документов с определенного времени не отображается ссылка на родительский заказ клиента (ЗК).
При просмотре связанных документов через ЗК связь с ЗП отображается.

Проверено:

1. Реквизит ДокументОснование в ЗП заполнен ссылкой на ЗК.
2. Изменений конфигурации между событиями Работало и Перестало работать не было.
3. В копии базы с абсолютно идентичной конфигурацией проблема не воспроизводится.
4. Отладка показывает следующее: в общей форме СтруктураПодчиненности в процедуре ВывестиРодительскиеОбъекты условие

```1c
    Если Метаданные.КритерииОтбора.СвязанныеДокументы.Состав.Содержит(Реквизит) Тогда
```

при проверке реквизита ДокументОснование в копии возвращает
```1c
    Истина
```
 в рабочей -
```1c
    Ложь
```

При этом в составе критерия отбора СвязанныеДокументы реквизит ДокументОснование имеется.

Что еще можно проверить?
---
Скажи почту- скину расширение (маленькое) - на нем проверишь, если оно покажет связанные документы значит проблема в критериях отбора.
---
Ищите почему в рабочей ложь.
ЗЫ А обновление версий были?
---
Согласен)

Как искал:
1. проверка состава критерия отбора
2. проверка реквизитного состава ЗП в части присутствия/изменения реквизита ДокументОснование

Отличий от копии не нашел. Какие еще действия можно выполнить?
---
Обновлений не было.
---
Что в параметре "Реквизит"?
---
Значение - Основание, тип - Объект метаданных.
---
Чудес не бывает... базу протестируйте.
---
Скажи почту- скину расширение (маленькое) - на нем проверишь, если оно покажет связанные документы значит проблема в критериях отбора.
---
Ваше расширение помогло, благодарю.
---
а можно ли сюда просто? (добавить вашу обработку)
---
https://infostart.ru/public/938145/
---
спасибо) но 5 СМ нет
---
тут только отладка и консоль запросов помогут. Что-то явно поменялось, только не в конфигурации, а в данных базы.
---
Напишите ваше сообщение
(3)Да, есть подозрения, что изменились какие-то настройки. Все, что знал проверил.... Пока без результата.
---
дак а документы в этих базах полностью идентичны? реквизиты заполнены одинаково? консоль запросов по критерию отбора дает одинаковые результаты в обоих базах?
---
Да, запрос к критерию отбора в обеих базах на примере одних и тех же документов идентичен. Не совсем понятна история, когда при выполнении указанной строки кода реквизит не находится в составе критерия.
---
Критерий отбора проверьте, тип документов
---
В состав критерия входит реквизит ДокументОснование документа Заказ поставщику.
Критерий отбора СвязанныеДокументы, документы ЗаказКлиента, ЗаказПоставщику не изменены, находятся на поддержке.
---
А просто остановиться в отладчике и посмотреть почему не находиться родитель ?!
---
Так отрабатывает метод Содержит в указанной строке кода. Состав критерия и реквизитный состав документа в обеих базах идентичны.
---
это я понял - а дальше то? на чем система "спотыкается" ? конкретный кусок кода где в рабочей возвращается ЛОЖЬ в копии ИСТИНА?
---
Фрагмент кода приведен в 1-м сообщении, собственно на нем и спотыкается.
---
в (0) приведен не фрагмент кода а кусок кода вырванный из контекста. Можно конкретный код на котором идет "ошибка" определения родителя?
---
Конечно.

```1c
    &НаСервере
    Процедура ВывестиРодительскиеОбъекты(ТекущийОбъект, ДеревоРодитель)

    СтрокиДерева = ДеревоРодитель.ПолучитьЭлементы();
    МетаданныеОбъекта = ТекущийОбъект.Метаданные();
    СписокРеквизитов = Новый СписокЗначений;

    Для Каждого Реквизит Из МетаданныеОбъекта.Реквизиты Цикл

    Если Метаданные.КритерииОтбора.СвязанныеДокументы.Состав.Содержит(Реквизит) Тогда

    Для Каждого ТекущийТип Из Реквизит.Тип.Типы() Цикл

    МетаданныеРеквизита = Метаданные.НайтиПоТипу(ТекущийТип);

    Если МетаданныеРеквизита <> Неопределено
    И (Метаданные.Документы.Содержит(МетаданныеРеквизита)
    Или Метаданные.Справочники.Содержит(МетаданныеРеквизита)
    Или Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеРеквизита))
    И ПравоДоступа("Чтение", МетаданныеРеквизита) Тогда

    ЗначениеРеквизита = ТекущийОбъект[Реквизит.Имя];

    Если ЗначениеЗаполнено(ЗначениеРеквизита)
    И ТипЗнч(ЗначениеРеквизита) = ТекущийТип
    И ЗначениеРеквизита <> ТекущийОбъект
    И СписокРеквизитов.НайтиПоЗначению(ЗначениеРеквизита) = Неопределено Тогда

    ЯвляетсяДокументом = ОбщегоНазначения.ЭтоДокумент(МетаданныеРеквизита);

    Если ЯвляетсяДокументом Тогда
    СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЗначениеРеквизита, "Дата"),"ДЛФ=DT"));
    Иначе
    СписокРеквизитов.Добавить(ЗначениеРеквизита, Дата(1,1,1));
    КонецЕсли;

    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    КонецЕсли;

    КонецЦикла;

    Для Каждого ТЧ Из МетаданныеОбъекта.ТабличныеЧасти Цикл
    СтрРеквизитов = ";

    СодержимоеТЧ = ТекущийОбъект[ТЧ.Имя].Выгрузить();

    Для Каждого Реквизит Из ТЧ.Реквизиты Цикл

    Если Метаданные.КритерииОтбора.СвязанныеДокументы.Состав.Содержит(Реквизит) Тогда

    Для Каждого ТекущийТип Из Реквизит.Тип.Типы() Цикл

    МетаданныеРеквизита = Метаданные.НайтиПоТипу(ТекущийТип);

    Если МетаданныеРеквизита<>Неопределено
    И (Метаданные.Документы.Содержит(МетаданныеРеквизита)
    Или Метаданные.Справочники.Содержит(МетаданныеРеквизита)
    Или Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеРеквизита))
    И ПравоДоступа("Чтение", МетаданныеРеквизита) Тогда

    СтрРеквизитов = СтрРеквизитов + ?(СтрРеквизитов = ", ", ", ") + Реквизит.Имя;
    Прервать;

    КонецЕсли;
    КонецЦикла;

    КонецЕсли;

    КонецЦикла;

    СодержимоеТЧ.Свернуть(СтрРеквизитов);
    Для Каждого КолонкаТЧ Из СодержимоеТЧ.Колонки Цикл

    Для Каждого СтрокаТЧ Из СодержимоеТЧ Цикл

    ЗначениеРеквизита = СтрокаТЧ[КолонкаТЧ.Имя];

    МетаданныеЗначения = Метаданные.НайтиПоТипу(ТипЗнч(ЗначениеРеквизита));

    Если МетаданныеЗначения <> Неопределено Тогда

    Если ЗначениеЗаполнено(ЗначениеРеквизита)
    И (Метаданные.Документы.Содержит(МетаданныеЗначения)
    Или Метаданные.Справочники.Содержит(МетаданныеЗначения)
    Или Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеЗначения))
    И ЗначениеРеквизита <> ТекущийОбъект
    И СписокРеквизитов.НайтиПоЗначению(ЗначениеРеквизита) = Неопределено
    И ПравоДоступа("Чтение", МетаданныеЗначения) Тогда

    ЯвляетсяДокументом = ОбщегоНазначения.ЭтоДокумент(МетаданныеЗначения);

    Если ЯвляетсяДокументом Тогда
    СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЗначениеРеквизита, "Дата"),"ДЛФ=DT"));
    Иначе
    СписокРеквизитов.Добавить(ЗначениеРеквизита, Дата(1,1,1));
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;

    КонецЦикла;
    КонецЦикла;
    КонецЦикла;

    СписокРеквизитов.СортироватьПоПредставлению();

    Для каждого ЭлементСписка Из СписокРеквизитов Цикл

    Выборка = ПолучитьВыборкуПоРеквизитамОбъекта(ЭлементСписка.Значение);

    Если Выборка.Следующий() Тогда
    СтрокаДерева = ДобавитьСтрокуВДерево(СтрокиДерева, Выборка);
    Если НЕ ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель,ЭлементСписка.Значение) Тогда
    ВывестиРодительскиеОбъекты(ЭлементСписка.Значение,СтрокаДерева);
    КонецЕсли;
    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры
```
---
На какой строчке кода возвращается "Ложь" ?
тут
```1c
    Метаданные.КритерииОтбора.СвязанныеДокументы.Состав.Содержит(Реквизит)
```
 ? Если так то, что явно не то либо с критериями отбора либо с реквизитом.
---
Да, именно на этой строке.