Поля та віджети¶
Поля формують структуру моделей бази даних. Якщо уявити модель як таблицю або електронну таблицю, то поля - це стовпці, а записи - окремі рядки. Поля також визначають тип даних, що в них зберігаються. Спосіб відображення та форматування даних поля в UI визначається відповідним віджетом.
За допомогою Studio можна:
додати нові поля до вашої бази даних. З технічної точки зору, в Odoo існує 15 типів полів. Однак у Studio ви можете вибирати з 20 типів полів, оскільки деякі типи полів доступні кілька разів із різними віджетами за замовчуванням;
додати існуючі поля,, тобто поля, які вже існують на моделі, до будь-якого вигляду цієї моделі;
Типи полів¶
Поля можна умовно розділити на дві категорії:
Прості поля, які містять базові значення, такі як текст, числа, файли тощо.
Реляційні поля, які використовуються для зв’язування та відображення даних із записів на іншій моделі.
Прості поля¶
Прості поля містять основні значення, такі як текст, числа, файли тощо.
Примітка
Віджети, що не є стандартними, якщо вони доступні, представлені у вигляді маркованих списків або підзаголовків нижче.
Текст (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 можна додати:
нове поле до форми або представлення списку моделі
існуюче поле, тобто поле, яке вже існує у відповідній моделі, для будь-якого представлення цієї моделі
Порада
Додайте нове поле до представлення форми або списку, щоб зберегти його в моделі та зробити доступним як існуюче поле в інших представлення тієї ж моделі.
Додати нове поле¶
Порада
Активуйте режим розробника перед додаванням нового поля, щоб бачити та мати можливість редагувати технічну назву поля під час налаштування.
Щоб додати нове поле, виконайте такі дії:
Перейдіть до відповідної форми або списку, а потім натисніть піктограму (Toggle Studio) у правому верхньому куті. Також, коли будь-який додаток відкрито, натисніть піктограму (Toggle Studio), а потім перейдіть до відповідної форми або списку.
На вкладці Додати перетягніть відповідний тип поля з розділу Нові поля і відпустіть його у потрібному місці. Якщо нове поле є реляційним полем, у спливаючому вікні виберіть відповідне взаємне поле, модель або пов’язане поле.
На вкладці Властивості налаштуйте властивості поля:
Введіть Мітка, яка відображатиметься як назва поля в інтерфейсі користувача; це також використовується для створення технічної назви поля за замовчуванням.
Клацніть будь-де за межами поля Мітка, щоб побачити Технічна назва оновленою технічною назвою за замовчуванням.
Примітка
Технічна назва нового поля можна редагувати в Studio під час налаштування. В будь-який інший час технічну назву поля можна змінити лише через технічні налаштування бази даних.
Технічна назва нового поля, доданого за допомогою Studio, за замовчуванням має префікс
x_studio_.
За бажанням, виберіть інший Віджет за допомогою випадаючого списку; віджет за замовчуванням для тип поля вибрано за замовчуванням.
За бажанням, налаштуйте будь-які інші властивості поля.
Натисніть Закрити у верхньому правому куті, щоб закрити Studio.
Додати існуюче поле¶
Щоб додати поле, яке існує в моделі, але відсутнє в поточному поданні, виконайте такі дії:
Перейдіть до потрібного вікна, а потім натисніть на піктограму (Toggle Studio) у правому верхньому куті. Також, коли будь-який додаток відкрито, натисніть на піктограму (Toggle Studio), а потім перейдіть до потрібного вікна.
На вкладці Додати, на лівій панелі, натисніть Існуючі поля , щоб відкрити список усіх полів моделі, яких наразі немає у вигляді.
Перетягніть відповідне поле та розмістіть його в потрібному місці.
На вкладці Властивості налаштуйте відповідні властивості для поля в поточному поданні.
Примітка
За потреби для різних видів можна окремо налаштувати різні параметри, такі як Мітка, Віджет, видимість поля для певних груп користувачів, а також те, чи є поле Невидимий, Обов’язково або Тільки для читання.
Натисніть Закрити у верхньому правому куті, щоб закрити Studio.
Властивості поля¶
Для більшості комбінацій типу поля та віджета можна налаштувати низку загальних властивостей. Додаткові властивості доступні залежно від вибраного типу поля та віджета. Наприклад, поля Дата та час, що використовують віджет Дата та час або Діапазон дат, мають різні специфічні властивості, які можна налаштувати.
Загальні властивості¶
Невидимий: Увімкніть цю властивість, коли користувачам не потрібно переглядати поле в інтерфейсі користувача. Це допомагає розрядити інтерфейс користувача, показуючи лише основні поля залежно від конкретної ситуації.
Обов’язковий: Увімкніть цю властивість, якщо поле завжди має бути заповнене користувачем перед продовженням.
Тольки для читання: Увімкніть цю властивість, якщо користувачі не повинні мати можливості змінювати поле.
Порада
Властивість Невидимий також застосовується всередині Studio. Щоб переглянути приховані поля в Studio, клацніть вкладку Представлення представлення та увімкніть Показувати невидимі елементи.
Властивості Невидимий, Обов’язково та Тільки для читання можна ввімкнути лише для певних записів, натиснувши Умовний та створивши фільтр.
Example
У формі моделі Контакт поле Посада відображається лише тоді, коли вибрано Фізична особа, оскільки це поле не буде корисним для контакту Компанія.
Мітка: Це назва поля в інтерфейсі користувача; мітка використовується для створення технічної назви поля.
Підказка: Щоб пояснити призначення поля, додайте опис. Текст відображається всередині підказки, якщо навести курсор миші на знак питання поруч із підписом поля.
Технічна назва: Щоб переглянути технічну назву поля в Studio (і, під час налаштування нового поля, відредагувати її за потреби), активуйте режим розробника.
Порада
Якщо це поле потрібно оновити, але його більше не можна редагувати через Studio, технічну назву можна змінити через технічні налаштування бази даних.
Віджет: щоб змінити типовий вигляд або функціональність поля, виберіть один із доступних віджетів.
Заповнювач: Щоб навести приклад того, як слід заповнювати поле, додайте текст заповнювача. Текст відображається світло-сірим кольором, доки не буде введено значення.
Значення за замовчуванням: Щоб відобразити значення за замовчуванням у полі під час створення запису, додайте значення.
Дозволити видимість групам: Щоб обмежити кількість користувачів, які можуть переглядати поле, виберіть один або декілька прав доступу користувачів групи.
Заборонити видимість для груп: Щоб певні користувачі не бачили поле, виберіть один або декілька прав доступу користувачів групи.
Властивості для полів Дата й час¶
Для полів Дата та час, у яких встановлено віджет Дата та час або Діапазон дат, доступні деякі специфічні властивості:
Інтервал часу: Введіть значення, щоб визначити хвилинні інтервали, що відображаються у селекторі часу. Наприклад, введіть 15, щоб дозволити інтервали в чверть години. Значення за замовчуванням встановлено на 5 хвилин.
Попередження щодо майбутніх дат: Увімкніть цю властивість, щоб відображати значок попередження, якщо вибрано майбутню дату.
Показувати час: Ця властивість увімкнена за замовчуванням для полів Дата та час. У полі лише для читання вимкніть цю властивість, щоб відображалася лише дата. Це може, наприклад, зменшити захаращеність списку.
Найраніша прийнята дата: Введіть найранішу дату, яку можна вибрати у селекторі дати у форматі ISO, тобто
YYYY-MM-DD. Якщо поточна дата завжди є найранішою прийнятою датою, введітьсьогодні. У селекторі дати дати, що передують найранішій прийнятій даті, будуть неактивні.Остання прийнята дата: Введіть останню дату, яку можна вибрати у селекторі дати, у форматі ISO, тобто
YYYY-MM-DD. Якщо поточна дата завжди є останньою прийнятою датою, введітьсьогодні. У селекторі дати дати, пізніші за останню прийняту дату, будуть неактивні.
Зміна властивостей поля¶
Щоб змінити властивості поля, виконайте такі дії:
Перейдіть до потрібного вікна, а потім натисніть на піктограму (Toggle Studio) у правому верхньому куті. Також, коли будь-який додаток відкрито, натисніть на піктограму (Toggle Studio), а потім перейдіть до потрібного вікна.
Натисніть на відповідне поле.
На вкладці Властивості внесіть будь-які потрібні зміни до властивостей поля.
Порада
Різні властивості можна налаштувати незалежно для різних подань, такі як Мітка, Віджет, видимість поля для певних груп користувачів, а також чи є поле Невидимий, Обов’язковий або Тільки для читання.
Натисніть Закрити у верхньому правому куті, щоб закрити Studio.
Примітка
Поля Технічна назва (видима в Studio з активованим режимом розробника) неможливо змінити в Studio; це можна зробити через технічні налаштування бази даних.
Зміна технічної назви поля¶
Щоб змінити технічну назву поля, активуйте режим розробника, а потім виконайте такі дії:
Відкрийте поле в Studio та скопіюйте його технічну назву.
Видалити поле з усіх представлень у Studio, потім натисніть Закрити, щоб закрити Studio.
Перейдіть до .
Вставте скопійовану технічну назву в рядок пошуку, а потім відкрийте відповідне поле.
Змініть Назва поля за потреби.
Після оновлення технічної назви поля, його можна буде додати (назад) до відповідного(их) представлення(ів) зі списку існуючих полів.
Важливо
Під час оновлення технічної назви поля обов’язково збережіть принаймні префікс x_, який є обов’язковим для будь-якого користувацького поля; для полів, створених за допомогою Studio, збережіть префікс x_studio_, щоб такі поля було легше ідентифікувати.
Видалення поля з представлення¶
Щоб видалити поле з представлення, виконайте такі дії:
Перейдіть до потрібного вікна, а потім натисніть на піктограму (Toggle Studio) у правому верхньому куті. Також, коли будь-який додаток відкрито, натисніть на піктограму (Toggle Studio), а потім перейдіть до потрібного вікна.
Натисніть на відповідне поле.
Прокрутіть униз вкладки Властивості, а потім натисніть Видалити з представлення.
Натисніть ОК, щоб підтвердити дію.
Порада
Видалене поле можна легко повернути до представлення пізніше, якщо це необхідно.
Якщо метою є очищення представлення, також можна змінити поле та зробити його Невидимим у відповідному представленні.