Цитаты из книги автора  Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных, 4-е стереотипное переиздание

Читать отрывокОтрывок
В случае, если пользовательские настройки отчета еще ни разу не сохранялись, их нужно задавать в обработчике события ПередЗагрузкойВариантаНаСервере (листинг 2.18).
Комментировать
Нажмем кнопку Свойства элемента пользовательских настроек, расположенную вверху, в командной панели окна настроек, и включим настройку Порядок в состав пользовательских настроек отчета (рис. 2.90).
Комментировать
Снимем флажок Ограничение доступности у этих параметров, так как они будут задаваться пользователем при формировании отчета. А также установим для них свойство Использование в значение Всегда. Так как параметры передаются в запрос всегда, то установка обязательного использования параметров позволит сформировать отчет без ошибки, даже если значения параметров не указаны
Комментировать
На закладке Связи наборов данных добавим новую строку. В поле Источник связи, то есть в качестве родительского набора данных, укажем РегистрСБ, в поле Приемник связи, то есть в качестве зависимого набора данных, укажем ДокументСБ. В поле Выражение источник выберем из полей родительского набора поле Регистратор, а в поле Выражение приемник – поле зависимого набора данных – Ссылка. В поле Параметр выберем из списка параметров параметр Ссылка родительского набора данных, в котором будет храниться значение связи (рис. 2.84).
Комментировать
ВЫБРАТЬ
СборкаКомпьютера.Дата,
СборкаКомпьютера.Номер,
СборкаКомпьютера.Ссылка
ИЗ
Документ.СборкаКомпьютера КАК СборкаКомпьютера
ГДЕ
СборкаКомпьютера.Ссылка В (&Ссылка)
Комментировать
В текст запроса добавим условие с параметром Ссылка, в который будет помещено значение связи набора данных – источника. В результате набор данных – приемник НаборДанных2 будет получать только те документы СборкаКомпьютера, которые произвели движения в регистре накопления СобранныеСБ (листинг 2.11).
Комментировать
В параметре Настройки в обработчик передаются настройки варианта отчета, имеющие тип ПользовательскиеНастройкиКомпоновкиДанных. Так как параметра всего два, то можно обращаться к ним по индексу (0, 1) в коллекции элементов пользовательских настроек. Мы устанавливаем значения параметров начала и конца отчетного периода и задаем для них признак использования. Эти настройки загружаются в компоновщик настроек, и отчет формируется с заданными параметрами
Комментировать
Однако если настройки являются пользовательскими (в нашем случае – это параметры отчетного периода) и пользователь хоть раз задавал их значения в форме отчета, то устанавливать их в этом обработчике бесполезно.
Комментировать
Сначала у формы отчета вызывается событие ПриСозданииНаСервере. В нем мы задаем необходимость формирования отчета сразу же при его открытии. Затем происходят четыре события, поставляемые расширением управляемой формы для отчета.
Сначала выполняется загрузка настроек варианта отчета (основного или выбранного пользователем при последнем формировании отчета) в компоновщик настроек. При этом вызываются события ПередЗагрузкойВариантаНаСервере и ПриЗагрузкеВариантаНаСервере. Очевидно, нам нужно создать обработчик события ПередЗагрузкойВариантаНаСервере, чтобы в нем изменить параметры настроек перед их загрузкой в компоновщик (листинг 2.9)
Комментировать
Чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в спрНоменклатура. Для этого выделим ее в списке Таблицы и вызовем ее контекстное меню (рис. 2.58).
Комментировать