|
Результат закрытия формы выбора | ☑ | ||
---|---|---|---|---|
0
gul_Sayan
30.11.22
✎
10:52
|
По нажатии кнопки хочу получить список выбранных подразделений.
Делаю так. &НаКлиенте Процедура ПодборПодразделений(Команда) ПараметрыОткрытия = Новый Структура; ПараметрыОткрытия.Вставить("ЗакрыватьПриВыборе", Ложь); ПараметрыОткрытия.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина); ПараметрыОткрытия.Вставить("МножественныйВыбор", Истина); ПараметрыОткрытия.Вставить("РазрешитьВыборКорня", Ложь); ПараметрыОткрытия.Вставить("РежимВыбора", Истина); ткОповещение = Новый ОписаниеОповещения("ПодборПодразделенийЗавершение", ЭтотОбъект); ОткрытьФорму("Справочник.ПодразделенияОрганизаций.ФормаВыбора", ПараметрыОткрытия, ЭтотОбъект,,,,ткОповещение); КонецПроцедуры &НаКлиенте Процедура ПодборПодразделенийЗавершение(РезультатВыбора, Параметры) Экспорт ткИмяСобытия = ""; КонецПроцедуры Но результат выбора - неопределено, хотя в форме выбора что-то выбирал. Что делаю не так? |
|||
1
Максим Нижегородец
30.11.22
✎
11:32
|
&НаКлиенте
Процедура ВыборКонтрагента(Команда) ткОповещение = Новый ОписаниеОповещения("ПодборКонтрагента", ЭтаФорма); ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаВыбора", , ЭтаФорма,,,,ткОповещение); КонецПроцедуры &НаКлиенте Процедура ПодборКонтрагента(РезультатВыбора, Параметры) Экспорт Сообщить(РезультатВыбора); КонецПроцедур Так работает. Либо нужно ЭтотОбъект на ЭтаФорма поменять. Либо явно указывать открываемую форму (На пример: "Справочник.ПодразделенияОрганизаций.Форма.ФормаВыбора"). |
|||
2
gul_Sayan
30.11.22
✎
11:45
|
(1) От Изменения Этот объект на Эта форма ничего не меняется. Если указать Справочник.ПодразделенияОрганизаций.Форма.ФормаВыбора вылетает ошибка. Да Базу ЗУП 3.1.23.165.
|
|||
3
gul_Sayan
30.11.22
✎
12:15
|
При закрытии формы выбора подразделений При закрытии формы
Процедура ПриЗакрытии(ЗавершениеРаботы) Если ЗавершениеРаботы Тогда Возврат; КонецЕсли; Если ВыбранныеПодразделения.Количество() > 0 Тогда ОповеститьОВыборе(ВыбранныеПодразделения.ВыгрузитьЗначения()); КонецЕсли; КонецПроцедуры В оповестить о выборе - массив. А в мою процедуру почему то попадает - неопределено :-( |
|||
4
Максим Нижегородец
30.11.22
✎
12:56
|
// РезультатВыбора отправляем одним из способов
Закрыть(РезультатВыбора); Оповестить("ВыборТипаДанных",РезультатВыбора,"ФормаВыбораТипа"); //Можем вот так забрать то , что выбрали: &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если (ИмяСобытия="ВыборТипаДанных") И (Источник="ФормаВыбораТипа") Тогда РезультатВыбора = Параметр; КонецЕсли; КонецПроцедуры |
|||
5
Галахад
гуру
30.11.22
✎
12:59
|
(3) ОповеститьОВыборе передает в ОбработкаВыбора
|
|||
6
Максим Нижегородец
30.11.22
✎
13:01
|
(5) Согласен, можно так. Третий вариант.
|
|||
7
gul_Sayan
30.11.22
✎
13:04
|
(5) В событие формы ОбработкаВыбора, я по завершению выбора в подразделении вообще не попадаю, иначе я бы вообще не начал городить с ОписаниемОповещения :-(
Вот в него я попадаю, но без результата выбора :-( Процедура закрытия формы выбора подразделений стандартная, конфа вообще на поддержке без внесения изменений. |
|||
8
Максим Нижегородец
30.11.22
✎
13:16
|
(7) Еще раз. Если форма выбора самописная, то нужно позаботится, чтобы по завершению выбора отработало "Закрыть(РезультатВыбора);".
Если не самописная, то и так должно прокатить. Т.к. это работает (я проверил): Процедура ВыборКонтрагента(Команда) ткОповещение = Новый ОписаниеОповещения("ПодборКонтрагента", ЭтаФорма); ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаВыбора", , ЭтаФорма,,,,ткОповещение); КонецПроцедуры &НаКлиенте Процедура ПодборКонтрагента(РезультатВыбора, Параметры) Экспорт Сообщить(РезультатВыбора); КонецПроцедур |
|||
9
1Сергей
30.11.22
✎
13:23
|
(7) ОбработкаВыбора должна быть в получающей форме, не в открываемой
|
|||
10
Максим Нижегородец
30.11.22
✎
13:31
|
КОРОЧЕ ДЕЛО ВОТ В ЧЕМ (ЗУП пришлось искать):
В ЗуПе не формы выбора у справочника "ПодразделенияОрганизаций" и событие ВЫБОРА ни как не обрабатывается - вот и ни чего не возвращается. Была бы форма "Выбора" (с кнопкой выбора и обработкой события выбора), тогда все взлетело. |
|||
11
Максим Нижегородец
30.11.22
✎
13:43
|
Скорей всего для справочника "ПодразделенияОрганизаций" используется быстрый выбор из выпадающего списка (справочник обычно небольшой).
|
|||
12
gul_Sayan
30.11.22
✎
15:28
|
(9) В получающей и смотрел.
(10) при этом если на форме есть список значений(подразделения) то можно нажать на кнопку подбор, попадаешь именно в форму выбора и заполняется в списке всё нормально, так и пришлось сделать, сначала заполнить список (в ручную), а затем его обрабатывать (2 действия заместо 1го). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |