gifts2017

Управление итогами регистров

Опубликовал Василий Тёркин (1С_Мастер) в раздел Администрирование - Оптимизация БД (HighLoad)

Обработка, позволяющая для регистров бухгалтерии и накопления
- Устанавливать период рассчитанных итогов
- Пересчитывать текущие итоги
- Устанавливать использование итогов
- Устанавливать использование текущих итогов
Не требует монопольного доступа

Довольно простая обработка, которую каждый может написать для себя. Надеюсь, эта публикация поможет вам сэкономить немного своего времени.

Для новичков кратко, "на пальцах" поясню что такое итоги, как они работают и зачем вообще их рассчитывать.

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

ОстатокТекущий = ОстатокНаМоментРассчетаИтогов + ОборотыПериодПослеРассчетаИтогов

Обороты при этом хранятся в служебной таблице текущих итогов.

При рассчете итогов средствами самой платформы (Операции-Управление итогами) требудется мнопольный доступ (выгнать всех пользователей из базы). Данная обработка монопольного доступа не требует, пользователей можно не выгонять, хотя нормально работать во время выполнения обработки будет скорее всего нельзя.

Бывают случаи, когда текущие итоги крашаться (например, такое бывает при аварийном завершении работы) и текущий остаток начинает "плыть". Решается эта проблема пересчетом текущих итогов

Мы можем и вовсе отказаться от использования текущих итогов, установив отключив эту возможность у конкретного регситра. В таком случае обороты за период будут считаться по сумме движений. 

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

Скачать файлы

Наименование Файл Версия Размер
УправлениеИтогами.epf 211
.epf 11,33Kb
08.08.12
211
.epf 11,33Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Алексей Фурманов (Aleksey-29) 17.08.12 14:23
Верно ли утверждение, что отключение итогов ведет к уменьшению размера базы?
2. q1q1q1 (1С_Мастер) 21.08.12 14:24
Нет, неверно. Отключается использование итогов, сами таблицы итогов из базы никуда не пропадают, разве что перестают обновляться при записи наборов записей.
Кроме того, в базе с отключенными итогами не будут работать запросы к виртуальным таблицам. Оно вам надо?
3. Sasha Erem (erem) 03.09.12 18:44
Мне кажется статья написана как-то сумбурно. Для "новичков" наверно надо "разжевать" что под термином "Текущие итоги" в 1С принимаются итоги с учетом самого последнего движения в регистре и что они (текущие итоги) тоже хранятся в таблице итогов (а не рассчитываются) с периодом 01.11.3999 00:00:00 и что при их отключении запросы к виртуальным таблицам все равно будут работать... При отключении текущих итогов записи с ними (01.11.3999 00:00:00) действительно удаляются из таблицы итогов. Если мало применяется оперативное проведение документов (например в бухгалтерском учете), то выключение текущих итогов чуть-чуть ускорит работу системы. Еще советую книгу "Реализация прикладных задач" (раздел про регистры накопления) - там хорошо описано про итоги и как они применяются при запросах к виртуальным таблицам для расчета итогов на требуемый период.
simargle; ekomova; Franchiser; +3 Ответить
4. Андрей (AnKonAlm) 30.09.15 19:16
У меня сбились итоги, т.к. я не выставил "смещение итогов".
А вот Ваша обработка на 100%% меня выручила.
И быстро и все получилось.
СПАСИБО, УДАЧИ!!!!
5. Alex Newman (alexnov) 28.01.16 13:47
(4) AnKonAlm, а как выручила то? Что делали? У нас ошибка при попытке пересчета готов стандартными средствами (предприятие и конфигуратор):
Дата '01.02.0001 0:00:00' не может быть записана в базу данных на MS SQL Server с нулевым смещением дат