Интеграция «Mobile SMARTS: ЕГАИС» через CSV и Excel

Последние изменение: 31.05.2018

Первоначальная настройка и подключение

  1. Устанавливаем платформу Mobile SMARTS и конфигурацию ЕГАИС (утилита Excel и CSV обмена входит в пакет установки платформы).
  2. Запускаем утилиту (Пуск – Программы – Cleverence Soft - Mobile SMARTS - Утилита Excel и CSV обмена).



  3. Выбираем базу «Mobile SMARTS: ЕГАИС» с которой будет работать утилита обмена.

    Если зарегистрирована только одна база, то она будет выбрана автоматически.


    В зависимости от того в каком режиме находится база (прямая работа с ТСД или серверная) утилита также будет работать либо с сервером Mobile SMARTS, либо напрямую загружать файлы в ТСД.
    Термины «на терминал» и «с терминала» подразумевают либо прямую работу с устройством, либо работу с сервером, в зависимости от режима базы!
  4. В выбранной нами базе автоматически создается папка XlsCsv с которой будет работать утилита, выгружать оттуда файлы номенклатуры и документов на терминал и загружать обратно выполненные документы.
    Содержимое папки XlsCsv

    Имя папки \ подпапки

    Описание

    На терминал

    Содержит файлы Excel и CSV, предназначенные для отправки на терминал.

    На терминал\Архив

    Архив успешно конвертированных файлов Excel и CSV.  Если файл «пропал», его можно найти здесь.

    С терминала

    Сюда складываются файлы с терминала после конвертации их в Excel или CSV по шаблон.

    Templates

    Папка с файлами шаблонов конвертации.

    Для «Mobile SMARTS: ЕГАИС» готовые шаблоны добавляются в папку автоматически при установке.

    Templates\Upload

    Содержит шаблоны, по которым разбираются файлы для терминала.

    Templates\Download

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


    Пример:
    Если база расположена по пути «c:\ProgramData\Cleverence\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС\», то папка для работы утилиты будет иметь путь «c:\ProgramData\Cleverence\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС\XlsCsv\».
    Папка для номенклатуры и документов, загружаемых на терминал: «c:\ProgramData\Cleverence\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС\XlsCsv\На терминал\».
    Папка с выполненными документами: «c:\ProgramData\Cleverence\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС\XlsCsv\С терминала\».
  5. Настраиваем параметры обмена.



    Выбираем формат файлов для загрузки/выгрузки.


Обмен данными


Обмен данными происходит в два этапа:

Этап первый – выгрузка номенклатуры и документов «На сервер» (1).

При нажатии на кнопку «На сервер» происходит выгрузка номенклатуры и документов на сервер (на ТСД в батч режиме).

Этап второй – загрузка документов «С сервера» (2).

При нажатии на кнопку «С сервера» происходит загрузка выполненных документов с сервера (с ТСД в батч режиме).


Этап первый

Выгрузка номенклатуры

Для выгрузки номенклатуры на терминал необходимо положить в папку «На терминал» файл «Номенклатура.csv» или «Номенклатура.xls», в зависимости от используемого формата файлов.

Формат обмена (какие данные и в каком порядке идут в файле) задаётся в файле «…\XlsCsv\Templates\Upload\Номенклатура.csv» (или «.xls»).

Формат для CSV  по умолчанию имеет следующий вид:

Код;Артикул;Номенклатура;Штрихкод;Packing.descr;Ед.;Коэффициент;Packing.serial;Packing.qty;
Packing.price;Product.Алко;Product.АлкоМарк;Packing.АлкоКод;Packing.АлкоКрепость;
Packing.АлкоОбъем;Packing.Производитель

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

Для Excel формат обмена имеет аналогичную структуру.

Шаблон можно изменять или вообще создать свой, с колонками, которые необходимы для выгрузки.

Колонки для шаблона номенклатуры:

Название колонки

Описание

Код

Код

Артикул

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

Номенклатура

Наименование товара.

Штрихкод

Штрихкод товара (обычно EAN13).

Packing.descr

Характеристика товара (если ведется учет с характеристиками).

Ед.

Единицы измерения (например, бут., шт.).

Коэффициент

Коэффициент пересчета единиц измерения продукции.

Packing.serial;

Серия, привязанная к упаковке (для серийного учета).

Packing.qty

Количество товара на складе.

Packing.price

Стоимость единицы товара.

Product.Алко

Является алкоголе содержащей продукцией (Да/Нет).

Product.АлкоМарк

Является маркируемой продукцией (Да/Нет).

Packing.АлкоКод

Код упаковки алкогольной продукции.

Packing.АлкоКрепость

Крепость.

Packing.АлкоОбъем

Объем.

Packing.Производитель

Производитель.


Примеры

Пример корректного входного файла «Номенклатура.csv»:

Код;Артикул;Номенклатура;Штрихкод;Характеристика;Единица измерения;Коэффициент;Серия;Количество;Цена;Алкоголь;Наличие марки;Код ЕГАИС;Крепость;Объём;Производитель/импортёр

00000005879;;"Водка ""Зимняя""";4680012890095;;бт;1,00;;;;Да;Да;1127448000053545176;40;0,1;
00000005880;Арт435455;"Водка""Сордис""";4601126221995;;бт;1,00;;;;Да;Да;0550512000047206224;
40;0,1;"ООО ""СОРДИС"""

Комментарии:

  • В качестве первой строки можно выгружать произвольные имена колонок, для удобства человека. Для этого в утилите добавлена настройка «Не читать первую строку данных»;



  • Каждая строка должна иметь ровно тоже число колонок, что задано в формате обмена. Если для данной позиции нет данных, то просто пропускаем его, ставя разделитель «;;»;
  • Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками ("); если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд;
  • Подробнее про формат CSV Вы можете прочитать по ссылке https://ru.wikipedia.org/wiki/CSV.

Пример файла Excel для выгрузки номенклатуры

Путь к файлам для выгрузки номенклатуры: «…\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС\XlsCsv\На терминал\»

Файлы Excel для выгрузки должны иметь один лист, который содержит загружаемые данные.

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

Колонки в документе с данными должны идти в том же порядке, что и в файле шаблона.


Выгрузка ФормыА

Некоторые операции, например, приход на склад позволяют проводить автоматическую проверку и подбор номеров форм «А», если конечно данные об этих формах выгрузить заранее.

Для выгрузки таблицы форм «А» на терминал необходимо положить в папку «На терминал» файл «ФормыА.csv» или «ФормыА.xls», в зависимости от используемого формата файлов.

Шаблон для выгрузки «ФормыА»

Путь к шаблону: «…\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС\XlsCsv\Templates\Upload\»

Файл CSV:

КодФормы;АлкоКод;Начало;Конец

В шаблоне, через точку с запятой (без пробелов), перечисляются поля Формы А, которые будем выгружать.

Для Excel формат обмена имеет аналогичную структуру.


Колонки для шаблона «ФормыА»:

Название колонки

Описание

КодФормы

Код формы в системе ЕГАИС.

АлкоКод

Строка с кодом алкогольной продукции в ЕГАИС.

Начало

Начало диапазона серийных номеров.

Конец

Конец диапазона серийных номеров.


Примеры

Пример корректного входного файла «ФормыА.csv»:

КодФормы;АлкоКод;Начало;Конец

123456;0031318000001257558;102033827000;102033828000
654321;0031318000001257580;100684707541;100684707762

Выгрузка документов

Все созданные Вами документы для выгрузки необходимо класть в папку «На терминал» («…\XlsCsv\На терминал\»).

Файл документа для выгрузки должен иметь имя, начинающееся с имени типа документа (например, Сбор начальных остатков), после которого идет небуквенный и нецифровой символ, например, «№» или «#», после которого можно указать номер или дату документа.

Примеры:

  • Сбор начальных остатков № 003
  • Приход на склад # 26.01.2016
  • Инвентаризация # 00078
  • Подбор заказа № 0053 от 10.02.2016

Шаблон для выгрузки документов на ТСД выгружать не обязательно. Выгружаем готовый документ, который одновременно может быть шаблоном, тогда обязательно каждая колонка должна иметь ячейку заголовок, содержащую название колонки.

Примеры

Пример корректного входного файла Excel документа «Подбор заказа №00001»:

Файлы Excel для выгрузки документа должны иметь один лист, который содержит выгружаемые данные.

Описание строк задается в виде таблицы, содержащей колонки. Каждая колонка имеет ячейку заголовок, содержащую название колонки и данные.



Этап второй

Загрузка документов

Файл документа для загрузки будет иметь имя, начинающееся с имени типа документа (Сбор начальных остатков), после которого идет небуквенный и нецифровой символ, например, «№» или «#».

Итоговые загруженные файлы документа создаются автоматически по шаблону и попадают в папку «…\XlsCsv\С терминала\».

Шаблон документа для загрузки с ТСД описывает какие данные и в каком порядке попадут в итоговый файл excel или csv.

Шаблон для загрузки документов с ТСД

Путь к шаблонам «…\XlsCsv\Templates\Download\».

Файл CSV:

#{Document};;;;;;;;;;;;;;;;
Имя;;;;;;;;;;;;;;;;
#{Document.CombinedItems};;;;;;;;;;;;;;;;
barcode;Артикул;Наименование;Ячейка;SSCC;План;Факт;АлкоНаим;АлкоОбъем;АлкоКрепость; Производитель;ПроизвИНН;ПроизвКПП;АлкоКод;АлкоПДФ;АлкоСН;ДатаРозлива;АлкоЕстьВФормах;КодФормыА

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

Файл Excel:


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

Колонки для шаблона загрузки документа:

Название колонки

Описание

#{Document}

В CSV файле указание, что далее идут поля шапки документа для загрузки.

#{Document.CombinedItems}
#{Document.CurrentItems}
#{Document.DeclaredItems}

В CSV файле указание,  из какой табличной части документа загружаются итоговые данные.

Штрихкод

Штрихкод товара (обычно EAN13).

Артикул

Содержит артикул товара.

Наименование

Наименование товара.

Ячейка

Место хранения.

SSCC

Паллета.

План

Заявленное количество.

Факт

Фактическое количество, то которое отсканировали.

АлкоНаим

Наименование товара из ЕГАИС, если уже известно для данного товара, либо если было получено из CheckMark.

АлкоОбъем

Ёмкость тары в литрах из ЕГАИС, если уже известна для данного товара, либо если была получена из CheckMark.

АлкоКрепость

Процентное содержание спирта из ЕГАИС, если уже известно для данного товара, либо если было получен из CheckMark.

 

Производитель

Наименование производителя продукции в ЕГАИС, если уже известно для данного товара, либо если было получено из CheckMark.

ПроизвИНН

ИНН производителя, если уже известен для данного товара, либо если был получен из CheckMark.

ПроизвКПП

КПП производителя, если уже известен для данного товара, либо если был получен из CheckMark.

АлкоКод

Код алкогольной продукции в ЕГАИС, полученный из отсканированных марок.

АлкоПДФ

Строка с PDF 417.

АлкоСН

Серийный номер бутылки, если сканировался.

ДатаРозлива

Дата розлива позиции, если вводилась, иначе null.

АлкоЕстьВФормах

Признак того, что данная марка была найдена в выгруженных формах А.

КодФормыА

Код формы А, где была найдена марка.


Примеры

Файл CSV загруженный с ТСД (например, Сбор начальных остатков 29.01.16 14.24.csv) 

Имя;;;;;;;;;;;;;;;;

"Сбор начальных остатков 29/01/16 14:24";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""
Code;Артикул;Наименование;АлкоНаим;АлкоОбъем;АлкоКрепость;Производитель;ПроизвИНН;ПроизвКПП; АлкоКод;АлкоПДФ;АлкоСН;ДатаРозлива;АлкоЕстьВФормах;КодФормыА;DeclaredQuantity;CurrentQuantity
"";"";"неизвестный товар";"Водка "Праздничная"";"0,1";"40,000";"ООО "ЛВЗ Кристалл-Лефортово"";"1328005717";"132801001";"0031318000001257558"; "22N000008KDAYKXY8GM0O5Y51021002014736N7MLO27PKF77030CEGBIJZZRG7HDPIQ";"102033829736";"";""; "";"0";"1"
"";"";"неизвестный товар";"Водка "Старая Москва"";"0,25";"40,000";"ООО "ЛВЗ Кристалл-Лефортово"";"1328005717";"132801001";"0031318000001257580"; "22N000008KDAYKXY8H80O5Y509160030475418YBZSTRII1S4SQPEJRYYNBDQ5WX51YR";"100684707541";"";""; "";"0";"1"

Незаполненные поля загружаются в файл в виде разделителя «"";».

Файл Excel загруженный с ТСД (например, Сбор начальных остатков 29.01.16 14.24. xls)