Смещаем границы итогов в больших регистрах накопления

05.04.24

База данных - Инструменты администратора БД

Статья написана в основном для решения проблемы смещения границ итогов больших таблиц, но применительно и к малым по количеству данных регистров накопления.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Смещаем границы итогов с полным пересчетом за одну итерацию:
.epf 40,75Kb
4 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Задача тривиальная - смещение границ итогов. Как известно, есть несколько подвидов этой задачи, и действия, которые выполнит система:

  1. Если сдвигается только верхняя граница итогов - алгоритму нужно рассчитать и добавить к ранее полученным итогам обороты за каждый месяц, что окажется за пределами рассчитанных.
  2. Если сдвигается нижняя граница в сторону текущего времени - происходит DELETE записей, выходящих за рамки установленного периода итогов.
  3. п.1 и п.2 и пересчет итогов.


В случае пункта 3, стандартными путями мы попадаем на две возможные тяжелые операции.
1 - Смещение границ стандартными командами приводит к удалению данных за пределами рассчитанных итогов и пересчету итогов по ранее отсутствующим периодам.
2 - Пересчет итогов, который также удаляет все данные из таблицы итогов через DELETE и затем рассчитывает итоги помесячно

Инфостарт полон статьями по поводу необходимости предварительного TRUNCATE таблиц итогов, дабы нивелировать продолжительность операция DELETE, но в предложенном кейсе это не избавляет от двух процедур расчета итогов.

Обычная последовательность с транкейтом:
1. Truncate таблицы итогов (Для предотвращения долгого делита)
2. Смещение границы итогов (вызывающим пересчет только ранее не расчитанных месяцев, что с учетом п.1 ломает всю информацию по итогам и вообще не нужен, с учетом п.3)
3. Транкейт таблицы итогов (Для предотвращения долгого делита)
4. Пересчет итогов (что бы выправить проблему полученную в п.2)

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

Платформенные методы смещения границ итогов в процессе расчета периода, фиксируют данную информацию в таблицу настроек хранения итогов (таблица AccumRgOptNNN), т.е. для исключения лишнего расчета итогов, достаточно внести изменения в таблицу настроек хранения итогов, относящуюся к интересуемому регистру накопления, транкейтнуть таблицу итогов, и запустить расчет.

!!! Обратите внимание, в режиме предприятия в обработке управления итогами, верхняя граница итогов стоит как граница предыдущего месяца (в данном случае 31 марта 2024 года), но в таблице настроек физически будет хранится начало следующего дня (в данном случае 1 апреля 2024  года). 

Обозначение полей:

  • _Period - Верхняя граница итогов
  • _MinCalculatedPeriod - Нижняя граница итогов

Для помощи в автоматизации создания скрипта, была доработана стандартная обработка управления итогами:

  1. Показывает имена таблиц итогов из структуры хранения для РН
  2. Замеряет время пересчета по каждой таблице
  3. Позволяет подготовить SQL скрипт для упрощенной процедуры "Смещение + Пересчет"
     

 

Обработка, опираясь на структуру хранения базы, собирает следующий скрипт по отмеченным выше таблицам. Написать скрипт вы можете и самостоятельно опираясь на данную статью.


 

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

Итого для одной таблицы:

  1. Операция транкейта + операция смещения границ итогов без пересчета онных.
  2. Одна процедура пересчета итогов

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

Тестировалось на платформах:
8.3.18.1334 и 8.3.23.1912


ЗЫ: Не претендую на оригинальность, не нашел подобного, когда искал.

пересчет итоги смещение границ итогов быстрый быстрое

См. также

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 7140 руб.

20.08.2024    32674    199    104    

188

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    15554    66    33    

84

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    14273    61    8    

90

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    37378    115    152    

82

Инструменты администратора БД Системный администратор 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    63953    99    59    

82

Инструменты администратора БД Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    11149    14    4    

22

Администрирование Инструменты администратора БД Удаленное управление Системный администратор 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Расширение разработано для автоматизации интеграции «1С:Зарплата и управление персоналом (редакция 3.1)» с сервисом Яндекс 360 через платформу «n8n». Расширение позволяет автоматически создавать учетные записи Яндекс для новых сотрудников, обновлять данные существующих сотрудников и блокировать учетные записи уволенных сотрудников. Обмен данными осуществляется через API Яндекс 360 с использованием промежуточного сервера платформы n8n, что обеспечивает гибкость, масштабируемость и упрощение интеграционных процессов.

3600 руб.

03.04.2025    850    2    0    

2
Оставьте свое сообщение