Вход | Регистрация

1С:Предприятие ::

Метки: 

Форма выбора - форма конкретного документа

Я
   moonlight
 
27.09.17 - 19:47
Добрый день!

Надо, чтобы в обработке в поле ТЗ - ссылка на документ можно было открыть форму соответствующего документа, а при закрытии формы, форма  обработки понимала что форма документа закрылась и выполнялись соответствующие действия.

Я хотел воспользоваться установкой свойства КнопкаВыбора, а в свойстве ФормаВыбора указать форму документа. При закрытии формы документы, должно срабатывать событие ОбработкаВыбора(). Но в режиме Предприятие, при нажатии на кнопку выбора открывается форма нового документа, а не указанного в поле. Можно ли это как то побороть, чтобы открывалась форма указанного в поле документа? Может еще есть какие варианты решения моей задачи?

Спасибо!
 
 
   PuhUfa
 
1 - 27.09.17 - 20:04
ПараметрыОткрытия     = Новый Структура("Ключ",СсылкаНаДокумент);
ОписаниеЗакрытия     = Новый ОписаниеОповещения("ОбработчикОповещенияОЗакрытии",ЭтаФорма);
ОткрытьФорму("Документ.ТвойДокумет.Форма.ФормаДокумента",ПараметрыОткрытия,ЭтаФорма,,,,ОписаниеЗакрытия,);
   PuhUfa
 
2 - 27.09.17 - 20:07
&НаСервере
Процедура ОбработчикОповещенияОЗакрытии(РезультатЗакрытия,ДополнительныеПараметры)
    
    //выполнить действия после закрытия формы документа;

    
КонецПроцедуры
   moonlight
 
3 - 27.09.17 - 20:15
(1)(2)

Написал следующее:


Процедура ЗаявкиЗаявкаОткрытие(Элемент, СтандартнаяОбработка)
    П=Новый Структура("Ключ",ЭлементыФормы.Заявки.ТекущиеДанные.ЗаявкаСсылка);
    ОписаниеЗакрытия     = Новый ОписаниеОповещения("ОбработчикОповещенияОЗакрытии",ЭтаФорма);
    ОткрытьФорму("Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаДокумента",П,ЭтаФорма,,,,ОписаниеЗакрытия);
    СтандартнаяОбработка=Ложь;
КонецПроцедуры

процедура ОбработчикОповещенияОЗакрытии(РезультатЗакрытия,ДополнительныеПараметры) Экспорт
    Сообщить("ОК");

КонецПроцедуры    

открывается форма существующего документа, но при закрытии обработчик в обработке не вызывается! что не так?
   PuhUfa
 
4 - 27.09.17 - 20:26
В документе:

&НаКлиенте
Процедура ПриЗакрытии()
    ОповеститьОВыборе(РезультатЗакрытия);
КонецПроцедуры

РезультатЗакрытия - то что прилетит в обработчик, можно передавать структуру
   moonlight
 
5 - 27.09.17 - 20:35
Спасибо! А вариантов, чтобы не править код вызываемого документа нет?
   PuhUfa
 
6 - 27.09.17 - 20:42
(5) ОткрытьФормуМодально(<ИмяФормы>, <Параметры>, <Владелец>, <НавигационнаяСсылка>) 

Но есть мнение, что за модальные окна нужно отрубать руки -))
   moonlight
 
7 - 27.09.17 - 20:43
(4) В документе прописал
Процедура ПриЗакрытии()
    ОповеститьОВыборе(Истина);
КонецПроцедуры

Все равно процедура в обработке не вызывается!
   moonlight
 
8 - 27.09.17 - 20:49
(4) кстати конфа 1С 8.2 УТП
   moonlight
 
9 - 27.09.17 - 21:03
Если написать так:

Процедура ПриЗакрытии()
    Оповестить();
КонецПроцедуры

то вызывается встроенный обработчик события. ОбработкаОповещения(). И не фак что если активны какие то еще формы у которых есть реализовано событие ОбработкаОповещения() они не будут вызываться. Странно, но наличие параметра ОписаниеОповещения глобального метода ОткрытьФорму() и передача ссылки на форму, из которой вызывается форма документа, достаточно наверно было бы для того, чтобы при закрытии формы документа ей было понятно где и что вызвать! А так я так и не смог заставить, чтобы вызывалось пользовательское событие ф форме обработки.
   moonlight
 
10 - 27.09.17 - 21:21
Справка...

Используется только в управляемом приложении!! )))

а у меня обычное.
 
 Рекламное место пустует
   moonlight
 
11 - 27.09.17 - 21:32
(4) в моем случае этот вариант подходит, а ОписаниеЗакрытия     = Новый ОписаниеОповещения("ОбработчикОповещенияОЗакрытии",ЭтаФорма); - лишнее


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