Имя: Пароль:
1C
1С v8
Невозможно применить фиксированные настройки. Пересекаются элементы отбора.
0 AnisaL
 
23.12.24
14:46
Добрый день! Конфигурация Управление Нашей Фирмой 8.3. Создала галочку "Активные контрагенты" на форме списка справочника Контрагенты. Активные контрагенты это такие контрагенты, которым были выписаны расходные накладные за последние 12 месяцев. И когда ставлю эту галочку и делаю пользовательский отбор по кнопке Еще-Настроить список по полю "Ссылка", то выдает такую ошибку, как в Сабже. Помогите пожалуйста, как избавится от этой ошибки?
1 AnisaL
 
23.12.24
14:46
(0) Вот текст процедуры при изменении этой галочки:
&НаКлиенте
Процедура СК_АктивныеКонтрагентыПриИзмененииПосле(Элемент)
    
    Если АктивныеКонтрагенты Тогда
        
        СписокАктивныеКонтрагенты = СК_ПолучитьСписокАктивныхКонтрагентовНаСервере();    
        НовЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        НовЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка") ;
        НовЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
        НовЭлементОтбора.Использование = Истина;
        НовЭлементОтбора.ПравоеЗначение = СписокАктивныеКонтрагенты;
    Иначе
        Для каждого Стр из Список.Отбор.Элементы Цикл
            Список.Отбор.Элементы.Удалить(Стр)
        КонецЦикла;    
            
    КонецЕсли;
      
КонецПроцедуры
2 программистище
 
23.12.24
14:57
Через пользовательские настройки делайте
Компоновщикнастроек.ПользовательскиеНастройки
хотя в бсп есть функиця по отборам динамического списка
3 Волшебник
 
23.12.24
15:00
Вы сделали галочку, по которой делаете программный отбор,
и Вы же делаете пользовательский отбор по полю "Ссылка"

у Вас пересекаются отборы по полю Ссылка
4 AnisaL
 
23.12.24
15:04
(2) теперь вот такая ошибка:
Ошибка при вызове метода контекста (Добавить)
{УправлениеНебольшойФирмойФранчайзи Справочник.Контрагенты.Форма.ФормаСписка.Форма(7)}:Отбор = Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Коллекция пользовательских настроек не может изменять свой состав, так как она связана с настройками компоновки данных.
[ОшибкаИспользованияВстроенногоЯзыка]
5 AnisaL
 
23.12.24
15:05
(3) а как тогда исправить ситуацию?
6 Волшебник
 
23.12.24
15:06
(4) Вы сказали, что у Вас конфигурация "Управление Нашей Фирмой",
а в ошибке светится "УправлениеНебольшойФирмойФранчайзи".

Может у Вас конфигурация не та?
7 youalex
 
23.12.24
15:08
(4) не в ПользовательскиеНастройки.Элементы
а в Отбор.Элементы (где Отбор - отбор компоновки данных, входящий в состав ПользовательскиеНастройки.Элементы)
8 AnisaL
 
23.12.24
15:09
(6) Это наша доработка на базе УНФ
9 AnisaL
 
23.12.24
15:17
Написала вот так, теперь ошибка не выдается, но отбор по активным контрагентам не делается.
Отбор = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
10 программистище
 
23.12.24
15:19
(8) сочувствую потребителям ваших доработок
11 mikecool
 
23.12.24
15:21
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора
12 AnisaL
 
23.12.24
15:22
(10) это не моя именно доработка, я дорабатываю
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.