Toggle navigation

Представления - Odoo 11.0

Общая структура

Объекты представлений являют собой набор полей в специальной модели данных, они являются необязательными, если явно не указано иное.

name (обязательно)

полезно только в качестве мнемоники/человекочитаемого описания представления для обращения к конкретному представлению среди множества подобных

model

модель данных, связанная с представлением, если такое возможно (это не относится к представлениям QWeb)

priority

клиентские программы могут запрашивать представления с помощью id или (model, type). Для последнего будут найдены все виды для правильного типа и модели данных, и будет возвращен номер с самым низким номером priority (это и будет «представление по умолчанию»).

priority также определяет порядок применения во время: ref:view inheritance <reference/views/inheritance>

arch

описание шаблона представления

groups_id

: Класс: поле ~ odoo.fields.Many2many для групп, разрешенных для просмотра / использования текущего представления

inherit_id

идентификатор родительского представления, см Наследование., по умолчанию не используется

mode

механизм наследования, см. Наследование.. Если inherit_id снят, mode может быть только primary. Если inherit_id установлен, то по умолчанию будет назначен механизм extension, но может быть явно установлен в primary

application

функция веб-сайта, определяющая переключение представлений. По умолчанию представления всегда применяются

Наследование.

Соответствие представления

  • если представление запрашивается (model, type), то идет сопоставление с правильной моделью и типом, mode = primary с самым низким приоритетом

  • когда представление запрашивается по id, если его режим не является primary, то сопоставляется его ближайший родитель с режимом primary

Показать разрешение

Разрешение генерирует окончательный `` arch`` для запрошенного / согласованного `` первичного`` вида:

  1. Если представление имеет родительский элемент, родительский элемент полностью разрешен, то применяются наследующие спецификации текущего представления

  2. Если у представления нет родителя, его `` арка`` используется как есть

  3. Просматриваются дочерние элементы текущего представления с режимом `` extension``, и их спецификации наследования применяются к глубине (применяется дочерний вид, затем его потомки, а затем его братья и сестры)

Результатом применения представлений дочерних элементов является окончательная `` арка``

Параметры наследования

Спецификации наследования состоят из локатора элемента, для сопоставления унаследованного элемента в родительском представлении и дочернего элемента, который будет использоваться для изменения унаследованного элемента.

Существует три типа локаторов элементов для соответствия целевому элементу:

  • Элемент `` xpath`` с атрибутом `` expr``. `` Expr`` - выражение XPath [#hasclass] _, примененное к текущей `` arch``, первый узел, который он находит, является совпадением

  • Элемент `` field`` с атрибутом `` name``, соответствует первому `` полюсу`` с тем же `` name``. Все остальные атрибуты игнорируются при совпадении

  • Любой другой элемент: первый элемент с тем же именем и идентичными атрибутами (игнорируя атрибуты `` position`` и `` version``) сопоставляется

Спецификация наследования может иметь необязательный атрибут `` position``, определяющий, как должен быть изменен согласованный узел:

`` Внутри`` (по умолчанию)

Содержимое спецификации наследования добавляется к согласованному узлу

replace

Содержимое спецификации наследования заменяет согласованный узел. Любой текстовый узел, содержащий только `` $ 0`` в содержимом спецификации, будет заменен полной копией согласованного узла, эффективно обертывая согласованный узел.

after

Содержимое спецификации наследования добавляется к родительскому элементу сопоставленного узла после того, как соответствующий узел

before

Содержимое спецификации наследования добавляется к родительскому элементу сопоставленного узла, перед согласованным узлом

Атрибуты:

В спецификации наследования должны быть элементы `` атрибута`` с атрибутом `` name`` и необязательным телом:

  • Если у элемента `` attribute`` есть тело, на соответствующем узле создается новый атрибут, названный по имени его `` name``, с текстом элемента `` attribute`` как значением

  • Если у элемента `` attribute`` нет тела, атрибут, названный после его `` name``, удаляется из согласованного узла. Если такой атрибут отсутствует, возникает ошибка

Спецификации представления применяются последовательно.

Списки

Корневым элементом представлений списков является `` <дерево> `` [#treehistory] _. Корень списка может иметь следующие атрибуты:

Редактируемое

По умолчанию выбор строки представления списка открывает соответствующее: ref: form view <reference / views / form>. Атрибуты `` editable`` делают просмотр списка себя редактируемым на месте.

Допустимыми значениями являются `` top`` и `` bottom``, в результате чего * новые * записи появляются соответственно в верхней или нижней части списка.

Архитектура для inline: ref: вид формы <reference / views / form> выводится из представления списка. Большинство атрибутов, действительных в полях и кнопках ref: form view <reference / views / form>, таким образом, принимаются представлениями списков, хотя они могут и не иметь никакого значения, если представление списка не редактируется

По умолчанию Заказать

Переопределяет порядок представления, заменяя порядок по умолчанию для модели. Значение представляет собой список полей, разделенных запятой, с пометкой `` desc`` для сортировки в обратном порядке:

<tree default_order="sequence,name desc">
Цвета:

Не рекомендуется, начиная с версии 9.0: Заменено на `` decoration - {$ name} ``

11 Шрифты 225

Не рекомендуется, начиная с версии 9.0: Заменено на `` decoration - {$ name} ``

`` Украшения - {$ имя} ``

Позволяют изменять стиль текста строки на основе атрибутов соответствующей записи.

Значения - это выражения Python. Для каждой записи выражение оценивается с атрибутами записи как значения контекста и если `` true``, соответствующий стиль применяется к строке. Другими контекстными значениями являются uid` (id текущего пользователя) и` current_date` (текущая дата в виде строки формы` yyyy-MM-dd`).

`` {$ Name} `` может быть `` bf`` (font-weight: bold`),` it` (` font-style: italic``) или любой контекстный цвет начальной загрузки <Http://getbootstrap.com/components/#available-variations> `_ ( опасность`,` информация`,` приглушенный`,` первичный`,` успех` или` warning`).

`` Create``, `` edit``, `` delete``

Позволяет * dis * изменять соответствующее действие в представлении, устанавливая соответствующий атрибут на `` false``

limit
the default size of a page. It should be a positive integer
`` On_write``

Имеет смысл только в списке `` editable``. Должно быть именем метода в модели списка. Метод будет вызываться с `` id`` записи после создания или редактирования этой записи (в базе данных).

Метод должен возвращать список идентификаторов других записей для загрузки или обновления.

Стринг

Альтернативный переводимый ярлык для представления

Не рекомендуется, начиная с версии 8.0: Больше не отображается

Возможными дочерними элементами представления списка являются:

Кнопка

Отображает кнопку в ячейке списка

Знак

Значок для отображения кнопки

Стринг
  • Если «значок» отсутствует, текст кнопки

  • Если есть текст `` icon``, `` alt`` для значка

type

Тип кнопки, указывает, как это нажатие влияет на Odoo:

1.1 Цель

Вызовите метод в модели списка. «Имя» кнопки - это метод, который вызывается с идентификатором записи текущей строки и текущим контекстом.

action

Загрузите выполнение `` ir.actions``, `` имя`` кнопки - это идентификатор базы данных действия. Контекст расширяется с помощью модели списка (как `` active_model``), записи текущей строки (`` active_id``) и всех записей, загружаемых в данный момент в списке (`` active_ids``, может быть просто подмножеством Записи базы данных, соответствующие текущему поиску)

name

См. `` Тип``

args

См. `` Тип``

`` attrs``

Динамические атрибуты, основанные на значениях записи.

Отображение атрибутов в доменах, доменах оценивается в контексте записи текущей строки, если «Истина», соответствующий атрибут задан в ячейке.

Possible attribute is invisible (hides the button).

Области

Стенография для `` невидимого`` `` attrs``: список состояний, разделенных запятой, требует, чтобы модель имела поле `` state`` и что она используется в представлении.

Делает кнопку `` невидимой``, если запись * не * в одном из перечисленных состояний

context

Сливается с контекстом представления при выполнении вызова Odoo на кнопке

подтвердить

Подтверждающее сообщение для отображения (и для пользователя, чтобы принять) перед выполнением вызова Odoo на кнопке

field

Определяет столбец, в котором соответствующее поле должно отображаться для каждой записи. Может использовать следующие атрибуты:

name

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

Стринг

Заголовок столбца поля (по умолчанию используется `` строка`` поля модели)

Невидимый

Выбирает и сохраняет поле, но не отображает столбец в таблице. Необходимо для полей, которые не должны отображаться, но используются, например, `` @ colors``

groups

Перечислены группы, которые должны быть в состоянии видеть поле

Виджет

Альтернативные представления для отображения поля. Возможные значения списка:

Индикатор выполнения

Отображает поля `` float`` в качестве индикатора выполнения.

`` Many2onebutton``

Заменяет значение поля m2o галочкой, если поле заполнено, и крестик, если это не так

рукоятка
for sequence fields, instead of displaying the field's value just displays a drag&drop icon
`` Сумма``, `` avg``

Отображает соответствующий агрегат в нижней части столбца. Агрегация вычисляется только по * отображаемым в настоящее время * записям. Операция агрегации должна соответствовать `` group_operator` соответствующего поля

`` attrs``

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

Формы

Представления формы используются для отображения данных из одной записи. Их корневой элемент - `` <форма> [UNKNOWN NODE problematic]. Они состоят из обычного HTML с дополнительными структурными и семантическими компонентами.

Конструкционные элементы

Структурные компоненты обеспечивают структуру или «визуальные» функции с небольшой логикой. Они используются как элементы или наборы элементов в представлениях форм.

Блокнот

Определяет секцию с вкладками. Каждая вкладка определяется через дочерний элемент `` page``. Страницы могут иметь следующие атрибуты:

`` Строка`` (обязательно)

Заголовок вкладки

`` Accesskey``

HTML accesskey

`` attrs``

Стандартные динамические атрибуты, основанные на значениях записи

Группа:

Используется для определения макетов колонок в формах. По умолчанию группы определяют 2 столбца, а большинство прямых потомков групп занимают один столбец. Прямые дочерние элементы `` поля`` по умолчанию отображают метку, а метка и само поле имеют colspan по 1 каждому.

Количество столбцов в `` group`` можно настроить с помощью атрибута `` col``, количество столбцов, взятых элементом, можно настроить с помощью `` colspan``.

Дети выложены горизонтально (пытается заполнить следующий столбец перед сменой строки).

Группы могут иметь атрибут `` строка``, который отображается как название группы

новая строка

Полезен только внутри элементов `` group``, рано заканчивает текущую строку и сразу переключается на новую строку (без предварительного заполнения любого оставшегося столбца)

--- SEPARATOR ---

Малый горизонтальный интервал с атрибутом `` строка`` ведет себя как заголовок раздела

ЛИСТ

Может использоваться в качестве прямого потомка для `` формы`` для более узкой и гибкой формы макета

Заголовок

В сочетании с `` sheet``, обеспечивает положение полной ширины над листом, как правило, используется для отображения кнопок рабочего процесса и виджетов состояния

Семантические компоненты

Семантические компоненты связывают и позволяют взаимодействовать с системой Odoo. Доступными семантическими компонентами являются:

Кнопка

call into the Odoo system, similar to list view buttons. In addition, the following attribute can be specified:

special
for form views opened in dialogs: save to save the record and close the dialog, cancel to close the dialog without saving.
field

Визуализирует (и позволяет, возможно, выпуск) одного поля текущей записи. Возможные атрибуты:

name (обязательно)

Имя отображаемого поля

Виджет

Поля имеют рендеринг по умолчанию в зависимости от их типа (например: class: ~ odoo.fields.Char,: class:` ~ odoo.fields.Many2one`). Атрибуты `` widget`` позволяют использовать другой метод визуализации и контекст.

ОПЦИИ

Параметр конфигурации объекта JSON для виджета поля (включая виджеты по умолчанию)

«Категория»

Класс HTML для установки на сгенерированный элемент, общие классы полей:

`` Oe_inline``

Предотвратить обычный разрыв строки после полей

`` Oe_left``, `` oe_right``

Floats поле в соответствующее направление

`` Oe_read_only``, `` oe_edit_only``

Только отображает поле в соответствующем режиме формы

`` Oe_no_button``

Позволяет избежать отображения кнопки навигации в классе: ~ odoo.fields.Many2one

`` Oe_avatar``

Для полей изображения, отображает изображения как аватары (квадрат, максимальный размер 90x90, некоторые изображения)

groups

Только отображает поле для определенных пользователей

`` On_change``

Вызывает указанный метод, когда значение этого поля редактируется, может генерировать обновления других полей или отображать предупреждения для пользователя

Не рекомендуется, начиная с версии 8.0: Использование: func: odoo.api.onchange на модели

`` attrs``

Динамические мета-параметры, основанные на значениях записи

домен;

Только для реляционных полей, фильтры, применяемые при отображении существующих записей для выбора

context

Только для реляционных полей, контекст для передачи при получении возможных значений

Только для чтения

Отображать поле как в режиме только для чтения, так и в редакторе, но никогда не редактируйте его

Необходимое

Генерирует ошибку и предотвращает сохранение записи, если поле не имеет значения

`` Nolabel``

Не отображать метку поля автоматически, имеет смысл только в том случае, если поле является прямым потомком элемента `` group``

Подпись

Help сообщение для отображения в * empty * полях. Может заменять метки полей в сложных формах. * Не должно * быть примером данных, так как пользователи могут путать текст заполнитель с заполненными полями

mode

For: class: ~ odoo.fields.One2many, режим отображения (тип представления) для использования для связанных записей поля. Одно из «дерева», «форма», «канбан» или «граф». По умолчанию используется `` tree`` (отображение списка)

помощь

Подсказка, отображаемая для пользователей при наведении курсора на поле или его метку

filename

Для двоичных полей, имя связанного поля, предоставляющего имя файла

Пароль:

Указывает, что поле a: class: ~ odoo.fields.Char хранит пароль и что его данные не должны отображаться

Рекомендации для бизнес-представлений

Представление для бизнеса предназначено для обычных пользователей, а не для продвинутых пользователей. Примеры: возможности, продукты, партнеры, задачи, проекты и т. Д.

В общем, бизнес-представление состоит из

  1. Верхняя строка состояния (с техническим или бизнес-потоком),

  2. Лист в середине (сама форма),

  3. Нижняя часть с историей и комментариями.

Технически новые представления форм структурированы следующим образом в XML

<form>
    <header> ... content of the status bar  ... </header>
    <sheet>  ... content of the sheet       ... </sheet>
    <div class="oe_chatter"> ... content of the bottom part ... </div>
</form>

Строка состояния

Цель строки состояния - показать состояние текущей записи и кнопок действий.

Кнопки

Порядок кнопок соответствует бизнес-потоку. Например, в заказе на продажу логические шаги:

  1. Отправить предложение

  2. Подтверждение предложения

  3. Создать окончательный счет-фактуру

  4. Отправить товар

Выделенные кнопки (по умолчанию красный) подчеркивают следующий логический шаг, чтобы помочь пользователю. Обычно это первая активная кнопка. С другой стороны: guilabel: кнопки cancel * должны * оставаться серыми (нормальными). Например, в Invoice кнопка: guilabel: Refund никогда не должна быть красной.

Технически кнопки выделяются добавлением класса "oe_highlight":

<button class="oe_highlight" name="..." type="..." states="..."/>
Статус

Использует виджет `` statusbar`` и показывает текущее состояние красным цветом. Состояния, общие для всех потоков (например, заказ на продажу начинается как котировка, затем мы отправляем его, затем он становится полным заказом на продажу, и, наконец, он выполняется) должны быть видимыми всегда, но исключениями или состояниями в зависимости от конкретного подкаталога -flow должен быть видимым только при текущем.

Состояния отображаются в соответствии с порядком, используемым в поле (список в поле выбора и т. Д.). Состояния, которые всегда видимы, задаются атрибутом `` statusbar_visible``.

<field name="state" widget="statusbar"
    statusbar_visible="draft,sent,progress,invoiced,done" />

Лист

Все бизнес-представления должны выглядеть как отпечатанные листы:

  1. Элементы внутри `` <form> `` или `` <page> `` не определяют группы, элементы внутри них выложены в соответствии с нормальными правилами HTML. Их содержимое может быть сгруппировано в явном виде, используя элементы `` <group> `` или обычные `` <div> [UNKNOWN NODE problematic].

  2. По умолчанию элемент <группа> определяет два столбца внутри, если не используется атрибут `` col = "n". Столбцы имеют одинаковую ширину (1 / n-й ширины группы). Используйте элемент ``<group> для создания столбца полей.

  3. Чтобы присвоить заголовок разделу, добавьте атрибут `` string`` в элемент `` <group> ``

    <group string="Time-sensitive operations">
    

    Это заменяет прежнее использование `` <separator string = "XXX" /> [UNKNOWN NODE problematic].

  4. Элемент `` <field> `` не создает метку, за исключением прямых потомков элемента <group> "[# обратная совместимость] _. Используйте: samp: [UNKNOWN NODE problematic]<label for = " {field_name}> [UNKNOWN NODE problematic]для создания метки поля.

Заголовки листов

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

Режим просмотра

РЕЖИМ РЕДАКТИРОВАНИЯ

Используйте HTML-текст, `` <div> , `` <h1> ``, `` <h2> `` ... для создания хороших заголовков и `` <label> `` с классом `` oe_edit_only, чтобы Только отображать метку поля в режиме редактирования. Класс `` oe_inline`` сделает поля inline (вместо блоков): содержимое, следующее за этим полем, будет отображаться в той же строке, а не в строке под ней. Форма выше приведена в следующем XML

<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>

<label for="planned_revenue" class="oe_edit_only"/>
<h2>
    <field name="planned_revenue" class="oe_inline"/>
    <field name="company_currency" class="oe_inline oe_edit_only"/> at
    <field name="probability" class="oe_inline"/> % success rate
</h2>
Кнопочный ящик

В форме могут отображаться многие релевантные действия или ссылки. Например, в форме Opportunity важное место в использовании CRM занимают действия «Расписание вызова» и «Расписание собрания». Вместо того, чтобы помещать их в меню «Дополнительно», поместите их прямо в лист в виде кнопок (сверху), чтобы сделать их более видимыми и более доступными.

Технически кнопки размещаются внутри `` <div> [UNKNOWN NODE problematic], чтобы сгруппировать их как блок в верхней части листа.

<div class="oe_button_box" name="button_box">
    <button string="Schedule/Log Call" name="..." type="action"/>
    <button string="Schedule Meeting" name="action_makeMeeting" type="object"/>
</div>
Группы и заголовки

Теперь столбец полей создается с элементом `` <group> [UNKNOWN NODE problematic], с необязательным заголовком.

<group string="Payment Options">
    <field name="writeoff_amount"/>
    <field name="payment_option"/>
</group>

Рекомендуется использовать в форме два поля полей. Для этого просто поместите элементы `` <group> [UNKNOWN NODE problematic], содержащие поля внутри элемента верхнего уровня `` <group> [UNKNOWN NODE problematic].

Чтобы сделать: ref: view extension <reference / views / inheritance> simple, рекомендуется поместить атрибут name` в элементы` <group> [UNKNOWN NODE problematic], поэтому новые поля могут быть легко добавлены справа место.

Особый случай: Промежуточные итоги

Некоторые классы определены для визуализации промежуточных итогов, например, в формах счетов:

<group class="oe_subtotal_footer">
    <field name="amount_untaxed"/>
    <field name="amount_tax"/>
    <field name="amount_total" class="oe_subtotal_footer_separator"/>
    <field name="residual" style="margin-top: 10px"/>
</group>
Заполнители и встроенные поля

Иногда полевые метки делают форму слишком сложной. Можно опустить полевые метки и вместо этого поместить поле в поле. Текст заполнителя отображается только в том случае, если поле пуст. Заполнитель должен указывать, что размещать внутри поля, он * не должен * быть примером, поскольку их часто путают с заполненными данными.

Можно также объединить поля вместе, сделав их «встроенными» внутри явного блока, например `` <div> [UNKNOWN NODE problematic]. Это позволяет группировать семантически связанные поля, как если бы они были едиными (составными) полями.

Следующий пример, взятый из формы * Leads [UNKNOWN NODE problematic], показывает как заполнители, так и встроенные поля (zip и city).

РЕЖИМ РЕДАКТИРОВАНИЯ

Режим просмотра

<group>
    <label for="street" string="Address"/>
    <div>
        <field name="street" placeholder="Street..."/>
        <field name="street2"/>
        <div>
            <field name="zip" class="oe_inline" placeholder="ZIP"/>
            <field name="city" class="oe_inline" placeholder="City"/>
        </div>
        <field name="state_id" placeholder="State"/>
        <field name="country_id" placeholder="Country"/>
    </div>
</group>
Изображения

Изображения, такие как аватары, должны отображаться справа от листа. Форма продукта выглядит так:

Форма выше содержит элемент <sheet>, который начинается с:

<field name="product_image" widget="image" class="oe_avatar oe_right"/>
Теги

Большинство: class: поля ~ odoo.fields.Many2many, как и категории, лучше отображаются в виде списка тегов. Используйте виджет `` many2many_tags`` для этого:

<field name="category_id" widget="many2many_tags"/>

Руководства по формам конфигурации

Примеры конфигурационных форм: этапы, тип отпуска и т. Д. Это касается всех пунктов меню Конфигурация каждого приложения (например, Sales / Configuration).

  1. Нет заголовка (потому что нет состояния, рабочего процесса, нет кнопки)

  2. Без листа

Форматы диалоговых форм

Пример: "Расписание звонков" из возможности.

  1. Избегать разделителей (заголовок уже находится в строке заголовка всплывающего окна, поэтому другой разделитель не имеет значения)

  2. Избегать кнопок отмены (пользователь обычно закрывает всплывающее окно, чтобы получить тот же эффект)

  3. Кнопки действий должны быть выделены (красным)

  4. При наличии текстовой области используйте метку-заполнитель вместо метки или разделителя

  5. Как и в регулярном представлении формы, поместите кнопки в элементе <header>

Рекомендации по настройке Wizards

Пример: Настройки / Конфигурация / Продажи.

  1. Всегда в строке (без всплывающих окон)

  2. Без листа

  3. Удерживайте кнопку отмены (пользователи не могут закрыть окно)

  4. Кнопка "Применить" должна быть красной

Графики

Графовое представление используется для визуализации агрегатов по нескольким записям или группам записей. Его корневым элементом является `` <graph> [UNKNOWN NODE problematic], который может принимать следующие атрибуты:

type

Один из `` bar`` (по умолчанию), `` pie`` и `` line``, тип используемого графика

Составные

Используется только для карт `` bar``. Если присутствует и установлен в `` True``, стеки баров внутри группы

Единственным допустимым элементом в графовом представлении является `` поле``, которое может иметь следующие атрибуты:

Имя (обязательно)

Имя поля для использования в виде графа. Если используется для группировки (а не объединения)

type

Указывает, должно ли поле использоваться как критерий группировки или как агрегированное значение внутри группы. Возможные значения:

`` Row`` (по умолчанию)

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

Колумбия

Используется только сводными таблицами, создает столбцы

Управления

Поле для группировки внутри группы

ИНТЕРВАЛ

По дате и дате и времени, группам по заданному интервалу (`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` Фиксированное второе разрешение) или дата (фиксированное разрешение по дням).

Повороты

Сводная таблица используется для визуализации агрегатов как «сводной таблицы». Его корневым элементом является `` <pivot> [UNKNOWN NODE problematic], который может принимать следующие атрибуты:

`` disable_linking``

Установите для `` True``, чтобы удалить ссылки ячейки таблицы на просмотр списка.

`` display_quantity``

Установите `` true``, чтобы отображать колонку количества по умолчанию.

Элементы, разрешенные в сводном представлении, являются такими же, как и для графического представления.

Kanban

Вид канбана представляет собой визуализацию kanban board: он отображает записи как« карты », на полпути между: ref:` list view <reference / views / list> »и нередактируемым: ref:` form view <ссылка / вид / форма> [UNKNOWN NODE problematic]. Записи могут быть сгруппированы в столбцы для использования в визуализации рабочего процесса или в манипуляции (например, задачи или управление прогрессом) или негруппированы (используются просто для визуализации записей).

Корневым элементом представления Kanban является `` <kanban> [UNKNOWN NODE problematic], он может использовать следующие атрибуты:

`` default_group_by``

Следует ли группировать представление канбанов, если группировка не указана с помощью действия или текущего поиска. Должно быть именем поля, в которое нужно группировать, если никакая другая группировка не указана

По умолчанию Заказать

Порядок сортировки карточек, если пользователь еще не отсортировал записи (через просмотр списка)

«Категория»

Добавляет HTML-классы к корневому элементу HTML представления Kanban

group_create
whether the "Add a new column" bar is visible or not. Default: true.
group_delete
whether groups can be deleted via the context menu. Default: true.
group_edit
whether groups can be edited via the context menu. Default: true.
`` Quick_create``

Следует ли создавать записи без переключения на вид. По умолчанию, `` quick_create`` включается, когда представление Kanban сгруппировано и отключено, если нет.

Установите `` true``, чтобы всегда включать его, и `` false``, чтобы всегда отключать его.

Возможными дочерними элементами элемента вида являются:

field

declares fields to use in kanban logic. If the field is simply displayed in the kanban view, it does not need to be pre-declared.

Возможные атрибуты:

Имя (обязательно)

Имя поля для извлечения

Индикатор выполнения

declares a progressbar element to put on top of kanban columns.

Возможные атрибуты:

field (required)
the name of the field whose values are used to subgroup column's records in the progressbar
colors (required)
JSON mapping the above field values to either "danger", "warning" or "success" colors
sum_field (optional)
the name of the field whose column's records' values will be summed and displayed next to the progressbar (if omitted, displays the total number of records)
Шаблоны

Определяет список шаблонов: ref: reference / qweb. Определение карточек может быть разбито на несколько шаблонов для ясности, но представления канбанов * должны * определять хотя бы один корневой шаблон `` kanban-box``, который будет отображаться один раз для каждой записи.

Представление kanban использует в основном стандарт: ref: javascript qweb <reference / qweb / javascript> и предоставляет следующие контекстные переменные:

Виджет

Текущий: js: class: KanbanRecord, может быть использован для извлечения некоторой метаинформации. Эти методы также доступны непосредственно в контексте шаблона и не требуют доступа через `` widget``

record

Объект со всеми запрошенными полями в качестве его атрибутов. Каждое поле имеет два атрибута `` значение`` и `` raw_value``, первый форматируется в соответствии с текущими пользовательскими параметрами, последний является прямым значением из: meth: ~ odoo.models.Model.read (кроме Для полей даты и времени суток, отформатированных в соответствии с языковыми настройками пользователя <https://github.com/odoo/odoo/blob/a678bd4e/addons/web_kanban/static/src/js/kanban_record.js#L102> [UNKNOWN NODE problematic]_)

`` read_only_mode``

сам за себя

Кнопки и поля

Хотя большинство шаблонов Kanban являются стандартными: ref: reference / qweb, элементы представления Kanban` `` `` `` `` `` `` `` `` `` `` `` `` `` специально `

  • Поля по умолчанию заменяются их форматированным значением, если они не соответствуют конкретным видам отображения канбанов

  • Кнопки и ссылки с атрибутом `` type`` стали выполнять операции, связанные с Одо, а не их стандартную функцию HTML. Возможные типы:

    `` Действие``, `` объект``

    Стандартное поведение для: ref: Кнопки Odoo <reference / views / list / button>, можно использовать большинство атрибутов, относящихся к стандартным кнопкам Odoo.

    Открыть

    Открывает запись карты в режиме формы в режиме только для чтения

    Редактировать

    Открывает запись карты в режиме формы в редактируемом режиме

    delete

    Удаляет запись карты и удаляет карту.

If you need to extend the Kanban view, see :js:class::the JS API <KanbanRecord>.

Календарь

Представления календаря отображают записи как события в ежедневном, недельном или месячном календарях. Их корневым элементом является `` <календарь> [UNKNOWN NODE problematic]. Доступными атрибутами в представлении календаря являются:

`` Date_start`` (обязательно)

Имя поля записи, содержащее дату начала события

`` date_stop``

Имя поля записи, содержащее дату окончания события, если предоставляется `` date_stop``, записи становятся подвижными (с помощью перетаскивания) непосредственно в календаре

`` date_delay``
alternative to date_stop, provides the duration of the event instead of its end date (unit: day)
Цвет
name of a record field to use for color segmentation. Records in the same color segment are allocated the same highlight color in the calendar, colors are allocated semi-randomly. Displayed the display_name/avatar of the visible record in the sidebar
readonly_form_view_id
view to open in readonly mode
form_view_id
view to open when the user create or edit an event
`` event_open_popup``
If the option 'event_open_popup' is set to true, then the calendar view will open events (or records) in a FormViewDialog. Otherwise, it will open events in a new form view (with a do_action)
`` Quick_add``

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

Весь день

Имя булевского поля в записи, указывающее, отмечено ли соответствующее событие как дневное (а продолжительность не имеет значения)

mode

Режим отображения по умолчанию при загрузке календаря. Возможные атрибуты: `` день``, `` неделя``, `` месяц``

<field>

declares fields to aggregate or to use in kanban logic. If the field is simply displayed in the calendar cards.

Fields can have additional attributes:

Невидимый
use "True" to hide the value in the cards
avatar_field
only for x2many field, to display the avatar instead the display_name in the cards
write_model and write_field
you can add a filter and save the result in the defined model, the filter is added in the sidebar
Шаблоны

defines the Qweb template calendar-box. Cards definition may be split into multiple templates for clarity which will be rendered once for each record.

Представление kanban использует в основном стандарт: ref: javascript qweb <reference / qweb / javascript> и предоставляет следующие контекстные переменные:

Виджет
the current KanbanRecord(), can be used to fetch some meta-information. These methods are also available directly in the template context and don't need to be accessed via widget getColor to convert in a color integer getAvatars to convert in an avatar image displayFields list of not invisible fields
record
an object with all the requested fields as its attributes. Each field has two attributes value and raw_value
event
the calendar event object
format
format method to convert values into a readable string with the user parameters
fields
definition of all model fields parameters
user_context

сам за себя

`` read_only_mode``

сам за себя

Ганта

Представления Гантта должным образом отображают диаграммы Ганта (для планирования).

Корневым элементом представлений gantt является `` <gantt /> [UNKNOWN NODE problematic], у него нет потомков, но он может принимать следующие атрибуты:

`` Date_start`` (обязательно)

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

`` date_stop``

Имя поля, указывающее конечную продолжительность события для каждой записи. Может быть заменено на `` date_delay``. Должна быть предоставлена ​​одна (и только одна) date_stop` и` date_delay`.

Если это поле `` False`` для записи, предполагается, что это «событие точки», и конечная дата будет установлена ​​на дату начала

`` date_delay``

Название поля, указывающее продолжительность события

`` duration_unit``

Одна из `` минуты``, `` часа`` (по умолчанию), `` день``, `` неделя``, `` месяц``, `` год``

`` default_group_by``

Имя поля для группировки задач по

type

`` Gantt`` классический вид гантов (по умолчанию)

«Консолидировать» значения первых детей консолидируются в задаче Ганта

Дети `` планирование`` отображаются в задаче Ганта

УКРЕПЛЕНИЯ

Имя поля для отображения значения консолидации в ячейке записи

`` consolidation_max``

Словарь с полем «group by» в качестве ключа и максимальное значение консолидации, которое может быть достигнуто до отображения ячейки красным цветом (например, {"user_id": 100})

Стринг

Строка для отображения рядом со значением консолидации, если не указано, будет использоваться метка поля консолидации

`` fold_last_level``

Если значение установлено, последний уровень группировки складывается

`` round_dnd_dates``

Позволяет округлить даты начала и окончания задачи до ближайших шкалы

`` Drag_resize``

Изменение размера заданий, по умолчанию `` true``

Диаграмма 4.

Вид диаграммы может использоваться для отображения ориентированных графиков записей. Корневой элемент `` <диаграмма> `` и не имеет атрибутов.

Возможными дочерними элементами диаграммы являются:

`` Node`` (обязательно, 1)

Определяет узлы графа. Его атрибутами являются:

1.1 Цель

Модель Одо в узле

Форма

Условное отображение формы, подобное цветам и шрифтам в: ref: list view <reference / views / list>. Единственной допустимой формой является `` rectangle`` (форма по умолчанию - многоточие)

цвет фона

То же, что и `` shape``, но условно отображает фоновый цвет для узлов. По умолчанию цвет фона - белый, единственной допустимой альтернативой является `` grey``.

`` Arrow`` (обязательно, 1)

Определяет направленные ребра графа. Его атрибутами являются:

`` Object`` (обязательно)

Модель Одо для края

`` Source`` (обязательно)

: Class: ~ odoo.fields.Many2one поле модели ребра, указывающее на запись исходного узла ребра

`` Destination`` (обязательно)

: Class: ~ odoo.fields.Many2one поле модели ребра, указывающее на запись целевого узла ребра

Метка

Список атрибутов Python (в виде цитируемых строк). Соответствующие значения атрибутов будут объединены и отображены как метка ребра

Метка

Пояснительная записка для диаграммы, атрибут `` строка`` определяет содержание заметки. Каждая `` метка`` выводится как параграф в заголовке диаграммы, легко видимая, но без особого акцента.

Поиск по умолчанию

Поля и фильтры поиска можно настроить с помощью контекста действия, используя ключи: samp: search_default_ {name}. Для полей значение должно быть значением, установленным в поле, для фильтров это логическое значение. Например, предполагая, что `` foo`` является полем, а `` bar`` - фильтром, контекстом действия:

{
  'search_default_foo': 'acro',
  'search_default_bar': 1
}

Автоматически активирует фильтр `` bar`` и ищет поле `` foo`` для * acro [UNKNOWN NODE problematic].

Qweb

Представления QWeb являются стандартными: ref: reference / qweb шаблоны внутри` arch`. У них нет определенного корневого элемента.

Вид QWeb может содержать только один шаблон [#template_inherit] _, а имя шаблона * должно * совпадать с полным представлением (включая имя модуля): term: external id.

: Ref: reference / data / template следует использовать в качестве ярлыка для определения представлений QWeb.

[1]

По причинам обратной совместимости

[2]

Добавлена ​​функция расширения для более простого соответствия в представлениях QWeb: `` hasclass (* classes) `` соответствует, если контекстный узел имеет все указанные классы

[3]

По историческим причинам он имеет свое происхождение из древовидных представлений, позже переориентированных на отображение большего количества таблиц / списков

[4]

Или нет шаблона, если это наследуемое представление, тогда: ref: он должен содержать только элементы xpath <reference / views / inheritance>