|
Управляемые формы открыть форму выбора | ☑ | ||
---|---|---|---|---|
0
Nast
13.03.19
✎
11:15
|
Подскажите, как в управляемых формах при нажатии на кнопку открыть форму выбора справочника и получить выбранное значение? ОткрытьФормуМодально нельзя делать.
|
|||
1
Fragster
гуру
13.03.19
✎
11:17
|
ОткрытьФорму, указав в параметрах РежимВыбора и владельцем нужный элмент управления. Тогда выбранное значение (или значение из ОповеститьОВыборе) бдет прилетать в указанный элемент управления.
|
|||
2
Василий Алибабаевич
13.03.19
✎
11:18
|
(0)
1. В ОткрытьФорму указать обработчик закрытия. 2. В открываемой форме в каком-нибудь событии прописать ЭтаФорма.Закрыть(<ЗначениеКотороеНужноВернуть>). Оно упадет в в обработчик закрытия из п 1. |
|||
3
Nast
13.03.19
✎
11:20
|
у меня есть справочник Партнеры, надо при нажатии на созданную кнопку открывать форму выбора справочника Контрагенты с отбором по текущему Партнеру и потом получать выбранного контрагента. Можно ли сделать не внося изменения в справочник Контрагенты?
|
|||
4
Fragster
гуру
13.03.19
✎
11:20
|
(2) это сложно
|
|||
5
Василий Алибабаевич
13.03.19
✎
11:20
|
+ (2) В ОткрытьФорму указать РежимОткрытияОкна Блокировать окно владельца
|
|||
6
Fragster
гуру
13.03.19
✎
11:20
|
(3) да, в параметрах еще можно указать отбор. а лучше в свойствах реквизита указать связи параметров выбора. тогда ничего кодом вообще не надо будет делать.
|
|||
7
Nast
13.03.19
✎
11:24
|
В открываемой форме в каком-нибудь событии прописать ЭтаФорма.Закрыть(<ЗначениеКотороеНужноВернуть>). Мне надо без изменения внесения изменений в открываемую форму
|
|||
8
Василий Алибабаевич
13.03.19
✎
11:24
|
(4) Что сложно? Кому сложно?
ИМХО - это проще, чем городить огород с Оповещением о выборе и обработкой выбора. А если выбор нескольких реквизитов - нужно в обработка выбора анализировать что прилетело или от кого. А так - все укладывается в линейную логику ОткрытьМодально. Ну... почти. |
|||
9
Василий Алибабаевич
13.03.19
✎
11:26
|
(7) ГЫ. тогда см(6).
В случае, если от батареи не отползти - тогда и (1) не поможет. Ибо оповещение никто не кинет. |
|||
10
Fragster
гуру
13.03.19
✎
11:32
|
(8) если ты открываешь форму выбора и указываешь владельцем элемент управления - то ничего дополнительно прописывать не надо, если у тебя элемент управления того же типа, что и выбираемое значение. а вообще автору надо (6)
|
|||
11
Сияющий в темноте
13.03.19
✎
12:17
|
Форму система откроет автоматом и вернет из нее значение,а вот отбор кто то должен поставить,для этого,автомат нужно перевести в ручной режим,то есть открыть форму и установить в ней отбор,а выбор потом прилетит в обработку выбора.
блокировать основную форму не обязательно,но,если не блокировать,то пользователь может потерять форму списка. |
|||
12
Nast
13.03.19
✎
14:35
|
Почему если делать отбор по владельцу при открытии формы, то этот отбор сохраняется даже если открыть потом другой элемент справочника?
ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("РежимВыбора", Истина); ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Истина); Отбор = Новый Структура; Отбор.Вставить("Партнер", Объект.Ссылка); П = Новый Структура; П.Вставить("Параметры", ПараметрыФормы); П.Вставить("Отбор",Отбор); ОбработкаВыбора = Новый ОписаниеОповещения("ВыбратьЭлементСправочника", ЭтаФорма, Новый Структура("Параметр1",1)); ОткрытьФорму("Справочник.КонтактныеЛицаПартнеров.ФормаВыбора", П, ЭтаФорма, , , , ОбработкаВыбора); |
|||
13
Nast
13.03.19
✎
15:20
|
_
|
|||
14
Fragster
гуру
13.03.19
✎
15:28
|
То, что у тебя запихивается в П.Параметры должно запихиваться напрямую в П. Ну и см. (6)
|
|||
15
Fragster
гуру
13.03.19
✎
15:28
|
и зачем у тебя обработка выбора - тоже хз.
|
|||
16
DrWatson
13.03.19
✎
15:40
|
(15) Если Если нет элемента формы и нужно программно поймать выбор, то это правильный способ.
|
|||
17
Nast
13.03.19
✎
16:04
|
(14) а как напрямую?
|
|||
18
Nast
13.03.19
✎
16:11
|
Отбор = Новый Структура;
Отбор.Вставить("Партнер", Объект.Ссылка); П = Новый Структура; П.Вставить("РежимВыбора", Истина); П.Вставить("ЗакрыватьПриВыборе", Истина); П.Вставить("Отбор",Отбор); ОбработкаВыбора = Новый ОписаниеОповещения("ВыбратьЭлементСправочника", ЭтаФорма, Новый Структура("Параметр1",1)); ОткрытьФорму("Справочник.КонтактныеЛицаПартнеров.ФормаВыбора", П, ЭтаФорма, , , , ОбработкаВыбора); Все равно сохраняется прежний и нет отбора по владельцу. Надо чтобы открывалась форма выбора контактных лиц с отбором по владельцу, т.е. партнеру |
|||
19
ptiz
13.03.19
✎
16:15
|
Пример отбора по владельцу:
ОО = Новый ОписаниеОповещения("ПослеВыбораКонтактов", ЭтотОбъект); ПараметрыФормы = Новый Структура("Отбор", Новый Структура("Владелец", Объект.Контрагент)); ОткрытьФорму("Справочник.Контакты.ФормаВыбора", ПараметрыФормы, ЭтаФорма, , , , ОО, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |