Перенос товарных остатков между базами 1С: рабочие способы

· 10 мин

Содержание

Переход на новую базу или чистку старой почти всегда упирается в один вопрос: как перенести остатки, чтобы не вбивать несколько тысяч строк номенклатуры руками. Скопировать остатки в 1С напрямую «из базы в базу» одной кнопкой нельзя — данные сначала выгружают из источника, потом загружают в приёмник и закрепляют документом.

Ниже — четыре рабочих способа переноса остатков между базами 1С 8.3: через Excel и табличный документ, через обработку загрузки, через универсальный обмен XML и через ввод остатков вручную. Выбор зависит от того, одинаковые у вас конфигурации или разные, и сколько позиций нужно перенести.

Самый практичный маршрут для товарных остатков: выгрузить ведомость в Excel → загрузить номенклатуру и количества в документ оприходования/ввода остатков. Он работает между любыми конфигурациями.

Что перенести и в каком виде выгружать

Под «остатками» в 1С понимают разные вещи, и способ переноса зависит от того, что именно нужно.

  • 📦 Товарные остатки — количество и суммы по номенклатуре на складах (регистр «Товары на складах», счёт 41). Это самый частый случай.
  • 💰 Остатки по счетам учёта — сальдо по 51, 60, 62, 76 и другим. Переносятся документом ввода остатков по данным оборотно-сальдовой ведомости.
  • 📋 Справочники — номенклатура, контрагенты, склады. Их переносят первыми, потому что без заполненных справочников остатки загружать некуда.

Порядок всегда один: сначала справочники, затем остатки. Если грузить остатки в пустую базу, строки с незнакомой номенклатурой либо не загрузятся, либо создадут дубли.

Источником данных для выгрузки служит отчёт. Для товаров удобнее всего отчёт «Остатки товаров» или оборотно-сальдовая ведомость по счёту 41 с настройкой по номенклатуре и складам. Для денег и расчётов — ОСВ по нужному счёту с нужной аналитикой.

Перед любой выгрузкой и тем более загрузкой данных сделайте резервную копию базы-приёмника. Неудачная загрузка может наплодить дубли справочников, а откатить её без копии трудно.

Подготовка: сверяем конфигурации и даты

Два момента решают, какой способ вообще доступен.

Одинаковые конфигурации или разные. Если источник и приёмник — одна и та же конфигурация одной версии (например, обе «Бухгалтерия предприятия 3.0»), доступен универсальный обмен XML: он переносит объекты по внутренним идентификаторам. Если конфигурации разные (из «Управления торговлей» в «Бухгалтерию»), остаётся выгрузка в таблицу и загрузка по полям.

Дата ввода остатков. Остатки вводятся на конкретную дату — обычно это последний день месяца перед началом учёта в новой базе. Все документы приёмника должны идти уже после этой даты, иначе остатки задвоятся с движениями.

Полезно заранее свериться по контрольным суммам: запишите итог по количеству и по сумме из отчёта источника. После загрузки сравните те же цифры в приёмнике — это первая проверка, что перенос прошёл без потерь.

Перед переносом остатков
Выполнено: 0 / 5

Способ 1. Выгрузка остатков в Excel или табличный документ

Это универсальный путь: подходит между любыми конфигурациями и не требует программиста.

  1. Откройте отчёт с остатками: для товаров — «Остатки товаров» или оборотно-сальдовую ведомость по счёту 41. Настройте группировку по номенклатуре и складам, уберите лишние колонки, оставьте номенклатуру, склад, количество и сумму.
  2. Сформируйте отчёт на дату ввода остатков.
  3. Выгрузите результат в файл. В сформированном отчёте используйте команду сохранения (Ещё → Сохранить как… или кнопка сохранения в командной панели отчёта) и выберите формат «Лист Microsoft Excel» (.xlsx) или «Табличный документ (.mxl)».

Второй вариант источника — выгрузить сам список. В любом списке (например, в списке номенклатуры) команда Ещё → Вывести список… формирует табличный документ, который тоже сохраняется в Excel. Но список даёт только справочник без количеств, поэтому для остатков берите именно отчёт с цифрами.

Полученный файл приведите к простому виду: один лист, шапка с названиями колонок, дальше строки данных без промежуточных итогов и группировок. Такой файл загружается без ручной чистки.

На что обратить внимание в файле перед загрузкой:

  • колонка с номенклатурой должна содержать то, по чему приёмник будет искать позицию, — полное наименование или артикул, одинаково записанные в обеих базах;
  • числовые колонки (количество, сумма) не должны содержать текста, пробелов-разделителей разрядов и объединённых ячеек;
  • одна строка файла — одна позиция остатка; свёрнутые по группам строки обработка воспримет как отдельную номенклатуру.

Чем аккуратнее подготовлен файл, тем меньше ручной работы после загрузки.

Если в отчёте номенклатура выводится с группами и подытогами, в настройках отчёта смените вид на линейный список без группировки — тогда в Excel не придётся удалять строки-заголовки групп.

Способ 2. Загрузка остатков обработкой из табличного документа

Готовый файл Excel загружают в 1С внешней обработкой «Загрузка данных из табличного документа» — это типовая обработка фирмы 1С, она распространяется через ИТС и грузит данные в справочники и в табличные части документов.

Порядок работы:

  1. В режиме «1С:Предприятие» откройте обработку через Файл → Открыть… и выберите файл обработки (расширение .epf).
  2. Укажите, куда грузим: в справочник (например, «Номенклатура») или в документ (например, в табличную часть документа оприходования/ввода остатков).
  3. Загрузите исходный файл Excel в табличное поле обработки.
  4. Сопоставьте колонки файла с реквизитами объекта 1С: колонка «Номенклатура» → реквизит «Номенклатура», «Количество» → «Количество» и так далее. Для поиска номенклатуры по наименованию или артикулу настройте колонку поиска, чтобы обработка подставляла существующие элементы, а не создавала дубли.
  5. Запустите загрузку. Обработка создаст или заполнит объекты по строкам файла.

Удобнее грузить не напрямую в справочник, а в табличную часть документа: сначала переносите справочник номенклатуры, затем отдельным проходом грузите количества в документ оприходования. Тогда остатки сразу попадут в регистры учёта после проведения.

Диагностика: выберите симптом

Способ 3. Универсальный обмен данными в формате XML

Если источник и приёмник — идентичные конфигурации (одна и та же, одной редакции), подойдёт обработка «Выгрузка загрузка данных XML». Она переносит объекты по внутренним идентификаторам (GUID), поэтому ссылки между объектами не рвутся: перенесённые документы ссылаются на ту же номенклатуру и тех же контрагентов.

  1. В базе-источнике откройте обработку через Файл → Открыть….
  2. На вкладке выгрузки отметьте типы объектов: справочники и, при необходимости, документы ввода остатков.
  3. Задайте отбор по периоду или по конкретным объектам, чтобы не тащить всю базу.
  4. Выгрузите данные в файл .xml.
  5. В базе-приёмнике откройте ту же обработку и загрузите полученный файл.

Способ хорош тем, что переносит остатки вместе со всей аналитикой и не создаёт дублей в идентичных базах. Но он требует полного совпадения конфигураций: если версии разошлись или одна из баз доработана, выгрузка может не загрузиться.

Для регулярного переноса между типовыми базами вместо разовой обработки включают штатную синхронизацию данных: Администрирование → Синхронизация данных. Она настраивается один раз и переносит документы по расписанию, но для разового переноса остатков это избыточно.

Если перенос остатков нужно повторять регулярно (например, каждый месяц собирать остатки филиалов в одну базу), разовые обработки заменяют на автоматизированный обмен. Варианты по возрастанию сложности:

  • ⚙️ Штатная синхронизация между типовыми конфигурациями — настраивается без программиста, работает по расписанию через регламентное задание.
  • ⚙️ Правила обмена в «Конвертации данных» — когда конфигурации разные и нужно задать соответствие объектов вручную. Требует специалиста, зато переносит данные между непохожими базами.
  • ⚙️ Собственная внешняя обработка — крайний случай, когда штатных средств не хватает; её пишет программист 1С под конкретную задачу.

Для разового переноса остатков при переходе на новую базу хватает способов 1–4: автоматизацию настраивают только под повторяющийся обмен.

Способ 4. Ввод остатков документом вручную

Когда позиций немного (несколько десятков) или переносятся денежные сальдо, остатки проще ввести документом, чем настраивать обработку.

В «Бухгалтерии предприятия 3.0» для этого есть помощник: Главное → Начальные остатки → Помощник ввода начальных остатков. В нём:

  1. Укажите дату ввода остатков.
  2. Выберите счёт учёта (41 для товаров, 51 для расчётного счёта и так далее).
  3. Заполните строки — номенклатуру, склад, количество, сумму или сальдо по счёту.
  4. Проведите документ.

Помощник формирует движения по вспомогательному счёту 000, поэтому после ввода всех остатков оборотно-сальдовая ведомость по счёту 000 должна сойтись в ноль. Это встроенная проверка корректности: если по счёту 000 остался остаток, значит часть сальдо введена не полностью или с ошибкой в сумме.

Ручной ввод можно ускорить: загрузите номенклатуру и количества в табличную часть документа ввода остатков способом из второго раздела, а дату и проведение сделайте вручную. Так вы соединяете скорость загрузки с контролем помощника.

Почему остатки не копируют напрямую через SQL

Соблазн «залезть в SQL-базу и переписать остатки запросом» возникает у тех, кто видел таблицы 1С в SQL Server. Делать так не стоит.

Структура таблиц 1С недокументирована, имена таблиц и полей (вида _Reference123, _Fld456) меняются при реструктуризации конфигурации и не предназначены для прямой записи. Запись в них напрямую:

  • 🚫 нарушает целостность данных — итоги в регистрах считаются отдельно и не обновятся;
  • 🚫 не поддерживается фирмой 1С и ломается при первом же обновлении конфигурации;
  • 🚫 оставляет базу в состоянии, которое не лечится штатными средствами.

Прямой доступ к SQL уместен только для чтения — например, для построения внешней аналитики. Для этого в 1С есть штатный механизм внешних источников данных, который читает чужие таблицы без вмешательства в учёт. А вот записывать остатки нужно только через объекты 1С: документы и обработки, описанные выше.

Единственный «прямой» способ скопировать всю базу целиком — выгрузка в файл .dt (Конфигуратор → Администрирование → Выгрузить информационную базу) и загрузка в новую. Но это копия всей базы, а не остатков: конфигурация и все данные переносятся как есть, выборочный перенос остатков так не делается.

Как проверить, что остатки перенеслись верно

После загрузки сверьте источник и приёмник — одной загрузки без проверки недостаточно.

Что сверяемГде смотретьПризнак ошибки
Итог по количествуОтчёт «Остатки товаров» на дату вводаРасхождение с контрольным итогом источника
Итог по суммеТа же ведомость, колонка суммыКоличество сошлось, а сумма — нет
Счёт 000 (при вводе документом)ОСВ по счёту 000Остаток не равен нулю
Дубли номенклатурыСписок номенклатуры, сортировка по наименованиюДве одинаковые позиции

Сверяйте именно те контрольные итоги, что записали до переноса. Если количество сошлось, а сумма разошлась — проблема в колонке суммы или в цене. Если не сходится количество — часть строк не загрузилась из-за группировок в файле.

Частые вопросы

Можно ли перенести остатки из «Управления торговлей» в «Бухгалтерию»?
Да, но только через выгрузку в таблицу и загрузку по полям — конфигурации разные, обмен XML между ними не работает. Выгрузите остатки из УТ в Excel, затем загрузите в документ ввода остатков в бухгалтерии. Либо настройте штатную синхронизацию УТ ↔ БП, если нужен регулярный обмен.
Как перенести остатки без дублей номенклатуры?
При загрузке из табличного документа обязательно настройте колонку поиска — по наименованию или артикулу. Тогда обработка подставит существующие элементы справочника, а не создаст новые. Между идентичными базами дублей не будет при переносе через XML, потому что объекты сопоставляются по идентификатору.
На какую дату вводить остатки?
На последний день периода перед началом учёта в новой базе — обычно конец месяца. Все документы новой базы должны идти строго после этой даты, иначе остатки задвоятся с оборотами.
Почему после ввода остатков не сходится счёт 000?
Помощник ввода начальных остатков заводит корреспонденцию через вспомогательный счёт 000. Если по нему остался остаток, значит сальдо по какому-то счёту введено не полностью или с ошибкой в сумме. Найдите счёт с незакрытым остатком по ОСВ и исправьте.
Нужна ли резервная копия, если гружу в пустую базу?
Да. Неудачная загрузка в пустую базу тоже оставляет мусор — дубли и частично созданные объекты. С копией вы просто восстановите чистое состояние и повторите загрузку, без копии придётся вычищать вручную.