Имя: Пароль:
1C
 
Как обновить открытую форму, или как по-другому организовать....
0 WED
 
15.01.08
10:29
Форма документа.
Из неё открываю другой "дочерний" документ и что-то в нем меняю. Изменения касаются также открытого "родительского" документа и поэтому вызывается процедура из его модуля (не модуля формы). Процедура в свою очередь делает изменения в реквизитах "родительского" документа и записывает. Как мне теперь обновить форму "родительского" документа?

Может конечно подход через пятую точку, но пока не знаю как решить иначе.

Задача вобщем проста:

Есть документ1. В нем на закладке список подчиненных документов, данные в которых влияют на реквизит документа1.
Пользователь открывает подчиненные документы и меняет их. После закрытия подчиненного документа надо в док-основании проверить и изменить реквизит... Как лучше это организовать?
1 ТелепатБот
 
гуру
15.01.08
10:29
2 WED
 
15.01.08
10:31
в догонку:
Причем  подчиненный документ могут открывать и менять не только из формы док-основания, а просто из списка документов этого вида...
3 RomaH
 
naïve
15.01.08
10:32
"Процедура в свою очередь делает изменения в реквизитах "родительского" документа и записывает" - не верный подход

если открыта форма - надо менять именно в форме
иначе получишь сообщение о том что объект изменен

есть такая штука как обработка оповещения
4 RomaH
 
naïve
15.01.08
10:33
", данные в которых влияют на реквизит документа1" начни с этого - не должны дданные влиять на реквизиты документа - пиши в РС
5 Ursus maritimus
 
15.01.08
10:33
Оповестить (Notify)
Глобальный контекст
Оповестить (Notify)
Синтаксис:
Оповестить(<Имя события>, <Параметр>, <Источник>)
Параметры:
<Имя события> (необязательный)
Тип: Строка. Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
<Параметр> (необязательный)
Тип: Произвольный. Параметр сообщения. Могут быть переданы любые необходимые данные.
<Источник> (необязательный)
Тип: Произвольный. Источник события. Например, в качестве источника может быть указана другая форма.
Описание:
Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля приложения или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры.
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
Оповестить("ЗакрытьФорму", , ЭтаФорма);
См. также:
Форма, событие ОбработкаОповещения
Глобальный контекст, метод ПодключитьОбработчикОповещения
Глобальный контекст, метод ОтключитьОбработчикОповещения
6 Фокусник
 
15.01.08
10:33
(0) 1. в подчиненном документе при закрытии вставить Оповестить(.. и обрабатывать в ОбработкаОповещения( в документ1
7 WED
 
15.01.08
10:34
(3) "если открыта форма - надо менять именно в форме
иначе получишь сообщение о том что объект изменен "

Знаю. Именно с этим и столкнулся и ищу выход.

"есть такая штука как обработка оповещения" - а если форма док-основания закрыта?
8 WED
 
15.01.08
10:35
(5)(6) С самого начала так и было, но если подч.док открыли не из формы док-основания, то это не работает...
9 budanila
 
15.01.08
10:35
Извините что вмешиваюсь, но может подскажите... 1С8 по сети обязательно использует sql сервер или есть возможность работать по сети без sql?
10 WED
 
15.01.08
10:35
Наверное (4) единственный выход...Жаль.
11 WED
 
15.01.08
10:36
(9) Обычный файл-серверный вариант.
12 budanila
 
15.01.08
10:49
wed,обычный файл серверный вариант тоже дейстует? А то мне сказали что многопользовательская работа возможна только в sql варианте...
13 WED
 
15.01.08
10:53
(12) Действует.

1С ставиться на все компы, а база лежит на одном и доступна по сети.
14 budanila
 
15.01.08
10:54
Благобдарю, WED.