Имя: Пароль:
1C
 
Отбор при открытии формы выбора
0 Tzeentch
 
04.05.17
11:45
Всем привет! Нужно открыть форму выбора с определенным отбором, но в отборе не одно, а несколько значений. То есть мне нужно открыть форму договоров контрагентов, с отбором по нескольким партнерам сразу. Делаю вот так

СтандартнаяОбработка = Ложь;
        МассивВладельцев = новый Массив;
    МассивВладельцев.Добавить(Объект.Клиент);

    если ЗначениеЗаполнено(Объект.Клиент.Родитель) тогда
        МассивВладельцев.Добавить(Объект.Клиент.Родитель);
    конецесли;
        ЗначениеОтбора = Новый Структура("Партнер", МассивВладельцев);
        ОтборНаФорме = Новый Структура("Отбор", ЗначениеОтбора);
        
        ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора",ОтборНаФорме,ЭтаФорма,,,,Новый ОписаниеОповещения("ДоговорОкончаниеВыбора",ЭтотОбъект),РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

Пишет мне, что сравнение несовместимых типов (т.е. поля "Партнер" и моего массива). Как сделать правильно?
1 Windyhead
 
04.05.17
11:51
(0) Параметр должен быть структурой а  внутри Свойство "отбор" со структурой.
Но в твоем случае не прокатит так вид сравнения такого отбора будет "равно", а ты хочешь в значение массив поставить.
2 Windyhead
 
04.05.17
11:52
Тебе нужно твой массив просто передать своим параметром в форму, а там при создании получить его и программно установить нужные отборы
3 Smallrat
 
04.05.17
11:57
(1) если передавать коллекцию то отбор сам встанет на "в списке"
4 Tzeentch
 
04.05.17
12:07
(3) Это как? Мне структуру туда передать? Или список значений?
5 Buster007
 
04.05.17
12:13
(3) уверен?
6 Smallrat
 
04.05.17
12:14
(0) на вид в коде всё правильно, надо смотреть отладчик - что там в массиве. Точно ли тип значения поля "Партнер" совпадает с типом "Объект.Клиент" и "Объект.Клиент.Родитель".
Попробовать в массив что-то определённое положить - например пару ссылок, найденных через НайтиПоКоду().
7 Smallrat
 
04.05.17
12:15
(5) только что написал пример у себя: два ИНН положил в массив - в список вышло только два контрагента (и куча групп)
8 Ц_У
 
04.05.17
12:23
(5) да
(4) -> (6) + Партнер не составного типа?
9 Tzeentch
 
04.05.17
13:06
(8) У справочника ДоговорыКонтрагентов - нет, тип - СправочникСсылка.Партнеры, конфигурация 1С:Комплексная автоматизация 2 (2.2.3.145), открываю типовую форму выбора справочника.
10 Ц_У
 
04.05.17
13:11
Объект.Клиент - элемент?
Объект.Клиент.Родитель - группа?
если убрать весь код с Если по КонецЕсли работает?