|
v7: 77: Установить отбор для Спр.Выбрать(...) Ø (Злопчинский 09.06.2016 20:43) | ☑ | ||
---|---|---|---|---|
0
Злопчинский
08.06.16
✎
18:32
|
Можно ли как-то сделать так типа
Спр = СоздатьОбъект("Справочник.Чтото"); Спр.УстановитьОтбор("КакойТоРеквизит",КакоеТоЗначение); //ВОТ ЗДЕСЬ КАК-ТО ОТФИЛЬТРОВАТЬ Если Спр.Выбрать(" Подсказка какаято,) = 0 Тогда ???? через глРасшифровку/подбор/открытформу - я шмогу... но вот именнто как выше...? |
|||
1
ildary
08.06.16
✎
18:45
|
(0) А заменить Спр.Выбрать() на Спр.ВыбратьЭлементы() + ПолучитьЭлемент() с помещением элементов в список, а потом спс.ВыбратьЗначение() - пойдет?
|
|||
2
Злопчинский
08.06.16
✎
18:54
|
(1) не, так я сам умею (см.выше "через...)
|
|||
3
Злопчинский
08.06.16
✎
18:54
|
хреново что спр.выбрать не дает доступа к контексту... ибо модально? но все равно...
|
|||
4
mehfk
08.06.16
✎
18:59
|
Может через глобальную переменную передать нужные для отбора в форме данные?
|
|||
5
Калиостро
08.06.16
✎
21:35
|
Я бы сделал так:
СписокКонтрагентов = ПолучитьСписокКонтрагентовПоХитромуОтбору(); СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(СписокКонтрагентов,"СписокКонтрагентов"); ОткрытьФормуМодально("Справочник.Контрагенты.ФормаВыбора", СписокПараметров); А в форме списка справочника контрагентов ФормаВыбора в процедуре ПриОткрытии: Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда СписокКонтрагентов = Форма.Параметр.Получить("СписокКонтрагентов"); Если ТипЗначенияСтр(СписокКонтрагентов) = "СписокЗначений" Тогда Если СписокКонтрагентов.РазмерСписка() > 0 Тогда ИспользоватьСписокЭлементов(СписокКонтрагентов); ИерархическийСписок(0, 0); КонецЕсли; КонецЕсли; КонецЕсли; |
|||
6
Torquader
08.06.16
✎
21:49
|
А может тогда сразу через таблицу значений ?
Просто, если уж очень хочется отбор в форме списка, то можно научить форму списка получать данные для отбора через параметр вызова и выполнять создание списка элементов внутри формы. Только нужно понимать, что "ИспользоватьСписокЭлементов" на справочниках, где несколько сотен тысяч элементов будет нехило тормозить - не забываем, что исполнение в фоне сделать практически нереально. |
|||
7
vcv
09.06.16
✎
05:22
|
Через какой-нибудь FormEx перехватить в глобальнике открытие формы. В нем анализировать глобальную переменную со списком значений. Или ряд переменных. Получится универсально для всех справочников. И простой синтаксис.
Спр = СоздатьОбъект("Справочник.Чтото"); глОтбор.Установить("КакойТоРеквизит",КакоеТоЗначение); Спр.Выбрать("Подсказка какаято",) |
|||
8
VladC
09.06.16
✎
05:47
|
Если задача установить отбор на выборку, то ВыбратьЭлементыПореквизиту, но работает только реквизитов с установленным флагом "Отбор по реквизиту".
|
|||
9
torgm
09.06.16
✎
05:58
|
Взял бы ++, наваять запрос дело пяти минут, с произвольной структурой выбора. А дальше либо в форму передать, либо в таблицу значений . Дело твое.
|
|||
10
Mikeware
09.06.16
✎
07:22
|
я б взял готовый садовниковский класс для выбора по вхождениям, добавил метод фильтрации (собственно, работы 5 мнут), и дело в шляпе...
|
|||
11
Ёпрст
09.06.16
✎
09:14
|
(0) можно
|
|||
12
Злопчинский
09.06.16
✎
11:59
|
(11) О, великий. гуру, обрати свой взор на недостойных!
как? |
|||
13
Ёпрст
09.06.16
✎
12:00
|
(12) подменой.
Не, штатно можно только родителя или владельца, т.е применимы все методы именно со справочником (а не к форме списка) |
|||
14
Злопчинский
09.06.16
✎
12:19
|
(13) Подменой чего и как?
|
|||
15
Ёпрст
09.06.16
✎
12:20
|
подменой системного окошка на свою форму
|
|||
16
Злопчинский
09.06.16
✎
12:26
|
(15) не, так и я могу... неинтересно...
|
|||
17
LazyStranger
09.06.16
✎
12:29
|
ОткрытьФорму("Справочник.ЧтоТоТам",кф)
кф.УстановитьОтбор("ИмяОтбора",ЗначениеОтбора) а как через выбрать ХЗ |
|||
18
Злопчинский
09.06.16
✎
20:42
|
короче, значит, никак...
пичалька закрыто. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |