03.05.2011, 11:55 | #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). Данное поле не модифицировалось никак. Это что за ошибка такая и в каком направлении копать? Заранее спасибо! |
|
03.05.2011, 12:21 | #2 |
Участник
|
У себя я подобные ошибки встречал при несоответствии кодов полей. Т.е. система по старому коду поля физически попадала на совершенно другой столбец таблицы. Конкретно историю вопроса сейчас не вспомню, но 99% вероятность того что у вас тоже что-то напутано с кодами полей.
|
|
03.05.2011, 12:33 | #3 |
Участник
|
В 2009-й Аксапте в табличке SQLDictionary для обозначения системных полей с типом RECID выделено особый код типа поля 49
В то время как обычному int64 соответствует код 16 (types::int64) Любопытно, что ядро разделяет внутри себя тип recId и наследники от него и тип int64 и это выражается в том что в SQLDictionary - разные коды для этих типов выделены. Поищите может у вас в этом проблема ? Также рекомендую проверить тип поля LEDGERTRANS.BONDBATCHTRANS_RU |
|
|
За это сообщение автора поблагодарили: Jony (1), Sada (3). |
03.05.2011, 12:44 | #4 |
Участник
|
В нормально обновленном приложении стоит тип 49, а в кривом 16, Сменил на 49, все пошло. Спасибо.
|
|
03.05.2011, 12:47 | #5 |
Программатор
|
Да, Logger, спасибо. Век живи, два века учись...
|
|