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

В этой статье мы разберем 5 основных способов получения списков документов в 1С 8.3 (актуально и для 8.2), их преимущества и ограничения. Вы узнаете, как выгрузить данные без программирования, какие отчеты дают максимальную детализацию, и когда стоит прибегнуть к Запросам или внешним обработкам. Особое внимание уделим типичным ошибкам, которые приводят к неполным или некорректным спискам.

1. Стандартные отчеты 1С: быстрый способ для пользователей

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

Чтобы открыть стандартный отчет:

  • 📊 Перейдите в раздел Отчеты (или Аналитика в некоторых конфигурациях).
  • 🔍 Выберите отчет типа "Журнал документов", "Обороты между документами" или "Анализ документов".
  • ⚙️ Настройте период, тип документов (например, "Реализация товаров") и дополнительные фильтры (контрагент, склад).
  • 📤 Экспортируйте результат в Excel, PDF или HTML при необходимости.

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

⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP) названия отчетов могут отличаться. Если не находите "Журнал документов", проверьте раздел "Все функции" (клавиша F1 → поиск по названию).
📊 Какой отчет вы используете чаще всего?
Журнал документов
Оборотно-сальдовая ведомость
Анализ субконто
Свой вариант

2. Универсальный отчет: гибкая настройка без программирования

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

Как открыть и настроить:

  1. Нажмите Файл → Открыть → Универсальный отчет (или найдите через поиск по всем функциям).
  2. В поле "Объект" выберите нужный тип документа (например, "Заказ клиента").
  3. В закладке "Поля" добавьте реквизиты для отображения: дату, номер, контрагента, сумму и т.д.
  4. Настройте фильтры (период, организация, ответственный) и сортировку.
  5. Сохраните настройки отчета для повторного использования.

Пример настройки для списка "Поступление товаров":

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

Поля: Дата, Номер, Поставщик, СуммаДокумента, Комментарий

Фильтр: Дата >= &НачалоПериода И Дата <= &КонецПериода

Группировка: Поставщик (с иерархией)

Универсальный отчет подходит для разовых задач, когда нужно быстро получить данные с нестандартными полями. Однако он не сохраняет историю изменений документов и может тормозить при большом объеме данных (более 10 000 строк).

💡

Если универсальный отчет долго формируется, разбейте запрос по периодам (например, помесячно) или используйте фильтр по организации/складу.

3. Запросы на встроенном языке: для разработчиков и продвинутых пользователей

Если стандартные инструменты не дают нужной гибкости, используйте запросы на языке 1С. Этот метод требует знания синтаксиса, но позволяет:

  • 🔧 Получать данные из нескольких таблиц (связи ЛЕВОЕ СОЕДИНЕНИЕ, ВНУТРЕННЕЕ СОЕДИНЕНИЕ).
  • 📌 Фильтровать по любым реквизитам, включая виртуальные (например, "СуммаНДС > 1000").
  • 📊 Группировать и агрегировать данные (СУММА", "МАКСИМУМ", "КОЛИЧЕСТВО").
  • 📄 Выгружать результаты в табличный документ или файл.

Пример запроса для получения списка "Реализация товаров" с детализацией по номенклатуре:

ВЫБРАТЬ

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

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

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

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

РеализацияТоваровУслугТовары.Номенклатура,

РеализацияТоваровУслугТовары.Количество,

РеализацияТоваровУслугТовары.Цена,

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

ИЗ

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

ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

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

ГДЕ

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

УПОРЯДОЧИТЬ ПО

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

Чтобы выполнить запрос:

  1. Откройте Консоль запросов (Сервис → Консоль запросов или через Все функции).
  2. Вставьте текст запроса и нажмите Выполнить.
  3. Результат отобразится в таблице, которую можно экспортировать в Excel.
⚠️ Внимание: Сложные запросы с множеством соединений могут заблокировать базу на время выполнения. Тестируйте их на копии базы или в нерабочее время.

Проверьте права доступа (требуется роль "Администратор" или "Полные права")

Создайте резервную копию базы

Ограничьте период выборки

Используйте индексируемые поля в условиях (например, Дата, Ссылка)-->

4. Внешние обработки: готовые решения для типовой функциональности

Если нет времени писать запросы или настраивать отчеты, воспользуйтесь внешними обработками. Это готовые файлы с расширением .epf или .erf, которые решают типовые задачи. Например:

  • 📋 "Выгрузка документов в Excel" — сохраняет список с сохранением структуры.
  • 🔄 "Сравнение документов" — находит дубли или изменения.
  • 📂 "Поиск документов по реквизитам" — гибкий фильтр с поддержкой регулярных выражений.

Где взять обработки:

  • 🌐 Инфостарт (infostart.ru) — крупнейшая база решений для 1С.
  • 📦 1С:ИТС — в разделе "Полезные обработки" для вашей конфигурации.
  • 💾 Форумы и сообщества (например, 1С:Клуб программистов).

Как подключить обработку:

  1. Скачайте файл .epf и сохраните на компьютер.
  2. В 1С откройте Файл → Открыть и выберите скачанный файл.
  3. Следуйте инструкциям обработки (обычно требуется указать период, тип документов и поля для выгрузки).

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

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

1. Загрузите файл на сервис VirusTotal (https://www.virustotal.com/).

2. Откройте код обработки в Конфигураторе (меню Файл → Открыть → выберите файл → Текст модуля).

3. Проверьте наличие подозрительных функций (например, ВыполнитьКоманду(), ЗаписатьФайл() без явной необходимости).

5. Программное получение списка: для автоматизации и интеграций

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

Пример кода для получения списка документов "Счет на оплату" за текущий месяц:

Процедура ПолучитьСписокСчетов()

НачалоМесяца = НачалоМесяца(ТекущаяДата());

КонецМесяца = КонецМесяца(ТекущаяДата());

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

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

"ВЫБРАТЬ

| СчетНаОплату.Ссылка КАК Ссылка,

| СчетНаОплату.Дата,

| СчетНаОплату.Номер,

| СчетНаОплату.Контрагент,

| СчетНаОплату.СуммаДокумента

|ИЗ

| Документ.СчетНаОплату КАК СчетНаОплату

|ГДЕ

| СчетНаОплату.Дата МЕЖДУ &НачалоПериода И &КонецПериода";

Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца);

Запрос.УстановитьПараметр("КонецПериода", КонецМесяца);

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

ТаблицаРезультатов = Новый ТаблицаЗначений;

ТаблицаРезультатов.Колонки.Добавить("Дата");

ТаблицаРезультатов.Колонки.Добавить("Номер");

ТаблицаРезультатов.Колонки.Добавить("Контрагент");

ТаблицаРезультатов.Колонки.Добавить("Сумма");

Пока Выборка.Следующий() Цикл

НоваяСтрока = ТаблицаРезультатов.Добавить();

НоваяСтрока.Дата = Выборка.Дата;

НоваяСтрока.Номер = Выборка.Номер;

НоваяСтрока.Контрагент = Выборка.Контрагент;

НоваяСтрока.Сумма = Выборка.СуммаДокумента;

КонецЦикла;

// Выгрузка в Excel

Excel = Новый COMОбъект("Excel.Application");

Книга = Excel.Workbooks.Add();

Лист = Книга.Worksheets(1);

Лист.Cells(1,1).Value = "Список счетов за " + Формат(ТекущаяДата(), "ММММ ГГГГ");

Для Инд = 0 По ТаблицаРезультатов.Колонки.Количество() - 1 Цикл

Лист.Cells(2, Инд + 1).Value = ТаблицаРезультатов.Колонки[Инд].Заголовок;

КонецЦикла;

Для Стр = 0 По ТаблицаРезультатов.Количество() - 1 Цикл

Для Кол = 0 По ТаблицаРезультатов.Колонки.Количество() - 1 Цикл

Лист.Cells(Стр + 3, Кол + 1).Value = ТаблицаРезультатов[Стр][Кол];

КонецЦикла;

КонецЦикла;

Excel.Visible = Истина;

КонецПроцедуры

Этот код:

  1. Формирует запрос к базе по документам "Счет на оплату".
  2. Сохраняет результат в ТаблицуЗначений.
  3. Экспортирует данные в Excel с сохранением форматирования.

Для автоматизации можно:

  • 📅 Запускать процедуру по расписанию (через Регламентные задания).
  • 📧 Отправлять результат на email (используя ПочтаMAPI или ИнтернетПочта).
  • 🔄 Интегрировать с другими системами через HTTP-Сервисы или REST API.
⚠️ Внимание: При работе с COM-объектами (например, Excel) убедитесь, что на компьютере установлено соответствующее ПО. В серверных решениях (например, 1С:Сервер) такой код работать не будет.

6. Сравнение методов: какой выбрать для вашей задачи

Выбор способа зависит от цели, навыков и доступных ресурсов. В таблице ниже — сравнение ключевых параметров:

Метод Сложность Гибкость Скорость Требуемые права Когда использовать
Стандартные отчеты ⭐⭐ ⭐⭐⭐ Пользователь Быстрый просмотр, базовая аналитика
Универсальный отчет ⭐⭐ ⭐⭐⭐ ⭐⭐ Пользователь Нестандартные поля, разовые задачи
Запросы ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐ Администратор/разработчик Сложная выборка, связь таблиц
Внешние обработки ⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ Пользователь Типовые задачи (выгрузка, сравнение)
Программный код ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ Разработчик Автоматизация, интеграции, сложная логика

Рекомендации по выбору:

  • 🔹 Новичкам: начните со стандартных отчетов или универсального отчета.
  • 🔹 Аналитикам: используйте внешние обработки или запросы (если есть навыки).
  • 🔹 Разработчикам: программный код + регламентные задания для автоматизации.
💡

Для регулярных задач (например, ежемесячная выгрузка документов) оптимально создать собственную обработку или регламентное задание. Это сэкономит время и исключит ошибки при ручном экспорте.

Типичные ошибки и как их избежать

При получении списков документов пользователи часто сталкиваются с проблемами. Рассмотрим самые распространенные:

  1. Неполные данные: отчет или запрос не показывает все документы.

    Причина: неверно указан период, фильтр по организации/складу или отсутствуют права на просмотр.

    Решение: проверьте:

    • 📅 Диапазон дат (включает ли он нужные документы?).
    • 🏢 Фильтр по организации (в многопользовательских базах).
    • 👤 Права пользователя (раздел "Администрирование → Пользователи").

  • Долгое выполнение запроса: система "зависает" при формировании списка.

    Причина: запрос обращается к неиндексируемым полям или связывает слишком много таблиц.

    Решение:

    • 🛠️ Оптимизируйте запрос: используйте "ИНДЕКСИРОВАТЬ ПО" для ключевых полей.
    • 📉 Разбейте запрос на части (например, по месяцам).
    • 🖥️ Выполняйте ресурсоемкие операции в нерабочее время.
    • Ошибки при экспорте в Excel: данные не сохраняются или искажаются.

      Причина: ограничения Excel (например, количество строк) или несовместимость форматов.

      Решение:

      • 📄 Используйте формат CSV для больших объемов данных.
      • 🔢 Проверьте региональные настройки (разделитель дробной части — точка или запятая).
      • 📊 Для сложных таблиц экспортируйте данные в PDF или HTML.

    Если проблема сохраняется, проверьте журнал регистрации (Администрирование → Журнал регистрации) на наличие ошибок. Часто там указаны причины сбоев (например, блокировки таблиц или недостаток памяти).

    Как ускорить работу с большими списками?

    1. Отключите ненужные поля в отчете/запросе (каждое дополнительное поле увеличивает время выполнения).

    2. Используйте "ПОМЕСТИТЬ" для временных таблиц в сложных запросах:

    ВЫБРАТЬ РАЗРЕШЕННЫЕ ...
    

    ПОМЕСТИТЬ ВТДокументы

    ИЗ ...

    3. Для регулярных задач настройте Регламентные задания на выполнение в ночное время.

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

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

    Да, но учитывайте ограничения:

    • 📅 В стандартных отчетах может быть ограничение по периоду (например, не более 3 лет).
    • 🖥️ Большие выборки (более 50 000 строк) могут тормозить систему. Рекомендуется разбивать запрос по годам/кварталам.
    • 🔍 Для архивных данных используйте "Журнал документов" с фильтром по дате.

    Если нужны данные за 5+ лет, рассмотрите выгрузку в отдельную базу или архивирование старых документов.

    Как выгрузить список документов с табличными частями (например, товары в реализации)?

    Для выгрузки табличных частей:

    1. В универсальном отчете добавьте поля из табличной части (например, "Товары.Номенклатура").
    2. В запросе используйте связь с табличной частью:
      ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК Товары
    3. В внешней обработке выберите вариант с детализацией по строкам.

    Пример запроса с табличной частью смотрите в разделе про запросы.

    Почему в списке документов не отображаются помеченные на удаление?

    По умолчанию большинство отчетов и запросов не показывают помеченные на удаление документы. Чтобы их включить:

    • В запросе добавьте условие:
      ГДЕ НЕ Документ.ПометкаУдаления

      или укажите явное включение:

      ГДЕ Документ.ПометкаУдаления = ЛОЖЬ
    • В универсальном отчете снимите галочку "Только непомеченные на удаление" в настройках фильтра.

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

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

    Для отслеживания истории используйте:

    1. Журнал регистрации (Администрирование → Журнал регистрации): показывает, кто и когда создавал/изменял документы.
    2. Механизм версий (если включен в конфигурации): позволяет сравнить текущую и предыдущие версии документа.
    3. Запрос к регистру сведений (для конфигураций с историей изменений, например, 1С:ERP):
      ВЫБРАТЬ
      

      ИсторияДокументов.Ссылка КАК Документ,

      ИсторияДокументов.ДатаИзменения,

      ИсторияДокументов.Пользователь,

      ИсторияДокументов.ВидыИзменений

      ИЗ

      РегистрСведений.ИсторияДокументов КАК ИсторияДокументов

      ГДЕ

      ИсторияДокументов.Ссылка В (&СписокДокументов)

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

    Можно ли получить список документов из мобильного приложения 1С?

    Да, но функционал ограничен:

    • 📱 В мобильном клиенте 1С:Предприятие доступны только стандартные отчеты, настроенные для мобильной версии.
    • 🔧 Для расширенных возможностей используйте веб-клиент (через браузер на телефоне) или специализированные мобильные обработки.
    • 📲 Некоторые внешние обработки (например, для выгрузки в Excel) могут не работать на мобильных устройствах.

    Рекомендация: для регулярной работы с документами настройте упрощенные отчеты специально для мобильного интерфейса или используйте 1С:Отчетность (если требуется только просмотр).