в динамический список нужно вывести все документы, в движениях которых есть ПВХ статья расходов.
Как составить запрос?
---
Он точно отработает этот запрос в списке? Я вот написал этот текст запроса для списка

```1c
    ТипыЗнченияПВХ = Метаданные.ПланыВидовХарактеристик.СтатьиРасходов.Тип;

    ИменаРегистров = Новый СписокЗначений;
    Для Каждого Рег Из Метаданные.РегистрыНакопления Цикл
    Для Каждого Изм Из Рег.Измерения Цикл
    ТипыЗначенияИзмерения = Изм.Тип.Типы();

    Если ИменаРегистров.НайтиПоЗначению(Рег.Имя) <> Неопределено Тогда
    Прервать;
    КонецЕсли;

    Для Каждого Тип Из ТипыЗначенияИзмерения Цикл
    Если ТипыЗнченияПВХ.СодержитТип(Тип) Тогда
    ИменаРегистров.Добавить(Рег.Имя);
    Прервать;
    КонецЕсли;
    КонецЦикла;

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

    Всего = ИменаРегистров.Количество();

    Если Всего > 0 Тогда
    ТекстЗапроса = "ВЫБРАТЬ ТаблицаРегистра.Регистратор КАК Регистратор ПОМЕСТИТЬ ВТ ИЗ РегистрНакопления."+ ИменаРегистров.Получить(0).Значение + " КАК ТаблицаРегистра";

    Если Всего > 1 Тогда

    Для й = 1 По Всего - 1 Цикл
    ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + "ВЫБРАТЬ ТаблицаРегистра.Регистратор КАК Регистратор ИЗ РегистрНакопления."+ ИменаРегистров.Получить(й).Значение + " КАК ТаблицаРегистра";
    КонецЦикла;

    КонецЕсли;
    КонецЕсли;

    ТекстЗапроса = ТекстЗапроса + ";" + Символы.ПС + "ВЫБРАТЬ ВТ.Регистратор КАК Регистратор ИЗ ВТ КАК ВТ СГРУППИРОВАТЬ ПО ВТ.Регистратор"
```
Но его даже конструктор запроса хавал несколько десятков секунд. У меня в ерп получилось объединение 185 таблиц
---
Как вариант, через поиск ссылок на объект в конфигураторе найти все реквизиты в документах. Ну а потом запрос к ним написать.
---
Он точно отработает этот запрос в списке? Я вот написал этот текст запроса для списка

```1c
    ТипыЗнченияПВХ = Метаданные.ПланыВидовХарактеристик.СтатьиРасходов.Тип;

    ИменаРегистров = Новый СписокЗначений;
    Для Каждого Рег Из Метаданные.РегистрыНакопления Цикл
    Для Каждого Изм Из Рег.Измерения Цикл
    ТипыЗначенияИзмерения = Изм.Тип.Типы();

    Если ИменаРегистров.НайтиПоЗначению(Рег.Имя) <> Неопределено Тогда
    Прервать;
    КонецЕсли;

    Для Каждого Тип Из ТипыЗначенияИзмерения Цикл
    Если ТипыЗнченияПВХ.СодержитТип(Тип) Тогда
    ИменаРегистров.Добавить(Рег.Имя);
    Прервать;
    КонецЕсли;
    КонецЦикла;

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

    Всего = ИменаРегистров.Количество();

    Если Всего > 0 Тогда
    ТекстЗапроса = "ВЫБРАТЬ ТаблицаРегистра.Регистратор КАК Регистратор ПОМЕСТИТЬ ВТ ИЗ РегистрНакопления."+ ИменаРегистров.Получить(0).Значение + " КАК ТаблицаРегистра";

    Если Всего > 1 Тогда

    Для й = 1 По Всего - 1 Цикл
    ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + "ВЫБРАТЬ ТаблицаРегистра.Регистратор КАК Регистратор ИЗ РегистрНакопления."+ ИменаРегистров.Получить(й).Значение + " КАК ТаблицаРегистра";
    КонецЦикла;

    КонецЕсли;
    КонецЕсли;

    ТекстЗапроса = ТекстЗапроса + ";" + Символы.ПС + "ВЫБРАТЬ ВТ.Регистратор КАК Регистратор ИЗ ВТ КАК ВТ СГРУППИРОВАТЬ ПО ВТ.Регистратор"
```
Но его даже конструктор запроса хавал несколько десятков секунд. У меня в ерп получилось объединение 185 таблиц
---
я пробовал так, таблиц получилось 8. КА 2
тут, наверное, у меня косяк где-то

```1c
    МассивИменРегистров = Новый Массив;
    ПодчинениеРегистратору = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору;
    Для каждого РегистрС Из Метаданные.РегистрыСведений Цикл
    Если РегистрС.РежимЗаписи = ПодчинениеРегистратору Тогда
    Для Каждого ИзмеренияС Из РегистрС.Измерения Цикл
    Если ИзмеренияС.Тип.ПривестиЗначение() = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка() Тогда
    //Сообщить(РегистрС.ПолноеИмя());
    //СчетчикРегистров = СчетчикРегистров + 1;
    Если СтрНайти(РегистрС.ПолноеИмя(), "далить") = 0 Тогда
    МассивИменРегистров.Добавить(РегистрС.ПолноеИмя());
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    Для каждого РесурсС Из РегистрС.Ресурсы Цикл
    Если РесурсС.Тип.ПривестиЗначение() = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка() Тогда
    //Сообщить(РегистрС.ПолноеИмя());
    //СчетчикРегистров = СчетчикРегистров + 1;
    Если СтрНайти(РегистрС.ПолноеИмя(), "далить") = 0 Тогда
    МассивИменРегистров.Добавить(РегистрС.ПолноеИмя());
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;

    Для каждого РегистрН Из Метаданные.РегистрыНакопления Цикл
    //Если РегистрН.РежимЗаписи = ПодчинениеРегистратору Тогда
    Для Каждого ИзмеренияН Из РегистрН.Измерения Цикл
    Если ИзмеренияН.Тип.ПривестиЗначение() = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка() Тогда
    //Сообщить(РегистрН.ПолноеИмя());
    //СчетчикРегистров = СчетчикРегистров + 1;
    МассивИменРегистров.Добавить(РегистрН.ПолноеИмя());
    КонецЕсли;
    КонецЦикла;

    Для каждого РесурсН Из РегистрН.Ресурсы Цикл
    Если РесурсН.Тип.ПривестиЗначение() = ПланыВидовХарактеристик.СтатьиРасходов.ПустаяСсылка() Тогда
    //Сообщить(РегистрН.ПолноеИмя());
    //СчетчикРегистров = СчетчикРегистров + 1;
    МассивИменРегистров.Добавить(РесурсН.ПолноеИмя());
    КонецЕсли;
    КонецЦикла;
    //КонецЕсли;
    КонецЦикла;
    МассивИменРегистров = УдалитьПовторяющиесяЭлементыМассива(МассивИменРегистров);
    Сообщить(МассивИменРегистров.Количество());
```
---
МассивИменРегистров.Добавить(РесурсН.ПолноеИмя()); тут не "РегистрН" должно быть в последнем цикле?
---
Да и зачем вообще проверять ресурсы РНов, Или это я до сих пор сижу на такой древней платформе что в ней у ресурса не может быть другого типа кроме числа?
---
нет, вы правы, это лишнее
---
да, спасибо
---
Может я не так понял задачу, но ИзмеренияС.Тип.ПривестиЗначение() это будет Справочники.Организации.ПустаяСсылка(), например, а этот тип входит в ПВХ. Надо чтоб прям тип значения должен быть ПВХ или чтоб тип значения был одним из типов, входящих в ПВХ?
---
задача - вывести в динамический список документы, в движении которых использована статья расходов (тип ПВХ.ссылка)
Мне кажется, что тут прям тип значения должен быть ПВХ
---
```1c
    //ТипыЗнченияПВХ = Метаданные.ПланыВидовХарактеристик.СтатьиРасходов.Тип;

    Мас = Новый Массив;
    Мас.Добавить(Тип("ПланВидовХарактеристикСсылка.СтатьиРасходов"));
    ТипыЗнченияПВХ = Новый ОписаниеТипов(Мас);
```

Так получилось 16 РНов
---
а можно как-то в (3) условие по конкретной статье засунуть, чтоб сократить выборку?