|
Фильтр в списке выбора | ☑ | ||
---|---|---|---|---|
0
NordMad
01.02.17
✎
10:00
|
8.3 УФ. в любой конфе 8.3 если у нас есть поле выбора типа справочникСсылка (ну например Номенклатура) есть кнопочка "настройка списка" где я могу выбрать условия, например мне надо чтобы в списке отображались элементы только одной определенной группы (иерархически) я добавляю условие: "в группе" и ставлю в какой именно. вопрос - как это же самое сделать программно? можно пример кода?
|
|||
1
NordMad
01.02.17
✎
10:40
|
есть кто живой? могу уточнить вопрос
|
|||
2
vicof
01.02.17
✎
10:48
|
Учу пользоваться СП, дорого
ДинамическийСписок (DynamicList) ДинамическийСписок (DynamicList) Свойства: АвтоматическоеСохранениеПользовательскихНастроек (AutoSaveUserSettings) Группировка (Group) ДинамическоеСчитываниеДанных (DynamicDataRead) КлючТекущихПользовательскихНастроек (CurrentUserSettingsKey) КомпоновщикНастроек (SettingsComposer) ОсновнаяТаблица (MainTable) Отбор (Filter) Параметры (Parameters) Порядок (Order) ПроизвольныйЗапрос (CustomQuery) ТекстЗапроса (QueryText) УсловноеОформление (ConditionalAppearance) Методы: ПолучитьОбязательноеИспользование (GetRequiredUse) УстановитьОбязательноеИспользование (SetRequiredUse) Описание: Динамический список предоставляет разработчику возможность описать в форме запрос практически произвольного вида, указать условное оформление данных, порядок сортировки, отборы и группировки данных. Ограничения: в запросах нельзя использовать объединения. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Может использоваться в реквизитах управляемой формы. -------------------------------------------------------------------------------- Методическая информация |
|||
3
NordMad
01.02.17
✎
10:54
|
(2) на событии приНАчалеВВода нужно писать фильтр?
|
|||
4
vicof
01.02.17
✎
10:55
|
(3) У вас там 1с?
|
|||
5
NordMad
01.02.17
✎
10:58
|
(4) да. можно пропустить момент стеба и сразу написать короткий пример установки отбора?
|
|||
6
NordMad
01.02.17
✎
10:58
|
(4) был бы премного благодарен
|
|||
7
vicof
01.02.17
✎
11:00
|
В событии "начало выбора"
|
|||
8
NordMad
01.02.17
✎
11:09
|
(7) т.е. тип значения поля задавать не как справочникССылка, а как динамический список?
|
|||
9
NordMad
01.02.17
✎
11:15
|
(7) пока не совсем понимаю как прикрутить динамический список к полю
|
|||
10
makfromkz
01.02.17
✎
13:15
|
вот у меня запрос динамического списка:
ВЫБРАТЬ ДокументмкЗалоговыйБилет.Ссылка, ДокументмкЗалоговыйБилет.ДатаПогашения ИЗ Документ.мкЗалоговыйБилет КАК ДокументмкЗалоговыйБилет ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мкСтатусыЗалоговогоБилета.СрезПоследних КАК мкСтатусыЗалоговогоБилетаСрезПоследних ПО (мкСтатусыЗалоговогоБилетаСрезПоследних.ЗалоговыйБилет = ДокументмкЗалоговыйБилет.Ссылка) И (мкСтатусыЗалоговогоБилетаСрезПоследних.Организация = ДокументмкЗалоговыйБилет.Организация) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мкКассыФакт.СрезПоследних КАК мкКассыФактСрезПоследних ПО ДокументмкЗалоговыйБилет.Ссылка = мкКассыФактСрезПоследних.ДокЗБ ГДЕ (ДокументмкЗалоговыйБилет.Касса = &КассаФакт ИЛИ мкКассыФактСрезПоследних.КассаФакт = &КассаФакт ИЛИ &КассаПустая) ========= а вот модуль формы списка =========== &НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); КонецПроцедуры &НаСервере Процедура ПриОткрытииНаСервере() КассаПользователя=справочники.мкПользователиКассы.НайтиПоРеквизиту("Пользователь",ПользователиКлиентСервер.АвторизованныйПользователь()).Касса; Список.Параметры.УстановитьЗначениеПараметра("КассаФакт",КассаПользователя); Список.Параметры.УстановитьЗначениеПараметра("КассаПустая",КассаПользователя.Пустая()); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) КассаПользователя=справочники.мкПользователиКассы.НайтиПоРеквизиту("Пользователь",ПользователиКлиентСервер.АвторизованныйПользователь()).Касса; Если НЕ КассаПользователя.Пустая() Тогда ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Касса"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = КассаПользователя; КонецЕсли; КонецПроцедуры |
|||
11
NordMad
01.02.17
✎
13:21
|
(10) я вот посмотрел СП - параметры выбора
сделал вот так: &НаКлиенте Процедура Авто_ПечатьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) НовыйПараметр = Новый ПараметрВыбора("Отбор.Родитель", "Автомобили"); НовыйМассив = Новый Массив(); НовыйМассив.Добавить(НовыйПараметр); НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив); Элементы.Авто_печать.ПараметрыВыбора = НовыеПараметры; КонецПроцедуры но не работает. т.е. он ничего не фильтрует. или это вообще не то? и как задать тип сравнения, чтобы было не =, а в группе? |
|||
12
NordMad
01.02.17
✎
13:23
|
(10) мне по сути нужно сделать вот так вот: http://prntscr.com/e31xz5
только программно, неужели нету какого то простого способа? без динамического списка? мне кажется это и выглядело бы короче |
|||
13
makfromkz
01.02.17
✎
13:42
|
(12) а если в моем рабочем примере:
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Заменить на ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; ????? |
|||
14
NordMad
01.02.17
✎
13:51
|
(13) у меня нету ЭлементОтбора, у меня НовыеПараметры, имеющие тип ПараметрВыбора
ПараметрВыбора (ChoiceParameter) Свойства: Значение (Value) Имя (Name) Конструкторы: Основной Описание: Элемент фиксированного массива свойства ПараметрыВыбора. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
15
aleks_default
01.02.17
✎
13:57
|
Позовите специалиста
|
|||
16
NordMad
01.02.17
✎
14:20
|
(15) чтобы он настроил фильтр на список? вместо того чтобы вставить несколько нужных строк.. ну ну. еще есть варианты?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |