Упрощённо опишу ситуацию.
Есть документ "Документ", который имеет табличную часть в которой есть реквизит, который ссылается на документ "Реализация", у которого в свое время имеется реквизит "ВремяОтгрузки".
В форме документа "Документ" вытягую табличную часть, то есть получаю табличку со столбцом ссылкой на "Реализация", а дальше раскрываю эту ссылку и вытягиваю в таблицу ещё реквизит "ВремяОтгрузки".
Дальше программно по ссылке на реализацию меняю время отгрузки, но в столбце формы "ВремяОтгрузки" значение не меняется. Переоткрытие формы не помогает. В самом объекте время изменено...
Что я не так делаю?
---
Дальше программно по ссылке на реализацию меняю время отгрузки...

После записи документа вызывайте ОповеститьОбИзменени(СсылкаОбъектаКоторыйИзменялся);
---
Если объетков много, можно в качестве параметра указать не ссылку, а тип.
Посмотрите в синтакс помощнике.
---
Если вы программно меняете данные, то нужно использовать ОповеститьОбИзменении(<Ссылка>)
---
Надо перезаполнять ВремяОтгрузки, если это реквизит табличной части документа и документ сохранен
---
Это не реквизит ТЧ. Реквизит ТЧ это сама ссылка на реализацию, а остальное поле это получение значения поля из ссылки на реализацию. Выше скрин.
---
то есть обработчика по заполнению поля нет, и при первом заполнении все стает само?. А если очистить поле ссылки и заполнить снова - вермя обновляется?
---
Никаких обработчиков нет для данного поля. Если удалить ссылку на реализацию, то поле очищается. Магия)
---
Выполняю такой код в директиве НАСЕРВЕРЕ.
Документ=Строка.ТТН.ПолучитьОбъект();
Документ.Штрихкод=ШтрихкодПогрузочного;
Документ.НачалоЗагрузки=ТекущаяДата();
Документ.Записать();

После чего в форме, логично, должно автоматически обновиться "НачалоЗагрузки", но оно почему то остается старое и даже после перезапуска формы О_о.
---
Дальше программно по ссылке на реализацию меняю время отгрузки...

После записи документа вызывайте ОповеститьОбИзменени(СсылкаОбъектаКоторыйИзменялся);
---
ОповеститьОбИзменени(СсылкаОбъектаКоторыйИзменялся)
Получается мне нужно вызвать данный метод для каждой ссылки, что изменилась?
К примеру, у меня есть 4 строки с ссылками на реализации и во всех я меняю время. Мне нужно для каждой ссылки выполнить: ОповеститьОбИзменени("ССЫЛКАНА РЕАЛИЗАЦИЮ"); ?
---
Если объетков много, можно в качестве параметра указать не ссылку, а тип.
Посмотрите в синтакс помощнике.
---
Спасибо большое Вам за помощь. Уже когда то видел такое и думал что платформа глючит, а тут уже прям очень необходимо что бы было корректно, а оно вот как оказывается...
---
Пожалуйста
---
"ВремяОтгрузки" в табличной части через точку от реализации получаешь ?
---
Конечно. Ниже скрины.
---
а можно скрин структуры данных формы? и путь к данным колонки "ВермяОтгрузки"
а если переоткрыть форму "документ" время обновится?
---
После переоткрытия формы не обновляется ничего.
---
Можно в пути к данным элемента столбца указывать Документы.ТТН.ВремяОтгрузки (вроде так), хранить дату в табличной части нецелесообразно.
---
Так и указано.
---
(1) Дальше программно по ссылке на реализацию меняю время отгрузки, но в столбце формы "ВремяОтгрузки" значение не меняется. Поподробнее можно? С кодом желательно.
---
Вообщем помогает закрыть 1с8 полностью и войти снова. После чего перейти в документ
---
Можно попробовать Элементы.Документы.Обновить() или ЭтаФорма.ОбновитьОтображениеДанных() ещё можно из меню Ещё клацнуть перечитать, хотя это не удобно конечно...
---
Не помогает "Перечитать()" - первое что пробовал. Не пойму почему помогает полный перезапуск клиента.
---
Потому что для отображения данных используется кэш. Когда вы меняете данные, чтобы кэш обновился, надо вызывать метод оповщения об изменении.
Когда вы закрываете 1с и запускаете заново - кэш формируется уже новый.
---
Если вы программно меняете данные, то нужно использовать ОповеститьОбИзменении(<Ссылка>)
---
Я пытался закрыть документ и открыть его заново - время не поменялось. Закрыл полностью клиент и снова открыл его зайдя в документ - время другое в форме (правильное).
---
Да не будет время само обновляться на форме... напишите обработчик в приоткрытии() или причтениисоздании() - получить по ссылке от ТТН это время и поместите его в поле...
---
Вы конечно можете проводить различные опыты и делиться в форуме наблюдениями))
Но если хотите, чтобы данные отображались в форме новые, надо сделать то, что указано в (14) и (15)
---
ые отображались в форме новые, надо сделать то, что указано в (1

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

 осуществляется очистка закэшированных данных на клиенте. В частности, очищается кэш представлений ссылок, кэш данных через точку, кэш данных быстрого выбора, кэш ограничений по типу, кэш форм выбора. Удаляется только та информация, которая стала недействительной.
---
Подскажите как решить данную проблему если запись элемента происходить на сервере(HTTP-сервисы)
И вызвать процедуру ОповеститьОбИзменении нет возможности, так она запускается только на клиенте?
---
плюсану и добавлю регламентные задания