Как выбрать и настроить учетную программу для розничного магазина со специфическим функционалом

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

Запуск автоматизации в небольшом розничном магазине часто сталкивается с нестандартными бизнес-процессами. Типовые решения «из коробки» ориентированы на классические продажи с использованием фискальных регистраторов и обезличенным учетом покупателей. Однако перед многими предпринимателями встают задачи ведения персональных депозитных счетов клиентов, интеграции сетевого весового оборудования и организации работы торговой точки без прямой фискализации на рабочем месте кассира.

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

Анализ специфических требований и выбор архитектуры решения

Для начала проанализируем ключевые потребности розничной точки со сложной схемой взаиморасчетов:

  1. Ведение персональных лицевых счетов клиентов. Нам необходимо реализовать систему виртуальных балансов. Клиент вносит наличные рубли в кассу (учет которых идет отдельно), а в учетной программе на его карту зачисляются эквивалентные единицы. При покупке товаров средства списываются с этого баланса.
  2. Работа кассовой зоны без подключения физического ККМ. Списание товаров со склада и фиксация факта покупки должны происходить по сканеру штрихкодов в интерфейсе кассира, но без отправки чека на фискальный накопитель подключенного к этому ПК аппарата.
  3. Интеграция с электронными весами по протоколу Ethernet. Программа должна выгружать номенклатуру на весы с печатью этикеток, а кассовое ПО должно корректно парсить весовой штрихкод.
  4. Быстрое пополнение баланса с помощью штрихкодов. Возможность автоматизировать ручной ввод сумм пополнения через последовательное сканирование карты лояльности и сервисного штрихкода номинала.

Рассмотрим два основных подхода к реализации этой задачи в экосистеме 1С: использование конфигураций 1С:Розница и 1С:Управление торговлей.

Реализация лицевых счетов и ведения баланса клиентов в 1С:Управление торговлей (УТ 11)

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

Вместо создания сложных доработок мы можем применить встроенный механизм работы с индивидуальными соглашениями и договорами контрагентов. Рассмотрим алгоритм настройки:

  1. Активируем в настройках системы ведение расчетов по договорам и использование партнерских программ.
  2. Создаем для каждого постоянного покупателя карточку в справочнике Партнеры и связанного с ним Контрагента (физическое лицо).
  3. Для автоматизации расчетов в эквивалентных единицах создаем в справочнике Валюты новую пользовательскую валюту (например, "Баллы" или "Бонусы") и жестко привязываем ее курс к рублю в соотношении 1:1.
  4. В договоре с клиентом устанавливаем лимит кредита равным нулю и включаем опцию "Контролировать сумму задолженности". Это заблокирует отгрузку товара, если на лицевом счете покупателя нет предварительно внесенных средств.

При внесении клиентом денежных средств оформляется документ Приходный кассовый ордер с видом операции "Аванс от покупателя". Баланс клиента увеличивается. При совершении покупки в интерфейсе кассира оформляется документ Реализация товаров и услуг (или чек в режиме РМК с оплатой по договору), который списывает товары со склада и уменьшает баланс контрагента на соответствующую сумму единиц.

Настройка рабочего места кассира (РМК) без подключения ККМ

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

В актуальной конфигурации 1С:Розница 3.0 (которая теперь базируется на единой кодовой основе с 1С:Управление нашей фирмой) реализован штатный механизм работы с виртуальными кассами. Разберем по шагам процесс настройки рабочего места:

  1. Переходим в раздел "Администрирование" -> "Подключаемое оборудование".
  2. Вместо физического фискального регистратора создаем новое рабочее место кассира и привязываем его к типу оборудования "Сканеры штрихкода". Физическую ККТ в настройках данного рабочего места мы просто не указываем.
  3. В справочнике "Кассы" создаем новую кассу с признаком "Касса без подключения оборудования (нефискальный учет)".
  4. При оформлении продаж в таком РМК система позволит сканировать товары, рассчитывать скидки и выбирать виды оплаты (включая оплату бонусами или списание с депозита), но при нажатии кнопки "Оплатить" транзакция завершится внутренним проведением документов по складу и взаиморасчетам без генерации ошибок об отсутствии кассового аппарата.

Интеграция с электронными весами по Ethernet

Для работы с весовым товаром в розничном магазине используются весы с возможностью печати этикеток. Наиболее популярными и отказоустойчивыми моделями на рынке являются устройства брендов Масса-К, ШТРИХ-М и CAS. Рассмотрим схему взаимодействия учетной системы и весового оборудования:

Сначала мы настраиваем сетевой обмен. Весам в локальной сети присваивается статический IP-адрес. В программе 1С в справочнике "Правила обмена с подключаемым оборудованием" настраивается выгрузка товаров. Каждому весовому товару присваивается уникальный код PLU.

Проанализируем процесс продажи весового товара:

  1. Программа выгружает список весовых товаров с ценами и кодами PLU в память весов по сети Ethernet.
  2. Продавец или покупатель нажимает на весах код товара, происходит взвешивание, и весы печатают этикетку со специальным штрихкодом формата EAN-13.
  3. Структура такого штрихкода содержит префикс весового товара (например, 28 или 29), пятизначный код PLU и пятизначный вес товара в граммах.
  4. При сканировании этой этикетки на кассе 2D-сканером, РМК автоматически распознает префикс, находит товар по коду PLU, считывает вес и мгновенно добавляет в чек нужную позицию с точным весом.

Реализация кастомного сценария пополнения счета по сервисным штрихкодам

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

Рассмотрим пример реализации обработчика внешнего события от сканера штрихкодов в модуле расширения. Нам нужно перехватить сканирование, определить тип штрихкода и выполнить зачисление на счет.

Проанализируем пример кода на встроенном языке 1С:


&НаКлиенте
Процедура Расш1_ПослеОбработкиШтрихкода(Штрихкод, Источник) Экспорт
    // Шаг 1. Ищем карту лояльности клиента в базе данных
    НайденнаяКарта = Расш1_Сервер.НайтиКартуПоШтрихкоду(Штрихкод);
    
    Если ЗначениеЗаполнено(НайденнаяКарта) Тогда
        // Запоминаем текущего клиента для текущей кассовой смены
        ТекущийКлиентСеанса = НайденнаяКарта.ВладелецКарты;
        ПоказатьОповещениеПользователя("Идентификация",, "Выбран клиент: " + Строка(ТекущийКлиентСеанса));
        Возврат;
    КонецЕсли;
    
    // Шаг 2. Проверяем, является ли считанный штрихкод служебным номиналом оплаты
    НоминалПополнения = Расш1_Сервер.ОпределитьНоминалШтрихкода(Штрихкод);
    
    Если НоминалПополнения > 0 Тогда
        Если Не ЗначениеЗаполнено(ТекущийКлиентСеанса) Тогда
            Предупреждение("Сначала отсканируйте карту клиента!");
            Возврат;
        КонецЕсли;
        
        // Шаг 3. Вызываем процедуру зачисления единиц на лицевой счет
        Расш1_Сервер.ПополнитьЛицевойСчетНаСервере(ТекущийКлиентСеанса, НоминалПополнения);
        ПоказатьОповещениеПользователя("Успешно",, "Баланс пополнен на " + Строка(НоминалПополнения) + " ед.");
        
        // Сбрасываем буфер клиента после успешной операции
        ТекущийКлиентСеанса = Неопределено;
    КонецЕсли;
КонецПроцедуры

Использование расширений гарантирует, что при выходе официальных обновлений от фирмы 1С ваша кастомная логика быстрого пополнения баланса по штрихкодам не сотрется и продолжит корректно функционировать.

Альтернативные решения для малого бизнеса

Если внедрение продуктов семейства 1С кажется вам избыточным или сложным на начальном этапе, рассмотрим специализированные программные продукты, упомянутые участниками сообщества:

Выбор конкретного программного обеспечения должен базироваться на долгосрочных планах развития розничной сети. Для одной небольшой торговой точки отлично подойдут специализированные программы вроде MAGAZKA или облачный сервис МойСклад. Если же планируется масштабирование бизнеса, интеграция с интернет-магазином и глубокий финансовый анализ, оптимальным выбором станет внедрение связки 1С:Розница 3.0 и 1С:УНФ с использованием механизма расширений под уникальные бизнес-процессы.

← На главную