Как организовать учет заявок от клиентов в 1С с веб-интерфейсом?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет IT и автоматизация бизнеса
← На главную

Вопрос организации взаимодействия с клиентами через 1С является классической задачей для сервисных компаний. Основная сложность заключается в поиске баланса: решение не должно быть перегруженным, как тяжелые ITIL-системы, но при этом обязано обеспечивать прозрачность статусов и учет трудозатрат. В этой статье мы разберем несколько подходов к решению этой задачи, основываясь на опыте практикующих специалистов и возможностях платформы 1С.

Решение 1: Использование типовой конфигурации «1С:Управление нашей фирмой» (УНФ)

Проанализируем возможности 1С:УНФ, которую часто называют оптимальным выбором для малого и среднего бизнеса. В данной программе уже заложены механизмы, позволяющие реализовать функционал Service Desk без серьезных доработок.

Для учета услуг и времени выполнения заявок в УНФ используется документ Заказ-наряд. Рассмотрим его преимущества:

  1. Статусы заявок: Вы можете гибко настраивать состояния заказов (например, «В работе», «Ожидает клиента», «Завершен»), которые будут видны клиенту.
  2. Учет времени: На вкладке «Работы» фиксируется перечень выполненных услуг, а на вкладке «Зарплата» можно указать фактическое время, затраченное конкретным сотрудником.
  3. Отчетность: Типовой отчет «Работы по заказ-нарядам» позволяет мгновенно получить информацию о затраченном времени за любой период.

Для организации веб-интерфейса в УНФ существует сервис «Кабинет клиента». Это встроенный конструктор, который позволяет создать упрощенное рабочее место для ваших контрагентов. Клиент заходит через браузер или мобильное приложение, создает заказ (заявку) и отслеживает изменение его статуса в реальном времени. Это избавляет вас от необходимости покупать дополнительные лицензии 1С для каждого клиента, так как сервис работает через облачную инфраструктуру 1С.

Решение 2: Отраслевое решение «Управление фирмой франчайзи»

Если ваша деятельность связана с ИТ-услугами или автоматизацией, стоит обратить внимание на специализированное расширение для УНФ — «Управление фирмой франчайзи». Это решение развивает идеи стандартной УНФ, добавляя специфические функции:

Решение 3: Разработка собственной конфигурации на базе БСП

Если типовые решения кажутся избыточными, рассмотрим вариант создания собственной системы на основе Библиотеки стандартных подсистем (БСП). Разберем по шагам, как быстро спроектировать такой функционал:

Для начала нам понадобится создать справочник Контрагенты и документ ЗаявкаОтКлиента. В документе обязательно должны быть реквизиты: Заказчик, Исполнитель, Статус (перечисление) и табличная часть Трудозатраты с колонкой ВремяВЧасах.

Пример кода для простейшего расчета итогового времени в документе:


Процедура РассчитатьИтогиТрудозатрат(ДокументОбъект) Экспорт
    ИтогЧасов = 0;
    Для Каждого Строка Из ДокументОбъект.Трудозатраты Цикл
        ИтогЧасов = ИтогЧасов + Строка.ВремяВЧасах;
    КонецЦикла;
    ДокументОбъект.ВсегоЗатраченоВремени = ИтогЧасов;
КонецПроцедуры

Использование БСП значительно ускоряет процесс, так как вы получаете готовые механизмы управления пользователями, настройки прав доступа и интеграции с веб-сервером. Чтобы клиенты могли заходить в базу, используется Веб-клиент 1С. База публикуется на веб-сервере (IIS или Apache), и клиенты получают доступ через обычный браузер.

Важный момент: Чтобы клиенты видели только свои заявки, необходимо настроить RLS (Record Level Security) — механизм ограничения доступа на уровне записей. Выясним причину, почему это важно: без RLS клиент с правами на просмотр справочника заявок сможет увидеть данные других контрагентов, что является критическим нарушением безопасности.

Решение 4: Архитектура с внешним веб-порталом и HTTP-сервисами

Рассмотрим более продвинутый и масштабируемый вариант. Вместо того чтобы пускать клиентов напрямую в 1С (даже через веб-клиент), можно создать легкий сайт на PHP/Python или использовать готовое решение, которое будет обмениваться данными с 1С через HTTP-сервисы.

Преимущества такого подхода:

Пример простейшего метода HTTP-сервиса для получения статуса заявки клиентом в формате JSON:


Функция ПолучитьСтатусЗаявки(Запрос)
    НомерЗаявки = Запрос.ПараметрыURL.Получить("Number");
    ЗапросБД = Новый Запрос;
    ЗапросБД.Текст = 
        "ВЫБРАТЬ
        |   ЗаявкаОтКлиента.Статус.Наименование КАК Статус
        |ИЗ
        |   Документ.ЗаявкаОтКлиента КАК ЗаявкаОтКлиента
        |ГДЕ
        |   ЗаявкаОтКлиента.Номер = &Номер";
    
    ЗапросБД.УстановитьПараметр("Номер", НомерЗаявки);
    Результат = ЗапросБД.Выполнить().Выгрузить();
    
    Если Результат.Количество() > 0 Тогда
        ОтветСтруктура = Новый Структура("status", Результат[0].Статус);
    Иначе
        ОтветСтруктура = Новый Структура("error", "Заявка не найдена");
    КонецЕсли;
    
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.УстановитьТелоИзСтроки(СформироватьJSON(ОтветСтруктура));
    Возврат Ответ;
КонецФункции

Сравнение подходов: что выбрать?

Проанализируем ситуацию и выберем подходящий путь:

  1. Если нужно «быстро и стандартно»: Выбираем 1С:УНФ. Настройка личного кабинета и отчетов по времени займет минимум усилий. Это проверенное решение, которое легко обновляется.
  2. Если бюджет ограничен, а клиентов много: Лучше инвестировать в разработку внешнего сайта + HTTP-сервисы в 1С. Это позволит избежать покупки десятков клиентских лицензий 1С.
  3. Если вы разработчик и хотите полный контроль: Пишите свою конфигурацию на БСП. Это даст максимальную гибкость, но потребует времени на поддержку интерфейса и безопасности.
  4. Если 1С кажется слишком сложной для фронтенда: Посмотрите в сторону 1С:Коннект. Это готовое решение для техподдержки, которое уже имеет интеграцию с 1С и мобильные приложения для клиентов.

Выясним еще один нюанс: при работе через веб-клиент 1С критически важно качество интернет-соединения. Если ваши клиенты планируют работать с мобильных устройств в условиях нестабильной связи, тонкий или веб-клиент 1С может работать с задержками. В этом случае внешнее веб-приложение или HTTP-сервисы будут единственным стабильным решением.

В завершение разберем вопрос отчетности. Для формирования отчета по затраченному времени в любой из выбранных систем мы рекомендуем использовать Систему компоновки данных (СКД). Она позволит пользователю самостоятельно группировать данные по дням, клиентам или сотрудникам, не прибегая к помощи программиста. Достаточно один раз настроить схему компоновки с ресурсом СУММА(ВремяВЧасах), и прозрачная отчетность для ваших клиентов будет готова.

← На главную