Создадим примитивный отчет - Остатки на складе, в котором не нужно будет выбирать склад и период - они будут задаваться автоматически/будут предопределенными:
- Создаем внешний отчет;
- Создаем схему компоновки данных;
- Добавляем набор данных, текст запроса:
"
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ГДЕ
ТоварыНаСкладахОстатки.Склад = &Склад
"
- Добавим ресурс - "КоличествоОстаток", Выражение = "Сумма(КоличествоОстаток)"
- Добавляем параметры - Период, Склад
- Создаем форму отчета (автоматически - без изменений)
- В модуле формы отчета инициируем стандартную процедуру "ПриСозданииНаСервере";
- В процедуру добавляем следующий код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьПривилегированныйРежим(Истина);
СтандартнаяОбработка = Ложь; // если не отключить стандартную обработку, то настройки затрутся
Дата = ТекущаяДата();
ЗначениеПараметра = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если НЕ ЗначениеПараметра = Неопределено Тогда
ЗначениеПараметра.Использование = Истина;
ЗначениеПараметра.Значение = Дата;
//Объект.Дата = Дата;
КонецЕсли;
ЗначениеПараметра = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Склад"));
Если НЕ ЗначениеПараметра = Неопределено Тогда
ЗначениеПараметра.Использование = Истина;
ЗначениеПараметра.Значение = Справочники.Склады.НайтиПоНаименованию("Москва");
//Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Москва");
КонецЕсли;
КонецПроцедуры
Стоит отметить, что очень важно понимать объектное ориентирование - путь к данным на форме отчета, уже представляет не "Объект.+", а "Отчет.+"