Переход со старых платформ на современные решения от компании 1С — это всегда серьезный вызов для бизнеса и ИТ-специалистов. В этой статье мы подробно разберем процесс миграции данных из конфигурации «1С:Торговля и Склад 7.7» (ТиС) в «1С:Управление торговлей 11.4» (УТ). Мы проанализируем ситуацию, выясним причины возможных сбоев, рассмотрим типичные ошибки в учете «семерки» и пошагово подготовим базу к успешному старту в новой системе.
Когда перед нами стоит задача сделать «типовой» переход с помощью стандартной обработки Tr9_2_Tr11.ert, часто возникает иллюзия, что весь процесс займет пару дней. На практике это не так. Сам технический запуск выгрузки и загрузки данных действительно может пройти быстро. Однако основное время всегда уходит на два ключевых этапа:
Поэтому реальный срок проекта перехода обычно составляет от нескольких недель до месяца, включая тестовые итерации выгрузки.
Перед тем как запустить обработку конвертации, проанализируем состояние учета в исходной базе. Опытные специалисты выделяют следующий список «классических» проблем в базах 1С 7.7, из-за которых стандартные правила переноса могут отработать некорректно или выдать критические ошибки:
ОстаткиТМЦ и ПартииНаличие. Если партии не сходятся с общим количеством товара, себестоимость в УТ 11 улетит с огромными искажениями.Чтобы минимизировать проблемы при загрузке данных в УТ 11.4, выполним обязательный комплекс регламентных процедур на стороне источника. Разберем этот процесс по шагам:
Шаг 1: Тестирование и исправление (ТиИ)
Запускаем конфигуратор 1С 7.7, переходим в меню «Администрирование» — «Тестирование и исправление БД». Обязательно отмечаем пункты проверки ссылочной целостности и пересчета итогов. Это позволит устранить физические повреждения таблиц базы данных и избавиться от «битых» объектов.
Шаг 2: Восстановление последовательности документов
Для того чтобы остатки и партии на дату переноса рассчитались правильно, необходимо восстановить границу последовательности проведения документов. Если этого не сделать, выгруженные остатки будут неактуальными.
Шаг 3: Очистка дублей и помеченных на удаление объектов
Рекомендуется запустить обработку поиска и замены дублирующихся контрагентов и номенклатуры. Все объекты, помеченные на удаление, должны быть физически удалены из базы через монопольный режим, чтобы они не переносились в новую систему и не создавали там хаос.
Шаг 4: Ручное исправление отрицательных остатков
Все отрицательные балансы по складам, кассам и банковским счетам должны быть закрыты инвентаризацией или корректирующими документами на стороне 7.7 еще до начала миграции.
Рассмотрим подробнее сам процесс выгрузки. Стандартные правила Tr9_2_Tr11.ert разработаны на базе технологии «Конвертация данных 2» (КД 2). При работе с ними важно учитывать несколько технических моментов.
Вместо того чтобы пытаться выгрузить всё за один раз, мы рекомендуем разделить процесс на два независимых этапа:
Попытка перенести исторические документы (накладные, заказы, платежки) за прошлые годы с помощью стандартных правил практически всегда заканчивается неудачей. Бизнес-логика работы с документами в 1С 7.7 и 1С 8.3 отличается кардинально. Например, концепция разделения «Партнеров» (управленческий учет) и «Контрагентов» (регламентированный учет) в УТ 11 просто отсутствует в ТиС 7.7. Попытка автоматического проведения старых документов в новой базе порождает лавину ошибок. Настоятельно рекомендуем переносить только НСИ и остатки, а старую базу ТиС 7.7 оставить в режиме «только для чтения» для обращения к истории продаж.
При использовании штатного помощника перехода в УТ 11 часто возникают ошибки синтаксического анализа XML. Выясним их причину и способы устранения:
Ошибка: «Тип не определен (РегистрСведенийЗапись.ФИОФизическихЛиц)»
Эта ошибка связана с тем, что структура регистров сведений в современных версиях УТ 11 (особенно в релизах 11.4 и 11.5) изменилась по сравнению с той, под которую писались старые правила конвертации. Решить проблему можно двумя путями:
Ошибка синтаксического анализа XML (метод мЧтениеXML.Спуститься())
Часто возникает из-за наличия в наименованиях номенклатуры или контрагентов спецсимволов (недопустимых знаков разметки XML), скопированных пользователями из текстовых редакторов или сайтов. Для устранения ошибки необходимо обновить или переустановить парсер msxml на компьютере, где выполняется перенос, а также запустить обработку поиска некорректных символов в наименованиях базы 7.7.
Если исходная база ТиС 7.7 сильно доработана, содержит уникальные регистры и реквизиты, стандартные правила КД2 могут не подойти. В таком случае программисту целесообразно написать собственную обработку на стороне 1С 8.3, которая будет подключаться к базе 7.7 через COM-соединение (OLE) и напрямую считывать данные.
Пример программного подключения к базе 7.7 из УТ 11:
// Создаем COM-соединение с базой 1С 7.7
ПутьКБазе = "C:\DB\Trade77\";
Пользователь = "Администратор";
Пароль = "12345";
V77 = Новый COMОбъект("V7.Application");
ОткрытиеБазы = V77.Initialize(V77.RMTrade, "/D""" + ПутьКБазе + """ /N""" + Пользователь + """ /P""" + Пароль + """", "NO_SPLASH_SHOW");
Если Не ОткрытиеБазы Тогда
Предупреждение("Не удалось подключиться к базе 1С:Предприятие 7.7!");
Возврат;
КонецЕсли;
// Пример выборки элементов справочника Номенклатура
СпрНоменклатура = V77.CreateObject("Справочник.Номенклатура");
Если СпрНоменклатура.ВыбратьЭлементы() = 1 Тогда
Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл
Наименование = СпрНоменклатура.Наименование;
Код = СпрНоменклатура.Код;
// Здесь пишем логику создания элемента в новой базе УТ 11
КонецЦикла;
КонецЕсли;
Такой подход требует больше времени на написание кода, но дает разработчику стопроцентный контроль над процессом переноса, позволяя «на лету» исправлять логику сопоставления объектов и очищать данные от мусора.
Успешный переход с ТИС 7.7 на УТ 11.4 вполне реален. Для этого важно отказаться от идеи «быстрого старта за 1 день», уделить максимум внимания наведению порядка в исходных данных 7.7 и переносить исключительно справочники и остатки, избегая переноса старых документов.