Что это за раздел
Услуга задачи мастерской — это услуга из справочника компании (прайс сервисных работ), добавленная к конкретной ремонтной задаче. У каждой такой записи хранится, во-первых, снимок выбранного тарифа (цена и срок на момент добавления), а во-вторых — фактическая итоговая цена, которую и берут в расчёт стоимости задачи. В отличие от расходников (складских ресурсов), услуги не имеют складского учёта: это работа, а не материал. Поэтому у услуги нет количества и списания остатков — есть только цена и справочная длительность.Ключевая роль услуги в модуле: её итоговая цена суммируется с ценами всех остальных услуг и расходников задачи и формирует общую стоимость ремонтной задачи. Любое добавление, изменение или удаление услуги автоматически запускает пересчёт стоимости задачи.
Модель данных
Снимок тарифа (цена и длительность) и итоговая цена — это отдельные величины. Система не пересчитывает итоговую цену из тарифа сама: оба значения приходят от клиента при создании или изменении услуги. Снимок нужен, чтобы зафиксировать условия на момент добавления, даже если позже прайс изменят. В стоимость задачи попадает именно итоговая цена, а не цена по тарифу.
Логика и побочные эффекты
Автоматический пересчёт стоимости задачи
Каждое сохранение услуги (создание или изменение) и каждое удаление услуги автоматически запускают пересчёт стоимости связанной ремонтной задачи. Обработчик просто адресует пересчёт к той задаче, к которой привязана услуга. Пересчёт задачи собирает три суммы:- сумму итоговых цен всех расходников задачи — стоимость материалов;
- сумму итоговых цен всех услуг задачи — стоимость работ;
- сумму всех оплат по задаче.
Автоматическое заполнение служебных полей
- Привязка к ремонтной задаче берётся из адреса запроса (идентификатор задачи в пути), клиент её не передаёт.
- Компания-владелец проставляется автоматически из текущего контекста.
- Даты создания и обновления ведутся автоматически.
Как это используется в API
Услуги задачи доступны через два адреса, оба работают в разрезе конкретной задачи (её идентификатор всегда присутствует в адресе):- Список и добавление — показывает все услуги одной задачи и позволяет добавить новую. Список отдаётся целиком, без постраничной разбивки, отсортированным от новых к старым.
- Просмотр, изменение и удаление одной услуги — работа с отдельной записью услуги внутри задачи.
Разные представления на чтение и запись
- При чтении (просмотр, список) услуга отдаётся вместе с развёрнутыми данными связанной услуги из справочника — удобно показывать в интерфейсе название и параметры услуги, а не только её идентификатор.
- При создании и изменении используется облегчённое представление: связанная услуга передаётся идентификатором, привязка к задаче игнорируется во входных данных и берётся из адреса запроса.
Связанные страницы
Глоссарий: Услуги
Полный перечень полей услуги задачи с типами и значениями по умолчанию.
Мастерская (ремонтные задачи)
Обзорная страница модуля со всеми его разделами.
Воронка и задачи
Kanban-воронки, этапы и ремонтные задачи с их статусами, порядком и агрегатами по списку.
Ресурсы и склад
Складской справочник расходников и их списание/возврат при привязке к задачам с контролем остатков.
Стоимость и оплаты
Автоагрегация цены задачи из ресурсов и услуг и суммы оплат из платежей CRM, плюс статусы оплаты.
Метрика прибыли
Проецирование прибыли по ресурсам и услугам завершённой задачи в общую таблицу метрик прибыли.
Автосмена состояния инвентаря
Автоматический перевод инвентаря в целевое состояние этапа при движении задачи по воронке.