Ресурсы соответствующие параметрам выбора не найдены

Параметры выбора и связи параметров выбора в панели быстрых настроек отчета СКД

При разработке отчета на СКД часто требуется указать связь между параметрами этого отчета. Например если в отчете имеется параметры «Номенклатура» и «Серия», при выборе серии показывать только серии данной номенклатуры. Или нужно отображать в списке выбора элементов справочника «ЗначенияСвойствОбъектов» только значения, принадлежащие определенному элементу плана видов характеристик «ДополнительныеРеквизитыИСведения». Несмотря на то, что в полях и параметрах СКД есть возможность указать параметры выбора и связи параметров выбора, этот механизм не работает (по крайней мере, так обстоит дело в ERP 2.4.9.98).

Можно написать свою форму отчета, разместить на ней элементы отбора и сделать в ней все, что угодно. Но не хотелось бы терять мощные механизмы общей формы «ФормаОтчета» или копипастить их в свой отчет.

Можно модифицировать общую форму «ФормаОтчета» под свои задачи. Но не хотелось бы это делать каждый раз при разработке нового отчетов.

Предлагаю пример решения этой задачи для двух вариантов:

1. Фиксированный параметр выбора для поля «Отбор». В отчете сделан отбор по полю с типом «Справочник.ЗначенияСвойствОбъектов». При выборе значения отбора требуется показать пользователю только элементы с заданным владельцем.

2. Связи параметров выбора для поля «Параметр». В отчете имеется 2 параметра: Номенклатура и Серия. При выборе серии, показывать пользователю только серии выбранной номенклатуры

1. Фиксированный параметр выбора

Создаем отчет (файл ВнешнийОтчет_ФиксированныеПараметрыОтбора.erf).

Если отчет встроен в расширение, то необходимо:

1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки

2. Добавить отчет в эту подсистему

3. В модуле менеджера отчета написать код:

В 1С добавить дополнительный реквизит справочника Номенклатура «Раздел комплектации» с типом значений «Дополнительное значение». Указать или сгенерировать имя реквизита, в моем случае это «РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e»

В отчете составляем текст запроса:

Для поля «РазделКомплектации» нужно указать тип значения СправочникСсылка.ЗначенияСвойствОбъектов

На вкладке «Параметры» укажем выражение для параметра «Свойство»: ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту(«Имя», «РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e», Истина)

Включим отбор по полю «РазделКомплектации» в пользовательские настройки: на вкладке «Настройки», «Отбор» добавими отбор «РазделКомплектации», щелкнем на нем правой кнопкой мыши, «Свойства элементов пользовательских настроек», установим флажок «Включать в пользовательские настройки».

В модуле отчета указываем, что мы перехватываем событие «ПослеЗаполненияПанелиБыстрыхНастроек»:

2. Связи параметров выбора

Создаем отчет (файл ВнешнийОтчет_СвязиПараметровВыбора.erf).

Как и в предыдущем примере, если отчет встроен в расширение, то необходимо:

1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки

2. Добавить отчет в эту подсистему

3. В модуле менеджера отчета написать:

В отчете составляем текст запроса:

Параметры «Номенклатура» и «Серия» включим в пользовательские настройки (см. выше).

В модуле отчета указываем, что мы перехватываем событие «ПослеЗаполненияПанелиБыстрыхНастроек»:
В обработчике этого события:

2. Добавляем в форму новый реквизит «МойРеквизит_Номенклатура». Добавить элемент формы для этого реквизита.
Элементу формы указать обработчик события «ПриИзменении» (обработчик этого события и будет то единственным изменением общей формы «ФормаОтчета»).

3. Скрываем старый элемент формы «Номенклатура».

4. Для элемента формы «Серия» задаем связи параметров выбора.

5. Сохраняем необходимую в дальнейшем информацию в дополнительных свойствах пользовательских настроек компоновщика настроек:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *