Как передать номенклатуру без 1С и CSV файлов на ТСД?
Допустим что нет 1С и нет возможности использовать файл Номенклатура.csv для обмена данными с сервера "Магазин 15" на ТСД и обратно. А есть инет-магазин и к примеру приходит машина на склад и с ней 100 товаров. Нужно из админки магазина передать на ТСД по WiFi список товаров, находящихся в машине для сканирования оных в целях инвентаризации.
Как я себе это представляю: есть в локальной сети установленный сервис Mobile SMARTS или же БД Магазина 15, который работает на определенном порту, у него есть REST API или SOAP с авторизацией OAuth2 к примеру и есть набор методов для работы с ним, которые используют утилиты, предоставленные в пакете установки. И все желающие общаются с этим сервером API, выполняя стандартные задачи.
Таким образом можно было бы передать список справочников, номенклатуру на ТСД и получить в дальнейшем с него результат инвентаризации совершенного не подходя к серверу, а работая лишь по https протоколу с ним.
Такое возможно или же есть альтернатива?
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день,
Для реализации потребуется платформа Mobile SMARTS http://www.cleverence.ru/software/mobile-smarts/MS-CLIENT/ и нужно будет писать коннектор для обращения к базе товаров. Справочник разработчика http://www.cleverence.ru/devlib/comconnector_v3/index.html
Работать с СОМ из PHP да еще и из под Windows - совсем не хорошо. Неужели сложно реализовать универсальный веб-интерфейс посредством JSON API для работы в http(s) окружении с любыми платформами и языками программирования? Стандарт COM мог бы быть универсальным и платформо-независимым, но закрепился в основном на операционных системах семейства Microsoft Windows. А подавляющее большинство веб-сервисов работает под Linux системами.
Mobile SMART - очень хорошая задумка и крайне узкоориентированная платформа, подходящая для решения большого спектра требуемых задач, НО предоставляющая лишь один интерфейс взаимодействия с ней - весьма специфичный СОМ.
REST API в настоящее время разрабатывается, готово должно быть до конца года. Есть бета-версия, можем дать для теста.
Давайте конечно! Можете на почту моего акка прислать информацию
https://www.dropbox.com/s/tuhp1y27al7l06p/MobileSMARTS.msi?dl=0
Swagger: http://<IP>:<порт сервера данных>/swagger/
Корневой URL: http://<IP>:<порт сервера данных>/MobileSMARTS/api/v1
Некоторые методы GET для получения списков сущностей требуют какой то ключ "key" - что это такое и какое значение необходимо?
Методы
Это идентификатор документа (Document.Id):
Т.е. чтобы получить список поступлений, мне нужно указать какой то ID?
Я же получаю список инвентаризации, поступления, зачем что то еще указывать?
И что за "relatedKey" при получении конкрентной сущности
GET /api/v1/Docs/Inventarizaciya('{id}')?
Это swagger видимо мудрит, не дает выполнить запрос через "Try it out!" требуя параметр "key" и "relatedKey", а запрос напрямую через браузер http://abc:9006/MobileSMARTS/api/v1/Docs/Inventarizaciya прекрасно все выводит. Для удобства было хорошо бы убрать такое ограничение из swagger...
Для файлового обмена с ТСД есть утилита XlsCsv, она позволяет из папки "На терминал" загрузить файлы в формате XLS или CSV. Есть ли аналогичные команды в JSON API, которые позволят загрузить на ТСД например "Цены.csv" и "Номенклатура.csv". И как после или во время создания сущности "Поступление" добавить к ней товары?
И еще вопросы
1. как осуществлять реализацию (списание) товара под клиента?
2. Большинство документов состоит из набора записей (напр-р, инвентаризация включает в себя список товаров, числящихся по базе). каким образом операции с ними происходят? Например, этим методом GET /api/v1/Docs/Inventarizaciya('{id}') можно будет получить список товаров с количеством помимо информации по самой инвентаризации? Аналогично POST /api/v1/Docs/Inventarizaciya, предусмотрена ли отправка списка товаров. Или все это делается какими-то отдельными методами?
Новая тестовая сборка: https://www.dropbox.com/s/abe053xnfs6p69l/MobileSMARTS.msi?dl=0
Для обмена через Csv методов в API нет, для этого можно использовать Excel/Csv коннектор, см. http://www.cleverence.ru/support/31121/ (на примере Mobile SMARTS:Курьер, использовать можно с любыми нашими продуктами). Коннектор работает под управлением сервера Mobile SMARTS и следит за изменениями файлов в папке, при наличии изменений конвертирует номенклатуру и документы.
Получение строк документа: /api/v1/Docs/Inventarizaciya('{id документа}')?$expand=declaredItems($count=true)
Для строк факт - currentItems. Выгрузка строк - POST на адрес api/v1/Docs/Zakaz('{ид документа}')/DeclaredItems, в POST передается DocumentItem. Для массовой выгрузки можно формировать batch-запросы.
Для реализации в Магазин 15 можно использовать, например, тип документа ПодборЗаказа (PodborZakaza).
>Для обмена через Csv методов в API нет
Мне и не нужен обмен через Csv, мне нужно понять как продублировать подобный обмен через методы АПИ. В частности загрузить на ТСД инвентаризацию со списком товаров через АПИ, отсканировать штрих-коды на нем и получить обратно через АПИ.
Сначала нужно выгрузить справочник номенклатуры, это можно сделать с помощью POST на адрес /MobileSMARTS/api/v1/ProductBook('<id товара>'), так выгрузится один товар, пример:
Поля id, name, packings и др. соответствуют полям объекта Cleverence.Warehouse.Product, price -доп. поле, заданное в конфигурацсм. http://www.cleverence.ru/devlib/comconnector_v3/index.html
Для выгрузки списка товаров POST на /MobileSMARTS/api/v1/ProductBook
Для выгрузки документа Инвентаризация вызовите POST /api/v1/docs('<id документа>')?$expand=declaredItems
поля соответствуют полям объекта Cleverence.Warehouse.Document, документ содержит шапку, две коллекции строк DeclaredItems и CurrentItems, для работы на ТСД выгружается DeclaredItems, объект строки документа Cleverence.Warehouse.Document, ProductId - ид. товара, должен соответствовать ид. товара из справочника номенклатуры, PackingId - ид. упаковки данного товара, DeclaredQuantity - плановое количество.