Быстрый старт · 10 мин
Как вывести список документов в 1С
Как вывести список документов в 1С: через журнал документов, настройку отборов, динамические списки и запросы. Примеры кода, типичные ошибки и ответы на вопросы.
Список документов — базовый рабочий инструмент в любой конфигурации 1С: через него бухгалтер ищет реализации за месяц, менеджер проверяет заказы, а разработчик выводит данные на форму или в отчёт. Способ вывода зависит от задачи: пользователю достаточно журнала документов с отбором, а разработчику нужны динамические списки и запросы.
В этой статье разобраны оба подхода. Сначала — пользовательские сценарии в режиме «Предприятие» (управляемые формы, интерфейс «Такси»), затем — программные методы для тех, кто дорабатывает конфигурацию. Примеры ориентированы на типовые конфигурации вроде «Бухгалтерии предприятия» и «Управления торговлей», но логика одинакова для большинства решений на платформе 1С:Предприятие 8.3.
Как открыть список документов в пользовательском режиме
Самый простой способ увидеть документы — открыть журнал соответствующего вида. В типовых конфигурациях журналы сгруппированы по разделам: «Продажи», «Покупки», «Банк и касса», «Склад». Например, чтобы вывести список реализаций, откройте раздел «Продажи» и выберите пункт «Реализация (акты, накладные)». Перед вами появится таблица со всеми документами этого вида.
Если документы разных видов нужно видеть вместе, используйте общие журналы. В «Бухгалтерии предприятия» это, например, журнал «Документы» в разделе «Операции», где собраны все введённые документы. В «Управлении торговлей» аналогичную роль играют журналы «Документы продажи» и «Документы закупки».
Обратите внимание на период: по умолчанию многие журналы показывают документы только за текущий месяц или квартал. Если список пуст, хотя документы точно есть, первым делом проверьте установленный интервал дат — кнопка периода обычно находится на панели над списком.
- 1Откройте раздел, соответствующий виду документа (Продажи, Покупки, Банк и касса)
- 2Выберите журнал нужного вида документов
- 3Установите период просмотра кнопкой над списком
- 4При необходимости настройте отбор по организации, контрагенту или складу
- 5Проверьте, что в списке появились ожидаемые документы
Настройка отборов и сортировки списка
Когда документов много, работать с полным списком неудобно. Для фильтрации используйте кнопку «Настроить список» (обычно в меню «Ещё» или на панели списка). В открывшемся окне добавьте условия отбора: по организации, контрагенту, сумме, ответственному, складу. Условия можно комбинировать — например, вывести только проведённые реализации по конкретному покупателю за выбранный период.
Для быстрого поиска по номеру или комментарию подойдёт строка поиска в командной панели списка. Учтите, что поиск ищет только по видимым колонкам и текущему отбору: если нужный документ не находится, сначала снимите ограничения.
Сортировка настраивается кликом по заголовку колонки или в том же окне «Настроить список» на закладке «Сортировка». Полезно добавить в список дополнительные колонки — например, «Сумма», «Состояние» или «Ответственный» — через команду «Изменить форму», если они не выведены по умолчанию.
Как вывести список на печать или в файл
Частая задача — получить реестр документов в виде таблицы для отчёта руководителю или сверки с контрагентом. В типовых конфигурациях для этого есть отчёт «Реестр документов»: в «Бухгалтерии предприятия» он находится в разделе «Руководителю» или «Отчёты», в «Управлении торговлей» — в разделе «Отчёты» соответствующего направления. Укажите вид документа, период и при необходимости организацию — программа сформирует печатную форму реестра.
Альтернатива — вывести сам список в табличный документ. Откройте журнал, настройте отбор, затем в меню «Ещё» выберите «Вывести список». Откроется окно, где можно отметить нужные колонки и получить таблицу, которую легко сохранить в Excel, PDF или распечатать.
При выгрузке в Excel проверьте, что суммы и даты распознаны корректно: в некоторых случаях числа выгружаются как текст, и формулы в Excel с ними не работают. Лечится преобразованием формата ячеек уже в Excel.
Программный вывод списка документов на форме
Разработчику для вывода списка документов на управляемой форме обычно достаточно динамического списка. Создайте реквизит формы типа «ДинамическийСписок», установите флаг «Произвольный запрос» только если стандартного не хватает, и укажите основную таблицу — например, «Документ.РеализацияТоваровУслуг». Затем перетащите реквизит в дерево элементов формы — получится готовая таблица с сортировкой и отбором «из коробки».
Если нужен отбор, который пользователь менять не должен, задайте его в свойствах динамического списка через «Настройку списка» или программно в обработчике «ПриСозданииНаСервере»:
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Организация;
ЭлементОтбора.Использование = Истина;
Для выборки данных без отображения на форме — например, для обработки или печати — используйте запрос. Он гибче динамического списка: позволяет соединять таблицы, группировать итоги и получать только нужные поля.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Реализация.Ссылка КАК Документ,
| Реализация.Дата,
| Реализация.Контрагент,
| Реализация.СуммаДокумента
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Реализация
|ГДЕ
| Реализация.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И Реализация.Проведен
|
|УПОРЯДОЧИТЬ ПО
| Реализация.Дата";
Выбор способа под конкретную задачу
Разные инструменты решают разные задачи, и выбор неправильного приводит к лишней работе. Пользователю для ежедневного поиска документов достаточно журнала с отбором, для сверки — реестра документов. Программисту для формы подходит динамический список, а для обработок и печатных форм — запрос.
Сравнение вариантов
Подходит для ежедневной работы пользователя. Не требует доработок, но ограничен стандартными колонками и отборами.
Подходит для печати и сверки. Даёт готовую печатную форму, но состав полей зависит от конфигурации.
Подходит для доработки интерфейса. Требует прав доступа разработчика, зато гибко настраивается.
Подходит для обработок, выгрузок и печатных форм. Максимальная гибкость, но требует знания языка запросов 1С.
Если стандартные возможности журнала не закрывают задачу — например, нужна колонка с остатком по заказу или признак оплаты — не пытайтесь решить это отборами. Такие поля выводятся только доработкой: произвольным запросом динамического списка или собственным отчётом на СКД.
Типичные ошибки и как их избежать
Чаще всего «пропавшие» документы объясняются не ошибкой программы, а настройками просмотра. Проверьте период, активные отборы и права доступа: при ограничении на уровне записей (RLS) пользователь видит только документы своей организации или подразделения, и список для него объективно неполный.
Отдельная группа проблем — производительность. Запрос без отбора по периоду к таблице документа с сотнями тысяч записей может выполняться минутами и блокировать работу других пользователей. Всегда ограничивайте выборку периодом и выбирайте только нужные поля, а не «ВЫБРАТЬ *».
Как проверить результат
Совпадает с ожидаемым числом документов за период
Список пуст или неполный — проверьте период, отборы и права
Видны и проведённые, и непроведённые (если отбор по статусу не задан)
Часть документов не отображается без явной причины
Суммы и даты распознаются как числа и даты в Excel
Числа выгружены как текст, формулы не считаются
Запрос с отбором по периоду выполняется за секунды
Запрос без ограничений «подвешивает» сеанс
Часто задаваемые вопросы
Почему журнал документов пуст, хотя документы точно вводились?
Чаще всего дело в периоде просмотра — журнал по умолчанию показывает ограниченный интервал. Также проверьте активные отборы через «Настроить список» и убедитесь, что документы вводились именно в этой информационной базе, а не в копии или тестовой версии.
Можно ли вывести в один список документы разных видов?
Да, для этого служат общие журналы документов, куда конфигурация включает несколько видов — например, «Документы продажи». Если подходящего журнала нет, разработчик может создать новый объект «Журнал документов» и включить в него нужные виды, либо сделать отчёт на СКД с объединением таблиц.
Как вывести список только непроведённых документов?
В настройке списка добавьте отбор по полю «Проведен» со значением «Нет». Программно это условие в запросе: ГДЕ НЕ Документ.Проведен. Учтите, что помеченные на удаление документы в этот список тоже попадут — при необходимости добавьте отбор по полю «ПометкаУдаления».
Как добавить в список колонку, которой нет по умолчанию?
В пользовательском режиме попробуйте «Ещё» → «Изменить форму» и отметьте нужный реквизит документа — если он есть в запросе списка, колонка появится. Если реквизита в списке нет, потребуется доработка: изменение запроса динамического списка или создание собственной формы списка.
Чем вывод списка через запрос отличается от динамического списка?
Динамический список — интерактивный элемент формы: пользователь может сортировать, отбирать и открывать документы двойным кликом. Запрос возвращает статичную таблицу значений для обработки, печати или выгрузки. Для интерфейса используйте динамический список, для расчётов и отчётов — запрос.
Опасно ли менять настройки списка — можно ли что-то испортить?
Настройки отбора, сортировки и состава колонок влияют только на отображение и не изменяют данные документов. Испортить что-то можно только доработкой конфигурации без резервной копии — поэтому любые изменения в конфигураторе делайте после выгрузки базы и желательно через расширение.
Что важно запомнить
Пользователю для вывода списка документов достаточно журнала с настройкой периода и отборов, а для печати — реестра документов или команды «Вывести список». Разработчику для форм подходит динамический список, для обработок — запрос с обязательным ограничением по периоду. Перед доработкой конфигурации всегда делайте резервную копию.