|
Невозможно применить фиксированные настройки. Пересекаются элементы отбора. | ☑ | ||
---|---|---|---|---|
0
Mr Man
22.03.16
✎
16:59
|
Доброго времени суток. При компановке результат отчета в пр-ре ПриКомпоновкеРезультата отчета пишу следующее:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДокументРезультат.Очистить(); Настройки = КомпоновщикНастроек.ПолучитьНастройки(); //++ Если ТочкиБП <> Неопределено Тогда НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы. Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТочкаМаршрута"); НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ?(ЭтоПрочиеЗадачи,ВидСравненияКомпоновкиДанных.НеВСписке, ВидСравненияКомпоновкиДанных.ВСписке); НовыйЭлементОтбора.ПравоеЗначение = ТочкиБП; КонецЕсли; //-- Ругается на КомпоновщикНастроек.ПолучитьНастройки(); Как это побороть? |
|||
1
Mr Man
22.03.16
✎
17:00
|
Платформа 8.3.6.2449, Такси
|
|||
2
Nuobu
22.03.16
✎
17:03
|
(0) Как именно ругается?
|
|||
3
Mort
22.03.16
✎
17:11
|
Смотри откуда фиксированные настройки берутся.
|
|||
4
Mr Man
22.03.16
✎
17:14
|
(2) Невозможно применить фиксированные настройки. Пересекаются элементы отбора.
Ругается кстати после повторного формирования отчета по кнопочке сформировать. В первом случае вызов был программный. |
|||
5
Nuobu
22.03.16
✎
17:18
|
(4) Могу предложить тебе искать отбор, который ты устанавливаешь в первый раз этим кодом:
НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы. Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТочкаМаршрута"); НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ?(ЭтоПрочиеЗадачи,ВидСравненияКомпоновкиДанных.НеВСписке, ВидСравненияКомпоновкиДанных.ВСписке); НовыйЭлементОтбора.ПравоеЗначение = ТочкиБП; КонецЕсли; Только вместо того, чтобы писать НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Лучши ищи его по представлению. Сделай его вручную, назови как-то, убеги галку "ИСпользование" и юзай программно. |
|||
6
Mr Man
22.03.16
✎
17:24
|
(5) пробую перед программный добавлением отбора и получением настроек так:
ПользовательскийОтбор = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; ПользовательскийОтбор.Очистить(); Вылетает. |
|||
7
aleks_default
22.03.16
✎
17:42
|
Смотри откуда вызывается отчет, там фиксированные настройки и устанавливаются.
|
|||
8
Nuobu
22.03.16
✎
17:59
|
(6) Ого, ты жесткий!
Отбор = КомпоновщикНастроек.Настройки.Отбор.Элементы; А так? |
|||
9
Mr Man
22.03.16
✎
18:16
|
(8) удаляет все отборы что есть. Нужно очистить только отбор "ТочкаМаршрута"
|
|||
10
Nuobu
22.03.16
✎
18:17
|
(9) Так найди его, а не очищай!
|
|||
11
Mr Man
22.03.16
✎
18:21
|
нужен пример как найти)
|
|||
12
Nuobu
22.03.16
✎
18:23
|
(11) Для каждого ЭлементОтбора из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТочкаМаршрута") Тогда ЭлементОтбора.ПравоеЗначение = ТочкиБП; ЭлементОтбора.Использование = Истина; Прервать; КонецЕсли; КонецЦИкла; |
|||
13
Mr Man
22.03.16
✎
18:34
|
(12) друг, спасибо тебе большое)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |