На форме динамический список.
Нужно, чтобы у всех пользователей он открывался с отбором (ограничить по Дате), который они могут изменить.
Чего не хватает, почему не работает?
(нужно сделать как на скриншоте. пока пробую просто, Дата больше)
Нужно, чтобы у всех пользователей он открывался с отбором (ограничить по Дате), который они могут изменить.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПользовательскийОтбор = Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Список.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки);
УсловиеОтбора = ПользовательскийОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
УсловиеОтбора.ПравоеЗначение = ТекущаяДата() - 7*86400 ;
УсловиеОтбора.Использование = Истина;
УсловиеОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
Список.КомпоновщикНастроек.ЗагрузитьНастройки(Список.КомпоновщикНастроек.Настройки);
ПоказатьЧего не хватает, почему не работает?
(нужно сделать как на скриншоте. пока пробую просто, Дата больше)
Прикрепленные файлы:

По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот пример работающего кода, основное, про что надо не забывать, так это про уникальный идентификатор и про то, что пользовательская настройка - это условность, на самом деле - это просто настройка с установленным уникальным идентификатором, т.е. поле надо добавлять не к пользовательским настройкам, а к настройкам.
пНастройки = ЭтотОбъект.Список.КомпоновщикНастроек.Настройки;
путьКреквизиту = "Наименование";
НайденнаяНастройка = Неопределено;
ПолеКомпоновки = Новый ПолеКомпоновкиДанных(путьКреквизиту);
//Чтобы не дублировать настройку при попытке повторной установки.
Для каждого Стр Из пНастройки.Отбор.Элементы Цикл
Если Стр.ЛевоеЗначение = ПолеКомпоновки Тогда
НайденнаяНастройка = Стр;
Прервать;
КонецЕсли;
КонецЦикла;
Если НайденнаяНастройка = Неопределено Тогда
НайденнаяНастройка = пНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НайденнаяНастройка.ЛевоеЗначение = ПолеКомпоновки;
НайденнаяНастройка.Использование = Ложь;
КонецЕсли;
УИДПользовательскойНастройки = НайденнаяНастройка.ИдентификаторПользовательскойНастройки;
Если Не ЗначениеЗаполнено(УИДПользовательскойНастройки) Тогда
УИДПользовательскойНастройки = Новый УникальныйИдентификатор();
НайденнаяНастройка.ИдентификаторПользовательскойНастройки = УИДПользовательскойНастройки;
КонецЕсли;
НастройкиПользователя = ЭтотОбъект.Список.КомпоновщикНастроек.ПользовательскиеНастройки;
ПользовательскаяНастройка = НастройкиПользователя.Элементы.Найти(УИДПользовательскойНастройки);
//НайденнаяНастройка.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(путьКреквизиту); //Нельзя! Это пользовательская настройка и она связывается с "просто" настройкой
ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПользовательскаяНастройка.ПравоеЗначение = "тест1";
ПользовательскаяНастройка.Использование = Истина;
ПользовательскаяНастройка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот