Имя: Пароль:
1C
 
УТ 11: Ошибка при восстановление версии
,
0 iceman2112
 
03.11.15
09:23
Добрый день, никто не встречался с такой ошибки при восстановление версии объекта?

Ошибка в строчке МодуляВерсионирования


Объект = ПрочитатьXML(ЧтениеFastInfoSet);


Ошибка преобразования данных XML

Такая ошибка не для всех, "новые" версии восстанавливаются нормально

Сейчас пробуду сохранить этот XML в какой нибудь файл и посмотреть что там
1 ДенисЧ
 
03.11.15
09:33
Метаданные изменились. Поэтому десериализация не проходит.
Короче - штатное версионирование пригодно только для конфигураций, в которых не меняются метаданные
2 smpulan
 
03.11.15
09:33
У восстанавливаемого объекта появились новые реквизиты после того как была сделана версия объекта.
3 iceman2112
 
03.11.15
09:34
(1) Так и что делать?
4 ДенисЧ
 
03.11.15
09:35
(3) Или удалять старые, неактуальные, версии.
или писать свой десериализатор.
5 Serg_1960
 
03.11.15
09:48
(на ходу импровизирую)
Сложно, но можно: написать обработку, которая непосредственно перед обновлением конфигурации выгружает все версии из регистра в объекты, а после обновления - прячет в хранилище их опять. Только с системой нумерации для версий нужно "поколдовать" так, чтобы уникальные номера у версий были и помогали возвращать объекты назад на своё "прежнее" место. Может быть цифровые суффиксы задействовать? Надо подумать.
Закон Брукера: Даже маленькая практика стоит большой теории.