Как перейти с сильно устаревшей и доработанной 1С:Бухгалтерии 7.7 на 1С 8.3

Программист 1С v7.7 1C:Бухгалтерия Бухгалтерский учет
← На главную

Переход с платформы 1С:Предприятие 7.7 на 1С:Предприятие 8.3 — это всегда сложный процесс, а когда база не обновлялась более 15 лет и содержит значительные программные доработки, задача кажется невыполнимой. Рассмотрим подробно, как систематизировать этот процесс, обновить конфигурацию и корректно перенести данные, минимизируя ручной труд.

Анализ текущего состояния базы 7.7

Прежде всего, проанализируем ситуацию. В нашем случае мы имеем релиз 478 (2007 год), в то время как актуальные релизы 1С:Бухгалтерии 7.7 находятся в районе 660+. Основная сложность заключается в том, что за 17 лет кардинально изменились методики учета НДС, налога на прибыль и структура плана счетов. Кроме того, наличие «самописных» модулей (например, CRM) блокирует стандартные механизмы обновления.

Выясним причину ошибок при выгрузке: чаще всего они возникают из-за несоответствия метаданных. Если в 7.7 были удалены или переименованы типовые реквизиты, стандартная обработка V77Exp.ert будет обращаться к несуществующим объектам, вызывая фатальные ошибки.

Стратегия 1: Одношаговое обновление конфигурации

В отличие от 1С 8.3, где обновление должно идти строго последовательно через промежуточные релизы, платформа 1С 7.7 позволяет выполнить «прыжок» на актуальный релиз практически в одно действие. Разберем этот процесс по шагам:

  1. Получение обновлений: На текущий момент для доступа к обновлениям 7.7 необходим не только действующий договор ИТС, но и активированный сервис Продление поддержки 1С:Предприятия 7.7. Обратимся к обслуживающему партнеру (франчайзи), чтобы получить актуальный шаблон конфигурации.
  2. Создание копии: Все действия выполняем исключительно на копии информационной базы!
  3. Замена файла метаданных: Возьмем файл 1cv7.md от последнего типового релиза и заменим им аналогичный файл в нашей рабочей базе.
  4. Объединение конфигураций: Вместо простой замены файла рекомендуется использовать режим Конфигурация — Объединение конфигураций. Это позволит нам увидеть, какие именно объекты были изменены предыдущим программистом, и сохранить критически важные доработки (например, те самые блоки CRM), при этом обновив структуру типовых справочников и документов.
  5. Первый запуск: После обновления .md файла запустим базу в монопольном режиме. Программа предложит выполнить процедуры обновления данных. Рассмотрим этот момент внимательнее: так как разрыв в релизах огромен, часть процедур может не отработать. Возможно, придется выполнить обновление в два этапа: сначала до релиза 2012 года (например, 530), а затем до текущего.

Стратегия 2: Использование правил конвертации данных

Если обновление конфигурации 7.7 признано нецелесообразным или технически невозможным из-за критических изменений в коде, проанализируем возможность использования 1С:Конвертация данных 2.1.

Рассмотрим алгоритм настройки выгрузки:

  1. Загрузим структуру метаданных нашей текущей конфигурации 7.7 в базу Конвертация данных с помощью обработки MD82Exp.ert (она поставляется в составе КД).
  2. Загрузим структуру метаданных целевой конфигурации 1С:Бухгалтерия 8.3.
  3. Попробуем использовать типовые правила перехода (файл Acc77_80.xml), которые находятся в каталоге шаблонов Accounting версии 8.3.
  4. Проанализируем ошибки: в КД мы можем отключить выгрузку тех реквизитов, которые вызывают сбои, или прописать для них правила конвертации значений (ПКС).

Важный момент: если нам нужно перенести только остатки и справочники, мы можем упростить правила, оставив только выгрузку справочников Контрагенты, Номенклатура, ОсновныеСредства и документов ВводОстатков.

Стратегия 3: Перенос через табличный документ (Excel)

Если база 7.7 слишком «тяжела» для автоматизированной конвертации, воспользуемся методом выгрузки через промежуточные файлы Excel. Это наиболее «чистый» способ, позволяющий заодно провести аудит данных.

Рассмотрим шаги по реализации этого метода:

  1. В базе 7.7 сформируем Оборотно-сальдовую ведомость по счету с максимальной детализацией по субконто.
  2. Сохраним отчет в формате .xls.
  3. В 1С:Бухгалтерия 8.3 воспользуемся типовой обработкой Загрузка данных из файла (раздел Администрирование).
  4. Для загрузки остатков по счетам создадим документы Помощник ввода остатков и заполним их, используя копирование данных из подготовленных Excel-таблиц.

Этот метод особенно эффективен для справочника Контрагенты. Мы можем выгрузить список из 7.7, отдать его бухгалтерии на проверку (удаление дублей, актуализация ИНН/КПП) и загрузить в 8.3 уже «чистые» данные.

Решение технических проблем при запуске 7.7

При работе на современных операционных системах (Windows 10/11) старая версия платформы может выдавать ошибку: Порядок сортировки, установленный для базы данных, отличается от системного. Выясним, как это обойти:

Проанализируем настройки системы. В современных ОС используется кодировка UTF-8, которую 7.7 не понимает. Чтобы запустить программу, создадим в каталоге базы данных пустой файл с названием dbf_plus.dll или воспользуемся механизмом OrdNoChk.prm. Также убедимся, что в региональных стандартах Windows выключена опция Бета-версия: Использовать Юникод (UTF-8) для поддержки языков во всем мире.

Особенности переноса «самописных» блоков

Поскольку в 7.7 была реализована CRM-система, разберем, что с ней делать при переходе. Типовая 1С:Бухгалтерия 8.3 не имеет объектов для хранения данных CRM (сделки, события, статусы). У нас есть три пути:

  1. Отказ от переноса истории: Оставить старую базу 7.7 как архив для просмотра истории взаимодействий с клиентами, а в 8.3 начать работу с чистого листа.
  2. Использование дополнительных реквизитов: В 8.3 для справочников Контрагенты можно настроить Дополнительные сведения, куда перенести ключевую информацию из CRM-блока 7.7.
  3. Переход на специализированное решение: Рассмотреть внедрение 1С:CRM, которая интегрируется с Бухгалтерией 8.3. В этом случае данные из 7.7 придется переносить уже в специализированную конфигурацию через Конвертацию данных.

Подготовка данных перед переносом

Независимо от выбранного способа, проведем предварительную подготовку в базе 7.7:

  1. Свертка базы: Рекомендуется выполнить свертку на 31.12.2021 или 31.12.2022. Это существенно уменьшит объем переносимых данных и удалит «мусор» за предыдущие десятилетия.
  2. Тестирование и исправление: Обязательно запустим режим Тестирование и исправление ИБ (в Конфигураторе) для проверки ссылочной целостности.
  3. Проверка ИНН: В 1С 8.3 контроль корректности ИНН и КПП значительно строже. Исправим ошибки в карточках контрагентов еще в 7.7, чтобы избежать проблем при загрузке.

Пример кода для простейшей очистки справочника от помеченных на удаление объектов (если стандартное удаление не справляется):


Спр = СоздатьОбъект("Справочник.Контрагенты");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Если Спр.ПометкаУдаления() = 1 Тогда
        Спр.Удалить(1); // Непосредственное удаление
    КонецЕсли;
КонецЦикла;

Использование подобных скриптов поможет подготовить базу к выгрузке, если в ней накопилось много неиспользуемых элементов, которые будут только мешать в новой системе.

Заключение

Подводя итог, отметим, что наиболее реалистичный сценарий для сильно модифицированной базы — это обновление MD-файла до актуального типового релиза (с сохранением CRM-блоков через объединение) и последующая выгрузка остатков и справочников стандартными правилами. Это позволит использовать наработки фирмы «1С» по конвертации данных и при этом не потерять накопленную в CRM информацию.

← На главную