Здравствуйте уважаемые эксперты! Прошу вашей помощи, сильно не ругайтесь (учусь)...

Есть документ Инвентаризация, у него есть Табличная часть "Товары" у которой есть реквизит "МестоХраненияНаСкладе" с типом (Строка, Число). Есть Регистр Сведений "МестаХраненияНоменклатуры" с ресурсом "МестоХранения" (СправочникСсылка.МестаХранения).

Нужно так чтобы для всех позиций номенклатуры заполнялся реквизит "МестоХраненияНаСкладе" из Регистра Сведений "МестаХраненияНоменклатуры", физически Место хранения прописывается пользователем в карточке номенклатуры.

Я пытался сделать запрос с обработкой результата, но без успешно - запрос выводит Номенклатуру из Документа, но проблема в том что мой запрос так выводит весь список МестХранения не только для данной номенклатуры.

```1c
    ВЫБРАТЬ
    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
    МестаХраненияНоменклатуры.МестоХранения
    ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары,
    РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
    ГДЕ
    ИнвентаризацияТоваровНаСкладеТовары.Ссылка = &Ссылка
```
---
Значит у вас в табличной части Товары этот реквизит МестоХранения - называется по другому.

СтрТЧ.МестоХранения - замените на правильное имя.
---
```1c
    ВЫБРАТЬ
    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
    МестаХраненияНоменклатуры.МестоХранения
    ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
    ПО ИнвентаризацияТоваровНаСкладеТовары.Номенклатура = МестаХраненияНоменклатуры.Номенклатура
    И ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад = МестаХраненияНоменклатуры.Склад
    ГДЕ
    ИнвентаризацияТоваровНаСкладеТовары.Ссылка = &Ссылка
```
---
Используй ЛЕВОЕ СОЕДИНЕНИЕ
---
```1c
    ВЫБРАТЬ
    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
    МестаХраненияНоменклатуры.МестоХранения
    ИЗ
    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
    ПО ИнвентаризацияТоваровНаСкладеТовары.Номенклатура = МестаХраненияНоменклатуры.Номенклатура
    И ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад = МестаХраненияНоменклатуры.Склад
    ГДЕ
    ИнвентаризацияТоваровНаСкладеТовары.Ссылка = &Ссылка
```
---
Товарищи эксперты подскажите - запрос не заполняет Место хранения, мне кажется я не правильно написал обработку результата -

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
    | МестаХраненияНоменклатуры.МестоХранения
    |ИЗ
    | Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
    | ПО ИнвентаризацияТоваровНаСкладеТовары.Номенклатура = МестаХраненияНоменклатуры.Номенклатура
    | И ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад = МестаХраненияНоменклатуры.Склад
    |ГДЕ
    | ИнвентаризацияТоваровНаСкладеТовары.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Ссылка);

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    Товары.Загрузить(РезультатЗапроса);
```
---
У вас он в принципе ничего не заполняет.
Вы очищаете все данные в таблице и загружаете только 2 колонки - номенклатуру и место хранение.
Причем не из текущих данных документа, а из записанного документа.
То есть херню вы наделали.
---
подскажите пожалуйста, очень прошу, уже намучался
---
Так, например:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | МестаХраненияНоменклатуры.Номенклатура,
    | МестаХраненияНоменклатуры.МестоХранения
    |ИЗ
    | РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
    |ГДЕ
    | МестаХраненияНоменклатуры.Номенклатура В (&МассивНоменклатуры)";

    МассивНоменклатуры = Новый Массив;
    Для Каждого СтрТЧ Из Товары Цикл
    Если ЗначениеЗаполнено(СтрТЧ.Номенклатура)
    И МассивНоменклатуры.Найти(СтрТЧ.Номенклатура) = Неопределено Тогда
    МассивНоменклатуры.Добавить(СтрТЧ.Номенклатура);
    КонецЕсли;
    КонецЦикла;
    Запрос.УстановитьПараметр("МассивНоменклатуры",МассивНоменклатуры);

    РезультатЗапроса = Запрос.Выполнить();

    ВремТаб = РезультатЗапроса.Выгрузить();
    ВремТаб.Индексы.Добавить("Номенклатура");

    Для Каждого СтрТЧ Из Товары Цикл
    Если ЗначениеЗаполнено(СтрТЧ.Номенклатура) Тогда
    СтрокаТаб = ВремТаб.Найти(СтрТЧ.Номенклатура,"Номенклатура");
    Если СтрокаТаб <> Неопределено Тогда
    СтрТЧ.МестоХранения = СтрокаТаб.МестоХранения;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
```
---
Ошибку выдал "{Документ.ИнвентаризацияТоваровНаСкладе.Форма.ФормаДокумента.Форма(1043)}: Поле объекта не обнаружено (МестоХранения)
                СтрТЧ.МестоХранения = СтрокаТаб.МестоХранения"
---
Значит у вас в табличной части Товары этот реквизит МестоХранения - называется по другому.

СтрТЧ.МестоХранения - замените на правильное имя.
---
СПАСИБО! ЗА 2 дня намучался, ВЫ МОЙ СПАСИТЕЛЬ! Можно Вас в друзья добавить?
---
Пожалуйста)
Добавляйте)
---
Табличную часть выгружай и используй как параметр в запросе. Ее левым соединением соединяй с РС.
---
можно пример пожалуйста? очень прошу Вас