Как изменить признак ведения расчетов по документам в договоре 1С:УПП при наличии документов в закрытом периоде?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

В конфигурации 1С:Управление производственным предприятием (УПП) реквизиты договора контрагента, определяющие детализацию взаиморасчетов, блокируются для редактирования сразу после проведения первого документа по этому договору. Пользователи часто сталкиваются с ситуацией, когда флаг «По документам расчетов с контрагентами» был установлен ошибочно, документы за прошлые кварталы уже проведены, отчетность сдана, а период закрыт от изменений. Разберем причины блокировки, возможные риски и практические способы решения этой задачи.

Почему 1С блокирует изменение реквизитов взаиморасчетов

Флаг «По документам расчетов с контрагентами» кардинально меняет логику проведения документов и состав регистров. Проанализируем, на что именно влияет данный признак:

  1. Формирование движений по регистрам накопления: при включенном флаге формируются записи в регистре ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов, а также меняется детализация строк в регистре ВзаиморасчетыСКонтрагентами. При отключении флага эти движения становятся избыточными или некорректными.
  2. Бухгалтерский и налоговый учет: на субсчетах 60 и 62 заполняется третье субконто «Документы расчетов с контрагентом». Если снять флаг без выравнивания проводок, по счету может образоваться «развернутое сальдо» (дебет и кредит по разным документам при общем нулевом сальдо по договору), что искажает баланс.
  3. Учет НДС и зачет авансов: алгоритмы зачета авансов и книги покупок/продаж опираются на связку платежных и расчетных документов. Изменение аналитики задним числом может привести к расхождениям по НДС.
  4. Смещение границы последовательностей: любое перепроведение документов в закрытом периоде сдвигает границы последовательностей Взаиморасчеты, ПартионныйУчет и НалоговыйУчетПоНДС.

Способ 1. Корректный перенос взаиморасчетов через новый договор (рекомендуемый)

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

  1. Создаем новый договор с контрагентом, в котором флаг «По документам расчетов с контрагентами» выключен (или настроен так, как требуется).
  2. В наименование старого договора добавляем пометку «НЕ ИСПОЛЬЗОВАТЬ» или устанавливаем статус «Закрыт», чтобы пользователи случайно не выбрали его в новых операциях.
  3. На дату открытия текущего рабочего периода создаем документ «Корректировка долга»:
    1. Выбираем вид операции «Перенос задолженности» (или «Проведение взаимозачета» в зависимости от структуры остатков).
    2. Указываем перенос задолженности покупателя/поставщика.
    3. В табличной части указываем старый договор и конкретные документы расчетов, по которым зависли остатки.
    4. В качестве договора-получателя выбираем новый договор.
  4. Документы открытого периода, которые еще не были закрыты в регламентированном учете, перепривязываем к новому договору.

Важное замечание по документам заказов: документ ЗаказПокупателя или ЗаказПоставщика не формирует движений по регистрам взаиморасчетов регламентированного учета. Если в закрытом периоде есть только заказы, их можно не трогать, а в документах реализации открытого периода сразу указывать новый договор.

Способ 2. Программное изменение реквизита и корректировка регистров

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

Шаг 1. Программное снятие флага договора

Воспользуемся встроенным языком 1С для записи объекта в режиме обмена данными, что позволяет обойти стандартные платформенные проверки формы:


ДоговорОбъект = ДоговорСсылка.ПолучитьОбъект();
ДоговорОбъект.ОбменДанными.Загрузка = Истина;
ДоговорОбъект.ВестиПоДокументамРасчетовСКонтрагентами = Ложь;
ДоговорОбъект.Записать();

Шаг 2. Корректировка движений по регистру

После снятия флага документы, проведенные ранее, сохранили свои старые движения. Если документы закрытого периода перепроводить нельзя, создаем документ «Корректировка записей регистров» на границе открытого периода:

  1. Включаем регистр накопления ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.
  2. Списываем все накопленные остатки по расчетным документам в ноль.
  3. Если необходимо, корректируем регистр бухгалтерии (Журнал проводок), выравнивая третье субконто «Документы расчетов с контрагентом» на счетах 60/62.

Шаг 3. Перепроведение документов в открытом периоде

Все документы открытого периода (платежные поручения, реализации, поступления) перепроводим. В платежных документах очищаем реквизит ДокументРасчетовСКонтрагентом в табличной части «Расшифровка платежа», так как он больше не требуется.

Восстановление границы последовательности при перепроведении

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


НужнаяДатаГраницы = НачалоДня(ТекущаяДата());
Последовательности.Взаиморасчеты.УстановитьГраницу(НужнаяДатаГраницы);

Проверка результатов

После выполнения корректировок обязательно проконтролируем состояние учета с помощью стандартных отчетов:

  1. Сформируем отчет «Оборотно-сальдовая ведомость по счету» (60 или 62) с группировкой по субконто: Контрагенты, Договоры, Документы расчетов с контрагентом. Убедимся в отсутствии развернутого сальдо с противоположными знаками.
  2. Сформируем отчет «Ведомость по взаиморасчетам с контрагентами» и сверим итоговый долг с бухгалтерскими данными.
← На главную