Поля та віджети¶
Поля структурують моделі бази даних. Якщо уявити модель як таблицю чи електронну таблицю, поля є стовпцями, а записи — окремими рядками. Поля також визначають тип даних, що в них зберігаються. Спосіб представлення та форматування даних поля в UI контролюється його віджетом.
За допомогою Studio можна:
додавати нові поля до вашої бази даних. З технічної точки зору в Odoo є 15 типів полів. Однак у Studio ви можете вибрати з 21 типу полів, оскільки деякі типи полів доступні більше одного разу з різним віджетом за замовчуванням;
додавати існуючі поля, тобто поля, які вже існують у моделі, до будь-якого виду цієї моделі;
Поля Studio проти полів властивостей
Поля, створені за допомогою Studio, зберігаються як стовпці у вашій базі даних Odoo. Поля властивостей, з іншого боку, діють як псевдо-поля; вони є спільними для всіх записів, які пов’язані з тим самим батьківським записом (наприклад, для завдань — проект, або для товару — категорія товару), але вони не зберігаються як стовпці у вашій базі даних.
Example
Додавання поля Термін виконання до представлення форми завдання за допомогою Studio робить це поле видимим у кожному завданні у вашій базі даних. Додавання поля властивості Спеціальні інструкції до завдання робить поле видимим у всіх завданнях в межах того самого проекту (тобто його батьківського запису), тоді як завдання інших проектів залишаються незмінними.
Типи полів¶
Поля можна умовно розділити на дві категорії:
Прості поля, які містять базові значення, такі як текст, числа, файли тощо.
Реляційні поля, які використовуються для зв’язування та відображення даних з записів іншої моделі.
AI поля
AI поля — це по суті стандартні поля Odoo з доданими можливостями AI, які дозволяють автоматично генерувати їхні значення за допомогою запитів.
Прості поля¶
Примітка
Нестандартні віджети, якщо вони доступні, представлені як маркеровані списки або підзаголовки.
Текст (char)¶
Поле Текст використовується для короткого тексту, який містить будь-які символи. Під час заповнення поля відображається один рядок тексту.
Значок: відображає значення всередині округлої фігури, схожої на тег. Значення не можна редагувати в інтерфейсі, але можна встановити значення за замовчуванням.
Копіювати в буфер обміну: користувачі можуть скопіювати значення, натиснувши кнопку.
Електронна пошта: значення стає клікабельним посиланням mailto.
Зображення: відображає зображення за URL-адресою. Значення не можна редагувати вручну, але можна встановити значення за замовчуванням.
Примітка
Це працює інакше, ніж безпосереднє вибрання поля Зображення, оскільки зображення не зберігається в Odoo при використанні поля Текст з віджетом Зображення. Наприклад, це може бути корисно, якщо ви хочете заощадити дисковий простір.
Телефон: значення стає клікабельним посиланням tel.
Порада
Позначте Увімкнути SMS, щоб додати опцію відправки SMS безпосередньо з Odoo поруч із полем.
URL: значення стає клікабельною URL-адресою.
Example
Багаторядковий текст (text)¶
Поле Багаторядковий текст використовується для довшого тексту, який містить будь-які символи. Під час заповнення поля в інтерфейсі відображаються два рядки тексту.
Копіювати в буфер обміну: користувачі можуть скопіювати значення, натиснувши кнопку.
Example
Ціле число (integer)¶
Поле Ціле число використовується для всіх цілих чисел (додатних, від’ємних або нуля без десяткової частини).
Кругова діаграма відсотків: відображає значення всередині відсоткового кола, зазвичай для обчисленого значення. Значення не можна редагувати в інтерфейсі, але можна встановити значення за замовчуванням.
Progress Bar: відображає значення поруч із процентною шкалою, зазвичай для обчисленого значення. Поле не можна редагувати вручну, але можна встановити значення за замовчуванням.
Handle: відображає значок перетягування для ручного впорядкування записів у вигляді списку.
Example
Decimal (float)¶
Поле Decimal використовується для всіх десяткових чисел (додатних, від’ємних або нуля з десятковою частиною).
Примітка
Десяткові числа відображаються з двома десятковими знаками після коми в інтерфейсі, але зберігаються в базі даних з більшою точністю.
Monetary: схоже на використання поля Monetary. Рекомендується використовувати останнє, оскільки воно пропонує більше функцій.
Percentage: відображає символ відсотка
%після значення.Percentage Pie: відображає значення всередині процентного кола, зазвичай для обчисленого значення. Поле не можна редагувати вручну, але можна встановити значення за замовчуванням.
Progress Bar: відображає значення поруч із процентною шкалою, зазвичай для обчисленого значення. Поле не можна редагувати вручну, але можна встановити значення за замовчуванням.
Time: значення має відповідати формату hh:mm з максимум 59 хвилинами.
Example
Monetary (monetary)¶
Поле Monetary використовується для всіх грошових значень.
Примітка
Коли ви вперше додаєте поле Monetary, вам пропонується додати поле Currency, якщо воно ще не існує в моделі. Odoo пропонує додати поле Currency за вас. Після його додавання знову додайте поле Monetary.
Example
Html (html)¶
Поле Html використовується для додавання тексту, який можна редагувати за допомогою HTML-редактора Odoo.
Multiline Text: вимикає HTML-редактор Odoo, щоб дозволити редагування необробленого HTML.
Example
Date (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)¶
Поле Один до багатьох використовується для відображення існуючих зв’язків між записом у поточній моделі та кількома записами з іншої моделі.
Example
Ви можете додати поле Один до багатьох до моделі Контакт, щоб переглянути багато замовлень на продаж одного клієнта.
Примітка
Щоб використовувати поле Один до багатьох, дві моделі мають бути вже пов’язані за допомогою поля Багато до одного. Зв’язки Один до багатьох не існують незалежно: виконується зворотний пошук існуючих зв’язків Багато до одного.
Рядки (one2many)¶
Поле Рядки використовується для створення таблиці з рядками та стовпцями (наприклад, рядки товарів у замовленні на продаж).
Порада
Щоб змінити стовпці, клацніть на поле Рядки, а потім Редагувати подання списку. Щоб відредагувати форму, яка з’являється, коли користувач клацає Додати рядок, натисніть Редагувати подання форми.
Example
Багато до багатьох (many2many)¶
Поле Багато до багатьох використовується для зв’язування кількох записів з іншої моделі з кількома записами в поточній моделі. Поля Багато до багатьох можуть використовувати Вимкнути створення, Вимкнути відкриття, Домен, так само як поля Багато до одного.
Example
У моделі Завдання поле Виконавці є полем Багато до багатьох, що вказує на модель Контакт. Це дозволяє призначити одного користувача багатьом завданням, а багатьох користувачів — одному завданню.
Порада
Щоб запускати пошук пов’язаного запису лише після введення мінімальної кількості символів, введіть потрібне число в поле Пошук з упередженням. У ситуаціях, коли набір даних великий, це може покращити як релевантність пошуку, так і продуктивність.
Прапорці: користувачі можуть вибрати кілька значень за допомогою прапорців.
Теги: користувачі можуть вибрати кілька значень, що з’являються в округлих формах, також відомих як теги. Це має той самий ефект, що й вибір поля Теги.
Додати поле до представлення¶
За допомогою Studio можна додати:
нове поле до форми або представлення списку моделі
існуюче поле, тобто поле, яке вже існує на моделі, до будь-якого представлення цієї моделі
Порада
Додайте нове поле до форми або представлення списку, щоб зберегти його в моделі та зробити доступним як існуюче поле в інших представленнях тієї ж моделі.
Додати нове поле¶
Порада
Активуйте режим розробника перед додаванням нового поля, щоб бачити та мати можливість редагувати технічну назву поля під час налаштування.
Щоб додати нове поле, виконайте такі кроки:
Перейдіть до відповідної форми або списку, потім клацніть піктограму (Перемкнути Studio) у верхньому правому куті. Або ж, маючи відкритим будь-який застосунок, клацніть піктограму (Перемкнути Studio), а потім перейдіть до відповідної форми або списку.
На вкладці Додати перетягніть потрібний тип поля з розділу Нові поля і помістіть його у бажану позицію. Якщо нове поле є реляційним полем, виберіть відповідне зворотне поле, модель або пов’язане поле у спливаючому вікні.
На вкладці Властивості налаштуйте властивості поля:
Введіть Мітку, яка відображатиметься як назва поля в інтерфейсі користувача; вона також використовується для генерації типової технічної назви поля.
Клацніть будь-де поза полем Мітка, щоб побачити оновлену Технічну назву з типовою технічною назвою.
Примітка
Технічну назву нового поля можна редагувати в Studio під час налаштування. В будь-який інший час технічну назву поля можна змінити лише через технічні налаштування бази даних.
Технічна назва нового поля, доданого за допомогою Studio, за замовчуванням має префікс
x_studio_.
За бажанням виберіть інший Віджет зі спадного списку; типовий віджет для типу поля вибрано за замовчуванням.
За бажанням налаштуйте будь-які інші властивості поля.
Клацніть Закрити у верхньому правому куті, щоб закрити Studio.
Див. також
Додати наявне поле¶
Щоб додати поле, яке існує в моделі, але відсутнє в поточному поданні, виконайте такі кроки:
Перейдіть до відповідного подання, потім клацніть піктограму (Перемкнути Studio) у верхньому правому куті. Або ж, маючи відкритим будь-який застосунок, клацніть піктограму (Перемкнути Studio), а потім перейдіть до відповідного подання.
На вкладці Додати на лівій панелі клацніть Наявні поля , щоб відкрити список усіх полів моделі, які наразі відсутні в поданні.
Перетягніть потрібне поле і помістіть його у бажану позицію.
На вкладці Властивості налаштуйте відповідні властивості для поля в поточному поданні.
Примітка
Різні властивості можна налаштовувати незалежно для різних подань, якщо потрібно, зокрема Мітку, Віджет, видимість поля для певних груп користувачів, а також те, чи є поле Невидимим, Обов’язковим чи Лише для читання.
Клацніть Закрити у верхньому правому куті, щоб закрити Studio.
Властивості поля¶
Низку загальних властивостей можна налаштувати для більшості комбінацій типу поля та віджета. Додаткові властивості доступні залежно від конкретного вибраного типу поля та віджета. Наприклад, поля Дата і час, які використовують віджет Дата і час або Діапазон дат, мають різні специфічні властивості, які можна налаштувати.
Загальні властивості¶
Клас: Використовуйте Bootstrap або інші власні класи, визначені в Odoo, щоб налаштувати стилізацію та відображення поля в інтерфейсі користувача.
Невидиме: увімкніть цю властивість, коли користувачам не потрібно бачити поле в інтерфейсі. Це допомагає розвантажити інтерфейс, показуючи лише важливі поля залежно від конкретної ситуації.
Обов’язкове: увімкніть цю властивість, якщо поле завжди має бути заповнене користувачем перед тим, як можна буде продовжити.
Тільки для читання: увімкніть цю властивість, якщо користувачі не повинні мати можливості змінювати поле.
Порада
Властивість Невидимий також застосовується всередині Studio. Щоб переглянути приховані поля в Studio, клацніть на вкладці Вигляд подання та увімкніть Показати невидимі елементи.
Властивості Невидимий, Обов’язковий та Лише для читання можна увімкнути лише для певних записів, клацнувши Умовний та створивши фільтр.
Example
У формі перегляду моделі Контакт поле Звертання відображається лише тоді, коли вибрано Фізична особа, оскільки це поле не буде корисним для контакту Компанія.
Назва: Це назва поля в інтерфейсі користувача; назва використовується для генерування технічної назви поля.
Підказка: щоб пояснити призначення поля, додайте опис. Текст відображається у вікні підказки при наведенні курсора на знак питання біля мітки поля.
Технічна назва: Щоб переглянути технічну назву поля в Studio (і під час налаштування нового поля редагувати її за потреби), активуйте режим розробника.
Порада
Якщо це поле потрібно оновити, але воно більше не редагується через Studio, технічну назву можна змінити через технічні налаштування бази даних.
Віджет: щоб змінити стандартний вигляд або функціональність поля, виберіть один із доступних віджетів.
Заповнювач: Щоб надати приклад того, як слід заповнити поле, додайте фіксований текст заповнювача. Текст відображається світло-сірим кольором, доки не буде введено значення.
Динамічний заповнювач: Щоб надати значення вибраного поля як приклад того, як слід заповнити поле. Текст відображається світло-сірим кольором, доки не буде введено значення.
Значення за замовчуванням: щоб відображати значення за замовчуванням у полі під час створення запису, додайте значення.
Дозволити видимість групам: щоб обмежити, які користувачі можуть бачити поле, виберіть одну або кілька груп доступу користувачів.
Заборонити видимість групам: щоб запобігти перегляду поля певними користувачами, виберіть одну або кілька груп доступу користувачів.
Властивості для полів Дата і час¶
Для полів Дата та час, що використовують віджет Дата та час або Діапазон дат, доступні деякі спеціальні властивості:
Мінімальна точність: Визначає найменшу одиницю дати, яку необхідно вибрати у виборі дати. Можливі значення:
День,Місяць,РікабоДесятиліття. Якщо значення не вибрано, користувач повинен вибрати день у виборі дати.Максимальна точність: Визначає найбільшу одиницю дати, яку можна використовувати для навігації виборі дати. Можливі значення:
День,Місяць,РікабоДесятиліття. Якщо значення не вибрано, користувач може переміщатися виборі дати за десятиліттями.Попередження для майбутніх дат: увімкніть цю властивість, щоб відображати значок попередження при виборі майбутньої дати.
Формат дати: Типово дата відображатиметься як
Apr 2, 2025, 08:05 AM. Увімкніть цю властивість, щоб показати дату у форматі4/2/2025 08:05:00. Числовий режим — це формат, встановлений для поточної мови. У цьому режимі секунди завжди показуються.Показати дату: Ця властивість типово увімкнена для полів Дата й час. Вимкніть цю властивість, щоб показати лише час.
Показувати час: ця властивість увімкнена за замовчуванням для полів Дата і час. У полі тільки для читання вимкніть властивість, щоб показувати лише дату. Наприклад, це може зробити список менш перевантаженим.
Показати секунди: Ця властивість типово вимкнена для полів Дата й час. Увімкніть властивість, щоб показати секунди.
Інтервал часу: введіть значення, щоб визначити інтервали хвилин, які показуються у виборі часу. Наприклад, введіть 15, щоб дозволити інтервали в чверть години. Значення за замовчуванням встановлено на 5 хвилин.
Найраніша прийнятна дата: введіть найранішу дату, яку можна вибрати у виборі дати, у форматі ISO, тобто
YYYY-MM-DD. Якщо поточна дата завжди є найранішою прийнятною датою, введітьtoday. У виборі дати дати до найранішої прийнятної дати відображаються сірим.Найпізніша прийнятна дата: введіть найпізнішу дату, яку можна вибрати у виборі дати, у форматі ISO, тобто
YYYY-MM-DD. Якщо поточна дата завжди є найпізнішою прийнятною датою, введітьtoday. У виборі дати дати після найпізнішої прийнятної дати відображаються сірим.
Зміна властивостей поля¶
Щоб змінити властивості поля, виконайте такі кроки:
Перейдіть до відповідного подання, потім клацніть піктограму (Перемкнути Studio) у верхньому правому куті. Або ж, маючи відкритим будь-який застосунок, клацніть піктограму (Перемкнути Studio), а потім перейдіть до відповідного подання.
Клацніть на відповідне поле.
На вкладці Властивості внесіть будь-які бажані зміни до властивостей поля.
Порада
Різні властивості можна налаштовувати незалежно для різних поглядів, наприклад Назва, Віджет, видимість поля для певних груп користувачів, а також те, чи є поле Невидимим, Обов’язковим або Лише для читання.
Клацніть Закрити у верхньому правому куті, щоб закрити Studio.
Примітка
Технічну назву поля (видиму в Studio з активованим режимом розробника) не можна змінити в Studio; це можна зробити через технічні налаштування бази даних.
Зміна технічної назви поля¶
Щоб змінити технічну назву поля, активуйте режим розробника, а потім виконайте такі кроки:
З відкритим полем у Studio скопіюйте технічну назву поля.
Видаліть поле з усіх видів у Studio, потім натисніть Закрити, щоб закрити Studio.
Перейдіть до .
Вставте скопійовану технічну назву в рядок пошуку, потім відкрийте відповідне поле.
Змініть Назва поля за потреби.
Після оновлення технічної назви поля його можна додати (назад) до відповідного виду (видів) зі списку наявних полів.
Важливо
Під час оновлення технічної назви поля переконайтеся, що збережено принаймні префікс x_, який є обов’язковим для будь-якого власного поля; для полів, створених за допомогою Studio, зберігайте префікс x_studio_, щоб такі поля можна було легше ідентифікувати.
Видалення поля з виду¶
Щоб видалити поле з виду, виконайте такі дії:
Перейдіть до відповідного подання, потім клацніть піктограму (Перемкнути Studio) у верхньому правому куті. Або ж, маючи відкритим будь-який застосунок, клацніть піктограму (Перемкнути Studio), а потім перейдіть до відповідного подання.
Клацніть на відповідне поле.
Прокрутіть до кінця вкладки Властивості, потім натисніть Видалити з виду.
Натисніть Ok, щоб підтвердити дію.
Порада
Видалене поле можна легко додати назад до виду пізніше, якщо потрібно.
Якщо мета полягає в тому, щоб розвантажити вид, також можна змінити поле і зробити його Невидимим у відповідному виді.