Расширение для заполнения параметра "Номенклатура" (если есть) или отбора (проверяет доступность поля "Номенклатура" для добавления в отбор) товарами из выбранного документа. В Документе должна быть табличная часть Товары с реквизитом Номенклатура.
Алгоритм:
1. в процедуре общего модуля ОтчетыУТПереопределяемый.ПриСозданииНаСервере
Программно добавляю Команду, Кнопку, через реквизит Форма.ПостоянныеКоманды вешаю обработчик
2. Через функцию ПоказатьВводЗначения, пользователь выбирает документ
3. После выбора документа получаю Номенклатуру
РезультатЗапроса = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Документ, "Товары.Номенклатура");
СписокНоменклатуры.ЗагрузитьЗначения( РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Номенклатура") );
4. Если существует параметр "Номенклатура", заполняю его
5. Иначе Добавляю отбор "Номенклатура"
Замечания
- Всегда добавляется как СписокЗначений, поэтому вид сравнения должен быть соответствующий
- Если существует параметр Номенклатура, он должен поддерживать Значение СписокЗначений
- Отбор добавляется всегда - даже если уже есть отбор по полю "Номенклатура", будет добавлен ещё один отбор.
- Прописано для документов с табличной частью Товары и реквизитом Номенклатура
- Тестировал на УТ 11.5.8.207, Платформа 8.3.20.1674
Возможные пути развития, для самостоятельного допила:
- Выбор табличной части, если их несколько, например для документа Заявка на возврат, или отличной от "Товары".
- Выбор поля, по которому будет добавлен отбор в отчет.
- Выбор реквизита Табличной части, список значений которого и будет добавлен как значение отбора.