Имя: Пароль:
1C
 
Изменение параметров компоновки данных
0 Dimarik_1
 
11.05.17
19:08
Для формирвоания отчета перед его формированием в самом начле необходимо было изменить параметр компоновки данных

Для Каждого Строка Из КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
        Если Строка.Параметр = Новый ПараметрКомпоновкиДанных("Период") Тогда
            Если ТипЗнч(строка.Значение) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
                НачалоПериода = Строка.Значение.Значение.ДатаНачала;
                КонецПериода = Строка.Значение.Значение.ДатаОкончания;
                Строка.Значение.Значение.ДатаНачала = Дата("20150101");    
            ИначеЕсли ТипЗнч(строка.Значение) = Тип("СтандартныйПериод") Тогда    
                НачалоПериода = Строка.Значение.ДатаНачала;
                Конецпериода = Строка.Значение.ДатаОкончания;
                Строка.Значение.ДатаНачала = Дата("20150101");
            КонецЕсли;
            
            
        Конецесли;
        
    КонецЦикла;



После этого:

Настройка = КомпоновщикНастроек.ПолучитьНастройки();

и сформировал отчет. Затем я все параметры восстановил в исходную



Для Каждого Строка Из КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
          Если Строка.Параметр = Новый ПараметрКомпоновкиДанных("Период") Тогда
              Если ТипЗнч(строка.Значение) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
                Строка.Значение.Значение.ДатаНачала =НачалоПериода;    
            ИначеЕсли ТипЗнч(строка.Значение) = Тип("СтандартныйПериод") Тогда    
                Строка.Значение.ДатаНачала = НачалоПериода;
            КонецЕсли;

        
          Конецесли;
        
    КонецЦикла;

    
    Для Каждого Строка Из  Настройка.ПараметрыДанных.Элементы Цикл
        Если Строка.Параметр = Новый ПараметрКомпоновкиДанных("Период") Тогда
              Если ТипЗнч(строка.Значение) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
                Строка.Значение.Значение.ДатаНачала =НачалоПериода;    
            ИначеЕсли ТипЗнч(строка.Значение) = Тип("СтандартныйПериод") Тогда    
                Строка.Значение.ДатаНачала = НачалоПериода;
            КонецЕсли;
        конецесли;
        

    КонецЦикла;

и загрузил настройки в компоновщик настроек:

КомпоновщикНастроек.ЗагрузитьНастройки(Настройка);



После этого я проверил, здесь у меня стоит тот период, который пользователь выбрал:

Настройка.ПараметрыДанных.Элементы

и здесь

КомпоновщикНастроек.ПользовательскиеНастройки.Элементы



Тем не менее. После того как пользователь пытается расшифровать какую-то группировку, начало периода устанавливается на "01012015".

Не пойму никак, откуда оно тянется. Я ведь всё везде поменял в исходном отчете. при формировании расшифровку в КомпоновщикНастроек.ПользовательскиеНастройки.Элементы в начале периода стоит 2015 год. Откуда может тянуться? Кто-нибудь может подсказать?





Даже попробовал еще раз макет сформирвоать после строчки кода

ЗагрузитьНастройки(Настройка);



с новыми параметрами (на всякий случай), не помогло.
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройка, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
1 Cyberhawk
 
11.05.17
19:46
Скопируй форму отчета / скопируй отчет, а старые удали
2 Dimarik_1
 
11.05.17
19:58
Это внещний отчет. зачем мне что-то копировать?
3 Dimarik_1
 
11.05.17
20:24
При расшифровке открывается всегда новый отчет. может быть в этом отчете т янутся настройки периода из базы и мне можно как-то сделать программно, чтобы они не тянулись?
4 Cyberhawk
 
11.05.17
22:44
Продолжай тереть языком
5 sFAQer
 
12.05.17
02:23
(3) Делай свою расшифровку
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс