devpilot.
К выбору примеров

УЧЕБНЫЙ ПРИМЕР

Отчёт по заявкам без ручного подсчёта

Вставьте JSON со списком заявок и получите сводку по услугам и статусам. Измените данные, пересчитайте и скачайте CSV с агрегатами.

DEMOБез выдуманных показателей продаж
Холст:

Это ширина демонстрационного холста. Она не заменяет проверку настоящего устройства.

DEMO / report-builder

Отчёт по заявкам без ручного подсчёта

Чтобы понять состав списка заявок, нужно посчитать обращения по услугам и текущим статусам. Этот локальный пример собирает сводку из учебного JSON; он не подключён к настоящей CRM и не делает выводов о выручке или эффективности рекламы.

Открыть рабочую демонстрацию
ОТЧЁТ / ДАННЫЕLOCAL / JS

Отчёт по заявкам без ручного подсчёта

Позволяет быстро проверить, сколько записей относится к каждой услуге и статусу.

Отчёт по заявкам без ручного подсчёта
Учебные строки обращений
УслугаСтатусДействие
Дополнительный ввод JSON

Для расчёта по этому тексту выберите способ JSON. Нажатие «Верный пример» обновляет оба способа.

Всего записей
—
Новые
—
Завершённые
—

Сводка по заявкам

Считаются только учебные данные из поля ввода; CSV содержит категории и количества, без персональных данных.

Для запуска примера нужен JavaScript; описание и разбор доступны без запуска.

Посмотреть рабочий код
function aggregateRequests(records) {
  if (!Array.isArray(records) || records.length < 1 || records.length > 50) throw new Error('REPORT_COUNT');
  const summary = {
    total: records.length,
    services: {site: 0, ads: 0, code: 0},
    statuses: {new: 0, in_progress: 0, done: 0},
    matrix: {site:{new:0,in_progress:0,done:0},ads:{new:0,in_progress:0,done:0},code:{new:0,in_progress:0,done:0}}
  };
  for (const record of records) {
    if (record === null || typeof record !== 'object' || Array.isArray(record) ||
        Object.getPrototypeOf(record) !== Object.prototype) throw new Error('REPORT_OBJECT');
    if (typeof record.service !== 'string' || !['site', 'ads', 'code'].includes(record.service)) {
      throw new Error('REPORT_SERVICE');
    }
    if (typeof record.status !== 'string' || !['new', 'in_progress', 'done'].includes(record.status)) {
      throw new Error('REPORT_STATUS');
    }
    summary.services[record.service] += 1;
    summary.statuses[record.status] += 1;
    summary.matrix[record.service][record.status] += 1;
  }
  return summary;
}

Локальная демонстрация: сервер, сохранение и настоящая отправка не подключены.

Только текст, без HTML. Изменения остаются во вкладке.

Задача в этом сценарии

Чтобы понять состав списка заявок, нужно посчитать обращения по услугам и текущим статусам. Этот локальный пример собирает сводку из учебного JSON; он не подключён к настоящей CRM и не делает выводов о выручке или эффективности рекламы.

Как устроено решение

  • Читаем список до пятидесяти записей с полями service и status. Для услуги разрешены site, ads и code, для статуса — new, in_progress и done.
  • Проверяем значения, затем считаем записи отдельно по услугам и статусам. Неизвестные поля пропускаем: в отчёт входят категории и количества, без персональных данных.
  • Показываем сводку в браузере и даём скачать CSV с агрегатами. После изменения исходного JSON отчёт нужно построить заново.

Промежуточные материалы

  1. Исходная задача и ограничения → Чтобы понять состав списка заявок, нужно посчитать обращения по услугам и текущим статусам. Этот локальный пример собирает сводку из учебного JSON; он не подключён к настоящей CRM и не делает выводов о выручке или эффективности рекламы.
  2. Состав решения → Редактируемый учебный список заявок JSON.
  3. Проверка перед запуском → Проверить подсчёт после изменения записей, неверные service и status, ограничение в пятьдесят записей и содержимое экспортируемого CSV.

Что проверить перед запуском

  • Проверить подсчёт после изменения записей, неверные service и status, ограничение в пятьдесят записей и содержимое экспортируемого CSV.
  • Для рабочего отчёта согласовать источник, смысл статусов и правила отбора данных; отдельно реализовать получение актуальной выгрузки.

Что входит в пример

  • Редактируемый учебный список заявок JSON.
  • Проверка допустимых услуг и статусов и локальный подсчёт групп.
  • Сводка по двум признакам и скачивание CSV с агрегатами.

Технический паспорт

DevPilot 1.5.2 · Охват проверок, исходники и дата свидетельств

Статус
DEMO · Вымышленная компания и учебные данные
Материалы
Собственные HTML/CSS/SVG, исходники и локальные алгоритмы. Фотографии клиентов не используются.
Обработка
Демонстрация выполняется в браузере. Открытие примера не создаёт заявку или оплаченный проект.
Доказательства
Содержимое и локальные проверки отделены от реальной браузерной, хостинговой и коммерческой приёмки.