К статье
Практический материал

Документы и Печать · 10 мин

Как проверить, проведён документ или нет в 1С

Способы проверить, проведён ли документ в 1С: по значку в списке, через свойства, запросом на языке 1С и программно. Частые ошибки и проверка результата.

Статус проведения — одно из ключевых свойств любого документа в 1С. От него зависит, отразился ли документ в учёте: только проведённый документ формирует движения по регистрам и влияет на отчёты, остатки и взаиморасчёты. Непроведённый документ хранится в базе, но для учёта его как будто не существует.

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

Ниже разобраны все рабочие варианты с точными действиями, признаками результата и типичными ошибками, которые приводят к неверным выводам о состоянии документа.

Как определить статус документа по значку в списке

Самый быстрый способ — открыть список документов нужного вида и посмотреть на пиктограмму в первой колонке. Платформа 1С использует стандартные обозначения, одинаковые для большинства конфигураций.

Проведённый документ отображается с цветным значком документа, обычно с зелёной галочкой или «стрелкой». Непроведённый документ имеет бледный, приглушённый значок без отметки. Документ, помеченный на удаление, показывается с красным крестом поверх значка — при этом он может быть как проведённым, так и непроведённым, и это отдельный признак.

Цветной значок с галочкойДокумент проведён

Движения по регистрам сформированы, документ влияет на учёт

Бледный (серый) значокДокумент не проведён

Записан в базе, но движений нет, в отчёты не попадает

Красный крест на значкеПомечен на удаление

Проверьте отдельно статус проведения — пометка удаления его не отменяет автоматически

Если в списке много документов, воспользуйтесь отбором: в большинстве типовых конфигураций в настройках списка доступен отбор по полю «Проведён». Установите условие «Проведён = Нет», чтобы увидеть все непроведённые документы за период.

Проверка статуса внутри формы документа

Откройте сам документ и посмотрите на кнопки командной панели. Если активна кнопка «Провести», значит документ сейчас не проведён. Если доступна кнопка «Отмена проведения» (или «Распровести»), документ проведён. В интерфейсе «Такси» эти команды обычно находятся в верхней панели формы или в меню «Ещё».

Дополнительный признак — доступность команды «Показать движения» (иногда называется «Движения документа» или «Регистры»). У проведённого документа по этой команде открывается список записей в регистрах. Если документ не проведён, список движений будет пустым либо команда будет недоступна.

При попытке закрыть непроведённый документ после редактирования платформа обычно предлагает варианты: «Провести и закрыть» или «Записать». Само появление такого диалога — косвенный признак того, что документ не проведён.

Проверка через движения по регистрам

Самый надёжный способ убедиться, что документ действительно участвует в учёте, — посмотреть его движения. Откройте документ и выполните команду «Ещё → Движения документа» (в некоторых конфигурациях — кнопка «Перейти → Движения»). Откроется список регистров, по которым документ сделал записи.

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

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

Массовая проверка списка документов

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

Универсальный приём — открыть список документов, нажать «Ещё → Настроить список», добавить отбор «Проведён равно Нет» и ограничить период. Полученный список — это все непроведённые документы выбранного вида. Аналогично можно найти проведённые.

Порядок действий для массовой проверки
  1. 1
    Откройте список документов нужного вида за интересующий период
  2. 2
    Через «Ещё → Настроить список» добавьте отбор по полю «Проведён»
  3. 3
    Установите значение «Нет» для поиска непроведённых или «Да» для проведённых
  4. 4
    Проверьте результат: откройте несколько документов из списка и убедитесь, что их статус соответствует отбору
  5. 5
    При необходимости выделите документы и проведите их групповой командой «Провести» из меню «Ещё»

В конфигурациях на управляемых формах групповое проведение доступно прямо из списка: выделите документы мышью с клавишей Ctrl или Shift и выберите команду «Провести». Документы, которые не удалось провести (например, из-за нехватки остатков), останутся непроведёнными, а система покажет сообщения об ошибках.

Программная проверка: свойство Проведен и запрос

Для разработчиков и администраторов статус проведения доступен через свойство Проведен объекта документа. Это булево значение: Истина — документ проведён, Ложь — не проведён.

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

Если ДокументОбъект.Проведен Тогда

Сообщить("Документ проведён");

Иначе

Сообщить("Документ не проведён");

КонецЕсли;

Если нужно проверить много документов, получать объект каждого из них неэффективно и медленно. Правильнее использовать запрос к полю Проведен таблицы документа — оно доступно без загрузки объекта:

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

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

"ВЫБРАТЬ

| РеализацияТоваровУслуг.Ссылка,

| РеализацияТоваровУслуг.Проведен

|ИЗ

| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

|ГДЕ

| РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода

| И НЕ РеализацияТоваровУслуг.Проведен";

Разница принципиальна: ссылка на документ не содержит признака проведения, поэтому проверка «напрямую от ссылки» невозможна — нужен либо объект, либо запрос. Для единичной проверки допустим ПолучитьОбъект(), для пакетной — только запрос.

bsl
ВЫБРАТЬ
	Ссылка,
	Номер,
	Дата
ИЗ
	Документ.ПриходнаяНакладная
ГДЕ
	НЕ Проведен
	И НЕ ПометкаУдаления

Частые ошибки при определении статуса

Первая и самая распространённая ошибка — путать пометку удаления с отменой проведения. Пользователь видит красный крест и считает, что документ «не работает», но его движения продолжают попадать в отчёты до физического удаления. Перед пометкой на удаление сначала отменяйте проведение.

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

Третья ошибка касается программной проверки: попытка обратиться к ДокументСсылка.Проведен напрямую. У ссылки такого свойства нет — обращение завершится ошибкой. Нужен объект или запрос, как показано выше.

Типичные ошибки
01
Считать помеченный на удаление документ автоматически распроведённым — его движения остаются в регистрах и искажают отчёты
02
Проверять статус через ДокументСсылка.Проведен — у ссылки нет этого свойства, код выдаст ошибку
03
Использовать ПолучитьОбъект() в цикле для сотен документов — это резко замедляет обработку, используйте запрос
04
Путать «Записать» и «Провести» — записанный документ не формирует движений и не попадает в учёт

Как убедиться, что результат проверки верный

После любой проверки полезно подтвердить результат независимым способом. Откройте документ и сравните: состояние кнопок («Провести» / «Отмена проведения»), значок в списке и наличие движений должны согласовываться между собой.

Если документ проведён, но данные в отчёте отсутствуют, проверяйте не статус, а окружение: период формирования отчёта, отбор по организации и складу, вид операции и корректность заполнения реквизитов. Проведённый документ с пустым количеством или нулевой суммой может не давать видимых движений.

Контрольные точки

Как проверить результат

Значок в списке документов
Норма

Цветной значок с галочкой у проведённого, бледный у непроведённого

Тревожный признак

Значок не соответствует состоянию кнопок в форме — обновите список (F5)

Движения документа
Норма

У проведённого документа есть записи в регистрах

Тревожный признак

Документ проведён, но движений нет — проверьте заполнение и настройки конфигурации

Попадание в отчёт
Норма

Данные документа видны в отчёте за его период

Тревожный признак

Документ проведён, но в отчёт не попадает — проверьте период и отборы отчёта

Итог

Что важно запомнить

Статус проведения виден по значку в списке и по кнопкам в форме документа. Программно статус читается через свойство Проведен объекта или запросом к полю Проведен — но не через ссылку. Пометка удаления не отменяет проведение, а запись документа не равна проведению. Для массовой проверки используйте отбор в списке или запрос, а не перебор объектов.

Частые вопросы

Чем отличается «Записать» от «Провести»?

Команда «Записать» сохраняет документ в базе без формирования движений по регистрам — такой документ не влияет на учёт и отчёты. Команда «Провести» сохраняет документ и создаёт записи в регистрах, то есть отражает операцию в учёте. Непроведённый документ можно считать черновиком.

Можно ли проверить статус документа, не открывая его?

Да. В списке документов статус виден по значку, а через настройку списка можно добавить отбор или дополнительную колонку по полю «Проведён». Программно — запросом к таблице документа, что особенно удобно для проверки большого количества документов за период.

Почему помеченный на удаление документ всё ещё попадает в отчёты?

Пометка удаления не отменяет проведение и не удаляет движения по регистрам. Движения исчезнут только после физического удаления объекта через операцию «Удаление помеченных объектов» или после отмены проведения вручную. Корректный порядок: сначала отменить проведение, затем ставить пометку.

Документ проведён, но движений нет — это нормально?

В отдельных случаях да: например, если строки документа имеют нулевое количество или вид операции не предполагает движений по конкретному регистру. Но если документ по смыслу должен формировать движения, а их нет, проверьте заполнение табличных частей, вид операции и сообщения об ошибках при проведении.

Как найти все непроведённые документы разных видов сразу?

Штатного единого списка всех видов документов в типовых конфигурациях обычно нет — проверяйте каждый вид отдельно через отбор в списке. Альтернатива — универсальный отчёт или консоль запросов с запросом, объединяющим таблицы нужных видов документов по условию «Проведен = Ложь». Такую проверку обычно выполняет администратор или разработчик.