Переход с устаревшей редакции 1С:Бухгалтерия предприятия 2.0 на современную версию 3.0 — это стандартная задача, которая, однако, сильно осложняется, если исходная конфигурация была доработана («снята с поддержки»). Прямое обновление измененной базы в лоб через конфигуратор часто приводит к потере данных, нарушению логики проведения документов и проблемам с последующими обновлениями.
В этой статье мы подробно разберем, как выполнить перенос справочника номенклатуры и остатков из нетиповой БП 2.0 в чистую БП 3.0, проанализируем скрытые риски различных подходов и выберем наиболее безопасный и технологичный алгоритм решения задачи.
На первый взгляд самым простым решением кажется обычное обновление измененной базы БП 2.0 до версии БП 3.0 через конфигуратор с игнорированием нетиповых изменений. Однако у этого пути есть критические подводные камни:
Поэтому рассмотрим два наиболее надежных сценария, которые гарантируют сохранность данных.
Этот метод считается наиболее правильным, если вы хотите сохранить историю справочников, но очистить базу от устаревшего нетипового кода и документов прошлых лет. Свертка преобразует все остатки в типовые документы, что позволяет безболезненно удалить нетиповые метаданные.
Разберем этот процесс по шагам:
Сервис -> Свертка информационной базы. Задаем дату свертки (например, 31 декабря предыдущего года).ВводНачальныхОстатков по всем бухгалтерским счетам и регистрам на указанную дату. При этом все движения, созданные ранее вашими нетиповыми документами, превратятся в стандартные проводки документов ввода остатков.ВводНачальныхОстатков, мы стандартно обновляем через конфигуратор специальным дистрибутивом перехода на БП 3.0.Если вы хотите получить абсолютно чистую БП 3.0 без какого-либо «мусора» в конфигурации и перенести туда только справочники и остатки, воспользуемся механизмом переноса данных через XML.
Выясним, где взять правила и как выполнить выгрузку:
Операции -> Справочники -> Конвертации из информационных баз предыдущих версий.УниверсальныйОбменДаннымиXML. Загружаем полученные правила, указываем дату, на которую хотим перенести остатки, выбираем выгрузку справочника Номенклатура и документов остатков, после чего выгружаем данные в файл.Администрирование -> Перенос данных из информационных баз 1С:Бухгалтерии 8 и загружаем наш XML-файл.Если структура вашей конфигурации БП 2.0 была изменена настолько сильно, что стандартные правила вызывают ошибки, нам потребуется использовать инструмент 1С:Конвертация данных 2.1. В этой программе мы сможем настроить правила сопоставления полей, например, сопоставить реквизиты старого справочника номенклатуры с новыми реквизитами в БП 3.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 гарантированно приведут к изменению копеек и искажению отчетности.
После успешного переноса остатков и номенклатуры перед нами встает вопрос: как вернуть тот полезный нетиповой функционал, который был в БП 2.0, но теперь нужен в БП 3.0? Решать эту задачу в БП 3.0 нужно исключительно с помощью механизмов расширения конфигурации.
Расширения конфигурации (доступны через меню Администрирование -> Печатные формы, отчеты и обработки -> Расширения) позволяют добавлять новые реквизиты, документы, отчеты и изменять логику проведения документов, не снимая основную конфигурацию с поддержки поставщика. Благодаря этому ваша база БП 3.0 будет оставаться на 100% типовой, что позволит обновлять ее в будущем одной кнопкой в автоматическом режиме.
Сразу после завершения переноса и первого запуска БП 3.0 проведем обязательную сверку данных:
10, 41, 43 (количественный и суммовой учет номенклатуры) и счетам взаиморасчетов с контрагентами (60, 62).ВводНачальныхОстатков успешно проведены и не содержат незаполненных субконто.Следуя этой методике, мы минимизируем риски сбоя системы, сохраним все важные данные учета номенклатуры и получим чистую, обновляемую базу БП 3.0, готовую к долгосрочной работе.