iiko / front.api.sdk

iikoFront Api SDK (part of iikoRMS)
34 stars 22 forks source link

Исключение при добавление в заказ блюда с кодом ТН ВЭД #463

Open qt-user opened 1 year ago

qt-user commented 1 year ago

Добрый день. Если через API v7 (Syrve 8.4.6018.0) попытаться добавить в заказ блюдо в количестве равном не единице у которого задан код ТН ВЭД (даже без обязательного сканирования марки) будет исключение:

Resto.Front.Api.Exceptions.ConstraintViolationException: "Product С Кодом, id cd0c63a5-3e80-4ed6-856a-0c405b90b09a with commodity mark amount 2 must be equal to 1."

Вот скриншоты настроек: image image

То же блюдо в заказ через UI фронта добавляется без проблем. image

Код: редактирования заказа:

                    var itemStub = edit.AddOrderProductItem(editedItem.Amount, editedItem.Product, os.GetOrderById(order.Id), editedItem.Guest, null);
                    os.SubmitChanges(os.AuthenticateByPin("12344321"), edit);

Сессия редактирования получена с подписки PluginContext.Notifications.OrderEditCardSlided.Subscribe. Upd: на версии Syrve 8.5.7009.0 та же проблема (API v8 Preview6)

Стек исключения: "\r\nServer stack trace: \r\n at Resto.Front.Api.V7.Editors.EditSessionWriter.CheckProductWithCommodityMarkAmount(IProduct product, Decimal amount) in H:\\BuildAgent\\work\\release-installer\\dev\\iikoFront.Net\\Api\\Resto.Front.Api\\V7\\Editors\\EditSessionWriter.Checks.cs:line 575\r\n at Resto.Front.Api.V7.Editors.Actions.AddOrderProductItem.CheckArgumentsCore(OrderItemCourse course, IProduct product, Decimal amount, IBaseOrderBuilder order, IProductSize size, IBaseOrderGuest guest, SessionContext context, IProduct apiProduct) in H:\\BuildAgent\\work\\release-installer\\dev\\iikoFront.Net\\Api\\Resto.Front.Api\\V7\\Editors\\Actions\\AddOrderProductItem.cs:line 83\r\n at Resto.Front.Api.V7.Editors.Actions.AddOrderProductItem.Resto.Front.Api.V7.Editors.IEditActionBase.WriteChanges(SessionContext context, IDictionary2 createdEntities, IDictionary2 actionNumbersToCreatedApiEntities, Int32 i) in H:\\BuildAgent\\work\\release-installer\\dev\\iikoFront.Net\\Api\\Resto.Front.Api\\V7\\Editors\\Editors.g.cs:line 669\r\n at Resto.Front.Api.V7.Editors.EditSessionWriter.WriteChanges() in H:\\BuildAgent\\work\\release-installer\\dev\\iikoFront.Net\\Api\\Resto.Front.Api\\V7\\Editors\\EditSessionWriter.cs:line 202\r\n at Resto.Front.Api.V7.OperationServiceInternal.SubmitChanges(IUser user, IEditSession editSession) in H:\\BuildAgent\\work\\release-installer\\dev\\iikoFront.Net\\Api\\Resto.Front.Api\\V7\\OperationServiceInternal.cs:line 1984\r\n at Resto.Front.Api.V7.OperationServiceInternal.Resto.Front.Api.IOperationServiceInternal.SubmitChanges(ICredentials credentials, IEditSession editSession) in H:\\BuildAgent\\work\\release-installer\\dev\\iikoFront.Net\\Api\\Resto.Front.Api\\V7\\Operations.g.cs:line 2473\r\n at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)\r\n at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)\r\n\r\n

rgalk commented 5 months ago

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

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