План решения

Урок 2 из 9

5 мин

Мы продемонстрируем процесс создания собственной сущности «Инвестиционный проект» в Битрикс24.

Процесс будет разделён на несколько частей:

  1. Список инвестиционных проектов.
  2. Фильтр для main.ui.grid.
  3. Детальная страница инвестиционного проекта.
  4. REST API для получения инвестиционного проекта.
  5. Улучшенное открытие инвестиционного проекта в слайдере.
  6. Сохранение и отображение истории изменения инвестиционного проекта.

Общий план реализации такой:

  • Создать класс, описывающий таблицу сущности в БД.
  • Поля таблицы:
    • id - первичный ключ
    • Наименование - строка
    • Дата создания - дата/время
    • Предполагаемая дата окончания - дата/время
    • Реальная дата окончания - дата/время
    • Описание - текст
    • Ответственный - число (идентификатор пользователя)
    • Комментарий - текст
    • Доход - строка
  • Создать класс, описывающий таблицу, хранящую список изменений по инвестпроектам:
    • Поля таблицы:
      • id - первичный ключ
      • кто изменил - число (идентификатор пользователя)
      • поле - строка
      • предыдущее значение - строка
      • новое значение - строка
      • дата - дата/время
  • Добавить миграции для создания таблиц инвестпроектов и истории:
    • Создавать таблицы через sql-команды;
  • Используя ORM, разработать функции для выполнения CRUD операций над инвестпроектами:
    • Получение списка;
    • Получение конкретной записи;
    • Создание новой записи;
    • Обновление существующей записи.
  • Разработать аналогичные функции для истории инвестпроектов.
  • Создать на портале раздел для инвестпроектов.
  • Создать комплексный компонент для маршрутизации запросов.
  • Создать компонент списка инвестпроектов:
    • Компонент должен получать данные из соответствующих таблиц;
    • Для получения данных необходимо использовать разработанные ранее функции;
    • Список должен отображаться с помощью компонента bitrix:main.ui.grid.
    • Добавить фильтр:
      • Доступные поля:
        • Название
        • Дата создания
        • Ответственный
        • Планируемая дата окончания
        • Реальная дата окончания
    • Добавить постраничную навигацию - 20 элементов на странице.
  • С помощью компонента bitrix:ui.form создать компонент карточки редактирования инвестпроекта:
    • Карточка должна открываться в слайдере;
    • В карточке должно быть:
      • Основная информация.
      • История редактирования выбранного инвестпроекта.
  • Создание REST API для получения данных об инвестиционных проектов:
    • Создать метод для получения списка данных.
    • Создать метод для получения одного инвестпроекта.

Список ресурсов

Материалы для практики