Вступить в клуб →
средняявопросПлатформа и объектная модель

Изменение объекта, полученного через РеквизитФормыВЗначение, не видно на форме

На управляемой форме документа разработчик пересчитывает сумму:

&НаСервере
Процедура ПересчитатьСуммуНаСервере()
    Док = РеквизитФормыВЗначение("Объект");
    Док.СуммаДокумента = Док.Товары.Итог("Сумма");
КонецПроцедуры

Процедура отрабатывает без ошибок, но пользователь на форме новой суммы не видит — поле остаётся с прежним значением.

Почему?

  • Метод вернул отдельный объект-копию: чтобы изменение попало на форму, значение нужно вернуть обратно в реквизит формы
  • Реквизит «СуммаДокумента» на сервере доступен только для чтения, поэтому присваивание проигнорировано
  • Сумма в объекте изменилась, но на форме она отобразится только после записи документа в базу и повторного чтения данных формой
  • Итог по табличной части на сервере считается по данным базы, а не по данным формы, поэтому вернулся ноль

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела