Добрый день, уважаемые форумчане! Делаю отчет в виде диаграммы, необходимо задать параметры периода в запросе. Без параметров диаграмма выводится, но если добавляю параметры, то выводится ничего. В чем может быть дело, куда копать? Заранее спасибо!
Скрины запроса и параметров приложил.
Скрины запроса и параметров приложил.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(5) на закладке "Параметры" для параметра Период снять флаг "Ограничение доступности".
На закладке "Настройки" в "Параметры" включить параметр "Период". Включить его в пользовательские настройки.
Там же можно установить значение по умолчанию.
Но самое главное, появится новая закладка "Параметры" в настройках отчета. Где и можно устанавливать значения параметра.
На закладке "Настройки" в "Параметры" включить параметр "Период". Включить его в пользовательские настройки.
Там же можно установить значение по умолчанию.
Но самое главное, появится новая закладка "Параметры" в настройках отчета. Где и можно устанавливать значения параметра.
(26) там же еще параметр Контрагент.
Который указан в самой настройке.
Вот из-за него вполне и не выводит.
В консоле отчетов это еще работает (все работает в пользовательском режиме).
Но в схеме СКД это давно не срабатывает. Подозреваю не находит контрагента.
Для этого параметра нужно проделать такие же манипуляции, как и для параметра Период.
Который указан в самой настройке.
Вот из-за него вполне и не выводит.
В консоле отчетов это еще работает (все работает в пользовательском режиме).
Но в схеме СКД это давно не срабатывает. Подозреваю не находит контрагента.
Для этого параметра нужно проделать такие же манипуляции, как и для параметра Период.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5) на закладке "Параметры" для параметра Период снять флаг "Ограничение доступности".
На закладке "Настройки" в "Параметры" включить параметр "Период". Включить его в пользовательские настройки.
Там же можно установить значение по умолчанию.
Но самое главное, появится новая закладка "Параметры" в настройках отчета. Где и можно устанавливать значения параметра.
На закладке "Настройки" в "Параметры" включить параметр "Период". Включить его в пользовательские настройки.
Там же можно установить значение по умолчанию.
Но самое главное, появится новая закладка "Параметры" в настройках отчета. Где и можно устанавливать значения параметра.
Но в выводе на форму такая же беда. Может быть подскажете, в чем дело?
Делаю так.
&НаКлиенте
Процедура ПолучитьМакеты()
НовыйМакет=ТабличноеПолеАнализ.Добавить();
НовыйМакет.Название="Макет";
НовыйМакет.Описание="Макет";
НовыйМакет.НачалоПериода = НачалоГода(ТекущаяДата());
НовыйМакет.КонецПериода = КонецГода(ТекущаяДата())
&НаСервере
Функция ПолучитьМакет(НазваниеМакета)
Об = РеквизитФормыВЗначение("Объект");
СхемаКомпоновкиДанных = Об.ПолучитьМакет(НазваниеМакета);
ЗначениеВРеквизитФормы(Об,"Объект");
Возврат СхемаКомпоновкиДанных;
КонецФункции
&НаСервере
Процедура ВывестиОтчет(НазваниеМакета,НачалоПериода,КонецПериода)
СхемаКомпоновкиДанных = ПолучитьМакет(НазваниеМакета);
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроек.Настройки;
Если не ЗначениеЗаполнено(НачалоПериода) Тогда
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецМесяца(ТекущаяДата()));
Иначе
НастройкиОсновной = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("Основной").Настройки;
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
ПараметрПериод.Значение = НачалоДня( НачалоПериода);
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));
ПараметрПериод.Значение = КонецДня( КонецПериода);
КонецЕсли;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
Результат = МакетАнализ;
Результат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Результат.ОтображатьЗаголовки = Ложь;
Результат.ОтображатьСетку = Ложь;
КонецПроцедуры
ПоказатьДелаю так.
(14)
Зачем пытаетесь установить заблокированные параметры? Они будут вычисляться из параметра Период.
А его как раз и не устанавливаете. Он с пустой датой. Соответственно и привязанные к нему параметры так же будут с пустой датой.
Устанавливайте параметр Период.
PS. еще, устанавливать параметр нужно в пользовательских настройках. Они перекрывают основные настройки.
Для этого необходимо найти параметр в основных настройках и узнать ИдентификаторПользовательскихНастроек. И уже по нему находить нужный параметр в пользовательских настройках. Изменять нужно именно его.
Если не ЗначениеЗаполнено(НачалоПериода) Тогда
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецМесяца(ТекущаяДата()));
Иначе
НастройкиОсновной = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("Основной").Настройки;
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
ПараметрПериод.Значение = НачалоДня( НачалоПериода);
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));
ПараметрПериод.Значение = КонецДня( КонецПериода);
КонецЕсли;
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецМесяца(ТекущаяДата()));
Иначе
НастройкиОсновной = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("Основной").Настройки;
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
ПараметрПериод.Значение = НачалоДня( НачалоПериода);
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));
ПараметрПериод.Значение = КонецДня( КонецПериода);
КонецЕсли;
Зачем пытаетесь установить заблокированные параметры? Они будут вычисляться из параметра Период.
А его как раз и не устанавливаете. Он с пустой датой. Соответственно и привязанные к нему параметры так же будут с пустой датой.
Устанавливайте параметр Период.
PS. еще, устанавливать параметр нужно в пользовательских настройках. Они перекрывают основные настройки.
Для этого необходимо найти параметр в основных настройках и узнать ИдентификаторПользовательскихНастроек. И уже по нему находить нужный параметр в пользовательских настройках. Изменять нужно именно его.
(16) да. Период это параметр, который открыт для установки. Только это не дата, а СтандартныйПериод, соответственно и установка его несколько отличается.
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если ПараметрПериод <> Неопределено Тогда
ПараметрПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрПериод.ИдентификаторПользовательскойНастройки);
Если ПараметрПользовательскойНастройки <> Неопределено Тогда
ПараметрПользовательскойНастройки.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПользовательскойНастройки.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
КонецЕсли;
Показать
(17)
К сожалению, диаграмма не выводится.
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если ПараметрПериод <> Неопределено Тогда
ПараметрПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрПериод.ИдентификаторПользовательскойНастройки);
Если ПараметрПользовательскойНастройки <> Неопределено Тогда
ПараметрПользовательскойНастройки.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПользовательскойНастройки.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
КонецЕсли;
Если ПараметрПериод <> Неопределено Тогда
ПараметрПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрПериод.ИдентификаторПользовательскойНастройки);
Если ПараметрПользовательскойНастройки <> Неопределено Тогда
ПараметрПользовательскойНастройки.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПользовательскойНастройки.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
КонецЕсли;
К сожалению, диаграмма не выводится.
Прикрепленные файлы:
(18) а. выводите через КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
Тогда не нужно получать пользовательские настройки.
Устанавливайте параметр сразу в Настройки.
Тогда не нужно получать пользовательские настройки.
Устанавливайте параметр сразу в Настройки.
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если ПараметрПериод <> Неопределено Тогда
ПараметрПериод.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПериод.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
(17)
(19)
К сожалению, без результата
(19)
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если ПараметрПериод <> Неопределено Тогда
ПараметрПериод.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПериод.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
Если ПараметрПериод <> Неопределено Тогда
ПараметрПериод.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПериод.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
К сожалению, без результата
(21)
(21)
(21)
&НаКлиенте
Процедура ТабличноеПолеАнализВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "ТабличноеПолеАнализОписание" Тогда
СтандартнаяОбработка=ложь;
ТекСтрока = ТабличноеПолеАнализ.Получить(ВыбраннаяСтрока);
ВывестиОтчет(ТекСтрока.Название,ТекСтрока.НачалоПериода,ТекСтрока.КонецПериода);
Элементы.ГруппаОтчеты.Текущаястраница = Элементы.Отчеты;
КонецЕсли;
КонецПроцедуры
Показать
(25)
НастройкиОсновной
&НаСервере
Процедура ВывестиОтчет(НазваниеМакета,НачалоПериода,КонецПериода)
СхемаКомпоновкиДанных = ПолучитьМакет(НазваниеМакета);
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроек.Настройки;
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если ПараметрПериод <> Неопределено Тогда
ПараметрПериод.Значение.ДатаНачала=НачалоДня( НачалоПериода);
ПараметрПериод.Значение.ДатаОкончания=КонецДня( КонецПериода);
КонецЕсли;
.
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
Результат = МакетАнализ;
Результат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Результат.ОтображатьЗаголовки = Ложь;
Результат.ОтображатьСетку = Ложь;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
(26) там же еще параметр Контрагент.
Который указан в самой настройке.
Вот из-за него вполне и не выводит.
В консоле отчетов это еще работает (все работает в пользовательском режиме).
Но в схеме СКД это давно не срабатывает. Подозреваю не находит контрагента.
Для этого параметра нужно проделать такие же манипуляции, как и для параметра Период.
Который указан в самой настройке.
Вот из-за него вполне и не выводит.
В консоле отчетов это еще работает (все работает в пользовательском режиме).
Но в схеме СКД это давно не срабатывает. Подозреваю не находит контрагента.
Для этого параметра нужно проделать такие же манипуляции, как и для параметра Период.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот