Для больших баз данных 1С, например, более 80 ГБ, актуальным является вопрос авто пересчета итогов каждый месяц по всем регистрам, чтобы дата актуальности итогов всегда была на конец предыдущего месяца. Сторонние средства за ночь не успевают рассчитать итоги, например, по регистрам бухгалтерии очень долго происходит расчет итогов. Стандартные средства 1С требуют монопольный режим работы.
Я создал фоновое задание, которое выполняется каждую ночь и итоги всегда актуальны. Если кому-то пригодится такое решение, буду очень рад.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Смысл кода заключается в том, что последовательно по каждому регистру фоновое задание пытается двинуть на 1 месяц вперед границу итога и фиксирует транзакцию. В конфигурации необходимо создать новое регламентное задание, задать расписание его выполнения, например, каждую ночь, выбрать вызов функции из общего модуля, содержащей представленный в приложении код.
Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).
Решение для автоматической сверки данных между любыми конфигурациями 1С. Помогает контролировать и проверять обмены, проверять наличие документов при переносах данных, находить изменения в закрытых периодах
Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.
Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.3 от 24.06.2025!
Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)
Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага.
Исправляет расхождения, в том числе, когда Аванс больше Зарплаты
Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров"
Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.
Пояснений по ходу текста нет, впрочем всё понятно из кода - последовательно обходятся регистры накопления и бухгалтерии, выполняется метод "УстановитьПериодРассчитанныхИтогов", во избежание проблем по окончанию работы с каждым регистром транзакция фиксируется, в 2-х словах описаны и ингредиенты регл.задания.
С первой публикацией, товарисч!
Всё красиво написано! Немного смущает ситуация, когда часть регистров пересчитается, а часть (или даже один) попадут под исключение и их дата итогов останется на месте.
Обработку можно ускорить, если убрать понятие МинДата и первый цикл. ТЗРассчитываемыхРегистров составить один раз и дальше работать с ней. Если транзакция прошла успешно, в ТЗРассчитываемыхРегистров увеличить дату ПредпочтительнаяДатаРасчетаИтоговМесяц для этого регистра на один месяц. Если новая дата больше ПредпочтительнаяДатаРасчетаИтогов - эту строку таблицы удалить. Если регистр попал под исключение - строку удалить. И так пока количество строк в ТЗРассчитываемыхРегистров не станет равным 0.
Правда по сравнению со временем расчета итогов данное ускорение будет крайне незначительным.
"Если новая дата больше ПредпочтительнаяДатаРасчетаИтогов - эту строку таблицы удалить. Если регистр попал под исключение - строку удалить. И так пока количество строк в ТЗРассчитываемыхРегистров не станет равным 0." ТЗ вынести за цикл заполнять 1 раз, согласен тогда улучшиться производительность, возьму себе на заметку. У меня была проблема что регистр бухгалтерии за ночь пол года успевает пересчитаться, база 109 Гб SQL Server 2008, стандартным средством очень долго, а тут на автомате скока успеет за ночь, на стока и двинет, очень удобно, уже с год даже не смотрю как там итоги, а до этого ночами пересчитывал сидел, то вылетет. Теперь вот собираюсь написать фоновое которое удаляло бы помеченные объекты на удаление, на которые нет ссылок, а то много всего помечено, а типовое средство требует монопольного режима, обработку нашел в интернете, но она почему-то вылетает при удаление, еще так и не разобрался почему, планирую фоновым тоже сделать универсально.
Забавность ситуации в том, что пересчитывать их надо, но после изменения данных (перепроведение док-в в заднем периоде) их нужно пересчитать еще раз. Но в штатных средствах нет ничего, следящего за этим
скачал - содержимое файла устарело
вопросы:
надо/достаточно устанавливать только минимальный период рассчитанных итогов?
для чего устанавливать максимальный период рассчитанных итогов?
(7)
Минимальный период рассчитанных итогов - период, начиная с которого рассчитаны итоги.
Максимальный период рассчитанных итогов - период, на который рассчитаны итоги.
Период устанавливается на начало месяца.
Из практики, часто пользуюсь этим алгоритмом в фоновом задании, при появлении ошибки в итогах регистра накопления, передвигаю границу назад УстановитьМаксимальныйПериодРассчитанныхИтогов(Период) на месяц примерно где ошибка с запасом 1-2 мес назад, затем запускают фоновое в базе размером 3Тб и достаточно быстро итоги становятся актуальными и пользователи при этом работают в базе. Отчеты начинают показывать корректные итоги.
(7)
Если Это83 Тогда
ПериодИтоговРег = Регистр.ПолучитьМаксимальныйПериодРассчитанныхИтогов();
Иначе
ПериодИтоговРег = Регистр.ПолучитьПериодРассчитанныхИтогов();
КонецЕсли;
(7)
Если Это83 Тогда
РегистрИзСписка.Регистр.УстановитьМаксимальныйПериодРассчитанныхИтогов(РегистрИзСписка.ПредпочтительнаяДатаРасчетаИтоговМесяц);
Иначе
РегистрИзСписка.Регистр.УстановитьПериодРассчитанныхИтогов(РегистрИзСписка.ПредпочтительнаяДатаРасчетаИтоговМесяц);
КонецЕсли;