Часто при переходе на 1С:Управление торговлей 11 разработчики и пользователи сталкиваются с неожиданной архитектурной особенностью: справочник договоров больше не подчинен справочнику контрагентов напрямую. Если мы попытаемся использовать стандартное поле Владелец для выборки договоров конкретного контрагента, система не выдаст нужный результат. Давайте разберем по шагам, почему разработчики 1С выбрали такую структуру, и проанализируем ситуацию с технической точки зрения.
Чтобы понять логику связи, рассмотрим концепцию учета в УТ 11. В этой конфигурации заложена система раздельного ведения управленческого и регламентированного учета. Для этого используются два разных справочника:
Так как договоры всегда заключаются между конкретными юридическими лицами, они привязываются именно к Контрагентам. Однако классическое жесткое подчинение справочника (как это реализовано, например, в 1С:Бухгалтерии) здесь применять нельзя. В системе не может быть двух владельцев у одного справочника. Такая структура позволяет гибко выстраивать бизнес-цепочки: один партнер (например, головной офис холдинга) может работать от лица нескольких контрагентов (разных ООО), или наоборот — одно юридическое лицо может выступать как торговая сеть с множеством филиалов (разными партнерами).
Посмотрим на настройки программы, которые влияют на визуальное отображение этих справочников:
Важно отметить, что использование справочника договоров в УТ 11 не является строго обязательным. Основным документом, который регулирует условия продаж, является Соглашение с клиентом. Если в соглашении выбрать вариант ведения расчетов По заказам или По накладным, вести учет договоров в системе вообще не потребуется.
Разберем решение для разработчиков. Так как справочник договоров технически не имеет владельца, использовать отбор по полю Владелец в запросах нельзя. Связь реализована через реквизит справочника.
Чтобы выбрать все договоры конкретного контрагента, необходимо обращаться напрямую к таблице справочника и делать отбор по реквизиту Контрагент. Посмотрим на пример кода на языке запросов:
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Договор,
ДоговорыКонтрагентов.Наименование КАК Наименование,
ДоговорыКонтрагентов.Статус КАК Статус
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
ДоговорыКонтрагентов.Контрагент = &Контрагент
И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
В этом запросе мы обращаемся к справочнику ДоговорыКонтрагентов и используем параметр &Контрагент для фильтрации по одноименному реквизиту. Дополнительно можно добавить отбор по статусу договора или партнеру, в зависимости от бизнес-логики вашей задачи.
Подводя итог, можно сказать, что отвязка договоров от жесткого подчинения владельцу — это осознанный архитектурный шаг разработчиков 1С, который обеспечивает максимальную гибкость при построении управленческого учета в сложных торговых структурах.