![]() |
#1 |
Программатор
|
Синхронизация LedgerTrans. Поле BondBatchTrans_RU
Добрый день, уважаемые коллеги!!
Переход с 3.0 на 5.0. KernrlVersion 5.0.1500.2985 ApplicationVersion 5.0.1500.2985 SolutionVersion RU HRP 5.0.1500.2116.1 При синхронизации LedgerTrans ругается: Ошибка преобразования данных из оригинального поля LEDGERTRANS.BONDBATCHTRANS_RU в LEDGERTRANS.BondBatchTrans_RU: не удается привести тип к любому отличному от строкового (16 в 49). Данное поле не модифицировалось никак. Это что за ошибка такая и в каком направлении копать? Заранее спасибо! |
|
![]() |
#2 |
Участник
|
У себя я подобные ошибки встречал при несоответствии кодов полей. Т.е. система по старому коду поля физически попадала на совершенно другой столбец таблицы. Конкретно историю вопроса сейчас не вспомню, но 99% вероятность того что у вас тоже что-то напутано с кодами полей.
|
|
![]() |
#3 |
Участник
|
В 2009-й Аксапте в табличке SQLDictionary для обозначения системных полей с типом RECID выделено особый код типа поля 49
В то время как обычному int64 соответствует код 16 (types::int64) Любопытно, что ядро разделяет внутри себя тип recId и наследники от него и тип int64 и это выражается в том что в SQLDictionary - разные коды для этих типов выделены. Поищите может у вас в этом проблема ? Также рекомендую проверить тип поля LEDGERTRANS.BONDBATCHTRANS_RU |
|
|
За это сообщение автора поблагодарили: Jony (1), Sada (3). |
![]() |
#4 |
Участник
|
В нормально обновленном приложении стоит тип 49, а в кривом 16, Сменил на 49, все пошло. Спасибо.
|
|
![]() |
#5 |
Программатор
|
Да, Logger, спасибо. Век живи, два века учись...
![]() |
|