Ax2012 — Ошибка при синхронизации БД: Ошибка преобразования данных…

При синхронизации БД может возникнуть ошибка следующего вида:

Ошибка преобразования данных из оригинального поля 
INVENTLOCATION.OWNDIMDEPARTMENT_NRG в NVENTLOCATION.OwnDimDepartment_NRG: не удается привести тип к любому отличному от строкового (16 в 49) 

Подобные ошибки возникают, когда происходит синхронизация нового приложения со старой БД. Причиной является, что код поля в репозитарии не соответствует полям в таблице SqlDictionary. Для исправления необходимо в таблице SqlDictionary изменить код поля на правильный, что установлен в репозитарии.

В моем случае в таблице было поле с кодом 60025, а в репозитарии был код 60031. Это произошло из-за того, что в старом приложении в таблице было меньше полей, чем в новом приложении, где код был занят другим полем.

Для исправления необходимо открыть SQL Management Studio (SSMS), выбрать вашу базу данных и выполнить SQL запрос:

use axDBName -- Название вашей БД
update [SQLDICTIONARY]
set FIELDID = 60031 -- новый fieldId поля из репозитария
where	TABLEID = 158 -- tableId для таблицы
	AND FIELDID = 60025 -- старый fieldId, который необходимо изменить


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *