После обновления 1С ЗУП у клиента у пользователя появилась ошибка:
Слишком много фактических параметров
{ВнешняяОбработка.ТрудовойДоговорВнешний.МодульОбъекта(372)}:ТаблицаНачислений = КадровыйУчет.ТаблицаНачисленийСотрудниковПоВременнойТаблице(Запрос.МенеджерВременныхТаблиц, "ВТСотрудникиПериоды", , , , Ложь, Истина);
После анализа было выявлено, что 1С изменили функцию "ТаблицаНачисленийСотрудниковПоВременнойТаблице", изменив в ней передаваемые параметры. Я исправил вызов этой функции во внешнем отчете, и ошибка у пользователя пропала. Но встал вопрос, а сколько еще ошибок может быть, до которых пользователь еще не добрался.
В итоге я решил сделать обработку, которая помогла бы выгрузить все отчеты в каталог.
Я создал таблицу с данными о внешних отчетах.

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

Я уже в конфигураторе, с помощью глобального поиска, выбрал название функции для поиска, в модулях, и снял галочки со всех конфигураций и расширений, а на закладке Файлы добавил каталог выгрузки.


В итоге я нашел все места использования данной функции и исправил их. Во внешние обработки я уже загружал каждый файл по отдельности и проверял корректность работы.
Буду рад, если кому-то мой опыт показался полезным.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.187.20
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.36.19
Вступайте в нашу телеграмм-группу Инфостарт