Добрый день!
Элементарная задача, УТ10.3, пользователь хочет из справочника номенклатуры по кнопке открывался отчет "ВедомостьТоварыНаСкладах" открыть отчет с параметрами этой номенклатуры и дополнительными полями: "Документ движения (регистратор)", "Период".

Добавил кнопку на панель, код:

```1c
    Процедура ОТЧЕТНажатие(Элемент)

    ТекущаяСтрока = ЭлементыФормы.НаименованиеПолное.Значение;

    ВедомостьТоваровНаСкладах = Отчеты.ВедомостьТоварыНаСкладах.Создать();
    ВедомостьТоваровНаСкладах.УстановитьНачальныеНастройки();

    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить();
    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияКолонки.Очистить();
    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ПостроительОтчета.ВыбранныеПоля.Очистить();
    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ПостроительОтчета.Порядок.Очистить();

    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");

    //номенклатура
    ЭлементОтбора = ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ПостроительОтчета.Отбор["Номенклатура"]; //номенклатура
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
```

До этого все идет, встает на первой строке отсюда:

```1c
    ЭлементОтбора.Значение = ЭлементыФормы.НаименованиеПолное.Значение;

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

    ФормаОтчета = ВедомостьТоваровНаСкладах.ПолучитьФорму("Форма");
    ФормаОтчета.Открыть();
    ФормаОтчета.ОбновитьОтчет();
```

Крашится с ошибкой:

{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(2747)}: Ошибка при установке значения атрибута контекста (Значение)
 ЭлементОтбора.Значение = ЭлементыФормы.НаименованиеПолное.Значение;
по причине:
Неверный тип значения

Да я понимаю, что не верный тип значения, но не понимаю как конкретно нужно оформить. Заранее спасибо за помощь.
---
Думается, что ЭлементыФормы.НаименованиеПолное - это не ссылка на номенклатуру. А нужна именно ссылка.
---
```1c
    (1) Ниже кусок из типовой УТП, где открывается отчет с отбором по номенклатуре

    Процедура ОткрытьОтчетПоТекущейНоменклатуре(НазваниеОтчета)

    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
    // ничего нет
    Возврат;
    КонецЕсли;

    // получаем форму для построения отчета по остатку товара
    ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные.Ссылка;
    ОтчетОстатки = Отчеты[НазваниеОтчета].Создать();

    ОтчетОстатки.УстановитьНачальныеНастройки();

    ОтчетОстатки.УниверсальныйОтчет.мВосстанавливатьНастройкиПриОткрытии = Ложь;

    ФормаОтчета = ОтчетОстатки.ПолучитьФорму(, ЭтаФорма, ЭтаФорма);
    ФормаОтчета.Открыть();

    ТекОтбор = ОтчетОстатки.УниверсальныйОтчет.ПостроительОтчета.Отбор.Номенклатура;
    ТекОтбор.ВидСравнения = ?(ТекущиеДанные.ЭтоГруппа, ВидСравнения.ВИерархии, ВидСравнения.Равно);
    ТекОтбор.Значение = ТекущиеДанные;
    ТекОтбор.Использование = Истина;

    ОтчетОстатки.УниверсальныйОтчет.ДатаКон = ТекущаяДата();
    ОтчетОстатки.СформироватьОтчет(ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат);

    КонецПроцедуры
```
---
опять 25
отбор по номенклатуре, а передаем наименование. Или мы что-то не так делаем, или нам удалось назвать наименованием ссылку на номенклатуру, в именах переменных мы запутались из-за этого и не можем решить "элементарную задачу" (с).
Никогда, друзья, НИКОГДА не называйте ссылки наименованиями. Никогда. Имя переменной должно однозначно говорить о ее содержании.
И никогда не называйте элементарными задачи, которые вы не можете решить. Это очень сильно роняет вашу ценность в глазах окружающих. Элементарные задачи любой дурак может решить. Кроме того, это мешает вам подойти к задаче всерьез, открыть отладчик, изучить свой код, переименовать правильно переменные, найти ошибку и разобраться самостоятельно. Т.к. что там копаться-то, задача ведь "элементарная".
---
Думается, что ЭлементыФормы.НаименованиеПолное - это не ссылка на номенклатуру. А нужна именно ссылка.
---
```1c
    (1) Ниже кусок из типовой УТП, где открывается отчет с отбором по номенклатуре

    Процедура ОткрытьОтчетПоТекущейНоменклатуре(НазваниеОтчета)

    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
    // ничего нет
    Возврат;
    КонецЕсли;

    // получаем форму для построения отчета по остатку товара
    ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные.Ссылка;
    ОтчетОстатки = Отчеты[НазваниеОтчета].Создать();

    ОтчетОстатки.УстановитьНачальныеНастройки();

    ОтчетОстатки.УниверсальныйОтчет.мВосстанавливатьНастройкиПриОткрытии = Ложь;

    ФормаОтчета = ОтчетОстатки.ПолучитьФорму(, ЭтаФорма, ЭтаФорма);
    ФормаОтчета.Открыть();

    ТекОтбор = ОтчетОстатки.УниверсальныйОтчет.ПостроительОтчета.Отбор.Номенклатура;
    ТекОтбор.ВидСравнения = ?(ТекущиеДанные.ЭтоГруппа, ВидСравнения.ВИерархии, ВидСравнения.Равно);
    ТекОтбор.Значение = ТекущиеДанные;
    ТекОтбор.Использование = Истина;

    ОтчетОстатки.УниверсальныйОтчет.ДатаКон = ТекущаяДата();
    ОтчетОстатки.СформироватьОтчет(ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат);

    КонецПроцедуры
```
---
опять 25
отбор по номенклатуре, а передаем наименование. Или мы что-то не так делаем, или нам удалось назвать наименованием ссылку на номенклатуру, в именах переменных мы запутались из-за этого и не можем решить "элементарную задачу" (с).
Никогда, друзья, НИКОГДА не называйте ссылки наименованиями. Никогда. Имя переменной должно однозначно говорить о ее содержании.
И никогда не называйте элементарными задачи, которые вы не можете решить. Это очень сильно роняет вашу ценность в глазах окружающих. Элементарные задачи любой дурак может решить. Кроме того, это мешает вам подойти к задаче всерьез, открыть отладчик, изучить свой код, переименовать правильно переменные, найти ошибку и разобраться самостоятельно. Т.к. что там копаться-то, задача ведь "элементарная".
---
Татьяна Федорова и Д. Р. (starjevschik)
Спасибо что пояснили!
 Д. Р. (starjevschik) - по поводу "элементарных вещей". Подразумевалось элементарные вещи для профессионалов, коим я не отношусь. Потому мое падение в глазах окружающих вполне приемлемо. Но замечание важное, спасибо!
Еще вопрос из этой темы, не получается выставить дополнительные поля: "Документ движения (регистратор)", "Период".

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

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

```1c
    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.мРасширеннаяНастройка = Истина;
    ВедомостьТоваровНаСкладах.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Регистратор");
```
---
Была похожая задача. Там, правда, задача была вывести команду открытия стандартного отчёта в документ, чтобы при его открытии подтягивался из реквизита документа параметр отчёта. Для этого во внешнюю обработку позаимствовал из отчёта все его макеты, реквизиты и форму. А далее определил внешнюю обработку в модуле объекта как печатную форму с вызовом клиентского метода. Там передавал в отчёт параметр из реквизита документа и открывал форму со стандартным заполнением параметра отчёта.