Допустим нужно сделать "предотбор" по табличной части "товар" документов: Поступление товаров и услуг, Реализация товаров и услуг, Возврат товара, Списание товара, Авансовый отчет ... (Проще: у всех где есть таблица товар).

Количество номенклатуры небольшое и предопределенное... (позиций 20 ну может за пару лет добавиться 1-2 новых).

Для каждого типа документа нужно сделать возможность настройки предварительного отбора конкретным позициям номенклатуры в таблице Товар.

Хотел сделать регистр сведений с измерениями: Тип документа, Доступная Номенклатура.

Столкнулся с проблемой: Как сделать в измерении ссылку не конкретный документ, а на тип?

Пробовал через "определяемые типы", план видов характеристик - как то не складывается...

ВОПРОС: КАК В ИЗМЕРЕНИИ РЕГИСТРА СВЕДЕНИЙ ОПРЕДЕЛЯТЬ не конкретный документ (документСсылка) а только НУЖНЫЙ ТИП?
---
В типовых есть справочник "Идентификаторы объектов метаданных". Вполне се кошерное решение.
---
Как сделать в измерении ссылку не конкретный документ, а на тип? Пустая ссылка. Хоть это и не кошерно.
Или Строка с полным именем типа "СправочникСсылка.Контрагенты". А потом в коде просто заворачивать его в Тип(ИзмерениеСТипом).
---
Думал об этом.
Хотелось узнать может есть другое решение - кошерное или халяльное...
---
Проще - сделать предопределенный список и подсунуть в текстовый реквизит...
---
В типовых есть справочник "Идентификаторы объектов метаданных". Вполне се кошерное решение.
---
Кстати, да. Для типовых на БСП это отличное решение.
---
Спасибо - это идея.
---
Хорошие идеи будут вознаграждены...
 (5) Уже.

Жду ещё...
---
Можно для номенклатуры предопределенные категории в справочник "Категории объектов" добавить с именами - видами документов, потом отбор по категориям строить
---
Не совсем понял мысль, но если надо добавлять справочник с реквизитом тип документа
То это не особенно отличается от регистра сведений...
---
Можно заполнять данные по типам документов из метаданных. Проверяем есть ли ТЧ "Товары" (предполагаю что в будущем могут добавиться другие ТЧ например "Материалы", "Оборудование", "Продукция" и т.д) и если есть, добавляем в предопределенный список.
---
Задача:
Для каждого документа у которого есть есть табличная часть "Товары" сделать свой "доступный" список Номенклатуры
---
Как уже сказали, регистр сведений с измерениями ссылка на справочник "Идентификаторы объектов метаданных" и Номенклатура.

Если надо, можно сделать регистр периодическим и запилить форму набора записей, в которой для документа редактировать набор записей по этому документу.

Какие-то другие вариантов хранения списка, кроме РС - ну можно в табличной части справочника, но чтобы знать, какой элемент справочника использовать, актуальный надо где-то хранить, то есть в том же РС.
Так если так и так делать РС, то зачем множить сущности и делать еще и справочник, если хватает РС?

Поэтому, Имхо, чего-то другого смысла ждать нет.

Если же справочника "Идентификаторы объектов метаданных" нет, то вместо него хранить имя документа в строке.
---
У меня была похожая задача. Я установил измерение "ТипДокумента" в регистре сведений в тип "Строка". и записывал в него наименование объекта метаданных с помощью функции Ссылка.Метаданные().Имя.

Определить наличие табличной части можно обходом в цикле объектов метаданных и их реквизитов.

```1c
    Для Каждого мтДок Из Метаданные.Документы Цикл

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

    Если МтРек.Имя = "Товары" тогда

    //Какая-то обработка

    КОнецЕсли

    КонецЦикла;

    КонецЦикла;
```
---
Вначале была такая мысль. Но отказался так как пользователь может выбрать любой документ (а не нужный) или нужно будет писать свой отбор и если появится новый тип - дописывать его...
---
А как определлить нужный это документ или нет?
---
Можно на форму добавить строковый реквизит со включенным параметром режим выбора из списка. При создании формы на сервере можно заполнить список выбора используя следующий код:

Элементы.ТипДокумента.СписокВыбора.Очистить();

Для Каждого мтДок Из Метаданные.Документы Цикл

 Элементы.ТипДокумента.СписокВыбора.Добавить(мтДок.Имя, мтДок.Синоним);

КонецЦикла;

При заполнении добавить условие определяющее "нужность" документа
---
Следуя условиям задачи в (0): Документ с табличной частью "Товары"

P.S. Как через метаданные это проверить я знаю.
Вопрос стоит так: Можно ли измерению (например регистра сведений) назначить тип: документ определенного типа, а не ссылка на конкретный...
---
Можно через строковое значение. А в качестве защиты от некорректного выбора, предоставить пользователю ограниченный список выбора.
---
Это я знаю, и давно сделал - интересует другое решение...

Например есть "определяемые типы", им можно назначить только тип документа, но измерению нельзя "подсунуть" такой тип...

Вот меня и интересует может есть ещё какое-то решения...
---
Решал подобную задачку практически без кода, с использованием механизма "Сегменты номенклатуры". Называл сегменты по типу документа, запрос сегмента (сам список номенклатуры) формировал по артикулам через условия ПОДОБНО в запросе и длинной строки с артикулами в параметре. На небольшом списке номенклатуры вполне шустро работало.

Но если вам именно в регистре сведений надо, то не подойдет наверное
---
перечисление со списком типов
---
И главное помнить что если добавить документ, то его надо добавить в перечисление...
---
Справочник тогда

В целом документов не так, много можно было бы и строкой сделать. запрос копеечный будет(список выбора только сделать, Метаданные.Документы
---
Правильное решение - оно же самое простое... всё правильно пишите.

Тип значения измерения регистра - Строка. Для интерактивного заполнения указываете выбор из списка, список выбора заполняете в цикле Документ из Метаданные.Документы, в цикле можно проверить есть ли у типа документа необходимая табличная часть и добавлять в список только нужные - Документ.Имя.
В документах для отбора строк из регистра значение для отбора получаете СсылкаНаДокумент.Метаданные().Имя

Непосредственно тип документа в измерении никак не укажете, а с "Идентификаторы объектов метаданных" возни больше.
---
Если у Вас БСП, то проще добавить ТЧ к справочнику Номенклатура и реквизитом ОбъектМетаданных из Идентификаторы Объектов Метаданных. Организовать выбор только документов. Потому что при добавлении новых объектов нужно пересчитывать идентификаторы. Зачем Регистр у Вас же уже есть справочник и одно из измерений Номенклатура? Это такой же вопрос как Регистр Контактная Информация.