Перенос данных с одного договора на другой в 1С:Предприятие — типичная задача, с которой сталкиваются бухгалтеры при реорганизации бизнеса, смене контрагентов или исправлении ошибок в учете. Казалось бы, что тут сложного: скопировать остатки, перепровести документы и готово. Но на практике даже опытные пользователи сталкиваются с разносками по неправильным аналитикам, нарушением хронологии документов или потерянными взаимозачетами.
В этой статье разберем 5 рабочих способов переноса — от ручного ввода до автоматизированных обработок, — а также покажем, как избежать типичных ошибок, ведущих к расхождениям в учете. Особое внимание уделим нюансам для конфигураций 1С:Бухгалтерия 3.0, 1С:Управление торговлей 11 и 1С:ERP 2.5, где логика работы с договорами отличается.
Если вы впервые сталкиваетесь с такой задачей, начните с раздела «Подготовка к переносу» — там описаны критичные проверки, которые сэкономят часы на исправление ошибок. Для опытных пользователей сразу переходите к методу с обработкой «Перенос данных» или инструкции по корректировке остатков через регистры.
Подготовка к переносу: 3 шага, без которых не обойтись
Прежде чем переносить данные, убедитесь, что система готова к изменениям. Пропуск этого этапа в 80% случаев приводит к сбою взаимосвязанных документов (например, когда оплата «зависает» без привязки к новому договору) или нарушению последовательности проводок.
Вот минимальный чек-лист перед началом работ:
Убедиться, что новый договор создан с теми же реквизитами (валютой, условиями оплаты, НДС)
Закрыть все незавершенные документы по старому договору (накладные, счета, акты)
Сделать резервную копию базы (Администрирование → Обслуживание → Резервное копирование)
Проверить права доступа пользователя (требуется роль «Полные права» или «Администрирование»)
-->
Особое внимание уделите аналитике учета. Если в настройках учета по договору (Главное → Настройки → Учетная политика) включены дополнительные аналитики (например, «Статьи движения денежных средств» или «Проекты»), их тоже нужно перенести или скорректировать. Иначе после переноса документы могут «потеряться» в отчетах.
Если переносите данные между договорами с разными валютами, предварительно переоцените остатки по курсу на дату переноса. В 1С:Бухгалтерия 3.0 это делается через документ «Корректировка долга» (Покупки → Корректировка долга).
Также проверьте, не используется ли старый договор в регламентных операциях (например, для автоматического списания комиссий банка). Их придется перенастроить вручную через Главное → Регламентные операции.
Способ 1: Ручной перенос через корректировку документов
Самый простой, но трудоемкий метод — вручную создать новые документы по новому договору на основе старых. Подходит для небольшого количества операций (до 20-30 документов).
Алгоритм действий:
- Откройте журнал документов (например,
Покупки → Поступления (акты, накладные)). - Найдите документ по старому договору, нажмите «Создать на основе» → «Копировать».
- В новой копии измените договор в шапке документа и сохраните.
- Проведите документ и проверьте проводки (
Действия → Проводки).
⚠️ Внимание: При ручном переносе легко пропустить взаимосвязанные документы. Например, если вы скопировали накладную, но забыли перенести связанный с ней счет-фактуру, в книге продаж появится расхождение. Чтобы этого избежать, используйте отчет «Анализ субконто» (Отчеты → Анализ субконто) с фильтром по старому договору.
Для ускорения процесса можно воспользоваться пакетным изменением документов:
- Выделите нужные документы в журнале (через
Ctrl+Aили фильтр). - Нажмите «Еще» → «Изменить реквизиты группы».
- В открывшемся окне выберите поле «Договор» и укажите новый.
Что делать, если документ не проводится после изменения договора?
Если после замены договора документ не проводится, проверьте:
1. Условия оплаты: в новом договоре может быть указан другой способ расчетов (например, «Предоплата 100%» вместо «Оплата по факту»).
2. Валюту: если валюты договоров разные, требуется пересчет сумм.
3. НДС: в некоторых конфигурациях при изменении договора сбиваются настройки налогов.
Решение: откройте документ, нажмите «Еще» → «Исправить» и вручную скорректируйте реквизиты.
Способ 2: Перенос остатков через документ «Корректировка долга»
Если нужно перенести только остатки (дебиторскую/кредиторскую задолженность) без привязки к конкретным документам, используйте документ «Корректировка долга». Этот метод подходит для:
- 🔄 Замены договора у постоянного контрагента (например, при продлении)
- 💰 Исправления ошибок в аналитике (когда платежи «зависли» на неверном договоре)
- 📊 Переноса остатков на начало года при реорганизации
Пошаговая инструкция:
- Перейдите в
Покупки → Корректировка долга(илиПродажи → Корректировка долга, если переносите дебиторку). - Укажите контрагента, старый и новый договор.
- В табличной части добавьте строки с суммами задолженности по каждому документу (или общей суммой).
- В поле «Способ корректировки» выберите «Перенос задолженности».
- Проведите документ и проверьте проводки: должна сформироваться пара записей Дт одного субсчета и Кт другого (например, Дт 62.01 «Старый договор» – Кт 62.01 «Новый договор»).
⚠️ Внимание: Если переносите задолженность по авансам, не забудьте скорректировать регистр «НДС с авансов» (Отчеты → НДС → Книга покупок/продаж). Иначе в декларации по НДС появятся лишние суммы.
| Тип задолженности | Документ для переноса | Счета бухгалтерского учета | Нюансы |
|---|---|---|---|
| Дебиторская (покупатель должен нам) | Корректировка долга (раздел «Продажи») | 62.01, 62.02 | Требуется перенос НДС с авансов, если они были |
| Кредиторская (мы должны поставщику) | Корректировка долга (раздел «Покупки») | 60.01, 60.02 | Проверьте взаимозачеты по старому договору |
| Авансы полученные | Корректировка долга + Счет-фактура на аванс | 62.02 | Обновите книгу продаж |
| Авансы выданные | Корректировка долга + Счет-фактура (аванс) | 60.02 | Обновите книгу покупок |
Способ 3: Перенос через регистры накопления (для опытных пользователей)
Если нужно перенести не только остатки, но и историю движений (например, для корректного формирования отчетов по партиям или себестоимости), придется работать напрямую с регистрами. Этот метод требует знаний конфигуратора 1С и подходит для конфигураций 1С:ERP или 1С:УТ 11.
Инструкция:
- Откройте конфигуратор (
Файл → Конфигуратор) и перейдите вОбъекты → Регистры накопления. - Найдите регистр, где хранится информация по договорам (например, «Взаиморасчеты с контрагентами» или «Партии товаров»).
- Создайте обработку для переноса данных. Пример кода для замены договора в регистре «Взаиморасчеты»:
Процедура ПеренестиДоговор()Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВзаиморасчетыСКонтрагентамиОстатки.Контрагент,
| ВзаиморасчетыСКонтрагентамиОстатки.Договор КАК СтарыйДоговор,
| ВзаиморасчетыСКонтрагентамиОстатки.СуммаОстаток
|ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(
| &Дата,
| Контрагент = &Контрагент,
| Договор = &СтарыйДоговор) КАК ВзаиморасчетыСКонтрагентамиОстатки";
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("СтарыйДоговор", СтарыйДоговор);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Движение = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьДвижение();
Движение.Период = ТекущаяДата();
Движение.Контрагент = Выборка.Контрагент;
Движение.Договор = НовыйДоговор; // Указываем новый договор
Движение.Сумма = -Выборка.СуммаОстаток; // Списываем со старого
Движение = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьДвижение();
Движение.Период = ТекущаяДата();
Движение.Контрагент = Выборка.Контрагент;
Движение.Договор = НовыйДоговор;
Движение.Сумма = Выборка.СуммаОстаток; // Зачисляем на новый
КонецЦикла;
КонецПроцедуры
- Запустите обработку на выполнение.
⚠️ Внимание: Перед запуском такого скрипта обязательно сделайте резервную копию базы! Ошибка в коде может привести к потере данных о взаимозачетах или дублированию остатков. Также проверьте, не используется ли старый договор в других регистрах (например, «НДС предъявленный» или «Заказы покупателей»).
После переноса рекомендуется запустить тестовое проведение документов и сверить отчеты:
- 📄 «Анализ счета» (по 60, 62 счетам)
- 🔍 «Карточка счета» с фильтром по контрагенту
- 📊 «Оборотно-сальдовая ведомость по договору»
Способ 4: Использование типовой обработки «Перенос данных»
В некоторых конфигурациях (например, 1С:ERP 2.5 или 1С:УТ 11) есть стандартная обработка «Перенос данных», которая позволяет автоматизировать процесс. Она доступна по пути Администрирование → Обслуживание → Перенос данных.
Как ею пользоваться:
- Выберите объект переноса — «Договоры контрагентов».
- Укажите старый и новый договор, а также дату, с которой нужно перенести данные.
- Настройте параметры переноса:
- 📌 Переносить остатки на дату (рекомендуется текущая дата)
- 📌 Переносить документы (если нужно скопировать историю)
- 📌 Заменять ссылки на старый договор в связанных документах
Преимущества этого метода:
- 🔄 Автоматическая замена ссылок в связанных документах (накладные, счета, платежки)
- 📅 Сохранение хронологии операций
- 🛡️ Минимальный риск ошибок по сравнению с ручным переносом
⚠️ Внимание: В 1С:Бухгалтерия 3.0 типовой обработки «Перенос данных» нет. Вместо нее можно использовать внешнюю обработку от фирмы «1С» (доступна на портале ИТС) или написать собственную (см. Способ 3).
Типовая обработка «Перенос данных» не переносит настройки аналитического учета (например, статьи ДДС или проекты). Их нужно корректировать вручную после переноса!
Способ 5: Перенос через выгрузку/загрузку в XML (для сложных случаев)
Если договора относятся к разным базам или нужно перенести данные между разными конфигурациями (например, из 1С:УТ 10.3 в 1С:ERP 2.5), используйте выгрузку/загрузку в формате XML. Этот метод универсален, но требует аккуратности при сопоставлении объектов.
Алгоритм:
- В исходной базе выгрузите данные по старому договору:
- 📤 Документы: через
Файл → Выгрузить данные(форматXML) - 📤 Остатки: через отчет «Оборотно-сальдовая ведомость» с выгрузкой в
Excelи последующим преобразованием
- 📤 Документы: через
- 📥 Документы:
Файл → Загрузить данные, укажите соответствие полей - 📥 Остатки: введите вручную через документ «Ввод начальных остатков»
Для автоматизации сопоставления можно использовать правила конвертации данных (доступны в 1С:Конвертация данных 3.0). Пример настройки правила для замены договора:
// Правило для замены договора в документах
Процедура ОбработатьДоговор(Источник, Приемник)
Если Источник.Ссылка = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Старый договор") Тогда
Приемник.Договор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Новый договор");
КонецЕсли;
КонецПроцедуры
⚠️ Внимание: При загрузке документов из XML может сбиться нумерация. Перед загрузкой проверьте настройки нумераторов в целевой базе (Администрирование → Нумераторы).
Типичные ошибки и как их избежать
Даже при аккуратном переносе данные могут «поехать». Вот TOP-5 ошибок и способы их предотвращения:
-
Расхождения в оборотно-сальдовой ведомости
Причина: не перенеслись все документы или остатки.
Решение: сверьте отчет «Анализ счета» по старому и новому договору. Если есть разница, найдите «потерянные» документы через отчет «Журнал документов» с фильтром по дате и контрагенту.
-
Дублирование проводок
Причина: перенос выполнен дважды или не отменены движения по старому договору.
Решение: отмените проведение документов по старому договору (
Действия → Отменить проведение) перед повторным переносом. -
Ошибки в книге покупок/продаж
Причина: не скорректированы счета-фактуры или регистр «НДС с авансов».
Решение: после переноса запустите обработку «Корректировка записей книги покупок» (
Отчеты → НДС). -
Нарушение хронологии документов
Причина: новые документы созданы с датой раньше, чем существующие операции.
Решение: переносите данные в порядке возрастания дат или используйте документ «Операция (бухгалтерская и налоговая)» для корректировки остатков.
-
Потеря взаимосвязей между документами
Причина: при ручном переносе не скопированы ссылки (например, между платежкой и накладной).
Решение: используйте отчет «Анализ субконто» для поиска «осиротевших» документов.
Если ошибка уже допущена, не пытайтесь исправить ее «в лоб» (например, ручным созданием корректирующих проводок). Лучше откатитесь к резервной копии и повторите перенос с учетом причин сбоя.
Перед переносом экспортируйте отчет «Оборотно-сальдовая ведомость по договору» в Excel. После переноса сравните его с новым отчетом — так вы быстро найдете расхождения.
Частые вопросы по переносу договоров в 1С
Можно ли перенести договор между разными контрагентами?
Да, но это требует дополнительных действий:
- Сначала перенесите остатки через документ «Корректировка долга» с указанием старого контрагента/договора и нового контрагента/договора.
- Затем вручную скорректируйте связанные документы (накладные, акты), изменив в них контрагента и договор.
⚠️ Внимание: при таком переносе может нарушиться история расчетов. Рекомендуется создать нового контрагента с пометкой «Бывший [Название]» и перенести договор внутри него.
Как перенести договор, если по нему есть неоплаченные счета?
Если по старому договору есть неоплаченные счета, сначала:
- Сформируйте акт сверки с контрагентом по старому договору.
- Создайте новый счет с тем же номером, но по новому договору (чтобы не сбивать нумерацию у контрагента).
- Перенесите оплаты через «Корректировку долга», указав в комментарии «Перенос по счету №X».
Так вы сохраните преемственность для бухгалтерии контрагента.
Что делать, если после переноса не формируется книга продаж?
Проблема возникает, если не перенесены счета-фактуры или нарушена последовательность документов. Порядок действий:
- Проверьте, что все счета-фактуры по старому договору перенесены на новый (отчет «Журнал счетов-фактур»).
- Запустите обработку «Восстановление последовательности документов» (
Администрирование → Обслуживание). - Если ошибка осталась, создайте корректировочный счет-фактуру на разницу.
Как перенести договор в 1С:ЗУП (если он привязан к сотруднику)?
В 1С:Зарплата и Управление Персоналом договор переносится иначе:
- Откройте карточку сотрудника (
Кадры → Сотрудники). - Перейдите на вкладку «Трудовые договоры» и добавьте новый договор с нужной датой.
- Старый договор закройте документом «Изменение трудового договора» (
Кадры → Кадровые документы).
Для переноса начислений используйте документ «Корректировка записей регистров» (Зарплата → Корректировки).
Можно ли автоматизировать перенос для большого количества договоров?
Да, для этого:
- Напишите обработку на встроенном языке 1С (см. пример в Способе 3).
- Используйте 1С:Конвертация данных для пакетного переноса между базами.
- Для облачных версий 1С (например, 1С:Фреш) обратитесь в поддержку — там перенос выполняется через API.
Готовые обработки для массового переноса можно найти на портале Инфостарт (например, «Перенос остатков по договорам» или «Замена договора в документах»).