Интеграция Mobile SMARTS со сторонними системами на Excel и CSV файлах
Помимо разнообразных вариантов интеграции с учётными системами, платформа Mobile SMARTS содержит в себе инструменты для интеграции на файлах CSV и Excel.
После установки платформы и развёртывания базы данных Mobile SMARTS становятся доступны следующие варианты обмена в формате CSV и Excel:
- обмен с помощью утилиты Excel и CSV обмена;
- использование специального Excel/CSV коннектора.
Оба варианта работают следующим образом:
-
Создаются файлы‑шаблоны, содержащие заголовки полей, по которым будут разбираться файлы, содержащие данные. Эти файлы должны иметь такой же формат, в котором предполагается обмен.
-
В специальную папку обмена (по умолчанию «На терминал») помещаются файлы формата Excel или CSV, который содержат в себе номенклатуру, документы, таблицы и т.п. При этом структура этих файлов должна соответствовать созданным ранее шаблонам.
-
Производится синхронизация с мобильным устройством или базой данных Mobile SMARTS (в зависимости от режима работы базы). При этом на устройство или сервер выгружается номенклатура и документы из папки «На терминал», а обратно загружаются обработанные документы.
-
Обработанные документы при загрузке тоже разбираются по соответствующим файлам‑шаблонам и конвертируются в формат Excel или CSV.
Обмен с помощью коннектора Excel/CSV
Кроме использования ручного обмена с помощью утилиты для конвертации текстовых файлов в данные Cleverence, платформа позволяет также настроить автоматический файловый обмен на сервере.
При таком варианте сервер будет следить за указанной папкой с файлами, и как только там будут происходить изменения (добавляться новые файлы или изменяться старые), их конвертация будет происходить автоматически. Точно так же, как только документ будет завершаться пользователем, он будет сразу преобразован в итоговый файл Excel или CSV.
Работа такого автоматического файлового обмена осуществляется через Excel/CSV коннектор сервера.
Как настроить и включить:
-
В расширениях создайте новое расширение «ExcelCsvConnector»:
В качестве параметров коннектора используются общие настройки файлового обмена (Excel/CSV) в файле
XlsCsvUtil.exe.config. -
В настройках самого коннектора можно только поменять пути к папкам входящих и исходящих документов.
-
После создания и сохранения коннектора необходимо нажать правой клавишей мыши на названии коннектора и в появившемся контекстном меню выбрать «Разрешить». В дальнейшем, после перезапуска сервера, он будет включаться автоматически.
-
Сразу после запуска коннектор начинает слежение за папками и завершенными документами.
Сравнение утилиты и коннектора (Excel/CSV)
И утилита, и коннектор обладают абсолютно идентичными возможностями по конвертации данных в/из Cleverence.
Основные различия в функционале утилиты и коннектора обусловлены только тем, что коннектор работает прямо внутри сервера. Благодаря этому он обеспечивает автоматическую конвертацию данных (как только данные появляются в папке и наоборот, как только завершенный документ попадает с мобильного устройства на сервер). Также коннектор работает быстрее, чем утилита, так как все файлы обрабатываются прямо сервером и их не требуется передавать туда по http, как это делает утилита.
Из минусов — коннектор доступен только для серверного режима базы.
Сводная таблица различий:
| Функция | Утилита | Коннектор |
| Конвертация всех типов данных (номенклатура, документы, таблицы, ячейки и т. д.) | Да | Да |
| Возможность работы без сервера | Да | Нет |
| Автоматический обмен сразу по появлению файлов в папке | Нет | Да |
| Скорость конвертации | Медленно | Быстро |
Структура файлов и папок для Excel/CSV обмена
Все файлы и папки, необходимые для работы файлового обмена с Cleverence, расположены по пути [Папка базы]\XlsCsv.
Содержимое папки XlsCsv
| Имя папки / подпапки | Описание |
| На терминал | По умолчанию содержит файлы Excel или CSV, предназначенные для отправки в Cleverence. |
| На терминал\Архив | Архив успешно конвертированных файлов Excel и CSV. Если файл «пропал», его можно найти здесь. |
| На терминал\Good | Архив успешно конвертированных файлов Excel и CSV при включенном режиме IsGoodBad. |
| На терминал\Bad | Архив неудачно обработанных файлов Excel и CSV при включенном режиме IsGoodBad. |
| С терминала | По умолчанию сюда складываются файлы с мобильного устройства после конвертации их в Excel или CSV по шаблону. |
| Templates | Папка с файлами шаблонов для конвертации. Большинство готовых продуктов уже содержат какие‑то шаблоны по умолчанию. |
| Templates\Upload | Содержит шаблоны, по которым разбираются файлы, загружаемые в Cleverence. |
| Templates\Download | Содержит шаблоны, по которым формируются готовые файлы из Cleverence. |
| XlsCsvUtil.exe.config | Файл конфигурирования параметров файлового обмена с Cleverence. |
Настройка параметров Excel/Csv обмена
Основные настройки параметров обмена, такие как пути к папкам, формат, кодировка файлов и т. д., хранятся в файле по пути [Папка базы]\XlsCsv\XlsCsvUtil.exe.config.
Часть этих настроек можно также редактировать через окно в утилите обмена.
Полный список доступных настроек:
Указывает, содержит ли файл с пользователями весь справочник пользователей или дополняет уже выгруженный ранее.
true— справочник полныйfalse— дополняет текущий
Настройки параметров:
| Имя | Значения | Описание |
exchangeformat | csv, csvcomma, xls, xlsx, xml | Используемый формат файлов |
output_exchangeformat | csv, csvcomma, xls, xlsx, xml (можно указать несколько через ` | `) |
encoding | utf-8, windows-1251 | Кодировка, в которой сохранены данные и шаблоны конвертации. Параметр актуален только для форматов csv и xml. |
cultureInfo | Имя локализации (список) | Определяет локализацию данных, влияющую на числовые и текстовые форматы. Пример: ru-RU, en-EN. |
uploadFolder | Путь к папке | Папка с данными для загрузки в Cleverence. |
downloadFolder | Путь к папке | Папка для итоговых файлов после работы на мобильном устройстве. |
notDeleteCompletedDocuments | true или false | Удалять ли документ после успешной конвертации. true — файл не удаляется, false — файл удаляется. |
notReadFirstString | true или false | Определяет, является ли первая строка заголовком. true — первая строка заголовок, false — данные начинаются сразу. |
IsGoodBad | true или false | Определяет, перемещается ли исходный файл в папку Good или Bad после конвертации. |
overwriteProducts | true или false | Полностью заменяет или дополняет справочник товаров. |
overwriteCells | true или false | Полностью заменяет или дополняет справочник ячеек. |
overwriteUsers | true или false | Полностью заменяет или дополняет справочник пользователей. |
createProductsNameLookup | true или false | Создавать ли индекс для поиска товаров по названию. |
writeOutputSectionHeaders | true или false (только для csv) | Выводить ли в файлы имена секций данных. |
writeOutputSectionFieldNames | true или false (только для csv) | Выводить ли в файлы заголовки колонок с данными. |
productsFileName | Маска имени файла | Определяет имя исходного файла с номенклатурой. По умолчанию: Номенклатура.*, Products.* |
ИмяТаблицыFileName | Маска имени файла | Определяет имя исходного файла с таблицей данных. По умолчанию: ИмяТаблицы.* |
documentsFileName | Маска имени файла | Общая маска файлов документов для конвертации в Cleverence. По умолчанию: ИмяТипаДокумента*.* |
DocAlias_ИмяТипа | Маска имени файла | Определяет различные маски файлов для разных типов документов. |
Пример файла настроек:
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="overwriteUsers" value="True" />
<add key="notReadFirstString" value="True" />
<add key="exchangeformat" value="csv" />
<add key="IsGoodBad" value="True" />
<add key="encoding" value="utf-8" />
<add key="notDeleteCompletedDocuments" value="True" />
</appSettings>
</configuration>
Настройка именования файлов
Ниже приведена таблица имен файлов по умолчанию для загрузки в Mobile SMARTS:
| Тип данных | Возможные имена файлов |
|---|---|
| Справочник номенклатуры | Номенклатура.xxxТовары.xxxProducts.xxx |
| Справочник мест хранения | Места хранения.xxxЯчейки.xxxCells.xxx |
| Справочник палет | Контейнеры.xxxПаллеты.xxxПалеты.xxxPallets.xxx |
| Справочник пользователей | Пользователи.xxxUsers.xxx |
| Дополнительные таблицы | ИмяТаблицы.xxxПримеры: Цены.csvОстатки.xlsx |
| Документы | ИмяТипа*.xxxПримеры: Приемка №3658543.xlsxИнвентаризация от 23.06.2017.csv |
Если необходимо задать нестандартные имена, это можно сделать с помощью файла настройки параметров.
Пример | 1
Задача:
Файл товаров имеет нетиповое и нефиксированное имя, содержащее дату, например, products 10.04.2018.gox. Как настроить файловый обмен на работу с таким файлом?
Решение:
Задаем в XlsCsvUtil.exe.config параметр нестандартного имени файла номенклатуры.
<add key="productsFileName" value="products*.gox" />
Пример | 2
Задача:
Мы пользуемся обменом csv файлами, но исходные файлы документов имеют расширение «ofp», вместо «csv»
Решение:
Зададим в XlsCsvUtil.exe.config параметр нестандартного имени файлов для всех файлов документов:
<add key="documentsFileName" value="*.ofp" />
Пример | 3
Задача:
Файлы документов приемки вместо «Приемка*.csv» называются у нас «income*.csv».
Решение:
Зададим в XlsCsvUtil.exe.config параметр нестандартного имени файлов для документов приемки:
<add key="docAlias_Приемка" value="income*.csv" />
Правила распредел ения документов пользователям
Если при выгрузке документа в Cleverence у него оказывается незаполненным поле Appointment, то применяются описанные ниже стандартные правила.
База с прямым обменом
Документ выгружается первому пользователю с правами «Мобильный пользователь» или «Администратор». Выставляется поле UserId.
База на сервере
Правила проверяются в указанном порядке. Если какое‑то из них срабатывает, то оно выполняется, и остальные правила уже не проверяются!
-
Если документ не распределяется автоматически (AutoAppointed == false) или он коллективный (ServerHosted == true), то документ не изменяется и выгружается на сервер в исходном виде.
-
Если пользователь с правами «Мобильный пользователь» или «Администратор» всего один, то документ назначается ему напрямую (Appointment = user.Id).
-
Если у документа заполнено поле штрихкода и у типа документа указано, что документы можно выбирать по штрихкоду и по штрихкоду с сервера, то документ переводится в режим не выдаваемых автоматически (AutoAppointed = false). В списке документов на мобильном устройстве он не отображается, но пользователь сможет выбрать его, отсканировав штрихкод документа.
-
Если у типа документа разрешено показывать в списке документы с сервера, то документ переводится в режим не выдаваемых автоматически (AutoAppointed = false). Пользователь сможет выбрать его из списка.
-
Если ни одно из указанных правил не сработало, то никаких изменений не производится. Документ будет распределяться по общим правилам платформы.
Как выгрузить свое поле из файла в строку документа и загрузить обратно
Как подготовить документы для обмена
Вариант 1. Подготовить документы и загружать/выгружать не меняя «коробочных решений». Данное решение предполагает заполнение в документах только актуальных полей, не внося изменения в неиспользуемые. Документы содержат множество полей, некоторые из них возможно не будут использоваться при работе.
Вариант 2. Через удаление ненужных полей в (за)выгружаемом документе. Второй вариант предполагает изменение шаблонов документов, используемых платформой Mobile SMARTS. В данном случае возможно получить формы документов, удобные вам — убрать неиспользуемые колонки, поменять их местами, подстроить шаблоны файлов под учетную систему.
Ва риант 3. Через изменения конфигурации Mobile SMARTS, этот способ позволяет внести необходимые изменения в конфигурацию, добавить поля, задать их обработку, изменение или вывод по вашим требованиям, используя как готовые процедуры так и создавая полностью свои нетиповые бизнес‑процессы. Также можно установить пустую базу для создания всех процедур и алгоритмов с чистого листа, используя например добавление поля в номенклатуру.
При установке многих продуктов, с обменом через Excel/Csv, копируются «Демо‑файлы», во всех форматах (xls, xlsx, csv). В данной статье будем использовать файлы *.xlsx. Получить доступ к папке можно используя входящую в состав платформы Mobile SMARTS утилиту «Excel/Csv обмен».
Обмен с сполощью утилиты Excel/Csv
Запустите утилиту Excel/Csv обмена на вашем ПК.
В меню «Файл --> Параметры обмена» нужно выбрать формат обмена xls/xlsx/csv, здесь также можно настроить пути к папкам обмена.
Для этого зайдите в меню «Файл», выберите окно «Параметры обмена», настройте используемый формат данных и переопределите пути к папкам «На терминал» и «С терминала». В пункте «Формат файлов» поставьте галочку на нужном параметре.
Для загрузки документа в базу данных Mobile SMARTS и далее в ТСД файл «Приход» необходимо поместить в папку «На терминал»: «C:\ProgramData\Cleverence\Базы Mobile SMARTS\Имя Базы\XlsCsv\На терминал».
Попасть в эту папку можно непосредственно из утилиты выбрав пункт меню «Папки->На терминал». В этой папке находятся все документы предназначенные к загрузке в систему и на ТСД.
После нажатия кнопки «На сервер» утилита проверяет файл на возможные ошибки и в случае успеха отправляет на сервер, далее документ доступен на ТСД.
Файл из папки «На терминал» переносится в папку «Архив», файл номенклатуры и файлы таблиц остаются в текущей папке.
Выгрузка документов из Mobile SMARTS как и модификация шаблонов практически не отличается от загрузки.
Шаблон выгрузки «Документ» находится по пути «C:\ProgramData\Cleverence\Базы Mobile SMARTS\Имя Базы\XlsCsv\Templates\Download».
Запуск утилиты обмена через конфигуратор
Выберите нужную базу данных из списка, с которой будет работать утилита обмена, затем справа от кнопки «Открыть» нажмите на раскрывающийся список, выберите «Открыть ExcelCsv обмен».
Нажмите в меню утилиты на кнопку «Папки», далее выберите соответствующий вариант загрузки: «На мобильное устройство» или «С мобильного устройства».
В выбранной базе автоматически создается папка «XlsCsv» с подпапками «На терминал» и «С терминала» (согласно способам загрузки «На мобильное устройство» и «С мобильного устройства»).
После нажатия кнопки «На сервер» (где документы выгружаются/передаются в базу данных Mobile SMARTS, на ТСД документы загружаются при обмене сервера с терминалом) большая часть загружается в систему в папку «Архив» с добавлением даты и времени документа.
В текущей папке остаются файлы справочника номенклатуры и файлы таблиц, а также файлы документов, которые были пропущены из‑за настроек выгрузки (например, настроен обмен в формате .xlsx, а загружаемые файлы в формате .csv) и файлы документов, которые не были выгружены из‑за системных ошибок.
Откройте файл «Номенклатура.xlsx», первое, что бросается в глаза — поля заполненных числами типа
“253a91e0-269e-4ff1-bb36-b33e878c69ab”.
Это GUID (Globally Unique Identifier), который формируется в учетной системе или генерируется производителем.
Добавьте свою строку с товаром. Заполните только те поля, которые известны. Пример «Лапти****»
При заполнении важно заполнить поля «А» и «Н» (ProductId и PackingId), значение может быть любым, сформировано вручную или вашей учетной системой.
Далее сохраните файл и закройте программу в которой он был создан. Откройте утилиту обмена и нажмите кнопку «На сервер», утилита проверяет правильность файла и в случае успеха, загружает его в платформу Mobile SMARTS.
Проверить загрузилось или нет можно в панели управления платформой вкладка «Данные‑Номенклатура», либо запустив «Клиент для ПК» выбрав меню «Просмотр справочников».
Несмотря на то, что в файле «Номенклатура» более 150 строк, приложение сообщает, что товаров 79. Это происходит из‑за того, что один и тот же товар идет в разной упаковке, например молоко 5 пакетов и одна коробка с 6-ю пакетами. Строк в номенклатуре 2, а позиция одна.
Нажмите на кнопку «Товары» — появляется список товаров. Поиск можно осуществить по «Артикулу», «Наименованию», «Штрихкоду», обратите внимание, что вводить необходимо не менее 3-х символов. В случае совпадения поискового запроса на экран выводятся все позиции имеющие совпадение, далее можете выбрать необходимую.
Рассмотрим на примере базы данных «Склад 15: Расширенный с Кировкой» операцию «Оприходование товара на складе».
Для этого учетная система должна сформировать файл «Приход на склад *******», здесь вместо ***** — впишите текст, номер накладной, поставщика или все вместе.
Можно создать его самостоятельно на основе демонстрационного файла «Приход на склад демо» согласно полного пути к папке: «C:\ProgramData\Cleverence\Базы Mobile SMARTS\Имя Базы\XlsCsv\Templates\Download».