Включение и отключение итогов регистра в полном режиме обработки «Управление итогами»

· 9 мин

Содержание

Флажок в колонке «Использование» меняется не щелчком по ячейке, а командой: откройте обработку «Управление итогами», переключите её в полный режим, выделите строки нужных регистров и выполните команду включения или выключения итогов из командной панели или контекстного меню. Если команды неактивны — у пользователя нет права «Управление итогами», либо выбранный регистр вообще не хранит итоги.

Изменить состояние флажка можно тремя способами. Через форму обработки — для разовой правки одного-двух регистров. Через встроенный язык — когда итоги надо выключить на время массовой загрузки и включить обратно автоматически. Конфигуратор сам флажок не переключает, но в нём задаются свойства регистра, от которых зависит, какие колонки окна вообще будут доступны.

Механизм общий для платформы 8.3 и не зависит от конфигурации: обработка встроена в платформу и выглядит одинаково в БП 3.0, ЗУП 3.1, УТ 11 и ERP. Разница только в том, где конфигурация вынесла команду её открытия.

Как открыть полный режим управления итогами

Обработка «Управление итогами» — стандартная, её не нужно скачивать или подключать. Открыть её можно двумя путями.

Через раздел администрирования (БП 3.0, ЗУП 3.1, УТ 11):

  1. Перейдите в Администрирование → Обслуживание.
  2. Разверните группу Корректировка данных.
  3. Нажмите ссылку Управление итогами.

Через «Все функции» — в любой конфигурации:

  1. Включите команду: Главное меню (☰) → Сервис → Параметры, флажок «Отображать команду “Все функции”».
  2. Откройте Главное меню → Все функции.
  3. Разверните ветку Стандартные и запустите Управление итогами.

При первом открытии обработка показывает упрощённую форму: несколько крупных команд для частых действий (пересчитать итоги, установить период рассчитанных итогов). Колонок с флажками там нет. Чтобы их увидеть, перейдите в полный режим ссылкой в нижней части формы — в разных релизах платформы она подписана немного по-разному, но всегда ведёт к «полным возможностям».

В полном режиме открывается таблица всех регистров накопления и бухгалтерии, у которых есть итоги. Для оборотных регистров накопления отдельная закладка показывает агрегаты.

Форма запоминает режим. Если однажды переключили её в полный вид, в следующий раз она откроется сразу с таблицей регистров.

Что показывают колонки таблицы

КолонкаЧто означает флажок или значение
РегистрИмя регистра из конфигурации
Использование (итоги)Платформа поддерживает итоги при записи движений
Текущие итогиХранится остаток «на сейчас», без досчёта по движениям
Период рассчитанных итоговДата, до которой итоги посчитаны по периодам
Разделение итоговИтоги хранятся несколькими записями для параллельной записи

Колонка «Использование» — главная. Остальные имеют смысл, только когда она включена.

Почему флажок «Использование» не переключается

Пользователь выделяет строку, а команды серые, или флажок после команды возвращается на место. Причин обычно несколько, и проверять их удобнее по порядку.

  • 🔒 Нет права «Управление итогами». Это отдельное право уровня конфигурации. Оно входит в роль полных прав, а у обычных пользовательских ролей бухгалтера или кладовщика его нет. Без него команды изменения итогов недоступны.
  • 📊 Для оборотного регистра включён режим агрегатов. Оборотный регистр накопления использует либо итоги, либо агрегаты — не то и другое сразу. Пока режим агрегатов включён, итоги не задействованы, и менять флажок бессмысленно.
  • 📁 Регистр не хранит итоги вообще. Регистры сведений и расчёта в основной таблице не показываются. Для периодических регистров сведений начиная с платформы 8.3 есть итоги срезов первых и последних, но они настраиваются отдельно и требуют включённого свойства в конфигураторе.
  • ⏳ Регистр занят записью. Если в этот момент идёт обмен, закрытие месяца или проведение пакета документов, изменение итогов натыкается на блокировки и завершается ошибкой. Флажок остаётся в прежнем состоянии.
  • ☁️ База в режиме разделения данных. В облачных сервисах на технологии 1С:Фреш управление итогами из области данных пользователю обычно недоступно — этим занимается администратор сервиса.
Диагностика: выберите симптом

Что настраивается в конфигураторе, а что — в пользовательском режиме

Частая путаница: администратор открывает конфигуратор, ищет у регистра свойство «Использование итогов» и не находит его. Его там и нет. Состояние итогов — это данные конкретной информационной базы, а не часть конфигурации. Поэтому флажок переключается только в режиме «1С:Предприятие».

В конфигураторе задаются свойства, которые ограничивают, что можно будет сделать в окне итогов:

  1. Откройте дерево конфигурации и найдите регистр в ветке Регистры накопления или Регистры бухгалтерии.
  2. Откройте палитру свойств регистра (Alt+Enter).
  3. Найдите свойство «Разрешить разделение итогов». Если оно выключено, колонку «Разделение итогов» для этого регистра включить не получится.
  4. Для периодического регистра сведений там же есть свойства, разрешающие итоги среза первых и среза последних. Без них соответствующие итоги в окне не появятся.

Изменение этих свойств в типовой конфигурации на поддержке требует снятия объекта с замка или правки через расширение. Для одного свойства регистра это редко оправдано. В типовых конфигурациях разделение итогов у крупных регистров обычно уже разрешено.

Отдельный инструмент конфигуратора — Администрирование → Тестирование и исправление. В нём есть пункт «Пересчёт итогов». Флажок «Использование» он не переключает, но пересчитывает итоги всех регистров заново. Это нужно, когда остатки в отчётах расходятся с движениями.

Тестирование и исправление требует монопольного доступа к базе: все пользователи должны выйти. Перед запуском сделайте выгрузку .dt или резервную копию средствами СУБД — режим «Реструктуризация таблиц» и исправление ссылок необратимы.

Как каждая настройка итогов влияет на работу регистра

Флажки в окне итогов — это компромисс между скоростью записи документов и скоростью отчётов. Ниже — что происходит при каждом сочетании.

НастройкаВключенаВыключена
Использование итоговЗапись движений сразу обновляет итоги, отчёты по остаткам быстрыеИтоги не обновляются, остатки считаются по всем движениям, отчёты сильно замедляются
Текущие итогиОстаток на текущий момент берётся готовымОстаток «на сейчас» досчитывается от последнего рассчитанного периода
Период рассчитанных итоговИтоги по периодам хранятся до указанной даты—
Разделение итоговНесколько сеансов пишут в регистр параллельно без ожидания друг другаСеансы ждут друг друга на одной записи итогов, но таблица итогов меньше

Практические выводы из таблицы:

  • ✅ Выключать «Использование» стоит только на время массовой записи — загрузки начальных остатков, переноса данных, перепроведения за большой период. Запись идёт быстрее, потому что платформа не обновляет итоги на каждом движении.
  • ✅ После включения платформа пересчитывает итоги. На регистре с десятками миллионов движений это может занять от минут до часов. Планируйте включение на вечер или выходные.
  • ✅ Период рассчитанных итогов обычно ставят на конец прошлого месяца. Тогда проведение документов текущего месяца трогает меньше записей итогов. Именно его меняет команда в упрощённой форме обработки.
  • ✅ Разделение итогов полезно в базах, где одновременно проводят документы десятки пользователей. В небольшой базе на 3–5 человек разница незаметна.

Не оставляйте итоги выключенными после загрузки. Это самая дорогая ошибка: база работает, документы проводятся, но любой отчёт по остаткам и проведение с контролем остатков начинают тормозить. Пользователи жалуются на «медленную 1С», а причина — в одном снятом флажке.

Проверка состояния итогов внешней обработкой

Когда регистров много, листать таблицу неудобно. Быстрее собрать сводку внешней обработкой: она выведет состояние итогов по всем регистрам одним списком. Это пригодится после обновления, обмена или работы подрядчика, который мог выключить итоги и забыть.

Как сделать обработку:

  1. В конфигураторе выберите Файл → Новый → Внешняя обработка.
  2. Создайте форму, добавьте на неё команду и обработчик.
  3. Вставьте код ниже, сохраните файл .epf.
  4. В пользовательском режиме откройте его через Главное меню → Файл → Открыть.
&НаКлиенте
Процедура ПроверитьИтоги(Команда)
	ПроверитьИтогиНаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПроверитьИтогиНаСервере()

	ВидОстатки = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки;

	Для Каждого МетаРегистр Из Метаданные.РегистрыНакопления Цикл
		Менеджер = РегистрыНакопления[МетаРегистр.Имя];
		Если МетаРегистр.ВидРегистра = ВидОстатки Тогда
			Сообщить(СтрШаблон("РН %1: итоги = %2, текущие = %3, период = %4, разделение = %5",
				МетаРегистр.Имя,
				Менеджер.ПолучитьИспользованиеИтогов(),
				Менеджер.ПолучитьИспользованиеТекущихИтогов(),
				Формат(Менеджер.ПолучитьМаксимальныйПериодРассчитанныхИтогов(), "ДФ=dd.MM.yyyy"),
				Менеджер.ПолучитьРазделениеИтогов()));
		Иначе
			Сообщить(СтрШаблон("РН %1 (оборотный): итоги = %2, режим агрегатов = %3",
				МетаРегистр.Имя,
				Менеджер.ПолучитьИспользованиеИтогов(),
				Менеджер.ПолучитьРежимАгрегатов()));
		КонецЕсли;
	КонецЦикла;

	Для Каждого МетаРегистр Из Метаданные.РегистрыБухгалтерии Цикл
		Менеджер = РегистрыБухгалтерии[МетаРегистр.Имя];
		Сообщить(СтрШаблон("РБ %1: итоги = %2, период = %3",
			МетаРегистр.Имя,
			Менеджер.ПолучитьИспользованиеИтогов(),
			Формат(Менеджер.ПолучитьМаксимальныйПериодРассчитанныхИтогов(), "ДФ=dd.MM.yyyy")));
	КонецЦикла;

КонецПроцедуры

Обработка ничего не меняет — только читает. Её безопасно запускать в рабочей базе в любое время. Строки со значением Нет в поле «итоги» — первые кандидаты на проверку.

Пустая дата в поле «период» у регистра остатков означает, что итоги по периодам не рассчитаны. Такое бывает в новой базе или после неудачного пересчёта.

Для проверки самих остатков подойдёт консоль запросов: сравните результат виртуальной таблицы Остатки с суммой движений по тому же регистру на ту же дату. Расхождение говорит о том, что итоги испорчены и их нужно пересчитать, а не просто включить.

Программное включение и выключение итогов

Ручное переключение флажка годится для разовой операции. Если загрузка повторяется — ежемесячный перенос из внешней системы, регулярная загрузка остатков, — управление итогами лучше встроить в код. Тогда итоги гарантированно включатся обратно, даже если загрузка упала с ошибкой.

Основные методы менеджера регистра:

МетодЧто делает
УстановитьИспользованиеИтогов(Булево)Включает или выключает итоги — это и есть флажок «Использование»
ПолучитьИспользованиеИтогов()Возвращает текущее состояние флажка
УстановитьИспользованиеТекущихИтогов(Булево)Управляет колонкой «Текущие итоги»
УстановитьМаксимальныйПериодРассчитанныхИтогов(Дата)Сдвигает период рассчитанных итогов
УстановитьРазделениеИтогов(Булево)Управляет колонкой «Разделение итогов»
ПересчитатьИтоги()Полный пересчёт итогов регистра

Пример для массовой загрузки в регистр остатков:

&НаСервере
Процедура ЗагрузитьОстаткиНаСервере()

	Менеджер = РегистрыНакопления.ТоварыНаСкладах;
	Менеджер.УстановитьИспользованиеИтогов(Ложь);

	Попытка
		ЗаписатьДвиженияЗагрузки();
	Исключение
		Менеджер.УстановитьИспользованиеИтогов(Истина);
		ВызватьИсключение;
	КонецПопытки;

	Менеджер.УстановитьИспользованиеИтогов(Истина);

КонецПроцедуры

Здесь ТоварыНаСкладах — имя регистра в вашей конфигурации, а ЗаписатьДвиженияЗагрузки() — ваша процедура записи наборов. Конструкция Попытка … Исключение нужна ровно для одного: чтобы ошибка в середине загрузки не оставила базу с выключенными итогами.

Что учесть при программном управлении:

  • 🔑 Код выполняется на сервере и под пользователем с правом «Управление итогами». Для фонового задания или регламента проверьте, под кем оно запускается.
  • ⏱ Вызов УстановитьИспользованиеИтогов(Истина) запускает пересчёт итогов. Он идёт синхронно: процедура не вернёт управление, пока пересчёт не закончится.
  • 👥 Пока итоги выключены, отчёты и проведение у других пользователей по этому регистру работают медленно. Запускайте загрузку, когда в базе никто активно не проводит документы.
  • 🔁 Не выключайте итоги внутри транзакции записи документа. Это действие уровня базы, а не отдельного документа.

Частые вопросы

Пропадут ли остатки, если снять флажок «Использование»?
Нет. Движения регистра остаются на месте, меняется только способ получения остатков: платформа считает их по движениям, а не берёт готовыми. После включения итоги пересчитаются, и отчёты покажут те же цифры.
Чем «Пересчитать итоги» отличается от выключения и включения флажка?
По результату почти ничем: в обоих случаях итоги строятся заново по движениям. Пересчёт удобнее — флажок не меняется, и нет момента, когда база работает без итогов.
Можно ли менять итоги, пока пользователи работают?
Технически да, монопольный доступ для этого не нужен. Но при большой базе пересчёт займёт время и создаст блокировки, поэтому включать итоги лучше вне рабочего времени.
Почему в списке нет регистров сведений?
Основная таблица показывает регистры накопления и бухгалтерии. У регистров сведений бывают только итоги срезов первых и последних, и они должны быть разрешены в свойствах регистра в конфигураторе.
Нужно ли что-то делать с итогами после обновления конфигурации?
Обычно нет: обновление сохраняет их состояние. Если после обновления отчёты по остаткам стали медленными, первым делом проверьте флажок «Использование» и период рассчитанных итогов.