|
Форма выбора - форма конкретного документа | ☑ | ||
---|---|---|---|---|
0
moonlight
27.09.17
✎
19:47
|
Добрый день!
Надо, чтобы в обработке в поле ТЗ - ссылка на документ можно было открыть форму соответствующего документа, а при закрытии формы, форма обработки понимала что форма документа закрылась и выполнялись соответствующие действия. Я хотел воспользоваться установкой свойства КнопкаВыбора, а в свойстве ФормаВыбора указать форму документа. При закрытии формы документы, должно срабатывать событие ОбработкаВыбора(). Но в режиме Предприятие, при нажатии на кнопку выбора открывается форма нового документа, а не указанного в поле. Можно ли это как то побороть, чтобы открывалась форма указанного в поле документа? Может еще есть какие варианты решения моей задачи? Спасибо! |
|||
1
PuhUfa
27.09.17
✎
20:04
|
ПараметрыОткрытия = Новый Структура("Ключ",СсылкаНаДокумент);
ОписаниеЗакрытия = Новый ОписаниеОповещения("ОбработчикОповещенияОЗакрытии",ЭтаФорма); ОткрытьФорму("Документ.ТвойДокумет.Форма.ФормаДокумента",ПараметрыОткрытия,ЭтаФорма,,,,ОписаниеЗакрытия,); |
|||
2
PuhUfa
27.09.17
✎
20:07
|
&НаСервере
Процедура ОбработчикОповещенияОЗакрытии(РезультатЗакрытия,ДополнительныеПараметры) //выполнить действия после закрытия формы документа; КонецПроцедуры |
|||
3
moonlight
27.09.17
✎
20:15
|
(1)(2)
Написал следующее: Процедура ЗаявкиЗаявкаОткрытие(Элемент, СтандартнаяОбработка) П=Новый Структура("Ключ",ЭлементыФормы.Заявки.ТекущиеДанные.ЗаявкаСсылка); ОписаниеЗакрытия = Новый ОписаниеОповещения("ОбработчикОповещенияОЗакрытии",ЭтаФорма); ОткрытьФорму("Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаДокумента",П,ЭтаФорма,,,,ОписаниеЗакрытия); СтандартнаяОбработка=Ложь; КонецПроцедуры процедура ОбработчикОповещенияОЗакрытии(РезультатЗакрытия,ДополнительныеПараметры) Экспорт Сообщить("ОК"); КонецПроцедуры открывается форма существующего документа, но при закрытии обработчик в обработке не вызывается! что не так? |
|||
4
PuhUfa
27.09.17
✎
20:26
|
В документе:
&НаКлиенте Процедура ПриЗакрытии() ОповеститьОВыборе(РезультатЗакрытия); КонецПроцедуры РезультатЗакрытия - то что прилетит в обработчик, можно передавать структуру |
|||
5
moonlight
27.09.17
✎
20:35
|
Спасибо! А вариантов, чтобы не править код вызываемого документа нет?
|
|||
6
PuhUfa
27.09.17
✎
20:42
|
(5) ОткрытьФормуМодально(<ИмяФормы>, <Параметры>, <Владелец>, <НавигационнаяСсылка>)
Но есть мнение, что за модальные окна нужно отрубать руки -)) |
|||
7
moonlight
27.09.17
✎
20:43
|
(4) В документе прописал
Процедура ПриЗакрытии() ОповеститьОВыборе(Истина); КонецПроцедуры Все равно процедура в обработке не вызывается! |
|||
8
moonlight
27.09.17
✎
20:49
|
(4) кстати конфа 1С 8.2 УТП
|
|||
9
moonlight
27.09.17
✎
21:03
|
Если написать так:
Процедура ПриЗакрытии() Оповестить(); КонецПроцедуры то вызывается встроенный обработчик события. ОбработкаОповещения(). И не фак что если активны какие то еще формы у которых есть реализовано событие ОбработкаОповещения() они не будут вызываться. Странно, но наличие параметра ОписаниеОповещения глобального метода ОткрытьФорму() и передача ссылки на форму, из которой вызывается форма документа, достаточно наверно было бы для того, чтобы при закрытии формы документа ей было понятно где и что вызвать! А так я так и не смог заставить, чтобы вызывалось пользовательское событие ф форме обработки. |
|||
10
moonlight
27.09.17
✎
21:21
|
Справка...
Используется только в управляемом приложении!! ))) а у меня обычное. |
|||
11
moonlight
27.09.17
✎
21:32
|
(4) в моем случае этот вариант подходит, а ОписаниеЗакрытия = Новый ОписаниеОповещения("ОбработчикОповещенияОЗакрытии",ЭтаФорма); - лишнее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |