Работа с контрагентами в 1С:Предприятие требует регулярного обновления договоров — иначе рискуете столкнуться с блокировкой документов, ошибками при проведении платежей или проблемами с налоговой отчётностью. Продление договора в 1С кажется простой задачей, но на практике пользователи сталкиваются с массой нюансов: от неверных дат в справочнике до конфликтов версий в распределённой базе. В этой статье разберём все способы продления договоров (вручную, пакетно, через обработки), а также покажем, как настроить систему так, чтобы она сама напоминала о приближающемся окончании срока.
Особое внимание уделим типичным ошибкам — например, когда после продления договор «исчезает» из печатных форм или перестаёт отображаться в отчётах. Также рассмотрим, как правильно фиксировать изменения в истории взаимодействия с контрагентом, чтобы избежать претензий при проверках. Инструкции актуальны для 1С:Бухгалтерия 3.0, 1С:Управление торговлей 11, 1С:ERP 2.5 и аналогичных конфигураций на платформе 8.3.
1. Подготовка: проверка текущих договоров перед продлением
Прежде чем продлевать договор, убедитесь, что он действительно требует обновления. В 1С срок действия договора может быть задан двумя способами:
- 📅 Фиксированная дата — чёткие границы «с» и «по» в карточке контрагента.
- ⏳ Открытый срок — только дата начала без указания окончания (встречается реже, обычно для бессрочных соглашений).
Чтобы найти все истекающие договоры, используйте отчёт Контрагенты → Отчёты → Анализ договоров. Настройте фильтр по дате окончания (например, «за следующие 30 дней»). Обратите внимание на столбец Статус — если там стоит «Истёк», но договор всё ещё используется в документах, это может привести к ошибкам при проведении.
Перед массовым продлением проверьте:
- 🔄 Связанные документы: есть ли неоплаченные счета, акты или заказы, привязанные к этому договору. Их придётся перепривязать вручную.
- 📑 Условия договора: не изменились ли реквизиты, ставки НДС или условия оплаты. Если да — создайте новый договор, а не продлевайте старый.
- 🔒 Права доступа: у вашего пользователя должны быть права на редактирование справочника
Договоры контрагентов.
Если в вашей базе ведётся история изменений (модуль Версионирование), перед продлением сделайте снимок текущего состояния договора. Это поможет восстановить данные, если что-то пойдёт не так.
2. Ручное продление договора: пошаговая инструкция
Самый надёжный, но трудоёмкий способ — продление каждого договора вручную. Подходит для небольшого количества контрагентов или когда нужно внести дополнительные изменения в условия.
Алгоритм действий:
- Откройте справочник
Контрагенты(Предприятие → Контрагенты). - Найдите нужного контрагента и перейдите на вкладку
Договоры. - Выделите строку с истекающим договором и нажмите
Изменить(или двойной клик). - В поле
Действует поукажите новую дату окончания. Если договор бессрочный, оставьте поле пустым. - Сохраните изменения (
Записать и закрыть).
Важно: если в договоре есть привязка к виду договора (например, «Договор купли-продажи» или «Агентский договор»), убедитесь, что новый срок не конфликтует с условиями этого вида. Например, некоторые виды договоров в 1С:ERP автоматически блокируют проведение документов после истечения срока.
Дата начала нового периода не раньше текущей даты|
Нет конфликтов с другими договорами этого контрагента|
Указан верный вид договора (если используется)|
Проверены связанные документы (акты, счета)
-->
Критическая особенность: в некоторых конфигурациях (например, 1С:УТ 11.4) при ручном продлении договора не обновляется поле Дата последнего изменения. Это может привести к ошибкам в отчётах по актуальности данных. Чтобы исправить, после продления откройте договор ещё раз и сохраните без изменений — дата обновится.
3. Пакетное продление договоров: обработки и внешние отчёты
Если в базе сотни договоров, продлевать их вручную нерационально. В этом случае используйте:
- 📊 Стандартную обработку
Групповое изменение реквизитов(доступна в большинстве конфигураций). - 🛠️ Внешние обработки от партнёров 1С (например, «Массовое продление договоров» от фирмы «Альт-Софт»).
- 🤖 Скрипты на 1С:EnterpriseScript (для опытных пользователей).
Инструкция для группового изменения:
- Перейдите в
Все функции → Обработки → Групповое изменение реквизитов. - В поле
ОбъектвыберитеДоговоры контрагентов. - Установите фильтр по дате окончания (например, «между сегодня и 30.12.2026»).
- В разделе
Изменяемые реквизитыдобавьте полеДействует пои укажите новую дату. - Запустите обработку и дождитесь завершения.
Предупреждение: групповой режим не проверяет логические связи. Если у договора есть привязанные документы с датами за пределами нового срока, они не будут автоматически скорректированы. Например, если продлеваете договор до 31.12.2026, а у него есть акт от 15.01.2026, документ останется «висеть» без привязки.
Что делать, если обработка зависла?
Если групповое изменение «зависло» на большом объёме данных, не закрывайте окно принудительно. Дождитесь 10–15 минут или проверьте журнал регистрации (Администрирование → Журнал регистрации) на наличие ошибок. Если процесс действительно застопорился, перезапустите 1С и повторите операцию для меньшего количества записей (разбейте на партии по 50–100 договоров).
4. Автоматическое продление: настройка уведомлений
Чтобы не забывать о приближающихся сроках, настройте в 1С автоматические напоминания. Для этого:
Способ 1. Встроенные уведомления (для 1С:ERP и УТ 11.4+):
- Перейдите в
Настройки → Уведомления → Настройки уведомлений. - Создайте новое правило с типом
Истечение срока договора контрагента. - Укажите период оповещения (например, за 14 дней до истечения).
- Настройте получателей (себе, руководителю отдела, бухгалтеру).
Способ 2. Регламентные задания (для всех конфигураций):
Создайте задание, которое будет ежедневно проверять договоры и отправлять email/внутреннее сообщение ответственным лицам. Пример кода для регламентного задания:
Процедура ПроверкаДоговоров() Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДоговорКонтрагента.Ссылка КАК Ссылка,
| ДоговорКонтрагента.Контрагент КАК Контрагент,
| ДоговорКонтрагента.ДействуетПо КАК ДействуетПо
|ИЗ
| Документ.ДоговорКонтрагента КАК ДоговорКонтрагента
|ГДЕ
| ДоговорКонтрагента.ДействуетПо МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("НачалоПериода", ТекущаяДата());
Запрос.УстановитьПараметр("КонецПериода", ТекущаяДата() + 30);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
ТекстСообщения = "Истекающие договоры:" + Символы.ПС;
Пока Результат.Следующий() Цикл
ТекстСообщения = ТекстСообщения + Результат.Контрагент + " - " + Результат.ДействуетПо + Символы.ПС;
КонецЦикла;
ОтправитьЭлектронноеПисьмо("бухгалтерия@вашафирма.ru", "Истекающие договоры", ТекстСообщения);
КонецЕсли;
КонецПроцедуры
Это задание можно запускать еженедельно через Администрирование → Регламентные задания.
Автоматические уведомления не заменяют ручную проверку. Всегда сверяйте данные перед продлением — система может не учесть нюансы (например, расторгнутые, но не удалённые договоры).
5. Типичные ошибки и как их избежать
Даже опытные пользователи 1С допускают ошибки при работе с договорами. Рассмотрим самые распространённые:
| Ошибка | Причина | Как исправить |
|---|---|---|
| Договор «исчез» из списка после продления | Неверно указан вид договора или дата начала нового периода раньше даты окончания старого | Проверьте фильтры в справочнике и даты в карточке договора. Используйте отчёт Все договоры без фильтров. |
| Ошибка «Договор не действует на дату документа» | В документе (счете, акте) указана дата за пределами срока действия договора | Исправьте дату в документе или продлите договор ретроактивно (если это допустимо по бизнес-процессам). |
| Дублирование договоров после массового продления | Обработка создала копии вместо изменения оригиналов | Удалите дубликаты через Сервис → Поиск и удаление дублей. |
| Уведомления приходят о уже продлённых договорах | Регламентное задание использует кэшированные данные | Перезапустите задание или очистите кэш (Администрирование → Тестирование и исправление → Очистка кэша). |
Особая ситуация: если после продления в печатных формах (например, в акте выполненных работ) отображается старая дата окончания договора, проверьте шаблон печатной формы. Возможно, там жёстко прописано поле ДействуетПо из версии договора на момент создания документа, а не текущее значение.
6. Продление договоров в распределённой базе (РИБ)
Если вы работаете в распределённой информационной базе (РИБ), продление договоров имеет свои нюансы. Главная проблема — конфликты репликации, когда изменения в одном узле не синхронизируются с другими.
Алгоритм для РИБ:
- Продлите договор в главном узле (там, где ведётся основной учёт).
- Дождитесь полной синхронизации (
Администрирование → Синхронизация данных). - Проверьте, что изменения отобразились во всех периферийных узлах. Если нет — запустите принудительную синхронизацию.
Если договор был изменён в нескольких узлах одновременно, 1С может создать конфликтную запись. В этом случае:
- Откройте
Администрирование → Конфликты синхронизации. - Выберите конфликт по договору и нажмите
Разрешить. - Вручную укажите, какую версию оставить (обычно выбирают данные из главного узла).
Как проверить, что синхронизация прошла успешно?
После продления договора в главном узле создайте тестовый документ (например, счет на оплату) с привязкой к этому договору в периферийном узле. Если документ проводится без ошибок — синхронизация прошла корректно.
7. Продление договоров с особенными условиями
Не все договоры можно продлить стандартными методами. Рассмотрим сложные случаи:
1. Договоры с автоматическим продлением
Если в договоре прописано условие «продлевается автоматически на тот же срок», в 1С это нужно отразить:
- Создайте новый договор с тем же номером, но новой датой.
- В поле
Основаниеукажите ссылку на старый договор. - В комментарии напишите: «Автоматическое продление на основании п. X предыдущего договора».
2. Договоры с изменёнными реквизитами контрагента
Если у контрагента поменялись ИНН, адрес или банковские реквизиты, продление старого договора может привести к ошибкам в платежных поручениях. В этом случае:
- Создайте нового контрагента с актуальными реквизитами.
- Перенесите историю взаимодействия через документ
Изменение реквизитов контрагента(если он есть в вашей конфигурации). - Заключите новый договор с новой датой.
3. Договоры с привязкой к валюте или курсу
Если в договоре указан курс валюты (например, «оплата в долларах по курсу ЦБ на дату платежа»), при продлении проверьте:
- Актуальность валюты в справочнике
Валюты. - Настройки курсов в
Предприятие → Валюты → Курсы валют. - Флаг
Использовать курс на дату документав карточке договора.
8. Как отразить продление в отчётности и аудите
Продление договора — это не просто техническая операция, но и юридически значимое действие. Чтобы избежать проблем при проверках, фиксируйте изменения:
1. В истории изменений 1С:
Если в вашей конфигурации ведётся журнал изменений (Все функции → История данных), проверьте, что продление договора там отражено. Если нет — добавьте запись вручную через документ Комментарий к изменению (если он поддерживается).
2. В печатных формах:
При распечатке договора для контрагента используйте шаблон, который автоматически подставляет:
- 📄 Дату продления.
- 🔄 Ссылку на предыдущую версию («Продление договора №X от DD.MM.YYYY»).
- 📌 Подпись ответственного лица.
3. В отчётах для налоговой:
Если договор влияет на налоговые обязательства (например, изменена ставка НДС), обновите:
- Регистры накопления
НДС ПредъявленныйиНДС Уплаченный. - Отчёты
Книга покупокиКнига продажза период, охватывающий дату продления.
Если ваша компания проходит обязательный аудит, запросите у аудиторов шаблон акта о продлении договоров. В 1С можно создать дополнительный реквизит в справочнике Договоры контрагентов для хранения номера и даты такого акта.
⚠️ Внимание: Если договор продлевается ретроактивно (то есть новая дата начала раньше текущей), это может привести к расхождению данных в регистрах Взаиморасчёты с контрагентами. Перед таким продлением сверьте остатки по счёту 60.01/62.01.
FAQ: Частые вопросы о продлении договоров в 1С
Можно ли продлить договор задним числом?
Да, но это чревато расхождениями в отчётности. Если дата начала нового периода раньше текущей даты, 1С может:
- Автоматически пересчитать задолженность по договору (в 1С:ERP).
- Создать отрицательные остатки в регистрах взаиморасчётов.
Рекомендуем в таких случаях создавать новый договор с корректными датами и переносить остатки через документ Корректировка долга.
Как продлить договор, если контрагент поменял ИНН?
Создайте нового контрагента с новым ИНН, а затем:
- Используйте обработку
Перенос истории по контрагенту(если она есть в вашей конфигурации). - Вручную перенесите неоплаченные документы через
Изменение реквизитов документа. - Заключите новый договор со старым номером, но укажите в комментарии: «Продление с изменением реквизитов».
Не редактируйте ИНН в карточке старого контрагента — это нарушит целостность данных в регистрах.
Почему после продления договор не отображается в печатной форме?
Причины могут быть следующими:
- В шаблоне печатной формы прописан фильтр по дате (например, «только действующие на текущую дату»).
- Договор привязан к другому виду договора, который не включён в печатную форму.
- Нарушена связь между договором и контрагентом (проверьте поле
Владелецв карточке договора).
Решение: откройте шаблон печатной формы (Все функции → Печатные формы → Настройка печатных форм) и проверьте условия отбора.
Как массово продлить договоры с разными сроками?
Используйте внешнюю обработку с гибкими настройками, например:
- Экспортируйте список договоров в Excel через
Все функции → Выгрузка данных. - В Excel добавьте столбец с новой датой окончания (можно использовать формулы для расчёта, например,
=Дата_окончания + 365). - Загрузите данные обратно через
Все функции → Загрузка данных, сопоставив полеДействуетПо.
Для сложных сценариев (например, продление на разный срок в зависимости от типа договора) напишите скрипт на 1С:EnterpriseScript или закажите доработку у партнёра 1С.
Нужно ли продлевать договор, если он бессрочный?
Нет, если в карточке договора поле Действует по пустое. Однако:
- Проверьте, не установлен ли флаг
Требует продленияв дополнительных реквизитах. - Убедитесь, что в видоговоре не прописано условие об обязательном продлении (даже для бессрочных договоров).
В некоторых конфигурациях (например, 1С:ERP) бессрочные договоры могут блокироваться, если в них не указано Действует с. Заполните это поле текущей датой.