Техническое задание: Расширение функционала формы транспортных накладных

Общая задача

Требуется доработать существующее веб-приложение, построенное на фреймворке Yii (PHP). Основная цель - расширить интерфейс и бэкенд-логику модуля работы с транспортными накладными, добавив в форму создания/редактирования новые поля.

Требования к работе

1. Изменения в интерфейсе (Frontend)

  • Интегрировать в существующую форму создания транспортных накладных дополнительные поля.
  • Вид и тип полей (текстовые, выпадающие списки, чекбоксы и т.д.) уточняются у исполнителя.
  • Обеспечить валидацию вводимых данных на стороне клиента (желательно).
  • Сохранить общий стиль и UX существующего интерфейса.

2. Изменения в бэкенде (Backend)

  • Модифицировать соответствующую модель (Model) для поддержки новых атрибутов.
  • Обновить правила валидации (rules) в модели.
  • Доработать контроллер (Controller) для обработки данных из новых полей при сохранении.
  • Обеспечить корректное сохранение и обновление данных в связанной таблице базы данных.

3. Работа с базой данных

  • Создать и применить миграцию (migration) для добавления необходимых колонок в таблицу базы данных.
  • Проверить целостность данных после внесения изменений.

Ожидаемый результат

  • В интерфейсе приложения отображается обновленная форма с новыми полями.
  • Данные из всех полей формы, включая новые, устойчиво сохраняются в базу данных.
  • Существующий функционал приложения не нарушен.
  • Код написан в соответствии со стандартами фреймворка Yii.

Технические детали

  • Язык программирования: PHP.
  • Фреймворк: Yii (версия уточняется).
  • Для связи фронтенда и бэкенда используется стандартный механизм Yii (форма, AJAX и т.д.).