2021-07-26 15:00:39 +05:00

53 lines
3.7 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DOCS report
Функционал
Позволяет добавлять в модель отчётов в качестве шаблона-источника файлы формата docx.
Получить отчёты на основе такого шаблона можно в формате docx или pdf.
На данный момент одновременное создание нескольких отчетов не поддерживается.
Для преобразования docx -> pdf требуется доступный сервис gotenberg на localhost:8808.
Пример запуска сервиса в docker-compose рядом с Odoo:
```yaml
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" записи кастомного поля.