Имя: Пароль:
1C
1С v8
Отбор по владельцам УФ 8.3
,
0 ladalady21110
 
28.04.17
11:38
Есть элемент справочника контрагенты и и элемент справочника физлица, между ними однозначная связь, банковские счета лежат и тут и там, разные.
Необходимо чтобы в документах в список выбора банковских счетов попадали и счета физлица и счета контрагента, вне зависимости от того, кто выбран в шапке документа Физ или Контр.
Вопрос: можно ли в связи параметров выбора передавать массив владельцев и если можно, то как? А если нельзя, то есть ли другие способы?

Примерно так:
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Владелец",    МассивВладельцев);

ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);
ОткрытьФорму("Справочник.БанковскиеСчета.ФормаВыбора", ПараметрыФормы, Элемент);
1 ladalady21110
 
28.04.17
11:44
Точнее банковские счета лежат в справочнике банковских счетов, просто у части владелец из спр ФизЛица, а у части владелец из спр Контрагенты.
2 Mort
 
28.04.17
11:59
А физ лицо и контрагент это разные поля в документе? Тогда настраивай связи параметров выбора в зависимости от того какое поле сейчас владелец.
3 dezss
 
28.04.17
12:08
(0) так что, твой код работает или нет?
Проще ведь проверить, чем тут спрашивать...
4 dezss
 
28.04.17
12:10
(3) + Тут, вроде, главное, чтобы Владелец был в форме выбора.
5 ladalady21110
 
28.04.17
12:19
(2) Это одно поле в документе, составного типа данных. Сам выбираешь кого хочешь Контрагента или ФизЛицо.
И счета надо видеть обоих сразу.

(3) не работает, это как идея.
6 toypaul
 
гуру
28.04.17
12:28
ПараметрыОтбора.Вставить("Владелец",    МассивВладельцев); это работает только на равно

если надо список, передаешь его параметров и в форме принимающей делаешь отбор
7 Mort
 
28.04.17
12:30
(5) Если поле одно связи параметров выбора нормально работают и без кода.
8 ladalady21110
 
28.04.17
12:37
(6) Можно поподробнее?

(7) Работают, если выбран контрагент, то они возвращают счета только контрагента, а надо и контрагента и еще его физлица.
9 ladalady21110
 
28.04.17
15:14
Или возможно можно как-то передать полученные запросом данные на форму выбора?
10 _Batoo
 
28.04.17
15:23
(9)

попробуй

ПараметрыОтбора.Вставить("Ссылка", МассивСчетов);
11 dezss
 
28.04.17
15:24
(9) не...тебе надо как-то передать параметры в форму и там их обработать...
12 dezss
 
28.04.17
15:25
(10) не...тогда надо пробовать:
ПараметрыФормы.Вставить("Ключ", МассивСчетов);

но я не проверял работает ли это...
13 ladalady21110
 
28.04.17
15:40
(10) Не ругается но и эффекта никакого... Пустой список выбора.

ПараметрыОтбора.Вставить("Ссылка", СписокБанковскихСчетов);
14 ladalady21110
 
28.04.17
15:53
Гениально.
СтандартнаяОбработка = Ложь;
СписокБанковскихСчетов = ПолучитьСписокБанковскихСчетов(ТекущиеДанные.Контрагент); //тянем что на надо запросом
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Ссылка", СписокБанковскихСчетов); //грубый отбор по ссылке найденных данных
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);
    
ОткрытьФорму("Справочник.БанковскиеСчета.ФормаВыбора", ПараметрыФормы, Элемент);

Спасибо)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.