Обмен Excel/ CSV файлами в «Складе 15»
Во всех продуктах Клеверенса реализована возможность обмена данными при помощи текстовых файлов форматов xlsx, xls, csv и другими, в том числе и произвольных форматов. Для этого используется специальная утилита обмена, которую можно открыть через менеджер баз Mobile SMARTS.
Работа с утилитой Excel и CSV обмена доступна в любой конфигурации и в любом уровне лицензии продуктов Клеверенса.
Первоначальная настройка и подключение
-
Установите платформу Mobile SMARTS и создайте новую базу продукта (утилита Excel и CSV обмена входит в пакет установки платформы).
-
В менеджере баз выберите базу и запустите для нее утилиту обмена («Открыть» → «Открыть ExcelCsv обмен»).
Также утилиту можно запустить из приложения продукта (менеджер баз → «Открыть»).
-
В выбранной базе автоматически создается папка
XlsCsv, с которой будет работать утилита, выгружать оттуда файлы номенклатуры и документов на ТСД и загружать обратно выполненные документы.Содержимое папки XlsCsv
Имя папки/ подпапки Описание Templates Папка с файлами шаблонов конвертации, готовые шаблоны добавляются в папку автоматически при установке. Templates\ Upload Содержит шаблоны, по которым разбираются файлы для терминала. Templates\ Download Содержит шаблоны, по которым формируются готовые файлы с терминала. Для получения документов в определенном виде нужно положить сюда ша блон. На терминал Содержит файлы Excel и CSV, предназначенные для отправки на терминал. На терминал\ Архив Архив успешно конвертированных файлов Excel и CSV. Если файл «пропал», его можно найти здесь. На терминал\ Демо-данные Содержит демо-данные для работы с базой. С терминала Содержит файлы с терминала после конвертации их в Excel или CSV по шаблону. Пример:
Если база расположена по пути
c:\ProgramData\Cleverence\Databases\*имя вашей базы, то папка для работы утилиты будет иметь такой же путь. -
На ТСД должен быть установлен и запущен клиент, подключенный к базе продукта.
-
Настройте параметры обмена Xls и Csv файлами.
Настройка параметров обмена
Перед тем, как начать выгружать на ТСД или загружать с терминала данные, необходимо настроить параметры обмена.
Можно настроить следующие параметры обмена:
- «Формат файлов» — выбор формата файлов для загрузки/выгрузки документов и справочника номенклатуры.
- «Кодировка» — указывается кодировка исходных файлов для выгрузки и результирующих файлов для загрузки.
- «Пути» — по умолчанию пути папок для загрузки/выгрузки документов и справочников номенклатуры уже прописаны, но при необходимости их можно изменить.
- «Не удалять завершенные документы с терминала после обмена данными» — если вы хотите оставлять на ТСД все завершенные документы, проставьте галочку.
- «Не читать первую строку данных» — проставьте галочку, если в качестве первой строки заданы имена колонок.
- «Перезаписывать существующую номен клатуру при выгрузке» — если галочка проставлена, то при выгрузке справочника существующая номенклатура будет перезаписана.
- «Генерировать индекс полнотекстового поиска для номенклатуры» — формируется наименование товаров для поиска на ТСД.
- «Перезаписывать существующие ячейки при выгрузке» — если галочка проставлена, данные будут перезаписаны.
- «Перезаписывать существующих пользователей при выгрузке» — при включении старый список пользователей будет заменен новым. Если не включено — списки объединяются.
- «При выгрузке помещать в Good/Bad» — безошибочные файлы попадут в папку Good, с ошибками — в Bad.
Настройки параметров обмена хранятся в файле XlsCsvUtil.EXE.config, который находится в папке XlsCsv.
Обмен данными
Обмен данными происходит в два этапа:
-
Выгрузка номенклатуры и документов «На сервер».
При нажатии на кнопку «На сервер» происходит выгрузка номенклатуры и документов на сервер (с ТСД, соединенного с ПК напрямую).
-
Этап второй — загрузка документов «С сервера».
При нажатии на кнопку «С сервера» происходит загрузка выполненных документов с сервера (на ТСД, соединенный с ПК напрямую).
Пример выгрузки номенклатуры через утилиту обмена
Для выгрузки номенклатуры на мобильное устройство необходимо положить в папку «На терминал» файл «Номенклатура.csv» или «Номенклатура.xls», в зависимости от используемого формата файлов.
Формат обмена (какие данные и в каком порядке идут в файле) задаётся в файле «…\XlsCsv\Templates\Upload\Номенклатура.csv» (или «.xls»).
Формат для CSV имеет следующий вид:
Код;Артикул;Наименование;Штрихкод;Единица;Коэффициент;Характеристика номенклатуры;Остаток;
Цена;Алкоголь;Маркируется маркой;Код ЕГАИС;Крепость;Объем (л);Производитель/Импортёр
В шаблоне, через точку с запятой (без пробелов), перечисляются поля номенклатуры и упаковки, которые будем выгружать.
Поля для алкогольной продукции необходимы только при работе с алкоголем.
Для Excel формат обмена имеет аналогичную структуру.
Шаблон можно изменять или вообще создать свой, с колонками, которые необходимы для выгрузки.
Колонки для шаблона номенклатуры:
| Название колонки | Описание |
| Код | Код |
| Артикул | Содержит артикул товара, что позволяет искать товар на терминале по его артикулу |
| Наименование | Наименование товара |
| Штрихкод | Штрихкод товара (обычно EAN13). |
| Единица | Единицы измерения (например, бут., шт.) |
| Коэффициент | |
| Характеристика номенклатуры | Характеристика товара (если ведется учет с характеристиками) |
| Остаток | Количество товара на складе |
| Цена | Стоимость единицы товара |
| Алкоголь | Является алкоголе содержащей продукцией (Да/Нет) |
| Маркируется маркой | Является маркируемой продукцией (Д а/Нет) |
| Код ЕГАИС | Код упаковки алкогольной продукции |
| Крепость | Крепость алкогольной продукции |
| Объем (л) | Объем алкогольной продукции |
| Производитель/Импортер | Производитель, импортер алкогольной продукции |
Примеры
1. Пример корректного входного файла «Номенклатура.csv»
Код;Артикул;Наименование;Штрихкод;Единица;Коэффициент;Характеристика номенклатуры;Остаток;Цена;Алкоголь;
Маркируется маркой;Код ЕГАИС;Крепость;Объем (л);Производитель/Импортёр
00000005879;;"Водка ""Зимняя дорога""";4680012890095;бут;1;;;;Да;Да;1127448000053545176;40;0,1;"ООО ""СОРДИС"""
ЦУ000000110;80;STEP Пазл 80;4602827770010;шт;1;;115,00;26,00;;;;;;
ЦУ000000167;5826;Агуша пюре Груша 115г;4602541004156;шт;1;;33,00;23,00;;;;;;
Комментарии:
-
В качестве первой строки можно выгружать произвольные имена колонок. Для этого в утилите добавлена настройка «Не читать первую строку данных»;
-
Каждая строка долж на иметь ровно тоже число колонок, что задано в формате обмена. Если для данной позиции нет данных, то просто пропускаем его, ставя разделитель «;;»;
-
Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками («); если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд;
-
Подробнее про формат CSV Вы можете прочитать по ссылке https://ru.wikipedia.org/wiki/CSV.
2. Пример файла Excel для выгрузки номенклатуры
Путь к файлам для выгрузки номенклатуры: «…\Базы Mobile SMARTS\Mobile SMARTS Магазин 15\XlsCsv\На терминал».
Файлы Excel для выгрузки должны иметь один лист, который содержит выгружаемые данные.
Описание строк задается в виде таблицы, содержащей все колонки (даже если какие-нибудь колонки остаются пустыми), которые есть в шаблоне. Каждая колонка может иметь ячейку заголовок, для удобства при просмотре человеком. Если ваш excel файл не имеет строки заголовков, то необходимо отключить опцию «Не читать первую строку данных».
Колонки в документе с данными должны идти в том же порядке, что и в файле шаблона.
Ошибки выгрузки номенклатуры
При возникновении ошибки плана:
08.06.2023 10:34:09 Ошибка при загрузке номенклатуры из файла 'C:\ProgramData\Cleverence\Databases\Склад 15, Минимум\XlsCsv\На терминал\Номенклатура.xlsx'. Packing Id cannot be null or empty. 08.06.2023 10:34:09 Ошибка при завершении загрузки’При загрузке номенклатуры из файла возникла ошибка:Packing Id cannot be null or empty.'. При загрузке номенклатуры из файла возникла ошибка:Packing Id cannot be null or empty.
Проверьте, заполнены ли поля Packing Id и Product Id в файле номенклатуры. Данные поля являются обязательными и не могут быть пустыми, что ведет к ошибке выгрузки.
Как выгрузить на ТСД значения склада и контрагента
Чтобы при обмене через утилиту xls/ csv документ выгружался на мобильное устройство с уже установленными значениями контрагента и склада, необходимо:
-
Изменить шаблон для выгрузки документов, который используется для выгрузки документов и находится в папке по пути: «…"имя вашей базы"\XlsCsv\Templates\Upload» (в качестве примера будем использовать .xls документ).
-
Если необходимо доработать шаблон выгрузки документа с контрагентом и складом только для конкретного типа документа (например, «Приход на склад»), создайте копию шаблона «Документ.xls» и переименуйте в «ПриходНаСклад.xls» (если в папке уже есть готовый шаблон «ПриходНаСклад.xls», используйте его).
Если нужно добавить шаблоны выгрузки** для всех типов документов**, придется внести изменения в общий и частные шаблоны.
-
Откройте нужный шаблон, переместите строки №12-13 в строки №16-17 (для того, чтобы освободить ячейки для заполнения склада/контрагента).
-
Добавьте необходимые поля в шапку документа:
-
«ИдСклада1С»
-
«ИмяСклада»
-
«ИдКонтагента»
-
«ИмяКонтрагента»
Поля «ИмяКонтрагента» и «ИмяСклада» добавляются по желанию, для работы достаточно «ИдСклада1С» и «ИдКонтрагента».
-
-
Сохраните шаблон. После изменения шаблона сделанные ранее документы перестанут корректно загружаться!
-
После доработки шаблона нужно правильно сформировать документ, который будет выгружаться по этому шаблону (добавить и заполнить в нем новые поля).
-
После выгрузки документа на ТСД по новому шаблону в панели управления Mobile SMARTS должны отображаться новые поля в шапке документа с заполненными значениями.
-
В открытом на устройстве документе уже будут выбраны склад и контрагент, указанные ранее.
Обмен документами через утилиту обмена
Для обмена документами с помощью утилиты обмена Excel/CSV нужно подготовить соответствующие документы одного из четырех форматов: xls, xlsx и два вида csv. Формат выбирается исключительно из удобства подготовки вручную или выгрузки из вашей учетной системы. Документы должны быть подготовлены в соответствии с требованиями платформы Mobile SMARTS.
Существует несколько вариантов выполнения этой задачи.
- Подготовить документы и загружать/выгружать, не меняя «коробочных решений».
- С удалением ненужных полей в (за)выгружа емом документе.
- С изменениями платформы Mobile SMARTS.
Каждое решение имеет свои преимущества и недостатки.
Первое предполагает заполнение в загружаемых документах только необходимых полей, без внесения изменений в неиспользуемые. Документы содержат множество неиспользуемых полей, которые рассчитаны для работы «коробочного решения».
Второй вариант предполагает изменение шаблонов документов, используемых платформой Mobile SMARTS. В данном случае вы можете получить формы документов, удобные вам — убрать неиспользуемые колонки, поменять их местами, подстроить шаблоны файлов под учетную систему.
Третий вариант наиболее трудоемкий, т.к. он позволяет внести необходимые изменения в платформу, добавить поля, задать их обработку, изменение или вывод по вашим требованиям, используя как готовые процедуры, так и создавая полностью свои нетиповые бизнес-процессы. Можно также установить пустую базу для создания всех процедур и алгоритмов с чистого листа (например, добавление поля в номенклатуру).
При создании базы продуктов на платформе Mobile SMARTS, в папку базы копируются «Демо-файлы» во всех форматах. В данном документе будем использовать файлы формата «.xlsx». Быстро получить доступ к папке можно, используя входящую в состав платформы Mobile SMARTS утилиту Excel/ Csv обмена. Запускаем Mobile SMARTS, выбираем базу продукта (например, «Склад 15») и запускаем утилиту Excel/ Csv обмена с помощью кнопки «Открыть».
При нажатии на кнопку «Папки» можно открыть соответствующие папки «На терминал» и «С терминала». В папке «На терминал» находятся демо-файлы, по названию которых можно понять, какой из них за какую операцию отвечает. После нажатия кнопки «На сервер» (она же означает, что файлы попадут и на терминал сбора данных) большая часть загрузится в систему и будет перемещена в папку «Архив» с добавлением даты и времени документа. В текущей папке останутся только документы, которые не обрабатываются на терминале сбора данных.
Откроем файл «Номенклатура.xlsx», в нем более 40 колонок с разными свойствами товара, и более 100 наименований. Первое, что бросается в глаза — это обилие полей заполненных числами типа «253a91e0-269e-4ff1-bb36-b33e878c69ab». Это так называемый GUID (Globally Unique Identifier), который формируется в учетной системе или генерируется производителем. Если его у вас его нет, можете не использовать. Добавим свою строку с нашим товаром, заполняем только те поля, которые нам известны.
При заполнении важно заполнить поля «А» и «Н», «ProductId» и «PackingId», значение может быть любым, сформировано вручную или вашей учетной системой.
Далее нужно сохранить файл и закрыть программу, в которой он был создан. Открываем утилиту обмена и жмем кнопку «На сервер», утилита проверяет правильность файла и в случае успеха, загружает его в платформу Mobile SMARTS.
В окне сообщений не должно быть строк, выделенных красным!
Проверить итог загрузки можно в панели управления платформой Mobile SMARTS: вкладка «Данные» --> «Номенклатура», либо в меню «Просмотр справочников».
Несмотря на то, что в файле «Номенклатура» более 150 строк, система сообщает, что товаров 85. Это происходит из-за того, что один и тот же товар идет в разной упаковке, например молоко 5 пакетов и одна коробка с 6-ю пакетами. Строк в номенклатуре 2, а позиция одна.
Выбираем «Товары», появляется список товаров в системе. Поиск можно осуществить по «Артикулу», «Наименованию», «Штрихкоду», вводить надо не менее 3-х символов. В случае совпадения поискового запроса на экран выводятся все позиции, имеющие совпадение и работник может выбрать необходимую.
Выполним оприходование товара на складе. Для этого наша учетная система должна сформировать файл «Приход на склад *******» (вместо «*****» можно подставить любой необходимый текст, номер накладной, поставщик или все вместе). Можно создать его самостоятельно на основе демонстрацио нного файла «Приход на склад демо» из папки C:\ProgramData\Cleverence\Database\Имя Вашей базы\XlsCsv\На терминал\Демо данные\xlsx откроем его и сохраним в папку C:\ProgramData\Cleverence\Database\Имя Вашей базы\XlsCsv\На терминал. Имя файла в папке на загрузку (На терминал) должно соответствовать желаемой операции (в нашем случае «Приход на склад Демо»). Заполним демо-файл нашими данными и удалим все строки с демо-данными.
Здесь следует обратить внимание на изменение ячейки «B2». Ячейка обязательно должна содержать «Приход на склад №», после символа № может быть текст, который будет отображен в названии документа на терминале сбора данных (в нашем случае это «Лапти 2021»). Ячейки ниже заполняются в соответствии с используемыми вами операциями или бизнес-процессами.
Загрузка файла в систему производиться как и в предыдущем случае нажатием на кнопку «На терминал». Утилита Excel/ Csv обмена проверяет файлы и отправляет на сервер и терминал соответственно. После этого на ТСД появляется наш документ. Нажимаем «Приход на склад», выбираем «Приход Лап ти 2021» и можем приступать к сканированию. Здесь мы можем использовать только штрихкоды, которые мы ввели в систему при добавлении нашего нового товара в «Номенклатуру». «11111110, 11111111» — это код товара, «01011, 01012» — это штрихкод. Поиск в Mobile SMARTS может производится по любому из этих кодов.
Вставить номер штрихкода в окно сканирования можно комбинацией клавиш Ctrl+V. После сканирования, на складе пересчитываем товар и вводим количество на терминале. Далее нажимаем «Esc» два раза и выбираем «Завершить документ». После этого документ с фактически подсчитанным количеством товара попадает на сервер и далее его можно выгрузить обратно, утилитой обмена, нажав кнопку «С терминала». В результате в папке C:\ProgramData\Cleverence\Базы Mobile SMARTS\Имя Вашей базы\XlsCsv\С терминала появляется файл «Приход на склад № Лапти 202». Из этого файла мы видим, что фактически принятое количество соответствует заявленному, номер терминала и оператора, если эта функция включена в опциях. Так же в этом файле, выгрузились все поля используемые системой. Далее вы можете обработать этот документ вручную или настроить его обработку в ваше учетной системе.
Второй вариант позволяет получить более простые документы, избавившись от неиспользуемых полей. Например файл для загрузки на ТСД/ сервер может выглядеть так:
Также для загрузки в систему из приведенного на скриншоте документа можно удалить колонки «Штрихкод», «Наименование», "Цена» и «Факт» и оставить только «Код», «Упаковка» и «План». С учетом того что все эти данные уже есть в номенклатуре платформа обработает все корректно.
Файл после выгрузки:
Для этого нужно изменить файлы шаблонов на загрузку/выгрузку соответственно.
Измененный загружаемый шаблон: C:\ProgramData\Cleverence\Database\Имя Вашей Базы\XlsCsv\Templates\Upload\Документ.xlsx.
Измененный выгружаемый шаблон: C:\ProgramData\Cleverence\Database\Имя Вашей Базы\XlsCsv\Templates\Download\Документ.xlsx.
Правда здесь есть одно НО. Этот шаблон (за)выгрузки отвечает за вывод нескольких документов и соответственно в другом документе может не хватить какого-либо поля. Поэтому перед изменением шаблонов, вы должны решить, какие поля будут использоваться и какие могут понадобиться в будущем, чтобы не пришлось переделывать несколько раз.
Помимо удаления ненужных полей, в платформу Mobile SMARTS можно добавить и свои полностью уникальные поля и идентификаторы. Добавить можно простое «информационное» или сложное «вычисляемое поле» или «дополнительное поле». Они могут быть созданы и отображены в системе, из любых исходных полей или данных. Например, может быть создано поле, которое в определенном формате отображает сведения о товаре собранные из трех разных исходных полей.