Здравствуйте!
Возникла маленькая ошибка.

```1c
    &НаКлиенте
    Процедура ЗаполнитьТаблицуОстаткамиНаСкладе(Команда)

    Остатки();

    КонецПроцедуры

    &НаСервере

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

    Запрос.УстановитьПараметр("Период", Новый Граница(ДатаОкончания, ВидГраницы.Включая));
    Запрос.УстановитьПараметр("Продукция", Справочники.Номенклатура.НайтиПоНаименованию("Мит 160 литр бойлер"));
    Запрос.УстановитьПараметр("Склад", Склад);

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если РезультатЗапроса.Количество() = 0 Тогда
    Возврат 0;
    Иначе
    Итог = РезультатЗапроса.Итог("ОстатокНаСкладе");
    Объект.ПрайсЛист.Загрузить(РезультатЗапроса);
    Возврат Итог;
    КонецЕсли;

    КонецФункции
```

В табличном документе имеется кнопка выгрузить остатки номенклатуры в табличную часть.
Выгружается остатки когда я делаю поиск только по определенной продукции.
Когда в параметре запроса пишу

```1c
    Продукция = Справочники.Номенклатура
```
, то система ругается на тип значений.
Как получить остатки всей продукции с заполнением в табличную часть?
---
ДатаОкончания = ТекущаяДата();

 Номенклатура = Справочники.Номенклатура;
 Склад = Справочники.Склады.Склад;
 Запрос = Новый Запрос;
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
 | ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОстатокНаСкладе
 |ИЗ
 | РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ТоварыНаСкладахОстатки";

 Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
 Запрос.УстановитьПараметр("Период", Новый Граница(ДатаОкончания, ВидГраницы.Включая));
 Запрос.УстановитьПараметр("Склад", Склад);

 Объект.ПрайсЛист.Загрузить(Запрос.Выполнить().Выгрузить());

Готово - работает))
---
Например, убрать условие

Продукция = &Продукция

из запроса.
---
Убрал.
---
Есть подозрение, что в регистре тип значения по измерению продукция не является справочником номенклатура. Или та номенклатура, которую вы ищете по наименованию, не находится.
---
надо ещё заменить менеджер на конкретный элемент-ссылку
---
для теста замени строку

```1c
    Запрос.УстановитьПараметр("Продукция", Справочники.Номенклатура.ПустаяСсылка());
```

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

    Запрос.УстановитьПараметр("Период", Новый Граница(ДатаОкончания, ВидГраницы.Включая));
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Запрос.УстановитьПараметр("Склад", Склад);

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Объект.ПрайсЛист.Загрузить(РезультатЗапроса);
```

Ошибки нет, но нет отображения данных в табличной части документа
---
```1c
    Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
```

Для чего так делать? Если нужно получить остаток всей номенклатуры, то условия

```1c
    Номенклатура = &Номенклатура
```
 И
```1c
    |ГДЕ
    | ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
```
 надо убрать нафиг из запроса

Сейчас запрос выдает остаток пустой номенклатуры
---
```1c
    Склад = Справочники.Склады.Склад;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    | ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОстатокНаСкладе
    |ИЗ
    | РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки";

    Объект.ПрайсЛист.Загрузить(Запрос.Выполнить().Выгрузить());
```

и так тоже не выдает остаток.
---
Либо колонки в Объект.ПрайсЛист называются не Номенклатура и ОстатокНаСкладе, а по-другому или остатка нет. А может типы значений у колонок "строка", а не справочник.Номенклатура и число
---
Показывает остаток поступление), но это не то.
Я сейчас сделал расход со склада, но в таб.части отображается остаток поступление.
Думаю, нужно установить период
---
Это нормально. Осталось выяснить откуда ты взял такое название номенклатуры. Из формы? Или огласить какой вариант заполнения тебе нужен
---
При нажатии на кнопку "Заполнить" тянулись остатки продукции на складе и заполнялись в табличной части.
---
нужно. И склад при необходимости
---
ДатаОкончания = ТекущаяДата();

 Номенклатура = Справочники.Номенклатура;
 Склад = Справочники.Склады.Склад;
 Запрос = Новый Запрос;
 Запрос.Текст =
 "ВЫБРАТЬ
 | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
 | ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОстатокНаСкладе
 |ИЗ
 | РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ТоварыНаСкладахОстатки";

 Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
 Запрос.УстановитьПараметр("Период", Новый Граница(ДатаОкончания, ВидГраницы.Включая));
 Запрос.УстановитьПараметр("Склад", Склад);

 Объект.ПрайсЛист.Загрузить(Запрос.Выполнить().Выгрузить());

Готово - работает))
---
```1c
    Номенклатура = Справочники.Номенклатура;
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
```

Для чего вы такую хрень пихаете если оно в запросе не участвует?
---
С чего столько негатива? Можно и без него обойтись.
---
Никакого негатива, интересно просто
---
Ваши замечания по написанию кода - это плюс. Спасибо, за прямолинейность!
---
Лишний мусор в коде при больших объемах этого кода может запутать, что увеличивает время поиска ошибки, а время деньги. Следовательно лучше учиться подчищать код сразу после того как процедура начинает выдавать ту информацию, которая ожидалась.
---
Хорошо, спасибо! Учту!)
---
скорее всего Склад все же нужен. Возьми его из документа