Как программно передать параметры в СКД 1С

Если вы используете конфигурацию 1С:Бухгалтерия 2.0, то можно воспользоваться процедурой из модуля ТиповыеОтчеты.

Пример:

ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "НачалоПериода", НачалоДня(ДатаНачала));

Выглядит она так:

// Устанавливает параметр данных компоновщика настроек
Функция УстановитьПараметр(КомпоновщикНастроекКоллекцияЗначений, ИмяПараметра, Значение, Использование = Истина) Экспорт

    Если ТипЗнч(КомпоновщикНастроекКоллекцияЗначений) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда
    ЗначениеПараметра = КомпоновщикНастроекКоллекцияЗначений.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));
    ИначеЕсли ТипЗнч(КомпоновщикНастроекКоллекцияЗначений) = Тип("КоллекцияЗначенийПараметровКомпоновкиДанных") Тогда
    ЗначениеПараметра = КомпоновщикНастроекКоллекцияЗначений.Найти(ИмяПараметра);
    ИначеЕсли ТипЗнч(КомпоновщикНастроекКоллекцияЗначений) = Тип("ОформлениеКомпоновкиДанных") Тогда
    ЗначениеПараметра = КомпоновщикНастроекКоллекцияЗначений.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));
    КонецЕсли;

    Если ЗначениеПараметра = Неопределено Тогда
    Возврат Неопределено;
    Иначе
    ЗначениеПараметра.Использование = Использование;
    ЗначениеПараметра.Значение      = Значение;
    Возврат ЗначениеПараметра;
    КонецЕсли;

КонецФункции

При необходимости можно скопировать ее в свой модуль.

Передавать параметры в систему компоновки данных можно, например, в процедуре формирования отчета:

Процедура СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина, ВнешниеНаборыДанных = Неопределено) Экспорт

    Результат.Очистить();

    Настройки = КомпоновщикНастроек.ПолучитьНастройки();

    ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "НачалоПериода", НачалоДня(ДатаНачала));
    ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "КонецПериода",  КонецДня(ДатаОкончания));

    СтандартныеОтчеты.ВывестиОтчет(ЭтотОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета, ВнешниеНаборыДанных, Истина);
    КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

    Результат.ОтображатьЗаголовки = Истина;
    // Выполним дополнительную обработку Результата отчета
    СтандартныеОтчеты.ОбработкаРезультатаОтчета(ЭтотОбъект, Результат);

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

Поделиться

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Подпишитесь на наш YouTube канал

YouTube

Подписаться

Комментировать