Имя: Пароль:
1C
1С v8
ПолеФормы: хитрая связь параметров выбора
0 Dmitriy_
Kolesnikov
 
19.05.17
15:11
В таблице формы есть два поля формы: СчетИсточник и Акт.
Я хочу полю Акт установить такой отбор:
Акт.Организация = СчетИсточник.Владелец

Но не знаю, как это сделать :(
Единственное, что приходит в голову: в таблицу добавить колонку Организация, ПриИзменении поля СчетИсточник менять его и на его основе устанавливать СвязиПараметровВыбора поля Акт.
Можно ли как-то попроще решить задачу?
1 aleks_default
 
19.05.17
15:21
"Единственное, что приходит в голову: в таблицу добавить колонку Организация, ПриИзменении поля СчетИсточник менять его и на его основе устанавливать СвязиПараметровВыбора поля Акт. "
А что в этом сложного?
2 Dmitriy_
Kolesnikov
 
19.05.17
15:26
Пришла в голову идея: для поля Акт установить обработчик события НачалоВыбора (или ПриИзменении) и в нем прописать установку ПараметрыВыбора, что-то типа:

&НаКлиенте
Процедура АктПриИзменении(Элемент)
    НовыйПараметр = Новый ПараметрВыбора("Отбор.Организация", СчетИсточник.Владелец);
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(НовыйПараметр);
    НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
    Элементы.Акт.ПараметрыВыбора = НовыеПараметры;
КонецПроцедуры
3 aleks_default
 
19.05.17
15:29
а если будут выбирать набирая текст руками, не открывая форму выбора?
4 aleks_default
 
19.05.17
15:30
Не *би себе мозг. В (0) нормальный вариант.
5 Dmitriy_
Kolesnikov
 
19.05.17
15:31
(3) не подумал, но 99,9%, что не будут. А если будут - на эту тему тоже должно быть какое-то событие.
6 Ц_У
 
19.05.17
15:31
ПриСозданииНаСервере
на худой конец
ПриОткрытии
но ПриИзменении, Карл??
7 Вафель
 
19.05.17
15:32
(2) Только лучше ПриНачалеВыбора
8 Dmitriy_
Kolesnikov
 
19.05.17
15:40
(7) НачалоВыбора

Я подумал, что если в таблице полей, подобных Акт, два и более, то менее трудоемким вариантом становится (0).