Устанавливает признак использования итогов. Если использование итогов отключено, то при записи набора записей регистра не будет производиться пересчет итогов, но при этом будут не доступны виртуальные таблицы расчета остатков и оборотов. Данный режим работы регистра позволяет повысить скорость записи набора записей регистра. Он может быть полезен при массовых загрузках данных. При установке признака использования итогов производится пересчет только тех итогов, которые зависят от движений, сделанных в момент, когда итоги были выключены.
Синтаксис
УстановитьИспользованиеИтогов(<Признак>)Полное описание, параметры и ограничения
РегистрНакопленияМенеджер.<Имя регистра накопления>.УстановитьИспользованиеИтогов (AccumulationRegisterManager.<Accumulation register name>.SetTotalsUsing)
РегистрНакопленияМенеджер.<Имя регистра накопления> (AccumulationRegisterManager.<Accumulation register name>)
УстановитьИспользованиеИтогов (SetTotalsUsing)
Доступен, начиная с версии 8.0.
Синтаксис:
УстановитьИспользованиеИтогов(<Признак>)
Параметры:
<Признак> (обязательный)
Тип: Булево.
Признак использования итогов. Ложь - пересчет итогов не производится.
Описание:
Устанавливает признак использования итогов. Если использование итогов отключено, то при записи набора записей регистра не будет производиться пересчет итогов, но при этом будут не доступны виртуальные таблицы расчета остатков и оборотов.
Данный режим работы регистра позволяет повысить скорость записи набора записей регистра. Он может быть полезен при массовых загрузках данных.
При установке признака использования итогов производится пересчет только тех итогов, которые зависят от движений, сделанных в момент, когда итоги были выключены.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Переключить использование итогов своего пустого регистра и вернуть исходный флаг
При отключённых итогах виртуальные таблицы остатков/оборотов недоступны. Здесь движения не пишутся, а флаг восстанавливается с проверкой и обработкой ошибки.
Где и как запускать
Полный серверный модуль своей новой ПУСТОЙ УчебныеОстатки85, платформа 8.5.1.1343. Административные настройки собственного регистра; здесь не запускался.
Подготовка
Создайте НОВУЮ пустую файловую базу, имя корневой конфигурации УчебныеОстатки85. Не добавляйте эти объекты в УТ/КА2/УНФ/БП. Режим управления блокировкой данных конфигурации — Управляемый.
Документы → Добавить: УчебноеДвижение85. Номер: Строка длиной 40, автонумерация выключена. Модули объекта и менеджера оставьте пустыми; не добавляйте обработчики, подписки и обязательные пользовательские реквизиты.
Регистры накопления → Добавить: УчебныеОстатки85. Вид регистра Остатки. Единственное измерение КодТовара: Строка 50, индексировать, проверка заполнения Показывать ошибку. Единственный ресурс Количество: Число 12,3, неотрицательное. Дополнительных реквизитов нет.
В списке регистраторов выберите только собственный документ УчебноеДвижение85. Оставьте модули регистра пустыми, использование итогов включённым. Планы обмена, разделители, историю данных и фоновые задания для урока не создавайте.
Корневой режим совместимости Не использовать; платформа именно 8.5.1.1343. Единственный регистр — собственный УчебныеОстатки85 вида Остатки, единственный документ — УчебноеДвижение85. База новая пустая, не копия рабочей.
Для этого блока никакие документы и движения не создавайте. Запрос проверяет отсутствие записей своего регистра до административного вызова. Других пользователей, обменов, расширений и фоновых заданий нет.
Создайте серверный общий модуль УчебныеИтогиПримеры. Вставьте весь модуль одного урока, вызовите ВыполнитьПример() Экспорт из собственной серверной команды обработки; обновите конфигурацию БД.
Это операции настройки/обслуживания регистра, не проведение документа. Откат движений не обещает восстановить все настройки/внутренние таблицы итогов.
Урок с границами сознательно меняет диапазон в собственном одноразовом пустом стенде. Он не восстанавливает исходный диапазон и не предназначен для рабочего регистра. Перед таким ручным опытом сохраните резервную копию собственной учебной базы.
При переключении булевых флагов исходное значение читается заранее и восстанавливается при успехе/ошибке. Если восстановление само завершилось ошибкой, код сообщает об этом явно; успешное восстановление не выдумывается.
Примеры здесь не запускались в 1С. Ваши настройки, документы и итоги этим заполнением не изменялись.
У своего УчебныеОстатки85 добавьте макет УчебнаяПамяткаИтогов типа Текстовый документ: первая строка OWN-TOTALS-85, вторая Пустой учебный регистр, не рабочая база. Обновите БД.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Документы.Количество() <> 1
Или Метаданные.РегистрыНакопления.Количество() <> 1
Или Метаданные.Документы.Найти("УчебноеДвижение85") = Неопределено Тогда
ВызватьИсключение "Разрешены только собственный учебный документ и регистр";
КонецЕсли;
Описание = Метаданные.РегистрыНакопления.Найти("УчебныеОстатки85");
Если Описание = Неопределено Тогда
ВызватьИсключение "Сначала создайте собственный учебный регистр";
КонецЕсли;
Если Описание.ВидРегистра <> Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки
Или Описание.Измерения.Количество() <> 1
Или Описание.Ресурсы.Количество() <> 1
Или Описание.Реквизиты.Количество() <> 0
Или Описание.Измерения.Найти("КодТовара") = Неопределено
Или Описание.Ресурсы.Найти("Количество") = Неопределено Тогда
ВызватьИсключение "Нужен регистр остатков с КодТовара и Количество";
КонецЕсли;
Менеджер = РегистрыНакопления.УчебныеОстатки85;
Если Метаданные.РежимСовместимости <> Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать Тогда
ВызватьИсключение "Нужен собственный стенд без старого режима совместимости";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Не вызывайте административный опыт внутри чужой транзакции";
КонецЕсли;
Проверка = Новый Запрос;
Проверка.Текст = "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Строк
|ИЗ РегистрНакопления.УчебныеОстатки85";
Данные = Проверка.Выполнить().Выгрузить();
Если Данные.Количество() <> 1 Тогда
ВызватьИсключение "Не получена собственная контрольная строка";
КонецЕсли;
Если Данные[0].Строк <> 0 Тогда
ВызватьИсключение "В собственном регистре уже есть движения: этот пустой административный опыт запрещён";
КонецЕсли;
ИсходныйФлаг = Менеджер.ПолучитьИспользованиеИтогов();
Если ТипЗнч(ИсходныйФлаг) <> Тип("Булево") Тогда
ВызватьИсключение "Не получен собственный исходный флаг";
КонецЕсли;
ИзменениеНачато = Ложь;
Попытка
ИзменениеНачато = Истина;
Менеджер.УстановитьИспользованиеИтогов(Не ИсходныйФлаг);
Сообщить(Менеджер.ПолучитьИспользованиеИтогов() = Не ИсходныйФлаг);
Менеджер.УстановитьИспользованиеИтогов(ИсходныйФлаг);
Если Менеджер.ПолучитьИспользованиеИтогов() <> ИсходныйФлаг Тогда
ВызватьИсключение "Не подтверждено восстановление собственного флага";
КонецЕсли;
ИзменениеНачато = Ложь;
Сообщить(Менеджер.ПолучитьИспользованиеИтогов() = ИсходныйФлаг);
Исключение
ИсходнаяОшибка = ОписаниеОшибки();
Если ИзменениеНачато Тогда
Попытка
Менеджер.УстановитьИспользованиеИтогов(ИсходныйФлаг);
Если Менеджер.ПолучитьИспользованиеИтогов() <> ИсходныйФлаг Тогда
Сообщить("Восстановление собственного флага использование итогов не подтверждено");
КонецЕсли;
Исключение
Сообщить("Восстановление собственного флага использование итогов завершилось ошибкой; проверьте учебный стенд");
КонецПопытки;
КонецЕсли;
ВызватьИсключение ИсходнаяОшибка;
КонецПопытки;
КонецПроцедурыРазбор по шагам
Проверить свою новую пустую схему и ноль движений.
Сохранить исходный булев флаг, не предполагать Истина из-за названия метода.
Отметить начало изменения ДО setter, чтобы попытаться восстановить даже после частичной ошибки.
Переключить флаг и проверить его отдельным getter. Не выполнять виртуальные таблицы при выключенном использовании.
Вернуть исходный флаг; при ошибке попробовать восстановление и честно сообщить его неуспех.
Как проверить результат
Две проверки переключения/возврата Истина.
Исходное значение прочитано, не задано выдуманным константным восстановлением.
При неуспехе восстановления есть предупреждение и исходное исключение; движения отсутствуют.
Ожидаемый результат
Разобраны процедура установки и отдельная проверка восстановленного собственного состояния.
На что обратить внимание
Свойства и методы относятся только к собственному пустому регистру. Нельзя менять проверку имени на рабочий регистр ради опыта.
ПолучитьИспользованиеИтогов и ПолучитьИспользованиеТекущихИтогов — разные настройки. Текущие итоги применимы только к Остатки.
Булево возвращаемое значение метода не объявляется исходным состоянием или измеренным ускорением без отдельного контракта.
Типизированные даты/флаги и явные проверки не являются доказательством запуска в 1С; здесь выполнялись только статические проверки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.