Публикация

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

нарушено ограничение уникальности параметра 'name'

добрый день!

при создании позиции возврата покупателями возвращается иногда (достаточно редко, 1%) ошибка:

Ошибка сохранения объекта: нарушено ограничение уникальности параметра 'name'

 

как поправить?

Dmitry Makanin

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

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

0
Avatar

Эта ошибка говорит о том, что возврат с таким именем существует. Скорее всего вы пытаетесь создать из отгрузки заказ копируя его имя, а в МС у всех сущностей независимая нумерация, поэтому имя может быть занято.
Выход — не передавать имя при попытке создать возврат, в этом случае МС сгенерирует его сам (прибавив к последнему +1). 
Второй вариант — при возникновении ошибки с этим кодом в изначально передаваемое имя вносить изменение и записывать ещё раз.

Присоединяйтесь к телеграм-каналу https://t.me/moyskladapi

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

уточню

речь идет о POST 

https://online.moysklad.ru/api/remap/1.1/entity/salesreturn/' . $salesReturnId . '/positions

я по одному товару добавляю в возврат покупателя, передаю по одному объекту

'quantity' => $item->quantity,
'price' => $orderPosition['price'],
'discount' => $orderPosition['discount'],
'vat' => $orderPosition['vat'],
'assortment' => ...

name не передаю.

ошибка возникает очень редко.
может ли это быть связано с чем-либо другим?

 

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

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

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