Загрузка...

{{ pageTitle }}

{{ userName }}

Заказы за 14 дней

Выручка за 14 дней

Новые клиенты

Средний чек

{{ stats.total_orders }} Всего заказов
{{ stats.new_orders }} Новых заказов
{{ stats.total_customers }} Покупателей
{{ formatPrice(stats.total_revenue) }} Выручка
Заказы сегодня {{ stats.orders_today }}
Выручка сегодня {{ formatPrice(stats.revenue_today) }}
В обработке {{ stats.processing_orders }}
Отправлено {{ stats.shipped_orders }}

Последние заказы

ID Дата Покупатель Сумма Статус
#{{ order.id }} {{ formatDate(order.created_at) }} {{ order.user_name }} {{ formatPrice(order.total) }} {{ getStatusLabel(order.status) }}
ID Дата Покупатель Контакт Товаров Сумма Статус Действия
Загрузка...
Заказы не найдены
#{{ order.id }} {{ formatDate(order.created_at) }} {{ order.user_name }}
{{ order.shipping_phone }} {{ order.user_email }}
{{ order.items_count }} {{ formatPrice(order.total) }}
ID Имя Email Телефон Заказов Сумма покупок Регистрация Действия
Загрузка...
Покупатели не найдены
#{{ customer.id }} {{ customer.name }} {{ customer.email }} {{ customer.phone }} {{ customer.orders_count }} {{ formatPrice(customer.total_spent) }} {{ formatDate(customer.created_at) }}
Загрузка...
Товары не найдены

{{ product.name }}

SKU: {{ product.supplierArticleClean }}

Загрузка...
Товары не найдены

{{ product.name }}

SKU: {{ product.supplierArticleClean }}

{{ crmStats.orders_in_progress || 0 }}В работе
{{ formatPrice(crmStats.pipeline_value) }}В обработке
{{ crmStats.orders_delivered || 0 }}Доставлено
{{ crmStats.orders_cancelled || 0 }}Отменено
{{ stage.name }} {{ (crmOrders[stage.id] || []).length }}
{{ formatPrice(stage.orders_total || 0) }}
Заказ #{{ order.order_id }} {{ formatPrice(order.order_total) }}
{{ order.customer_name }} · {{ order.customer_phone }}
Перетащите заказ сюда
Загрузка...
ID Тема Клиент Категория Приоритет Статус Сообщений Обновлён Действия
Загрузка...
Обращения не найдены
#{{ ticket.id }}
{{ ticket.subject }} Заказ #{{ ticket.order_id }}
{{ ticket.customer_name || 'Без клиента' }} {{ ticket.customer_phone }}
{{ getTicketCategoryLabel(ticket.category) }} {{ getTicketPriorityLabel(ticket.priority) }} {{ getTicketStatusLabel(ticket.status) }} {{ ticket.messages_count || 0 }} {{ formatDateTime(ticket.updated_at) }}
{{ mktMailingStats.total_campaigns || 0 }} Всего рассылок
{{ mktMailingStats.sent_campaigns || 0 }} Отправлено
{{ mktMailingStats.avg_open_rate || 0 }}% Открываемость
{{ mktMailingStats.scheduled_campaigns || 0 }} Запланировано
Загрузка...
Рассылок пока нет
✉️ 📨 💬
{{ m.name }}
{{ { email: 'Email', telegram: 'Telegram', max: 'Max' }[m.channel] }}  ·  📅 {{ formatDateTime(m.scheduled_at) }} {{ formatDate(m.created_at) }}
👥 {{ m.recipients_count }} ✅ {{ m.delivered_count }} 👁 {{ m.opened_count }}
{{ getMktStatusLabel(m.status) }}
{{ mktPromoStats.active_promotions || 0 }} Активных акций
{{ mktPromoStats.planned_promotions || 0 }} Запланировано
{{ mktPromoStats.total_promotions || 0 }} Всего акций
{{ formatPrice(mktPromoStats.total_revenue) }} Выручка от акций
{{ ganttMonthLabel }}
Загрузка...
Нет акций в этом периоде. Нажмите «Новая акция» чтобы создать.
Акция {{ d.day }}
{{ item.name }}
{{ item.name }}
Акция Тип Площадка Период Скидка Промокод Статус Действия
Акции не найдены
{{ p.name }} {{ p.description }} {{ getPromoTypeLabel(p.type) }} {{ getPlatformLabel(p.platform) }} {{ formatDate(p.start_date) }} — {{ formatDate(p.end_date) }} {{ p.discount_percent ? p.discount_percent + '%' : (p.discount_amount ? formatPrice(p.discount_amount) : '—') }} {{ p.promo_code || '—' }} {{ getMktStatusLabel(p.status) }}
{{ mktAdStats.total_campaigns || 0 }} Кампаний
{{ mktAdStats.active_campaigns || 0 }} Активных
{{ formatPrice(mktAdStats.total_spent) }} Расход
{{ formatPrice(mktAdStats.total_revenue) }} Доход
{{ mktAdStats.avg_ctr || 0 }}% CTR
{{ mktAdStats.avg_roas || 0 }}x ROAS
{{ ps.platform === 'yandex_direct' ? '🟡 Яндекс Директ' : '🔵 VK Реклама' }}
{{ ps.campaigns }}Кампаний
{{ formatPrice(ps.spent) }}Расход
{{ formatPrice(ps.revenue) }}Доход
{{ ps.clicks }}Кликов
{{ ps.conversions }}Конверсий
{{ ps.roas }}x ROAS
Загрузка...
Рекламных кампаний пока нет
{{ c.name }} {{ c.platform === 'yandex_direct' ? '🟡 Директ' : '🔵 VK' }}
{{ getMktStatusLabel(c.status) }}
{{ Number(c.impressions).toLocaleString('ru-RU') }} Показы
{{ Number(c.clicks).toLocaleString('ru-RU') }} Клики
{{ c.ctr || 0 }}% CTR
{{ formatPrice(c.spent) }} Расход
{{ c.conversions || 0 }} Конверсии
{{ c.roas || 0 }}x ROAS

Партнеры

Загрузка...
ID Пользователь Код Статус Уровень
#{{ p.id }} {{ p.user_name || '—' }} {{ p.user_email || '' }} {{ p.code }}
Партнеров пока нет

Уровни комиссий

Название Комиссия Мин. выручка По умолчанию
{{ tier.name }} {{ tier.rate_percent }}% {{ formatPrice(tier.min_revenue) }} {{ tier.is_default ? 'Да' : 'Нет' }}
Уровней пока нет

Добавить уровень

Атрибуции

Заказ Партнер Сумма Комиссия Статус
#{{ row.order_id }} #{{ row.partner_id }} {{ formatPrice(row.order_total) }} {{ formatPrice(row.commission_amount) }} {{ formatDateTime(row.attributed_at) }}
Атрибуций пока нет

Выплаты

ID Партнер Сумма Статус Дата
#{{ row.id }} #{{ row.partner_id }} {{ formatPrice(row.amount) }} {{ formatDateTime(row.requested_at) }}
Заявок пока нет

Блоки главной страницы

Загрузка...
Блок Показывать Сортировка
{{ section.title }} Код: {{ section.key }}
Блоки не найдены

Сценарии на главной

Загрузка...
Название Активен Показы Клики CTR Действия
{{ scenario.title }} {{ scenario.subtitle }} {{ formatCount(scenario.impressions) }} {{ formatCount(scenario.clicks) }} {{ formatPercent(scenario.ctr) }}
Сценариев пока нет

Текущие бестселлеры

Порядок строк используется как сортировка.

📦
Нет сессий приёмки
№ {{ s.invoice_number }}
{{ s.supplier_name || '—' }} · {{ formatDateTime(s.created_at) }}
{{ s.expected_positions }} позиций
{{ s.scanned_total_qty }} / {{ s.expected_total_qty }} принято
{{ s.status === 'open' ? 'Открыта' : s.status === 'closed' ? 'Закрыта' : 'Размещена' }}
№ {{ wmsActiveSession.invoice_number }} {{ wmsActiveSession.supplier_name || '' }}
{{ wmsActiveSession.status === 'open' ? 'Открыта' : wmsActiveSession.status === 'closed' ? 'Закрыта' : 'Размещена' }}
{{ wmsActiveSession.stats.expected_positions }}
Позиций в накладной
{{ wmsActiveSession.stats.expected_total_qty }}
Ожидается шт.
{{ wmsActiveSession.stats.scanned_total_qty }}
Принято шт.
{{ wmsActiveSession.stats.matched_count }}
Найдено в базе
{{ wmsActiveSession.stats.not_found_count }}
Не найдено
{{ wmsActiveSession.stats.scanned_total_qty }} / {{ wmsActiveSession.stats.expected_total_qty }} ({{ Math.round(wmsProgressPct) }}%)
📦 Коробка: {{ wmsCurrentBox.box_barcode }}
{{ wmsCurrentBox ? '📱 Товар' : '📱 Коробка / Товар' }}
{{ wmsLastScan.message }}
Пока ничего не отсканировано
ШК Артикул Название Коробка Кол-во
{{ item.barcode }} {{ item.article || '—' }} {{ item.product_name || 'Неизвестный товар' }} {{ wmsGetBoxBarcode(item.box_id) || '—' }}
{{ item.qty }}
{{ item.qty }}
Артикул ШК Наименование Ожид. Факт Статус в базе
{{ item.article || '—' }} {{ item.barcode || '—' }} {{ item.db_product_name || item.product_name || '—' }} {{ item.expected_qty }} {{ item.actual_qty }} {{ item.match_status === 'matched' ? '✓ Найден' : item.match_status === 'created' ? '✎ Создан' : '✕ Не найден' }}

Выберите закрытую приёмку для размещения

📋
Нет закрытых приёмок, ожидающих размещения
№ {{ s.invoice_number }}
{{ s.supplier_name || '—' }} · {{ formatDateTime(s.created_at) }}
{{ s.scanned_total_qty }} принято шт.
Закрыта
Размещение: № {{ wmsPlacementSession.invoice_number }}

Нераспределённые товары ({{ wmsUnplacedItems.length }})

✅ Все товары размещены!
ШК Артикул Наименование Осталось Разместить
{{ item.barcode }} {{ item.article || '—' }} {{ item.product_name || '—' }} {{ item.remaining_qty }}

Выберите ячейку для размещения

🏷️ Ячейка
{{ loc.code }}
Зона {{ loc.zone }}

Уже размещено

Ячейка ШК Артикул Наименование Кол-во
{{ p.location_code }} {{ p.barcode }} {{ p.article || '—' }} {{ p.product_name || '—' }} {{ p.qty }}
🗄️
Нет ячеек хранения
{{ loc.code }}
Зона {{ loc.zone }} · Ряд {{ loc.row_num }} · Секция {{ loc.section }} · Полка {{ loc.shelf }} · Место {{ loc.spot }}
Задание #{{ wmsPickTask.id }} Заказ: {{ wmsPickTask.external_order_id || '—' }}
{{ {pending:'Ожидает',in_progress:'В работе',done:'Выполнено',cancelled:'Отменено'}[wmsPickTask.status] }}
Прогресс сборки {{ wmsPickTaskDone }}/{{ wmsPickTask.items?.length || 0 }} позиций
{{ wmsPickScanError }}
{{ wmsPickScanSuccess }}
{{ item.product_name || item.barcode }}
{{ item.article ? 'Арт: ' + item.article + ' · ' : '' }}ШК: {{ item.barcode }} 📍 {{ item.location_code }}
{{ item.qty_picked }}/{{ item.qty_required }}
✓ Задание выполнено! Все позиции собраны.
Отгрузка #{{ wmsActiveShipment.id }} {{ wmsChannelLabel(wmsActiveShipment.channel) }} Дата: {{ wmsActiveShipment.planned_date }}
{{ wmsStatusLabel(wmsActiveShipment.status) }}
{{ wmsActiveShipment.stats?.orders_count || 0 }}
Заказов
{{ wmsActiveShipment.stats?.items_picked || 0 }}/{{ wmsActiveShipment.stats?.items_total || 0 }}
Собрано
{{ wmsActiveShipment.stats?.boxes_count || 0 }}
Коробов
{{ wmsActiveShipment.stats?.pallets_count || 0 }}
Паллет
Позиций нет. Добавьте заказы через кнопку «Добавить заказы».
Товар Штрих-код Ячейка Требуется Собрано Статус
{{ item.product_name || '—' }} {{ item.barcode }} {{ item.location_code }} {{ item.qty_required }} {{ item.qty_picked }} {{ {pending:'Ожидает',picking:'В работе',picked:'Собрано',short_pick:'Неполный'}[item.status] }}
Заданий нет. Запустите сборку, чтобы создать задания.
Задание #{{ task.id }}
Заказ #{{ task.shipment_order_id }} · Начато: {{ formatDateTime(task.started_at) }}
{{ {pending:'Ожидает',in_progress:'В работе',done:'Выполнено',cancelled:'Отменено'}[task.status] }}
Короб: {{ wmsActiveBox.box_barcode }}
{{ wmsBoxScanError }}
{{ bi.product_name || bi.barcode }} {{ bi.barcode }} {{ bi.qty }} шт.
Короб пуст. Сканируйте товары.
Коробов нет.
{{ box.box_barcode }}
{{ (box.items || []).reduce((s,i)=>s+i.qty,0) }} шт. в коробе
{{ {open:'Открыт',sealed:'Запечатан',on_pallet:'На паллете',shipped:'Отгружен'}[box.status] }}
{{ (box.weight_g/1000).toFixed(2) }} кг · {{ box.length_mm }}×{{ box.width_mm }}×{{ box.height_mm }} мм
Паллета: {{ wmsActivePallet.pallet_barcode }}
{{ wmsPalletScanError }}
{{ b.box_barcode }}
Паллета пуста. Сканируйте коробá.
Паллет нет.
{{ pallet.pallet_barcode }}
{{ (pallet.boxes || []).length }} коробов
{{ {open:'Открыта',sealed:'Закрыта',shipped:'Отгружена'}[pallet.status] }}
{{ b.box_barcode }}
Загрузка...
📤
Отгрузок нет
Создайте первую отгрузку
Отгрузка #{{ ship.id }} {{ wmsChannelLabel(ship.channel) }}
{{ formatDate(ship.created_at) }} · Дата отгрузки: {{ ship.planned_date }} · {{ ship.notes }}
{{ ship.items_picked }}/{{ ship.items_total }}
позиций
{{ wmsStatusLabel(ship.status) }}

Retail Dashboard

Сводка по сети магазинов за выбранный период

Последнее обновление: {{ retailLastUpdated ? formatDateTime(retailLastUpdated) : '—' }}
{{ formatPrice(retailSummary.sales_amount) }} Продажи
{{ retailSummary.receipts_count }} Чеки
{{ formatPrice(retailSummary.avg_receipt) }} Средний чек
{{ formatPrice(retailSummary.margin_amount) }} Маржа
{{ formatPrice(retailSummary.supply_amount) }} Допоставки
{{ retailSummary.combo_sales_count }} Комбо-продажи
{{ retailSummary.out_of_stock_sku_count }} Out of stock SKU
{{ formatPrice(retailSummary.sales_per_staff_hour) }} Продажи / час сотрудника

Почасовая динамика

Час Продажи Чеки Маржа Допоставки
{{ formatDateTime(row.hour_bucket) }} {{ formatPrice(row.sales_amount) }} {{ row.receipts_count }} {{ formatPrice(row.margin_amount) }} {{ formatPrice(row.supply_amount) }}
Нет данных

Топ магазинов

Код Магазин Продажи Чеки
{{ store.store_code }} {{ store.store_name }} {{ formatPrice(store.sales_amount) }} {{ store.receipts_count }}
Нет данных

Анти-топ магазинов

Код Магазин Продажи Out of stock
{{ store.store_code }} {{ store.store_name }} {{ formatPrice(store.sales_amount) }} {{ store.out_of_stock_sku_count }}
Нет данных

Показатели по магазинам

Код Магазин Продажи Маржа Чеки Ср. чек OOS SKU Продажи/час
{{ store.store_code }} {{ store.store_name }} {{ formatPrice(store.sales_amount) }} {{ formatPrice(store.margin_amount) }} {{ store.receipts_count }} {{ formatPrice(store.avg_receipt) }} {{ store.out_of_stock_sku_count }} {{ formatPrice(store.sales_per_staff_hour) }}
Нет данных
Загрузка настроек...

🧪 Тестовый режим

{{ settings.testMode?.enabled ? 'Включён' : 'Выключен' }}

Включает отладочные функции и тестовые данные

Заказы с онлайн-оплатой будут автоматически подтверждаться без реального платежа

🔧 Режим обслуживания

{{ settings.maintenance?.enabled ? 'Включён' : 'Выключен' }}

⚠️ Сайт недоступен для пользователей!

Закрывает сайт для посетителей на время работ

📦 Настройки заказов

Заказы на эту сумму и выше — бесплатная доставка

Для заказов ниже порога бесплатной доставки

🛍️ Настройки каталога

Если выключено, товары с нулевым остатком скрыты

📍 Синхронизация ПВЗ

Периодическое обновление списка пунктов выдачи

Принудительно обновить все пункты выдачи заказов (~30 секунд)

📄 YML Фид (Яндекс Товары)

{{ ymlFeedStatus?.enabled ? 'Включён' : 'Выключен' }}

Периодическая генерация YML фида по расписанию

Формат: минуты часы день месяц день_недели (например, "30 2 * * *" = ежедневно в 2:30)

Последнее обновление: {{ ymlFeedStatus.lastGenerated ? formatDateTime(ymlFeedStatus.lastGenerated) : 'Нет данных' }}

Количество товаров: {{ ymlFeedStatus.productCount || 0 }}

Публичный URL: /yml/catalog.xml

🏢 Реквизиты компании

Есть несохранённые изменения