Проблема с выбором договора в 1С:Предприятие — одна из самых распространённых ошибок, с которой сталкиваются бухгалтеры, кладовщики и менеджеры. Ситуация, когда система не даёт выбрать нужный договор контрагента в документе (заказе, счёте, реализации), может парализовать работу отдела. В некоторых случаях список договоров пуст, в других — нужный договор просто неактивен или не отображается в выпадающем списке.
Причины этой проблемы разнообразны: от банальных ошибок в настройках справочника до сложных конфликтов в конфигурации. В этой статье мы разберём 10 ключевых причин, почему в 1С не выбирается договор, и дадим пошаговые инструкции по их устранению. Особое внимание уделим типичным ошибкам пользователей, настройкам прав доступа и нюансам работы с разными версиями платформы (1С:Бухгалтерия 3.0, 1С:Управление торговлей 11, 1С:ERP 2.5).
Если вы не программист, не пугайтесь технических терминов — мы объясним всё простым языком. Для опытных пользователей и разработчиков приведём SQL-запросы и примеры кода для диагностики.
1. Договор не проведён или имеет статус «Недействителен»
Самая очевидная, но часто упускаемая причина — договор не проведён в справочнике. В 1С договор, как и любой другой объект, может находиться в одном из трёх состояний:
- 📝 Черновик — создан, но не сохранён (не имеет даты и номера).
- ✅ Проведён — активен и доступен для выбора в документах.
- ❌ Недействителен — помечен на удаление или заблокирован.
Чтобы проверить статус договора:
- Откройте справочник
Контрагенты → [Выберите контрагента] → Договоры. - Найдите нужный договор и посмотрите на пиктограмму слева:
- 🔴 Красный крестик — помечен на удаление.
- 🟡 Жёлтый восклицательный знак — не проведён.
- 🟢 Зелёная галочка — проведён и активен.
Провести или Снять пометку удаления.Если договор помечен на удаление, но вам нужно его восстановить, используйте обработку "Восстановление помеченных объектов" (доступна в режиме "Все функции").
⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP) договоры могут автоматически блокироваться при истечении срока действия. Проверьте поле Действителен до в карточке договора.
2. Ошибки в настройках видов договоров
В 1С каждый договор привязан к виду договора — это шаблон, который определяет его свойства (валюту, тип расчётов, налоговые параметры). Если вид договора настроен неправильно, система может не показывать его в списке выбора.
Частые ошибки:
- 🔄 Вид договора не совместим с типом документа (например, пытаетесь выбрать договор
С покупателемв документеПоступление товаров). - 💰 В виде договора не указана валюта, а в документе она обязательна.
- 📅 Вид договора имеет ограничения по датам (например, действует только с 01.01.2026).
Как проверить:
- Откройте справочник
Виды договоров(Справочники → Покупки и продажи → Виды договоров). - Найдите вид, к которому относится ваш договор, и проверьте:
- Флаг
Активен. - Совместимость с типом документа (например,
Реализация товаров и услуг). - Параметры
Вид расчётов(аванс/постоплата) иВид цен.
- Флаг
| Параметр вида договора | Возможная проблема | Решение |
|---|---|---|
Тип договора |
Указан С поставщиком, а нужен С покупателем |
Изменить тип или создать новый вид |
Валюта |
Не совпадает с валютой документа | Указать ту же валюту или сделать универсальный вид |
Действителен с/по |
Дата документа выходит за пределы действия | Скорректировать даты или создать новый договор |
3. Ограничения по организационной структуре
В корпоративных конфигурациях (например, 1С:ERP или 1С:Управление холдингом) договоры могут быть привязаны к конкретной организации, подразделению или ответственному лицу. Если в документе указана другая организация, договор не будет отображаться.
Примеры ограничений:
- 🏢 Договор заключён от имени
ООО "Ромашка", а в документе выбранаИП Иванов. - 👥 Договор доступен только пользователям с ролью
Менеджер по продажам, а вы зашли какКладовщик. - 📊 Договор привязан к подразделению
Отдел оптовых продаж, а документ создаётся вРозничном отделе.
Как исправить:
- Откройте карточку договора и проверьте поля:
Организация.Подразделение.Ответственный.
Как проверить права доступа к договору?
Чтобы узнать, почему пользователь не видит договор, выполните следующие шаги:
- Зайдите в
Администрирование → Настройки пользователей и прав. - Выберите роль пользователя (например,
Бухгалтер). - Проверьте права на справочник
Договоры контрагентов(должны быть галочкиПросмотриВыбор). - Если прав нет, добавьте их или обратитесь к администратору.
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Документооборот) договоры могут блокироваться на уровне бизнес-процессов. Если договор находится в статусе На согласовании, он не будет доступен для выбора в документах.
4. Конфликты в данных: дубли договоров или ошибки ссылок
Если в базе есть дублирующиеся договоры с одинаковыми реквизитами или битые ссылки (например, договор ссылается на несуществующего контрагента), система может не показывать их в списке выбора. Это частая проблема после миграции данных или некорректного импорта.
Признаки конфликтов:
- 🔍 Договор виден в справочнике, но не отображается в документе.
- ⚠️ При попытке выбрать договор появляется ошибка
Недопустимое значение. - 📊 В журнале регистрации (
Администрирование → Журнал регистрации) есть записи об ошибках ссылочной целостности. - Проверка дублей:
- Откройте справочник
Договоры контрагентов. - Отсортируйте по полю
НомерилиКонтрагент. - Найдите договоры с одинаковыми номерами/датами и объедините их или пометьте на удаление лишние.
- Откройте справочник
- Поиск битых ссылок:
Открыть
Все функции → Стандартные → Поиск и замена значений|В поле "Тип значения" выбрать
ДоговорыКонтрагентов|Установить флаг "Показывать только объекты с битыми ссылками"|
Нажать "Найти" и исправить ошибки вручную-->
- SQL-запрос для поиска дублей (для программистов):
ВЫБРАТЬДоговорыКонтрагентов.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.Номер КАК Номер,
ДоговорыКонтрагентов.Дата КАК Дата,
ДоговорыКонтрагентов.Контрагент КАК Контрагент
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
УПОРЯДОЧИТЬ ПО
Контрагент, Номер, Дата
Как диагностировать и исправить:
⚠️ Внимание: Если в базе много битых ссылок, не удаляйте их вручную — используйте обработку Поиск и исправление ссылочной целостности (доступна в 1С:Предприятие 8.3.20+).
5. Ошибки в настройках ролей и прав доступа
Если пользователь не видит договоры в списке выбора, проблема может крыться в недостаточных правах доступа. В 1С права настраиваются через роли, которые определяют, какие объекты и действия доступны пользователю.
Типичные ошибки:
- 🔐 У пользователя нет прав на просмотр справочника
Договоры контрагентов. - 📋 Права есть, но только на
собственныедоговоры (например, менеджер видит только те договоры, где он указан какОтветственный). - 🔄 Права даны на уровне
подразделения, но пользователь привязан к другому подразделению.
Как проверить и исправить:
- Зайдите в
Администрирование → Пользователи. - Выберите пользователя, у которого проблема, и нажмите
Настройки прав. - Проверьте, какие роли назначены. Для работы с договорами обычно нужны:
Полные права(для администраторов).БухгалтерилиМенеджер по продажам(для обычных пользователей).
Администрирование → Настройки пользователей и прав → Роли.Перед изменением прав сделайте резервную копию базы! Ошибки в настройках ролей могут привести к блокировке доступа ко всей системе.
⚠️ Внимание: В облачных версиях 1С (например, 1С:Фреш) настройки прав могут отличаться. Некоторые роли там заблокированы для редактирования.
6. Проблемы с датами действия договора
В 1С у каждого договора есть поля Действителен с и Действителен по. Если дата документа выходит за эти рамки, договор не будет отображаться в списке выбора. Это частая ошибка при работе с долгосрочными договорами или при переносе данных из прошлых периодов.
Примеры:
- 📅 Договор действует с
01.01.2023, а вы создаёте документ от10.12.2022. - ⏳ Договор истёк
31.12.2023, а вы пытаетесь использовать его в документе от15.01.2026. - 🔄 Договор бессрочный, но в настройках вида договора стоит ограничение по датам.
Как исправить:
- Откройте карточку договора и проверьте поля
Действителен сиДействителен по. - Если даты неверные, скорректируйте их или создайте новый договор с актуальным периодом.
- Для бессрочных договоров оставьте поле
Действителен попустым.
⚠️ Внимание: В некоторых отраслевых решениях (например, 1С:Управление производственным предприятием) даты договора могут автоматически корректироваться при проведении документа. Если после изменения дат договор всё равно не выбирается, проверьте Журнал регистрации на наличие ошибок.
Важно: Если договор привязан к конкретному проекту или заказу, его даты действия могут синхронизироваться с датами проекта. В этом случае изменить их можно только через карточку проекта.
7. Технические ошибки: блокировки, кэш, обновления
Иногда проблема с выбором договора не связана с настройками, а вызвана техническими сбоями в работе 1С. Это может быть:
- 🔒 Блокировка объекта другим пользователем (например, кто-то редактирует договор в данный момент).
- 🗑️ Устаревший кэш (1С сохраняет временные данные, которые могут конфликтовать с актуальными).
- 🔄 Несовместимость версий (например, после обновления конфигурации).
Как диагностировать и устранить:
| Проблема | Признаки | Решение |
|---|---|---|
| Блокировка объекта | При попытке выбрать договор появляется сообщение Объект заблокирован пользователем [Имя] |
Дождитесь, когда пользователь завершит работу, или снимите блокировку через Администрирование → Поддержка и обслуживание → Блокировки |
| Устаревший кэш | Договор не отображается, хотя в справочнике он есть и проведён | Очистите кэш: Файл → Открыть → [Выберите базу] → Зажать Shift + Enter |
| Несовместимость версий | После обновления 1С договоры перестали отображаться в старых документах | Проверьте журнал обновлений (Администрирование → Обновление конфигурации) и при необходимости откаттесь на предыдущую версию |
⚠️ Внимание: Если проблема возникла после обновления 1С, проверьте Протокол обновления на наличие ошибок. В некоторых случаях требуется тестирование и исправление базы (Администрирование → Тестирование и исправление).
Если после очистки кэша проблема осталась, попробуйте перезапустить 1С с ключом /ClearCache. Для этого создайте ярлык для 1С и в поле "Объект" добавьте путь к исполнительному файлу + /ClearCache.
8. Особенности работы в распределённых базах (РИБ)
Если вы работаете в распределённой информационной базе (РИБ), проблема с выбором договора может быть связана с несинхронизированными данными между узлами. Например:
- 🔄 Договор создан в центральном офисе, но не синхронизирован с филиалом.
- 📡 В филиале договор помечен на удаление, а в головном офисе — нет.
- 🔗 Разные версии договоров в разных узлах (конфликт репликации).
Как проверить и исправить:
- Откройте
Администрирование → Распределённые информационные базы. - Проверьте статус синхронизации:
- Если есть ошибки, нажмите
Выполнить синхронизацию. - Если конфликты — разрешите их вручную (выберите приоритетный узел).
- Если есть ошибки, нажмите
- Права доступа узла на изменение справочника
Договоры контрагентов. - Настройки
Правил обмена(возможно, договор исключён из обмена).
⚠️ Внимание: В РИБ не рекомендуется редактировать один и тот же договор одновременно в разных узлах. Это может привести к неразрешимым конфликтам, которые потребуют ручного исправления в Консоли администрирования сервера 1С.
FAQ: Частые вопросы по проблеме с выбором договора
Почему в 1С не отображаются договоры конкретного контрагента?
Это может быть связано с:
- 🔹 Фильтром по контрагенту в документе (проверьте, какой контрагент указан в шапке).
- 🔹 Ограничениями по организации (договор привязан к другой организации).
- 🔹 Правами доступа (пользователь не видит договоры этого контрагента).
Решение: Откройте справочник Договоры контрагентов и проверьте фильтр по контрагенту. Если договоров нет, значит, они не созданы или удалены.
Как восстановить случайно удалённый договор?
Если договор помечен на удаление, его можно восстановить:
- Зайдите в
Все функции → Стандартные → Восстановление помеченных объектов. - Выберите справочник
ДоговорыКонтрагентов. - Найдите нужный договор и снимите пометку удаления.
Если договор полностью удалён (не помечен, а физически стёрт), восстановить его можно только из резервной копии базы.
Почему в документе «Реализация» не видно договоров с типом «С поставщиком»?
Это нормальное поведение 1С: в документе Реализация товаров и услуг можно выбрать только договоры с типом С покупателем. Аналогично, в Поступлении отображаются только договоры С поставщиком.
Решение: Создайте новый договор с правильным типом или измените тип существующего в справочнике Виды договоров.
Можно ли массово изменить даты действия договоров?
Да, для этого можно использовать:
- 🔹 Обработку «Групповое изменение реквизитов» (доступна в
Все функции). - 🔹 SQL-запрос (для программистов):
ВЫБРАТЬДоговорыКонтрагентов.Ссылка КАК Ссылка
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
ДоговорыКонтрагентов.ДействителенПо < ТЕКУЩАЯДАТА()
И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
Затем обновите даты через
Обработку проведения документов.
⚠️ Перед массовым изменением обязательно сделайте резервную копию базы!
Что делать, если договор не выбирается только в одном документе?
Проблема может быть в настройках шаблона документа или бизнес-процесса:
- Проверьте, не установлен ли в документе фильтр по виду договора (например, только
Договор комиссии). - Откройте форму документа в режиме
Все действия → Изменить формуи проверьте настройки элементов управления. - Если документ создаётся на основе бизнес-процесса, проверьте его настройки в
Администрирование → Бизнес-процессы.