0
SergeyFirst
02.10.11
✎
00:05
|
Доброго времени суток, коллеги!!!
Пытаюсь при открытии отчёта модифицировать запрос СКД, но он ни в какую не хочет меняться. Поиски в интернете и по сайту не дали ни каких результатов. Кто-нибудь может помочь?
Код примерно следующий:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
лкОтчет = РеквизитФормыВЗначение("Отчет");
лкОтчет.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = "ВЫБРАТЬ Организация, &Аналитика КАК Аналитика ИЗ Справочник.Аналитика";
лкПоле = лкОтчет.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
лкПоле.Поле = "Аналитика";
лкПоле.ПутьКДанным = "Аналитика";
ЗначениеВРеквизитФормы(лкОтчет,"Отчет");
Сообщить(РеквизитФормыВЗначение("Отчет").СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос);
КонецПроцедуры
В последней строчке возвращается текст запроса такой как он был до изменения.
|
|
1
ll13
02.10.11
✎
00:30
|
Изменить текст запроса можно только в модуле объекта (не вызвав процедуру модуля !!! а именно в модуле при начальной инициализации объекта, что с прикладной точки зрения практически бесполезно)
Конечно же назревает вопрос фирме 1с, зачем вся эта бадяга с программной работой с СКД, если нельзя выполнить элементарных действий по модификации СКД...
Я делал свой компоновщик, связывал с ним свою СКД и соответственно все остальную работу по настройке и компоновке реализовал программно, получилось весьма объемно, не совсем красиво, но тем не менее работоспособно...
|
|