Запуск автоматизации в небольшом розничном магазине часто сталкивается с нестандартными бизнес-процессами. Типовые решения «из коробки» ориентированы на классические продажи с использованием фискальных регистраторов и обезличенным учетом покупателей. Однако перед многими предпринимателями встают задачи ведения персональных депозитных счетов клиентов, интеграции сетевого весового оборудования и организации работы торговой точки без прямой фискализации на рабочем месте кассира.
В этой статье мы подробно разберем, как реализовать подобные требования с использованием популярных программных продуктов линейки 1С, рассмотрим альтернативные решения, представленные на рынке, и покажем примеры кастомных доработок для оптимизации рутинных операций кассира.
Для начала проанализируем ключевые потребности розничной точки со сложной схемой взаиморасчетов:
Рассмотрим два основных подхода к реализации этой задачи в экосистеме 1С: использование конфигураций 1С:Розница и 1С:Управление торговлей.
Как справедливо отмечают практикующие специалисты, классическая 1С:Розница 2 изначально создавалась для работы с обезличенными покупателями и не поддерживала полноценный управленческий учет по взаиморасчетам с контрагентами. Для реализации ведения депозитов отлично подходит конфигурация 1С:Управление торговлей. Разберем по шагам, как настроить этот функционал стандартными средствами.
Вместо создания сложных доработок мы можем применить встроенный механизм работы с индивидуальными соглашениями и договорами контрагентов. Рассмотрим алгоритм настройки:
Партнеры и связанного с ним Контрагента (физическое лицо).Валюты новую пользовательскую валюту (например, "Баллы" или "Бонусы") и жестко привязываем ее курс к рублю в соотношении 1:1.При внесении клиентом денежных средств оформляется документ Приходный кассовый ордер с видом операции "Аванс от покупателя". Баланс клиента увеличивается. При совершении покупки в интерфейсе кассира оформляется документ Реализация товаров и услуг (или чек в режиме РМК с оплатой по договору), который списывает товары со склада и уменьшает баланс контрагента на соответствующую сумму единиц.
Если специфика вашего бизнеса предполагает, что прием реальной наличности и печать фискальных чеков происходят на отдельном выделенном узле, то рабочее место продавца-оформителя в торговом зале должно функционировать в нефискальном режиме. Выясним, как это настроить в современных версиях программных продуктов 1С.
В актуальной конфигурации 1С:Розница 3.0 (которая теперь базируется на единой кодовой основе с 1С:Управление нашей фирмой) реализован штатный механизм работы с виртуальными кассами. Разберем по шагам процесс настройки рабочего места:
Для работы с весовым товаром в розничном магазине используются весы с возможностью печати этикеток. Наиболее популярными и отказоустойчивыми моделями на рынке являются устройства брендов Масса-К, ШТРИХ-М и CAS. Рассмотрим схему взаимодействия учетной системы и весового оборудования:
Сначала мы настраиваем сетевой обмен. Весам в локальной сети присваивается статический IP-адрес. В программе 1С в справочнике "Правила обмена с подключаемым оборудованием" настраивается выгрузка товаров. Каждому весовому товару присваивается уникальный код PLU.
Проанализируем процесс продажи весового товара:
Требование автора темы о пополнении баланса клиента путем последовательного сканирования карты лояльности и предопределенного штрихкода номинала является нестандартным. Реализовать такой алгоритм в типовой конфигурации без программирования невозможно. Однако в современной платформе 1С:Предприятие 8.3 эту задачу можно элегантно решить с помощью механизма расширений конфигурации, не снимая основную программу с поддержки.
Рассмотрим пример реализации обработчика внешнего события от сканера штрихкодов в модуле расширения. Нам нужно перехватить сканирование, определить тип штрихкода и выполнить зачисление на счет.
Проанализируем пример кода на встроенном языке 1С:
&НаКлиенте
Процедура Расш1_ПослеОбработкиШтрихкода(Штрихкод, Источник) Экспорт
// Шаг 1. Ищем карту лояльности клиента в базе данных
НайденнаяКарта = Расш1_Сервер.НайтиКартуПоШтрихкоду(Штрихкод);
Если ЗначениеЗаполнено(НайденнаяКарта) Тогда
// Запоминаем текущего клиента для текущей кассовой смены
ТекущийКлиентСеанса = НайденнаяКарта.ВладелецКарты;
ПоказатьОповещениеПользователя("Идентификация",, "Выбран клиент: " + Строка(ТекущийКлиентСеанса));
Возврат;
КонецЕсли;
// Шаг 2. Проверяем, является ли считанный штрихкод служебным номиналом оплаты
НоминалПополнения = Расш1_Сервер.ОпределитьНоминалШтрихкода(Штрихкод);
Если НоминалПополнения > 0 Тогда
Если Не ЗначениеЗаполнено(ТекущийКлиентСеанса) Тогда
Предупреждение("Сначала отсканируйте карту клиента!");
Возврат;
КонецЕсли;
// Шаг 3. Вызываем процедуру зачисления единиц на лицевой счет
Расш1_Сервер.ПополнитьЛицевойСчетНаСервере(ТекущийКлиентСеанса, НоминалПополнения);
ПоказатьОповещениеПользователя("Успешно",, "Баланс пополнен на " + Строка(НоминалПополнения) + " ед.");
// Сбрасываем буфер клиента после успешной операции
ТекущийКлиентСеанса = Неопределено;
КонецЕсли;
КонецПроцедуры
Использование расширений гарантирует, что при выходе официальных обновлений от фирмы 1С ваша кастомная логика быстрого пополнения баланса по штрихкодам не сотрется и продолжит корректно функционировать.
Если внедрение продуктов семейства 1С кажется вам избыточным или сложным на начальном этапе, рассмотрим специализированные программные продукты, упомянутые участниками сообщества:
1С:Управление торговлей.Выбор конкретного программного обеспечения должен базироваться на долгосрочных планах развития розничной сети. Для одной небольшой торговой точки отлично подойдут специализированные программы вроде MAGAZKA или облачный сервис МойСклад. Если же планируется масштабирование бизнеса, интеграция с интернет-магазином и глубокий финансовый анализ, оптимальным выбором станет внедрение связки 1С:Розница 3.0 и 1С:УНФ с использованием механизма расширений под уникальные бизнес-процессы.