Работа с документами в 1С:Предприятие — одна из самых частых задач, с которыми сталкиваются пользователи. Без умения правильно выбирать нужные записи из базы данных невозможно сформировать отчеты, провести инвентаризацию или просто найти конкретный документ среди тысяч записей. Однако многие пользователи до сих пор используют только базовый поиск по номеру или дате, не подозревая о мощных инструментах отбора, которые экономят часы рабочего времени.
В этой статье мы разберем все доступные способы выбора документов — от простейшего ручного фильтра до сложных программных запросов. Вы узнаете, как работать с отборами в типовой конфигурации, как использовать язык запросов 1С для точного поиска, и какие хитрости применяют опытные пользователи для ускорения работы. Материал будет полезен и бухгалтерам, и программистам, и администраторам систем.
Особое внимание уделим типичным ошибкам, которые приводят к потере данных или некорректным отчетам. Например, почему при выборе документов по дате иногда пропадают записи за крайние числа месяца, или как избежать дублирования данных при сложных отборах. Все примеры приведены для актуальных версий платформы 1С:Предприятие 8.3, но принципы работы универсальны и для более ранних редакций.
1. Базовые способы выбора документов в интерфейсе 1С
Начнем с самых простых методов, которые доступны любому пользователю без прав администратора. Эти инструменты встроены в стандартные формы списков документов и позволяют быстро сузить выборку по основным реквизитам.
Основной элемент для отбора — панель фильтров, которая находится над списком документов. В зависимости от конфигурации (Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом) набор доступных фильтров может отличаться, но принципы работы одинаковы:
- 📅 Отбор по дате — самый востребованный фильтр. Позволяет выбрать документы за конкретный день, диапазон дат или период (месяц, квартал, год). Внимательно следите за тем, включены ли граничные даты в выборку — это регулируется настройками "включительно/не включительно".
- 🔢 Поиск по номеру — работает как с полным номером документа, так и с его частью. Полезно, когда известен фрагмент номера (например, префикс или суффикс).
- 🏷️ Фильтр по виду документа — если в журнале смешаны разные типы (например, "Поступление товаров" и "Реализация товаров"), этот фильтр поможет оставить только нужные.
- 👤 Отбор по контрагенту — актуально для торговых конфигураций. Можно выбрать конкретного поставщика, покупателя или группу контрагентов.
Для применения нескольких фильров одновременно используйте кнопку "Еще" или "Дополнительные отборы" — она раскрывает расширенную панель, где можно комбинировать условия через логические операторы И/ИЛИ.
Если вам часто приходится использовать одни и те же фильтры, сохраните их как "Избранные отборы" (кнопка со звездочкой). Это сэкономит время при повторном использовании.
⚠️ Внимание: При работе с большими базами данных (более 100 000 документов) применение сложных фильтров через интерфейс может занимать несколько минут. В таких случаях лучше использовать программные запросы (см. раздел 4).
2. Расширенный отбор: работа с дополнительными реквизитами
Когда стандартных фильтров недостаточно, на помощь приходит механизм расширенного отбора. Он позволяет выбирать документы по любым реквизитам, включая те, которые не отображаются в основной форме списка.
Чтобы открыть расширенный отбор:
- Откройте журнал документов (например, "Все документы" или "Документы покупки").
- Нажмите кнопку "Еще" → "Настройка списка".
- Перейдите на вкладку "Отбор".
- Добавьте новое условие, выбрав нужный реквизит из списка доступных полей.
В расширенном отборе можно использовать:
- 📊 Сравнения: равно, не равно, больше, меньше, в группе, не в группе.
- 🔍 Поиск по части значения: содержит, начинается с, заканчивается на.
- 📎 Ссылки на другие объекты: например, отбор документов по конкретному складу или подразделению.
- 💰 Агрегатные функции: сумма по документу, количество строк и т.д.
Пример: вам нужно найти все документы "Реализация товаров", где сумма документа превышает 100 000 рублей, и в комментарии содержится слово "акция". Это можно сделать только через расширенный отбор, комбинируя условия по виду документа, сумме и содержимому реквизита "Комментарий".
| Тип отбора | Пример условия | Результат |
|---|---|---|
| Простой фильтр | Дата = 15.05.2026 | Все документы за 15 мая 2026 года |
| Расширенный отбор | Вид документа = "Поступление товаров" И Сумма документа > 50000 | Крупные поступления товаров |
| Поиск по части значения | Номер содержит "ДОП" | Документы с номером, содержащим "ДОП" (например, доп. соглашения) |
| Отбор по ссылке | Склад = "Основной склад" | Документы, привязанные к основному складу |
3. Поиск документов по содержимому табличных частей
Особую сложность представляет выбор документов по данным, которые хранятся в табличных частях (например, строки товаров в документе "Реализация"). Стандартные фильтры обычно не позволяют искать по таким полям, поэтому приходится использовать обходные пути.
Есть три основных подхода:
- Поиск через форму документа:
- Откройте журнал документов.
- Дважды кликните по любому документу, чтобы открыть его форму.
- В форме документа используйте поиск по табличной части (обычно кнопка "Найти" или
Ctrl+F). - После нахождения нужной строки запомните номер документа и вернитесь в журнал для фильтрации.
- Экспортируйте список документов в Excel (
Файл → Сохранить как...). - В Excel используйте фильтры для поиска по колонкам табличных частей.
- После нахождения нужных документов вернитесь в 1С и примените отбор по их номерам.
- Сформируйте отчет, который выводит данные из табличных частей (например, "Анализ продаж по номенклатуре").
- В отчете примените фильтры по нужным полям.
- По результатам отчета найдите номера документов и вернитесь к их просмотру.
Критическая особенность: при поиске по табличным частям через стандартные средства 1С не учитываются документы, которые были помечены на удаление. Чтобы их увидеть, необходимо включить отображение помеченных объектов в настройках списка.
⚠️ Внимание: При работе с большими табличными частями (более 1000 строк) поиск через форму документа может занимать несколько минут и приводить к подвисанию интерфейса. В таких случаях лучше использовать программные запросы (см. следующий раздел).
4. Программный выбор документов: язык запросов 1С
Для самых сложных задач отбора документов используется язык запросов 1С. Он позволяет формировать выборки по любым критериям, включая связанные таблицы, агрегатные функции и сложные логические условия. Этот метод требует знаний основ программирования в 1С, но дает максимальную гибкость.
Базовая структура запроса для выборки документов выглядит так:
ВЫБРАТЬ
Документ.Ссылка КАК Ссылка,
Документ.Дата КАК Дата,
Документ.Номер КАК Номер
ИЗ
Документ.<ИмяДокумента> КАК Документ
ГДЕ
Документ.Дата МЕЖДУ &НачДата И &КонДата
И Документ.Контрагент = &Контрагент
Где:
<ИмяДокумента>— имя документа в конфигурации (например,ПоступлениеТоваровУслуг).&НачДата,&КонДата— параметры запроса, которые можно задать при выполнении.&Контрагент— ссылка на конкретного контрагента.
Пример практического запроса для выборки реализаций товаров конкретному покупателю за текущий месяц:
ВЫБРАТЬ
Реализация.Ссылка КАК Ссылка,
Реализация.Дата КАК Дата,
Реализация.Номер КАК Номер,
Реализация.СуммаДокумента КАК Сумма
ИЗ
Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ
Реализация.Дата МЕЖДУ НачалоМесяца(&ТекущаяДата) И КонецМесяца(&ТекущаяДата)
И Реализация.Контрагент = &Покупатель
УПОРЯДОЧИТЬ ПО
Дата
Для выполнения такого запроса:
- Откройте консоль запросов (
Сервис → Консоль запросовв конфигураторе или через меню "Все функции" в пользовательском режиме). - Вставьте текст запроса.
- Задайте значения параметров (
&ТекущаяДата,&Покупатель). - Выполните запрос и экспортируйте результаты при необходимости.
Как узнать точное имя документа для запроса?
Точное имя документа в конфигурации можно узнать несколькими способами:
1. В режиме конфигуратора откройте дерево меток данных и найдите нужный документ — его имя будет указано в свойствах.
2. В пользовательском режиме откройте любой документ нужного типа, нажмите правой кнопкой на заголовок формы и выберите "Свойства" — в информации об объекте будет указано его полное имя.
3. Используйте запрос к метаданным: ВЫБРАТЬ Имя ИЗ Метаданные.Документы
5. Отбор документов по статусу и проводкам
Иногда требуется выбрать документы не по видимым реквизитам, а по их внутреннему статусу или проводкам. Например, найти все непроведенные документы или те, которые формируют проводки по конкретному счету бухгалтерского учета.
Для работы со статусами документов:
- 🔄 Помеченные на удаление: в настройках списка включите опцию "Показывать помеченные на удаление".
- ✅ Проведенные/непроведенные: используйте фильтр по реквизиту "Проведен" (значения
Истина/Ложь). - 🔒 Заблокированные: в некоторых конфигурациях есть реквизит "Блокировка" или "Статус блокировки".
Для отбора по проводкам потребуется язык запросов. Пример запроса, который находит все документы, сформировавшие проводки по счету 62.01 ("Расчеты с покупателями"):
ВЫБРАТЬ РАЗНЫЕ
Движение.Ссылка КАК СсылкаНаДокумент
ИЗ
РегистрБухгалтерии.Хозрасчетный КАК Движение
ГДЕ
Движение.Счет = ПланСчетов.Хозрасчетный.Счета.РасчетыСПокупателямиЗаказчиками
И Движение.Период МЕЖДУ &НачДата И &КонДата
Этот запрос вернет ссылки на все документы, которые сформировали движения по указанному счету в заданном периоде. По этим ссылкам затем можно получить сами документы.
⚠️ Внимание: Запросы к регистрам бухгалтерии и накопления могут существенно нагружать базу данных. Не выполняйте такие запросы в рабочее время при большом количестве пользователей в системе.
6. Автоматизация выбора документов: обработки и внешние отчеты
Если вам регулярно приходится выбирать документы по сложным критериям, имеет смысл автоматизировать этот процесс. Для этого в 1С предусмотрены:
- 📋 Обработки: можно создать собственную обработку с нужными фильтрами и кнопками для быстрого доступа.
- 📊 Внешние отчеты: подключаемые файлы с расширенными возможностями отбора и вывода данных.
- 🤖 Регламентные задания: для автоматического формирования выборок по расписанию.
Пример создания простой обработки для выбора документов:
- В конфигураторе создайте новый объект "Обработка".
- Добавьте на форму элементы управления для ввода параметров отбора (поля ввода для дат, выпадающие списки для контрагентов и т.д.).
- Напишите процедуру, которая будет формировать запрос на основе введенных параметров.
- Добавьте кнопку "Выполнить" и привяжите к ней процедуру формирования результата.
- Сохраните обработку и используйте ее в пользовательском режиме.
Для бухгалтеров особенно полезны внешние отчеты, такие как:
- "Универсальный отчет" (входит в некоторые конфигурации по умолчанию).
- "Отчет по проводкам" для анализа документов, сформировавших конкретные проводки.
- "Анализ субконто" для выборки документов по аналитике счетов.
Уточнить требования к выборке (какие документы, по каким критериям)
Проверить права доступа пользователей к данным
Оптимизировать запрос для работы с большими объемами данных
Предусмотреть возможность экспорта результатов в Excel
Добавить обработку ошибок при выполнении запросов-->
7. Типичные ошибки при выборе документов и как их избежать
Даже опытные пользователи 1С иногда допускают ошибки при отборе документов, которые приводят к потере данных или некорректным результатам. Рассмотрим самые распространенные проблемы и способы их решения.
| Ошибка | Причина | Решение |
|---|---|---|
| Пропущены документы за граничные даты | В фильтре по дате не учтено время (00:00:00) | Используйте конструкцию Дата >= НачДата И Дата < КонецДня(КонДата) |
| Дублирование документов в результатах | В запросе не указано ключевое слово РАЗНЫЕ |
Добавьте ВЫБРАТЬ РАЗНЫЕ в начало запроса |
| Медленная работа фильтров | Отсутствуют индексы по полям отбора | Проверьте наличие индексов в конфигураторе или оптимизируйте запрос |
| Некорректные суммы в отчетах | Фильтр применен после агрегации данных | Перенесите условия отбора в секцию ГДЕ запроса |
Еще одна распространенная проблема — несоответствие данных в отчетах и реальных документах. Это происходит, когда:
- Документы были изменены после формирования отчета.
- В запросе не учтены движения документов по регистрам.
- Используются разные периоды в отборе и в расчетах.
Чтобы избежать таких ошибок, всегда проверяйте:
- Совпадают ли даты в фильтре и в настройках отчета.
- Учтена ли в запросе актуальная версия документов (некоторые конфигурации хранят историю изменений).
- Нет ли в системе непроведенных документов, которые должны быть учтены.
Всегда тестируйте запросы на небольшом периоде данных перед применением на полной базе. Это поможет избежать длительных ожиданий и ошибок при работе с большими объемами.
8. Продвинутые техники: временные таблицы и объединение данных
Для решения сложных задач отбора документов опытные разработчики 1С используют временные таблицы и объединение данных из разных источников. Эти техники позволяют:
- Сравнивать данные из разных документов.
- Формировать сложные выборки с промежуточными расчетами.
- Оптимизировать производительность запросов.
Пример использования временной таблицы для выборки документов с максимальной суммой по каждому контрагенту:
ВЫБРАТЬ
МаксимальныеСуммы.Контрагент КАК Контрагент,
МаксимальныеСуммы.МаксСумма КАК МаксСумма,
Документы.Ссылка КАК СсылкаНаДокумент
В
Результат
ИЗ
(ВЫБРАТЬ
Контрагент,
МАКСИМУМ(СуммаДокумента) КАК МаксСумма
ИЗ
Документ.РеализацияТоваровУслуг
ГДЕ
Дата МЕЖДУ &НачДата И &КонДата
СГРУППИРОВАТЬ ПО
Контрагент) КАК МаксимальныеСуммы
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Документы
ПО МаксимальныеСуммы.Контрагент = Документы.Контрагент
И МаксимальныеСуммы.МаксСумма = Документы.СуммаДокумента
И Документы.Дата МЕЖДУ &НачДата И &КонДата
ИНДЕКСИРОВАТЬ ПО
Контрагент
УПОРЯДОЧИТЬ ПО
Контрагент
ВЫБРАТЬ ИЗ Результат АВТОУПОРЯДОЧИВАНИЕ
Этот запрос сначала находит максимальную сумму документа для каждого контрагента, а затем присоединяет к этим данным сами документы, которые сформировали эти суммы.
Для объединения данных из разных документов используйте оператор ОБЪЕДИНИТЬ:
ВЫБРАТЬ
Документ.Ссылка КАК Ссылка,
"Поступление" КАК ТипДокумента
ИЗ
Документ.ПоступлениеТоваровУслуг КАК Документ
ГДЕ
Документ.Контрагент = &Контрагент
ОБЪЕДИНИТЬ
ВЫБРАТЬ
Документ.Ссылка,
"Реализация" КАК ТипДокумента
ИЗ
Документ.РеализацияТоваровУслуг КАК Документ
ГДЕ
Документ.Контрагент = &Контрагент
⚠️ Внимание: При работе с временными таблицами в больших базах данных следите за потреблением оперативной памяти. Чрезмерное использование временных таблиц может привести к замедлению работы сервера 1С.
Эти техники требуют хорошего знания языка запросов и особенностей конкретной конфигурации, но позволяют решать задачи, недоступные стандартными средствами отбора.
Часто задаваемые вопросы
Как выбрать документы за текущий месяц, исключая сегодняшний день?
Используйте следующий фильтр по дате:
Дата >= НачалоМесяца(&ТекущаяДата)
И Дата < НачалоДня(&ТекущаяДата)
Где &ТекущаяДата — параметр с текущей датой. Функция НачалоДня() обрезает время, оставляя только дату без временной части.
Почему при отборе по контрагенту не показываются все документы?
Возможные причины:
- В фильтре указан не сам контрагент, а его группа (например, "Покупатели" вместо конкретного покупателя).
- Документы привязаны к другому виду контрагентов (например, к физическим лицам, а не организациям).
- В настройках видимости документов установлены ограничения по организации или подразделению.
Проверьте настройки отбора и при необходимости используйте запрос с явным указанием типа контрагента.
Можно ли сохранить часто используемый отбор для быстрого доступа?
Да, есть несколько способов:
- В журнале документов настройте отбор, затем нажмите кнопку "Сохранить настройку" (иконка дискеты).
- Создайте внешнюю обработку с нужными фильтрами и подключите ее к базе.
- В некоторых конфигурациях можно сохранять "избранные отборы" прямо в интерфейсе (кнопка со звездочкой рядом с фильтрами).
Как выбрать документы, в которых есть конкретная номенклатура?
Это можно сделать только через запрос к табличной части документа:
ВЫБРАТЬ РАЗНЫЕ
Документ.Ссылка КАК СсылкаНаДокумент
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК Товары
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Документ
ПО Товары.Ссылка = Документ.Ссылка
ГДЕ
Товары.Номенклатура = &НужнаяНоменклатура
Где &НужнаяНоменклатура — параметр со ссылкой на искомый товар.
Почему после обновления 1С перестали работать мои сохраненные отборы?
Это типичная проблема при обновлении конфигурации. Причины и решения:
- Изменилась структура метаданных: некоторые реквизиты могли быть переименованы или удалены. Проверьте актуальные имена полей в конфигураторе.
- Сбросились настройки пользователя: иногда обновления сбрасывают персональные настройки. Попробуйте восстановить отборы заново.
- Изменился интерфейс: кнопки сохранения отборов могли переместиться в другое меню. Ищите их в разделе "Настройки" или "Действия".
Если проблема сохраняется, обратитесь к администратору базы для проверки целостности данных после обновления.