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