Здравствуйте! Делаю запрос к регистру сведений, из которого надо получить данные по инвентарным номерам, с условием что сотрудник - это выбираемый сотрудник в табличной части, а родитель (это реквизит регистра) заполнен - Принтеры. При моём запросе пишет что поле сотрудник не обнаружено. Где я ошибку допустила, подскажите пожалуйста?

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

    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
    Возврат Результат.ИнвНомер;
    КонецЕсли;
    КонецФункции
```
---
Может вам попробовать конструктором запросов запрос построить?

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

    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
    Возврат Результат.ИнвНомер;
    КонецЕсли;
    КонецФункции
```
---
```1c
    | И РС.Родитель = Принтеры
```

Это как?

Где пишет-то что поле "Сотрудник" не обнаружено?
Вангую, что вы одинаковые имена переменной/параметру функции и реквизиту назначили.
---
Теперь другая ошибка вылезла - синтаксическая ошибка РС.Родитель = <<?>>%Принтеры
---
РС.Родитель = &Принтеры надо
В параметр надо установить ссылку на элемент справочника которую можно найти по наименованию или коду.
---
Точно в запросе на сотрудника ругается? Полный текст ошибки какой?
---
И РС.Родитель = Принтеры

А здесь "Принтеры" - это что? Параметр, значение, что?
---
Принтеры это значение записываемое в регистр
---
Тип у него хоть какой? Строка, справочник, перечисление?
---
Тип значения какой?
---
Добавте еще один параметр Принтер, ибо процедура понятия не имеет про ваши принтеры...

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

    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
    Возврат Результат.ИнвНомер;
    КонецЕсли;
    КонецФункции
```
---
А принтер это слово - "Принтер" в реквизите Родитель
---
Вы выше писали, что это Справочник.Номенклатура.
---
А вы покажите структуру своего РС.ИнвНомера
---
ИнвНомер - число, Наименование - справочник.Номенклатура (Элементы), родитель - справочник.Номенклатура (группа), сотрудник- справочник.сотрудники.

Теперь другая ошибка вылезла - синтаксическая ошибка РС.Родитель = <<?>>%Принтеры
---
родитель - справочник.Номенклатура Ну тогда его и сравнивать нужно с элементом справочника Номенклатура
---
Покажите наконец ваш регистр!
Картинку в студию....
---
Может вам попробовать конструктором запросов запрос построить?

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

    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
    Возврат Результат.ИнвНомер;
    КонецЕсли;
    КонецФункции
```
---
Дааааа!!!! Спасибо большое! Все получилось!!!