Пакетная выгрузка / загрузка внешних отчетов и обработок

Публикация № 1142321

Разработка - Обработки - Менеджеры внешних отчетов

внешняя обработка отчет инструмент выгрузка загрузка универсальная рефакторинг

Пакетная выгрузка / загрузка внешних отчетов и обработок для массовый манипуляций с ними.

Назначение и возможности

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

В статье "Как быстро выгрузить / загрузить внешние отчеты и обработки" были рассмотрены примеры как это сделать в простых случаях. Основываясь на таком же принципе был сделан этот инструмент для автоматизации выгрузки и загрузки внешних отчетов и обработок.

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

Основные возможности инструмента:

  • Массовая выгрузка дополнительных отчетов и обработок в заданный каталог
  • Массовая загрузка внешних отчетов и обработок из каталога (только обновление существующих объектов из файлов без создания новых элементов справочника).
  • Установка произвольных фильтров на выгружаемые обработки
  • Точное сопоставление ранее выгруженных обработок с элементами справочника при загрузке (если выгрузка выполнялась этим инструментом).
  • Механизм регистрации внешних отчетов и обработок БСП при загрузке.
  • Возможность ручного сопоставления файлов из каталога с элементами справочника при загрузке.
  • Выбор контекста, где находится каталог с обработками (клиент или сервер).
  • Поддержка только управляемого приложения. В обычном приложении обработку можно использовать, только встроив ее в конфигурацию.
  • Поддержка практически всех современных конфигураций на базе БСП, а также некоторых устаревших решений (УПП 1.3, УТ 10.3 или Бухгалтерия предприятия 2.0). Главное, чтобы было запущено управляемое приложение или обработка была встроена в конфигурации с возможностью использования управляемых форм в обычном приложении.
  • Решение также поддерживает несколько "самописных" конфигураций, но не гарантируется, что оно будет работать на каком-то Вашем эксклюзивном решении.

При выгрузке учитываются такие особенности как:

  • Одинаковые имена отчета или обработки, прикрепленного к разным элементам справочника.
  • Отсутствие двоичных данных в хранилище элемента справочника (да и такое бывает).
  • Делается точно сопоставление справочника с выгружаемыми файлами (связка делается через создаваемый файл "config.json").
  • Если файл точного сопоставления отсутствует, то поиск идет по имени.

В дополнительных настройках есть возможность включить / отключить (если она доступна в конфигурации) функционал регистрации внешних отчетов и обработок БСП.

Рассмотрим несколько кейсов использования этого инструмента.

Примеры использования

Самые популярные задачи, которые можно решить с помощью инструмента пакетной выгрузки / загрузки.

 
 Изменение общего модуля при обновлении релиза
 
 Рефакторинг внешних отчетов и обработок
 
 Актуализация обработок на тестовой базе

Конечно, это не полный список. Есть идеи? Тогда добро пожаловать в комментарии.

Напоследок

Нашли баги, ошибки или есть предложения? Это отлично! Не стесняйтесь давать обратную связь.

 
 История изменений

Другие авторские разработки

Другие ссылки

Скачать файлы

Наименование Файл Версия Размер
Пакетная выгрузка / загрузка внешних отчетов и обработок:

.epf 38,23Kb
02.11.19
29
.epf 1.0.0.1 38,23Kb 29 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. the1 584 04.11.19 22:39 Сейчас в теме
Сообщения выдает? Что обновлено, что пропущено?
YPermitin; +1 Ответить
2. YPermitin 9073 05.11.19 05:53 Сейчас в теме
(1) сейчас только при возникновении ошибок выдает сообщения.
Но можно на будущее дописать и сделать какие-то уведомления.
3. the1 584 05.11.19 19:51 Сейчас в теме
При загрузке напрашивается сопоставление по имени файла, если нет config.json. Прощелкивать несколько десятков строк весьма муторно, а конфиг лень писать.
YPermitin; +1 Ответить
4. YPermitin 9073 05.11.19 20:25 Сейчас в теме
(3) на начальном этапе я планировал добавить поиск по имени файла, но в итоге отказался. Сделал поиск по реквизиту "Имя объекта" и "Наименование" по имени файла (без расширения). Причина была в том, что обычно разработчики меняют имена файлов и поиск по нему не срабатывает.

Но Вас услышал, добавлю дополнительно поиск по реквизиту "Имя файла" как последнюю попытку сопоставить с ссылкой справочника файл обработки. Постараюсь добавить изменения до конца недели.
freelancer; the1; +2 Ответить
5. the1 584 05.11.19 20:32 Сейчас в теме
(4) Ну, у меня и по имени объекта поиск не сработал. Завтра повнимательнее посмотрю
6. the1 584 06.11.19 12:38 Сейчас в теме
(4) Посмотрел. У Вас там имя объекта берется из имени файла без расширения, а надо из метаданных отчета/обработки. Поэтому у меня ни один элемент не сопоставился, т.к. файл называется "ВОТ_Отчет", а имя его - "Отчет"
8. YPermitin 9073 06.11.19 13:25 Сейчас в теме
(6) все так.

При выгрузке имена файлов как-раз формируются по имени облектов. Вы, есди правильно понимаю, загружает файлы, которые выгружались другим способом.

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

Записал себе на будущее.
10. the1 584 06.11.19 13:59 Сейчас в теме
(8) Да, загружаю просто из папки
11. YPermitin 9073 06.11.19 14:19 Сейчас в теме
(10) пока только могу порекомендовать выгрузку делать с формированием служебного файла config. Тогда соответствие будет 1 в 1.

Когда доработаю утилиту, то отдам Вам на тест.
7. the1 584 06.11.19 12:52 Сейчас в теме
Еще пожелание - при загрузке обновлять регистрационные данные из функции СведенияОВнешнейОбработке модуля внешней обработки - версия, информация, команды и проч.
9. YPermitin 9073 06.11.19 13:25 Сейчас в теме
12. Mortiferus 334 07.11.19 09:13 Сейчас в теме
Есть 6 филиалов, в которых ручками приходится обновлять внешние печатные формы или отчеты, все никак руки не доходят сделать, чтобы во всех базах обновлялось "одной кнопкой". Возможно такое?
YPermitin; +1 Ответить
15. YPermitin 9073 09.11.19 13:39 Сейчас в теме
(12) возможно, но для этого нужно значительно больше изменений, чем такая простая обработка.
22. kembrik 3 17.01.20 19:43 Сейчас в теме
(12) Сейчас решаю данный вопрос при помощи "Обновлятора" и скрипта на OneScript, достаточно удобно получается
13. acsent 1151 08.11.19 22:49 Сейчас в теме
по папкам загружать выгружать автоматом умеет?
YPermitin; +1 Ответить
14. YPermitin 9073 09.11.19 13:39 Сейчас в теме
(13) если имеете ввиду можно ли выгрузить отдельную папку, то да. В фильтре при выгрузке укажите "Ссылка В Группе <Ваше значение>" и выгрузятся только обработки из этой папки. Так можно каждую папку в отдельный каталог на диске выгрузить и с ними работать.

Сами же папки не выгружаются.
16. acsent 1151 10.11.19 15:10 Сейчас в теме
(14) Хотелось что бы все вот это само по 1 клику
17. YPermitin 9073 11.11.19 09:54 Сейчас в теме
(16) записал себе сделать для следующей версии.
18. triviumfan 21 18.11.19 22:10 Сейчас в теме
Статья на тему как выгрузить внешние обработки (в 3 строчки кода)?!
Юрий, не ожидал...
19. YPermitin 9073 19.11.19 03:54 Сейчас в теме
20. triviumfan 21 19.11.19 09:04 Сейчас в теме
(19)
Выборка = Справочники.СправочникВнешнихОбработок.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.Хранилище.Получить().Записать(ПутьКФайлу);
КонецЦикла;
21. YPermitin 9073 19.11.19 09:14 Сейчас в теме
(20) решение в лоб с высокой долей самоуверенностью.

А если на клиент сохранить?
А если имена файлов одинаковые?
А как загрузить обратно с точным сопоставлением?
А как выгрузить только часть по условиям?

Вообщем, не понял Вас совсем.
Оставьте свое сообщение

См. также

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    2183    YPermitin    12    

Как найти неиспользуемый код

Практика программирования v8 1cv8.cf Бесплатно (free)

Описание нескольких способов поиска и определения неиспользуемого кода

03.08.2020    2271    YPermitin    23    

Регистры бухгалтерии. Виртуальная таблица оборотов

Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Бесплатно (free)

Виртуальная таблица оборотов регистра бухгалтерии. Принцип работы, особенности и кое-что еще.

28.07.2020    2694    YPermitin    10    

Вы запускаете приложения, но делаете это без уважения

Практика программирования v8 1cv8.cf Бесплатно (free)

О запуске сторонних приложений и скриптов из кода встроенного языка платформы 1С.

21.07.2020    4353    YPermitin    29    

Полнотекстовый поиск в 1С. №1 Грабли в динамических списках

Поиск данных v8 1cv8.cf Бесплатно (free)

Полнотекстовый поиск в 1С и все что с этим связано. Часть №1: особенности работы в динамических списках.

18.07.2020    3432    YPermitin    18    

Как сломать работу 1С, будучи пользователем

Пользователю системы v8 Бесплатно (free)

Шуточные и не только истории, как сломать работу 1С на пустом месте. И, возможно, остановить работу компании.

14.06.2020    6107    YPermitin    50    

Работа с журналом регистрации. Выходим за границы платформы

Журнал регистрации Бесплатно (free)

Работа с журналом регистрации нестандартными средствами. А также немного про использование платформы .NET в экосистеме 1С.

12.05.2020    5030    YPermitin    24    

Совместимость работы со строками. Жизнь до 8.3.6 и после

Практика программирования v8 Бесплатно (free)

Немного о совместимости со старыми версиям платформы 1С в работе со строками.

21.02.2020    5398    YPermitin    24    

Код разработчика в зависимости от опыта работы

Практика программирования v8 Бесплатно (free)

Пятничный пост! Как меняется код разработчика в зависимости от опыта работы.

14.02.2020    9931    YPermitin    227    

Активный 2019 год на Инфостарт

О сообществе О жизни Бесплатно (free)

О прошедшем 2019 годе в 100 и 500 словах.

26.12.2019    5739    YPermitin    24    

Итоги года. Статистика выпуска релизов фирмы "1С"

Пользователю системы Бесплатно (free)

Статистика выпуска релизов фирмы "1С" за прошедший год.

16.12.2019    6724    YPermitin    29    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    16262    YPermitin    72    

Самые распространенные заблуждения об индексах в мире 1С

Администрирование данных 1С Администрирование СУБД Бесплатно (free)

"Магия" индексов привела к множеству заблуждений об их работе. Попробуем развеять некоторые из них в контексте 1С.

28.11.2019    19400    YPermitin    44    

Простейший пример создания бизнес-процессов

Практика программирования Управление бизнес-процессами (BPM) v8::Бизнес-процессы 1cv8.cf Бесплатно (free)

Простой пример создания бизнес-процессов в несколько шагов. Может пригодиться при первом знакомстве с ними или для решении задач экзамена 1С:Специалист по платформе.

20.11.2019    13964    YPermitin    18    

"При изменении" подсистемы. Привет от 8.2!

Практика программирования v8 1cv8.cf Бесплатно (free)

Отлавливаем событие "При изменении" подсистемы.

14.11.2019    6322    YPermitin    13    

Как быстро выгрузить / загрузить внешние отчеты и обработки

Практика программирования v8 1cv8.cf Бесплатно (free)

Немного о массовой выгрузке и загрузке внешних отчетов и обработок.

12.11.2019    6225    YPermitin    14    

Стабильность превыше всего

Рефакторинг и качество кода v8 Бесплатно (free)

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

07.11.2019    9301    YPermitin    40    

Набор скриптов для знакомства с PostgreSQL

Администрирование СУБД Бесплатно (free)

Немного скриптов для PostgreSQL, позволяющих познакомиться с состоянием сервера.

04.11.2019    13538    YPermitin    18    

Анализ производительности APDEX

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    10534    2    YPermitin    7    

1C:Syntax Highlighter (раскраска синтаксиса языка 1С)

Разработка внешних компонент Бесплатно (free)

Расширение библиотеки SyntaxHighlighter для раскраски языка 1С в веб-приложениях.

25.01.2016    8746    YPermitin    14