Публикация

подписчиков: 5 Подписаться
2
Avatar

По ограничению на кол-во обновляемых позиций в документах

В API существует ограничение - "количество позиций, передаваемых в массиве positions не может превышать 100 штук"

Безусловно это ограничение объективно связано с архитектурой API, но оно вызывает большие неудобства!

По факту, получается так, что вместо того чтобы просто создать/обновить документ, нужно каждый раз осуществлять проверку на кол-во позиций и реализовывать 2 отличные логики поведения программы. И это постоянно и везде!

Дополнительно к этому, в реализации ветки кода для случая > 100, нужно учитывать и то, что логика обновления позиций внутри заказа (замещение) отличается от логики обновления через `/positions` (выборочное обновление).

Другими словами, возможность обновления позиции вместе с заказом не является самодостаточной и требует обязательной "подстраховки".

Как вариант, для упрощения кода, позиции всегда обновлять отдельно. Но это очень не оптимальное решение для покрытия не более 1% случаев с большими заказами.

К примеру, ситуация когда программист пишет интеграцию для небольшого магазина, где никто не ожидает заказов более чем 10 позиций. Думаю, что есть большая вероятность того, что эти ограничения могут быть не учтены. Бизнес растет, ассортимент увеличивается и начинают приходить заказы более 100 позиций ...

Получается, что требования текущего API обязывает писать костыли либо допускать опасные попущения т.к. обрабатывать всё вышеописанное каждый раз при обновлении позиций в документе чрезвычайно сложно.

P. S.
В целом же, новое API очень радует, за что вам огромное спасибо!

Виталий Макеев

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

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

1
Avatar

Тоже страдаем от неудобства работы с позициями.

Вдобавок, из-за того, что позиции невозможно прочитать атомарно - нельзя быть уверенным, что они прочитаны правильно, если считываем документ, с которым сейчас кто-то работает: могут быть пропуски, дубли, или просто фрагменты списка, относящиеся к разным версиям документа. А т.к. с документами работают много, такие ситуации обязательно будут происходить время от времени.

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

Здравствуйте. 

Попробую включить в план разработки возможность обработки большего числа позиций в составе документа. Если не будет технических препятствий, то увеличим. Если будут альтернативные пути решения проблемы, то предоставим их здесь.

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

К слову, вы ведь даже сами не стали делать загрузку всех позиций документа в мобильном приложении, просто опустив этот вариант :)

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

Уточните пожалуйста в этой теме, правильно ли я понял что лимиты на кол-во позиций будут расширены в след. версии API? И сроки примерные напомните (в вебинаре говорили, но я уже не помню).

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

Увеличение лимита на количество позиций будет реализовано в новой версии АПИ. Лимит будет увеличен со 100 до 1000.

Выход новой версии запланирован на конец первого квартала 2018 года.

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