Имя: Пароль:
1C
1С v8
Дата приОткрытии
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 ТОгда
        Для каждого Элемент Из НастройкиКомпоновщика.ПараметрыДанных.Элементы Цикл
            
            Если Сокрлп(Элемент.Параметр)="Период" тогда
                Элемент.Значение = ТекущаяДата();
                
                //Отобразим для пользователя
                НайденЭлемент = ЭлемПользНастр.Найти(Элемент.ИдентификаторПользовательскойНастройки);
                Если НайденЭлемент <> Неопределено Тогда
                    НайденЭлемент.Значение = Элемент.Значение;
                КонецЕсли;
                
            ИначеЕсли Сокрлп(Элемент.Параметр)="ЗначениеЭто" тогда
                Элемент.Использование = Истина;
                
                //Отобразим для пользователя
                НайденЭлемент = ЭлемПользНастр.Найти(Элемент.ИдентификаторПользовательскойНастройки);
                Если НайденЭлемент <> Неопределено Тогда
                    НайденЭлемент.Значение = Элемент.Значение;
                    НайденЭлемент.Использование = Элемент.Использование;
                КонецЕсли;
                
            КонецЕсли;
            
        КонецЦикла;
    КонецЕсли;
    //ТЗИтог= СформироватьОтчет(ДатаНачала,ДатаОкончания,Календарь);
    
    //Связь между таблицей значений и именами в СКД
    ВнешниеНаборыДанных = Новый Структура;
    //ВнешниеНаборыДанных.Вставить("ТЗИтог",ТЗИтог);
    
    //Макет компоновки
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, НастройкиКомпоновщика, ДанныеРасшифровки);
    
    //Компоновка данных
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
    
    //Вывод результата ДокументРезультат.Очистить();
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
КонецПроцедуры
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс