Отчеты и Аналитика · 9 мин
Как свернуть табличный документ в 1С
Как свернуть табличный документ в 1С: сворачивание группировок, скрытие строк и колонок, программные методы и типичные ошибки при работе с отчетами.
Под сворачиванием табличного документа в 1С обычно понимают три разные задачи: свернуть группировки в отчете до нужного уровня, скрыть отдельные строки или колонки и программно вывести документ уже в свернутом виде. Каждая из них решается своими инструментами — от кнопок на панели до методов встроенного языка.
Чаще всего вопрос возникает у пользователей отчетов: оборотно-сальдовая ведомость или отчет по продажам разворачивается по всем контрагентам и номенклатуре, а нужна только итоговая картина. Реже сворачивание требуется разработчику, который формирует печатную форму и хочет управлять видимостью областей программно.
Ниже разобраны все основные способы: работа с группировками в интерактивном режиме, скрытие областей вручную и через код, а также настройка отчета так, чтобы он открывался уже свернутым. Отдельно описаны ограничения и ошибки, из-за которых сворачивание «не срабатывает».
Что значит «свернуть» табличный документ
Табличный документ в 1С — это универсальный формат представления данных: в нем открываются отчеты, печатные формы, расшифровки. Внутри документа данные организованы в строки и колонки, а строки могут объединяться в иерархические группировки — например, «Контрагент → Договор → Документ».
Сворачивание означает скрытие детальных строк с сохранением итогов по группе. При этом сами данные не удаляются: развернуть группу можно в любой момент, нажав значок «плюс» слева от строки. Это принципиальное отличие от удаления строк — свернутый документ можно развернуть обратно без пересчета отчета.
Сворачивание группировок кнопками на панели
Самый быстрый способ — воспользоваться кнопками уровней группировки. В отчетах на системе компоновки данных (СКД), а это большинство типовых отчетов в «1С:Бухгалтерии», «1С:Управление торговлей» и «1С:ERP», над табличным документом отображаются пронумерованные кнопки: 1, 2, 3 и так далее. Нажатие на цифру сворачивает документ до соответствующего уровня.
Например, в отчете «Продажи по контрагентам» кнопка «1» оставит только общие итоги, кнопка «2» покажет итоги по контрагентам без детализации до документов. Отдельные группы сворачиваются и разворачиваются значками «минус» и «плюс» в левой части строк — так можно раскрыть одного контрагента, оставив остальных свернутыми.
- 1Сформируйте отчет стандартной кнопкой
- 2Найдите над табличным документом кнопки с цифрами — уровни группировок
- 3Нажмите цифру, соответствующую нужному уровню детализации
- 4Для точечного сворачивания используйте значки «минус» слева от строк групп
- 5Проверьте, что итоговые суммы по свернутым группам отображаются корректно
Как скрыть отдельные строки и колонки
Если нужно убрать с экрана конкретные строки или колонки, а не целую группировку, используется команда скрытия области. Выделите нужные строки (протянув мышью по номерам строк слева) или колонки (по буквам сверху), затем вызовите контекстное меню правой кнопкой и выберите «Скрыть». В ряде конфигураций та же команда доступна через главное меню «Таблица».
Скрытые области не печатаются и не попадают в сохраненный файл, если документ позже выгрузить в Excel или PDF. Это удобный способ убрать служебные колонки перед отправкой печатной формы контрагенту. Чтобы вернуть скрытое, выделите соседние области вокруг скрытой и выберите «Показать» в контекстном меню.
Программное сворачивание в коде
Разработчику доступны методы объекта «ТабличныйДокумент» для управления отображением. Чтобы показать только определенный уровень группировок, используется метод ПоказатьУровеньГруппировокСтрок(Уровень), где уровень нумеруется с нуля. Аналогичный метод ПоказатьУровеньГруппировокКолонок() работает для группировок по колонкам.
Для скрытия произвольной области применяется установка свойства видимости: получите область методом Область() и присвойте свойству Видимость значение Ложь. Скрытие строк выполняется через свойство ВысотаСтроки со значением 0 — такой прием часто используют в печатных формах, когда строку нужно вывести в макет, но не показывать.
ТабДок.ПоказатьУровеньГруппировокСтрок(0); // свернуть до верхнего уровня
Область = ТабДок.Область("R10:R15");
Область.Видимость = Ложь; // скрыть строки 10–15Важно: методы показа уровня группировок работают только если группировки реально существуют в документе — то есть отчет был сформирован с группировками. Для «плоского» табличного документа без иерархии вызов метода не даст видимого эффекта.
Как сделать, чтобы отчет открывался уже свернутым
Если отчет регулярно нужен в свернутом виде, каждый раз нажимать кнопки неудобно. В отчетах на СКД начальный уровень детализации задается в настройках варианта: откройте «Еще — Изменить вариант» (или «Настройки»), уберите лишние группировки или настройте вывод только итогов, затем сохраните вариант под понятным именем. При следующем открытии отчет сформируется сразу в нужном виде.
Для программно формируемых отчетов достаточно вызвать ПоказатьУровеньГруппировокСтрок() сразу после формирования, до открытия формы с документом пользователю. Такой подход применяют в расширениях и внешних отчетах.
Способы сворачивания — что выбрать
Быстро и без настроек; подходит для разового просмотра, но не запоминается между сеансами
Гибко для отдельных строк и колонок; теряется при переформировании отчета
Действует постоянно и для всех, кому доступен вариант; требует прав на изменение настроек
Полный контроль из кода; доступно только разработчику или через внешнюю обработку
Типичные ошибки и их причины
Частая жалоба — «кнопки уровней не появляются». Причина обычно в том, что отчет выведен без группировок: например, в настройках оставлена только детальная строка без итоговых уровней. Добавьте группировку в настройках варианта, и кнопки появятся.
Вторая ситуация — сворачивание «сбрасывается» при любом изменении отбора. Это ожидаемое поведение: при пересчете отчет формируется заново в полном виде. Решение — сохраненный вариант с нужной структурой, а не ручное сворачивание после каждого пересчета.
Проверка результата и ограничения
После сворачивания убедитесь, что итоги остались корректными: свернутые группы показывают суммы по скрытым строкам, и общий итог документа не должен измениться. Если итог «поплыл», проблема не в сворачивании, а в данных — разверните группу и проверьте детальные записи.
Учтите ограничения: в табличном документе, открытом в режиме «только просмотр», скрытие областей может быть недоступно; в веб-клиенте часть команд контекстного меню отличается от тонкого клиента; свернутое состояние не сохраняется в файл MXL при обычном сохранении — документ откроется в том виде, в каком был сформирован.
Как проверить результат
Совпадает с итогом до сворачивания
Итог изменился — проверьте, не были ли строки удалены вместо скрытия
У свернутых групп отображается «плюс», группа разворачивается
Значков нет — в документе нет группировок
Скрытые строки и колонки не выводятся на печать
Скрытое печатается — проверьте, не используется ли отдельный макет для печати
Что важно запомнить
Сворачивание не удаляет данные — оно лишь скрывает детализацию. Для разовой задачи используйте кнопки уровней или скрытие областей, для постоянной работы — сохраненный вариант отчета, а для печатных форм и обработок — программные методы табличного документа.
Частые вопросы
Можно ли свернуть табличный документ в веб-клиенте 1С?
Да, кнопки уровней группировок и значки сворачивания групп работают в веб-клиенте так же, как в тонком. Однако контекстное меню с командами «Скрыть» и «Показать» в некоторых браузерах может быть ограничено — в этом случае используйте сворачивание через группировки.
Сохранится ли свернутый вид, если выгрузить документ в Excel?
При выгрузке в Excel группировки обычно переносятся как группы строк Excel, и свернутое состояние частично сохраняется. Однако скрытые вручную области могут выгрузиться иначе — перед отправкой файла откройте его и проверьте результат.
Почему после сворачивания пропали итоги по группе?
Итоги выводятся в строке заголовка или подвала группы. Если в макете или настройках отчета итоговые ресурсы не выбраны, свернутая группа покажет пустую строку. Добавьте нужные ресурсы в настройках отчета в разделе показателей.
Как свернуть все группы одной командой в коде?
Вызовите метод ПоказатьУровеньГруппировокСтрок(0) — документ свернется до верхнего уровня. Если нужен конкретный промежуточный уровень, передайте его номер, помня, что нумерация начинается с нуля.
Можно ли запретить пользователю разворачивать свернутые группы?
Штатной настройки «запрета разворачивания» нет. Если детализацию показывать нельзя, правильнее не сворачивать, а формировать отчет без детальных данных — через настройку варианта или ограничение прав доступа к данным на уровне ролей.