Поля та віджети¶
Поля структурують моделі бази даних. Якщо ви уявляєте модель у вигляді таблиці або електронної таблиці, поля - це стовпці, у яких зберігаються дані в записах (тобто рядки). Поля також визначають тип даних, які в них зберігаються. Спосіб представлення та форматування даних у UI визначається їхнім віджетом.
З технічної точки зору в Odoo існує 15 типів полів. Однак ви можете вибрати з 20 полів у Studio, оскільки деякі типи полів доступні кілька разів за допомогою іншого віджета за замовчуванням.
Прості поля¶
Прості поля містять основні значення, такі як текст, числа, файли тощо.
Примітка
Віджети, що не є стандартними, якщо вони доступні, представлені у вигляді маркованих списків або підзаголовків нижче.
Текст (char
)¶
Поле Текст використовується для короткого тексту, що містить будь-який символ. При заповненні поля відображається один текстовий рядок.
Значок: відображає значення всередині округленої форми, схожої на тег. Значення не можна редагувати в інтерфейсі користувача, але можна встановити значення за умовчанням.
Копіювати в буфер обміну: користувачі можуть скопіювати значення, натиснувши кнопку.
Електронна пошта: значення стає посиланням mailto, яке можна натиснути.
Зображення: відображає зображення за допомогою URL-адреси. Значення не можна редагувати вручну, але можна встановити значення за умовчанням.
Примітка
Це працює інакше, ніж безпосередній вибір поле зображення, оскільки зображення не зберігається в Odoo під час використання поля Текст з віджетом Зображення. Наприклад, це може бути корисним, якщо ви хочете заощадити місце на диску.
Телефон: значення стає посиланням tel, яке можна натиснути.
Порада
Поставте прапорець Увімкнути SMS, щоб додати опцію надсилання SMS безпосередньо з Odoo поруч із полем.
URL: значення стає URL-адресою, яку можна натиснути.
Example

Багаторядковий текст (text
)¶
Поле Багаторядковий текст використовується для довшого тексту, що містить символи будь-якого типу. Під час заповнення поля в інтерфейсі користувача відображаються два рядки тексту.
Копіювати в буфер обміну: користувачі можуть скопіювати значення, натиснувши кнопку.
Example

Ціле число (integer
)¶
Поле Ціле число використовується для всіх цілих чисел (додатній, від’ємний або нуль, без десяткової дроби).
Відсоткова діаграма: відображає значення в колі відсотків, як правило, для обчисленого значення. Значення не можна редагувати в інтерфейсі користувача, але можна встановити значення за умовчанням.
Діаграма прогресу: відображає значення поруч із шкалою у відсотках, зазвичай для обчисленого значення. Поле не можна редагувати вручну, але можна встановити значення за умовчанням.
Перетягування: відображає піктограму маркера перетягування, щоб упорядкувати записи вручну в Представлення списку.
Example

Десятковий (float
)¶
Поле Десятковий використовується для всіх десяткових чисел (позитивних, від’ємних чи нуля з десятковою дробом).
Примітка
Десяткові числа відображаються з двома десятковими знаками після коми в інтерфейсі користувача, але вони зберігаються в базі даних з більшою точністю.
Monetary: це схоже на використання поля Monetary. Рекомендується використовувати останнє, оскільки воно пропонує більше функціональних можливостей.
Відсоток: відображає символ відсотка
%
після значення.Відсоткова діаграма: відображає значення в колі відсотків, як правило, для обчисленого значення. Поле не можна редагувати вручну, але можна встановити значення за умовчанням.
Діаграма прогресу: відображає значення поруч із шкалою у відсотках, зазвичай для обчисленого значення. Поле не можна редагувати вручну, але можна встановити значення за умовчанням.
Час: значення має відповідати формату hh:mm, максимум 59 хвилин.
Example

Грошовий (monetary
)¶
Поле Грошовий використовується для всіх грошових значень.
Примітка
Коли ви вперше додаєте поле Грошовий, вам буде запропоновано додати поле Валюта, якщо воно ще не існує в моделі. Odoo пропонує додати для вас поле Валюта. Після додавання знову додайте поле Грошовий.
Example

Html (html
)¶
Поле Html використовується для додавання тексту, який можна редагувати за допомогою HTML-редактора Odoo.
Багаторядковий текст: вимикає редактор HTML Odoo, щоб дозволити редагувати необроблений HTML.
Example

Дата (date
)¶
Поле Дата використовується для вибору дати в календарі.
Залишок днів: відображається кількість днів, що залишилися до вибраної дати (наприклад, Через 5 днів), на основі поточної дати. Для цього поля слід встановити значення Тільки читання.
Example

Дата й час (datetime
)¶
Поле Дата й час використовується для вибору дати в календарі та часу на годиннику. Якщо час не встановлено, автоматично використовується поточний час користувача.
Порада
Окрім загальні властивості, деякі специфічні властивості доступні для полів Дата та час, для яких встановлено віджет Дата та час або Діапазон дат.
Діапазон дат (daterange
)¶
Віджет Діапазон дат використовується для відображення періоду часу, визначеного датою початку та датою завершення, в одному рядку. Діапазон дат може мати обов’язкові дати початку та завершення, наприклад, для багатоденної події, або дозволяти додаткову дату початку чи завершення, наприклад, для польового обслуговування або завдання проекту.
Додавання діапазону дат вимагає двох полів: поле Дата та час з налаштованим віджетом Діапазон дат та інше поле, вибране як початкова або кінцева дата. Це базове поле може бути існуючим полем Дата або Дата та час, або полем, створеним спеціально для цієї мети.
Щоб додати діапазон дат:
Визначте існуюче поле Дата або Дата та час, яке можна використовувати як базове поле дати початку/завершення, або додайте нове. Якщо діапазон дат:
має обов’язкові дати початку та дати завершення, це поле може бути або датою початку, або датою завершення; результат той самий.
дозволяє необов’язкову дату початку або завершення, це поле є датою початку або датою завершення відповідно.
Порада
Щоб уникнути подвійного відображення тієї ж інформації, поле початкової/кінцевої дати можна зробити невидимим, увімкнувши Невидимий, або видалити з представлення, натиснувши Видалити з представлення.
Додайте поле Дата та час та встановіть для поля Віджет значення Діапазон дат.
Введіть відповідну мітку Мітка.
Виберіть поле початкової/кінцевої дати з випадаючого списку Поле початкової дати або Поле кінцевої дати, залежно від потреби.
Якщо діапазон дат має обов’язково мати дату початку та завершення, увімкніть Завжди діапазон.
Оновіть будь-які інші загальні властивості або конкретні властивості для полів дати та часу за потреби, а потім натисніть Закрити у верхньому правому куті екрана.
Example

Залишок днів (remaining_days
)¶
Віджет Залишок днів відображає кількість днів, що залишилися до вибраної дати (наприклад, Через 5 днів), на основі поточної дати та часу. Для цього поля слід встановити значення Тільки читання.
Прапорець („boolean`)¶
Поле Прапорець використовується, коли значення має бути лише істинним або хибним, що вказується встановленням або зняттям прапорця.
Кнопка: відображає перемикач. Віджет працює без переходу в режим редагування.
Перемикач: відображає кнопку перемикання. Віджет працює без переходу в режим редагування.
Example

Вибір (selection
)¶
Поле Вибір використовується, коли користувачі повинні вибрати одне значення з групи попередньо визначених значень.
Значок: відображає значення всередині округленої форми, схожої на тег. Значення не можна редагувати в інтерфейсі користувача, але можна встановити значення за умовчанням.
Значки: відображає всі значення, які можна вибрати, одночасно всередині прямокутних форм, організованих горизонтально.
Пріоритет: замість значень відображає символи зірок, які можна використовувати, наприклад, для позначення важливості або рівня задоволення. Це має той самий ефект, що й вибір поля Пріоритет, хоча для останнього вже визначено чотири значення пріоритету.
Прапорець: відображає всі доступні для вибору значення одночасно з прапорцями.
Порада
За замовчуванням радіокнопки розташовані вертикально. Увімкніть Відображати горизонтально, щоб змінити спосіб їх відображення.
Рядок стану: відображає всі доступні для вибору значення одночасно зі стрілкою-індикатором прогресу.
Порада
За замовчуванням значення в рядку стану можна вибрати. Вимкніть Клікабельний, щоб запобігти редагуванню значення в інтерфейсі користувача.
Example

Пріоритет (selection
)¶
Поле Пріоритет використовується для відображення тризіркової системи оцінювання, яка може використовуватися для позначення важливості або рівня задоволення. Цей тип поля є Поле вибору з віджетом Пріоритет, вибраним за замовчуванням, та чотирма попередньо визначеними значеннями пріоритету. Отже, віджети Значок, Значки, Радіо та Вибір мають ті самі ефекти, що описані в Вибір.
Порада
Щоб змінити кількість доступних зірочок шляхом додавання чи видалення значень, натисніть Змінити значення. Зауважте, що перше значення дорівнює 0 зіркам (тобто, якщо не зроблено жодного вибору), тому наявність чотирьох значень призводить, наприклад, до трьохзіркової системи оцінювання.
Example

Файл (binary
)¶
Поле Файл використовується для завантаження будь-якого типу файлу або підписання форми (Підпис віджет).
Зображення: користувачі можуть завантажувати файл зображення, яке потім відображається у Представлення форми. Це має той самий ефект, що й використання Поле зображення.
Перегляд PDF: користувачі можуть завантажити файл PDF, який потім можна переглядати з Представлення форми.
Підписати: користувачі можуть електронно підписувати форму. Це має той самий ефект, що й вибір Підписати поле.
Example

Зображення (binary
)¶
Поле Зображення використовується для завантаження зображення та його відображення у Представлення форми. Цей тип поля є полем Файл з віджетом Зображення, вибраним за замовчуванням. Отже, віджети Файл, Переглядач PDF та Підпис мають ті самі ефекти, що описані у Файл.
Порада
Щоб змінити розмір відображення завантажених зображень, виберіть Маленький, Середній або Великий у параметрі Розмір.
Підпис (binary
)¶
Поле Підпис використовується для електронного підписання форми. Це поле типу Поле файл з віджетом Підпис, вибраним за замовчуванням. Отже, віджети Файл, Зображення та Переглядач PDF мають ті самі ефекти, що описані в розділі Файл.
Порада
Щоб надати користувачам опцію Автоматично під час малювання підпису, виберіть одне з доступних полів Автозаповнення за допомогою (Текст, Many2One та Пов’язане поле лише на моделі). Підпис генерується автоматично з використанням даних з вибраного поля.
Реляційні поля¶
Реляційні поля використовуються для зв’язування та відображення даних із записів іншої моделі.
Примітка
Віджети не за замовчуванням, якщо вони доступні, представлені як маркери нижче.
Many2One (many2one
)¶
Поле Many2One використовується для зв’язування іншого запису (з іншої моделі) із записом, який редагується. Назва запису з іншої моделі потім відображається на записі, який редагується.
Example
У моделі Замовлення на продаж поле Клієнт є полем Many2One, яке вказує на модель Контакт. Це дозволяє зв’язати багато замовлень на продаж з одним контактом (клієнтом).

Порада
Щоб заборонити користувачам створювати новий запис у пов’язаній моделі, поставте прапорець Вимкнути створення.
Щоб заборонити користувачам відкривати записи у спливаючому вікні, поставте прапорець Вимкнути відкриття.
Щоб допомогти користувачам вибрати правильний запис, натисніть Домен, щоб створити фільтр.
Значок: відображає значення всередині округленої форми, схожої на тег. Значення не можна редагувати в інтерфейсі користувача.
Прапорець: відображає всі доступні для вибору значення одночасно з прапорцями.
One2Many (one2many
)¶
Поле One2Many використовується для відображення існуючих зв’язків між записом поточної моделі та кількома записами іншої моделі.
Example
Ви можете додати поле One2Many до моделі Контакт, щоб переглянути багато замовлень на продаж одного клієнта.

Примітка
Щоб використовувати поле One2Many, дві моделі повинні бути вже пов’язані за допомогою поля Many2One. Відношення One2Many не існують незалежно: виконується зворотний пошук існуючих відношень Many2One.
Рядки (one2many
)¶
Поле Рядки використовується для створення таблиці з рядками та стовпцями (наприклад, рядки продуктів у замовленні на продаж).
Порада
Щоб змінити стовпці, клацніть поле Рядки, а потім Редагувати представлення список. Щоб редагувати форму, яка з’являється, коли користувач натискає Додати рядок, клацніть натомість Редагувати представлення форми.
Example

Many2Many (many2many
)¶
Поле Many2Many використовується для зв’язування кількох записів з іншої моделі з кількома записами в поточній моделі. Поля Many2Many можуть використовувати Вимкнути створення, Вимкнути відкриття, Домен, так само як і поля Many2One.
Example
У моделі Завдання поле Виконавці є полем Many2Many, яке вказує на модель Контакт. Це дозволяє одному користувачеві призначати багато завдань, а багатьом користувачам призначати одне завдання.

Прапорці: користувачі можуть вибрати кілька значень за допомогою прапорців.
Теги: користувачі можуть вибрати кілька значень, що відображаються у вигляді округлих фігур, також відомих як теги. Це має той самий ефект, що й вибір поля Теги.
Властивості¶
Загальні властивості¶
Невидимий: Увімкніть цю властивість, коли користувачам не потрібно переглядати поле в інтерфейсі користувача. Це допомагає розрядити інтерфейс користувача, показуючи лише основні поля залежно від конкретної ситуації.
Атрибут Невидимий також застосовується всередині Studio. Щоб переглянути приховані поля в Studio, клацніть вкладку представлення Представлення та увімкніть Показувати невидимі елементи.
Обов’язковий: Увімкніть цю властивість, якщо поле завжди має бути заповнене користувачем перед продовженням.
Тольки для читання: Увімкніть цю властивість, якщо користувачі не повинні мати можливості змінювати поле.
Примітка
Ви можете ввімкнути Невидимий, Обов’язковий та Тільки для читання лише для певних записів, натиснувши Умовний та створивши фільтр.
Example
У представленні Форма моделі Контакт поле Назва з’являється лише тоді, коли вибрано Індивідуальний, оскільки це поле не буде корисним для контакту Компанія.
Мітка: назва поля в інтерфейсі користувача. Це не та назва, що використовується в базі даних PostgreSQL. Щоб переглянути та змінити останню, активуйте режим розробника та відредагуйте Технічна назва.
Підказка: Щоб пояснити призначення поля, додайте опис. Текст відображається всередині підказки, якщо навести курсор миші на знак питання поруч із підписом поля.
Віджет: щоб змінити типовий вигляд або функціональність поля, виберіть один із доступних віджетів.
Заповнювач: Щоб навести приклад того, як слід заповнювати поле, додайте текст заповнювача. Текст відображається світло-сірим кольором, доки не буде введено значення.
Значення за замовчуванням: Щоб відобразити значення за замовчуванням у полі під час створення запису, додайте значення.
Дозволити видимість групам: Щоб обмежити кількість користувачів, які можуть переглядати поле, виберіть один або декілька прав доступу користувачів групи.
Заборонити видимість для груп: Щоб певні користувачі не бачили поле, виберіть один або декілька прав доступу користувачів групи.
Властивості для полів Дата й час¶
Для полів Дата та час, у яких встановлено віджет Дата та час або Діапазон дат, доступні деякі специфічні властивості:
Інтервал часу: Введіть значення, щоб визначити хвилинні інтервали, що відображаються у селекторі часу. Наприклад, введіть 15, щоб дозволити інтервали в чверть години. Значення за замовчуванням встановлено на 5 хвилин.
Попередження щодо майбутніх дат: Увімкніть цю властивість, щоб відображати значок попередження, якщо вибрано майбутню дату.
Показувати час: Ця властивість увімкнена за замовчуванням для полів Дата та час. У полі лише для читання вимкніть цю властивість, щоб відображалася лише дата. Це може, наприклад, зменшити захаращеність списку.
Найраніша прийнята дата: Введіть найранішу дату, яку можна вибрати у селекторі дати у форматі ISO, тобто
YYYY-MM-DD
. Якщо поточна дата завжди є найранішою прийнятою датою, введітьсьогодні
. У селекторі дати дати, що передують найранішій прийнятій даті, будуть неактивні.Остання прийнята дата: Введіть останню дату, яку можна вибрати у селекторі дати, у форматі ISO, тобто
YYYY-MM-DD
. Якщо поточна дата завжди є останньою прийнятою датою, введітьсьогодні
. У селекторі дати дати, пізніші за останню прийняту дату, будуть неактивні.