Здравствуйте!
Пытаюсь синхронизировать Организационные роли с AD, при запуске синхронизации пользователи перемещаются, но в журнале появляется ошибка "Terrasoft.Common.DbOperationException: The UPDATE statement conflicted with the FOREIGN KEY constraint "FKMpbRxbvqMdsx1Iial2kKB1MywA". The conflict occurred in database "TerrasoftDB", table "dbo.Account", column 'Id'."
FK связывает столбец AccountId в таблице Contact и Id в Account.
Id в таблице проверил, пустых и битых нет.
Не подскажете, куда копать?
Нравится
В синхронизации с АД в лоб был зашит контрагент с именем Наша компания и id="E308B781-3C5B-4ECB-89EF-5C1ED4DA488E"
Проверьте что в базе (таблица Account) есть такой Id. Если нет создайте запись. Контрагента наша компания не рекомендуется удалять лучше его переименовать в название вашей компании!
Обычно такая ошибка может возникнуть, если в поле пытаются вставить Id, которого нет в базе данных. В данном случае Id из таблицы Account.
Посмотрите sql-профайлером, на каком именно запросе происходит свал и проанализируйте его значения.
В синхронизации с АД в лоб был зашит контрагент с именем Наша компания и id="E308B781-3C5B-4ECB-89EF-5C1ED4DA488E"
Проверьте что в базе (таблица Account) есть такой Id. Если нет создайте запись. Контрагента наша компания не рекомендуется удалять лучше его переименовать в название вашей компании!
Спасибо, Алла, нашел ошибку с помощью Профайлера.
Спасибо, Григорий, вы правы, контрагента с таким Id в таблице нет, но и в свойствах контакта указан другой контрагент с именем Восток Запад и типом "Наша компания", который существует. Не пойму откуда взялся Id E308B781-3C5B-4ECB-89EF-5C1ED4DA488E? Создать конечно могу, но разобраться бы как это работает.
Виталий Егоров,
Если наткнулись на E308B781-3C5B-4ECB-89EF-5C1ED4DA488E, то как я и писал в лоб зашито в интеграции с АД :) Лучше востановите контрагента
Спасибо, Григорий.
А не помните случайно, в какой схеме это можно увидеть?
Виталий Егоров,
Увы нет, но она в нескольких местах вылазила недавно вот всплыла в формировании счета на оплату.
Например, если поискать через базу по коду, в схеме AccountConsts и в БП объекта Invoice упомянут этот GUID.
select * from SysSchemaSource where source like '%E308B781-3C5B-4ECB-89EF-5C1ED4DA488E%'