helpf.pro
Регистрация
 +4 
Распечатать

1С 8.x : Как программно Установить значения Параметров для отчета СКД?

Например у отчет есть следующие параметры:
title

Программно их задать можно следующим образом:
Код 1C v 8.х
 //Последовательно, начиная с 0 задаем значения параметров: ( НачПериода это 0 элемент, КонПериода - 1, ВыбНалог =2 )
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение = НачПериода;
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1].Значение = КонПериода;
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[2].Значение = ВыбНалог;


Есть параметр, предопределенное при открытии отчета каждый раз. Как его правильно указать в СКД?
Можно делать так:
Код 1C v 8.х
 Процедура ПриОткрытии()
//........................
ПараметрДанных= КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Товар");
ПараметрДанных.Значение = Справочники.Номенклатура.НайтиПоНаименованию("Гвозди");
ПараметрДанных.Использование=Истина;
//...........................................
КонецПроцедуры

или
Код 1C v 8.х
 //Пропишем ТОЧКИ МАРШРУТА
СписТочек = Новый СписокЗначений;
СписТочек.Добавить(БизнесПроцессы.м_Документооборот.ТочкиМаршрута.ОПФПД);
СписТочек.Добавить(БизнесПроцессы.м_Документооборот.ТочкиМаршрута.ОСФПД);

ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ТочкаМаршрута");
ПараметрСКД.Значение = СписТочек;
ПараметрСКД.Использование = ИСТИНА;


Для УП
Код 1C v 8.2 УП
 &НаСервере 
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УстановитьПривилегированныйРежим(Истина);

СтандартнаяОбработка = Ложь; // если не отключить стандартную обработку, то настройки затрутся

ДатаОтчета = ТекушаяДата();
3начениеПараметра = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Найти3начениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаНач"));
Если НЕ ЗначениеПараметра = Неопределено Тогда
ЗначениеПараметра.Использование = Истина;
ЗначениеПараметра.Значение = КонецДня(ДатаОтчета) - (7 * 86400);
КонецЕсли;

3начениеПараметра = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Найти3начениеПараметра(Новый ПараметрКомпоновкиДанных("Свойство1"));
Если НЕ ЗначениеПараметра = Неопределено Тогда
ЗначениеПараметра.Использование = Истина;
3начениеПараметра = Справочники.3наченияСвойствОбъектов.НайтиПоКоду("000000004");
КонецЕсли;
КонецПроцедуры
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 38402
 +4 
Распечатать
Возможно, вас также заинтересует
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 0
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка...
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 3
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием ...
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура...
В отчет не попадают данные за последний день… Как исправить? 0
Пользователь выбрал период формирования отчета с 1июля по 31. Почему при формировании отчета в него не попадают данные за 31 число? На самом деле, это одна из самых распространенных ошибок при разработке отчетов. В 1С 8.х...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.