Ну начнем с того, что данная обработка написана под другую конфигурацию нежели Розница. УправлениеОтчетами это общий модуль конфигурации УТ. Могу предложить лишь текст той функции, ссылка на которую вызвала Вашу ошибку, попробуйте добавить ее в модуль обработки и изменить в тексте модуля вызов этой функции с
УправлениеОтчетами.ЗадатьПараметрыОтбораПоКатегориям(ПостроительОтчета, ОбщийОтчет.мСтруктураДляОтбораПоКатегориям);
на
ЗадатьПараметрыОтбораПоКатегориям(ПостроительОтчета, ОбщийОтчет.мСтруктураДляОтбораПоКатегориям);
Но нет гарантий, что ссылки на другие процедуры не вызовут новых ошибок.
// Добавляет в параметры построителя отчета использованные в отборах категории
//
// Параметры:
// ПостроительОтчета - Построитель, отбор которого обрабатывается, и в Параметры
// которого добавляются категории
// СтруктураДляОтбораПоКатегориям - структура, связывающая пути к данным Отборов Построителя и
// идентицфикаторы параметров
//
// Возвращаемое значение:
// Истина, если добавление параметров произошло успешно
// Ложь, если есть повторный отбор по одной и той же категории.
//
// Вообще-то, повторный отбор по одной и той же категории невозможен не всегда -
// можно отобрать два раза с видом сравнения "не равно". Контроль возвращаемого
// этой функцией значения отключить можно, но нужно после этого понимать,
// что два отбора по одной категории с видом сравнения "Равно" приведут к тому,
// что отчет окажется пустым.
//
Функция ЗадатьПараметрыОтбораПоКатегориям(ПостроительОтчета, СтруктураДляОтбораПоКатегориям) Экспорт
Если ТипЗнч(СтруктураДляОтбораПоКатегориям) = ТипЗнч(Новый Структура) Тогда
Для Каждого ЭлементОтбора Из ПостроительОтчета.Отбор Цикл
//Прочищаем все, независимо от использования элемента отбора
НазваниеПараметра = "";
Если Найти(ЭлементОтбора.ПутьКДанным, ".") = 0 Тогда
Если СтруктураДляОтбораПоКатегориям.Свойство(ЭлементОтбора.ПутьКДанным, НазваниеПараметра) Тогда
Если ПостроительОтчета.Параметры.Свойство(НазваниеПараметра) Тогда
ПостроительОтчета.Параметры.Удалить(НазваниеПараметра);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Для Каждого ЭлементОтбора Из ПостроительОтчета.Отбор Цикл
Если Найти(ЭлементОтбора.ПутьКДанным, ".") > 0 Тогда
Продолжить;
КонецЕсли;
Если ЭлементОтбора.Использование Тогда
ИдентификаторПараметра = "";
Если СтруктураДляОтбораПоКатегориям.Свойство(ЭлементОтбора.ПутьКДанным, ИдентификаторПараметра) Тогда
МассивЗначенийКатегорий = НеОпределено;
Если НЕ ПостроительОтчета.Параметры.Свойство(ИдентификаторПараметра, МассивЗначенийКатегорий) Тогда
МассивЗначенийКатегорий = Новый Массив;
Иначе
Предупреждение("Нельзя использовать несколько отборов по одной и той же категории!");
Возврат Ложь;
КонецЕсли;
Если ТипЗнч(ЭлементОтбора.Значение) = ТипЗнч(Новый СписокЗначений) Тогда
Для Каждого ЗначениеКатегории Из ЭлементОтбора.Значение Цикл МассивЗначенийКатегорий.Добавить(ЗначениеКатегории.Значение);
КонецЦикла;
Иначе
МассивЗначенийКатегорий.Добавить(ЭлементОтбора.Значение);
КонецЕсли;
ПостроительОтчета.Параметры.Вставить(ИдентификаторПараметра, МассивЗначенийКатегорий);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат Истина;
КонецФункции // ЗадатьПараметрыОтбораПоКатегориям()
Показать