Два документа в один: перенос строк, обработка и проверка учёта
Содержание
Кнопки «Объединить документы» в 1С 8.3 нет. Чтобы объединить 2 документа в 1С, строки второго документа переносят в первый, первый перепроводят, а второй помечают на удаление. Делают это вручную через копирование строк табличной части, через ввод на основании нескольких документов (где конфигурация это умеет) или внешней обработкой, если таких пар десятки.
Механизм «Поиск и удаление дублей» из раздела Администрирование → Обслуживание здесь не поможет. Он заменяет ссылки на дубль ссылкой на оригинал, но строки табличных частей двух документов не складывает. Поэтому объединение документов — всегда перенос данных плюс уборка за собой.
Перед объединением: можно ли вообще соединить эти документы
Сначала убедитесь, что два документа в принципе могут стать одним. Учёт не простит объединения того, что по смыслу разное.
Документы совпадают по «шапке», если у них одинаковые:
- 🏢 организация и контрагент;
- 📄 договор и валюта расчётов;
- 📦 склад (для товарных документов);
- 💰 вид цен и признак «цена включает НДС»;
- 📅 период — оба в открытом, не закрытом месяце.
Если хоть одно не совпадает, это два разных факта хозяйственной жизни. Объединять их нельзя, иначе поплывут взаиморасчёты по договорам и себестоимость по складам.
Дальше выясните, что уже «прицеплено» к документу, который вы собираетесь удалить:
- Откройте его и нажмите
Ещё → Структура подчинённости(или кнопку со схемой в командной панели). Там видно оплаты, счета-фактуры, возвраты, корректировки. - Проверьте, не отправлен ли документ контрагенту по ЭДО. Подписанный обеими сторонами электронный документ просто удалить нельзя — его аннулируют по соглашению сторон.
- Посмотрите, есть ли на документ выданный или полученный счёт-фактура. Если он уже ушёл покупателю или отражён в книге продаж прошлого квартала, объединение превращается в налоговую задачу, а не техническую.
Если период уже закрыт датой запрета изменения, программа не даст перепровести документ. Не снимайте дату запрета ради объединения без согласования с главным бухгалтером: перепроведение старого месяца меняет закрытую отчётность.
Перед любыми массовыми правками сделайте резервную копию базы
— выгрузку .dt через Конфигуратор или копию средствами СУБД. Объединение необратимо, как только помеченный документ удалят.
Ручной перенос строк: самый безопасный способ объединить два документа
Для пары-тройки документов ручной способ лучше любого кода. Вы видите каждую строку и сразу замечаете, если что-то не так.
Шаг 1. Выберите документ-приёмник
Оставляйте тот документ, который:
- имеет больше связей (на него уже есть оплата или счёт-фактура);
- раньше по дате, если связей нет ни у одного;
- уже передан контрагенту в бумажном виде с подписью.
Второй документ станет источником и потом уйдёт в удаление.
Шаг 2. Скопируйте строки из источника
- Откройте документ-источник, перейдите на закладку с товарами или услугами.
- Выделите строки:
Ctrl+A— все,ShiftилиCtrl+ щелчок — выборочно. - В командной панели табличной части откройте меню
Ещёи выберите команду «Скопировать строки». В Бухгалтерии 3.0 и Управлении торговлей 11 она есть у большинства товарных документов.
Шаг 3. Вставьте строки в приёмник
- Откройте документ-приёмник на той же закладке.
- В меню
Ещётабличной части выберите «Вставить строки». - Сверьте количество строк и итог документа с суммой двух исходных.
Если команд копирования строк в вашем документе нет, есть два обходных пути:
- Подбор. Кнопка «Подбор» в табличной части позволяет заново выбрать номенклатуру. Количество и цены придётся ввести руками.
- Загрузка из файла. Выведите строки источника в табличный документ (
Ещё → Вывести список), сохраните в Excel и загрузите в приёмник командой загрузки из файла, если она есть в табличной части.
Шаг 4. Проведите приёмник и пометьте источник на удаление
Нажмите «Провести и закрыть» в приёмнике. Затем в списке документов выделите источник и нажмите Del — документ получит пометку удаления, а проведение с него снимется.
💡 Не удаляйте источник сразу. Пусть пометка повисит, пока вы не проверите остатки и взаиморасчёты. Физически помеченные объекты удаляют позже через Администрирование → Обслуживание, группа «Корректировка данных», команда «Удаление помеченных объектов».
Типовые возможности 1С: ввод одного документа на основании нескольких
Часто объединять приходится не готовые реализации, а то, что ещё не оформлено. Например, клиент сделал два заказа, а отгрузить хочет одной накладной. Тогда проще создать сразу один документ на основании двух.
В Управлении торговлей 11 это штатная возможность:
- Откройте список заказов клиентов.
- Выделите оба заказа с
Ctrl. - Нажмите «Создать на основании» и выберите реализацию.
Программа создаст одну реализацию по двум заказам, если у них совпадают ключевые реквизиты: организация, партнёр, контрагент, соглашение или договор, склад, валюта. При расхождении она предложит оформить несколько документов — это сигнал, что объединять заказы нельзя.
В Бухгалтерии 3.0 документ на основании обычно вводят из одного документа. Рабочий приём такой: создайте реализацию на основании первого счёта, а строки второго счёта добавьте копированием, как описано выше.
| Способ | Когда подходит | Риски |
|---|---|---|
| Копирование строк | 1–5 пар документов | Почти нет, если сверить итог |
| Ввод на основании нескольких | Заказы ещё не отгружены (УТ 11) | Нужны одинаковые ключевые реквизиты |
| Загрузка из Excel | Нет команды копирования строк | Ошибки сопоставления номенклатуры |
| Внешняя обработка | Десятки пар, однотипные документы | Задвоение движений, потеря связанных данных |
Объединение документов обработкой на встроенном языке
Консоль запросов в 1С только читает данные. Она поможет найти пары документов для объединения, но изменить их не сможет. Для записи нужна внешняя обработка или консоль кода в режиме 1С:Предприятие с правами администратора.
Найти пары запросом
Запрос ниже ищет реализации одного контрагента и договора за один день — типичный кандидат на объединение:
ВЫБРАТЬ
Р1.Ссылка КАК Приемник,
Р2.Ссылка КАК Источник
ИЗ
Документ.РеализацияТоваровУслуг КАК Р1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Р2
ПО Р1.Контрагент = Р2.Контрагент
И Р1.ДоговорКонтрагента = Р2.ДоговорКонтрагента
И Р1.Склад = Р2.Склад
И НАЧАЛОПЕРИОДА(Р1.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(Р2.Дата, ДЕНЬ)
И Р1.Ссылка < Р2.Ссылка
ГДЕ
НЕ Р1.ПометкаУдаления
И НЕ Р2.ПометкаУдаления
Имена реквизитов даны для Бухгалтерии 3.0. В других конфигурациях сверьте их в конструкторе запроса: в УТ 11, например, есть ещё «Партнёр» и «Соглашение».
Перенести строки кодом
Процедура переносит строки табличной части «Товары» из источника в приёмник в одной транзакции. Если на любом шаге будет ошибка, база вернётся в исходное состояние:
&НаСервереБезКонтекста
Процедура ОбъединитьДокументы(СсылкаПриемник, СсылкаИсточник)
НачатьТранзакцию();
Попытка
Приемник = СсылкаПриемник.ПолучитьОбъект();
Источник = СсылкаИсточник.ПолучитьОбъект();
Для Каждого СтрокаИсточника Из Источник.Товары Цикл
НоваяСтрока = Приемник.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИсточника, , "НомерСтроки");
КонецЦикла;
Приемник.Записать(РежимЗаписиДокумента.Проведение);
Если Источник.Проведен Тогда
Источник.Записать(РежимЗаписиДокумента.ОтменаПроведения);
КонецЕсли;
Источник.УстановитьПометкуУдаления(Истина);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Что важно знать про этот код:
- 🔁 Он переносит только «Товары». Если в документе есть «Услуги», «Возвратная тара» или другие табличные части, повторите цикл для каждой.
- 🔗 В типовых конфигурациях строки иногда связаны с другими табличными частями через служебный ключ (серии, коды маркировки). Такие документы переносить простым циклом нельзя — связь потеряется.
- 🧮 Сумму документа проверьте после записи. Если она не пересчиталась, откройте документ и перепроведите его из формы: форма вызывает пересчёт, который при записи из кода может не сработать.
Запускайте обработку сначала на копии базы. Проверьте 2–3 пары вручную и только потом выполняйте на рабочей базе.
Особенности разных документов при объединении
Логика «перенёс строки — удалил второй» работает для товарных документов. Для остальных есть свои нюансы.
Реализация и поступление товаров. Главное — счёт-фактура. Счёт-фактура документа-источника остаётся в базе и после пометки удаления основания становится «висящим». Его тоже пометьте на удаление и сформируйте счёт-фактуру заново на приёмнике. Если старый счёт-фактура уже попал в книгу продаж закрытого квартала, вопрос решают через исправленный счёт-фактуру и уточнённую декларацию, а не через удаление.
Банковские документы. Две платёжки объединять обычно не нужно. Частый реальный случай другой: одна оплата закрывает два счёта. В списании или поступлении на расчётный счёт для этого заполняют расшифровку платежа несколькими строками — по строке на каждый договор или документ расчётов.
Кассовые документы. Приходный и расходный кассовые ордера объединять не стоит вообще. Номер ордера печатается в кассовой книге, и после объединения нумерация разойдётся с бумагой.
Кадровые и зарплатные документы. В ЗУП 3.1 начисления зарплаты, отпуска и больничные связаны с расчётами, перерасчётами и выплатами. Объединение двух начислений вручную ломает цепочку «начислено — удержано — выплачено». Правильный путь — исправить документ штатной командой исправления, а не сливать два в один.
Документы, переданные по ЭДО. Объединение возможно только после согласования с контрагентом: старые документы аннулируют, новый отправляют одним комплектом.
Что проверить после объединения и как исправить ошибки
Сразу после переноса проверьте три вещи.
Задвоились движения
Симптом: остаток товара на складе ушёл в минус или долг покупателя вырос вдвое. Причина — источник остался проведённым.
Что делать: откройте список документов, включите отображение помеченных на удаление и убедитесь, что у источника нет зелёной галочки проведения. Затем сформируйте оборотно-сальдовую ведомость по счёту 62 или 60 с отбором по контрагенту — сальдо должно совпасть с суммой до объединения.
Сломалась себестоимость
Симптом: после закрытия месяца себестоимость продажи отличается от ожидаемой. Причина — документ-приёмник по дате оказался раньше поступления части перенесённых товаров.
Что делать: перепроведите документы за период штатной групповой обработкой из раздела Операции и повторно выполните закрытие месяца
.
Остались «висящие» ссылки
Симптом: при удалении помеченных объектов программа сообщает, что на источник ссылаются другие документы. Это оплата, счёт-фактура или возврат.
Что делать: откройте каждый ссылающийся документ и замените в нём основание или документ расчётов на приёмник. Только после этого удаление пройдёт.
Как не допустить появления документов-двойников
Объединять приходится в основном то, что задвоилось. Профилактика дешевле уборки.
- 🧾 Один счёт — одна отгрузка. Если клиент дозаказывает, добавляйте строки в действующий счёт или заказ, пока он не отгружен, а не создавайте второй.
- 🔄 Аккуратная загрузка выписок и обменов. Перед повторной загрузкой банковской выписки или пакета из ЭДО проверьте, не загружены ли документы раньше. Повторная загрузка того же файла — главный источник двойников.
- 🔒 Дата запрета изменения. Закрывайте прошедшие месяцы. Тогда случайная правка старого документа не пройдёт незамеченной.
- 👥 Разделение ролей. Один и тот же документ не должны оформлять два сотрудника: менеджер создаёт заказ, кладовщик — отгрузку по нему, а не свою накладную с нуля.
- 📊 Регулярная проверка. Раз в месяц запускайте запрос поиска пар из раздела выше. Найденные пары разбирайте сразу, пока документы не ушли в отчётность.