|
программное добавление значений отбора (группа И) в СКД | ☑ | ||
---|---|---|---|---|
0
Charity
27.02.14
✎
23:07
|
Доброго времени, уважаемые.
прошу помощи в том, что не получается добавить программный отбор в отчет на СКД. Возможно, вопрос был задан уже 100500 раз, но я не нагуглила мало-мальски понятного мануала..... Насчет задачи, поясняю: Есть отчет, в котором имеются ДатаНачала, ДатаКонца (это для задания периода, это параметры данных, которые инициализируются в модуле объекта отчета в процедуре компоновки результата, если пустые, то задаются определенные даты). В отчете есть и другие опции, заключающиеся в отборе для реквизитов, имеющих тип = "Дата" и попадающих в указанный диапазон. Но не о них речь так вот, 1с выдает ошибку: "Ошибка исполнения отчета по причине: Поле не найдено "ПараметрКонецПериода"" Собственно код: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Сообщить (ЭтотОбъект.НачалоПериода); Сообщить (ЭтотОбъект.КонецПериода); ПараметрНачалоПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода"); Если ПараметрНачалоПериода <> Неопределено Тогда Если ЭтотОбъект.НачалоПериода = Дата(1,1,1) Тогда ПараметрНачалоПериода.Значение = Дата(1900,01,01); Иначе ПараметрНачалоПериода = ЭтотОбъект.НачалоПериода; КонецЕсли; КонецЕсли; ПараметрКонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода"); Если ПараметрКонецПериода <> Неопределено Тогда Если ЭтотОбъект.КонецПериода = Дата(1,1,1) Тогда ПараметрКонецПериода.Значение = Дата(3000,01,01); Иначе ПараметрКонецПериода = ЭтотОбъект.КонецПериода; КонецЕсли; КонецЕсли; Если ЭтотОбъект.ИмеющиеДвиженияЗаПериод Тогда // ГруппаОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); // ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ; // ГруппаОтбора.Использование = Истина; // ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПараметрНачалоПериода"); // ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно; // ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; // ЭлементОтбора.Использование = Истина; // // ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // ЭлементОтбора.ПравоеЗначение = новый ПолеКомпоновкиДанных("ПараметрКонецПериода"); // ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно; //// ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; // ЭлементОтбора.Использование=Истина; // //ПолеОтбора = Новый ПолеКомпоновкиДанных("КонечныйОстаток"); // //НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора; //НовыйЭлементОтбора.Использование = Истина; //НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; //НовыйЭлементОтбора.ПравоеЗначение = 0; //КомпоновщикНастроек.Настройки.Отбор.РежимОтображения=РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; Иначе //КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить(); //КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить( КонецЕсли; КонецПроцедуры Пожалуйста, помогите, в чем я ошибаюсь. Спасибо! |
|||
1
Charity
27.02.14
✎
23:14
|
конф. Бухгалтерия предприятия КОРП, редакция 2.0 (2.0.53.10)
|
|||
2
EugeniaK
27.02.14
✎
23:16
|
А что за параметр "КонецПериода"?
Вроде раньше назывался "ОкончаниеПериода" |
|||
3
Charity
27.02.14
✎
23:18
|
EugeniaK, в запросе я так назвала.
|
|||
4
Charity
27.02.14
✎
23:19
|
СКД ведь по идее неважно, как называются параметры...
|
|||
5
Charity
27.02.14
✎
23:53
|
Дополнение: процедура, описанная в сбщ, отрабатывает без ошибок. После неё ошибка появляется
|
|||
6
Charity
28.02.14
✎
10:24
|
Вопрос снят. Отчет ругался потому, что нужно было при выполнении условий делать очистку отборов.
|
|||
7
Charity
28.02.14
✎
10:25
|
а после очистки инициализировать отборы заново
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |