Как правильно перенести номенклатуру и остатки из нетиповой БП 2.0 в чистую БП 3.0?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Переход с устаревшей редакции 1С:Бухгалтерия предприятия 2.0 на современную версию 3.0 — это стандартная задача, которая, однако, сильно осложняется, если исходная конфигурация была доработана («снята с поддержки»). Прямое обновление измененной базы в лоб через конфигуратор часто приводит к потере данных, нарушению логики проведения документов и проблемам с последующими обновлениями.

В этой статье мы подробно разберем, как выполнить перенос справочника номенклатуры и остатков из нетиповой БП 2.0 в чистую БП 3.0, проанализируем скрытые риски различных подходов и выберем наиболее безопасный и технологичный алгоритм решения задачи.

1. Скрытые опасности «простого обновления» измененной базы

На первый взгляд самым простым решением кажется обычное обновление измененной базы БП 2.0 до версии БП 3.0 через конфигуратор с игнорированием нетиповых изменений. Однако у этого пути есть критические подводные камни:

  1. Конфликт уникальных идентификаторов (UUID): Если мы принудительно «накатим» типовой файл конфигурации (cf) поверх измененной базы, внутренние идентификаторы объектов метаданных могут разойтись с конфигурацией поставщика. Программа обновится, но при каждом последующем типовом обновлении БП 3.0 система будет требовать ручного сопоставления объектов, превращая поддержку базы в кошмар.
  2. Потеря движений нетиповых документов: Если в вашей БП 2.0 были созданы добавленные программистом документы, которые делали проводки по типовым регистрам (например, по счету 41 «Товары» или 10 «Материалы»), то при удалении этих документов из конфигурации их движения станут «сиротами» (записями в регистре без документа-регистратора). При первом же тестировании и исправлении (ТИИ) или перепроведении эти остатки бесследно исчезнут.

Поэтому рассмотрим два наиболее надежных сценария, которые гарантируют сохранность данных.

2. Метод 1: Свертка информационной базы на стороне БП 2.0 перед переходом

Этот метод считается наиболее правильным, если вы хотите сохранить историю справочников, но очистить базу от устаревшего нетипового кода и документов прошлых лет. Свертка преобразует все остатки в типовые документы, что позволяет безболезненно удалить нетиповые метаданные.

Разберем этот процесс по шагам:

  1. Создание резервной копии: Все операции обязательно выполняем на копии базы! Прежде чем запустить обработку свертки, убедимся, что копия базы развернута локально.
  2. Запуск свертки: В БП 2.0 переходим в меню Сервис -> Свертка информационной базы. Задаем дату свертки (например, 31 декабря предыдущего года).
  3. Формирование документов остатков: Обработка автоматически сформирует стандартные документы ВводНачальныхОстатков по всем бухгалтерским счетам и регистрам на указанную дату. При этом все движения, созданные ранее вашими нетиповыми документами, превратятся в стандартные проводки документов ввода остатков.
  4. Очистка старых данных: Обработка пометит на удаление и удалит документы прошлых периодов. Теперь все остатки «привязаны» только к типовым документам ввода остатков.
  5. Удаление доработок из конфигурации: Поскольку все остатки теперь зафиксированы в типовых документах, мы можем спокойно зайти в конфигуратор, снять базу с поддержки, удалить добавленные ранее нетиповые документы, регистры и справочники, а затем вернуть базу на стандартную поддержку поставщика («1С:Бухгалтерия предприятия»).
  6. Обновление до БП 3.0: Полностью типовую БП 2.0, содержащую справочники и документы ВводНачальныхОстатков, мы стандартно обновляем через конфигуратор специальным дистрибутивом перехода на БП 3.0.

3. Метод 2: Перенос данных через XML-правила в чистую базу БП 3.0

Если вы хотите получить абсолютно чистую БП 3.0 без какого-либо «мусора» в конфигурации и перенести туда только справочники и остатки, воспользуемся механизмом переноса данных через XML.

Выясним, где взять правила и как выполнить выгрузку:

  1. Извлечение правил обмена: Фирма «1С» поставляет готовые правила конвертации для перехода. В БП 2.0 их можно найти в папке шаблонов обновлений или извлечь непосредственно из конфигурации через меню Операции -> Справочники -> Конвертации из информационных баз предыдущих версий.
  2. Выгрузка данных из БП 2.0: Запускаем в исходной базе обработку УниверсальныйОбменДаннымиXML. Загружаем полученные правила, указываем дату, на которую хотим перенести остатки, выбираем выгрузку справочника Номенклатура и документов остатков, после чего выгружаем данные в файл.
  3. Загрузка данных в чистую БП 3.0: В чистой, предварительно созданной базе БП 3.0 переходим в раздел Администрирование -> Перенос данных из информационных баз 1С:Бухгалтерии 8 и загружаем наш XML-файл.

Если структура вашей конфигурации БП 2.0 была изменена настолько сильно, что стандартные правила вызывают ошибки, нам потребуется использовать инструмент 1С:Конвертация данных 2.1. В этой программе мы сможем настроить правила сопоставления полей, например, сопоставить реквизиты старого справочника номенклатуры с новыми реквизитами в БП 3.0.

4. Обязательная подготовка данных в БП 2.0 перед переносом

Чтобы перенос прошел успешно и остатки в БП 3.0 сошлись «копейка в копейку», выполним предварительную подготовку исходной базы БП 2.0. Проанализируем ключевые моменты, которые часто упускают из виду.

Анализ отрицательных остатков: В оборотно-сальдовой ведомости (ОСВ) по счетам учета номенклатуры (10, 41, 43) не должно быть отрицательного сальдо («красноты»). Наличие отрицательных остатков приведет к тому, что документы ввода остатков в БП 3.0 либо не проведутся, либо сформируют некорректную себестоимость.

Для поиска таких ошибок можно запустить следующий несложный запрос в консоли запросов БП 2.0:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
    |	ХозрасчетныйОстатки.Субконто2 КАК Склад,
    |	ХозрасчетныйОстатки.СуммаОстатокКт КАК ОтрицательныйОстатокСумма,
    |	ХозрасчетныйОстатки.КоличествоОстатокКт КАК ОтрицательныйОстатокКоличество
    |ИЗ
    |	РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)), , ) КАК ХозрасчетныйОстатки
    |ГДЕ
    |	ХозрасчетныйОстатки.КоличествоОстатокКт > 0 ИЛИ ХозрасчетныйОстатки.СуммаОстатокКт > 0";
Запрос.УстановитьПараметр("Период", КонецДня(ТекущаяДата()));
Результат = Запрос.Выполнить();

Если запрос вернул строки, необходимо выявить причины (непоследовательное проведение документов, пересортица) и устранить их до начала переноса.

Заполнение обязательных реквизитов складов: В редакции БП 2.0 реквизит ТипСклада в справочнике Склады мог оставаться незаполненным. В БП 3.0 это поле строго обязательно для заполнения. Проверим программно, все ли склады заполнены корректно:


Выборка = Справочники.Склады.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Не ЗначениеЗаполнено(Выборка.ТипСклада) Тогда
        Сообщить("Внимание! У склада '" + Выборка.Наименование + "' не заполнен тип склада! Исправьте перед переносом.");
    КонецЕсли;
КонецЦикла;

Закрытие налогового и отчетного периода: Все регламентные операции по закрытию месяцев в БП 2.0 должны быть полностью завершены. После переноса остатков в БП 3.0 прошлые периоды перепроводить строго запрещено. Различия в алгоритмах проведения документов в редакциях 2.0 и 3.0 гарантированно приведут к изменению копеек и искажению отчетности.

5. Перенос доработок в расширения БП 3.0

После успешного переноса остатков и номенклатуры перед нами встает вопрос: как вернуть тот полезный нетиповой функционал, который был в БП 2.0, но теперь нужен в БП 3.0? Решать эту задачу в БП 3.0 нужно исключительно с помощью механизмов расширения конфигурации.

Расширения конфигурации (доступны через меню Администрирование -> Печатные формы, отчеты и обработки -> Расширения) позволяют добавлять новые реквизиты, документы, отчеты и изменять логику проведения документов, не снимая основную конфигурацию с поддержки поставщика. Благодаря этому ваша база БП 3.0 будет оставаться на 100% типовой, что позволит обновлять ее в будущем одной кнопкой в автоматическом режиме.

6. Чек-лист проверки после переноса данных

Сразу после завершения переноса и первого запуска БП 3.0 проведем обязательную сверку данных:

Следуя этой методике, мы минимизируем риски сбоя системы, сохраним все важные данные учета номенклатуры и получим чистую, обновляемую базу БП 3.0, готовую к долгосрочной работе.

← На главную