|
Отбор в списке справочника по списку значений |
☑ |
0
ac13
27.09.17
✎
16:03
|
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора(, Элемент);
ФормаВыбора.РежимВыбора = Истина;
СЗ = Новый СписокЗначений;
СЗ.Добавить(Справочники.Контрагенты.НайтиПоКоду("001"));
СЗ.Добавить(Справочники.Контрагенты.НайтиПоКоду("002"));
ФормаВыбора.Отбор.Код.Использование = Истина;
ФормаВыбора.Отбор.Код.Значение = СЗ;
ФормаВыбора.Отбор.Код.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
ФормаВыбора.Открыть();
При открытии формы выбора в настройках отбора установлен отбор по Ссылке - В списке, значение при этом пустое.
Простейший пример, что не так?
|
|
1
Beduin
27.09.17
✎
16:05
|
(0) Ты по объектам отбираешь
|
|
2
xaozai
27.09.17
✎
16:07
|
СЗ.Добавить("001");
|
|
3
ac13
27.09.17
✎
16:07
|
(1) ой, нет. в коде так на самом деле:
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора(, Элемент);
ФормаВыбора.РежимВыбора = Истина;
СЗ = Новый СписокЗначений;
СЗ.Добавить(Справочники.Контрагенты.НайтиПоКоду("001"));
СЗ.Добавить(Справочники.Контрагенты.НайтиПоКоду("002"));
ФормаВыбора.Отбор.Ссылка.Использование = Истина;
ФормаВыбора.Отбор.Ссылка.Значение = СЗ;
ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
ФормаВыбора.Открыть();
|
|
4
trooba
27.09.17
✎
16:07
|
+1 (1) + и еще отборы все нужно сбрасывать
|
|
5
ac13
27.09.17
✎
16:08
|
мне нужно отобрать именно по ссылке
|
|
6
trooba
27.09.17
✎
16:08
|
(3) Справочники.Контрагенты.НайтиПоКоду("001").Ссылка
|
|
7
Beduin
27.09.17
✎
16:09
|
Ты проверял Справочники.Контрагенты.НайтиПоКоду("001") точно находит?
|
|
8
xaozai
27.09.17
✎
16:10
|
(6) НайтиПоКоду возвращает ссылку.
Когда не находит по коду, возвращает пустую ссылку.
|
|
9
trooba
27.09.17
✎
16:12
|
(8) Еще неопределно... но там, если код не задан... ступил
|
|
10
ac13
27.09.17
✎
16:13
|
СЗ.Добавить(Справочники.Контрагенты.НайтиПоКоду("001").Ссылка);
так тоже делал.
нахождение справочника по коду находит.
бред какой-то...
|
|
11
xaozai
27.09.17
✎
16:22
|
А так, сначала вид сравнения, потом значение?
ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;//СправочникСписок - реквизит формы
ФормаВыбора.СправочникСписок.Отбор.Ссылка.Значение = СЗ;
|
|
12
ac13
27.09.17
✎
16:23
|
(11) отлично, спасибо!
после выбора типа сравнения значение получает соответствующий тип))
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший