Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Открытие формы документа с возвратом ссылки при закрытии

Открытие формы документа с возвратом ссылки при закрытии
Я
   Bodrug
 
16.07.19 - 15:42
Всем привет!
Управляемое приложение. Суть проблемы в следующем:
Есть 2 документа: Документ1, Документ2. У Документа1 есть реквизит типа Документ2.
В процедуре ПриЗаписи() на форме Документа1 происходит открытие формы нового Документа2. Далее пользователь записывает/записывает и закрывает Документ2, и в этот момент (имея уже ссылку на записанный Документ2) нужно заполнить реквизит Документ1.Документ2. Подскажите, плиз, как быть.
 
 
   hhhh
 
1 - 16.07.19 - 15:47
(0) перед записью надо делать
   Bodrug
 
2 - 16.07.19 - 15:48
(1) Да, опечатался, я делаю это ПередЗаписью()
   Bodrug
 
3 - 16.07.19 - 15:48
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    Если НетДокумента2() Тогда
        ФормаДок2 = ПолучитьФорму("Документ.Документ2.ФормаОбъекта",,ЭтаФорма);
        ДанныеФормы = ФормаДок2.Объект;
        ЗаполнитьДокумент2НаСервере(ДанныеФормы);
        КопироватьДанныеФормы(ДанныеФормы, ФормаДок2.Объект);
        ФормаДок2.Открыть();
        //Вот тут как-то надо остановить выполнение кода, пока пользователь не сделает что-то с ФормаДок2

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

ОписаниеОповещенияОЗакрытии - сюда пишем экспортную процедуру.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.