В примере я буду использовать два стандартных метода переноса.
- СТАНДАРТНЫЙ МЕТОД Переход с Бухгалтерии 2.0 на Бухгалтерию 3.0. Для того чтобы воспользоваться этим стандартным методом, необходимо предварительно подготовить конфигурацию источника.
- Я стараюсь при переходе приводить базу к конфигурации поставщика, но т.к. в конфигурацию источника были добавлены ряд документов, нельзя без подготовки перейти к конфигурации поставщика, часть данных будет потеряна. Необходимо перенести движения добавленных документов в документ "ОперацияБух".
У меня для этого есть обработка с одной кнопкой и одной процедурой, собственно сама процедура:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Хозрасчетный.Регистратор КАК Ссылка
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
|ГДЕ
// Здесь указываются необходимые типы документов для переноса
| (Хозрасчетный.Регистратор ССЫЛКА Документ.ДоговорДолевогоУчастия
| ИЛИ Хозрасчетный.Регистратор ССЫЛКА Документ.НачислениеВознагражденияЗастройщика
| ИЛИ Хозрасчетный.Регистратор ССЫЛКА Документ.ФормированиеСебестоимостиУслугЗастройщика
| ИЛИ Хозрасчетный.Регистратор ССЫЛКА Документ.БухгалтерскаяСправка
| ИЛИ Хозрасчетный.Регистратор ССЫЛКА Документ.н_ПересчетВознагражденияЗастройщика
| ИЛИ Хозрасчетный.Регистратор ССЫЛКА Документ.н_ПересчетВознагражденияЗастройщикаПоГодам)
|
|СГРУППИРОВАТЬ ПО
| Хозрасчетный.Регистратор
|
|УПОРЯДОЧИТЬ ПО
| Хозрасчетный.Регистратор.Дата";
Результат = Запрос.Выполнить();
ВыборкаРегистратор = Результат.Выбрать();
Пока ВыборкаРегистратор.Следующий() Цикл
НачатьТранзакцию();
Источник = ВыборкаРегистратор.Ссылка.ПолучитьОбъект();
Источник.ОбменДанными.Загрузка = Истина;
ДокОперация = Документы.ОперацияБух.СоздатьДокумент();
ДокОперация.Организация = Источник.Организация;
ДокОперация.Дата = Источник.Дата;
ДокОперация.Комментарий = Строка(Источник);
ДокОперация.Записать();
Попытка
Для Каждого Движение ИЗ Источник.Движения Цикл
Движение.Прочитать();
Если Движение.Количество() > 0 Тогда
ТЗ = Движение.Выгрузить();
ТЗ.ЗаполнитьЗначения(ДокОперация.Ссылка, "Регистратор");
Движение.Очистить();
Движение.Записать();
МетаИмя = Движение.Метаданные().Имя;
НовоеДвижение = ДокОперация.Движения.Найти(МетаИмя);
НовоеДвижение.Загрузить(ТЗ);
НовоеДвижение.Записать();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
Сообщить("" + Источник.Ссылка);
Исключение
ТекстОшибки = НСтр("ru = 'Движения по документу: %1 не актуализированы. Сообщите в 1С Поддержку.'");
//ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрШаблон(ТекстОшибки, Источник.Ссылка), Источник.Ссылка,,,);
Сообщить("" + Источник.Ссылка + " " + ТекстОшибки, СтатусСообщения.ОченьВажное);
ОтменитьТранзакцию();
КонецПопытки
КонецЦикла;
КонецПроцедуры
- Обработку запустили, можно приводить источник к конфигурации поставщика. В базе источника сохраняем конфигурацию поставщика (Конфигурация - Поддержка - Настройка поддержки - Сохранить в файл) и загружаем через (Конфигурация - Загрузить конфигурацию из файла)
- Думаю правильно будет обновить конфигурацию источника до последнего опубликованного релиза 2.0 и с помощью СТАНДАРТНОГО МЕТОДА обновиться до Бухгалтерии 3.0, желательно чтобы релизы бухгалтерий приемника и источника совпадали, пригодиться на следующем этапе.
- Здесь при необходимости можно свернуть остатки. (снова штатный функционал Бухгалтерии 3.0)
- СТАНДАРТНЫЙ МЕТОД Перенос данных для идентичных конфигураций. Обработка "Выгрузка и загрузка данных XML" (есть в поставке конфигурации "Конвертации данных" и ИТС). Для того чтобы воспользоваться данным методом переноса, конфигурации должны быть идентичными. На предыдущем этапе мы получили данные источника в конфигурации Бухгалтерия 3.0, теперь нужно взять конфигурацию приемника Бит-Финанс и накатить на полученный источник. С данными источника все будет в порядке, если релизы бухгалтерий источника и приемника совпадают.
- В базе приемника сохраняем конфигурацию (Конфигурация - Сохранить конфигурацию в файл...) и загружаем в базе источника через (Конфигурация - Загрузить конфигурацию из файла...). В итоге получим идентичные конфигурации источника и приемника.
- В моем случае база приемника не пуста, чтобы не дублировались элементы справочников, я доработал стандартную обработку и добавил синхронизацию по реквизитам (обработка в файлах для скачивания, тестировалась на платформе 1С:Предприятие 8.3 (8.3.13.1809)). Для справочников и документов доступен выбор реквизитов (можно несколько) по которым будет производиться поиск ссылки при загрузке, если ничего не указано, штатная синхронизация по ГУИД. На картинке пример настройки синхронизации по реквизитам.
з.ы. Думаю не нужно напоминать, все нужно делать на копиях. Я сверяю оборотку с источником-эталоном после каждого этапа. По возможности делаю копии некоторых этапов, на тот случай "если что-то пойдет не так".
Надеюсь кому то, статья поможет в их "нелегком" переносе данных. Удачи.