|
Возможно ли добавить отбор в подбор на управляемых формах? | ☑ | ||
---|---|---|---|---|
0
Eastert
28.09.17
✎
08:45
|
Искал, не нашел - может кто знает как это реализовать. Нужно добавить по одному из полей отбор при нажатии подбора. Как бы по сути я не нашел даже какое событие срабатывает при этом.
Там где просто по кнопке добавить сделал вот так вот СтандартнаяОбработка = Ложь; Форма = ПолучитьФорму("Документ.ЗаказКлиента.ФормаВыбора"); ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПолучитьЗаказыПоКлиенту(Клиент); Форма.Параметры.РежимВыбора = Истина; Форма.ВладелецФормы = Элементы.ЗаказыЗначение; Форма.Открыть(); Вот надо все тоже самое и в подборе сделать. Спасибо заранее |
|||
1
Eastert
28.09.17
✎
08:46
|
Элемент формы, куда надо подбирать - СписокЗначений
|
|||
2
vicof
28.09.17
✎
09:26
|
куча букв, смысла мало. Давай скриншоты.
|
|||
3
Eastert
28.09.17
✎
09:32
|
||||
4
Eastert
28.09.17
✎
09:32
|
Вот по нажатию этого подбора в список значений (снизу который) должны попадать документы, где партнер равен полю Клиент
|
|||
5
Eastert
28.09.17
✎
09:34
|
(4) ну то есть должна открываться форма подбора где партнер = заданный Клиент
|
|||
6
vicof
28.09.17
✎
09:37
|
Если основной реквизит формы подбора - Динамический список:
Отбор = Новый Структура; Отбор.Вставить("Клиент", Клиент); Параметры = Новый Структура; Параметры.Вставить("Отбор", Отбор); Открытьформу(Имя, Параметры, Элемент) |
|||
7
Eastert
28.09.17
✎
09:39
|
(6) в какой процедуре?
|
|||
8
vicof
28.09.17
✎
09:40
|
Привязанной к кнопке подбора
|
|||
9
Eastert
28.09.17
✎
09:42
|
(8) если своя кнопка, то как я понимаю будет обыкновенная форма выбора, то есть по одному элементу, а не подбором
|
|||
10
breezee
28.09.17
✎
09:52
|
(9)
(6) + Параметры = Новый Структура; Параметры.Вставить("Отбор", Отбор); Параметры.Вставить("МножественныйВыбор", Истина); |
|||
11
dezss
28.09.17
✎
09:54
|
(10) или
Параметры.Вставить("ЗакрыватьПриВыборе",Ложь); |
|||
12
Eastert
28.09.17
✎
10:00
|
(6) А вообще вы это на управляемых формах делали? у меня так отбор не работает вообще
|
|||
13
vicof
28.09.17
✎
10:05
|
(12) На управляемых. Раз 500.
|
|||
14
dezss
28.09.17
✎
10:05
|
(12) чтобы он работал, надо вместо "Клиент" написать то поле, которое есть в списке.
|
|||
15
AlvlSpb
28.09.17
✎
10:08
|
(0) Ищите в конфигураторе форму подбора. Это либо Общая форма "ФормаПодбоаНоменклатуры" либо Обработка ПодборНоменклатуры-Форма. В пролцедуре ПриОткрытии добавляете свой код, но не полностью, примерно так:
ЭлементОтбора = ЭтаФорма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПолучитьЗаказыПоКлиенту(Клиент); |
|||
16
dezss
28.09.17
✎
10:13
|
(15) Нафейхоа? Отбор и так должен работать.
|
|||
17
Eastert
28.09.17
✎
10:13
|
(15) та это ФормаВыбора в документе нужном, и если я вас правильно понял, то мне саму конфу не хочется менять
|
|||
18
Eastert
28.09.17
✎
10:15
|
(13) Да, спасибо, так работает отбор, но при выборе из открывающейся формы, выбранные значения не попадают в мой списокзначений, куда они должны при выборе попадать, попробовал так указать, но все равно не хочет
Открытьформу("Документ.ЗаказКлиента.ФормаВыбора", ПараметрыОтбора, Элементы.ЗаказыЗначение); |
|||
19
AlvlSpb
28.09.17
✎
10:16
|
(16) Это как вариант использования кода автора, вариант рабочий.
(17) А куда вы собираетесь вставлять любой код? Либо менять конфу, как вариант сделать расширение |
|||
20
vicof
28.09.17
✎
10:16
|
(18) Используй ОбработкаВыбора, люк
|
|||
21
Eastert
28.09.17
✎
10:19
|
(20) если вы имеете ввиду в процедуре ОбработкаВыбора этот код написать, то все равно не добавляется выбранные элементы
|
|||
22
vicof
28.09.17
✎
10:20
|
(21) Нет, там написать код по обработке выбора
|
|||
23
dezss
28.09.17
✎
10:20
|
(19) понятно что рабочий, но это использовать можно только если сравнение не на равенство.
(21) после выбора в дочерней форме, вызывается ОбработкаВыбора из родительской. |
|||
24
Eastert
28.09.17
✎
10:27
|
(22) какой код по обработке выбора - он мне не нужен, мне нужно добавить отбор в саму форму открытия выбора, а там уже человек может выбирать что угодно
|
|||
25
dezss
28.09.17
✎
10:30
|
(24) но потом же этот его выбор надо обработать, так?
И обрабатывается он в ОбработкаВыбора. А если не хочешь с этим париться, используй ОткрытьФормуМодально. |
|||
26
ils108
28.09.17
✎
10:31
|
(24) все верно, в ОбработкаВыбора есть ВыбранноеЗначение, его и присваивать своему реквизиту формы
|
|||
27
dezss
28.09.17
✎
10:32
|
(25) + ОткрытьФормуМодально будет просто возвращаться тебе список выбранных позиций.
|
|||
28
ils108
28.09.17
✎
10:33
|
формы модально лучше не использовать если верить
"В платформе "1С:Предприятие 8.3" появилась возможность полностью отказаться от модальных методов, заменив их на блокирующие, что позволит улучшить отзывчивость интерфейса и повысить удобство работы в закладочном режиме." (с) 1ЭС |
|||
29
Eastert
28.09.17
✎
10:35
|
(26) Смотрите, я добавил свою кнопку, по нажатию ее срабатывает открытие формы выбора с нужным отборм, множественный выбор есть, но если я что-то в ней выбираю, то ничего не происходить, обработкавыбора тоже не срабаывается при этом
|
|||
30
dezss
28.09.17
✎
10:38
|
(28) да-да...и все эти подпорки ОписаниеОповещенияОЗакрытии и т.п. Знаем мы, почему они от модальности отказываются)))
(29) А ты точно именно форму выбора открываешь? |
|||
31
ils108
28.09.17
✎
10:38
|
(29)
УправляемаяФорма (ManagedForm) ОповеститьОВыборе (NotifyChoice) Синтаксис: ОповеститьОВыборе(<ЗначениеВыбора>) Параметры: <ЗначениеВыбора> (обязательный) Тип: Произвольный. Результат выбора. Описание: Посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение. Закрывает форму в соответствии со значением свойства ЗакрыватьПриВыборе. Данное действие аналогично выполнению выбора в форме, открытой для выбора в поле ввода или ячейке табличного поля. Доступность: Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент). Примечание: Может применяться в случае, когда открытие формы выбора или подбора выполнено средствами языка. |
|||
32
Eastert
28.09.17
✎
10:39
|
(31) я не хочу менять конфу
|
|||
33
Eastert
28.09.17
✎
10:39
|
(30) да
ОткрытьФорму("Документ.ЗаказКлиента.ФормаВыбора", ПараметрыОтбора, Элементы.ЗаказыЗначение); |
|||
34
dezss
28.09.17
✎
10:41
|
(33) 3-й параметр поставь ЭтаФорма
|
|||
35
Eastert
28.09.17
✎
10:44
|
(34) поставил, все равно не хочет
|
|||
36
ils108
28.09.17
✎
10:45
|
(35) а что ты написал в ОбработкаВыбора
|
|||
37
Eastert
28.09.17
✎
10:47
|
(36) поставил точку останова, но также написал Сообщить(ВыбранноеЗначение);
|
|||
38
ils108
28.09.17
✎
10:49
|
(37) ОбработкаВыбора таблицыформы или формы?
|
|||
39
Eastert
28.09.17
✎
10:51
|
(38) таблицыформы, обработка выбора из формы работает как надо) вопрос закрыт, спасибо всем)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |