Всем доброго времени суток. Как уже сказал ранее, речь пойдет о переносе данных из УТ 11.0 в УТ11.2. Задача состояла в том, чтобы перенести доработанную версию 11.0 на полностью типовой механизм 11.2. В 11.0 были добавлены реквизиты, а также несколько модулей и подписок. С этой задачей помогли справиться дополнительные реквизиты объектов, а подписки были реализованы с помощью расширений. С конвертацией по большинству объектов проблем не было. Немного пришлось помучаться с переносом картинок в базу-приемник. В УТ 11.0 файлы картинок хранятся в справочнике Файлы, непосредственного реквизита ФайлХранилище в данном справочнике нет. В УТ 11.2 файлы картинок хранятся в определяемом справочнике ПрисоединенныеФайлы(Номенклатуры). Структуры исходного и конечного справочников немного отличается.
Данную проблему решил следующим образом:
в ПКО файлы (Файлы — ПрисоединенныеФайлы) в обработчик ПередОбработкой добавлен код:
файл = Источник;
версия = файл.ТекущаяВерсия;
ДанныеФайла = РаботаСФайлами.ПолучитьДанныеФайла(файл, версия);
ФайлХранилище = ДанныеФайла.Версия.ФайлХранилище;
ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("ФайлХранилище", ФайлХранилище);
В ПКС ФайлХранилище добавляем строку:
Значение= ВходящиеДанные.ФайлХранилище;
Теперь в ПКО ПослеЗагрузки Файлы добавляем код:
Объект.Записать(); //для получения ссылки на объект справочника
ПрисоединенныйФайл = Объект.Ссылка;
ДвоичныеДанные = Объект.ФайлХранилище;
УстановитьПривилегированныйРежим(Истина);
МенеджерЗаписи = РегистрыСведений.ПрисоединенныеФайлы.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ПрисоединенныйФайл = ПрисоединенныйФайл;
МенеджерЗаписи.ХранимыйФайл = ДвоичныеДанные;//Новый ХранилищеЗначения(картинка, Новый СжатиеДанных(9));
МенеджерЗаписи.Записать(Истина);
Объект.Заполнить(Неопределено);
Объект.Записать();
В ПКО номенклатуры просто соотносим ФайлКартинки.
Полностью реализацию переноса можно увидеть в правилах конвертации, прикрепленных сюда.
молодец конечно что перенес… правилами
я бы обработку лучше для фоток сделал… тем более вообще фото хранить в базе не очень то правильно… база растёт как на дрожжах…
у тебя ещё это не самый сложный вариант…попался
из 10.3 в 11 УТ вот был переход… или бух. 2.0 в 3.0 с доработками
на будущее … смотри на infostart-е что-нить подобное или универсальное, типа
https://infostart.ru/public/308563/
вот например публикация тут уже давно была
обработка «перенос изображений УТ10-УТ11»
http://infostart.ru/public/290011/
(1) можно было и обработкой. Но я кроме фоток еще и справочники выгружал, и документы. поэтому сделал общие правила сразу.