Андрей Смирнов
Время чтения: ~5 мин.
Просмотров: 25

Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

089dbcb4e689f1321db4a42ec19f38bc.pngДо 8.3.3.721 — Подробно про ошибку и решение через настройки Списка (элемента формы) можно прочитать здесь https://helpf.pro/faq/view/1715.htmlНачиная с 8.3.3.721 добавлены новые события Динамического списка управляемой формы — V8Update 8.3.3.721: Динамический список. — и ошибку можно обойти программно &НаСервере

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

В некоторых релизах конфигураций на управляемом приложении на платформе 1С: Предприятие 8.3 можно получить следующую ошибку «Невозможно применить фиксированные настройки»error.png

Текст по кнопочке «Подробно»:

Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. по причине: Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Воспроизведение ошибки

Ошибка появляется если в какой либо форме списка или выборка указать отбор, а после форму закрыть. При следующем открытии формы получим сообщение об ошибке.

Причина

Причина в использовании новой технологии в еще не подготовленной конфигурации, а именно свойство динамического списка «АвтоматическоеСохранениеПользовательскихНастроек».

Решение

Два варианта решения данной проблемы:

1. Необходимо очистить сохраненные настройки пользователя. Пример для УТ 11.1: Переходим в меню «Администрирование — Настройки пользователей и прав — Очистка настроек» в появившейся форме выбираем пользователя(ей) и чистим. Такой вариант даст разовый результат, если пользователь снова поставит отбор, то получим такую же ошибку.

UPD Иногда типовая обработка не очищает полностью настройки пользователя, тут разбираю метод очистки произвольных настроек.

2. В форме списка или выбора элемента необходимо зайти в свойства динамического списка и свойству «АвтоматическоеСохранениеПользовательскихНастроек» установить значение «Ложь».

solution.png Такой вариант решения можно считать временным, до момента обновления на релиз конфигурации с исправленной ошибкой.

Источник: Конференция специалистов 1С:Предприятие

Полный текст ошибки: 

Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. по причине:  Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Воспроизведение ошибки Ошибка появляется если в какой либо форме списка или выборка указать отбор, а после форму закрыть. При следующем открытии формы получим сообщение об ошибке.

Причина Причина в использовании новой технологии в еще не подготовленной конфигурации, а именно свойство динамического списка «АвтоматическоеСохранениеПользовательскихНастроек».

Решение Два варианта решения данной проблемы: 1. Необходимо очистить сохраненные настройки пользователя. Пример для УТ 11.1: Переходим в меню «Администрирование — Настройки пользователей и прав — Очистка настроек» в появившейся форме выбираем пользователя(ей) и чистим. Такой вариант даст разовый результат, если пользователь снова поставит отбор, то получим такую же ошибку. UPD Иногда типовая обработка не очищает полностью настройки пользователя, тогда можно их удалить самостоятельно (см. ниже «Очистка произвольных настроек из хранилища системных настроек») 2. В форме списка или выбора элемента необходимо зайти в свойства динамического списка и свойству «АвтоматическоеСохранениеПользовательскихНастроек» установить значение «Ложь».

Очистка произвольных настроек из хранилища системных настроек

Задача В ИБ с конфигурацией УТ 11 у всех пользователей очистить настройки формы элемента справочника «Номенклатура».

Решение В конфигурациях на БСП есть утилита копирования/очистки настроек пользователя, но в некоторых ситуациях, обработка очищает не все настройки.

Настройки хранятся в хранилище системных настроек, получим выборку и в цикле будем сообщать значения настроек.

  Выборка = ХранилищеСистемныхНастроек.Выбрать();    Пока Выборка.Следующий() Цикл    ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек  + "; КлючОбъекта " + Выборка.КлючОбъекта  + "; Пользователь " + Выборка.Пользователь  + "; Представление" + Выборка.Представление;    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);    КонецЦикла;  

В окне сообщение получим примерный текст:

  КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаСписка/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаЭлемента/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаВыбораГруппы/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаВыбора/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаСписка/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаЭлемента/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаВыбораГруппы/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаВыбора/Такси/НастройкиОкна; Пользователь Пользователь1; Представление  

Проанализировав текст дописываем в наш код проверку на ключа объекта и при необходимости будем удалять настройку

  Выборка = ХранилищеСистемныхНастроек.Выбрать();    Пока Выборка.Следующий() Цикл    Если Найти(Выборка.КлючОбъекта, "Справочник.Номенклатура.Форма.ФормаЭлемента") <> 0 Тогда    ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек  + "; КлючОбъекта " + Выборка.КлючОбъекта  + "; Пользователь " + Выборка.Пользователь  + "; Представление" + Выборка.Представление;    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);    ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, Выборка.КлючНастроек, Выборка.Пользователь);    КонецЕсли;    КонецЦикла;  

P.S. У процедуры Удалить() хранилища системных настроек есть 3 обязательных параметра, но в эти параметры можно передать значение Неопределено. В этом случае будут удалены все данные. Код по удалению настроек из последнего листинга можно заменить строкой ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, Неопределено);

Информация с ресурса: http://guesto.ru/

P.S. Обработка для редактирования настроек «Стандартное хранилище настроек (управляемые формы)«

Используемые источники:

  • http://unnoesso.blogspot.com/2019/03/blog-post.html
  • https://guesto.ru/1c-nevozmozhno-primenit-fiksirovannyye-nastroyki/
  • https://lavelin.ru/knowledgebase/невозможно-применить-фиксированные/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации