Имя: Пароль:
1C
1С v8
Заголовок в СКД
0 Вопросы Задающий
 
25.06.12
14:35
Всем привет! Пытаюсь вывести свой заголовок в СКД, делаю вот так

ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыВывода.
НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));

ЗначениеПараметра.Значение="Отчет за период с "+ДатаНачала+" по "+ДатаКонца;
ЗначениеПараметра.Использование = Истина;

Но заголовок выводится тот, что в СКД написан. Для использования галка стоит. Что делаю не так? Спасибо!
1 Вопросы Задающий
 
25.06.12
14:37
Когда прохожу отладчиком, значение то, что нужно. Но результат не тот..
2 Defender aka LINN
 
25.06.12
14:38
Видимо, настройки компоновщика не используешь.
3 Вопросы Задающий
 
25.06.12
14:41
где конкретно? на закладке, где настройки для вывода? там задано выводить заголовок, плюс его значение , но мне нужно другое, поэтому задаю программно
4 ssh2006
 
25.06.12
14:43
СКД как на выволнение запускается?
5 Defender aka LINN
 
25.06.12
14:44
(3) Конкретно при выводе отчета.
6 Вопросы Задающий
 
25.06.12
14:44
(4) в смысле?
7 Вопросы Задающий
 
25.06.12
14:45
(2) почему не использую
8 ssh2006
 
25.06.12
14:46
На кнопке "Сформировать" висит процедура?
9 Defender aka LINN
 
25.06.12
14:46
(7) Ну кто ж тебя знает.
10 sanja26
 
25.06.12
14:46
УстановитьЗначениеПараметра()
11 Вопросы Задающий
 
25.06.12
14:46
(8) да, я ее сам создал, мне нужно пару параметров типа даты и времени выводить в футер
12 ssh2006
 
25.06.12
14:47
(11) выложи процедуру
13 Вопросы Задающий
 
25.06.12
14:49
Procedure GenerateReport(SpreadsheetDocument) Export
   
   SpreadsheetDocument.Clear();
   
   DataCompositionDetailsData = New DataCompositionDetailsData;
   
   TemplateComposer = New DataCompositionTemplateComposer;
   Template = TemplateComposer.Execute(DataCompositionSchema, SettingsComposer.Settings, DataCompositionDetailsData);
   
   DataCompositionProcessor = New DataCompositionProcessor;
   DataCompositionProcessor.Initialize(Template,,DataCompositionDetailsData, True);
   
   TitleInReport = DataCompositionDetailsData.Settings.OutputParameters.FindParameterValue(New DataCompositionParameter("Title"));
   TitleInReport.Value = "Заголовок мой";
   TitleInReport.Use = True;
   
   
   OutputProcessor = New DataCompositionResultSpreadsheetDocumentOutputProcessor;
   OutputProcessor.SetDocument(SpreadsheetDocument);
   OutputProcessor.Output(DataCompositionProcessor);
   
   
   SpreadsheetDocument.Footer.RightText = Date;
   SpreadsheetDocument.Footer.Font = New Font(,,True,True);
       SpreadsheetDocument.Footer.Enabled = True;
   SpreadsheetDocument.PageOrientation = PageOrientation.Landscape;
   
EndProcedure
14 Вопросы Задающий
 
25.06.12
14:50
заказчег англоязычный )
15 sanja26
 
25.06.12
14:50
Заголовок = "Отчет по дебиторской задолженности на "+Формат(КонДата,"ДЛФ=DD");
   КомпоновщикНастроек.Настройки.ПараметрыВывода.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок"), Заголовок);
16 ssh2006
 
25.06.12
14:51
(14) после компоновки макеты параметры устанавливаешь
17 Defender aka LINN
 
25.06.12
14:51
(13) Угу. "Я распечатал и отправил письмо, вернулся с почты домой и поправил пару строк в этом файле. А почему их адресат не видит?".
18 Вопросы Задающий
 
25.06.12
14:52
(17) переведи плиз
19 sanja26
 
25.06.12
14:53
(17) какая разница. Процессор вывода ниже
20 Defender aka LINN
 
25.06.12
14:54
(19) А макет - выше. Ничего?
21 Вопросы Задающий
 
25.06.12
14:55
(20) я этот кусок

   TitleInReport = DataCompositionDetailsData.Settings.OutputParameters.FindParameterValue(New DataCompositionParameter("Title"));
   TitleInReport.Value = "Заголовок мой";
   TitleInReport.Use = True;


и выше ставил тоже, не помогло (((
22 Вопросы Задающий
 
25.06.12
14:58
(15) у тебя то же, что и у меня, в (21)
23 ssh2006
 
25.06.12
14:58
(21) параметры устанавливаешь у ДанныеРасшифровкиКомпоновкиДанных
24 Вопросы Задающий
 
25.06.12
15:04
(23) пример кода не подкинешь плиз
25 ssh2006
 
25.06.12
15:07
(24) вместо параметров у настроек компоновщика ты устанавливаешь параметры у ДанныеРасшифровкиКомпоновкиДанных.
26 Вопросы Задающий
 
25.06.12
15:14
"ты устанавливаешь параметры у ДанныеРасшифровкиКомпоновкиДанных." - это я делаю сейчас, так?
27 ProDeveloper
 
25.06.12
15:15
(0) Все делаешь верно, попробуй запихать в модуль отчета в процедурку

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   Настройки = КомпоновщикНастроек.ПолучитьНастройки();
   Параметр = Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));
   Параметр.Значение = "Трололо";
   Параметр.Использование = Истина;
   КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
КонецПроцедуры
28 ssh2006
 
25.06.12
15:17
(26) да

TitleInReport = DataCompositionDetailsData.Settings.OutputParameters.FindParameterValue(New DataCompositionParameter("Title"));
----------------
ДанныеРасшифровкиКомпоновкиДанных (DataCompositionDetailsData)
Свойства:
Настройки (Settings)
Элементы (Items)

Конструкторы:
По умолчанию

Описание:
Объект, содержащий информацию о расшифровке.
XML-сериализация. Поддержка отображения в XDTO; пространство имен: {http://v8.1c.ru/8.1/data-composition-system/details}. Имя типа XDTO: DetailsInformation.
29 ProDeveloper
 
25.06.12
15:20
то что в (27) работает 100%, инъекцию надо делать в процедуре "ПриКомпоновкеРезультата" в модуле самого отчета, в модуле формы ниче допиливать не надо, кнопку "Сформировать" оставляем типовую.
30 Вопросы Задающий
 
25.06.12
15:22
(29) мне надо еще другие настройки менять, поэтому нужна своя процедура вывода. теперь буду искать, как добраться до компоновщика настроек
31 ssh2006
 
25.06.12
15:24
(30) SettingsComposer.Settings
32 Вопросы Задающий
 
25.06.12
15:24
(25) а как добраться до настроек компоновщика в (13) ??
33 ProDeveloper
 
25.06.12
15:24
то что я описал работает и с нетиповой процедурой вывода, только у этой процедуры должен быть вывод через СкомпоноватьРезультат(), что то вроде того если я не ошибаюсь, навскидку вроде так
34 sanja26
 
25.06.12
15:26
(0) как-то туговато реагирует
35 Вопросы Задающий
 
25.06.12
15:30
(34) все, понял, спасибо большое, заработало!!!
надо было просто


SettingsComposer.Settings.OutputParameters.SetParameterValue(New DataCompositionParameter("Title"),"ЗАГОЛОВОК");

в самом начале сделать
36 ssh2006
 
25.06.12
15:47
(35) в (2) ответ был)
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.