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

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

Как в 1С отобрать непроведенные документы

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

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

Технически признак проведения хранится в реквизите Проведен (тип «Булево»), который есть у каждого объекта вида «Документ». Отбор строится по условию Проведен = Ложь. Дополнительно документ может быть помечен на удаление — такие документы тоже не проведены, но их обычно нужно отличать от «рабочих» непроведенных.

Ниже разобраны все основные способы: отбор в форме списка без программирования, поиск через отчеты, настройка динамического списка, программный запрос на встроенном языке и типичные ошибки, из-за которых отбор «не работает».

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

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

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

Отбор непроведенных документов через настройку списка

Самый доступный способ, не требующий прав и навыков программирования, — настройка отбора прямо в форме списка. Он работает в любой типовой конфигурации на управляемых формах (1С:Бухгалтерия 3.0, УТ 11, ERP, ЗУП и других).

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

В некоторых журналах (особенно общих, где собраны разные виды документов) поле «Проведен» может называться иначе или отсутствовать в списке доступных полей. В этом случае ищите поле «Статус» или открывайте список конкретного вида документов, где реквизит «Проведен» доступен всегда.

Настроенный отбор сохраняется для текущего пользователя. Чтобы вернуть полный список, снова откройте «Настроить список» и удалите условие либо нажмите «Установить стандартные настройки».

Быстрый отбор через строку поиска и отбор по значению

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

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

Учтите: быстрые отборы работают только если соответствующее поле присутствует в данных списка. Если колонки со статусом нет, добавьте ее через «Ещё → Изменить форму» или используйте полную настройку списка.

Отбор непроведенных документов в отчетах и обработках

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

Порядок действий: откройте «Универсальный отчет» (в Бухгалтерии — раздел «Отчеты», в УТ/ERP — «Отчеты» → «Универсальный отчет»), выберите тип данных «Документы», укажите вид документа и период. В настройках отбора добавьте условие «Проведен = Нет». Отчет выведет таблицу непроведенных документов с выбранными реквизитами — ее можно распечатать или сохранить в файл.

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

Отбор в динамическом списке при доработке формы

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

Откройте форму списка в конфигураторе, выберите реквизит списка (обычно «Список»), в его свойствах найдите «Отбор» и добавьте элемент: левое значение — Проведен, вид сравнения — «Равно», правое значение — Ложь. Такой отбор пользователь не сможет снять без доработки формы.

Если отбор должен быть мягким (пользователь может его менять), задайте его программно в обработчике ПриСозданииНаСервере через Список.КомпоновщикНастроек, добавив элемент отбора в пользовательские настройки. Это стандартный механизм СКД, и он работает одинаково во всех управляемых формах.

Программный отбор запросом на встроенном языке

Для обработок, выгрузок и регламентных заданий непроведенные документы выбирают запросом. Текст запроса минимален:

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

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

"ВЫБРАТЬ

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

| РеализацияТоваровУслуг.Дата,

| РеализацияТоваровУслуг.Номер

|ИЗ

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

|ГДЕ

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

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

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

Ключевые моменты: условие Проведен = ЛОЖЬ отбирает именно непроведенные документы; НЕ ПометкаУдаления отсекает помеченные на удаление; отбор по дате ограничивает выборку и ускоряет выполнение на больших базах. Без ограничения периода запрос по таблице документов с миллионами записей может выполняться заметно долго.

Если нужно выбрать непроведенные документы сразу всех видов, придется объединять запросы по каждому виду через ОБЪЕДИНИТЬ ВСЕ — единой таблицы «все документы» в языке запросов нет. Альтернатива — перебор метаданных в коде с выполнением запроса по каждому виду документов в цикле.

Типичные ошибки при отборе
01
Отбор по полю «Проведен» в журнале, где документы разных видов, — поле может быть недоступно; открывайте список конкретного вида документов.
02
Забыли исключить пометку удаления — в выборку попали документы, ожидающие удаления, и цифры «не сошлись».
03
В запросе сравнивают Проведен с числом 0 вместо ЛОЖЬ — условие работает неочевидно; используйте литерал ЛОЖЬ.
04
Ищут непроведенные документы в отчете по регистрам — непроведенные документы не имеют движений, поэтому в отчетах по регистрам их нет по определению.
05
Снимают отбор «только просмотр» и массово проводят документы без проверки — можно провести черновики с ошибками.

Массовое проведение найденных документов: осторожно

Частая следующая задача после отбора — провести все найденные документы разом. В типовых конфигурациях для этого есть обработка «Групповое изменение реквизитов» (раздел «Администрирование» → «Обслуживание») либо специализированные рабочие места проведения документов.

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

Как проверить, что отбор сработал правильно

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

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

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

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

Статус документа из выборки
Норма

Доступна кнопка «Провести», движений по регистрам нет

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

Документ уже проведен — значит, условие отбора задано неверно

Наличие помеченных на удаление
Норма

Перечеркнутых документов в списке нет

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

В списке есть помеченные на удаление — добавьте условие по ПометкаУдаления

Количество записей
Норма

Совпадает с ручным отбором за тот же период

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

Расходится — проверьте период, вид документа и условия запроса

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

Итог

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

Непроведенные документы отбираются по условию «Проведен = Ложь»: в интерфейсе — через «Ещё → Настроить список», программно — запросом с условием ГДЕ Проведен = ЛОЖЬ. Всегда исключайте помеченные на удаление, а перед массовым проведением проверяйте выборку и делайте резервную копию.

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

Почему в журнале нет поля «Проведен» для отбора?

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

Чем непроведенный документ отличается от помеченного на удаление?

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

Можно ли отобрать непроведенные документы сразу всех видов?

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

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

Отчеты по остаткам и оборотам строятся по данным регистров, а непроведенный документ не делает движений в регистрах. Это нормальное поведение: чтобы документ попал в отчет, его нужно провести.

Как массово провести отобранные документы?

Используйте обработку «Групповое изменение реквизитов» из раздела «Администрирование»: выберите вид документов, установите отбор «Проведен = Нет», задайте действие проведения. Перед запуском проверьте выборку и сделайте резервную копию — отменить массовое проведение можно только повторной групповой операцией отмены проведения.

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

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