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

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

    &НаКлиенте
    Процедура ИнвНомерПриИзменении(Элемент)
    СтрокаТЧ = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
    СтрокаТЧ.Наименование = ТабличнаяЧасть1ИнвНомерПриИзменении(СтрокаТЧ.ИнвНомер);
    КонецПроцедуры
```
---
Проблема в чем именно? С выбором места кода? С получением данных из регистра? Какая платформа, какие формы?
---
Да свой конфиг пишу, управляемые формы. Проблема с синтасисом.
Как я думаю, сперва получаем данные:
Процедура Номенклатура.ПриИзменении(Элемент) Номенклатура это первый столбец табличной части
ТекСтрока = Элементы.ТекущиеДанные;
далее я создаю запрос к регистру сведений?
---
Да все правильно, далее в (3) ответ
---
Решение в лоб - при изменении инв номера дергать значение из регистра
---
Событие "ПриИзменении" поля ИнвНомер

Пишешь функцию с директивой &НаСервере (если это управляемые формы)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИнвНомер", ИнвНомер);
Запрос.Текст =
"Выбрать РС.Модель из РегистрыСведений.ТвойРегистр как РС ГДЕ РС.ИнвНомер = &ИнвНомер";

Результат = Запрос.выполнить().выбрать();
результат.следующий();
Возврат Результат.Модель;
---
Лучше

```1c
    Если Результат.Следующий() Тогда
    Возврат Результат.Модель;
    КонецЕсли;
```
---
Ну да, бесспорно. Просто писал для примера
---
Лучше &НаСервереБезКонтекста с аргументом ИнвНомер
---
Пишет что переменная не определена Запрос.УстановитьПараметр("ИнвНомер", <<?>>ИнвНомер);
---
так надо передать ее в вашу функцию
---
Пишу в форме документа:

И при выборе параметра выдает ошибку что поле ИнвНомер не найдено(((
---
так писать надо не просто инвентарный номер. для чего-то же вы определили строку тч, наверно в этой переменной у вас есть инвентарный номер, например, строкатч.инвентарныйномер и именно его надо передавать в функцию вашу
---
теперь появляется ошибка передачи данных между клиентом и сервером...
---
ох, так надо же не строку целиком передавать, а только инвентарный номер из этой строки тч, то есть,
```1c
    СтрокаТЧ.ИнвентарныйНомер
```
---
Пишу в форме документа:

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

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

    &НаКлиенте
    Процедура ИнвНомерПриИзменении(Элемент)
    СтрокаТЧ = Элементы.ТабличнаяЧасть1.ТекущиеДанные;
    СтрокаТЧ.Наименование = ТабличнаяЧасть1ИнвНомерПриИзменении(СтрокаТЧ.ИнвНомер);
    КонецПроцедуры
```