|
Установка отбора в списке выбора | ☑ | ||
---|---|---|---|---|
0
vitaliklibra
25.05.15
✎
20:15
|
Привет всем!
Нужно при открытии списка выбора передать 2 отбора в форму выбора. В чем суть. В процедуре после ее выполнения "Владелец" устанавливается (смотрел по отладчику и в результате), а по второму параметру не хочет. При чем, что самое интересное, никакой другой реквизит в отбор не передается, кроме владельца! Помогите разобраться, почему. Процедура АдресНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ЗначениеОтбора = Новый Структура(); ЗначениеОтбора.Вставить("Владелец", Справочники.Контрагенты.НайтиПоНаименованию(Наименование)); ЗначениеОтбора.Вставить("ТипКонтакта", Перечисления.ТипыКонтактнойИнформации.Адрес); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Справочник.КонтактыКонтрагентов.ФормаВыбора", ПараметрыВыбора); КонецПроцедуры Еще одна особенность: даже после установленного отбора и выбора нужного значения, оно не попадает в моё реквизит, откуда я получал это форму выбора. Что здесь может служить причиной? Спасибо заранее! |
|||
1
vitaliklibra
25.05.15
✎
20:34
|
Уточнение: когда проваливаюсь из реквизита в форму выбора (для которой устанавливается отбор), НЕ срабатывает для этого реквизита событие "ПриИзменении"! Впервые такое вижу! О_О
|
|||
2
vitaliklibra
25.05.15
✎
20:36
|
(1) а когда убрал событие для этого реквизита "НачалоВыбора" - все нормально. Походу, строка
СтандартнаяОбработка = Ложь портит всю малину... :/ Как же тогда поступать? |
|||
3
1sanekmaloi1
25.05.15
✎
21:13
|
Похоже нужно хоть СП почитать
|
|||
4
1sanekmaloi1
25.05.15
✎
21:15
|
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
Владелец хороший параметр, если туда передать "Элемент" то после выбора, я думаю попадет в реквизит значение |
|||
5
vitaliklibra
26.05.15
✎
08:06
|
(3) - СП-то я читал, и похоже, что у меня трудности возникли, когда начал реализовывать написанное, для чего и написал на форум. Понимаю и сам, что где-то ошибаюсь, но где - прошу помочь.
(4) Владелец хороший параметр, согласен!) Делаю по твоему варианту: СтандартнаяОбработка = Ложь; ЗначениеОтбора = Новый Структура(); ЗначениеОтбора.Вставить("ТипКонтакта", Перечисления.ТипыКонтактнойИнформации.Адрес); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Справочник.КонтактыКонтрагентов.ФормаВыбора", ПараметрыВыбора, Элемент.Значение.Владелец); Нифига( Ладно, делаю так (что тоже самое): СтандартнаяОбработка = Ложь; ЗначениеОтбора = Новый Структура(); ЗначениеОтбора.Вставить("ТипКонтакта", Перечисления.ТипыКонтактнойИнформации.Адрес); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Справочник.КонтактыКонтрагентов.ФормаВыбора", ПараметрыВыбора, ЭтотОбъект); Естественно, тоже нифига( Что еще я не так делаю? |
|||
6
Peltzer
26.05.15
✎
08:15
|
у отбора есть ещё и Использование
|
|||
7
Defender aka LINN
26.05.15
✎
08:22
|
(5) "Делаю по твоему варианту" - открой глаза до щелчка и прочитай еще раз (4).
|
|||
8
vitaliklibra
26.05.15
✎
08:25
|
(6) - О, а это уже интересно! А как его правильно задать? Тоже запихнуть в параметры отбора:
ЗначениеОтбора = Новый Структура(); ЗначениеОтбора.Вставить("ТипКонтакта", Перечисления.ТипыКонтактнойИнформации.Адрес); ЗначениеОтбора.Вставить("Использование", Истина); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Справочник.КонтактыКонтрагентов.ФормаВыбора", ПараметрыВыбора, Элемент.Значение.Владелец); Результат отрицательный( (7) - объясни, если не трудно, что ты имеешь в виду под словами "открой глаза до щелчка". Или можешь, елси тем более не трудно, сказать, где я допустил ошибку, вместо никому не нужного флуда вокруг-да-около. Буду очень благодарен! |
|||
9
Peltzer
26.05.15
✎
08:30
|
В форме, которую ты открываешь, точно есть элемент с указанным именем?
<Параметры> (необязательный) Тип: Структура. Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры. П = Новый Структура("Ключ", Поставщик); Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П); Форма.Открыть(); |
|||
10
vitaliklibra
26.05.15
✎
08:36
|
||||
11
vitaliklibra
26.05.15
✎
08:39
|
Если пробую использовать вместо
ЗначениеОтбора.Вставить("Использование", Истина); вот это ЗначениеОтбора.Вставить("ТипКонтакта.Использование", Истина); Ругается( |
|||
12
Andy13
26.05.15
✎
08:46
|
Посмотри как устроен выбор договора в документе "Поступление товаров услуг" в БП. Там тоже отбор по владельцу и дополнительному параметру - тип договора.
|
|||
13
bugz2003
26.05.15
✎
08:50
|
ФормаВыбора.Отбор.Владелец.Использование = истина
|
|||
14
vitaliklibra
26.05.15
✎
08:52
|
(13) А куда эту команду прописать? Чёт немного непонятно...
|
|||
15
vitaliklibra
26.05.15
✎
08:54
|
+ (14) нужно тогда это использование задавать для всех параметров, которые участвуют в отборе - верно?
|
|||
16
Andy13
26.05.15
✎
08:54
|
(14) Читайте литературу по 1С.
И посмотрите (12). |
|||
17
vitaliklibra
26.05.15
✎
08:55
|
(16) В процессе) Открывается конфигурация...
|
|||
18
bugz2003
26.05.15
✎
08:56
|
ФВ = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора", Элемент,);
ФВ.Отбор.Владелец.Использование = Истина; ФВ.Отбор.Владелец.Значение= текВлад; ФВ.Открыть(); |
|||
19
Andy13
26.05.15
✎
08:57
|
Есть три способа решить вашу задачку. Простейший - использовать параметр формы - "РежимВыбора".
(18) Более правильный - рулить параметром "ПараметрОтборПоВладельцу" |
|||
20
bugz2003
26.05.15
✎
08:57
|
можно одной строкой
ФВ.Отбор.Владелец.Установить(текВлад) |
|||
21
bugz2003
26.05.15
✎
08:58
|
(19) ему там не только владельца передавать вроде нужно
|
|||
22
Andy13
26.05.15
✎
08:58
|
(18) Не смешите публику. Читайте ЖКК.
|
|||
23
Andy13
26.05.15
✎
08:59
|
(18) Отбор на форму не наложится. На форму списка расположенную на форме - можно.
|
|||
24
bugz2003
26.05.15
✎
09:00
|
(22) толсто
|
|||
25
vitaliklibra
26.05.15
✎
09:00
|
(22) ЖКК? Что ето? ОМГ! О_О
|
|||
26
bugz2003
26.05.15
✎
09:01
|
(23) ошибаешься
|
|||
27
bugz2003
26.05.15
✎
09:02
|
На форму списка расположенную на форме???
|
|||
28
Defender aka LINN
26.05.15
✎
09:04
|
(8) Тебе сказали, русским по белому передать в качестве владельца Элемент. А ты что за пердимонокль туда засунул?
|
|||
29
Andy13
26.05.15
✎
09:04
|
(27) Ну хорошо, на реквизит формы имеющий тип "СправочникСписок" и отражаемый на форме в виде списка справочника.
|
|||
30
vitaliklibra
26.05.15
✎
09:09
|
Всех благодарю за подзатыльники и участие. Проблема решена в (18).
Чтобы установить произвольное количество отборов, нужно делать так: ФВ = Справочники.КонтактыКонтрагентов.ПолучитьФормуВыбора("ФормаВыбора", Элемент,); ФВ.Отбор.Владелец.Использование = Истина; ФВ.Отбор.Владелец.Значение = Элемент.Значение.Владелец; ФВ.Отбор.ТипКонтакта.Использование = Истина; ФВ.Отбор.ТипКонтакта.Значение = Перечисления.ТипыКонтактнойИнформации.Адрес; ФВ.Открыть(); Отрабатывают ОБА отбора!) bugz2003 - СПАСИБО ОГРОМНОЕ!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |