Имя: Пароль:
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
(на ходу импровизирую)
Сложно, но можно: написать обработку, которая непосредственно перед обновлением конфигурации выгружает все версии из регистра в объекты, а после обновления - прячет в хранилище их опять. Только с системой нумерации для версий нужно "поколдовать" так, чтобы уникальные номера у версий были и помогали возвращать объекты назад на своё "прежнее" место. Может быть цифровые суффиксы задействовать? Надо подумать.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn