Найти подчиненные документы в 1С 8.3
Вопрос ветка 2014 и ответов путных нет https://forum.mista.ru/topic.php?id=707350
ИТС: "Существует ли в 1С:Предприятии 8 понятие "Подчиненные документы?"
Существует ли в 1С:Предприятии 8 понятие "Подчиненные документы"?
Специального понятия "Подчиненные документы" в платформе 1С:Предприятия 8 не существует.
При необходимости получения документов, имеющих ссылки на некоторый документ, может использоваться КритерийОтбора. Этот механизм обладает большей гибкостью, чем механизм подчиненных документов. Он позволяет отбирать не только документы, но и другие объекты базы данных. Кроме того, он позволяет непосредственно указать перечень реквизитов, по значению которых необходимо выполнять отбор. В форме КритерияОтбора можно использовать стандартный список для отображения найденных значений и также в форме вставить список документов с отбором по указанному критерию. Однако следует учитывать, что КритерийОтбора не позволяет выполнять динамический просмотр найденных данных. В список будут включаться все найденные объекты. Соответственно, нецелесообразно использовать этот механизм, если количество найденных объектов по значениям критерия отбора будет достаточно велико.
Целесообразность реализации в конкретных прикладных решениях получения списка подчиненных документов определяется разработчиком конфигурации.
https://its.1c.ru/db/metod8dev/content/2488/hdoc
Получение доков, введенных на основании — книга Реализация прикладных задач в системе 1С — используется объект конфигурации "КритерийОтбора"
https://its.1c.ru/db/pubapplied#content:97:hdoc
Реализация прикладных задач в системе «1С:Предприятие 8.2» Глава 2. Документы и последовательности Документы Отдельные вопросы типового использования документов Ввод на основании Получение документов, введенных на основании
Вот еще инфа про критерии отбора
https://wiseadvice-it.ru/o-kompanii/blog/articles/kriterii-otbora-v-1s-8-3/
Объект КритерииОтбора в общих объектах
В общих объектах (модули, реквизиты) есть объект "КритерииОтбора"

Отчет "Дерево документов"
Упоминается регистр РегистрыСведений.СвязиПриходныхНакладныхПервичныхДокументов
Вот код:
Если НовКорень = Неопределено И ТипЗнч(Корень) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда
ПервичныйДокумент = РегистрыСведений.СвязиПриходныхНакладныхПервичныхДокументов.ПолучитьСвязанныйПервичныйДокумент(Корень);
Если ЗначениеЗаполнено(ПервичныйДокумент) И СписокДокументов.НайтиПоЗначению(ПервичныйДокумент) = Неопределено Тогда
НовКорень = ПервичныйДокумент;
КонецЕсли;
КонецЕсли;
Еще есть такой код
Процедура ЗаполнитьДеревоДокументов(ДокументРодитель, КореньДерева , Документ, КореньВерхнегоУровня) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДокументыПоОснованию.Ссылка КАК Ссылка |ИЗ | КритерийОтбора.ДокументыПоОснованию(&Родитель) КАК ДокументыПоОснованию | //|УПОРЯДОЧИТЬ ПО //| ДокументыПоОснованию.Ссылка.Дата |"; Запрос.УстановитьПараметр("Родитель", ДокументРодитель); ТЗ = Запрос.Выполнить().Выгрузить(); Если ТипЗнч(ДокументРодитель) = Тип("ДокументСсылка.ПервичныйДокументВходящий") Тогда ПриходнаяНакладная = РегистрыСведений.СвязиПриходныхНакладныхПервичныхДокументов.ПолучитьСвязаннуюПриходнуюНакладную(ДокументРодитель); Если ЗначениеЗаполнено(ПриходнаяНакладная) Тогда НовыйОбъект = ТЗ.Добавить(); НовыйОбъект.Ссылка = ПриходнаяНакладная; КонецЕсли; КонецЕсли; ОтсортироватьПоДате(ТЗ); МассивПодчиненныхДокументов = ТЗ.ВыгрузитьКолонку("Ссылка"); Для Индекс = 0 По МассивПодчиненныхДокументов.ВГраница() Цикл ДокументУзла = МассивПодчиненныхДокументов[Индекс]; Если ДокументУзла = КореньВерхнегоУровня Тогда Продолжить; КонецЕсли; Лист = КореньДерева.Строки.Добавить(); Лист.Документ = ДокументУзла; Если Лист.Документ = Документ Тогда Лист.флТекущийДокумент = Истина; Иначе Лист.флТекущийДокумент = Ложь; КонецЕсли;
Выборка подчиненных переоценок в Далионе — без всяких "КритериевОтбора", запрос переоценок по условию "ДокОснование равен выбранному доку-родителю"
В функциях общего модуля есть пример выборки подчиненных переоценок к выбранному доку-родителю (приходная накладная или иной док)
Функция ПолучитьСписокКатегорийЦенДляПереоценки(ДокументОбъект, ФормаСписка = Ложь) Экспорт // выборка подчиненных документов Если ФормаСписка ИЛИ НЕ ДокументОбъект.ЭтоНовый() Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Док.Ссылка, | Док.КатегорияЦен КАК КатегорияЦен |ИЗ | Документ.АктПереоценки КАК Док |ГДЕ | Док.ДокументОснование = &ТекСсылка | |УПОРЯДОЧИТЬ ПО | КатегорияЦен"; Запрос.УстановитьПараметр("ТекСсылка", ?(ФормаСписка, ДокументОбъект, ДокументОбъект.Ссылка)); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Индекс = Индекс + 1; СтруктураКатегорий.Вставить("Кнопка" + Строка(Индекс), Выборка.Ссылка); КонецЦикла;