Дмитрий
daa41bcecf
feat(sales): пересмотр состава тарифов портала продаж — 2 вида
...
Решение заказчика 03.07.2026: два вида тарифа вместо трёх — суточный
оклад daily_salary и процент от пополнений topup_step. Убраны
percent_oborot и fix_per_client.
Миграция 2026_07_03_120000 меняет CHECK sales_tariffs.kind, освобождает
FK sales_users.current_tariff_id и sales_client_assignments.tariff_id,
удаляет тарифы уходящих видов. SalesEarningsService для уходящих видов
возвращает 0 по default-ветке. Снимки привязок не трогаются.
Обновлены контроллеры тарифов и дохода, сервисы Earnings и Metrics,
фронт SalesTariffsView и api/sales.ts, демо-сид, тесты бэка и фронта,
CHANGELOG схемы v8.61 и спека портала.
Не на проде: ветка feat/sales-portal-demo.
Проверка: Sales Feature 169/169, Vitest SalesTariffs 10/10, Larastan 0.
Co-Authored-By: Claude Opus 4.8 1M context <noreply@anthropic.com >
2026-07-05 19:25:19 +03:00
..
2026-05-08 17:32:58 +03:00
2026-06-17 05:17:12 +03:00
2026-06-17 05:17:12 +03:00
2026-06-17 05:17:12 +03:00
2026-05-17 07:13:50 +03:00
2026-06-28 10:14:47 +03:00
2026-05-09 05:33:21 +03:00
2026-06-17 05:17:12 +03:00
2026-05-17 07:13:50 +03:00
2026-05-17 07:13:50 +03:00
2026-06-29 11:25:16 +03:00
2026-06-28 08:42:19 +03:00
2026-06-28 10:14:47 +03:00
2026-06-28 12:58:19 +03:00
2026-06-17 05:17:12 +03:00
2026-06-28 12:58:19 +03:00
2026-06-26 04:27:32 +03:00
2026-06-25 18:52:39 +03:00
2026-06-17 05:17:12 +03:00
2026-06-17 05:17:12 +03:00
2026-05-17 08:18:44 +03:00
2026-05-18 03:42:41 +03:00
2026-05-18 03:42:41 +03:00
2026-06-28 12:05:31 +03:00
2026-06-28 12:05:31 +03:00
2026-06-17 05:17:12 +03:00
2026-06-19 11:29:46 +03:00
2026-05-28 09:52:42 +03:00
2026-06-19 11:29:46 +03:00
2026-05-17 03:28:05 +03:00
2026-06-18 23:33:26 +03:00
2026-06-18 23:33:26 +03:00
2026-06-23 03:47:19 +03:00
2026-06-25 12:21:55 +03:00
2026-05-26 20:39:21 +03:00
2026-06-29 11:25:16 +03:00
2026-06-25 12:21:55 +03:00
2026-06-23 09:06:46 +03:00
2026-06-28 12:58:19 +03:00
2026-05-23 18:46:22 +03:00
2026-05-17 03:33:51 +03:00
2026-05-12 10:06:08 +03:00
2026-06-25 12:28:38 +03:00
2026-06-27 12:47:49 +03:00
2026-05-12 20:23:51 +03:00
2026-06-17 13:30:46 +03:00
2026-06-17 05:17:12 +03:00
2026-06-28 12:58:19 +03:00
2026-06-25 12:54:32 +03:00
2026-06-17 05:17:12 +03:00
2026-06-19 11:29:35 +03:00
2026-05-18 03:42:40 +03:00
2026-05-18 03:42:40 +03:00
2026-06-19 11:29:35 +03:00
2026-06-19 11:29:35 +03:00
2026-06-28 12:58:19 +03:00
2026-05-12 09:49:37 +03:00
2026-05-12 20:23:51 +03:00
2026-06-27 12:47:49 +03:00
2026-06-28 12:58:19 +03:00
2026-05-12 20:23:51 +03:00
2026-05-17 02:23:26 +03:00
2026-06-25 13:41:27 +03:00
2026-06-25 12:25:04 +03:00
2026-05-16 10:09:29 +03:00
2026-06-19 17:09:59 +03:00
2026-06-17 05:17:12 +03:00
2026-06-27 10:23:55 +03:00
2026-06-29 11:25:16 +03:00
2026-06-22 19:19:58 +03:00
2026-06-28 12:58:19 +03:00
2026-05-08 17:56:59 +03:00
2026-05-17 07:13:51 +03:00
2026-06-23 03:47:19 +03:00
2026-05-12 09:45:22 +03:00
2026-06-22 20:54:28 +03:00
2026-05-18 03:42:41 +03:00
2026-06-28 12:58:19 +03:00
2026-05-12 15:20:18 +03:00
2026-06-24 16:15:06 +03:00
2026-05-12 20:23:51 +03:00
2026-05-18 03:42:41 +03:00
2026-06-24 16:07:02 +03:00
2026-06-24 16:07:02 +03:00
2026-06-27 13:32:09 +03:00
2026-05-12 22:14:51 +03:00
2026-05-09 11:27:57 +03:00
2026-06-19 11:29:46 +03:00
2026-05-12 09:59:22 +03:00
2026-06-17 05:17:12 +03:00
2026-06-23 11:32:42 +03:00
2026-05-21 08:37:26 +03:00
2026-06-25 19:08:47 +03:00
2026-06-24 16:20:59 +03:00
2026-05-18 14:33:33 +03:00
2026-05-18 03:41:46 +03:00
2026-05-21 08:37:26 +03:00
2026-06-28 12:58:19 +03:00
2026-05-21 08:37:26 +03:00
2026-05-13 13:30:51 +03:00
2026-06-17 07:22:08 +03:00
2026-06-24 16:48:35 +03:00
2026-05-16 12:45:51 +03:00
2026-05-16 12:45:51 +03:00
2026-06-22 18:32:10 +03:00
2026-05-17 08:18:43 +03:00
2026-06-27 13:43:10 +03:00
2026-07-02 18:22:49 +03:00
2026-07-02 21:07:10 +03:00
2026-07-02 19:50:24 +03:00
2026-07-02 19:50:24 +03:00
2026-07-02 20:29:32 +03:00
2026-07-02 20:45:17 +03:00
2026-06-30 13:27:04 +03:00
2026-07-02 21:40:59 +03:00
2026-07-02 19:50:24 +03:00
2026-07-02 20:29:32 +03:00
2026-07-02 21:23:46 +03:00
2026-07-02 18:22:49 +03:00
2026-07-05 19:25:19 +03:00
2026-06-28 12:58:19 +03:00
2026-05-09 05:33:21 +03:00
2026-05-12 20:23:51 +03:00
2026-05-09 05:33:21 +03:00
2026-05-23 20:02:38 +03:00
2026-06-17 03:17:32 +03:00
2026-06-17 03:17:32 +03:00
2026-05-23 18:46:23 +03:00
2026-05-12 09:15:29 +03:00
2026-06-22 21:50:13 +03:00
2026-06-29 11:25:16 +03:00
2026-06-17 15:07:26 +03:00
2026-05-13 01:46:30 +03:00
2026-05-17 02:23:26 +03:00
2026-05-12 20:23:51 +03:00
2026-05-18 03:42:41 +03:00
2026-05-12 20:23:51 +03:00
2026-05-12 09:37:43 +03:00
2026-05-12 11:57:35 +03:00
2026-05-09 10:17:51 +03:00
2026-05-09 03:43:58 +03:00
2026-05-18 03:42:41 +03:00
2026-05-12 20:23:51 +03:00
2026-06-25 12:36:15 +03:00