|
Дата приОткрытии | ☑ | ||
---|---|---|---|---|
0
serg-lom89
25.09.14
✎
13:13
|
В процедуре приОткрытии пишу
Процедура ПриОткрытии() СхемаКомпоновкиДанных.Параметры.Найти("НачалоПериода").Значение=НачалоДня(РабочаяДата); СхемаКомпоновкиДанных.Параметры.Найти("КонецПериода").Значение=КонецДня(РабочаяДата); КонецПроцедуры вот только когда открываю отчет,нажимаю настройки,то пусто...хотя в отладчике показывает что СхемаКомпоновкиДанных.Параметры.Найти("НачалоПериода").Значение равно моей рабдате? |
|||
1
barrgand
25.09.14
✎
13:19
|
(0) Может лучше так:
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение |
|||
2
ОбычныйЧеловек
25.09.14
✎
13:19
|
(0) Вариантов масса... Может у тебя "СхемаКомпоновкиДанных" другая используется в настройке,
|
|||
3
Defender aka LINN
25.09.14
✎
13:24
|
(0) Ничего, что настройки в несколько более иначе другом объекте находятся?
Ну и кроме Значения у параметров еще всякое есть. Это тебе так, чтобы еще одну ветку не создавать |
|||
4
serg-lom89
25.09.14
✎
13:25
|
(1) спасибо....))
|
|||
5
Teresa
25.09.14
✎
13:27
|
(4) и книжку Хрусталевой по разработке отчетов в СКД надо почитать.
|
|||
6
serg-lom89
25.09.14
✎
13:27
|
посдкажите еще такой вопрос...
а как на закладке Отбор установить что бы тоже ПриОткрытии была Организация МояОрганизация? |
|||
7
serg-lom89
25.09.14
✎
13:27
|
(5) да.спасибо.в ближ время займемся.счас скачаю и начну)
|
|||
8
Teresa
25.09.14
✎
13:29
|
(6) в настройках схемы или программно, как больше нравится
|
|||
9
barrgand
25.09.14
✎
13:32
|
(6) Лови, добрый я сегодня
ОтборОрганизация = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборОрганизация.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация"); ОтборОрганизация.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборОрганизация.ПравоеЗначение = МояОрганизация; |
|||
10
DrZombi
гуру
25.09.14
✎
13:37
|
(0) Все это плохо, делать это при открытии :)
|
|||
11
DrZombi
гуру
25.09.14
✎
13:39
|
+(10) У меня так
&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки) //Вставить содержимое обработчика НаименованиеТекущегоВарианта = ПредставлениеТекущегоВарианта; //Установка параметра Настройки = Отчет.КомпоновщикНастроек.Настройки; //В этом отчете этого значения нет... (но может попросят вернуть) НайденыйПараметр = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ЗначениеЭто")); Если НайденыйПараметр <> Неопределено Тогда ЗначениеЭто = 5; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ЗначениеЭто", ЗначениеЭто); КонецЕсли; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ТекущаяДата()); КонецПроцедуры |
|||
12
serg-lom89
25.09.14
✎
13:40
|
Ребята,всем спасибо огромное)
|
|||
13
DrZombi
гуру
25.09.14
✎
13:41
|
+(11) А вот это уже в Модуле Отчета СКД, что бы закрепить успех, если пользователь с кривыми руками :)
///\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; //------------------------- НастройкиКомпоновщика = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(); ЭлемПользНастр = ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; //ПрибавлятьФильтр=Ложь; // настройка период Если НастройкиКомпоновщика.ПараметрыДанных.Элементы.Количество()>0 ТОгда Для каждого Элемент Из НастройкиКомпоновщика.ПараметрыДанных.Элементы Цикл Если Сокрлп(Элемент.Параметр)="Период" тогда Элемент.Значение = ТекущаяДата(); //Отобразим для пользователя НайденЭлемент = ЭлемПользНастр.Найти(Элемент.ИдентификаторПользовательскойНастройки); Если НайденЭлемент <> Неопределено Тогда НайденЭлемент.Значение = Элемент.Значение; КонецЕсли; ИначеЕсли Сокрлп(Элемент.Параметр)="ЗначениеЭто" тогда Элемент.Использование = Истина; //Отобразим для пользователя НайденЭлемент = ЭлемПользНастр.Найти(Элемент.ИдентификаторПользовательскойНастройки); Если НайденЭлемент <> Неопределено Тогда НайденЭлемент.Значение = Элемент.Значение; НайденЭлемент.Использование = Элемент.Использование; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; //ТЗИтог= СформироватьОтчет(ДатаНачала,ДатаОкончания,Календарь); //Связь между таблицей значений и именами в СКД ВнешниеНаборыДанных = Новый Структура; //ВнешниеНаборыДанных.Вставить("ТЗИтог",ТЗИтог); //Макет компоновки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиКомпоновщика, ДанныеРасшифровки); //Компоновка данных ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); //Вывод результата ДокументРезультат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |