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

Администрирование · 11 мин

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

Способы отбора непроведенных документов в 1С: отбор в списке журнала, запрос по свойству Проведен, универсальные отчеты и консоль запросов. Примеры кода и проверка результата.

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

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

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

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

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

Откройте журнал нужного вида документов, например «Покупки — Поступления (акты, накладные)». Нажмите кнопку «Еще» и выберите пункт «Настроить список». В открывшемся окне на закладке «Отбор» добавьте новый элемент отбора: в поле слева найдите реквизит «Проведен», установите вид сравнения «Равно» и значение «Нет». Нажмите «Завершить редактирование» — в списке останутся только непроведенные документы.

Порядок действий в журнале
  1. 1
    Откройте список документов нужного вида
  2. 2
    Нажмите «Еще» → «Настроить список»
  3. 3
    Добавьте отбор: Проведен Равно Нет
  4. 4
    Завершите редактирование и проверьте список
  5. 5
    Сохраните настройку как вариант списка, если отбор нужен регулярно

Чтобы не настраивать отбор каждый раз, сохраните его как вариант списка: «Еще» → «Выбрать вариант списка» → «Сохранить настройки». Тогда отбор непроведенных будет доступен в один клик. В некоторых конфигурациях в командной панели журнала уже есть готовая группа отборов или быстрый отбор по статусу проведения — проверьте наличие таких кнопок до ручной настройки.

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

Отбор запросом на встроенном языке

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

bsl
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Ссылка,
| РеализацияТоваровУслуг.Дата КАК Дата,
| РеализацияТоваровУслуг.Номер КАК Номер
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| НЕ РеализацияТоваровУслуг.Проведен
| И НЕ РеализацияТоваровУслуг.ПометкаУдаления
|УПОРЯДОЧИТЬ ПО
| Дата";
Результат = Запрос.Выполнить().Выгрузить();

Обратите внимание на два важных условия. Первое — НЕ РеализацияТоваровУслуг.Проведен отбирает именно непроведенные документы. Второе — НЕ ... ПометкаУдаления исключает помеченные на удаление: они тоже не проведены, но смешивать их с рабочими непроведенными документами обычно не нужно. Если задача — наоборот, собрать «мусор» для удаления, условие по пометке следует изменить на обратное.

Для отбора по всем видам документов сразу запрос строится динамически: в цикле перебирается коллекция Метаданные.Документы, для каждого вида с разрешенным проведением формируется отдельный запрос или объединение через ОБЪЕДИНИТЬ ВСЕ. Проверку разрешения проведения выполняют через свойство метаданных Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить.

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

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

В некоторых типовых конфигурациях доступен «Универсальный отчет» (раздел «Отчеты» или «Администрирование» в зависимости от конфигурации). В нем выбирается объект «Документ», нужный вид документа, и в настройках отбора добавляется условие «Проведен Равно Нет». Результат можно вывести в табличный документ, сохранить в Excel или отправить ответственному сотруднику.

Сравнение способов отбора

Настройка списка в журнале

Подходит бухгалтеру для разового просмотра одного вида документов. Не требует прав разработчика, но не дает массовой обработки.

Запрос в коде

Нужен для автоматизации: проведения, пометки, выгрузки. Требует прав и навыков программирования на встроенном языке.

Консоль запросов

Гибкий анализ без изменения конфигурации. Требует понимания языка запросов и осторожности при работе с боевой базой.

Универсальный отчет

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

Массовая обработка найденных документов

После отбора обычно требуется одно из трех действий: провести документы, пометить их на удаление или просто зафиксировать список для разбора. Проведение выполняется методом Записать(РежимЗаписиДокумента.Проведение) у объекта документа. Перед массовым проведением обязательно сделайте резервную копию базы и сначала проверьте логику на одном-двух документах.

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

Для пометки на удаление используется метод УстановитьПометкуУдаления(Истина) или штатная обработка «Удаление помеченных объектов». Помеченные документы физически удалятся только после контроля ссылочной целостности — если на документ есть ссылки из других объектов, удаление будет заблокировано.

Частые ошибки и ограничения

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

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

Типичные ошибки
01
Отбор без исключения помеченных на удаление — в список попадает 'мусор', и массовая обработка завершается ошибками
02
Попытка провести документ закрытого периода — проведение блокируется датой запрета редактирования
03
Игнорирование видов документов с запрещенным проведением — отчет показывает ложные 'непроведенные' записи
04
Массовое проведение без копии базы — при ошибке в логике движения придется восстанавливать вручную

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

Проверка результата отбора

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

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

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

Состав списка после отбора
Норма

Все документы в списке имеют признак Проведен = Ложь и не помечены на удаление

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

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

Движения по регистрам
Норма

У документа из списка отчет по движениям пуст

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

У 'непроведенного' документа есть движения — возможно, проведение отменено некорректно, нужна проверка целостности

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

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

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

Числа расходятся — в одном из способов есть скрытый отбор по периоду или организации

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

Ответы на частые вопросы

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

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

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

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

Почему запрос по условию «НЕ Проведен» возвращает пустой результат, хотя в журнале видны непроведенные документы?

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

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

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

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

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

Как найти документы, у которых проведение отменено вручную?

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

Итог

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

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