Вы открываете документ в 1С:Предприятие, пытаетесь его провести или изменить — и внезапно видите сообщение: «Документ находится в состоянии просмотра». Что это значит? Почему система не даёт редактировать или удалять запись? И главное — как вернуть контроль над документом, не нарушив учёт?

Эта ситуация знакома многим пользователям , особенно в многопользовательских базах. «Состояние просмотра» — не ошибка, а защитный механизм, предотвращающий конфликты при одновременной работе с данными. Однако если документ «завис» в этом состоянии надолго или без видимой причины, это может парализовать работу. В статье разберём:

  • 🔍 Что такое «состояние просмотра» и как оно отличается от блокировки
  • ⚙️ Причины появления — от сетевых сбоев до ошибок конфигурации
  • 🛠️ Способы снятия состояния через интерфейс и консоль администратора
  • ⚠️ Что делать, если документ «завис» навсегда и не реагирует на стандартные методы

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

📊 Как часто вы сталкиваетесь с «состоянием просмотра» в 1С?
Часто (несколько раз в неделю)
Иногда (раз в месяц)
Рядом (пару раз в год)
Никогда не видел такой проблемы

Что такое «состояние просмотра» в 1С?

«Состояние просмотра» (ViewState в терминологии платформы) — это временный статус документа, который возникает, когда:

  • 👁️ Пользователь открыл документ для просмотра (но не для редактирования)
  • 🔄 Система фиксирует, что данные могут быть востребованы другими пользователями
  • 📡 Происходит обмен данными между клиентом и сервером (например, при медленном соединении)

В отличие от блокировки (когда документ редактируется), состояние просмотра не должно мешать другим пользователям открывать этот же документ. Однако на практике оно может «зависать» из-за:

  • 💻 Аварийного закрытия (например, при падении клиента или отключении света)
  • 🌐 Проблем с сетевым подключением к серверу базы данных
  • 🐛 Ошибок в конфигурации или триггерах документа

Технически состояние просмотра хранится в системных таблицах платформы и должно автоматически сниматься при:

  • Закрытии формы документа пользователем
  • Истечении тайм-аута сессии (обычно 5–30 минут, зависит от настроек сервера)
  • Перезагрузке сервера 1С:Предприятие
💡

Если документ в состоянии просмотра мешает срочной работе, попробуйте сначала просто подождать 10–15 минут — часто система снимает статус автоматически.

Как отличить «состояние просмотра» от блокировки?

Пользователи часто путают эти два понятия, хотя они решаются по-разному. Вот ключевые различия:

Параметр Состояние просмотра Блокировка (монопольный доступ)
Причина Открытие документа для чтения, сетевые задержки Редактирование документа пользователем
Кто может видеть документ Все пользователи (только для чтения) Только тот, кто заблокировал
Автоснятие Через 5–30 минут или при закрытии формы Только после сохранения/отмены изменений
Как снять вручную Через «Администрирование» или SQL-запрос Только пользователь, заблокировавший документ

Если вы видите сообщение Документ изменяется пользователем [Имя] — это блокировка. Если же просто Документ находится в состоянии просмотра без указания пользователя — речь именно о ViewState.

⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP или 1С:УТ 11) состояние просмотра может комбинироваться с другими статусами (например, «Помечен на удаление»). В этом случае сначала снимайте состояние просмотра, а затем работайте с дополнительными метками.

Причины «зависания» документа в состоянии просмотра

В 80% случаев проблема возникает из-за некорректного завершения сессии. Но есть и другие причины:

  1. Аварийное завершение работы :

    Пользователь открыл документ, а затем:

    • 🖥️ Закрыл программу через «Диспетчер задач»
    • 🔌 Отключилось электричество или пропал интернет
    • 🔄 Сервер был перезагружен без предупреждения
  2. Ошибки в конфигурации:

    Если в модуле документа есть код, который:

    • 🐞 Не закрывает транзакции
    • 🔗 Вызывает рекурсивные обращения к самому себе
    • 📡 Долго выполняет сетевые запросы (например, к веб-сервисам)
  • Проблемы с сервером базы данных:

    Например, в Microsoft SQL Server или PostgreSQL:

    • 🗄️ Зависание транзакций
    • 🛑 Остановка службы агента SQL
    • 📦 Переполнение временных таблиц (tempdb)

    Реже проблема связана с:

    • 🕒 Неправильными настройками тайм-аута сессий в кластере серверов
    • 🔧 Конфликтами расширений конфигурации (если используются)
    • 📦 Повреждением индексов в базе данных
    Как проверить, не висит ли документ в транзакции SQL?

    Откройте SQL Server Management Studio и выполните запрос:

    SELECT
    

    t.session_id,

    s.host_name,

    s.program_name,

    t.transaction_id,

    t.name,

    t.transaction_begin_time

    FROM sys.dm_tran_active_transactions t

    JOIN sys.dm_tran_session_transactions st ON t.transaction_id = st.transaction_id

    JOIN sys.dm_exec_sessions s ON st.session_id = s.session_id

    WHERE t.name LIKE '%1C%';

    Если в результатах есть записи старше 30 минут — транзакция зависла и требует принудительного завершения.

    Как снять состояние просмотра через интерфейс 1С

    Если у вас есть права администратора, попробуйте эти методы без доступа к серверу:

    Способ 1: Через «Администрирование» → «Активные пользователи»

    Этот метод работает в большинстве конфигураций (1С:Бухгалтерия, 1С:ЗУП, 1С:УТ и др.):

    1. Откройте главное меню и выберите Администрирование → Активные пользователи.
    2. В списке найдите пользователя, который должен был работать с документом (даже если он сейчас не в сети).
    3. Нажмите Завершить сеанс или Отключить (в зависимости от версии).
    4. Подтвердите действие и дождитесь обновления списка.

    Если пользователь не отображается в списке, но документ всё равно в состоянии просмотра — переходите к следующему способу.

    Способ 2: Переоткрытие документа в новом окне

    Иногда помогает банальный приём:

    1. Закройте все открытые окна с документом.
    2. Нажмите Ctrl + Shift + N (или выберите в меню Файл → Новое окно).
    3. В новом окне попробуйте открыть документ заново.

    Если документ открылся без сообщения о состоянии просмотра — проблема решена. Если нет — переходите к административным методам.

    Убедитесь, что документ не редактируется другим пользователем|

    Сделайте резервную копию базы (если работаете на тестовом сервере)|

    Проверьте права доступа (нужны права администратора)|

    Закройте все сессии 1С на своём компьютере-->

    Административные методы снятия состояния просмотра

    Если стандартные способы не помогли, потребуется доступ к консоли администратора или серверу базы данных.

    Метод 1: Через «Управление блокировками» в консоли 1С

    Этот способ подходит для серверных версий 1С:Предприятие 8.3:

    1. Откройте Пуск → 1С Предприятие 8.3 → Администрирование серверов 1С:Предприятие.
    2. Подключитесь к кластеру серверов.
    3. Выберите вашу информационную базу и перейдите в раздел Блокировки.
    4. Найдите в списке документ по его Ссылке или Идентификатору.
    5. Нажмите Снять блокировку (если есть такая кнопка) или Удалить.

    Если блокировка не отображается, но документ всё равно в состоянии просмотра — проблема может быть на уровне SQL.

    Метод 2: SQL-запрос для принудительного снятия

    Для Microsoft SQL Server выполните этот запрос (предварительно сделайте бэкап базы!):

    -- Удаление состояния просмотра для конкретного документа
    

    DECLARE @DocRef UNIQUEIDENTIFIER = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'; -- Замените на идентификатор документа

    DELETE FROM v8locks WHERE Data LIKE '%' + CAST(@DocRef AS NVARCHAR(36)) + '%';

    Чтобы найти идентификатор документа:

    1. Откройте документ в и скопируйте его ссылку (через контекстное меню или Ctrl + Shift + C).
    2. В ссылке будет параметр ref= — это и есть UNIQUEIDENTIFIER.
    ⚠️ Внимание: Неправильный SQL-запрос может повредить данные! Если не уверены в своих навыках — обратитесь к специалисту по . В облачных версиях (например, 1С:Фреш) прямой доступ к SQL обычно запрещён.

    Метод 3: Перезагрузка сервера 1С

    Если документ «завис» из-за системного сбоя, поможет перезапуск служб:

    1. На сервере откройте Пуск → Администрирование → Службы.
    2. Найдите службы:
      • 1C:Enterprise 8.3 Server Agent
      • 1C:Enterprise 8.3 Server
  • Поочерёдно остановите и запустите их заново.
  • После перезагрузки все временные состояния (включая ViewState) сбросятся. Однако этот метод разрывает все активные сессии — предупредите пользователей!

    Что делать, если документ «завис» навсегда?

    В редких случаях состояние просмотра становится «вечным» — не снимается ни через интерфейс, ни через SQL. Это может происходить из-за:

    • 🔄 Циклических ссылок в метаданных документа
    • 🗃️ Повреждения системных таблиц базы данных
    • 📜 Ошибок в триггерах (например, в модуле объекта)

    В таких случаях поможет:

    Шаг 1: Проверка целостности базы

    Выполните тестирование и исправление через Конфигуратор:

    1. Откройте базу в режиме Конфигуратор (с правами администратора).
    2. Выберите Администрирование → Тестирование и исправление.
    3. Отметьте флажки:
      • 🔧 Проверять логическую целостность
      • 🔧 Проверять ссылочную целостность
      • 🔧 Реиндексировать таблицы
  • Нажмите Выполнить и дождитесь окончания процесса.
  • Если будут найдены ошибки — исправьте их (опция Исправлять автоматически).

    Шаг 2: Обновление конфигурации

    Если проблема появилась после обновления , попробуйте:

    1. Сравнить и обновить конфигурацию (Конфигуратор → Конфигурация → Сравнить, объединить с конфигурацией из файла).
    2. Загрузить актуальную версию с сайта 1С:ИТС и повторить обновление.
    3. Шаг 3: Обращение в поддержку 1С

      Если ни один метод не помог, соберите следующую информацию для обращения в поддержку:

      • 📝 Логи сервера 1С (папка C:\Program Files\1cv8\srvinfo\reg_1541\)
      • 📊 Дамп системных таблиц (если есть доступ к SQL)
      • 📋 Скриншоты ошибок и шаги для их воспроизведения

      Опишите проблему максимально подробно — это ускорит решение.

      💡

      Если документ критически важен (например, платёжное поручение), а состояние просмотра не снимается — создайте его копию через Действия → Скопировать и работайте с копией, пока оригинал не будет разблокирован.

      Как предотвратить повторное возникновение проблемы?

      Чтобы минимизировать риски «зависания» документов:

      • 🔄 Настройте тайм-ауты сессий:

        В файле конфигурации кластера (conf.cfg) добавьте параметры:

        maxSessionTimeout = 1800  -- 30 минут
        

        defaultSessionTimeout = 900 -- 15 минут

      • 📡 Оптимизируйте сеть:

        Если пользователи работают по VPN или медленному интернету, увеличьте параметр NetworkTimeout в настройках сервера.

      • 🛡️ Регулярно обновляйте платформу:

        В новых версиях 1С:Предприятие 8.3.20+ улучшена обработка состояний просмотра.

      • 📚 Обучайте пользователей:

        Напоминайте сотрудникам не закрывать 1С через «Диспетчер задач» и правильно завершать сессии.

      Для критически важных баз (например, в банках или крупных компаниях) рекомендуется:

      • 🔄 Настроить репликацию базы данных для быстрого восстановления.
      • 📊 Использовать мониторинг блокировок (например, через 1С:Администратор сервера).
      FAQ: Частые вопросы по состоянию просмотра в 1С
      Можно ли редактировать документ в состоянии просмотра?

      Нет, пока статус не снят, документ доступен только для чтения. Попытка редактирования приведёт к ошибке Объект заблокирован другим пользователем.

      Как узнать, какой пользователь «заблокировал» документ?

      В большинстве случаев состояние просмотра не привязано к конкретному пользователю (в отличие от блокировки). Если в сообщении не указано имя — проблема в системном сбое, а не в действиях сотрудника.

      Что будет, если принудительно снять состояние просмотра через SQL?

      В 99% случаев это безопасно, так как ViewState — временная метка. Однако если в этот момент шёл обмен данными (например, при репликации), возможны несоответствия в данных. Всегда делайте бэкап перед ручными изменениями!

      Почему состояние просмотра появляется в однопользовательской базе?

      Даже в файловом варианте (без сервера) состояние просмотра может возникать из-за:

      • Некорректного закрытия программы
      • Ошибок в коде конфигурации
      • Повреждения файла базы (1Cv8.1CD)

    Решение: выполните Тестирование и исправление через Конфигуратор.

    Как автоматизировать снятие «зависших» состояний?

    Для серверных баз можно настроить регламентное задание, которое будет раз в час проверять и снимать устаревшие состояния. Пример кода для обработки:

    Процедура ОчиститьЗависшиеСостоянияПросмотра()
    

    Запрос = Новый Запрос;

    Запрос.Текст =

    "ВЫБРАТЬ

    | СостоянияПросмотра.Ссылка КАК Ссылка,

    | СостоянияПросмотра.ВремяСоздания КАК ВремяСоздания

    |ИЗ

    | РегистрСведений.СостоянияОбъектов КАК СостоянияПросмотра

    |ГДЕ

    | СостоянияПросмотра.ВидСостояния = &ВидСостояния

    | И СостоянияПросмотра.ВремяСоздания < &ГраницаВремени";

    Запрос.УстановитьПараметр("ВидСостояния", ВидСостоянияОбъекта.Просмотр);

    Запрос.УстановитьПараметр("ГраницаВремени", ТекущаяДата() - 3600); // Старее 1 часа

    Результат = Запрос.Выполнить();

    Пока Результат.Следующий() Цикл

    Попытка

    Состояние = Результат.Ссылка.ПолучитьОбъект();

    Состояние.Удалить();

    Исключение

    ЗаписатьЖурналРегистрации(НСтр("ru = 'Ошибка при удалении состояния просмотра: '") + ОписаниеОшибки());

    КонецПопытки;

    КонецЦикла;

    КонецПроцедуры