|
Программная инициализация параметров в СКД (8.3) |
☑ |
0
lucifer
21.10.13
✎
14:23
|
Этим кодом я изменяю значение параметра.
ПараметрыДанных = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных;
Для Каждого Элемент Из ПараметрыДанных.Элементы Цикл
Если Строка(Элемент.Параметр) = "Период" Тогда
Элемент.Значение = НачалоМесяца(ОтчетНаДату); // для отладки пока так
Элемент.Использование = Истина;
КонецЕсли;
КонецЦикла;
После выполнения этого кода отчет перестает вообще выводить данные.
вот скрин на котором видно что данные параметру присвоились
Почему в 8.3 это перестало работать? 8.2 все работало
|
|
1
lucifer
21.10.13
✎
14:57
|
кукуалло
|
|
2
Леха Дум
21.10.13
✎
15:07
|
Странный ты, показываешь скрин из отладчика с заполненным параметром и говоришь не работает... может все таки запрос кривенький?
|
|
3
lucifer
21.10.13
✎
15:11
|
этот запрос вставляю в консоль запросов, данные выводятся
|
|
4
lucifer
21.10.13
✎
15:14
|
комментирую код (0) все работает
|
|
5
МойКодУныл
21.10.13
✎
15:16
|
А если параметр не задан, точней пустая дата '00010101'. отчет должен что-то выводить? Может не там ставишь? и он при выполнении запроса пуст
|
|
6
r_p
21.10.13
✎
15:27
|
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период",НачалоМесяца(ОтчетНаДату))
|
|
7
lucifer
21.10.13
✎
15:28
|
(5) если оставить пустым и сказать что этот параметр используется, будет ошибка что-то типа параметр не заполнен, если сказать что параметр не используется то ошибки не будет, и отчет сформируется, по всей видимости СКД будет выполнять запрос так ****.СрезПоследних() т.е. как буд-то параметра нет
|
|
8
lucifer
21.10.13
✎
15:31
|
(6) такая же фигня
|
|
9
r_p
21.10.13
✎
15:33
|
Попробуй запихнуть "Период" в компоновку в СКД.
|
|
10
lucifer
21.10.13
✎
15:34
|
(9) куда?
|
|
11
lucifer
21.10.13
✎
15:35
|
(9) СхемаКомпоновкиДанных.Параметры - сюда?
|
|
12
r_p
21.10.13
✎
15:35
|
В конструкторе запроса в СКД во вкладку "Компоновка данных", а там "Условия"
|
|
13
Nenaviwu1c20
21.10.13
✎
15:45
|
ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
Если ЗначениеПараметра <> Неопределено и ЗначениеПараметра.Значение = '00010101' тогда
ЗначениеПараметра.Значение = НачалоМесяца(ОбщегоНазначения.ПолучитьРабочуюДату());
КонецЕсли;
|
|
14
tenikov
21.10.13
✎
15:46
|
(0) на сервере\клиенте?
|
|
15
lucifer
21.10.13
✎
15:54
|
(14) на сервере
|
|
16
lucifer
21.10.13
✎
16:02
|
(13) вааах, неужели работает )) Спасибо тебе ОГРОМЕННОЕ. А у меня уже тремор начинается когда я слышу про СКД ))
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший