Включение и отключение итогов регистра в полном режиме обработки «Управление итогами»
Содержание
Флажок в колонке «Использование» меняется не щелчком по ячейке, а командой: откройте обработку «Управление итогами», переключите её в полный режим, выделите строки нужных регистров и выполните команду включения или выключения итогов из командной панели или контекстного меню. Если команды неактивны — у пользователя нет права «Управление итогами», либо выбранный регистр вообще не хранит итоги.
Изменить состояние флажка можно тремя способами. Через форму обработки — для разовой правки одного-двух регистров. Через встроенный язык — когда итоги надо выключить на время массовой загрузки и включить обратно автоматически. Конфигуратор сам флажок не переключает, но в нём задаются свойства регистра, от которых зависит, какие колонки окна вообще будут доступны.
Механизм общий для платформы 8.3 и не зависит от конфигурации: обработка встроена в платформу и выглядит одинаково в БП 3.0, ЗУП 3.1, УТ 11 и ERP. Разница только в том, где конфигурация вынесла команду её открытия.
Как открыть полный режим управления итогами
Обработка «Управление итогами» — стандартная, её не нужно скачивать или подключать. Открыть её можно двумя путями.
Через раздел администрирования (БП 3.0, ЗУП 3.1, УТ 11):
- Перейдите в
Администрирование → Обслуживание. - Разверните группу
Корректировка данных. - Нажмите ссылку
Управление итогами.
Через «Все функции» — в любой конфигурации:
- Включите команду:
Главное меню (☰) → Сервис → Параметры, флажок «Отображать команду “Все функции”». - Откройте
Главное меню → Все функции. - Разверните ветку
Стандартныеи запуститеУправление итогами.
При первом открытии обработка показывает упрощённую форму: несколько крупных команд для частых действий (пересчитать итоги, установить период рассчитанных итогов). Колонок с флажками там нет. Чтобы их увидеть, перейдите в полный режим ссылкой в нижней части формы — в разных релизах платформы она подписана немного по-разному, но всегда ведёт к «полным возможностям».
В полном режиме открывается таблица всех регистров накопления и бухгалтерии, у которых есть итоги. Для оборотных регистров накопления отдельная закладка показывает агрегаты.
Форма запоминает режим. Если однажды переключили её в полный вид, в следующий раз она откроется сразу с таблицей регистров.
Что показывают колонки таблицы
| Колонка | Что означает флажок или значение |
|---|---|
| Регистр | Имя регистра из конфигурации |
| Использование (итоги) | Платформа поддерживает итоги при записи движений |
| Текущие итоги | Хранится остаток «на сейчас», без досчёта по движениям |
| Период рассчитанных итогов | Дата, до которой итоги посчитаны по периодам |
| Разделение итогов | Итоги хранятся несколькими записями для параллельной записи |
Колонка «Использование» — главная. Остальные имеют смысл, только когда она включена.
Почему флажок «Использование» не переключается
Пользователь выделяет строку, а команды серые, или флажок после команды возвращается на место. Причин обычно несколько, и проверять их удобнее по порядку.
- 🔒 Нет права «Управление итогами». Это отдельное право уровня конфигурации. Оно входит в роль полных прав, а у обычных пользовательских ролей бухгалтера или кладовщика его нет. Без него команды изменения итогов недоступны.
- 📊 Для оборотного регистра включён режим агрегатов. Оборотный регистр накопления использует либо итоги, либо агрегаты — не то и другое сразу. Пока режим агрегатов включён, итоги не задействованы, и менять флажок бессмысленно.
- 📁 Регистр не хранит итоги вообще. Регистры сведений и расчёта в основной таблице не показываются. Для периодических регистров сведений начиная с платформы 8.3 есть итоги срезов первых и последних, но они настраиваются отдельно и требуют включённого свойства в конфигураторе.
- ⏳ Регистр занят записью. Если в этот момент идёт обмен, закрытие месяца или проведение пакета документов, изменение итогов натыкается на блокировки и завершается ошибкой. Флажок остаётся в прежнем состоянии.
- ☁️ База в режиме разделения данных. В облачных сервисах на технологии 1С:Фреш управление итогами из области данных пользователю обычно недоступно — этим занимается администратор сервиса.
Что настраивается в конфигураторе, а что — в пользовательском режиме
Частая путаница: администратор открывает конфигуратор, ищет у регистра свойство «Использование итогов» и не находит его. Его там и нет. Состояние итогов — это данные конкретной информационной базы, а не часть конфигурации. Поэтому флажок переключается только в режиме «1С:Предприятие».
В конфигураторе задаются свойства, которые ограничивают, что можно будет сделать в окне итогов:
- Откройте дерево конфигурации и найдите регистр в ветке
Регистры накопленияилиРегистры бухгалтерии. - Откройте палитру свойств регистра (
Alt+Enter). - Найдите свойство «Разрешить разделение итогов». Если оно выключено, колонку «Разделение итогов» для этого регистра включить не получится.
- Для периодического регистра сведений там же есть свойства, разрешающие итоги среза первых и среза последних. Без них соответствующие итоги в окне не появятся.
Изменение этих свойств в типовой конфигурации на поддержке требует снятия объекта с замка или правки через расширение. Для одного свойства регистра это редко оправдано. В типовых конфигурациях разделение итогов у крупных регистров обычно уже разрешено.
Отдельный инструмент конфигуратора — Администрирование → Тестирование и исправление. В нём есть пункт «Пересчёт итогов». Флажок «Использование» он не переключает, но пересчитывает итоги всех регистров заново. Это нужно, когда остатки в отчётах расходятся с движениями.
Тестирование и исправление требует монопольного доступа к базе: все пользователи должны выйти. Перед запуском сделайте выгрузку .dt или резервную копию средствами СУБД — режим «Реструктуризация таблиц» и исправление ссылок необратимы.
Как каждая настройка итогов влияет на работу регистра
Флажки в окне итогов — это компромисс между скоростью записи документов и скоростью отчётов. Ниже — что происходит при каждом сочетании.
| Настройка | Включена | Выключена |
|---|---|---|
| Использование итогов | Запись движений сразу обновляет итоги, отчёты по остаткам быстрые | Итоги не обновляются, остатки считаются по всем движениям, отчёты сильно замедляются |
| Текущие итоги | Остаток на текущий момент берётся готовым | Остаток «на сейчас» досчитывается от последнего рассчитанного периода |
| Период рассчитанных итогов | Итоги по периодам хранятся до указанной даты | — |
| Разделение итогов | Несколько сеансов пишут в регистр параллельно без ожидания друг друга | Сеансы ждут друг друга на одной записи итогов, но таблица итогов меньше |
Практические выводы из таблицы:
- ✅ Выключать «Использование» стоит только на время массовой записи — загрузки начальных остатков, переноса данных, перепроведения за большой период. Запись идёт быстрее, потому что платформа не обновляет итоги на каждом движении.
- ✅ После включения платформа пересчитывает итоги. На регистре с десятками миллионов движений это может занять от минут до часов. Планируйте включение на вечер или выходные.
- ✅ Период рассчитанных итогов обычно ставят на конец прошлого месяца. Тогда проведение документов текущего месяца трогает меньше записей итогов. Именно его меняет команда в упрощённой форме обработки.
- ✅ Разделение итогов полезно в базах, где одновременно проводят документы десятки пользователей. В небольшой базе на 3–5 человек разница незаметна.
Не оставляйте итоги выключенными после загрузки. Это самая дорогая ошибка: база работает, документы проводятся, но любой отчёт по остаткам и проведение с контролем остатков начинают тормозить. Пользователи жалуются на «медленную 1С», а причина — в одном снятом флажке.
Проверка состояния итогов внешней обработкой
Когда регистров много, листать таблицу неудобно. Быстрее собрать сводку внешней обработкой: она выведет состояние итогов по всем регистрам одним списком. Это пригодится после обновления, обмена или работы подрядчика, который мог выключить итоги и забыть.
Как сделать обработку:
- В конфигураторе выберите
Файл → Новый → Внешняя обработка. - Создайте форму, добавьте на неё команду и обработчик.
- Вставьте код ниже, сохраните файл
.epf. - В пользовательском режиме откройте его через
Главное меню → Файл → Открыть.
&НаКлиенте
Процедура ПроверитьИтоги(Команда)
ПроверитьИтогиНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПроверитьИтогиНаСервере()
ВидОстатки = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки;
Для Каждого МетаРегистр Из Метаданные.РегистрыНакопления Цикл
Менеджер = РегистрыНакопления[МетаРегистр.Имя];
Если МетаРегистр.ВидРегистра = ВидОстатки Тогда
Сообщить(СтрШаблон("РН %1: итоги = %2, текущие = %3, период = %4, разделение = %5",
МетаРегистр.Имя,
Менеджер.ПолучитьИспользованиеИтогов(),
Менеджер.ПолучитьИспользованиеТекущихИтогов(),
Формат(Менеджер.ПолучитьМаксимальныйПериодРассчитанныхИтогов(), "ДФ=dd.MM.yyyy"),
Менеджер.ПолучитьРазделениеИтогов()));
Иначе
Сообщить(СтрШаблон("РН %1 (оборотный): итоги = %2, режим агрегатов = %3",
МетаРегистр.Имя,
Менеджер.ПолучитьИспользованиеИтогов(),
Менеджер.ПолучитьРежимАгрегатов()));
КонецЕсли;
КонецЦикла;
Для Каждого МетаРегистр Из Метаданные.РегистрыБухгалтерии Цикл
Менеджер = РегистрыБухгалтерии[МетаРегистр.Имя];
Сообщить(СтрШаблон("РБ %1: итоги = %2, период = %3",
МетаРегистр.Имя,
Менеджер.ПолучитьИспользованиеИтогов(),
Формат(Менеджер.ПолучитьМаксимальныйПериодРассчитанныхИтогов(), "ДФ=dd.MM.yyyy")));
КонецЦикла;
КонецПроцедуры
Обработка ничего не меняет — только читает. Её безопасно запускать в рабочей базе в любое время. Строки со значением Нет в поле «итоги» — первые кандидаты на проверку.
Пустая дата в поле «период» у регистра остатков означает, что итоги по периодам не рассчитаны. Такое бывает в новой базе или после неудачного пересчёта.
Для проверки самих остатков подойдёт консоль запросов: сравните результат виртуальной таблицы Остатки с суммой движений по тому же регистру на ту же дату. Расхождение говорит о том, что итоги испорчены и их нужно пересчитать, а не просто включить.
Программное включение и выключение итогов
Ручное переключение флажка годится для разовой операции. Если загрузка повторяется — ежемесячный перенос из внешней системы, регулярная загрузка остатков, — управление итогами лучше встроить в код. Тогда итоги гарантированно включатся обратно, даже если загрузка упала с ошибкой.
Основные методы менеджера регистра:
| Метод | Что делает |
|---|---|
УстановитьИспользованиеИтогов(Булево) | Включает или выключает итоги — это и есть флажок «Использование» |
ПолучитьИспользованиеИтогов() | Возвращает текущее состояние флажка |
УстановитьИспользованиеТекущихИтогов(Булево) | Управляет колонкой «Текущие итоги» |
УстановитьМаксимальныйПериодРассчитанныхИтогов(Дата) | Сдвигает период рассчитанных итогов |
УстановитьРазделениеИтогов(Булево) | Управляет колонкой «Разделение итогов» |
ПересчитатьИтоги() | Полный пересчёт итогов регистра |
Пример для массовой загрузки в регистр остатков:
&НаСервере
Процедура ЗагрузитьОстаткиНаСервере()
Менеджер = РегистрыНакопления.ТоварыНаСкладах;
Менеджер.УстановитьИспользованиеИтогов(Ложь);
Попытка
ЗаписатьДвиженияЗагрузки();
Исключение
Менеджер.УстановитьИспользованиеИтогов(Истина);
ВызватьИсключение;
КонецПопытки;
Менеджер.УстановитьИспользованиеИтогов(Истина);
КонецПроцедуры
Здесь ТоварыНаСкладах — имя регистра в вашей конфигурации, а ЗаписатьДвиженияЗагрузки() — ваша процедура записи наборов. Конструкция Попытка … Исключение нужна ровно для одного: чтобы ошибка в середине загрузки не оставила базу с выключенными итогами.
Что учесть при программном управлении:
- 🔑 Код выполняется на сервере и под пользователем с правом «Управление итогами». Для фонового задания или регламента проверьте, под кем оно запускается.
- ⏱ Вызов
УстановитьИспользованиеИтогов(Истина)запускает пересчёт итогов. Он идёт синхронно: процедура не вернёт управление, пока пересчёт не закончится. - 👥 Пока итоги выключены, отчёты и проведение у других пользователей по этому регистру работают медленно. Запускайте загрузку, когда в базе никто активно не проводит документы.
- 🔁 Не выключайте итоги внутри транзакции записи документа. Это действие уровня базы, а не отдельного документа.