Публикация

подписчиков: 3 Подписаться
0
Avatar

Выгрузка наличия складов

Как можно реализовать ежечасную выгрузку?

Нужно получать регулярно обновляющееся наличие на складах включая поля товаров.

На данный момент нашли такое решение: создавать отчет по наличию на складах с группировкой по складам (/report/stock/bystore). Из отчета выкидывать нулевое наличие. Затем загружать все товары (по 100 штук GET /entity/product), отфильтровывать по uuid те, что выбрали на прошлом шаге и, соответственно, выбирать из товаров необходимые поля (название, артикул, свои дополнительные поля). Но если 10000 товаров в справочнике, то уже получается не менее 100 запросов к серверу.

В общем какая-то сложная схема получается. В API нет какого-то другого механизма для реализации данной задачи? Чтобы одним запросом к API эти данные получить? Например, в отчете по наличию дать возможность развернуть товары (типа expand=product). Плюс, в идеале, хочется в этом отчете фильтр по uuid склада (складов) иметь.

Денис

Войдите в службу, чтобы оставить комментарий.

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

0
Avatar

Денис, добрый день!

В данный момент могу порекомендовать только упрощение шага "Затем загружать все товары (по 100 штук GET /entity/product), отфильтровывать по uuid те, что выбрали на прошлом шаге" - в отчете остатков возвращается meta товаров, и Вам не обязательно запрашивать список товаров и затем его отфильтровывать, Вы можете запрашивать только товары, вернувшиеся в отчете остатков, через их id (метод GET /entity/product/{id}).

 

По поводу предложениях об expand, фильтре по конкретному складу и отбрасыванию нулевых значений в отчете остатков - постараемся рассмотреть эти улучшения о по возможности включить их в план разработки. Сообщим Вам о нашем решении.

 

Большое спасибо за Ваши предложения.

Екатерина Евтухова 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

> Вы можете запрашивать только товары, вернувшиеся в отчете остатков, через их id (метод GET /entity/product/{id})

Это будет ещё больше запросов к серверу. Если по данным отчета в наличии на складах есть 200 позиций, то это 200 запросов к серверу. А в нашем варианте получается только 100 запросов при наличии 10 000 товаров в справочнике (хотя, очевидно, более медленных для сервера и больше нагружающих его).

Как вариант, справочник товаров можно хранить у себя в БД и синхронизировать регулярно, но это много лишнего кода писать ) Проще сервера моего склада загружать запросами )

Денис 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

На самом деле оказалось, что это делается через entity/assortment по человечески )

Но никто не посоветовал, сами случайно нашли в документации: https://online.moysklad.ru/api/remap/1.1/doc/index.html#ассортимент-ассортимент-get

Денис 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Денис, добрый день!
Поможем строить аналитику при помощи нашей BI: Qubequ.com ,
в том числе по вашему вопросу. У нас есть коннектор к Мойсклад, хотим собрать модуль с готовыми дашбордами и отчетами для клиентов Мойсклад. Вопрос сотрудничества, предоставим BI бесплатно в обмен на сотрудничество по созданию отчетов для вас. Прошу связаться по почте austepura@gmail.com
Антон
ps: Для модератора форума, вопрос не коммерческий, не реклама. Вопрос построения аналитики по данным Мойсклад.

Austepura 0 проголосовали
Действия с комментариями Постоянная ссылка