Загрузка продаж из Эвотор

Выгрузка из Эвотор

Заходим в личный кабинет Эватор.

image-1666984941967.png

Переходим в раздел Мои покупки. Открываем Управление ассортиментом.

image-1666984997297.png

Нажимаем открыть в новом окне.

image-1666985031179.png

Во вкладке Аналитика выбираем Реестр продаж.

image-1666985074052.png

Устанавливаем даты выгрузки.

image-1666985091751.png

На получившемся отчете нажимаем правой кнопкой мыши, Экспорт, CSV.

image-1666985143057.png

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

Загрузка в Юпитер

  • Перед запуском загрузки нужно сделать выгрузку из Эвотор и поместить файлы выгрузки в директории загрузки
  • Загрузка запускается в разделе Эвотор - Загрузка продаж из Эвотор
  • В параметрах загрузки можно выбрать один или несколько торговых залов по которым необходимо выполнить загрузку. Если торговые залы не указаны, то загрузка выполняется по всем торговым залам (но только по тем, у которых заданы советующие настройки)
  • В параметрах загрузки можно включить автоматическое формирование реализации по загруженным рабочим дням

image-1666980417028.png

  • В процессе загрузки, Юпитер может предложить выполнить сопоставление товара Эвотор с товаром Юпитера

image-1666980631821.png

image-1666980688162.png

  • В открывшейся форме нужно выбрать советующий товар, который будет связан с товаром из Эвотор
  • В результате выполнения загрузки, Юпитер откроет протокол сообщений с информацией по загруженным данным или ошибками (если такие были)

image-1666980897399.png

Настройка загрузки в Юпитер

Пользователям, которые будут выполнять загрузку продаж и настройку загрузки, включить роль "Прием продаж из Эвотор" (Склад - Начальные сценарии - Внешние кассовые системы).

image-1666980168514.png

Во всех торговых залах, по которым продажи загружаются из Эвотор заполнить вкладку "Импорт". Заполнить параметры:

  • Путь к файлам выгрузки - указать путь к папке, от куда Юпитер будет загружать данные
  • Вид оплаты для наличных - указать вид оплаты, который будет добавляется в заказы оплаченные наличными
  • Вид оплаты для безнала - указать вид оплаты, который будет добавляется в заказы оплаченные картой

image-1666980327190.png

Техническое задание

Общее описание

  • Юпитер загружает данные по продажам из CSV файла, который заранее выгружается пользователем из Эвотор
  • На основе загруженных данных, Юпитер создает рабочие дни и кассовые заказы (Заказ, Возврат)
  • В кассовые заказы загружаются
    • Товарные строки чека
    • Оплаты
      • В заказ загружается только один вид оплаты, загрузка смешенной оплаты не поддерживается
  • Скидки не загружаются, т.к. в файле из Эвотор нет этих данных
  • Загрузка перезаписывает уже существующие рабочие дни и заказы

Описание формата файла

  • Формат файла - CSV
  • Кодировка файла - UTF-8-BOM
  • Разделителей полей - запятая
  • Значения всех полей заключены в кавычки
  • В строке № 1 всегда передаются названия колонок. Строка № 1 не загружается
  • В строке № 2 всегда передается название магазина в Эвотор. Строка № 2 не загружается
  • В последней строке всегда передаются итоги выгрузки. Последняя строка не загружается
  • Поля файла:
  1. Магазин - не используется
  2. Дата - дата в формате ДД.ММ.ГГГГ. Используется для определения привязки к рабочему дню
  3. Операция - может принимать значения "Продажа" или "Возврат". Используется для определения тип кассового заказа
  4. Номер документа - номер чека в Эвотор (видимо уникален в рамках магазина). Используется для объединения продаж в кассовые заказы.
  5. Наименование - название товара в Эвотор. Используется для вывода при сопоставлении товаров
  6. Количество - используется для загрузки количества в товарную строку кассового заказа. Значение поля приводится к модулю, т.к. Эвотор передает отрицательное значение при возврате.
  7. Итого цена закупки - не используется
  8. Итого цена продажи - Используется для загрузки розничной и фактической цены  суммы товарной строки кассового заказа. Значение поля приводится к модулю, т.к. Эвотор передает отрицательное значение при возврате.
  9. Скидка - не используется
  10. УИН - не используется
  11. Описание - не используется
  12. Оператор - не используется
  13. Проба - не используется
  14. Металл - не используется
  15. Масса - не используется
  16. Хим.масса - не используется
  17. Количество ДК - не используется
  18. Тип собственности - не используется
  19. Тип товара - не используется
  20. Группа товаров - не используется
  21. Артикул - не используется
  22. Код - не используется
  23. Ед.изм. - используется для вывода при сопоставлении товаров
  24. Штрих-код - не используется
  25. Номер ФН - не используется
  26. Номер ФД - не используется
  27. Тип оплаты - используется для определения вида оплаты. Может принимать значения "Банковская карта" или "Наличные". В зависимости от значения, Юпитер будет проставлять тот или иной вид оплаты (задается в настройках торгового зала)
  28. id - идентификатор товара в Эвотор. Используется для сопоставления товаров Эвотор и Юпитер. Предполагается, что ID уникален и не пересекается между магазинами (т.е. разных товаров с одинаковым id быть не может, даже в разных магазинах).

 

Настройки в Юпитере

  • В ролях включается "Прием продаж из Эвотор"
    • Включает отображение настроек в карточке торгового зала
    • Включает отображение пункта меню "Загрузка из Эвотор"
  • В карточке торгового зала задается
    • Путь к директории для загрузки - если данный параметр не заполнен, то Юпитер считает, что связка с Эвотор не используется.
    • Вид оплаты для наличных - обязательно к заполнению. Данный вид оплаты будет проставляться в заказы у которых тип платы (поле № 27) = "Наличные"
    • Вид оплаты для безнала - обязательно к заполнению. Данный вид оплаты будет проставляться в заказы у которых тип платы (поле № 27) = "Безналичный расчёт" ("Банковская карта" старый вариант, до 2022-11-18)

Процесс загрузки

  • Загрузка запускается пользователем с помощью раздела "Загрузка из Эвотор" (находится в основном меню)
  • При запуске процедуры загрузки, Юпитер запрашивает параметры загрузки
    • Торговые залы - по которым нужно выполнить загрузку (если пусто, то по всем)
    • Автоматически формировать реализацию - Да/Нет. Включает/отключает автоматическое формирование реализации по загруженным рабочим дням
  • Загрузка выполняется только по торговым залам, в которых задана директория для загрузки
  • Загрузка пытается загрузить все CSV файлы, которые находятся в директории для загрузки
  • После обработки CSV файла, Юпитер перекладывает его в подкаталог SUCCESS (если загрузка прошла без ошибок). Если при загрузке были ошибки, то файл не перемещается
  • Перед загрузкой, Юпитер конвертирует файл в кодировку Windows-1251 из UTF-8-BOM
  • Юпитер проверят, что все товары из файла выгрузки сопоставлены с товарами Юпитер. Для этого по каждому товару из файла выгрузки
    • Юпитер ищет объект "штрихкод" с кодом = id из Эвотор (поле № 28 из файла)
      • Объект штрихкод, это специальных системный объект, который используется для связки товаров Юпитера с товарами из внешних систем
      • Штрихкод имеет два параметра:
        • Код - код товара во внешней системе (уникальное значение)
        • Ссылка на товар в Юпитере
    • Если находит, то получает из штрихкода товар, и использует его для загрузки
    • Если не находит, то предлагает пользователю выполнить сопоставление товара. Для этого:
      • Юпитер отображается форму сопоставления с полями:
        • Название товара в Эвотор - только для просмотра. Выводит значение поля № 5 из файла + значение поля № 23 из файла
        • Товар в Юпитере - в это поле пользователь выбирает товар Юпитера, который соответствует товару из Эвотор. Можно выбрать товар любого типа продаваемого через кассу (Товар, Изделие, Услуга)
      • Если пользователь не выполнил сопоставление, то загрузка прерывается
      • Если пользователь выполнил сопоставление, то Юпитер создает объект "штрихкод" с ссылкой на выбранный товар и с id из Эвотор (при повторной загрузке данного товара, сопоставление не потребуется)
  • Юпитер создает рабочие дни и кассовые заказы.
    • Данные из файла группируются по дате рабочего дня, по полю № 2. Для каждой сгруппированной записи (для каждого рабочего дня) Юпитер:
      • Проверяет, что такого рабочего дня еще нет. Если есть, то существующий рабочий день ПОЛНОСТЬЮ УДАЛЯЕТСЯ.
      • Создает новый рабочий день
      • Создает кассовые заказы (группировка по значению поля № 4)
        • Тип заказа определяется по полю № 3 (Заказ или Возврат)
        • Заказ загружается в статусе "Закрыт"
        • В качестве даты\времени открытия заказа Юпитер ставит начало дня (00:00:00)
        • В качестве даты\времени закрытия заказа Юпитер ставит конец дня (23:59:59)
        • Добавляет товарные строки
          • Товар - сопоставленный товар
          • Количество - поле № 6
          • Сумма розничная, фактическая - поле № 8
          • Цена розничная, фактическая - рассчитывается (поле № 8 / поле № 6)
        • Добавляет и проводит оплату
          • Вид оплаты - сопоставленный вид оплаты
          • Сумма оплаты - рассчитывается. Всегда = сумме по товарным строкам заказа
      • Формирует реализацию по рабочему дню (если включена соответствующая опция в параметрах загрузки)
  • В случае возникновения каких либо ошибок, они выводятся пользователю на экран
  • Дополнительное логирование и протоколирование не ведется

 

При ошибке загрузки из Эватор в Юпитер (ниже на скрине) - ругается на неверные значения в колонке и т.д.

image-1681921576629.png

Проверить выбор колонок в Эваторе при выгрузке (справа на скрине) поставить все перечисленные галки и выгрузить файл заново

image-1681921645414.png

 


Система JUPITER                                 www.jupiter.systems                                 (с) 2024г.