Быстрый старт · 9 мин
Как узнать, проведен документ или нет в 1С
Как проверить, проведен документ или нет в 1С: визуальные признаки в списке, запросы, программные методы Проведен() и типичные ошибки при работе.
Статус проведения — ключевой признак документа в 1С: только проведённый документ формирует движения по регистрам и влияет на учёт. Непроведённый документ существует в базе как черновик: его данные видны в списках, но отчёты и остатки его не учитывают. Поэтому умение быстро определить, проведён документ или нет, нужно и бухгалтеру, и программисту, и администратору.
Проверить статус можно несколькими способами: визуально в журнале документов, внутри формы самого документа, через стандартные отчёты, программно на встроенном языке или запросом. Выбор способа зависит от задачи: разовая проверка одного документа делается мышкой за пару секунд, а массовый контроль тысяч документов разумнее выполнить запросом или отчётом.
Визуальная проверка в списке документов
Самый простой способ — открыть журнал документов нужного вида, например «Поступления товаров и услуг» или «Реализация товаров и услуг». В типовых конфигурациях статус проведения отображается пиктограммой в первой колонке списка. Проведённый документ обычно отмечен значком документа с зелёной галочкой или без дополнительных пометок, в зависимости от конфигурации.
Непроведённый документ выглядит иначе: значок без галочки, а помеченный на удаление — с красным крестиком. В некоторых конфигурациях непроведённые документы дополнительно отображаются серым цветом. Если навести курсор на пиктограмму, всплывающая подсказка покажет статус текстом.
Для массовой визуальной проверки удобно отсортировать или сгруппировать список по колонке со статусом. В управляемых формах это делается через меню «Ещё» → «Настроить список», где можно добавить отбор по признаку проведения и вывести только непроведённые документы за период.
Движения записаны в регистры, документ участвует в учёте
Это черновик: данные есть, но учёт не затронут
Документ не проведён и ожидает удаления из базы
Проверка внутри формы документа
Откройте документ двойным щелчком и посмотрите на командную панель. Если доступна кнопка «Отменить проведение» (или «Распровести»), значит документ сейчас проведён. Если вместо неё активна кнопка «Провести» или «Провести и закрыть», документ находится в непроведённом состоянии.
Дополнительный признак — наличие движений. В типовых конфигурациях через меню «Ещё» доступна команда «Движения документа» или отдельная вкладка с движениями. Если список движений по регистрам заполнен, документ проведён; если вкладка пуста либо команда недоступна — нет.
Обратите внимание: если документ открыт в режиме только для просмотра или заблокирован другим пользователем, кнопки проведения могут быть недоступны независимо от фактического статуса. В этом случае ориентируйтесь на пиктограмму в заголовке формы или на движения документа.
- 1Откройте журнал документов нужного вида
- 2Найдите документ по номеру или дате
- 3Посмотрите на пиктограмму в первой колонке списка
- 4Откройте документ и проверьте активность кнопки «Отменить проведение»
- 5Для уверенности откройте движения документа и убедитесь, что записи по регистрам есть
Массовая проверка через отбор и отчёты
Когда нужно найти все непроведённые документы за период, ручной просмотр не подходит. В управляемых формах списка используйте настройку отбора: «Ещё» → «Настроить список» → добавьте условие «Проведен = Нет». Список покажет только черновики, которые могли остаться после обменов, загрузок или ошибок пользователей.
Во многих типовых конфигурациях есть штатные инструменты контроля. Например, обработка «Проведение документов» (в разделе администрирования или операций) позволяет выбрать вид документов и период, показать непроведённые документы и провести их пакетно. Это удобно для регламентной проверки перед закрытием месяца.
Ещё один вариант — универсальный отчёт по документам с группировкой по признаку проведения. В конфигурациях на СКД можно построить отчёт, который покажет количество проведённых и непроведённых документов по каждому виду за выбранный период.
Программная проверка на встроенном языке
Разработчику статус проведения доступен через свойство Проведен объекта документа. Свойство имеет тип Булево: значение Истина означает, что документ проведён, Ложь — что не проведён или помечен на удаление.
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Если ДокументОбъект.Проведен Тогда
Сообщить("Документ проведен");
Иначе
Сообщить("Документ не проведен");
КонецЕсли;
Если нужно только прочитать статус без изменения объекта, получать объект целиком необязательно — свойство доступно и через ссылку при обращении к реквизиту, что работает быстрее, так как не вызывает события объекта и не блокирует его.
Важный нюанс: помеченный на удаление документ всегда имеет Проведен = Ложь, поскольку при пометке на удаление проведение автоматически отменяется. Поэтому программно стоит различать три состояния: проведён, не проведён и помечен на удаление.
Проверка запросом
Для массовой проверки без обхода объектов используйте запрос к таблице документа. Поле Проведен есть у любого документа, для которого в конфигураторе разрешено проведение.
ВЫБРАТЬ
Реализация.Номер,
Реализация.Дата,
Реализация.Проведен
ИЗ
Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ
Реализация.Дата МЕЖДУ &НачалоПериода И &КонецПериода
И НЕ Реализация.Проведен
Такой запрос возвращает все непроведённые документы за период за одно обращение к базе. Это оптимальный способ для отчётов, обработок контроля и регламентных заданий. Запрос выполняется значительно быстрее, чем цикл с получением объекта каждого документа, особенно на больших объёмах данных.
Типичные ошибки и ограничения
Частая ошибка — путать «записан» и «проведён». Кнопка «Записать» сохраняет документ в базе, но не формирует движений. Документ может существовать месяцами в записанном, но непроведённом виде, и пользователи ошибочно считают, что он участвует в учёте.
Вторая ошибка — проверять статус после открытия формы, но до её обновления. Если документ был проведён в другом сеансе, открытая форма может показывать устаревшее состояние. Перед проверкой обновите список клавишей F5 или перечитайте объект.
Третья ошибка разработчиков — вызов ПолучитьОбъект() только ради чтения статуса в цикле по тысячам документов. Это создаёт лишнюю нагрузку и блокировки. Для чтения используйте запрос или обращение к реквизиту через ссылку.
Как выбрать способ проверки
FAQ
Чем отличается записанный документ от проведённого?
Записанный документ просто сохранён в базе как данные, но не создаёт движений по регистрам и не влияет на отчёты и остатки. Проведённый документ дополнительно формирует записи в регистрах и участвует в учёте.
Почему у помеченного на удаление документа статус «не проведён»?
При установке пометки на удаление система автоматически отменяет проведение документа. Поэтому свойство Проведен у такого документа всегда равно Ложь, а для различения состояний нужно проверять ещё и ПометкаУдаления.
Можно ли проверить проведение, не открывая документ?
Да. В списке документов статус виден по пиктограмме в первой колонке. Программно статус читается через ссылку или запросом без получения объекта и открытия формы.
Как найти все непроведённые документы за месяц?
Откройте журнал нужного вида документов, через «Ещё» → «Настроить список» добавьте отбор «Проведен = Нет» и ограничьте период. Для нескольких видов документов сразу используйте обработку проведения документов или запрос.
Что быстрее: запрос или обход объектов при массовой проверке?
Запрос к полю Проведен выполняется одним обращением к базе и работает значительно быстрее, чем цикл с ПолучитьОбъект() для каждого документа. Обход объектов оправдан только если помимо статуса нужно изменять документы.
Почему в форме недоступны кнопки проведения?
Кнопки могут быть заблокированы, если документ открыт другим пользователем, открыт в режиме просмотра, у вас нет прав на проведение или дата документа попадает в закрытый период. Сам статус при этом проверяйте по пиктограмме или движениям документа.
Что важно запомнить
Проведённый документ виден по пиктограмме в списке, активной кнопке «Отменить проведение» и заполненным движениям. Программно статус читается свойством Проведен или запросом, при этом помеченные на удаление документы всегда непроведённые. Для массовой проверки используйте отборы и запросы, а не обход объектов.