Переход с платформы 1С 7.7 на 1С 8.3 — это не простое копирование данных, а полноценная миграция, требующая понимания различий в архитектуре систем. В версии 7.7 учет строился преимущественно на справочниках и бухгалтерских итогах, в то время как в 8.3 огромную роль играют регистры сведений и накопления. Разберем основные способы и технические нюансы загрузки данных по основным средствам (счета 01.1, 02.1) и материалам (счет 10).
Это наиболее правильный и профессиональный подход. Конфигурация «Конвертация данных» (КД) позволяет создать правила обмена, которые описывают, какое поле в 7.7 соответствует полю в 8.3. Рассмотрим алгоритм работы с этим инструментом:
MD82Exp.ert, из 8.3 с помощью MD83Exp.epf).Номенклатура или ОсновныеСредства, которые имеют остатки на счетах 10 или 01.Контрагенты это ИНН + КПП, а для Номенклатуры — Артикул или Наименование.Если вам нужно написать собственную обработку «с нуля» без изучения КД, можно воспользоваться методом прямого обращения к базе 7.7 из базы 8.3. Это реализуется через COM-объект. Посмотрим на пример кода для инициализации соединения:
// Инициализация соединения с базой 7.7
ПутьКБазе = "C:\Bases\Salary77";
Пользователь = "Admin";
Пароль = "123";
V7 = Новый COMОбъект("V1C77.Application");
СоединениеУстановлено = V7.Initialize(V7.RMTrade, "/D" + ПутьКБазе + " /N" + Пользователь + " /P" + Пароль, "NO_SPLASH_SHOW");
Если Не СоединениеУстановлено Тогда
Сообщить("Не удалось установить соединение с 1С 7.7");
Возврат;
КонецЕсли;
После установки соединения мы можем перебирать справочники 7.7 циклом. Например, выберем материалы (счет 10):
ВыборкаСпр77 = V7.CreateObject("Справочник.Номенклатура");
ВыборкаСпр77.ВыбратьЭлементы();
Пока ВыборкаСпр77.ПолучитьЭлемент() = 1 Цикл
Если ВыборкаСпр77.ЭтоГруппа = 1 Тогда
Продолжить;
КонецЕсли;
// Создаем элемент в 8.3
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование = ВыборкаСпр77.Наименование;
НовыйЭлемент.Записать();
КонецЦикла;
Важное ограничение: Проанализируем техническую сторону — COM-соединение с 7.7 работает только в 32-битном окружении. Если ваш сервер 1С 8.3 является 64-битным, обработку нужно запускать в тонком клиенте на 32-битной платформе.
Разберем подробнее, почему простой перенос справочника Основные средства не даст результата. В 1С 8.3 справочник — это лишь оболочка. Вся ключевая информация для начисления амортизации хранится в регистрах сведений. Чтобы ОС «ожило», после загрузки справочника необходимо заполнить следующие регистры:
Рассмотрим рекомендации: вместо того чтобы вручную заполнять эти регистры программно, правильнее будет создавать в 8.3 документы Ввод остатков. При проведении этот документ сам сделает корректные записи во все необходимые регистры и сформирует проводки по счетам 01 и 02.
Для материалов (счет 10) в 1С 8.3 критически важно заполнение регистра сведений Счета учета номенклатуры. Проанализируем ситуацию: в 7.7 счет учета часто определялся «по месту» в документе. В 8.3 система старается подставлять счета автоматически. Если вы просто перенесете справочник, бухгалтеру придется вручную указывать счета в каждом документе закупки или списания. Поэтому при переносе номенклатуры сразу настраивайте записи в этом регистре, привязывая группы товаров к соответствующим субсчетам счета 10.
Как было отмечено в обсуждении, иногда проще всего выгрузить данные из 7.7 в отчет (таблицу MXL), а затем считать эту таблицу в 8.3. Этот способ хорош тем, что:
ПоискПоНаименованию или код.Однако помните о производительности: загрузка через MXL тысяч позиций номенклатуры будет медленнее, чем через XML или прямое COM-подключение.
Выясним причину возможных ошибок при переносе. Часто это «битые» ссылки в старой базе. Перед началом миграции выполните следующие действия в 1С 7.7:
Резюме: Для разового и качественного переноса лучше всего освоить Конвертацию данных 2.1. Если задача разовая и простая — используйте загрузку из MXL. Для автоматизированной подкачки данных из работающей 7.7 — используйте COM-соединение. Главное — не забывайте, что в 8.3 справочник без записей в регистрах часто является бесполезным.