Как изменить реквизит "Взаиморасчеты ведутся" в договоре контрагента 1С:УТ 10.3, если по нему уже есть документы?

Пользователь 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе в системе 1С:Управление торговлей 10.3 пользователи часто сталкиваются с необходимостью изменения данных в уже существующих объектах. Одной из таких непростых задач является изменение реквизита "Взаиморасчеты ведутся" (или "Детализация расчетов") в договоре контрагента, особенно если этот договор уже активно использовался в десятках, а то и сотнях проведенных документов. Попытка изменить этот реквизит напрямую приведет к ошибке от системы 1С, так как это действие может нарушить целостность учета взаиморасчетов.

Рассмотрим подробнее ситуацию, с которой вы могли столкнуться. Допустим, вам или бухгалтеру потребовалось изменить значение реквизита "Взаиморасчеты ведутся" с "По заказам" на "По договору в целом". При попытке сохранить изменения вы увидите сообщение об ошибке, указывающее, что реквизиты, такие как "Организация", "Ведение взаиморасчетов", "Валюта взаиморасчетов", "Вид договора", "Вести по документам расчетов с контрагентом" и "Условия выполнения договора", не могут быть изменены, так как существуют документы, проведенные по данному договору. Это поведение программы является логичным и направлено на предотвращение некорректного учета.

Почему 1С блокирует изменение реквизита "Взаиморасчеты ведутся"?

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

  1. По договору в целом: Все расчеты агрегируются по договору.
  2. По заказам: Расчеты детализируются по каждому заказу покупателя или поставщику.
  3. По расчетным документам: Наиболее детальный учет, когда каждый платеж и отгрузка рассматриваются как отдельные объекты расчетов.

Если изменить этот реквизит в уже используемом договоре, то логика работы программы нарушается. Документы, проведенные ранее, формировали движения с одной детализацией, а новые документы или повторно проведенные старые попытаются сформировать движения с другой детализацией. Это приводит к нескольким серьезным проблемам:

Из-за этих критических последствий система 1С:УТ 10.3, а также более современные конфигурации (такие как 1С:ERP, 1С:КА, 1С:УТ 11), блокируют подобные изменения для поддержания целостности данных.

Рекомендуемые подходы для решения проблемы

Мы рассмотрим несколько вариантов решения этой задачи, начиная с наиболее безопасного и предпочтительного.

1. Создание нового договора и перенос сальдо (Наиболее предпочтительный и безопасный вариант)

Этот метод считается самым безопасным и рекомендованным, поскольку он не затрагивает уже сформированные движения по старым документам и обеспечивает чистый переход к новой логике взаиморасчетов.

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

  2. Сделайте новый договор основным: В карточке контрагента установите только что созданный договор в качестве основного. Это гарантирует, что в новые документы, которые вы будете создавать для данного контрагента, будет автоматически подставляться именно этот договор с правильными настройками взаиморасчетов.

  3. Перенесите существующие задолженности: Это ключевой шаг. Если по старому договору остался долг контрагента (или ваш долг перед контрагентом), авансы или предоплаты, их необходимо перенести на новый договор. Для этого используйте документ "Корректировка долга". Чтобы найти этот документ, перейдите в меню "Документы" -> "Взаиморасчеты" -> "Корректировка долга".

    При создании нового документа "Корректировка долга":

    • Установите вид операции "Перенос задолженности".
    • Укажите контрагента.
    • В секции "Откуда перенести" выберите старый договор.
    • В секции "Куда перенести" выберите новый договор.
    • В зависимости от того, что нужно перенести (задолженность покупателя, авансы покупателя, задолженность поставщику или авансы поставщику), заполните соответствующие вкладки. Система позволит вам подобрать остатки по старому договору и сформировать движения по новому.
    • Важный нюанс: При переносе задолженности через документ "Корректировка долга" для его корректного проведения суммы дебиторской и кредиторской задолженности (или авансов) должны быть равны. Если вы обнаружите разницу, возможно, потребуется ручная корректировка или тщательный анализ остатков. Мы рекомендуем перед проведением этого документа сверить сальдо по старому договору с помощью отчетов по взаиморасчетам (например, "Ведомость по взаиморасчетам с контрагентами").

    Пример заполнения документа "Корректировка долга" для переноса задолженности покупателя:

    1. Создаем новый документ "Корректировка долга".
    2. Вид операции: "Перенос задолженности".
    3. Контрагент: Выбираем нужного контрагента.
    4. На вкладке "Перенос задолженности покупателя":
      • Поле "Документ расчетов (старый)": оставляем пустым или выбираем конкретный документ, если перенос нужен по конкретной сделке.
      • Поле "Договор (старый)": выбираем старый договор.
      • Поле "Документ расчетов (новый)": оставляем пустым, если переносим на договор в целом.
      • Поле "Договор (новый)": выбираем новый договор.
      • Указываем "Сумму" задолженности, которую необходимо перенести.
    5. Аналогично заполняем вкладки "Перенос авансов покупателя", "Перенос задолженности поставщику", "Перенос авансов поставщику", если таковые имеются.
    6. После заполнения всех данных проводим документ.
  4. Пометьте старый договор как недействующий: После успешного переноса сальдо и начала работы с новым договором, старый договор рекомендуется пометить на удаление или снять с него флаг "Действует" (если такой функционал предусмотрен вашей конфигурацией), чтобы избежать его случайного использования в будущем.

2. Отмена проведения документов, изменение договора и повторное проведение (Трудоемкий и рискованный вариант)

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

  1. Найдите все документы: Вам необходимо идентифицировать все документы, в которых использовался изменяемый договор. Это могут быть реализации товаров и услуг, поступления товаров и услуг, платежные поручения, приходные и расходные кассовые ордера и другие документы, влияющие на взаиморасчеты.

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

  3. Измените реквизит договора: После того как все документы распроведены, вы сможете изменить реквизит "Взаиморасчеты ведутся" в карточке договора. Мы настоятельно рекомендуем выполнять это действие в монопольном режиме (когда в базе нет других активных пользователей), чтобы избежать конфликтов и неожиданных блокировок.

  4. Повторно проведите все документы: После изменения договора вам необходимо перепровести все ранее отмененные документы. Здесь также важен порядок проведения, чтобы избежать появления отрицательных остатков или некорректных взаиморасчетов. Этот процесс требует тщательной проверки, так как любая ошибка может привести к искажению данных. Мы рекомендуем выполнить групповое перепроведение документов, если это возможно в вашей конфигурации, или воспользоваться специализированными обработками.

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

Использование внешних обработок или "плохих" способов

Существуют сторонние внешние обработки для 1С:УТ 10.3, которые могут помочь автоматизировать процесс изменения реквизита "Ведение взаиморасчетов" в договорах контрагентов. Такие обработки часто позволяют выбрать, для каких именно договоров производить изменение. Однако, мы подчеркиваем, что использование подобных обработок требует крайней осторожности и глубокого понимания их работы. Они могут напрямую влиять на данные, и последствия их применения без должного анализа и тестирования на тестовой базе могут быть непредсказуемы. Всегда создавайте резервную копию перед использованием сторонних обработок.

Также в обсуждениях можно встретить упоминания о "плохом способе" – использовании отладки для изменения защищенных реквизитов. Этот метод заключается в обходе стандартных проверок системы и изменении данных напрямую. Мы категорически не рекомендуем использовать отладчик для таких целей в рабочей базе. Это может привести к необратимому нарушению целостности данных, повреждению базы и непредсказуемым ошибкам в будущем. Этот метод должен рассматриваться как крайняя мера для программистов в тестовых средах, но никак не для решения рабочих задач.

В заключение

Изменение реквизита "Взаиморасчеты ведутся" в договоре контрагента в 1С:УТ 10.3, когда по нему уже есть проведенные документы, является сложной задачей, требующей аккуратного подхода. Наиболее безопасным, контролируемым и рекомендуемым методом является создание нового договора с правильными настройками и последующий перенос сальдо расчетов с помощью документа "Корректировка долга". Метод с распроведением и перепроведением документов крайне трудоемок и рискован. Мы всегда рекомендуем проводить подобные операции в тестовой базе данных и обязательно делать резервные копии рабочей базы перед любыми серьезными изменениями.

← На главную