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