|
Не вычисляется параметр СКД
| ☑ |
0
badboychik
20.05.13
✎
17:17
|
Наблюдаю такой глюк
Есть параметры в СКД - Начало и Конец, которые заданы выражением &Период.ДатаНачала и &Период.ДатаОкончания
Но при программном выполнения СКД они не подставляются, хотя параметр "Период" задан.
Код :
СКД = ПолучитьМакет("Макет1");
ПериодОтчета = Новый СтандартныйПериод(НачалоМесяца(ДатаОстатков), КонецДня(ДатаОстатков));
СКД.Параметры.Период.Значение = ПериодОтчета;
Настройки = СКД.НастройкиПоУмолчанию;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
|
|
1
Mitriy
20.05.13
✎
17:20
|
ну дык, ты же настройки по умолчанию грузишь...
|
|
2
badboychik
20.05.13
✎
17:23
|
Поменял местами, все равно не работает. По идее параметры СКД и настройки компоновщика - разные вещи
|
|
3
badboychik
20.05.13
✎
17:24
|
Параметры редактируются в компоновщике если они отмечены как доступные для пользователя
|
|
4
Mitriy
20.05.13
✎
17:33
|
мда, печалька... у меня тоже не получилось...
|
|
5
badboychik
20.05.13
✎
17:37
|
Вот решение, надо все таки настройки использовать. Свой старый шаблонный отчет на СКД поднял и нашел )
Настройки = СКД.НастройкиПоУмолчанию;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
ПериодОтчета = Новый СтандартныйПериод(НачалоМесяца(ДатаОстатков), КонецДня(ДатаОстатков));
// Установка параметров
ППериод = Новый ПараметрКомпоновкиДанных("Период");
ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ППериод);
ЗначениеПараметра.Значение = ПериодОтчета;
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
|
|
6
badboychik
20.05.13
✎
17:42
|
Если галку доступности у параметра "Период" снять, то (0) работает. "Начало" и "Конец" хоть и не доступные в обоих случаях, но зависят от доступности параметра, из которого вычисляются
|
|
7
Mitriy
20.05.13
✎
17:49
|
Вот видишь, а говорил - глюк...
|
|
8
badboychik
20.05.13
✎
18:01
|
Еще, если закрыть у "Периода" доступность из настроек, то нужно принудительно поставить "Всегда" в поле "Использование", а не оставлять "Авто"
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший