Отражение изменения реквизита на открытой обычной форме УТ 10.3

1. Дон Кихот 16.10.19 10:55 Сейчас в теме
Из документа заказ покупателя делаю на основании документ реализация, при проведении реализации необходимо в документе заказ покупателя поменять значение реквизита отображаемого на форме, использую следующий код, при этом форма заказа покупателя остается открытой:

ДокЗаказПокупателя.Статус = Перечисления.СтатусДокуменаЗаказПокупателя.Отгружен;
			ДокЗаказПокупателя.Записать(); 
			Форма =  ДокЗаказПокупателя.ПолучитьФорму();
			ДокЗаказПокупателя.Прочитать();
			Если  Форма.Открыта() Тогда
				Форма.Обновить();
			Иначе
				Форма.Открыть();
			КонецЕсли;
Показать


в нем не работает метод Форма.Открыта() и открывается сразу вторая форма заказа покупателя с измененным реквизитом, а открытая раньше не закрывается.

Подскажите пожалуйста, как закрыть форму открытую ранее
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. wertep 23 16.10.19 11:06 Сейчас в теме
(1)Вы в коде только что получили Форма, и не открывали ее. Вот она и открывается.
3. Дон Кихот 16.10.19 11:07 Сейчас в теме
(2)У этого документа эта форма уже была открыта, из нее на основании я создаю реализацию
4. killitch 30 16.10.19 11:12 Сейчас в теме
(1)Может через оповещение сделать?
5. Дон Кихот 16.10.19 11:13 Сейчас в теме
(4)А можно чуть подробнее или может ссылку где сделано подобное
6. killitch 30 16.10.19 11:16 Сейчас в теме
(5)В форме реализации после записи Оповестить()
Глобальный контекст (Global context)
Оповестить (Notify)
Синтаксис:

Оповестить(<ИмяСобытия>, <Параметр>, <Источник>)
Параметры:

<ИмяСобытия> (необязательный)

Тип: Строка.
Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
<Параметр> (необязательный)

Тип: Произвольный.
Параметр сообщения. Могут быть переданы любые необходимые данные.
<Источник> (необязательный)

Тип: Произвольный.
Источник события. Например, в качестве источника может быть указана другая форма.
Описание:

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

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Пример:

Оповестить("ЗакрытьФорму");
Показать


В форме заказа обработчик события ОбработкаОповещения()
Форма (Form)
ОбработкаОповещения (NotificationProcessing)
Синтаксис:

ОбработкаОповещения(<ИмяСобытия>, <Параметр>, <Источник>)
Параметры:

<ИмяСобытия>

Тип: Строка.
Имя события. Может быть использовано для идентификации сообщений.
<Параметр>

Тип: Произвольный.
Параметр, переданный в сообщении.
<Источник>

Источник события, переданный в сообщении.
Описание:

Возникает при оповещении всех созданных форм методом глобального контекста Оповестить.
Показать
10. Дон Кихот 16.10.19 13:24 Сейчас в теме
(6)Попробовал оповещение, сделал так, в модуле объекта реализации:

ДокЗаказПокупателя = СсылкаЗаказПокупателя.ПолучитьОбъект();
ДокЗаказПокупателя.Статус = Перечисления.СтатусДокуменаЗаказПокупателя.Отгружен;
ДокЗаказПокупателя.Записать();
Оповестить("Переокрыть форму");

в форме документа заказ покупателя:

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Переокрыть форму" Тогда
ЭтаФорма.Обновить();
КонецЕсли;	
КонецПроцедуры


В результате статус в форме документа заказ покупателя не меняется, что я делаю не так?
12. Дон Кихот 16.10.19 13:30 Сейчас в теме
(6)В обработке оповещения вместо ЭтаФорма.Обновить(); использовал ЭтаФорма.Закрыть(), по крайней мере часть проблемы решена, может и так подойдет
7. killitch 30 16.10.19 11:18 Сейчас в теме
(5)И удобней статус заказа хранить в РС, а не как реквизит документа, чтобы избежать лишних перепроведений. А на форме отображать информацию как надпись типа о задолженности в реализации
8. Дон Кихот 16.10.19 12:59 Сейчас в теме
(7)Получается нужно создать РС и в обработке проведения Заказ покупателя записать движения. А что значит "отображать информацию как надпись типа о задолженности в реализации", не пойму, наверное знаний не хватает, скажи пожалуйста подробнее
9. killitch 30 16.10.19 13:06 Сейчас в теме
(8)По РС все правильно поняли. По отображению надписью: есть такой элемент формы - "Надпись", у нее есть заголовок. Пример работы в документе реализация после выбора договора текущая задолженность выводится в надпись на форме.
11. Дон Кихот 16.10.19 13:26 Сейчас в теме
(9)Но это реквизит и должна остаться возможность изменить вручную
Оставьте свое сообщение

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