Подтянуть значение из регистра сведений в документ

1. IgorHoy 25.12.22 19:20 Сейчас в теме
Нужно подтянуть Поставщика выбираемой в табличной части Номенклатуры из регистра сведений. При добавлении новой номенклатуры ничего не происходит. Подскажите, что не так в моём коде?

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

&НаКлиенте
Процедура ТабЧастьНоменклатураПриИзменении(Элемент)
	Пост = Элементы.ТабЧасть.ТекущиеДанные;
	Пост.Поставщик = ТабЧастьНоменклатураПриИзмененииНаСервере(Пост.Номенклатура);
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
5. IgorHoy 25.12.22 22:41 Сейчас в теме
Вот рабочее решение. Вдруг кому-то пригодится

&НаСервереБезКонтекста
Функция ТабЧастьНоменклатураПриИзмененииНаСервере(Номенклатура) 
    Запрос = Новый Запрос;
Запрос.Текст =
  "ВЫБРАТЬ
  |    Товары.Номенклатура КАК Номенклатура,
  |    Товары.Поставщик КАК Поставщик
  |ИЗ
  |    РегистрСведений.Товары КАК Товары
  | ГДЕ
  | Товары.Номенклатура = &Номенклатура";
 
  Запрос.УстановитьПараметр("Номенклатура", Номенклатура);   
  Результат = Запрос.Выполнить();
  Выборка = Результат.Выбрать();
  Выборка.Следующий(); 
    Возврат Выборка.Поставщик;
КонецФункции
&НаКлиенте
Процедура ТабЧастьНоменклатураПриИзменении(Элемент)
	Пост = Элементы.ТабЧасть.ТекущиеДанные;
	Пост.Поставщик = ТабЧастьНоменклатураПриИзмененииНаСервере(Пост.Номенклатура);
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 25.12.22 19:27 Сейчас в теме
(1) Пропущено Выборка.Следующий(). Это если не обращать внимание на остальной бред.
4. пользователь 25.12.22 20:28
Сообщение было скрыто модератором.
...
2. user1863362 25.12.22 19:27 Сейчас в теме
Выборку на записи спозиционировать надо - метод Следущий у нее позвать. Заодно и подумать, что будет, если прихода совсем не было.
5. IgorHoy 25.12.22 22:41 Сейчас в теме
Вот рабочее решение. Вдруг кому-то пригодится

&НаСервереБезКонтекста
Функция ТабЧастьНоменклатураПриИзмененииНаСервере(Номенклатура) 
    Запрос = Новый Запрос;
Запрос.Текст =
  "ВЫБРАТЬ
  |    Товары.Номенклатура КАК Номенклатура,
  |    Товары.Поставщик КАК Поставщик
  |ИЗ
  |    РегистрСведений.Товары КАК Товары
  | ГДЕ
  | Товары.Номенклатура = &Номенклатура";
 
  Запрос.УстановитьПараметр("Номенклатура", Номенклатура);   
  Результат = Запрос.Выполнить();
  Выборка = Результат.Выбрать();
  Выборка.Следующий(); 
    Возврат Выборка.Поставщик;
КонецФункции
&НаКлиенте
Процедура ТабЧастьНоменклатураПриИзменении(Элемент)
	Пост = Элементы.ТабЧасть.ТекущиеДанные;
	Пост.Поставщик = ТабЧастьНоменклатураПриИзмененииНаСервере(Пост.Номенклатура);
КонецПроцедуры
Показать
6. пользователь 25.12.22 23:01
Сообщение было скрыто модератором.
...
7. IgorHoy 25.12.22 23:15 Сейчас в теме
(6) Так эта база не для внедрения, а для лабораторной работы в унике) Зачем сразу камнями кидаться
8. пользователь 25.12.22 23:19
Сообщение было скрыто модератором.
...
9. IgorHoy 25.12.22 23:46 Сейчас в теме
(8) я же не сказал, что оно обязательно кому-то пригодится. Я написал ВДРУГ. Если можете сделать лучше, то блесните своими умениями
10. пользователь 26.12.22 00:02
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот