Имя: Пароль:
1C
1С v8
Открыть форму существующего документа с оповещением о закрытии
,
0 AlphaSpec
 
18.05.17
23:22
Доброй ночи! Подскажите - нужно открыть форму существующего документа с оповещением о закрытии. Думал просто через ОткрытьФорму, передав навигационную ссылку на существующий документ, но нет - открывается форма нового документа.
1 AlvlSpb
 
18.05.17
23:50
НужныйДокумент = Документы.НашДокумент.НайтиПоНомеру(Номер);
ПараметрыФормы = Новый Структура("Ключ",НужныйДокумент);
ОткрытьФорму("Документ.НашДокумент.ФормаДокумента",ПараметрыФормы)
2 AlphaSpec
 
19.05.17
05:24
(1) Важно открыть форму с оповещением о закрытии. Просто открыть форму существующего документа проблем нет
3 Redkiy
 
19.05.17
05:59
(0) Кого ты собрался оповещать и откуда?
4 AlphaSpec
 
19.05.17
06:16
(3) Собрался из формы документа асинхронно открыть форму другого документа.
5 Redkiy
 
19.05.17
06:22
(4) Ну и? Дальше что?
Проблемы с открытием другой формы?
Извольте излагать свои мысли понятным для других участников форума языком.
6 AlphaSpec
 
19.05.17
06:30
(5) Извольте, а что непонятного я изложил? Если вам незнакома концепция асинхронных вызовов, то не нужно засорять тему. Все понятно из названия темы. Что Вам именно непонятно? Речь идет про УФ. Свойство формы ОписаниеОповещенияОЗакрытии указывает на процедуру модуля, которая будет вызвана при ее закрытии. Иначе - открыть форму существующего документа из формы другого документа, и по закрытии первой передать управление обратно во вторую, т.е. открыть форму асинхронно.

Глобальный контекст (Global context)
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По названию

Синтаксис:

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)

не подходит, она открывает форму нового документа.
7 Redkiy
 
19.05.17
06:39
Ответ дан в (1)
Для оповещения нужно добавить владельца в вызов
ОткрытьФорму("Документ.НашДокумент.ФормаДокумента",ПараметрыФормы, ЭтотОбъект)
8 AlphaSpec
 
19.05.17
06:56
(7) Вы серьезно? ) Форма - источник вызова в таком случае продолжит исполнение кода не дожидаясь закрытия открытой из нее формы. В предложенном Вами варианте асинхронности нет. Открытая таким образом форма при закрытии не передаст управление конкретной процедуре формы-источника. Я же обозначил в названии темы -  "...с оповещением о закрытии"
9 AlphaSpec
 
19.05.17
06:59
Кстати пришел в голову вариант передать оповещение через параметры формы, и при создании на сервере формы присвоить ОписаниеОповещенияОЗакрытии = ПераметрыФормы.Оповещение, но нет возможности проверить. Думается, что должно прокатить...
10 Redkiy
 
19.05.17
07:02
(8) потрудитесь изучить матчасть: асинхронные/синхронные вызовы
http://catalog.mista.ru/public/326713/
11 Мимохожий Однако
 
19.05.17
07:03
Ты хочешь при закрытии формы одного документа открыть другую форму?
12 AlphaSpec
 
19.05.17
07:06
(11) Нет, допустим на форме есть команда. В обработчике команды мне нужно открыть форму другого документа, в открытой форме произвели некоторые изменения, записали, после закрытия этой формы на форме-источнике должна выполниться другая процедура.
13 Мимохожий Однако
 
19.05.17
07:08
(12) Это некий аналог модального окна?
14 Redkiy
 
19.05.17
07:12
ОповеститьОВыборе
ОбработкаОповещения
15 AlphaSpec
 
19.05.17
07:13
(13) Да, именно.
16 Redkiy
 
19.05.17
07:14
(12) Это нужно писать в (0) а не ждать пока из тебя это вытянут.
17 AlphaSpec
 
19.05.17
07:19
(16) Это указано в названии темы, в (0), (4), (6). Вы по существу вопроса можете подсказать?
18 Redkiy
 
19.05.17
07:25
У тебя каша в голове. Разберись в терминах.
(4) и (15) противоречат друг другу.

Ответ дан в (7) + (14). Реализуй. Будут вопросы/ошибки - задавай.
19 AlphaSpec
 
19.05.17
07:30
(18) На (7) были заданы вопросы в (8). На (14) вопросы аналогичные.
20 Мимохожий Однако
 
19.05.17
07:51
(15) Возьми пример из команды Подбор в любой накладной. Возможно, не понадобится открывать другой документ. Можно сделать отдельную форму для манипуляций.
(18) Присоединяюсь
21 AlphaSpec
 
19.05.17
07:52
Тысяча чертей, а ведь и правда (1) работает. Для открытия конкретного документа достаточно же было передать в параметрах формы "Ключ". А я куда то в дебри полез... С пятницей! ))) (1), (3), спасибо! :)
22 Redkiy
 
19.05.17
07:53
эх, расстроил... ;)
думал до ста добьем, тем более пятница.