|
Открытие формы документа с возвратом ссылки при закрытии |
☑ |
0
Bodrug
16.07.19
✎
15:42
|
Всем привет!
Управляемое приложение. Суть проблемы в следующем:
Есть 2 документа: Документ1, Документ2. У Документа1 есть реквизит типа Документ2.
В процедуре ПриЗаписи() на форме Документа1 происходит открытие формы нового Документа2. Далее пользователь записывает/записывает и закрывает Документ2, и в этот момент (имея уже ссылку на записанный Документ2) нужно заполнить реквизит Документ1.Документ2. Подскажите, плиз, как быть.
|
|
1
hhhh
16.07.19
✎
15:47
|
(0) перед записью надо делать
|
|
2
Bodrug
16.07.19
✎
15:48
|
(1) Да, опечатался, я делаю это ПередЗаписью()
|
|
3
Bodrug
16.07.19
✎
15:48
|
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если НетДокумента2() Тогда
ФормаДок2 = ПолучитьФорму("Документ.Документ2.ФормаОбъекта",,ЭтаФорма);
ДанныеФормы = ФормаДок2.Объект;
ЗаполнитьДокумент2НаСервере(ДанныеФормы);
КопироватьДанныеФормы(ДанныеФормы, ФормаДок2.Объект);
ФормаДок2.Открыть();
//Вот тут как-то надо остановить выполнение кода, пока пользователь не сделает что-то с ФормаДок2
Если ЗначениеЗаполнено(ФормаДок2.Объект.Ссылка) Тогда
Объект.Документ2 = ФормаДок2.Объект.Ссылка;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
|
|
4
Bodrug
16.07.19
✎
15:51
|
Пробовал прописать на месте комментария ПодключитьОбработчикОжидания("ОбработкаВыбора", 1), но программа вылетает с ошибкой, т.к. в имени подключаемой процедуры нельзя указать процедуру с параметрами. А В ОбработкеВыбора как раз есть параметры.
|
|
5
Fragster
гуру
16.07.19
✎
15:54
|
Тут есть проблемы с двойной записью, но в любом случае можно открывать форму нового документа 2 в режиме выбора и передавать её владельцем соответствующий элемент управления с формы документа 1. Тогда все будет работать с минимумом кода.
|
|
6
Bodrug
16.07.19
✎
16:12
|
(5) это решает 50% проблемы. Как быть, когда пользователь нажмет "Провести и закрыть"?
|
|
7
lodger
16.07.19
✎
16:24
|
(6) Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если НетДокумента2() Тогда
Отказ = истина
конецесли
конецпроцедуры
|
|
8
Bodrug
16.07.19
✎
16:28
|
(7) Вариант не идеальный, но рабочий. Нет ли какого-то способа, чтоб заполнялся Документ1.Документ2 и записывался и закрывался документ?
|
|
9
ptiz
16.07.19
✎
17:13
|
(8) Например, через "Оповестить" и обработку оповещения.
|
|
10
lodger
16.07.19
✎
17:42
|
ОткрытьФорму (OpenForm)
Синтаксис:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
ОписаниеОповещенияОЗакрытии - сюда пишем экспортную процедуру.
|
|