Формирование отчетных документов в 1С
Легко интегрируйте данные 1С в Р7-Офис для повышения эффективности и точности.
Формирование отчетных документов (интеграция 1С и Р7-Офис для регулярной работы с документами )
1С традиционно формирует отчеты двумя способами:
  • Непосредственно в программе 1С.
  • С помощью автоматизации Windows (COM+), что позволяет управлять MS Office удаленно, используя шаблоны для вставки данных и сохранения документов.
Р7-Офис, будучи мультиплатформенным web-приложением, не поддерживает эти методы автоматизации. Тем не менее, возможны следующие пути решения:

  1. Создание документа с помощью ДокументКонструктор или DocBuilder
  2. Использование внешних SDK для создания и модификации шаблонов документов.
  3. Написание плагина для Р7-Офиса для генерации документов по запросу к серверу 1С.
  4. Использование сервера ретранслятора COM запросов VBA API MS Office в команды API Р7-Офис (com-vba-proxy)
Эти подходы позволяют автоматизировать создание отчетов, аналогично тому, как это делается с MS Office.
Создание документа с помощью ДокументКонструктор или DocBuilder
Для создания документов в Р7-Офис, можно использовать программы ДокументКонструктор (для Linux) или DocBuilder (для Windows). Эти программы позволяют создавать документы с нуля на основе открытых стандартов Office Open XML, которые используются в MS Office.
Варианты использования ДокументКонструктор:
  1. Интеграция библиотек в ваше приложение.
  2. Использование готового программного комплекса для быстрого запуска. Сразу после загрузки программы можно начать работу, запустив её и ознакомившись с примерами использования
Процесс создания документа:
  • Передача файла-скрипта с командами API редактора на вход программы.
  • В случае успешного выполнения скрипта, на выходе получается готовый документ.
  • Возможно редактирование существующих документов, хотя это требует усилий для создания скрипта, который найдет и модифицирует нужные участки документа.
Замечания
  • Полученный документ можно открыть в облачной или десктопной версии Р7-Офис.
  • Для использования этого метода потребуется полная модификация текущего способа формирования отчетов в 1С, так как используемые в 1С скрипты VBA (Visual Basic for Applications) несовместимы с ДокументКонструктор, который использует JavaScript.
Подробную информацию можно найти на сайте разработчиков.
Использование внешних SDK для создания и модификации шаблонов документов
Для создания и модификации документов, построенных по стандартам Office Open XML, можно использовать различные библиотеки, включая open source решения, такие как OfficeMO. Эти библиотеки позволяют генерировать документы, аналогично текущему методу с использованием VBA.
Преимущества использования внешних SDK:
  • Минимальные изменения в коде 1С: Вместо выполнения скриптов внутри 1С, код передается во внешнее приложение.
  • Возможность создания новых и модификации существующих документов: Генерация документов с минимальными изменениями в текущем процессе.
Процесс использования:
  1. Интеграция библиотеки: Создание инструмента на базе внешних SDK и интеграция его с 1С.
  2. Эмуляция вызовов API VBA: Использование библиотеки для эмуляции вызовов API VBA, что позволяет генерировать или модифицировать документы.
  3. Передача документа в Р7-Офис: После создания или модификации, документ можно передавать для дальнейшей работы в Р7-Офис.
Этот метод позволяет продолжать использовать привычные подходы к созданию отчетов, минимизируя необходимость значительных изменений в существующем коде 1С.
Написание плагина для Р7-Офиса для генерации документов по запросу к серверу 1С
Разработка плагина для Р7-Офиса, который будет генерировать или модифицировать документы отчетов, запрашивая данные с сервера 1С через web-доступ.
Преимущества:
  • Возможность создания параллельной системы, работающей вместе с текущей на MS Office.
  • Гибкость в настройке и модификации отчетов.
Процесс реализации:
  1. Настройка 1С:
  • Настроить 1С для формирования и предоставления данных по запросу от плагина.
2 Разработка плагина:
  • Создание основного плагина, включающего типовые функции: транспорт к 1С, обработка данных, пользовательский интерфейс.
  • Разработка специализированных плагинов для различных типов отчетов.
3 Генерация документов:
  • Плагин запрашивает данные с сервера 1С.
  • Полученные данные используются для создания или модификации документа прямо в редакторе Р7-Офиса.
Особенности:
  • Потребуется значительная переделка существующей системы отчетности.
  • Базовая часть плагинов (транспорт к 1С, обработка данных, интерфейс) может быть разработана один раз и использоваться для создания специализированных плагинов.
  • Этот метод позволяет работать параллельно с текущей системой, обеспечивая постепенный переход от MS Office к Р7-Офис.
Этот подход, хотя и требует серьезных изменений в существующей системе, предоставляет гибкость и возможность постепенного перехода к использованию Р7-Офис, сохраняя при этом текущую функциональность на период миграции.
Сервер ретранслятор COM запросов VBA API MS Office в команды API Р7-Офис
Описание подхода: Создание прокси-сервера, который будет трансформировать запросы API VBA MS Office в команды API Р7-Офис. Этот сервер будет взаимодействовать как с 1С, так и с Р7-Офис, используя специальный сервисный плагин, чтобы обрабатывать и генерировать документы.
Преимущества:
  • Относительно небольшая переделка на стороне 1С.
  • Возможность использовать существующие VBA скрипты для генерации документов в Р7-Офис.
Процесс реализации:
1 Разработка прокси-сервера:
  • Создание сервера, который будет принимать запросы API VBA MS Office и преобразовывать их в команды API Р7-Офис.
  • Подключение 1С и Р7-Офис к этому серверу.
2 Сервисный плагин для Р7-Офис:
  • Разработка плагина, который будет получать команды от прокси-сервера, генерировать или модифицировать документы по шаблону.
Особенности:
  • Сложность создания прокси-сервера, особенно под Linux.
  • Возможны проблемы с надежностью данного метода.
  • Сложный процесс трансляции команд API VBA в команды API Р7-Офис.
Этот метод позволяет минимизировать изменения в системе 1С, но требует значительных усилий для создания надежного и стабильного прокси-сервера. Тем не менее, он предоставляет возможность использовать существующие VBA скрипты для работы с Р7-Офис, что может быть полезно при постепенном переходе от MS Office.