Работа с документами — основа любой учетной системы в 1С:Предприятие. Нередко пользователям и разработчикам требуется получить актуальный список документов: для анализа, выгрузки, проверки или дальнейшей обработки. В зависимости от задачи и уровня доступа можно использовать разные инструменты — от стандартных отчетов до написания собственных запросов на встроенном языке.
В этой статье мы разберем 5 основных способов получения списков документов в 1С 8.3 (актуально и для 8.2), их преимущества и ограничения. Вы узнаете, как выгрузить данные без программирования, какие отчеты дают максимальную детализацию, и когда стоит прибегнуть к Запросам или внешним обработкам. Особое внимание уделим типичным ошибкам, которые приводят к неполным или некорректным спискам.
1. Стандартные отчеты 1С: быстрый способ для пользователей
Самый простой метод — использовать встроенные отчеты конфигурации. Они не требуют прав администратора или знания языка программирования, но дают базовую информацию о документах. Доступны в большинстве типовых конфигураций (1С:Бухгалтерия, 1С:УТ, 1С:ЗУП и др.).
Чтобы открыть стандартный отчет:
- 📊 Перейдите в раздел
Отчеты(илиАналитикав некоторых конфигурациях). - 🔍 Выберите отчет типа
"Журнал документов","Обороты между документами"или"Анализ документов". - ⚙️ Настройте период, тип документов (например,
"Реализация товаров") и дополнительные фильтры (контрагент, склад). - 📤 Экспортируйте результат в
Excel,PDFилиHTMLпри необходимости.
Преимущества метода: скорость и простота. Однако стандартные отчеты часто не показывают все поля документов (например, комментарии или реквизиты табличных частей) и не позволяют гибко группировать данные. Для детального анализа придется использовать другие инструменты.
⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP) названия отчетов могут отличаться. Если не находите"Журнал документов", проверьте раздел"Все функции"(клавишаF1→ поиск по названию).
2. Универсальный отчет: гибкая настройка без программирования
Универсальный отчет — мощный инструмент, встроенный в платформу 1С:Предприятие 8. Он позволяет создать произвольный список документов с любыми полями, фильтрами и группировками, не прибегая к коду. Доступен во всех типовых конфигурациях, но часто скрыт в меню.
Как открыть и настроить:
- Нажмите
Файл → Открыть → Универсальный отчет(или найдите через поиск по всем функциям). - В поле
"Объект"выберите нужный тип документа (например,"Заказ клиента"). - В закладке
"Поля"добавьте реквизиты для отображения: дату, номер, контрагента, сумму и т.д. - Настройте фильтры (период, организация, ответственный) и сортировку.
- Сохраните настройки отчета для повторного использования.
Пример настройки для списка "Поступление товаров":
Объект: Документ.ПоступлениеТоваровУслуг
Поля: Дата, Номер, Поставщик, СуммаДокумента, Комментарий
Фильтр: Дата >= &НачалоПериода И Дата <= &КонецПериода
Группировка: Поставщик (с иерархией)
Универсальный отчет подходит для разовых задач, когда нужно быстро получить данные с нестандартными полями. Однако он не сохраняет историю изменений документов и может тормозить при большом объеме данных (более 10 000 строк).
Если универсальный отчет долго формируется, разбейте запрос по периодам (например, помесячно) или используйте фильтр по организации/складу.
3. Запросы на встроенном языке: для разработчиков и продвинутых пользователей
Если стандартные инструменты не дают нужной гибкости, используйте запросы на языке 1С. Этот метод требует знания синтаксиса, но позволяет:
- 🔧 Получать данные из нескольких таблиц (связи
ЛЕВОЕ СОЕДИНЕНИЕ,ВНУТРЕННЕЕ СОЕДИНЕНИЕ). - 📌 Фильтровать по любым реквизитам, включая виртуальные (например,
"СуммаНДС > 1000"). - 📊 Группировать и агрегировать данные (
СУММА","МАКСИМУМ","КОЛИЧЕСТВО"). - 📄 Выгружать результаты в табличный документ или файл.
Пример запроса для получения списка "Реализация товаров" с детализацией по номенклатуре:
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка КАК Документ,
РеализацияТоваровУслуг.Дата,
РеализацияТоваровУслуг.Номер,
РеализацияТоваровУслуг.Контрагент,
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Количество,
РеализацияТоваровУслугТовары.Цена,
РеализацияТоваровУслугТовары.Сумма
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка
ГДЕ
РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
УПОРЯДОЧИТЬ ПО
РеализацияТоваровУслуг.Дата
Чтобы выполнить запрос:
- Откройте
Консоль запросов(Сервис → Консоль запросовили черезВсе функции). - Вставьте текст запроса и нажмите
Выполнить. - Результат отобразится в таблице, которую можно экспортировать в
Excel.
⚠️ Внимание: Сложные запросы с множеством соединений могут заблокировать базу на время выполнения. Тестируйте их на копии базы или в нерабочее время.
Проверьте права доступа (требуется роль "Администратор" или "Полные права")
Создайте резервную копию базы
Ограничьте период выборки
Используйте индексируемые поля в условиях (например, Дата, Ссылка)-->
4. Внешние обработки: готовые решения для типовой функциональности
Если нет времени писать запросы или настраивать отчеты, воспользуйтесь внешними обработками. Это готовые файлы с расширением .epf или .erf, которые решают типовые задачи. Например:
- 📋
"Выгрузка документов в Excel"— сохраняет список с сохранением структуры. - 🔄
"Сравнение документов"— находит дубли или изменения. - 📂
"Поиск документов по реквизитам"— гибкий фильтр с поддержкой регулярных выражений.
Где взять обработки:
- 🌐 Инфостарт (infostart.ru) — крупнейшая база решений для 1С.
- 📦 1С:ИТС — в разделе "Полезные обработки" для вашей конфигурации.
- 💾 Форумы и сообщества (например, 1С:Клуб программистов).
Как подключить обработку:
- Скачайте файл
.epfи сохраните на компьютер. - В 1С откройте
Файл → Открытьи выберите скачанный файл. - Следуйте инструкциям обработки (обычно требуется указать период, тип документов и поля для выгрузки).
Преимущества внешних обработок: экономия времени и расширенный функционал (например, выгрузка в JSON или сравнение версий документов). Недостаток — риск использования небезопасного кода. Всегда проверяйте обработки на тестовой базе перед применением в рабочей.
Как проверить обработку на вирусы?
1. Загрузите файл на сервис VirusTotal (https://www.virustotal.com/).
2. Откройте код обработки в Конфигураторе (меню Файл → Открыть → выберите файл → Текст модуля).
3. Проверьте наличие подозрительных функций (например, ВыполнитьКоманду(), ЗаписатьФайл() без явной необходимости).
5. Программное получение списка: для автоматизации и интеграций
Если список документов нужен для автоматической обработки (например, отправки в другую систему или формирования отчета по расписанию), используйте встроенный язык 1С. Этот метод требует навыков программирования, но дает максимальную гибкость.
Пример кода для получения списка документов "Счет на оплату" за текущий месяц:
Процедура ПолучитьСписокСчетов()
НачалоМесяца = НачалоМесяца(ТекущаяДата());
КонецМесяца = КонецМесяца(ТекущаяДата());
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СчетНаОплату.Ссылка КАК Ссылка,
| СчетНаОплату.Дата,
| СчетНаОплату.Номер,
| СчетНаОплату.Контрагент,
| СчетНаОплату.СуммаДокумента
|ИЗ
| Документ.СчетНаОплату КАК СчетНаОплату
|ГДЕ
| СчетНаОплату.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца);
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТаблицаРезультатов = Новый ТаблицаЗначений;
ТаблицаРезультатов.Колонки.Добавить("Дата");
ТаблицаРезультатов.Колонки.Добавить("Номер");
ТаблицаРезультатов.Колонки.Добавить("Контрагент");
ТаблицаРезультатов.Колонки.Добавить("Сумма");
Пока Выборка.Следующий() Цикл
НоваяСтрока = ТаблицаРезультатов.Добавить();
НоваяСтрока.Дата = Выборка.Дата;
НоваяСтрока.Номер = Выборка.Номер;
НоваяСтрока.Контрагент = Выборка.Контрагент;
НоваяСтрока.Сумма = Выборка.СуммаДокумента;
КонецЦикла;
// Выгрузка в 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 = Истина;
КонецПроцедуры
Этот код:
- Формирует запрос к базе по документам
"Счет на оплату". - Сохраняет результат в
ТаблицуЗначений. - Экспортирует данные в Excel с сохранением форматирования.
Для автоматизации можно:
- 📅 Запускать процедуру по расписанию (через
Регламентные задания). - 📧 Отправлять результат на email (используя
ПочтаMAPIилиИнтернетПочта). - 🔄 Интегрировать с другими системами через
HTTP-СервисыилиREST API.
⚠️ Внимание: При работе с COM-объектами (например, Excel) убедитесь, что на компьютере установлено соответствующее ПО. В серверных решениях (например, 1С:Сервер) такой код работать не будет.
6. Сравнение методов: какой выбрать для вашей задачи
Выбор способа зависит от цели, навыков и доступных ресурсов. В таблице ниже — сравнение ключевых параметров:
| Метод | Сложность | Гибкость | Скорость | Требуемые права | Когда использовать |
|---|---|---|---|---|---|
| Стандартные отчеты | ⭐ | ⭐⭐ | ⭐⭐⭐ | Пользователь | Быстрый просмотр, базовая аналитика |
| Универсальный отчет | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ | Пользователь | Нестандартные поля, разовые задачи |
| Запросы | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | Администратор/разработчик | Сложная выборка, связь таблиц |
| Внешние обработки | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | Пользователь | Типовые задачи (выгрузка, сравнение) |
| Программный код | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐ | Разработчик | Автоматизация, интеграции, сложная логика |
Рекомендации по выбору:
- 🔹 Новичкам: начните со стандартных отчетов или универсального отчета.
- 🔹 Аналитикам: используйте внешние обработки или запросы (если есть навыки).
- 🔹 Разработчикам: программный код + регламентные задания для автоматизации.
Для регулярных задач (например, ежемесячная выгрузка документов) оптимально создать собственную обработку или регламентное задание. Это сэкономит время и исключит ошибки при ручном экспорте.
Типичные ошибки и как их избежать
При получении списков документов пользователи часто сталкиваются с проблемами. Рассмотрим самые распространенные:
- Неполные данные: отчет или запрос не показывает все документы.
Причина: неверно указан период, фильтр по организации/складу или отсутствуют права на просмотр.
Решение: проверьте:
- 📅 Диапазон дат (включает ли он нужные документы?).
- 🏢 Фильтр по организации (в многопользовательских базах).
- 👤 Права пользователя (раздел
"Администрирование → Пользователи").
Причина: запрос обращается к неиндексируемым полям или связывает слишком много таблиц.
Решение:
- 🛠️ Оптимизируйте запрос: используйте
"ИНДЕКСИРОВАТЬ ПО"для ключевых полей. - 📉 Разбейте запрос на части (например, по месяцам).
- 🖥️ Выполняйте ресурсоемкие операции в нерабочее время.
Причина: ограничения Excel (например, количество строк) или несовместимость форматов.
Решение:
- 📄 Используйте формат
CSVдля больших объемов данных. - 🔢 Проверьте региональные настройки (разделитель дробной части — точка или запятая).
- 📊 Для сложных таблиц экспортируйте данные в
PDFилиHTML.
Если проблема сохраняется, проверьте журнал регистрации (Администрирование → Журнал регистрации) на наличие ошибок. Часто там указаны причины сбоев (например, блокировки таблиц или недостаток памяти).
Как ускорить работу с большими списками?
1. Отключите ненужные поля в отчете/запросе (каждое дополнительное поле увеличивает время выполнения).
2. Используйте "ПОМЕСТИТЬ" для временных таблиц в сложных запросах:
ВЫБРАТЬ РАЗРЕШЕННЫЕ ...
ПОМЕСТИТЬ ВТДокументы
ИЗ ...
3. Для регулярных задач настройте Регламентные задания на выполнение в ночное время.
FAQ: Ответы на частые вопросы
Можно ли получить список документов за несколько лет?
Да, но учитывайте ограничения:
- 📅 В стандартных отчетах может быть ограничение по периоду (например, не более 3 лет).
- 🖥️ Большие выборки (более 50 000 строк) могут тормозить систему. Рекомендуется разбивать запрос по годам/кварталам.
- 🔍 Для архивных данных используйте
"Журнал документов"с фильтром по дате.
Если нужны данные за 5+ лет, рассмотрите выгрузку в отдельную базу или архивирование старых документов.
Как выгрузить список документов с табличными частями (например, товары в реализации)?
Для выгрузки табличных частей:
- В универсальном отчете добавьте поля из табличной части (например,
"Товары.Номенклатура"). - В запросе используйте связь с табличной частью:
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК Товары - В внешней обработке выберите вариант с детализацией по строкам.
Пример запроса с табличной частью смотрите в разделе про запросы.
Почему в списке документов не отображаются помеченные на удаление?
По умолчанию большинство отчетов и запросов не показывают помеченные на удаление документы. Чтобы их включить:
- В запросе добавьте условие:
ГДЕ НЕ Документ.ПометкаУдаленияили укажите явное включение:
ГДЕ Документ.ПометкаУдаления = ЛОЖЬ - В универсальном отчете снимите галочку
"Только непомеченные на удаление"в настройках фильтра.
В стандартных отчетах опция может отсутствовать — в этом случае используйте запрос или обработку.
Как получить список документов с историей изменений?
Для отслеживания истории используйте:
- Журнал регистрации (
Администрирование → Журнал регистрации): показывает, кто и когда создавал/изменял документы. - Механизм версий (если включен в конфигурации): позволяет сравнить текущую и предыдущие версии документа.
- Запрос к регистру сведений (для конфигураций с историей изменений, например, 1С:ERP):
ВЫБРАТЬИсторияДокументов.Ссылка КАК Документ,
ИсторияДокументов.ДатаИзменения,
ИсторияДокументов.Пользователь,
ИсторияДокументов.ВидыИзменений
ИЗ
РегистрСведений.ИсторияДокументов КАК ИсторияДокументов
ГДЕ
ИсторияДокументов.Ссылка В (&СписокДокументов)
В типовых конфигурациях история изменений может храниться ограниченное время (например, 1 год). Для долгосрочного хранения настройте архивирование или внешние резервные копии.
Можно ли получить список документов из мобильного приложения 1С?
Да, но функционал ограничен:
- 📱 В мобильном клиенте 1С:Предприятие доступны только стандартные отчеты, настроенные для мобильной версии.
- 🔧 Для расширенных возможностей используйте веб-клиент (через браузер на телефоне) или специализированные мобильные обработки.
- 📲 Некоторые внешние обработки (например, для выгрузки в
Excel) могут не работать на мобильных устройствах.
Рекомендация: для регулярной работы с документами настройте упрощенные отчеты специально для мобильного интерфейса или используйте 1С:Отчетность (если требуется только просмотр).