Добрый день. Пытаюсь получить свойство номенклатуры. (обычная форма, не управляемая). У меня пустой результат запроса. Может подскажете, что не так...

```1c
    Функция ПолучитьСвойство(ТМЦ)

    Если ТипЗнч(ДокументОснование) = Тип("ДокументОбъект.РасходнаяНакладнаяТМЦ") Тогда
    МоеСвойство= ";

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗначенияСвойствОбъектов.Значение КАК МоеСвойство
    |ИЗ
    | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |ГДЕ
    | ЗначенияСвойствОбъектов.Объект = &Объект
    | И ЗначенияСвойствОбъектов.Свойство = &Свойство";

    Запрос.УстановитьПараметр("Объект", ТМЦ);
    Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Цвет"));

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если РезультатЗапроса.Количество() <> 0 Тогда //!!! Вот здесь пусто выдает
    МоеСвойство = РезультатЗапроса[0].МоеСвойство;

    Для каждого Строка из РезультатЗапроса Цикл

    МоеСвойство= Строка.МоеСвойство;

    КонецЦикла;
    КонецЕсли;
    Возврат МоеСвойство;
```

КонецЕсли;
Спасибо всем откликнувшимся!
---
Разобралась. Немного переделала функцию.

```1c
    Функция ПолучитьСвойство(ТМЦ,Документ)

    Если ТипЗнч(ДокументОснование) = Тип("ДокументОбъект.РасходнаяНакладнаяТМЦ") Тогда
    МоеСвойство= ";

    Сведения = Новый Структура ("МоеСвойство");

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

    Запрос.УстановитьПараметр("Объект", ТМЦ);
    Запрос.УстановитьПараметр("Ссылка", Документ);

    Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МоеСвойство"));

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если РезультатЗапроса.Количество() <> 0 Тогда

    Сведения.Вставить("МоеСвойство", РезультатЗапроса[0].МоеСвойство);

    КонецЕсли;

    Возврат Сведения;
    КонецЕсли;

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

Всем спасибо за помощь)
---
В отладчике посмотрите чему у вас равны параметры ТМЦ и ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Цвет")
---
ТМЦ у меня равно моей номенклатуре, а вот во второй параметр ничего не передается.. но я знаю, что такое наименование есть и его значение указано в этой номенклатуре
---
Посмотрите код свойства и ищете по коду
---
получи гуид этого свойства и обращайся через него. Наименование могут поменять а гуид статичен
---
спасибо, попробую по гуид
---
а код вообще верно написан? потому что по коду тоже не выдает ничего((
---
Разобралась. Немного переделала функцию.

```1c
    Функция ПолучитьСвойство(ТМЦ,Документ)

    Если ТипЗнч(ДокументОснование) = Тип("ДокументОбъект.РасходнаяНакладнаяТМЦ") Тогда
    МоеСвойство= ";

    Сведения = Новый Структура ("МоеСвойство");

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

    Запрос.УстановитьПараметр("Объект", ТМЦ);
    Запрос.УстановитьПараметр("Ссылка", Документ);

    Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МоеСвойство"));

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Если РезультатЗапроса.Количество() <> 0 Тогда

    Сведения.Вставить("МоеСвойство", РезультатЗапроса[0].МоеСвойство);

    КонецЕсли;

    Возврат Сведения;
    КонецЕсли;

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

Всем спасибо за помощь)