Переход с устаревшей платформы «1С:Предприятие 7.7» на современную «1С:Предприятие 8.3» — это всегда ответственный и технически сложный процесс. Особую трудность вызывает миграция со специализированных конфигураций, таких как «1С:Предприниматель 7.7». Многие пользователи и специалисты при попытке выполнить автоматический переход с помощью встроенного помощника сталкиваются с неприятным сюрпризом: справочники и остатки переносятся успешно, а вот документы за текущий период перенести не удается, даже если соответствующие опции выбраны в мастере настройки.
В рамках этой статьи мы подробно разберем, почему возникает эта проблема, проанализируем архитектурные ограничения систем и рассмотрим практические варианты решения задачи, начиная от штатных методик и заканчивая разработкой собственных правил конвертации данных.
---
Для того чтобы понять суть проблемы, проанализируем различия в архитектуре конфигураций «1С:Предприниматель 7.7» и «1С:Бухгалтерия 8».
Основное отличие заключается в том, что в «1С:Предприниматель 7.7» полностью отсутствует бухгалтерский учет методом двойной записи и нет плана счетов. Весь учет индивидуального предпринимателя в этой конфигурации построен исключительно на регистрах («Материальные ресурсы», «Расчеты с покупателями», «Расчеты с поставщиками», «Касса», «Банк» и др.). На основании движений по этим регистрам в семерке формируется Книга учета доходов и расходов (КУДиР) и налоговая отчетность.
В «1С:Бухгалтерии 8» (независимо от того, используется интерфейс для ИП или стандартный) учет обязательно ведется на счетах бухгалтерского учета. Из-за этого фирма «1С» никогда не создавала типовых правил переноса документов «на лету» для данной пары конфигураций. Прямая трансляция хозяйственных операций из регистров «Предпринимателя 7.7» в проводки документов «Бухгалтерии 8» требует сложнейших алгоритмов сопоставления. Поэтому штатные правила обмена, которые выгружаются из информационной базы, изначально ориентированы только на перенос справочников и остатков на определенную дату.
Если мы откроем правила обмена (файл XML) в специализированной обработке или xml-редакторе, то увидим, что в дереве выгрузки объектов разделы документов просто отсутствуют. Разработчики заложили туда исключительно правила конвертации для справочной информации и регистров остатков.
---
Самый надежный и проверенный временем способ миграции — это перенос справочников, ввод начальных остатков на начало отчетного периода (например, на начало года или квартала) и ручной ввод документов за текущий период. Этот вариант позволяет избежать переноса «мусора» и некорректных данных из старой базы.
Рассмотрим пошагово, как правильно выполнить этот процесс:
ExtForms базы 7.7).Ввод начальных остатков по всем разделам учета.После загрузки необходимо тщательно «открыжить» (сверить) остатки. Особое внимание уделите взаиморасчетам с контрагентами (счета 60 и 62) и остаткам ТМЦ (счета 10 и 41). Обычно сверка и ручная корректировка занимают не более нескольких часов, что значительно быстрее исправления криво перенесенных документов прошлых лет.
---
Если учет у индивидуального предпринимателя достаточно простой и включает небольшое количество документов (например, только выписку банка, приходные и расходные накладные), можно значительно ускорить процесс ввода документов за текущий год, автоматизировав загрузку банковских операций.
Рассмотрим, как это сделать:
Поскольку большая часть хозяйственной деятельности ИП отражается по расчетному счету, нам нет необходимости переносить банковские документы из семерки. Мы можем загрузить их напрямую из банковской выписки в формате 1c_to_kl.txt.
Поступление на расчетный счет и Списание с расчетного счета.---
Если объем документов за текущий период исчисляется тысячами и ручной ввод невозможен, единственным выходом является самостоятельное написание правил обмена в специализированной конфигурации «1С:Конвертация данных 2.1» (КД 2).
Проанализируем этот процесс детально и по шагам:
Для настройки правил нам понадобятся структуры метаданных обеих конфигураций — источника («Предприниматель 7.7») и приемника («Бухгалтерия 8»).
MD77Exp.ert (обычно поставляется вместе с Конвертацией данных). Запустите её в базе Предпринимателя и выгрузите структуру метаданных в файл, например, Predpr77_metadata.xml.MD83Exp.epf в базе «1С:Бухгалтерия 8» и выгрузите описание метаданных в файл BP3_metadata.xml.Запустите информационную базу «Конвертация данных 2.1». Создайте новую настройку конвертации, загрузив в неё оба полученных файла описания метаданных. Программа автоматически сопоставит аналогичные типы данных.
Создайте Правила конвертации объектов (ПКО) для базовых справочников:
Контрагенты -> КонтрагентыНоменклатура -> НоменклатураДоговоры -> ДоговорыКонтрагентовДалее переходим к самому главному — созданию ПКО для документов. В качестве примера настроим перенос документа закупки.
В источнике («1С:Предприниматель 7.7») за приход товаров отвечает документ ПоступлениеМПЗ. В приемнике («1С:Бухгалтерия 8») нам нужно получить документ ПоступлениеТоваровУслуг с видом операции «Товары (накладная, УПД)».
Создайте новое ПКО для документа:
Поскольку в семерке нет счетов учета, при загрузке документа в восьмерку нам необходимо программно определить счета учета номенклатуры и расчетов с контрагентами. Для этого используются обработчики событий в правилах конвертации свойств (ПКС) или в самом ПКО.
Например, в ПКО документа ПоступлениеТоваровУслуг в обработчике событий «При загрузке» мы можем прописать следующий код для автоматического заполнения обязательных реквизитов, которых не было в семерке:
// Заполнение счетов расчетов по умолчанию, если они не заполнились из регистра сведений
Если Не ЗначениеЗаполнено(Объект.СчетУчетаРасчетовСПоставщиком) Тогда
Объект.СчетУчетаРасчетовСПоставщиком = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками; // Счет 60.01
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.СчетУчетаРасчетовПоАвансам) Тогда
Объект.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамВыданным; // Счет 60.02
КонецЕсли;
// Установка признака проведения документа
Объект.Проведен = Ложь; // Рекомендуется загружать непроведенными для последующего контроля
Для табличной части документа (в 7.7 это обычно табличная часть Материалы или Товары, в 8.3 — табличная часть Товары) создайте Правила конвертации группы свойств (ПКГС). В ПКС для реквизита СчетУчета внутри табличной части также можно прописать алгоритм подстановки счета в зависимости от вида номенклатуры (например, для материалов устанавливать счет 10.01, для товаров — 41.01).
После настройки всех необходимых ПКО сохраните полученные правила обмена в XML-файл. Используйте универсальную обработку выгрузки V8Exman.ert на стороне 7.7 для выгрузки документов по созданным правилам, а в «Бухгалтерии 8» загрузите данные через обработку УниверсальныйОбменДаннымиXML.epf.
---
Бывают ситуации, когда штатные правила переноса, встроенные в актуальный релиз «1С:Бухгалтерии 8», выдают критические ошибки при попытке загрузки данных. Выясним причину: это происходит потому, что правила обмена в старых конфигурациях 7.7 создавались много лет назад и рассчитывались на загрузку в «Бухгалтерию 8» ранних версий (например, редакции 3.0.12.х — 3.0.15.х).
Если прямой перенос в актуальный релиз БП 3.0 завершается ошибками формата схемы XML или падением платформы, используем метод последовательного обновления через промежуточную базу:
---
В процессе переноса вы можете столкнуться со специфическими техническими проблемами платформы 7.7. Разберем наиболее частые из них:
Платформа «1С:Предприятие 7.7» является 32-битным приложением и физически не может адресовать более 2 ГБ оперативной памяти. Если база велась много лет и справочники номенклатуры или контрагентов огромны, процесс выгрузки данных в XML неизбежно аварийно прервется.
Решение: Перед выполнением миграции обязательно сделайте свертку базы 7.7 на начало года перехода с помощью стандартной обработки свертки (например, WRAP.ert). Это очистит базу от старых документов, уменьшит индексы и позволит успешно выгрузить данные без перегрузки оперативной памяти.
При попытке запустить автоматический переход с прямым подключением к базе 7.7 («восьмерка» сама подключается к «семерке» через OLE) часто возникает ошибка инициализации COM-объекта. Это происходит из-за конфликта разрядности платформ: современная платформа «1С:Предприятие 8.3» на ПК пользователя обычно установлена в 64-битной версии, а «1С 7.7» может работать исключительно в 32-битном режиме. 64-битный процесс не имеет прямого доступа к 32-битным библиотекам.
Решение: Всегда используйте только вариант переноса через промежуточный XML-файл. Он полностью исключает проблемы совместимости разрядности платформ и операционных систем.
---
Перенос данных из «1С:Предприниматель 7.7» в «1С:Бухгалтерию 8» имеет выраженную специфику из-за концептуального различия в моделях учета двух конфигураций. Нам следует помнить ключевое правило: штатного переноса документов для этой пары конфигураций не существует.
Для успешного запуска учета в новой программе рекомендуется использовать стандартный перенос справочников и остатков на начало отчетного периода с последующим вводом текущих документов вручную или полуавтоматически через систему «Клиент-Банк». Если же перенос документов жизненно необходим в больших объемах — осваивайте инструмент «1С:Конвертация данных 2.1», который позволит вам гибко настроить трансляцию регистров семерки в проводки и документы восьмерки.