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

15.12.25

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

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

Файлы

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

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

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

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

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

После обновления 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    54031    297    147    

271

SALE! %

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

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

16500 15500 руб.

02.09.2020    235507    1286    419    

1099

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

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

15000 руб.

25.08.2025    31542    71    12    

81

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

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

22200 руб.

06.10.2023    32350    83    30    

107

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

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

9500 руб.

17.05.2024    45502    163    63    

200

SALE! %

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

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

17000 16000 руб.

10.11.2023    22371    83    42    

97

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36000 руб.

28.08.2025    4284    1    2    

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

Мне важнее было найти, где еще есть синтаксическая ошибка.
Для отправки сообщения требуется регистрация/авторизация