tooyz/moysklad

При создании заказа не прописывается его статус

Closed this issue · 5 comments

Пробую получить статус по ID:

$orderStatus = State::query($this->instance)
  ->byId($stateID)
  ->transformToClass(State::class);

$stateID верный.

Но ловлю Exception с ошибкой "Ошибка в адресе запроса".
Что-то не так с адресацией у этой сущности. По идее запрос должен быть сюда:
https://online.moysklad.ru/api/remap/1.2/entity/counterparty/metadata

tooyz commented

У вас по ссылке запрос контрагента, соответственно код должен быть такой

Counterparty::query($this->instance)->byId($id);

Да вот как раз нужен не он, а статус. Просто в документации МойСклад именно такой адрес для статуса:

https://dev.moysklad.ru/doc/api/remap/1.2/dictionaries/#suschnosti-statusy-dokumentow-poluchit-metadannye

tooyz commented

Counterparty::getMetaData($this->instance);
Возможно это подойдёт

Выкрутился вот так:
CustomerOrder::getMetaData($this->instance)->states->get(4);
Но по порядковому номеру не круто, конечно, получать. Как-то можно его по ID склада получить? Без перебора массива.

tooyz commented

Можно использовать filter на entityList. Другого способа пока нет