Добрый день. Делаем импорт заказов через 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, не устанавливается ли значение по умолчанию?