Есть некий дополнительный справочник, элементы которого являются дополнительными реквизитами справочника "Номенклатура". Этот справочник не подчинен справочнику номенклатура. Возникают следующие вопросы:
1. По некоторым признакам справочники могут быть связаны. Например, наименование номенклатуры может содержать наименование элемента дополнительного справочника. Как сделать эту связку ?
2. Если такой связки нет (не нашлась номенклатура для связки), то как это определить ?
3. По заданному реквизиту дополнительного справочника найти номенклатуру или список номенклатуры.
Хотелось бы решить эти вопросы разными процедурами.
---
А будет такая конструкция работать ?
```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ВложенныйЗапрос.Ярлык КАК Ярлык,
    | ВложенныйЗапрос.СсылкаНаЯрлык КАК СсылкаНаЯрлык
    |ИЗ
    | (ВЫБРАТЬ
    | Ярлыки.Ссылка КАК Ярлык,
    | НоменклатураДополнительныеРеквизиты.Ссылка КАК СсылкаНаЯрлык
    | ИЗ
    | Справочник.Ярлыки КАК Ярлыки
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    | ПО Ярлыки.Ссылка = НоменклатураДополнительныеРеквизиты.Значение) КАК ВложенныйЗапрос
    |ГДЕ
    | ВложенныйЗапрос.СсылкаНаЯрлык = &Пусто";
    Запрос.УстановитьПараметр("Пусто",Справочники.Ярлыки.ПустаяСсылка());
```
---
Получается. Только вместоВложенныйЗапрос.СсылкаНаЯрлык = &Пусто нужно написать ВложенныйЗапрос.СсылкаНаЯрлык Есть NULL

Всем спасибо !!!
---
1. СвязанныеДокументы отбор есть такой.
2. Пилите свой алгоритм, кто не дает.
3. Пилите свой алгоритм.
---
Поясню как возникли эти вопросы. Данные велись в разных базах: Бухгалтерия 7.7 и Excel. Теперь нужно все свести в БП 3.0. Для того, чтобы не сильно изменять конфигурацию, решили данные из Excel ввести как дополнительные реквизиты номенклатуры.

(2) 1. СвязанныеДокументы отбор есть такойВ данном случае справочники !
---
есть типовой механизм поиск ссылок. Если не устроит, ответ уже получили!
---
есть типовой механизм поиск ссылокесли не лень, то можно подробнее.
---
главное меню, все функции, стандартные.
---
главное меню, все функции, стандартныеЭто вручную, а нужно программно.
---
а нужно программноНапример так для пункта 2:

```1c
    &НаСервере
    Процедура ДобавитьНоменклатуруПоЯрлыкамНаСервере()

    Ярлыки = Справочники.Ярлыки.Выбрать();
    Пока Ярлыки.Следующий() Цикл
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
    | НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
    | НоменклатураДополнительныеРеквизиты.Значение КАК Значение
    |ИЗ
    | Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    |ГДЕ
    | НоменклатураДополнительныеРеквизиты.Значение = &Значение";
    Запрос.УстановитьПараметр("Значение",Ярлыки.Ссылка);
    Выборка=Запрос.Выполнить().Выбрать();
    Если НЕ Выборка.Следующий() Тогда
    СоздатьНоменклатуруПоЯрлыку(Ярлыки.Ссылка);
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
Мне не нравится перебор ярлыков. Хочется сделать одним запросом.
---
есть функция поискссылок вернет тоже самое программно!
Или запрос напишите в чем вопрос не понятно!
---
есть функция поискссылокТакой функции не нашел :(
Может быть имелось ввиду НайтиПоСсылкам() ?
---
скорее всего да, почитайте справку там все написано.
---
скорее всего да, почитайте справку там все написано.Первым аргументом этой функции должен быть массив ссылок на дополнительный справочник, а в результате получиться таблица значение с существующими ссылками. А нужно получить таблицу "несуществующими ссылками". Вот в этом проблема.
---
3. Пилите свой алгоритм.Там можно ответить на любые вопросы на форуме !
---
Можно искать по реквизиты номенклатуры. Если не нашли - значит нет соответствия, если нашли - вот вам выборка
---
Можно искать по реквизиты номенклатурыЭто дополнительный реквизит.
---
Дополнительные реквизиты хранятся в табличной части справочника. Все равно можно
---
Дополнительные реквизиты хранятся в табличной части справочника. Все равно можно Можно, но как ? Если бы это был реквизит, описанный в конфигурации, то ищем по реквизиту. Дополнительный реквизит в конфигурации не описан :(
---
В вашем дополнительном справочнике д.б. определен ключ, с помощью которого можно выбирать элементы справочника Номенклатура.
---
В вашем дополнительном справочнике д.б. определен ключ, с помощью которого можно выбирать элементы справочника Номенклатура.Но дополнительный справочник может существовать и без привязки к номенклатуре. Как быть в этом случае ?
---
элемент без привязки к логическому владельцу.
---
В теме написал УТ 11, а на самом деле нужно для БП 3.0.
---
А будет такая конструкция работать ?
```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ВложенныйЗапрос.Ярлык КАК Ярлык,
    | ВложенныйЗапрос.СсылкаНаЯрлык КАК СсылкаНаЯрлык
    |ИЗ
    | (ВЫБРАТЬ
    | Ярлыки.Ссылка КАК Ярлык,
    | НоменклатураДополнительныеРеквизиты.Ссылка КАК СсылкаНаЯрлык
    | ИЗ
    | Справочник.Ярлыки КАК Ярлыки
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    | ПО Ярлыки.Ссылка = НоменклатураДополнительныеРеквизиты.Значение) КАК ВложенныйЗапрос
    |ГДЕ
    | ВложенныйЗапрос.СсылкаНаЯрлык = &Пусто";
    Запрос.УстановитьПараметр("Пусто",Справочники.Ярлыки.ПустаяСсылка());
```
---
Получается. Только вместоВложенныйЗапрос.СсылкаНаЯрлык = &Пусто нужно написать ВложенныйЗапрос.СсылкаНаЯрлык Есть NULL

Всем спасибо !!!