Имя: Пароль:
1C
1С v8
Программное удаление отбора в СКД
0 Cоляпсус
 
21.05.20
12:00
Добрый день. Тема не раз уже поднималась, но вот мне победить её не получается.
Стоит отбор. Его при кнопке очистка необходимо либо удалить, либо снять галку использование.
Попробовал метод удалить
Для Каждого Стр Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(Стр);
КонецЦикла;
Попробовал
Для Каждого Стр Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Стр.Использование = Ложь;
КонецЦикла;
Может кто подскажет, как же всётаки сделать.
Заранее благодарен
1 Momus
 
21.05.20
12:07
Не знаю как правильно, но если делать то, что выше, для пользовательских настроек, то все работает
2 Cоляпсус
 
21.05.20
12:11
(1) Пользовательские настройки не содержат в себе записей
3 Momus
 
21.05.20
12:13
(2) я обычно делаю через КомпоновщикНастроек.ПолучитьНастройки() и уже там меняю
4 Momus
 
21.05.20
12:15
(3) хотя нет, вру...
5 Флориан
 
21.05.20
12:18
http://catalog.mista.ru/public/1185890/

ОтборНастройки = Отчет.КомпоновщикНастроек.Настройки.Отбор;

//Поиск элемента пользовательских настроек по уникальному идентификатору раздела настроек
ОтборПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ОтборНастройки.ИдентификаторПользовательскойНастройки);
ОтборПоСкладу = Неопределено;
ПолеКомпоновкиСклад = Новый ПолеКомпоновкиДанных("Склад");

//Поиск еже созданного ранее элемента отбора    
Для каждого ЭлементОтбора Из ОтборПользовательскиеНастройки.Элементы Цикл
   Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных")
             и ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновкиСклад Тогда
      ОтборПоСкладу = ЭлементОтбора;
      Прервать;
   КонецЕсли;    
КонецЦикла;

ОтборПоСкладу.Использование = Истина;
6 Momus
 
21.05.20
12:23
(5) в (2) "Пользовательские настройки не содержат в себе записей"
7 Cоляпсус
 
21.05.20
12:37
(5) Не работает.
https://prnt.sc/skynnj
8 Флориан
 
21.05.20
12:43
(7) я правильно понимаю что пользовательские настройки - это в обычном режиме которые заданы пользователем, а "настройки" - это задано в конфигураторе? Тогда "настройки" копируй в "пользовательские" открывай отчет с помощью "пользовательских" и потом уже в "пользовательских" меняй использование
9 Cоляпсус
 
21.05.20
12:55
(8) а напрямую это не работает? Отчёт открывается с пустой настройкой, пользователь выбирает например Поставщика, потом решил удалить его и снова сформировать отчёт. Вот тут и казус, что на форме поле очищается, а в настройках отбор остаётся. И не могу от этого избавиться. Можно даже не удалять отбор, а просто снять галку, но вот и она никак не хочет сниматься, использование истина в ложь никак не превращается
10 Флориан
 
21.05.20
13:32
(9) >> на форме поле очищается - так выведи на форму и флаг использования отбора

http://catalog.mista.ru/public/1090513/
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.