Перенос товарных остатков между базами 1С: рабочие способы
Содержание
Переход на новую базу или чистку старой почти всегда упирается в один вопрос: как перенести остатки, чтобы не вбивать несколько тысяч строк номенклатуры руками. Скопировать остатки в 1С напрямую «из базы в базу» одной кнопкой нельзя — данные сначала выгружают из источника, потом загружают в приёмник и закрепляют документом.
Ниже — четыре рабочих способа переноса остатков между базами 1С 8.3: через Excel и табличный документ, через обработку загрузки, через универсальный обмен XML и через ввод остатков вручную. Выбор зависит от того, одинаковые у вас конфигурации или разные, и сколько позиций нужно перенести.
Самый практичный маршрут для товарных остатков: выгрузить ведомость в Excel → загрузить номенклатуру и количества в документ оприходования/ввода остатков. Он работает между любыми конфигурациями.
Что перенести и в каком виде выгружать
Под «остатками» в 1С понимают разные вещи, и способ переноса зависит от того, что именно нужно.
- 📦 Товарные остатки — количество и суммы по номенклатуре на складах (регистр «Товары на складах», счёт
41). Это самый частый случай. - 💰 Остатки по счетам учёта — сальдо по
51,60,62,76и другим. Переносятся документом ввода остатков по данным оборотно-сальдовой ведомости. - 📋 Справочники — номенклатура, контрагенты, склады. Их переносят первыми, потому что без заполненных справочников остатки загружать некуда.
Порядок всегда один: сначала справочники, затем остатки. Если грузить остатки в пустую базу, строки с незнакомой номенклатурой либо не загрузятся, либо создадут дубли.
Источником данных для выгрузки служит отчёт. Для товаров удобнее всего отчёт «Остатки товаров» или оборотно-сальдовая ведомость по счёту 41 с настройкой по номенклатуре и складам. Для денег и расчётов — ОСВ по нужному счёту с нужной аналитикой.
Перед любой выгрузкой и тем более загрузкой данных сделайте резервную копию базы-приёмника. Неудачная загрузка может наплодить дубли справочников, а откатить её без копии трудно.
Подготовка: сверяем конфигурации и даты
Два момента решают, какой способ вообще доступен.
Одинаковые конфигурации или разные. Если источник и приёмник — одна и та же конфигурация одной версии (например, обе «Бухгалтерия предприятия 3.0»), доступен универсальный обмен XML: он переносит объекты по внутренним идентификаторам. Если конфигурации разные (из «Управления торговлей» в «Бухгалтерию»), остаётся выгрузка в таблицу и загрузка по полям.
Дата ввода остатков. Остатки вводятся на конкретную дату — обычно это последний день месяца перед началом учёта в новой базе. Все документы приёмника должны идти уже после этой даты, иначе остатки задвоятся с движениями.
Полезно заранее свериться по контрольным суммам: запишите итог по количеству и по сумме из отчёта источника. После загрузки сравните те же цифры в приёмнике — это первая проверка, что перенос прошёл без потерь.
Способ 1. Выгрузка остатков в Excel или табличный документ
Это универсальный путь: подходит между любыми конфигурациями и не требует программиста.
- Откройте отчёт с остатками: для товаров — «Остатки товаров» или оборотно-сальдовую ведомость по счёту
41. Настройте группировку по номенклатуре и складам, уберите лишние колонки, оставьте номенклатуру, склад, количество и сумму. - Сформируйте отчёт на дату ввода остатков.
- Выгрузите результат в файл. В сформированном отчёте используйте команду сохранения (
Ещё → Сохранить как…или кнопка сохранения в командной панели отчёта) и выберите формат «Лист Microsoft Excel» (.xlsx) или «Табличный документ (.mxl)».
Второй вариант источника — выгрузить сам список. В любом списке (например, в списке номенклатуры) команда Ещё → Вывести список… формирует табличный документ, который тоже сохраняется в Excel. Но список даёт только справочник без количеств, поэтому для остатков берите именно отчёт с цифрами.
Полученный файл приведите к простому виду: один лист, шапка с названиями колонок, дальше строки данных без промежуточных итогов и группировок. Такой файл загружается без ручной чистки.
На что обратить внимание в файле перед загрузкой:
- колонка с номенклатурой должна содержать то, по чему приёмник будет искать позицию, — полное наименование или артикул, одинаково записанные в обеих базах;
- числовые колонки (количество, сумма) не должны содержать текста, пробелов-разделителей разрядов и объединённых ячеек;
- одна строка файла — одна позиция остатка; свёрнутые по группам строки обработка воспримет как отдельную номенклатуру.
Чем аккуратнее подготовлен файл, тем меньше ручной работы после загрузки.
Если в отчёте номенклатура выводится с группами и подытогами, в настройках отчёта смените вид на линейный список без группировки — тогда в Excel не придётся удалять строки-заголовки групп.
Способ 2. Загрузка остатков обработкой из табличного документа
Готовый файл Excel загружают в 1С внешней обработкой «Загрузка данных из табличного документа» — это типовая обработка фирмы 1С, она распространяется через ИТС и грузит данные в справочники и в табличные части документов.
Порядок работы:
- В режиме «1С:Предприятие» откройте обработку через
Файл → Открыть…и выберите файл обработки (расширение.epf). - Укажите, куда грузим: в справочник (например, «Номенклатура») или в документ (например, в табличную часть документа оприходования/ввода остатков).
- Загрузите исходный файл Excel в табличное поле обработки.
- Сопоставьте колонки файла с реквизитами объекта 1С: колонка «Номенклатура» → реквизит «Номенклатура», «Количество» → «Количество» и так далее. Для поиска номенклатуры по наименованию или артикулу настройте колонку поиска, чтобы обработка подставляла существующие элементы, а не создавала дубли.
- Запустите загрузку. Обработка создаст или заполнит объекты по строкам файла.
Удобнее грузить не напрямую в справочник, а в табличную часть документа: сначала переносите справочник номенклатуры, затем отдельным проходом грузите количества в документ оприходования. Тогда остатки сразу попадут в регистры учёта после проведения.
Способ 3. Универсальный обмен данными в формате XML
Если источник и приёмник — идентичные конфигурации (одна и та же, одной редакции), подойдёт обработка «Выгрузка загрузка данных XML». Она переносит объекты по внутренним идентификаторам (GUID), поэтому ссылки между объектами не рвутся: перенесённые документы ссылаются на ту же номенклатуру и тех же контрагентов.
- В базе-источнике откройте обработку через
Файл → Открыть…. - На вкладке выгрузки отметьте типы объектов: справочники и, при необходимости, документы ввода остатков.
- Задайте отбор по периоду или по конкретным объектам, чтобы не тащить всю базу.
- Выгрузите данные в файл
.xml. - В базе-приёмнике откройте ту же обработку и загрузите полученный файл.
Способ хорош тем, что переносит остатки вместе со всей аналитикой и не создаёт дублей в идентичных базах. Но он требует полного совпадения конфигураций: если версии разошлись или одна из баз доработана, выгрузка может не загрузиться.
Для регулярного переноса между типовыми базами вместо разовой обработки включают штатную синхронизацию данных: Администрирование → Синхронизация данных. Она настраивается один раз и переносит документы по расписанию, но для разового переноса остатков это избыточно.
Если перенос остатков нужно повторять регулярно (например, каждый месяц собирать остатки филиалов в одну базу), разовые обработки заменяют на автоматизированный обмен. Варианты по возрастанию сложности:
- ⚙️ Штатная синхронизация между типовыми конфигурациями — настраивается без программиста, работает по расписанию через регламентное задание.
- ⚙️ Правила обмена в «Конвертации данных» — когда конфигурации разные и нужно задать соответствие объектов вручную. Требует специалиста, зато переносит данные между непохожими базами.
- ⚙️ Собственная внешняя обработка — крайний случай, когда штатных средств не хватает; её пишет программист 1С под конкретную задачу.
Для разового переноса остатков при переходе на новую базу хватает способов 1–4: автоматизацию настраивают только под повторяющийся обмен.
Способ 4. Ввод остатков документом вручную
Когда позиций немного (несколько десятков) или переносятся денежные сальдо, остатки проще ввести документом, чем настраивать обработку.
В «Бухгалтерии предприятия 3.0» для этого есть помощник: Главное → Начальные остатки → Помощник ввода начальных остатков. В нём:
- Укажите дату ввода остатков.
- Выберите счёт учёта (
41для товаров,51для расчётного счёта и так далее). - Заполните строки — номенклатуру, склад, количество, сумму или сальдо по счёту.
- Проведите документ.
Помощник формирует движения по вспомогательному счёту 000, поэтому после ввода всех остатков оборотно-сальдовая ведомость по счёту 000 должна сойтись в ноль. Это встроенная проверка корректности: если по счёту 000 остался остаток, значит часть сальдо введена не полностью или с ошибкой в сумме.
Ручной ввод можно ускорить: загрузите номенклатуру и количества в табличную часть документа ввода остатков способом из второго раздела, а дату и проведение сделайте вручную. Так вы соединяете скорость загрузки с контролем помощника.
Почему остатки не копируют напрямую через SQL
Соблазн «залезть в SQL-базу и переписать остатки запросом» возникает у тех, кто видел таблицы 1С в SQL Server. Делать так не стоит.
Структура таблиц 1С недокументирована, имена таблиц и полей (вида _Reference123, _Fld456) меняются при реструктуризации конфигурации и не предназначены для прямой записи. Запись в них напрямую:
- 🚫 нарушает целостность данных — итоги в регистрах считаются отдельно и не обновятся;
- 🚫 не поддерживается фирмой 1С и ломается при первом же обновлении конфигурации;
- 🚫 оставляет базу в состоянии, которое не лечится штатными средствами.
Прямой доступ к SQL уместен только для чтения — например, для построения внешней аналитики. Для этого в 1С есть штатный механизм внешних источников данных, который читает чужие таблицы без вмешательства в учёт. А вот записывать остатки нужно только через объекты 1С: документы и обработки, описанные выше.
Единственный «прямой» способ скопировать всю базу целиком — выгрузка в файл .dt (Конфигуратор → Администрирование → Выгрузить информационную базу) и загрузка в новую. Но это копия всей базы, а не остатков: конфигурация и все данные переносятся как есть, выборочный перенос остатков так не делается.
Как проверить, что остатки перенеслись верно
После загрузки сверьте источник и приёмник — одной загрузки без проверки недостаточно.
| Что сверяем | Где смотреть | Признак ошибки |
|---|---|---|
| Итог по количеству | Отчёт «Остатки товаров» на дату ввода | Расхождение с контрольным итогом источника |
| Итог по сумме | Та же ведомость, колонка суммы | Количество сошлось, а сумма — нет |
Счёт 000 (при вводе документом) | ОСВ по счёту 000 | Остаток не равен нулю |
| Дубли номенклатуры | Список номенклатуры, сортировка по наименованию | Две одинаковые позиции |
Сверяйте именно те контрольные итоги, что записали до переноса. Если количество сошлось, а сумма разошлась — проблема в колонке суммы или в цене. Если не сходится количество — часть строк не загрузилась из-за группировок в файле.
Частые вопросы
Можно ли перенести остатки из «Управления торговлей» в «Бухгалтерию»?
Как перенести остатки без дублей номенклатуры?
На какую дату вводить остатки?
Почему после ввода остатков не сходится счёт 000?
000. Если по нему остался остаток, значит сальдо по какому-то счёту введено не полностью или с ошибкой в сумме. Найдите счёт с незакрытым остатком по ОСВ и исправьте.