Odoo: как редактировать макет счета / цитаты CSS - PullRequest
1 голос
/ 24 апреля 2020

Мы строим установку Odoo 13 EE / CE и хотели бы внести небольшие изменения в PDF-предложения и счета. Есть небольшие проблемы, которые было бы довольно просто исправить с помощью редактирования файла CSS. Это:

  • Увеличение размера клиента lo go (левый верхний угол)
  • Уменьшение размера шрифта имени и адреса отправителя при их переносе на несколько строк
  • Исправление слишком маленькой текстовой области, где имя и адрес получателя. Измените его расположение в среднем правом углу (над цитатой # S000003)
  • Добавление стиля для общих c условий (мелкий шрифт)

С Settings -> General -> Business Documents -> Layout, мы видим, что этот PDF-файл использует external_layout_standard QView, и мы можем получить доступ к архитектуре XML этого отчета. Однако редактирование этого представления в качестве администратора Odoo не позволяет получить доступ к CSS файлам, где мы могли бы изменять <DIV class> атрибуты, такие как размер шрифта и размер элемента.

Этот сервер размещен на Odoo. sh платформа, поэтому у нас нет доступа к файловой системе . Мы можем либо изменить системные параметры, либо создать совершенно новое расширение. Последнее кажется немного излишним, потому что изменения настолько малы, и нам действительно нужно go и изменить все сгенерированные Odoo PDF-файлы, такие как цитаты, подтверждения заказов, заказы на покупку, заказы на ремонт и т. Д. c. et c.

Итак, кто-нибудь может посоветовать, как правильно изменить эти сгенерированные Odoo PDF-файлы и как получить доступ к их CSS?

Снимки экрана, иллюстрирующие проблему:

https://snipboard.io/9UYmBd.jpg

enter image description here https://snipboard.io/8pIjB9.jpg

enter image description here

Ответы [ 3 ]

1 голос
/ 25 апреля 2020

Спасибо @ Ex4 за идею. Быстрое и грязное решение - добавить атрибут стиля для разделов DIV. Это вряд ли идеальное решение, но оно решает промежуточную проблему.

Чтобы применить QnD-решение, выполните шаги:

  1. Settings с включенным режимом разработчика - > Edit document layout в разделе Бизнес-документы

  2. Искать раздел

<div class="col-6" name="company_address">
    <div t-field="company.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/>
</div>

Добавить атрибут стиля (style="font-size:14px") для внутреннего <div> :

<div class="col-6" name="company_address">
    <div t-field="company.partner_id" style="font-size:14px" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/>
</div>
Изменяет размер шрифта адреса компании отправителя. Нам все еще нужно изменить размер шрифта адреса получателя. Перейдите на Settings -> Technical -> Views (в интерфейсе пользователя) Поиск address_layout Добавьте тот же стиль attbute (style="font-size:14px") для секции:
<div style="font-size:14px" name="address" t-att-class="colclass">
    <t t-raw="address"/>
</div>

Конечный результат - не самая красивая раскладка в мире, но она работает: https://snipboard.io/oDicR7.jpg

Правильный способ, по-видимому, заключается в том, чтобы унаследовать «account.report_invoice_document», а затем изменить код шаблона. Так что это невозможно только с интерфейсом администратора Odoo. Требуется написать небольшое расширение.

1 голос
/ 25 апреля 2020

У меня тоже была эта проблема, и благодаря Осси Мантилахти, который указал мне на эту тему, мне удалось изменить формат адреса, а также документы заказа и PDF-документы RFQ, чтобы сделать их более приемлемыми

Изменить этот файл для заказов на поставку Технический -> Представления -> report_purchaseorder_document Найдите раздел

Запрос предложения #
        <h4 t-if="o.state in ['sent', 'to approve']">Purchase Order #<span t-field="o.name"/></h4>
        <h4 t-if="o.state in ['purchase', 'done']">Purchase Order #<span t-field="o.name"/></h4>
        <h4 t-if="o.state == 'cancel'">Cancelled Purchase Order #<span t-field="o.name"/></h4>

Для запросов на изменение предложения -> report_purchasequotation_document Запрос предложения

Обратите внимание, что эти теги заголовка были h2's

0 голосов
/ 24 апреля 2020

Как быстрое и грязное решение, не могли бы вы просто присвоить элементу style атрибут.

Насколько я знаю, вы не можете изменить CSS из пользовательского интерфейса. Вы должны создать пользовательский модуль и установить его вместо этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...