Переход с платформы 1С:Предприятие 7.7 на 1С:Предприятие 8.3 — это всегда сложный процесс, а когда база не обновлялась более 15 лет и содержит значительные программные доработки, задача кажется невыполнимой. Рассмотрим подробно, как систематизировать этот процесс, обновить конфигурацию и корректно перенести данные, минимизируя ручной труд.
Прежде всего, проанализируем ситуацию. В нашем случае мы имеем релиз 478 (2007 год), в то время как актуальные релизы 1С:Бухгалтерии 7.7 находятся в районе 660+. Основная сложность заключается в том, что за 17 лет кардинально изменились методики учета НДС, налога на прибыль и структура плана счетов. Кроме того, наличие «самописных» модулей (например, CRM) блокирует стандартные механизмы обновления.
Выясним причину ошибок при выгрузке: чаще всего они возникают из-за несоответствия метаданных. Если в 7.7 были удалены или переименованы типовые реквизиты, стандартная обработка V77Exp.ert будет обращаться к несуществующим объектам, вызывая фатальные ошибки.
В отличие от 1С 8.3, где обновление должно идти строго последовательно через промежуточные релизы, платформа 1С 7.7 позволяет выполнить «прыжок» на актуальный релиз практически в одно действие. Разберем этот процесс по шагам:
Продление поддержки 1С:Предприятия 7.7. Обратимся к обслуживающему партнеру (франчайзи), чтобы получить актуальный шаблон конфигурации.1cv7.md от последнего типового релиза и заменим им аналогичный файл в нашей рабочей базе.Конфигурация — Объединение конфигураций. Это позволит нам увидеть, какие именно объекты были изменены предыдущим программистом, и сохранить критически важные доработки (например, те самые блоки CRM), при этом обновив структуру типовых справочников и документов..md файла запустим базу в монопольном режиме. Программа предложит выполнить процедуры обновления данных. Рассмотрим этот момент внимательнее: так как разрыв в релизах огромен, часть процедур может не отработать. Возможно, придется выполнить обновление в два этапа: сначала до релиза 2012 года (например, 530), а затем до текущего.Если обновление конфигурации 7.7 признано нецелесообразным или технически невозможным из-за критических изменений в коде, проанализируем возможность использования 1С:Конвертация данных 2.1.
Рассмотрим алгоритм настройки выгрузки:
Конвертация данных с помощью обработки MD82Exp.ert (она поставляется в составе КД).Acc77_80.xml), которые находятся в каталоге шаблонов Accounting версии 8.3.ПКС).Важный момент: если нам нужно перенести только остатки и справочники, мы можем упростить правила, оставив только выгрузку справочников Контрагенты, Номенклатура, ОсновныеСредства и документов ВводОстатков.
Если база 7.7 слишком «тяжела» для автоматизированной конвертации, воспользуемся методом выгрузки через промежуточные файлы Excel. Это наиболее «чистый» способ, позволяющий заодно провести аудит данных.
Рассмотрим шаги по реализации этого метода:
Оборотно-сальдовую ведомость по счету с максимальной детализацией по субконто..xls.Загрузка данных из файла (раздел Администрирование).Помощник ввода остатков и заполним их, используя копирование данных из подготовленных Excel-таблиц.Этот метод особенно эффективен для справочника Контрагенты. Мы можем выгрузить список из 7.7, отдать его бухгалтерии на проверку (удаление дублей, актуализация ИНН/КПП) и загрузить в 8.3 уже «чистые» данные.
При работе на современных операционных системах (Windows 10/11) старая версия платформы может выдавать ошибку: Порядок сортировки, установленный для базы данных, отличается от системного. Выясним, как это обойти:
Проанализируем настройки системы. В современных ОС используется кодировка UTF-8, которую 7.7 не понимает. Чтобы запустить программу, создадим в каталоге базы данных пустой файл с названием dbf_plus.dll или воспользуемся механизмом OrdNoChk.prm. Также убедимся, что в региональных стандартах Windows выключена опция Бета-версия: Использовать Юникод (UTF-8) для поддержки языков во всем мире.
Поскольку в 7.7 была реализована CRM-система, разберем, что с ней делать при переходе. Типовая 1С:Бухгалтерия 8.3 не имеет объектов для хранения данных CRM (сделки, события, статусы). У нас есть три пути:
Контрагенты можно настроить Дополнительные сведения, куда перенести ключевую информацию из CRM-блока 7.7.1С:CRM, которая интегрируется с Бухгалтерией 8.3. В этом случае данные из 7.7 придется переносить уже в специализированную конфигурацию через Конвертацию данных.Независимо от выбранного способа, проведем предварительную подготовку в базе 7.7:
Тестирование и исправление ИБ (в Конфигураторе) для проверки ссылочной целостности.Пример кода для простейшей очистки справочника от помеченных на удаление объектов (если стандартное удаление не справляется):
Спр = СоздатьОбъект("Справочник.Контрагенты");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ПометкаУдаления() = 1 Тогда
Спр.Удалить(1); // Непосредственное удаление
КонецЕсли;
КонецЦикла;
Использование подобных скриптов поможет подготовить базу к выгрузке, если в ней накопилось много неиспользуемых элементов, которые будут только мешать в новой системе.
Подводя итог, отметим, что наиболее реалистичный сценарий для сильно модифицированной базы — это обновление MD-файла до актуального типового релиза (с сохранением CRM-блоков через объединение) и последующая выгрузка остатков и справочников стандартными правилами. Это позволит использовать наработки фирмы «1С» по конвертации данных и при этом не потерять накопленную в CRM информацию.