2021-05-21 04:25:00 +04:00
|
|
|
|
# DOCS report
|
2021-07-26 15:00:39 +05:00
|
|
|
|
Функционал
|
2021-07-26 13:37:54 +05:00
|
|
|
|
|
2021-07-26 13:41:35 +05:00
|
|
|
|
Позволяет добавлять в модель отчётов в качестве шаблона-источника файлы формата docx.
|
|
|
|
|
Получить отчёты на основе такого шаблона можно в формате docx или pdf.
|
2021-07-26 15:00:39 +05:00
|
|
|
|
На данный момент одновременное создание нескольких отчетов не поддерживается.
|
|
|
|
|
|
2021-07-26 13:41:35 +05:00
|
|
|
|
Для преобразования docx -> pdf требуется доступный сервис gotenberg на localhost:8808.
|
2021-07-20 14:45:04 +04:00
|
|
|
|
Пример запуска сервиса в docker-compose рядом с Odoo:
|
2021-07-26 13:37:54 +05:00
|
|
|
|
|
2021-07-20 14:45:04 +04:00
|
|
|
|
```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
|
|
|
|
|
```
|
2021-07-26 15:00:39 +05:00
|
|
|
|
|
|
|
|
|
Создание отчета
|
|
|
|
|
|
|
|
|
|
Создание отчета выполняется аналогично стандартной процедуре 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" записи кастомного поля.
|