|
Программный отбор на группировку
| ☑ |
0
maxicom
14.03.12
✎
18:35
|
Есть отчет на СКД. На нем есть поле списка, в котором перечень возможных значений отбора. Отмечая галками значения необходимо затем их передать в отбор.
В процедуре ПриИзмененииФлажка поля списка следующий код:
СП = Новый СписокЗначений;
Отбор = Ложь;
Для Каждого Зн Из Элемент.Значение Цикл
Если Зн.Пометка = Истина Тогда
СП.Добавить(Зн);
Продолжить;
КонецЕсли;
Отбор = Истина;
КонецЦикла;
ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].Использование = Отбор;
ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ПравоеЗначение = СП;
Код нормально отрабатывает, но когда запускаешь отчет на исполнение, то выдает ошибку:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(105, 26)}: Неверные параметры
ВложенныйЗапрос.Причина <<?>>В (&П3)
При этом если допустим снять одну галку в списке и затем зайти в настройку отчета и просто нажать ОК, то все начинает работать.
Подскажите, что не так сделал?
|
|
1
el-gamberro
14.03.12
✎
18:39
|
Параметры и отбор это разные вещи.
Нужно убрать парамтр из запроса, если используется отбор
|
|
2
el-gamberro
14.03.12
✎
18:40
|
И эта.. кажись при открытии отчета у тебя не срабатывает код, который работает при изменении флажка.
|
|
3
maxicom
14.03.12
✎
18:57
|
(1) В запросе вообще нет такого параметра. Понять не могу от куда он берётся.
|
|
4
Нуф-Нуф
14.03.12
✎
19:05
|
за вложенные запросы я бы руки отрубал
|
|
5
maxicom
14.03.12
✎
20:44
|
Здесь была ошибка, если кому интересно:
СП.Добавить(Зн.Значение);
|
|