Программные параметры в СКД
☑
0
slasher
07.12.12
✎
15:18
Здравствуйте, перерыл всё форумы - ответа не нашёл.
пытаюсь передать параметр (дату) в отчет написанный на скд
часть кода:
// 1
СхемаКомпоновкиДанных = Отчеты.ОтчетДляСканера.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
// 2
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ПараметрДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НаДату"));
ПараметрДата.Использование = Истина;
ПараметрДата.Значение = ТекущаяДата();
ПараметрНаДату = СхемаКомпоновкиДанных.Параметры.Найти("НаДату");
ПараметрНаДату.Использование = Истина;
ПараметрНаДату.Значение = ТекущаяДата();
// 3
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
При запуске отчета возникает ошибка, что не указаны параметры.
В чём может быть дело? Выручайте, а то сойду с ума.
1
Wobland
07.12.12
✎
15:19
НайтиЗначениеПараметра нашло значение параметра?
2
slasher
07.12.12
✎
15:20
да, конечно нашло
3
LAAry
07.12.12
✎
15:21
А почему ты компонуешь не с теми настройками, куда передал параметры?
4
Wobland
07.12.12
✎
15:21
(2) не вижу
5
le_
07.12.12
✎
15:22
Д1 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
Если Д1 <> Неопределено Тогда
Д1.Значение = Элемент.Значение;
Д1.Использование = НЕ (Элемент.Значение = '00010101000000');
КонецЕсли;
6
slasher
07.12.12
✎
15:27
(4) Я в отладчике это вижу, честно
7
slasher
07.12.12
✎
15:27
(3)Потому что настройки и параметры это разные ветки схемы, нет?
8
Wobland
07.12.12
✎
15:27
(6) я тебе на(5) намекал
9
КуплюКровать
07.12.12
✎
15:29
настройки по умалчанию неверно выбраны
10
le_
07.12.12
✎
15:30
Настройки = КомпоновщикНастроек.Настройки;
11
slasher
07.12.12
✎
15:41
(9,10) спасибо огромное и всем кто отозвался, полдня убил на это.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший