• 0
  • 0
  • Урок 5. «Основы бизнес-логики»

    Цель занятия:

    Научиться реализовывать бизнес-логику в модулях Odoo: обработка событий, валидация данных, переопределение методов и работа с вычисляемыми полями.

    Ключевые разделы:

    1. Объект self.env

    • Доступ к моделям 
    • Контекст:
    • Текущий пользователь: self.env.user.

    2. Основные паттерны программирования

    • Проверка на пустоту списков 
    • Обработка множества записей
    • Защита от None

    3. Механизмы бизнес-логики

    • @api.onchange 
    • @api.constrains
    • Произвольные методы
    • Переопределение методов

    4. Вычисляемые поля

    • Поле с динамическим значением 
    • Значения по умолчанию

    5. Практическое задание

    Для модуля СНТ «Рассвет»:

    1. Onchange: При выборе председателя автоматически заполнять поле secretary.
    2. Валидация: Запретить дублирование названий собраний (@api.constrains).
    3. Вычисляемое поле: participants_count — количество участников собрания.
    4. Метод по кнопке: Проверка кворума (если участников > 10 — выводить сообщение).
    5. Контекст и домены:
      • Для вопросов собрания: context="{'default_meeting_id': active_id}".
      • Домен для протокола: domain="[('meeting_id', '=', active_id)]".

    Итог:

    • Освоены ключевые инструменты для реализации бизнес-логики в Odoo.
    • Практическое применение: доработка модуля для СНТ с валидацией, вычислениями и интерактивными элементами.


    Рейтинг
    0 0

    На данный момент комментарии отсутствуют.

    чтобы первым оставить комментарий.

    1. 1. Какой декоратор используется для метода, который должен выполняться при изменении значения поля?
    2. 2. Как получить доступ к модели medical.physician через self.env?

    To install this Web App in your iPhone/iPad press and then Add to Home Screen.