Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > ФинСофт:КупецЪ

ФинСофт:Продмаг. Работа в сети продуктовых супермаркетов. : ФинСофт:КупецЪ

28.03.2024 12:55


25.11.2016 12:14
FinSoft
 
Прошло 4 месяца с начала разработки и эксплуатации модуля ФинСофт:Продмаг в продуктовой сети супермаркетов.

Наш флагманский проект ФинСофт:КупецЪ изначально разрабатывался для оптовой торговли. К моменту появления запроса на автоматизацию от продуктовой сети, уже в значительной мере было устранено отставание в функционале работы с торговым оборудованием, который не был восстребован в оптовке. Это позволило достаточно быстро развернуть проект.

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

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

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

ФинСофт:Продмаг не является самостоятельным, это модуль программы ФинСофт:КупецЪ. Они работают в связке. В Продмаг загружаются справочники по мере необходимости, документы отправляются на сервер и напрямую записываются в базу данных Купца. Связь с сервером осуществляется по ip-протоколу через сокеты. На сервере работает небольшой сервис, который ловит входящие запросы от Продмага и передает управление нужной функции из библиотеки бизнес-логики. В магазинах никакого стороннего программного обеспечения устанавливать не надо. Данная технология была отлажена в модуле ФинСофт:Точка продаж и описана в посвященной ей статье на этом сайте.

Скорость обмена с сервером получилась достаточно хорошая. Справочники для Продмага на сервере формируются уже в готовом для работы виде и архивируются. Время создания архива в пределах 20 сек (для ассортимента ~25 тыс позиций).
Скорость загрузки справочников в Продмаг зависит от линии связи и составляет в районе 10-20 сек. Время записи приходной накладной на сервер составляет 2-3 секунды, время отправки всех чеков кассовой смены за сутки может достигать 3-4 минут. При этом остается возможность оптимизации скорости передачи данных за счет пакетирования, но пока я смысла не вижу.

Вероятность взлома канала связи невелика за счет специализированного формата передачи данных и жесткого контроля со стороны библиотеки бизнес-логики. При желании можно его защитить с помощью openSSL или использовать vpn.

Далее я кратко пройдусь по основным функциям Продмага.
25.11.2016 12:19
FinSoft
 
Справочники.



Справочники формируются на сервере офиса, архивируются и передаются в магазины. Непосредственно в магазинах они не изменяются. Но есть исключения.
1. Штрих-коды товаров можно создавать и удалять из магазина. Новый штрих-код вначале записывается в базу данных на сервере, после получения информации об успехе, добавляется в локальную базу. Если связи с офисом нет, то штрих-код сохраняется в специальном буфере, содержимое которого передается на сервер при восстановлении связи, перед отправкой первого документа.
2. В приходных накладных, создаваемых на основании информации, поступившей из Егаис, сохраняются алкогольные реквизиты. Когда приходная накладная записывается в базу данных на сервере, в рамках серверной транзакции обновляются соответствующие реквизиты справочников.
3. Имеется два локальных справочника - справочник торгового оборудования и справочник форм ценников.

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

Справочник поставщиков содержит список организаций, от которых можно приходовать товары.

Фирмы. Продажи в супермаркетах могут вестись от лица нескольких фирм.

Склады. В справочник включаются все магазины сети и центральный склад в офисе.

Прайсы используются для организации скидок по дисконтным картам на отдельные товары. Через них можно организовать аналог нашей местной дисконтной программы "Забота".

Дисконтные карты выгружаются в кассовые терминалы и используются для предоставления скидок.

Классификатор алкоголя.

Кассы. Список касс, работающих в магазине. В кассовых узлах используются специализированные программы, свое решение пока создавать повода не было. Поддерживается работа с кассовыми программами УКМ2, УКМ-Win, Artix, Штрих.

Торговое оборудование. Это локальный справочник. В нем содержится список используемых весов и терминалов сбора данных (ТСД). Работа с ними организуется либо через файловый обмен, либо через OLE-драйвер. Поддерживаются весы CAS, Digi 2, Штрих. Из ТСД поддерживаются CipherLab, Штрих, SuperKit Mobile.

Ценники. Локальный справочник. Содержит расширяемый список используемых ценников. Особенностью реализации ценников является автоматическое масштабирование шрифта для длинных наименований товаров. Для печати акционных ценников можно подкладывать фоновые картинки. Формы ценников можно настраивать в магазине с помощью встроенного дизайнера печатных форма ФинСофт:Дизайнер.

Выходные дни. Используется для расчета отсрочки оплаты приходов от поставщиков.

Ниже приведен скриншот справочника товаров.



В Продмаге с помощью специального запроса на сервере можно посмотреть информацию о товаре во всех магазинах сети - остатки, цену последней закупки, цену продажи, дату последней поставки и поставщика.

25.11.2016 12:24
FinSoft
 
Документы.



Документы записываются напрямую в базу данных Купца на сервере через сокеты. Передавать документы можно выборочно или сразу все неотправленные. Чеки кассовых терминалов отправляются одной транзакцией за дату.

На следующем скриншоте показан журнал приходных накладных.



Если документ записан на сервере, то он помечается красным флажком. Его изменять нельзя. Чтобы внести изменения, документ надо отменить (повторным нажатием кнопки "Отправить"). В базе данных Купца отмененный документ приобретает статус выключенного. После внесения изменения в документ в магазине и повторной отправки его на сервер, в базе данных Купца создается новая копия документа.
В магазине в расчете движений товаров участвуют как отправленные, так и не отправленные на сервер документы.

В центральной базе данных в офисе (базе данных Купца) документы, созданные из магазина, изменять локально всем пользователям запрещено, кроме суперпользователя.

При передаче документов на сервер выполняется защита от сбоев. Вначале идентификатор отправляемого документа запоминается в магазинной базе данных. При записи в базу данных на сервере также запоминаются идентификаторы последних сохраненных документов. Если в магазине от сервера получено сообщение об успешной записи, то в магазинной базе в рамках транзакции устанавливается статус документа "Отправлен", а сохраненный идентификатор обнуляется. При каждой очередной отправке документа проверяется успешность предыдущей отправки. Если сохраняемый идентификатор документа в базе данных магазина не обнулен, то Продмаг выполняет запрос с сервера идентификаторов последних сохраненных там документов. При совпадении транзакция завершается, при различии отменяется.

Большая часть видов документов в Продмаге соответствует видам документов в Купце. Исключение составляют документы "Уценка" и "Инвентаризация". При записи уценки на сервере создаются два документа "Списание" и "Приходная накладная". При записи инвентаризации на сервере создаются три документа "Инвентаризация", "Списание" и "Приходная накладная". При отмене этих документов на сервере выключаются все соответствующие документы.

Важно отметить, что в Продмаге ведется только количественный учет движения товаров. Это сделано специально для упрощения работы. В базе данных Купца ведется полноценный парционный учет по методу ФИФО.

Приход товаров. Приходные накладные от поставщиков.

Возврат товаров поставщику.

Перемещение (приход со склада). Этот документ автоматически запрашивается на сервере.

Смена цен. Установка новых цен продажи. Расчет может выполняться от последней цены закупки или от текущей цены продажи.

Чеки кассовых терминалов. Загружаются из специализированных кассовых программ для анализа. На движение товаров они не влияют, влияет сводный кассовый чек за смену.

Продажа товаров. Сводные кассовые чеки за смену. Загружаются из специализированных кассовых программ.

Возвраты от покупателей. Возвраты, которые не покрываются продажами за смену. Загружаются из специализированных кассовых программ.

Перемещение (отгрузка). Перемещение в другой магазин или на центральный склад. В магазине-адресате этот документ загружается автоматически с сервера.

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

Уценка. Списание количества с одной товарной позиции и приходование на другой одним документом. Количество прихода и списания могут отличаться.

Сбор данных (ТСД). Служебные документы, создаваемые загрузкой из ТСД или кассовой программы, поддерживающей режим инвентаризации.

Инвентаризация. Документ создается на основе учетных и фактических остатков товаров из документов "Сбор данных (ТСД)". Инвентаризация сразу влияет на движение товаров, дополнительных документов вида приход или списание создавать не надо.

Все документы. Общий журнал всех видов документов.

Остатки. Служебный документ для убыстрения расчета итогов по движению товаров.
25.11.2016 12:25
FinSoft
 
Обработки.



Выгрузка на весы. Здесь же печатная форма для plu-кодов.

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

Выгрузка в ТСД. Интересным является режим выгрузки актуальной номенклатуры. Актуальной номенклатура признается, когда товар есть на остатках хотя бы одного магазина сети или приходовался в течении последнего заданного промежутка времени (например, 3 месяцев) хотя бы в одном магазине. Список актуальных товаров запрашивается на сервере. Описанный режим позволяет оптимизировать время загрузки в ТСД.
Выгружать в ТСД можно также отдельную группу товаров с учетом вложенностей или товары из приходных накладных.

Загрузка из кассовых терминалов.

Печать ценников. Список товаров для печати может заполняться на основании документов, ТСД и т.д.

Печать штрих-кодов. Форма настраивается с помощью встроенного дизайнера. Печатать можно как на специализированных принтерах этикеток, так и на бумаге стандартной формы А4.

Прием данных из офиса. Загрузка справочников с сервера. Данная обработка автоматически запускается при входе в программу.

Передача данных в офис. Передача всех неотправленных документов в офис.
25.11.2016 12:28
FinSoft
 
Отчеты.



Оборотка по товарам. Движение по всем или выбранным товарам. Отбор товаров можно делать по последнему поставщику, группе или произвольному списку.



Карточка товара. Все движения по конкретному товару за период.



Отчет по ценам закупки. Выводит приходные накладные за период с детализацией по тем строкам, закупочные цены в которых изменились относительно предыдущего прихода.

Журнал учета розничных продаж алкоголя. Стандартная форма. Создается на основе чеков кассовых терминалов.

Неотправленные документы. Контрольный отчет, выводящий список не отправленных на сервер документов.

Сверка входящих перемещений с сервером. Запускается автоматически при входе в программу.

Сверка документов с сервером. Контрольный отчет, сверяющий документы в базе данных магазина и на сервере. Сверяется количество строк, итоговое количество товаров, контрольная сумма идентификаторов товаров и некоторые реквизиты отдельных видов документов.

Сверка остатков товаров с сервером. Сверяет в количественном выражении остатки товаров в базе данных магазина и на сервере. Перед формированием этого отчета все документы должны быть отправлены на сервер, все входящие перемещения получены.

История обмена. Лог обмена с торговым оборудованием и кассовыми узлами.

В ближайшей версии Продмага планируется сверочные отчеты запускать автоматически в ночное время, результаты отправлять по электронной почте менеджеру и в техподдержку.
25.11.2016 12:31
FinSoft
 
Егаис.



Содержит операции с Егаис. Этот блок в настоящее время дорабатывается и развивается.

Приходы Егаис. Получение и подтверждение приходов из Егаис. На основании приходов Егаис создаются обычные приходные накладные в автоматизированном режиме.

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

Исходящие ТТН. Возвраты поставщикам и перемещения в другие магазины сети.

Перемещения в торговый зал. Создаются на основании остатков в Егаис.

Перемещения на склад. Используются для подготовки возвратов поставщикам или перемещений в другие магазины.

Запрос остатков. Запрос остатков из Егаис по складу и торговому залу.

Сканирование остатков. Используется для по-марочного сканирования остатков с целью проведения инвентаризации.

Сверка остатков. Специальная сверочная форма в Excel, автоматическое формирование документов постановки на баланс в торговом зале и списания с торгового зала на основании документов запроса остатков из Егаис и сканирования остатков.

Постановка на баланс в торговом зале.

Акты на списание в торговом зале.

Запрос нечитаемых марок.

Алкогольная продукция. Справочник алкогольной продукции в разрезе алкокодов.

Производители алкоголя.
Часовой пояс GMT +3, время: 12:55.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.