Не переносятся продукты с продажи в заказ

Здравствуйте, при выполнении процесса перевода продажи в заказ вылетает ошибка на переносе продуктов

"Terrasoft.Common.DbOperationException: Конфликт инструкции INSERT с ограничением FOREIGN KEY "FKPU5pFJW1zR5qrqXfCC4TQdQNI". Конфликт произошел в базе данных "BPMonline", таблица "dbo.Pricelist", column 'Id'."

Подскажите, с чем может быть связана эта ошибка.

Спасибо!

Нравится

2 комментария
Лучший ответ

Ошибка значит, что в поле Pricelist некоего продукта был записан Id, которого не существует в таблице прайс-листов. Наиболее частая ситуация: попадание в поле значения пустого Guid {00000000-0000-0000-0000-000000000000}.

 

Исходя из того, что вы переносите продукты из продажи в заказ, скорее всего произошёл такой сценарий: 

- у какого-то копируемого продукта не был проставлен прайс-лист;

- в результат выборки соответственно пришло значение {00000000-0000-0000-0000-000000000000};

- при создании нового продукта устанавливается полученное значение пустого Guid;

- при попытке сохранить запись возникает ошибка.

 

Чтобы избегать подобных ошибок, нужно перед установкой справочных полей проверять используемую переменную на значение Guid.Empty.

Ошибка значит, что в поле Pricelist некоего продукта был записан Id, которого не существует в таблице прайс-листов. Наиболее частая ситуация: попадание в поле значения пустого Guid {00000000-0000-0000-0000-000000000000}.

 

Исходя из того, что вы переносите продукты из продажи в заказ, скорее всего произошёл такой сценарий: 

- у какого-то копируемого продукта не был проставлен прайс-лист;

- в результат выборки соответственно пришло значение {00000000-0000-0000-0000-000000000000};

- при создании нового продукта устанавливается полученное значение пустого Guid;

- при попытке сохранить запись возникает ошибка.

 

Чтобы избегать подобных ошибок, нужно перед установкой справочных полей проверять используемую переменную на значение Guid.Empty.

Vyacheslav Lipatkin,

Спасибо, разобрался. В поле была установлена константа (id теперь уже несуществующего объекта).

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