Загрузка...

5.17. Действие Экспорт в файл

Действие «Экспорт в файл» предназначено для выгрузки данных из системы Documentov в файлы различных форматов. Действие может запускаться как через кнопки журнала и документа, так и через маршрут.

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

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

/var/www/documentov/system/storage/download/export_f/USER_UID/export_1.xlsx

Наиболее оптимальным вариантом является использование файлового поля, у которого есть метод «Добавить файл из файловой системы». При помощи этого метода файл будет загружен в поле и с ним можно будет работать так же, как и с обычными файлами, загруженными пользователями. 

Методы поля для записи результата не настраиваются в данном случае; методу просто передается пусть к файлу. Если у метода есть какие-то дополнительные параметры, их нельзя настроить и каждое поле будет использовать значения параметров по умолчанию.

 Название файла можно указать на вкладке Дополнительное настроек действия.

Действие позволяет выгружать данные из системы в файлы четырех форматов:

• XLSX

• CSV

• DOCX

• PDF

Выбор типа файла осуществляется в соответствующем списке, расположенном в верхней части формы настройки действия.

Каждому типу файла соответствуют собственные настройки. 

XLSX

Выгрузка в XLSX-файл осуществляется при помощи предварительно подготовленного файла-шаблона. Этот файл может быть подготовлен при помощи программ Microsoft Excel, LybreOffice Calc и т. п. Шаблон применяется для того, чтобы определить внешний вид итогового документа, указать месторасположение всех данных, задать формулы и т. п.

Например, в ячейке B2 шаблона можно ввести фразу «Название контрагента», а при настройке действия выполнить запись в ячейку C2 значение поля «Контрагент» экспортируемого документа.

Созданный шаблон необходимо сохранить в формате XLSX и добавить полученный файл в какое-либо (файловое) поле документа. Это поле следует выбрать в параметре «Файл xlsx с шаблоном» действия. Следует отметить, что поле должно возвращать полный путь к файлу в файловой системе сервера. Поэтому в качестве источника можно использовать, например, строковое поле, в которое записать  полный путь к файлу, размещенному на сервере, либо применить файловое поле с методом «Получить полный путь каждого файла в поле» (этот метод возвращает полные пути ко всем файлам в поле; если в поле будет несколько файлов, действие будет использовать первый из них).

Основная настройка действия для экспорта в XLSX заключается в настройке таблицы, которая определяет сопоставление строк и полей XLSX файла-шаблона с полями документа (документов), которые должны быть выгружены. При помощи кнопки «Добавить строку» можно добавить строку в эту таблицу и указать ее номер, который должен соответствовать номеру строки XLSX-файла-шаблона. Например, для выгрузки в ячейку C2 значения поля «Контрагент» текущего документа следует добавить строку с номером 2, после чего нажать на кнопку добавления столбца в виде знака +. В открывшемся окне необходимо ввести идентификатор столбца C, выбрать поле документа с названием проекта и метод при необходимости.

Описанным образом необходимо добавить все строки и столбцы, которые должны быть выведены в XLSX-файл.

При добавлении строк можно определить источник данных. По умолчанию, в качестве источника используются поля текущего документа. Но можно использовать и целую группу документов. Эти документы должны находиться в каком-либо поле текущего документа (например, ссылочном поле, в которое предварительно был записан результат выполнения действия Выборка). При выборе такого варианта потребуется указать дополнительно тип этих документов. Когда будет осуществляться экспорт в файл, действие будет для каждого такого документа создавать новую строку в XLSX-файле. Например, начиная с 4 строки XLSX-шаблона планируется разместить таблицу с договорами выбранного контрагента. Предварительно, в ссылочное поле Договоры при помощи действия Выборка будет записаны все договоры данного контрагента. В действии «Экспорт в файл» добавляется строка с номером 4, в качестве источника данных выбираются «Документы из поля текущего документа», выбирается упомянутое поле с результатами выборки и указывается тип документа "Договор". Затем добавляются столбцы, скажем, A - номер договора, B - дата договора и т.п. В итоговом XLSX-файле будет размещена таблица, которая займет область, начиная с ячейки A4 и заканчивая ячейкой B(кол-во договоров + 4). Кстати, если ниже этой таблицы планируется выгрузка еще каких-то данных, совсем необязательно учитывать количество строк, которые займет таблица договоров. То есть в 4 строке размещается описанная таблица, а в 5 строке можно размещать следующие данные - при формировании итогового файла действие само просчитает все необходимые смещения.

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

CSV

Чтобы выгрузить данные в текстовый файл с разделителями запятыми, следует в типе файлов выбрать CSV формат. Настройки этого формата аналогичны настройкам, описанным выше для экспорта в XLSX, за исключением отсутствия предварительно подготавливаемого шаблона и буквенных индексов столбцов -  здесь указывается текстовое название заголовка, которое будет размещено в первой строке CSV-файла. Этот заголовок можно и опустить, и тогда в CSV-файле не будет заголовка. 

DOCX

Для настройки выгрузки в формат DOCX используется стандартный шаблон с WYSIWYG-редактором, в котором можно форматировать текст, добавлять поля и переменные.  Если экспорт запускается из документа, то выгрузить можно только текущий документ. Если экспорт используется в журнале, то будут выгружены все выбранные пользователем документы.

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

PDF

Настройка этого формата полностью аналогична настройке формата DOCX. При экспорте в PDF можно использовать стили CSS, включая внешние.

Установка действия

В процессе установки действия может потребовать установка прав на каталоги в папке system/library/composer/vendor/phpoffice. Кроме того, может понадобиться установка дополнительного модуля php-tidy.

Внимание!

Действие «Экспорт в файл» является платным, не включено в стандартный дистрибутив системы и распространяется на условиях лицензии Documentov License. Посмотреть действие в работе можно в облачном Documentov'е, узнать цену здесь.