Обновление формы документа после программного изменения реквизита на ней #777261


#0 by mixperez
Приветствую, есть документ реализации, на нем есть реквизит. Данный реквизит программно изменяется при проведении другого документа. Форма документа реализации при этом остается открытой. Как без закрытия и открытия формы документа реализации увидеть изменения данного реквизита. Т.е. необходимо программно обновить форму, чтобы увидеть новые данные, которые были изменены. Пробовал подписываться на событие формы документа Реализации РеквизитПриИзменениии, т.е. Не срабатывает.
#1 by Fish
Оповестить и ОбработкаОповещения?
#2 by mixperez
Пытался, только процедура по программному изменению реквизита из другого документа выполняется в модуле менеджера другого документа и там ошибка: {Документ.СчетФактураВыданный.МодульМенеджера(729,2)}: Процедура или функция с указанным именем не определена (Оповестить)     <<?>>Оповестить("РеквизитИзменен"); (Проверка: Сервер)
#3 by Fish
Правильно. Потому что у Оповестить: Доступность: Тонкий клиент, веб-клиент, толстый клиент.
#4 by mixperez
Отлично, а какое нибудь событие на форме, на которой изменяется программно реквизит можно отловить, после того как реквизит изменен?
#5 by mixperez
Up
#6 by aleks_default
<<Данный реквизит программно изменяется при проведении другого документа>>. А сообщения об изменении объекта другим пользователем не возникает? Хотя, при программном изменении по-моему нет Короче, овнокод детектед.
#7 by mixperez
А сообщения об изменении объекта другим пользователем не возникает?  - Нет не возникает. Реквизит данной формы документа программно изменяется при проведении другого документа. Процедура описана в модуле менеджера другого документа и вызвана в обработке проведения в модуле объекта этого документа. Все события выполняются на сервере, поэтому и не могу использовать оповестить. Если в целом - Из документа реализации мы регистрируем счет фактуру, проводим ее и после проведения изменяется реквизит в форме документа реализации.
#8 by aleks_default
Если в целом - Из документа реализации мы регистрируем счет фактуру, проводим ее и после проведения изменяется реквизит в форме документа реализации. Ну так это нужно делать в контексте Документа реализации а не из проведения счет-фактуры. Т. е. з документа реализации в транзакции вызываешь проведение СФ(хотя это тоже не кошерно), если проводится - меняешь здесь же реквизит, нет - нет.
#9 by mixperez
Т. е. из документа реализации в транзакции вызываешь проведение СФ(хотя это тоже не кошерно), если проводится - меняешь здесь же реквизит, нет - нет. А зачем программно вызывать проведение СФ, если смысл в том, что пользователь сам должен переходить на форму документа СФ по гиперссылке и вводить все необходимые данные на ней, и на основании даты проведения - меняется один из реквизитов документа реализации, он меняется на значение даты проведения счет фактуры
#10 by mixperez
Сам реквизит принимает нужное значение, алгоритм отрабатывает как надо. Вот только форму документа реализации как обновить(она остается открытой), чтобы пользователь смог увидеть изменения на ней сразу, а не только закрыв и открыв ее заново.
#11 by aleks_default
Я откуда знаю зачем. Это у тебя так в написано.
#12 by aleks_default
В любом случае при проведении одного документа менять реквизиты другого нельзя. Можно отображать в форме одного документа реквизит от другого - для этого есть метод ОповеститьОбИзменении
#13 by hhhh
ну в процедуру обработки этой гиперссылки и встаьте. Типа Объект.Реквизит = ТекущаяДата;
#14 by mixperez
Оно там и вставлялось. Реквизит менялся - все было ok.
#15 by mixperez
Проблема решена, всем спасибо за участие. В обработке проведения мне эта процедура самому не нравилась. Учел все. Перенес исполнение процедуры в обработку ПослеЗаписи в модуле формы СФ, который выполняется на клиенте, после использовал оповестить и в модуле формы ДокументаРеализации в ОбработкеОповещения проверяю это событие и ЭтаФорма.Прочитать - отрабатывает!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С