Проблемы со статусом заказов при импорте
Добрый день. Делаем импорт заказов через REST API. Есть справочник OrderPaymentStatus, туда так же через API были импортированы все доступные статусы заказов.
Тело запроса при импорте статуса:
При импорте заказа вот что в теле запроса:
UsrLookup1 - код поля со справочником http://prntscr.com/kwnd92
Сервер возвращает ошибку:
The INSERT statement conflicted with the FOREIGN KEY constraint FKn51f7mgx8KMy3E7kiXrkJU7bBc. The conflict occurred in database ######, table dbo.OrderPaymentStatus, column 'Id'. The statement has been terminated.
Кто виноват и что делать?)
Нравится
Malafeeva,
А такой ID, который в запросе передается в UsrLookup1 уже есть в справочнике?
Судя по сообщению, дело именно в неправильном Id. Вы заливаете в таблицу ссылку на Id записи справочника, которой в нём нет. Возможно, когда импортировали, Id создались другие, не те, что пытаетесь указать.
Зверев Александр,
Хм, странно.... вот я удалила все статусы и снова залила 1:
Вот он появился: http://i.prntscr.com/zIDtuc6VRG6PxqnJ_bW3Qg.png
я взяла прям статично прописала этот giud при импорте http://prntscr.com/kwoaej
Но ошибка осталась... не мог же он с другим Id импортироваться, правильно?)
Malafeeva,
Сделайте запрос в OrderPaymentStatus, чтобы удостоверится, что он там есть, может поле UsrLookup1, ссылается не на тот справочник?
Так же еще можно проверить на всякий случай, куда именно ссылается этот ключ FKn51f7mgx8KMy3E7kiXrkJU7bBc, к какой именно колонке и какого объекта
Если есть доступ к серверу БД, можно будет в профайлере увидеть, какой именно неправильный запрс уходит в базу.
Литвинко Павел,
Сделала, вот результат.
Выделен тот id который я передаю, а другой я добавила в ручном режиме.
Запишите запрос в SQL-профайлере, будет видно, в чём дело.
ошибка и на визуале вопроизводится, интересно
На сервере БД в пуске рядом с «Microsoft SQL Server Management Studio 17» есть ярлык «SQL Server Profiler 17». Как им пользоваться, см. тут или в других статьях по работе с ним.
В таком случае нужно самостоятельно искать, что не так передаётся. Либо поднять локально тестовый сервер bpm'online и экспериментировать с ним.
Malafeeva пишет:
Имеет ввиду, что вы не заполняете данное поле, а он все равно выдает такую ошибку?
Проверьте, в объекте, Order, для поля UsrLookup1, не устанавливается ли значение по умолчанию?