2022-12-29 13:42:39 +05:00
2022-12-29 13:42:39 +05:00
2022-12-29 13:42:39 +05:00
2022-06-02 00:24:33 +05:00
2022-05-11 16:22:20 +05:00
2021-11-09 10:49:47 +05:00
2021-07-26 15:00:39 +05:00

DOCS report

Функционал

Позволяет добавлять в модель отчётов в качестве шаблона-источника файлы формата docx. Получить отчёты на основе такого шаблона можно в формате docx или pdf. На данный момент одновременное создание нескольких отчетов не поддерживается.

Для преобразования docx -> pdf требуется доступный сервис gotenberg на localhost:8808. Пример запуска сервиса в docker-compose рядом с Odoo:

gotenberg:
    image: thecodingmachine/gotenberg:6
    restart: unless-stopped
    environment:
        LOG_LEVEL: INFO
        DEFAULT_LISTEN_PORT: 8808
        DISABLE_GOOGLE_CHROME: 1
        DEFAULT_WAIT_TIMEOUT: 30
        MAXIMUM_WAIT_TIMEOUT: 60

Создание отчета

Создание отчета выполняется аналогично стандартной процедуре Odoo:

  1. В Settings -> Technical -> Reports нужно создать новую запись. В записи отчета выбрать один из новых типов: "DOCX" или "DOCX(PDF)". Поле "Template name" заполнять не нужно, а вместо этого загрузить docx файл отчета. Все остальные поля заполняются так же, как и в стандартных отчетах Odoo.
  2. Если в шаблоне отчета применены кастомные поля, то нужно их создать на вкладке "Сustom fields".
  3. В записи указанной модели, в меню печати, появится дополнительный пункт с названием созданного отчета. По нажатию на него отобразится визард, в котором можно проверить значения кастомных полей перед генерацией файла отчета.
  4. При генерации отчета с портала файл генерируется без отображения визарда.

Создание шаблонов

  1. Шаблоны можно создавать в любом текстовом редакторе, поддерживающем формат docx.
  2. Всё форматирование шаблона сохраняется в генерируемом отчете.
  3. Для вставки переменных используются двойные фигурные скобки.
  4. Доступ к записи Odoo, для которой вызвана генерация отчета, выполняется через переменную "docs", обращение к атрибутам и методам как в Оду: {{ docs.attribute_name }}
  5. Возможен вызов методов, имеющихся у записи в "docs", или переданных в контекст отчета.
  6. По умолчанию в контексте отчета присутствуют методы модуля "report_monetary_helper", которые могут быть вызваны непосредственно по имени.
  7. Так же в контексте отчета могут присутствовать кастомные поля. Такие поля должны быть созданы в записи отчета. В шаблоне кастомные поля доступны по имени, указанному в поле "tech_name" записи кастомного поля.
Description
Doxc_report module
Readme 7.9 MiB
Languages
Python 57.2%
HTML 38.8%
JavaScript 3.8%
CSS 0.2%