Вопрос

Проблемы со статусом заказов при импорте

Добрый день. Делаем импорт заказов через REST API. Есть справочник   OrderPaymentStatus, туда так же через API были импортированы все доступные статусы заказов.

Тело запроса при импорте статуса:

http://prntscr.com/kwno18

 

При импорте заказа вот что в теле запроса:

http://prntscr.com/kwnc74

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.

Кто виноват и что делать?)

Нравится

20 комментариев

Попробуйте вместо UsrLookup1 указать UsrLookup1Id

Литвинко Павел,

Элемент коллекции с именем UsrLookup1Id не найден ((((

http://prntscr.com/kwnqbg вот тело на всякий случай

Malafeeva,

А такой ID, который в запросе передается в UsrLookup1 уже есть в справочнике?

Литвинко Павел,

да, мы ж сначала в справочник все статусы импортировали

Судя по сообщению, дело именно в неправильном Id. Вы заливаете в таблицу ссылку на Id записи справочника, которой в нём нет. Возможно, когда импортировали, Id создались другие, не те, что пытаетесь указать.

Зверев Александр,

Хм,  странно.... вот я удалила все статусы и снова залила 1:

http://prntscr.com/kwo9ba

Вот он появился: http://i.prntscr.com/zIDtuc6VRG6PxqnJ_bW3Qg.png

я взяла прям статично прописала этот giud при импорте http://prntscr.com/kwoaej 

Но ошибка осталась... не мог же он с другим Id импортироваться, правильно?) 

 

Malafeeva,

Сделайте запрос в OrderPaymentStatus, чтобы удостоверится, что он там есть, может поле UsrLookup1, ссылается не на тот справочник?

 

Так же еще можно проверить на всякий случай, куда именно ссылается этот ключ FKn51f7mgx8KMy3E7kiXrkJU7bBc, к какой именно колонке и какого объекта

Если есть доступ к серверу БД, можно будет в профайлере увидеть, какой именно неправильный запрс уходит в базу.

Литвинко Павел,

Сделала, вот результат. 

http://prntscr.com/kwxg3e

Выделен тот id который я передаю, а другой я добавила в ручном режиме.

Литвинко Павел,

А как это проверить?)

Литвинко Павел,

Сейчас вообще убрала статус из запроса, но ошибка осталась

значит дело то и вовсе не в статусе.... 

Запишите запрос в SQL-профайлере, будет видно, в чём дело.

Зверев Александр,

А можете сказать где это? я просто с этой системой первый раз работаю)

ошибка и на визуале вопроизводится, интересно

http://prntscr.com/kwy3qi

На сервере БД в пуске рядом с «Microsoft SQL Server Management Studio 17» есть ярлык «SQL Server Profiler 17». Как им пользоваться, см. тут или в других статьях по работе с ним.

Зверев Александр,

Печаль беда в том, что есть доступ только в лк)

В таком случае нужно самостоятельно искать, что не так передаётся. Либо поднять локально тестовый сервер bpm'online и экспериментировать с ним.

Malafeeva пишет:

Имеет ввиду, что вы не заполняете данное поле, а он все равно выдает такую ошибку?

Проверьте, в объекте, Order, для поля UsrLookup1, не устанавливается ли значение по умолчанию? 

Показать все комментарии