Перенос данных в новую базу 1С — это сложный процесс: нужно не только сохранить начальные остатки и справочники, но и перенести сами документы без потери истории. Компания MoscowSoft предлагает готовые решения для миграции на базе «Конвертация данных 2», которые позволяют выгрузить не только остатки и справочники, но и документы из старой базы 1С. Это упрощает начало ведения учёта в новой системе без ручной доработки. Однако после загрузки документов в приёмник все они вначале записываются (то есть попадают в базу, но не проведены). Чтобы избежать самостоятельного «дорихтовывания» учёта, специалисты MoscowSoft разработали специальный алгоритм итеративного проведения документов.
Особенности переносов данных компании MoscowSoft
MoscowSoft специализируется на переносах данных 1С с 2015 года и является официальным партнёром 1С. Наши решения реализованы на платформе «Конвертация данных» (CD2) и позволяют гибко выгружать любые объекты с фильтрами по организациям, датам и т.д. В отличие от типовой обработки от фирмы 1С, наши разработки гарантируют перенос всех необходимых данных: начальных остатков, документов за указанный период и полной нормативно-справочной информации. Например, готовое правило переноса из 1С:УНФ в 1С:КА 2 позволяет перенести остатки на начало периода, документы и НСИ из базы источника. Благодаря этому после миграции в новой базе не останется «исходящих» документов – можно сразу переходить к учёту без дополнительных правок.
Ключевая особенность наших переносов – последовательное проведение документов. При выгрузке мы заранее определяем, какие документы нужно провести, и формируем специальную таблицу ссылок на них. В неё попадают все документы со ссылками на проведённые записи старой базы, дата которых не раньше даты начальных остатков. Это позволяет учитывать только актуальные документы, относящиеся к текущему учётному периоду. Далее после загрузки запускается собственно алгоритм проведения в несколько этапов – для соблюдения бизнес-логики и порядка зависимостей между документами.
Построение таблицы и итерации проведения документов
Алгоритм проведения документов можно разбить на следующие основные этапы:
- Формирование списка документов к проведению. Во время загрузки данных (в модуле конвертации, например в обработчике ПослеЗаписи) мы проверяем каждый загруженный объект: если это документ и он был проведён в исходной базе, то добавляем его в нашу таблицу. Таким образом, в таблицу попадают все проведённые документы с указанием даты. После завершения загрузки этот список сортируется по дате документа по возрастанию – это критично для корректного проведения. Как подчёркивается в документации, после записи формируется таблица всех документов и уже после записи выполняется алгоритм, и документы обязательно проводятся в хронологическом порядке.
- Первая итерация – заказы. После загрузки мы проводим первые документы – это заказы клиентов и заказы поставщикам, и делаем это строго по хронологическому порядку. То есть сначала самый ранний заказ, затем следующий и т.д. Это особенно важно в конфигурациях вроде «Управление торговлей», «Комплексная автоматизация» или «ERP»: когда документ реализации или поступления связан с заказом, каждому товару нужно присвоить правильный код номенклатуры из заказа. Если заказ не проведён, то система не сможет найти эту связь, и строки будут считаться «сверх заказа». Проведение заказов на первом этапе обеспечивает корректность дальнейших документов, созданных на их основании.
- Вторая итерация – остальные документы. Далее проводятся все прочие документы, кроме счетов-фактур. Сюда входят, например, реализации, поступления, акты списания/прихода, разные движения по регистрам (кроме начисления НДС в счетах-фактурах) и т.д. Опять же, они проводятся в порядке возрастания даты. На этом этапе мы гарантируем, что вся хозяйственная операция в учёте отражена: поступили товары, сформированы реализации и т.п. – но пока без проведения счетов-фактур.
- Третья итерация – счета-фактуры. И в последнюю очередь отдельной группой проводятся счета-фактуры выданные и полученные. Это сделано намеренно: зачастую в базах 1С счет-фактура создаётся со временем, совпадающим (до секунды) со временем документа-основания (реализации или поступления). При простом хронологическом порядке может случайно оказаться, что счет-фактура в таблице стоит чуть раньше своего основания – и тогда стандартное проведение в 1С выдаст ошибку (“Не найден документ-основание”). Чтобы этого избежать, мы откладываем счета-фактуры до тех пор, пока все основные документы не будут проведены. В результате на третьем этапе, когда всё остальное уже проведено, мы спокойно «догоняем» счета-фактуры – теперь их основания есть в базе, и проведение пройдёт без ошибок.
Итеративную схему удобно визуализировать в табличном виде:
| Итерация | Проводимые документы | Порядок |
|---|---|---|
| 1 | Заказы клиентов и поставщиков | Хронологический |
| 2 | Все остальные документы (реализации, поступления, акты и т.д., кроме счетов-фактуры) | Хронологический |
| 3 | Счета-фактуры (выданные и полученные) | Хронологический после всех прочих |
Код выше показывает основной принцип: перебираем все ссылки на документы из нашей таблицы, восстанавливаем объекты документов и вызываем метод Записать(РежимЗаписиДокумента.Проведение). Таким образом каждый документ получает статус проведённого, и система автоматически формирует проводки.
Почему заказы клиентов проводим в первую очередь
Главный повод проводить заказы клиентов (и аналогично заказы поставщикам) сразу после загрузки – это обеспечить правильную привязку кода номенклатуры и строк из заказов. В 1С конфигураций УТ, КА, ERP часто реализация товара или получение требуют взять конкретный код номенклатуры из заказа-основания. Если заказ не проведён, система не сможет «увидеть» эти строки, и тогда товарная операция будет записана как «сверх заказа», нарушив целостность данных. Поэтому первым делом фиксируем все заказы: сначала проводим заказы клиентов, затем заказы поставщикам, строго по их датам. Это гарантирует, что последующие документы реализации «увязываются» на уже проведённые заказы.
Важность проведения счетов-фактур после реализаций
Отдельно стоит пояснить процедуру проведения счетов-фактур, поскольку именно здесь редко совершаются ошибки при ручном переносе. Проблема в том, что при простом хронологическом порядке счет-фактура может попасть в список проведения чуть раньше своего документа-основания (реализации или поступления), если в обоих стоит одинаковая дата и время. В этом случае, даже имея одинаковую дату, при попытке провести счет-фактуру 1С выдаст ошибку: «Не найден документ-основание». Чтобы этого избежать, в нашем алгоритме счета-фактуры проводятся отдельно после всех остальных документов. Как формулируют специалисты MoscowSoft: «уже когда все основные документы проведены, мы запускаем проведение счетов-фактур». Такая схема гарантирует, что у каждого счета-фактуры уже есть проведённое основание, и этап проведения проходит гладко.
Заключение и рекомендации
Итак, при переносе данных 1С ключевым моментом является правильная последовательность проведения документов. Предложенный алгоритм MoscowSoft с разбивкой на три итерации (1. заказы → 2. остальные документы → 3. счета-фактуры) обеспечивает целостность учёта и избавляет от ошибок. Этот подход доказал свою эффективность на практике и почти всегда помогает избежать несовпадений проводок и «битых» ссылок.
В заключение отметим: использование готового решения позволяет ускорить переход на новую систему, поскольку не придётся тратить время на доработку документов вручную. Алгоритм проведения гарантирует, что приёмник «научится» учёту с того момента, на котором остановилась старая база, со всеми проведёнными операциями. Если вам нужна помощь с переносом данных или вы хотите подобрать подходящий вариант миграции для вашей конфигурации, вы всегда можете воспользоваться инструментом подбора на сайте MoscowSoft.
Подобрать перенос данных 1С >>
Не забудьте подписаться на блог и нашу рассылку – мы регулярно публикуем инструкции и советы по разработке 1С, интеграции и другим актуальным темам. Задавайте вопросы нашей команде, и мы поможем сделать переход на новую платформу 1С максимально гладким!














































