Отчет на СКД. Как установить предопределенные параметры?

1. asher72 47 07.12.17 04:28 Сейчас в теме
Только начинаю углубляться в СКД. Вопрос. Есть отчет на СКД. Набор данных - запрос. в запросе есть параметры, которые заполняются постоянными значениями (типа виды субконто, список счетов и т.п.). Можно ли программно, и в идеале не создавая формы отчета ввести значения параметров?
По теме из базы знаний
Найденные решения
4. independ 1520 07.12.17 09:27 Сейчас в теме
(1) в Процедуре модуля отчета ПриКомпоновкеРезультата(

ПараметрыСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных;
ПараметрыСКД.УстановитьЗначениеПараметра("Дата", Объект.Дата);
ПараметрыСКД.УстановитьЗначениеПараметра("Склад", Объект.Склад);
user682948_rusmaxval; NikieMSE; +2 Ответить
8. Ildar13 07.12.17 10:37 Сейчас в теме
(6)
Можно попробовать сделать еще так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

   Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;
   
   Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);
      
КонецПроцедуры
user682948_rusmaxval; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Ildar13 07.12.17 07:08 Сейчас в теме
(1) Можно на вкладке "Параметры" задать значения параметров. Тогда вручную задавать не придется.
Можно программно:
Параметр = Настройки.ПараметрыДанных.Элементы.Найти("ИмяПараметра");
Параметр.Значение = Значение;
Параметр.Использование = Истина;
4. independ 1520 07.12.17 09:27 Сейчас в теме
(1) в Процедуре модуля отчета ПриКомпоновкеРезультата(

ПараметрыСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных;
ПараметрыСКД.УстановитьЗначениеПараметра("Дата", Объект.Дата);
ПараметрыСКД.УстановитьЗначениеПараметра("Склад", Объект.Склад);
user682948_rusmaxval; NikieMSE; +2 Ответить
2. sandybaev 197 07.12.17 06:33 Сейчас в теме
вывести куда, на форму отчета?
можно программно заполнить не выбирая их вручную, если ты об этом...
5. Spektr 999 07.12.17 10:00 Сейчас в теме
Программный вывод отчета на СКД в управляемых формах
&НаКлиенте
Процедура Сформировать(Кнопка)

    СформироватьНаСервере(Результат);

КонецПроцедуры

&НаСервере
Процедура СформироватьНаСервере(ТабДок)

    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");

    //Получаем схему из макета
    СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

    //Из схемы возьмем настройки по умолчанию
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    ЭД = Настройки.ПараметрыДанных.Элементы.Найти("ИмяПараметраСКД1");
    ЭД.Значение = ЗначениеПараметра1;
    ЭД.Использование = Истина;

    //Накладываем пользовательский отбор
    КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроекДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    КомпоновщикНастроекДанных.ЗагрузитьПользовательскиеНастройки(Отчет.КомпоновщикНастроек.ПользовательскиеНастройки);

    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    //Передаем в макет компоновки схему, настройки и данные расшифровки    
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);

    //Выполним компоновку с помощью процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
  
    //Очищаем поле табличного документа
    ТабДок.Очистить();

    //Выводим результат в табличный документ
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);

    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

КонецПроцедуры
Показать
6. asher72 47 07.12.17 10:16 Сейчас в теме
Ildar Mamatov
У меня в план счетов счета добавлены в режиме предприятия. Значений в конфигураторе нет. Поэтому 1 вариант отпадает. 2. вариант: Вопрос в какой процедуре Это описать? Настройки - откуда взялись?
7. Ildar13 07.12.17 10:31 Сейчас в теме
(6)
Можно сделать в модуле объекта в процедуре ПриКомпоновкеРезультата()
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
8. Ildar13 07.12.17 10:37 Сейчас в теме
(6)
Можно попробовать сделать еще так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

   Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;
   
   Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);
      
КонецПроцедуры
user682948_rusmaxval; +1 Ответить
11. proger1c81 05.07.21 20:00 Сейчас в теме
e vt
(8)
Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;

Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);


Почему для внешнего отчета для БП3.0 это не работает?
Открываю отчет через Файл - Открыть. Захожу в параметры, там пусто. Нажимаю Сформировать - ругается, что параметр пустой....
В чем особенность работы с внешним отчетом и заданием параметров без формы?
9. asher72 47 07.12.17 13:39 Сейчас в теме
Дмитрий Мишарин
Подошел ваш вариант! Все замечательно отработало. спасибо. Вопрос закрыт.
10. asher72 47 07.12.17 17:15 Сейчас в теме
Дмитрий Мишарин
Ваш ответ подошел
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот