![]() |
|
Отбор динамического списка | ☑ | ||
---|---|---|---|---|
0
YAGolova
02.04.15
✎
12:58
|
Работаю с УФ крайне редко, поэтому много не знаю. Подскажите пожалуйста - как установить отбор динамического списка НЕ при создании на сервер, а уже с открытой формы (на форме поле - при его изменении установить отбор). Как устанавливать отбор в СКД я знаю - соответственно так же и установил - при нажатии на настройку списка этот отбор виден, НО на форме ничего не меняется - список не перечитывается. Платформа 8.2.19.106. Пробовал: Элементы.Список.Обновить(), ОповеститьОбИзменении, ОтобразитьИзменениеДанных - ни в какую!!!
|
|||
1
YAGolova
02.04.15
✎
12:59
|
Во всех современных конфигурациях отбор устанавливается дерез Список.КомпоновщикНастроек.Настройки.Отбор, но у меня свойста КомпоновщикНастроек нет, так что я устанавливаю просто через Список.Отбор
|
|||
2
YAGolova
02.04.15
✎
13:14
|
АУ! Спецы по УФ есть?
|
|||
3
butterbean
02.04.15
✎
13:17
|
использование установил?
|
|||
4
DrShad
02.04.15
✎
13:19
|
в типовых есть процедуры общих модулей, которые устанавливают отборы для списков - все написано до вас
|
|||
5
DrShad
02.04.15
✎
13:20
|
что типа этого ищите ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
|
|||
6
asady
02.04.15
✎
13:22
|
(0) нужно нажать на кнопку с красной буквой Я справа от названия темы.
По крайней мере в моём браузере первая страница уже содержит исчерпывающие ответы на твой вопрос |
|||
7
YAGolova
02.04.15
✎
13:24
|
(3) установил
|
|||
8
YAGolova
02.04.15
✎
13:27
|
(5) Там написано ДинамическийСписок.КомпоновщикНастроек.Настройки.Отбор, но у моего динамического списка нет свойства КомпоновщикНастроек - я так подозреваю в силу того что платформа 8.2
|
|||
9
DrShad
02.04.15
✎
13:28
|
(8) у меня там вот такой код, который отлично работает
// Используется для создания элемента отбора или, если таковой не найден, // установления существующим элементам свойств // Параметры // ОбластьПоискаДобавления - контейнер с элементами и группами отбора, например // Список.Отбор или группа в отборе // ИмяПоля - строка - имя для поля компоновки данных (заполняется всегда) // Устанавливаемые поля: // ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения // ПравоеЗначение - произвольный // Представление - представление элемента компоновки данных // Использование - булево - использование элемента // РежимОтображения - РежимОтображенияЭлементаНастройкиКомпоновкиДанных - режим отображения // ИдентификаторПользовательскойНастройки - Строка - См. ОтборКомпоновкиДанных.ИдентификаторПользовательскойНастройки в синтакс-помощнике. // Процедура УстановитьЭлементОтбора(ОбластьПоискаДобавления, знач ИмяПоля, знач ПравоеЗначение = Неопределено, знач ВидСравнения = Неопределено, знач Представление = Неопределено, знач Использование = Неопределено, знач РежимОтображения = Неопределено, знач ИдентификаторПользовательскойНастройки = Неопределено) Экспорт ЧислоИзмененных = ИзменитьЭлементыОтбора(ОбластьПоискаДобавления, ИмяПоля, Представление, ПравоеЗначение, ВидСравнения, Использование, РежимОтображения); Если ЧислоИзмененных = 0 Тогда Если ВидСравнения = Неопределено Тогда ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; КонецЕсли; Если РежимОтображения = Неопределено Тогда РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; КонецЕсли; ДобавитьЭлементКомпоновки(ОбластьПоискаДобавления, ИмяПоля, ВидСравнения, ПравоеЗначение, Представление, Использование, РежимОтображения, ИдентификаторПользовательскойНастройки); КонецЕсли; КонецПроцедуры |
|||
10
ЧеловекДуши
02.04.15
✎
13:41
|
(0) Отбор все ровно делается на сервере "&НаСервере"
ГруппаОтбораИ = Список.Отбор; //Можно организовывать еще и группы отбора, По И или ИЛИ ЭлементОтбора = ГруппаОтбораИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("<Реквизит по Объекту>"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; //Условие отбора ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = <Значение отбора, может буть список значение>; //Ниже можешь не писать, если нечего не прячешь ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; |
|||
11
ЧеловекДуши
02.04.15
✎
13:42
|
(10) А может и не только :)
|
|||
12
YAGolova
02.04.15
✎
13:49
|
(9) посмотрел внимательно функцию. В параметр ОбластьПоискаДобавления передается везде все тот же злополучный КомпоновщикНастроек.Настройки.Отбор которого у меня нет.
|
|||
13
YAGolova
02.04.15
✎
13:50
|
(10) так именно и делаю - но список на форме не обновляется
|
|||
14
DrShad
02.04.15
✎
13:50
|
(12) &НаКлиенте
Процедура ПросрочкаОтборПриИзменении(Элемент) ПросрочкаОтборПриИзмененииНаСервере(); КонецПроцедуры &НаСервере Процедура ПросрочкаОтборПриИзмененииНаСервере() Если ПросрочкаОтбор = 2 тогда ПросрочкаОтборОчисткаНаСервере(); Иначе ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( Список.Отбор, "Просрочка", ПросрочкаОтбор, ?(Число(ПросрочкаОтбор) = 1, ВидСравненияКомпоновкиДанных.Больше, ВидСравненияКомпоновкиДанных.Равно), "", Истина, , ); КонецЕсли; КонецПроцедуры |
|||
15
YAGolova
02.04.15
✎
13:57
|
Вообщем, все заработало как только процедуры установки отборов я перенес на клиента
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |