Многие пользователи и администраторы системы 1С:Управление нашей фирмой (УНФ) сталкиваются с ситуацией, когда сразу после нажатия кнопки «Записать» в карточке нового контрагента в списке договоров магическим образом появляется запись «Основной договор». Ситуация осложняется, если в базе ведется учет по нескольким организациям: программа часто подставляет «не ту» организацию, что вынуждает пользователя тратить время на ручную правку. Разберемся, почему так происходит, и как мы можем на это повлиять.
Для начала проанализируем, почему разработчики типового решения выбрали именно такой путь. В отличие от 1С:Управление торговлей (УТ 11), где ведение учета по договорам является опциональным и включается функциональной опцией, в 1С:УНФ договор является обязательным аналитическим разрезом. Рассмотрим подробнее, на что это влияет:
Заказ покупателя, Расходную накладную или Приходный кассовый ордер без указания договора. Это ключевое звено, связывающее финансовые и товарные потоки.1С:Бухгалтерия 3.0. В бухгалтерской программе наличие договора также критично для корректного формирования проводок по счетам 60 и 62. Автоматическое создание договора в УНФ гарантирует, что при синхронизации данных объект не «потеряется» и не вызовет ошибок обмена.Пользователи часто жалуются: «Почему договор создается на основную организацию, если контрагент работает с другой?». Проанализируем ситуацию с точки зрения программного кода. Система не выбирает организацию случайным образом. Она следует строгому алгоритму приоритетов:
Настройки — Мои настройки. Если там заполнено поле Основная организация, именно она будет подставлена в новый договор.Организации.Решение проблемы «не той» организации: Чтобы избежать путаницы, пользователям, работающим с конкретным филиалом или юрлицом, необходимо установить соответствующую организацию в своих персональных настройках перед началом ввода контрагентов.
Если автоматизация вам мешает и вы хотите, чтобы менеджеры создавали договоры осознанно и только тогда, когда это нужно, нам придется заглянуть в Конфигуратор. Рассмотрим, какие методы отвечают за это поведение.
В модуле менеджера справочника Контрагенты (или в модуле объекта, в зависимости от версии) вызывается процедура с характерным названием, например, СоздатьОсновнойДоговорПриНеобходимости. Чтобы отключить этот механизм, не снимая базу с поддержки, лучше всего использовать Расширение конфигурации.
Разберем пример кода для расширения, которое блокирует автоматическое создание:
&Вместо("СоздатьОсновнойДоговорПриНеобходимости")
Процедура ИТ_СоздатьОсновнойДоговорПриНеобходимости(Контрагент, Организация = Неопределено)
// Мы просто оставляем тело процедуры пустым.
// Таким образом, стандартная логика создания договора не сработает.
// Возврат;
КонецПроцедуры
Однако помните: если вы просто отключите создание договора, пользователи столкнутся с тем, что при попытке создать первый документ продажи программа будет выдавать ошибку «Поле "Договор" не заполнено». Вам придется либо разрешить пользователям создавать договоры вручную, либо настроить их создание при вводе первого документа.
Если в вашей базе уже накопилось множество ошибочных договоров, созданных на неправильные организации, проанализируем ситуацию с исправлением данных. Нам поможет стандартная обработка «Групповое изменение реквизитов».
Пошаговый алгоритм действий:
Обслуживание — Корректировка данных — Групповое изменение реквизитов.Договоры контрагентов.Наименование содержит "Основной договор" и, например, Ссылка.Владелец.ДатаСоздания в периоде....Организация выберите правильное значение.Важно: Перед выполнением групповых операций всегда делайте резервную копию базы данных! Для регулярного создания бэкапов и технического обслуживания ИТ-специалисты настраивают автоматическое архивирование и обновление баз 1С по расписанию.
В современных релизах на платформе 8.3.20+ разработчики внедрили механизмы «быстрого ввода». Теперь система старается заполнить максимум данных по ИНН. Важно понимать, что сервис 1С:Контрагент при заполнении реквизитов по ИНН также инициирует запись объекта, что автоматически запускает процедуру создания договора. Даже если вы не нажимали «Записать», а просто выбрали контрагента из подсказок, договор может быть создан «в фоне».
Посмотрим на ситуацию с точки зрения настройки интерфейса. К сожалению, на текущий момент (версия 3.0.x) флажка «Отключить автоматическое создание договора» в пользовательском режиме не существует. Это считается базовой логикой упрощенного учета «от коробки».
Мы выяснили, что автоматическое создание договора в УНФ — это не ошибка, а осознанное решение архитекторов для упрощения учета. Чтобы работа была комфортной:
Мои настройки и установите там правильную рабочую организацию.СоздатьОсновнойДоговорПриНеобходимости, если бизнес-процесс требует ручного контроля договоров.Такой подход позволит вам эффективно управлять справочниками, не вступая в конфликт с внутренней логикой программы.