Интеграция 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). Пользователь сможет выбрать его из списка.
-
Если ни одно из указанных правил не сработало, то никаких изменений не производится. Документ будет распределяться по общим правилам платформы.