При удалении контрагента выдается сообщение, что не удалена запись так как нет возможности - смотрите системный журнал, а в журнале пишет следующее "Ошибка удаления записи. Оригинальное сообщение: Недопустимое имя объекта "dbo.Communication2TypeName"". Вся связанная информация по данному контрагенту была откреплена во всех таблицах. Помогите что не так?
Нравится
Добрый день, Сергей.
Странная ошибка. Выполняли ли с этим разделом какие-либо изменения в настройках? Например, изменяли состав полей или внешних ключей?
Попробуйте с помощью Profiler получить запрос "DELETE FROM ...", который выполняет попытку удаления, выполните отдельно в Management Studio, если не получится - текст ошибки будет более понятный. Если ничего не помогает - советую обратиться в службу поддержки.
Сергей, проверьте триггер tr_tbl_Account_ID в той части, где происходит запись значения Communication2TypeName в таблицу логов tbl_AccountLog. Мне встречались случаи, когда вместо корректного запроса
(select [tbl_CommunicationType].[Name] from [dbo].[tbl_CommunicationType] as [tbl_CommunicationType] where [tbl_CommunicationType].[ID] = [D].[Communication2TypeID]) as [Communication2TypeName]
триггер содержал что-то типа
(select [Communication2TypeName].[ID] from [dbo].[Communication2TypeName] as [tbl_CommunicationType] ...
За точность последнего выражения не ручаюсь, возможно, в Вашей базе оно выглядит по-другому. Могу только сказать, что оно некорректное и его необходимо заменить на первое.
Уважаемый Олег, выполнили все как Вы написали, ошибка пропала но появилась новая :
Ошибка удаления записи. Оригинальное сообщение: Ошибка при преобразовании строки символов в тип uniqueidentifier
Сергей, Вы заменили только ту часть, которая касалась Communication2TypeName? Посмотрите на аналогичные участки, которые соответствуют Communication1Type, Communication3Type, Communication4Type. Для Communication2Type должно быть точно так же, как и для них, кроме соответствующего индекса.
Если отличий нет, воспользуйтесь советом Дмитрия: перед удалением включите Profiler и посмотрите, какой запрос выполняется при удалении, а потом попробуйте его выполнить в Management Studio.
В случае, если данные действия могут вызвать затруднение, обратитесь в Службу поддержки Terrasoft. Наши специалисты попытаются подключиться удалённо к Вашей системе и устранить проблему.
Олег большое спасибо, всё получилось, просто допустили орфографическую ошибку при записи в тригер:sad: