Выгрузка внешних отчетов и обработок в виде файлов в выбранный каталог и поиск ошибок в них после обновления

15.12.25

Разработка - Инструментарий разработчика

Столкнулся с ситуацией, когда после обновления 1С: ЗУП у пользователя перестал работать внешний отчет. Анализ показал, что 1С изменила вызов функции. Мне необходимо было найти, в каких еще отчетах, есть такая же ошибка. Я для себя решил выгрузить все отчеты в каталог и с помощью конфигуратора найти использование данной функции.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Выгрузка внешних отчетов и обработок в виде файлов в выбранный каталог и поиск ошибок в них после обновления:
.epf 12,58Kb ver:1.1
6 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

После обновления 1С ЗУП у клиента у пользователя появилась ошибка: 

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

После анализа было выявлено, что 1С изменили функцию "ТаблицаНачисленийСотрудниковПоВременнойТаблице", изменив в ней передаваемые параметры. Я исправил вызов этой функции во внешнем отчете, и ошибка у пользователя пропала. Но встал вопрос, а сколько еще ошибок может быть, до которых пользователь еще не добрался.

В итоге я решил сделать обработку, которая помогла бы выгрузить все отчеты в каталог.

Я создал таблицу с данными о внешних отчетах.


 

На форму добавил команды "Заполнить" и "Выгрузить в каталог"
 

&НаКлиенте
Процедура Заполнить(Команда)
    ЗаполнитьНаСервере();
КонецПроцедуры

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


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


 

После того, как все внешние отчеты были сохранены в каталог.


 

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

 

 

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

Буду рад, если кому-то мой опыт показался полезным.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.187.20
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.36.19

Вступайте в нашу телеграмм-группу Инфостарт

Выгрузка поиск текста ошибки

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    69560    364    170    

316

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    260165    1447    421    

1169

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    38580    107    46    

122

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    56491    113    31    

125

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    25537    93    46    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3967    13    1    

18

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    53268    185    63    

217

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

В крупных внедрениях 1С типовая почти всегда дополнена расширениями, а конфигуратор показывает их раздельно. «Поиск ссылок на объект» в ERP — минуты ожидания, и даже после него неясно: типовое поведение, дополнение из расширения или переопределённый обработчик. Analyzer 1C — веб-инструмент, который парсит выгрузку (основную плюс все расширения) и собирает единый граф знаний в ArangoDB. Любой межсущностный запрос — за доли секунды. Внутри: — Сквозные пометки «Доб.» / «Заимств.» / переопределения во всём UI — Импакт-анализ через подписки, регламентные задания и переопределения — Анализ запросов BSL: кто читает и пишет объект — модули, формы, СКД — Роли: матрица «роль × объект × право», RLS, программные РольДоступна, PRIV — Конструктор профилей, граф функций, обработчики обновления, XDTO, функциональные опции — Мгновенный поиск по конфигурации Разворачивается за минуту через Docker, без интернета. Любая 1С:Предприятие 8.3+.

12200 руб.

17.04.2026    6479    27    28    

41
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Suker86 86 15.12.25 22:38 Сейчас в теме
Делал аналогичное, если интересно - гляньте в моих публикациях.
Использую так же - выгружаю всё и ищу по выгруженному.
Либо для резервного копирования, тоже полезно.
Светлый ум; DenShilyaev; +2 Ответить
2. DenShilyaev 24 15.12.25 22:51 Сейчас в теме
да, у тебя хороший вариант для контроля выгрузки и хранения файлов.
У меня могут затираться файлы, если у них одинаковые имена были.

Мне важнее было найти, где еще есть синтаксическая ошибка.
3. WIREMA 17.03.26 12:51 Сейчас в теме
(2) Добрый день. Столкнулся сегодня этой проблемой. Имеется одна печатня форма и там имеется вызов этой функции. Сейчас вызов этой функции: ТаблицаНачисленийСотрудниковПоВременнойТаблице(МенеджерВременныхТаблиц, ПараметрыВременнойТаблицы, ИспользоватьКраткиеПредставления = Истина, ВыводитьДенежныеПоказателиСВалютой = Ложь, ФормироватьСПериодичностьДень = Истина)
Подскажите как нужно передать параметры в ПараметрыВременнойТаблицы.
4. DenShilyaev 24 17.03.26 12:54 Сейчас в теме
(3) я рекомендую обновить 1С до последней версии. 1С вернули вызов как он был до этого, если это не поможет,
Пришлите номер версии, с которой сейчас работаете, я вспомню, как правильно передать параметры для вызова.
5. WIREMA 17.03.26 12:55 Сейчас в теме
(4) Спасибо. Попробую обновить
6. DenShilyaev 24 17.03.26 12:59 Сейчас в теме
(5) Там в одном случае передается структура
ПараметрыВременнойТаблицы = КадровыйУчет. ПараметрыВременнойТаблицыДляОписанияСоставаНачислений();
ПараметрыВременнойТаблицы.ИмяВТСотрудникиПериоды = "ВТСотрудникиПериоды";
ТаблицаНачислений = КадровыйУчет.ТаблицаНачисленийСотрудниковПоВременнойТаблице(
Запрос.МенеджерВременныхТаблиц,
ПараметрыВременнойТаблицы,
Ложь, Истина);

А в другом, названия
ТаблицаНачислений = КадровыйУчет.ТаблицаНачисленийСотрудниковПоВременнойТаблице(Запрос.МенеджерВременныхТаблиц, "ВТСотрудникиПериоды", , , , Ложь, Истина);
Для отправки сообщения требуется регистрация/авторизация