Проблемы типовой свертки базы
- Долго удаляет записи регистров, т.к. читает и записывает наборы записей для каждого документа.
- Долго помечает документы на удаление.
- Оставляет после завершения такое количество помеченных на удаление документов, которые стандартное удаление помеченных объектов не может удалить.
Все эти проблемы проявляются на базах большого размера, с миллионами документов, подлежащих свертке. Можно сказать, что для таких больших баз использовать типовую свертку совершенно невозможно, так как время свертки измеряется неделями.
В предлагаемом расширении эти проблемы устранены, а время свертки базы сокращено до 1-2 суток.
Решение основано на типовой обработке, в которую внесены следующие изменения.
Что оптимизировано
- Исключен этап пометки документов на удаление.
- Удаление выполняется несколькими потоками.
- Определение документов, которые можно удалить, выполняется по оптимизированному алгоритму.
- Непосредственное удаление документов производится новой обработкой, работающей с не помеченными на удаление документами.
Технические требования
- 1С:Бухгалтерия предприятия 3.0.147.18 и более новые версии.
- Могут быть использованы все версии платформы 1С, совместимые с конфигурацией.
- Сервер СУБД MS SQL или POSTGRES SQL
- Наличие достаточного свободного места на дисках для сохранения в журнале транзакций операций удаления. В зависимости от процента документов в периоде свертки от общего их количества нужно обеспечить столько же процентов свободного дискового пространства от размера базы на сервере СУБД.
- Предоставление доступа к серверу СУБД для учетной записи сервера 1С с уровнем доступа сервера (sysadmin) или уровнем доступа базы (db_owner). Есть вариант подключения с указанием логина и пароля. Необходимо для выполнения реиндексации таблиц после свертки данных.
Код открыт.
Теперь подробнее расскажем, как это работает
Исключение этапа пометки документов на удаление – это самая важная, ключевая оптимизация!
Объясню, почему это стало возможно.
Идея разработчиков 1С была в использовании в процессе свертки механизма удаления помеченных объектов. Но выполнение пометки удаления миллионов документов даже самым упрощенным способом занимает очень большое время. Поиск ссылок на миллионы документов выполняется очень долго. По опыту многих компаний, удаление помеченных документов в таком количестве приводит к зависанию процесса. В результате, когда все попытки удалить их ни к чему не приводят, в базе остаются миллионы помеченных объектов, которые полностью блокируют дальнейшее удаление помеченных объектов.
Вы знакомы с этой ситуацией?
Поэтому, мы отказались от типового удаления помеченных объектов, заменив нашей обработкой, которая содержит алгоритм поиска, оптимизированный именно для свертки базы.
Краткое описание алгоритма поиска удаляемых документов
Задача решается от обратного, определяются документы, которые нельзя удалить, и удаляются все иные документы за период свертки.
Эта задача сводится к определению документов с датой меньше даты свертки, на которые нет ссылок из регистров, за исключением независимых регистров сведений, в которых ссылка на документ стоит в ведущем измерении. Напомню, что ведущее измерение используется для автоматического удаления записей в регистре сведений при удалении объекта в ведущем измерении.
Кроме этого, не должно быть ссылок из документов после даты свертки и из справочников, а так же ссылок из уже найденных не удаляемых документов.
Запросы оптимизированы для использования индексов, из которых извлекаются ссылки на документы. Именно такой поиск дает самый оптимальный результат.
Найденные ссылки сохраняем и исключаем при выполнении непосредственного удаления объектов.
Поиск и сохранение ссылок на не удаляемые документы интегрирован в процесс свертки и выполняется после удаления записей из регистров.
И наконец, после завершения обработки свертки, выполняется наша обработка непосредственного удаления документов. Эта обработка запускает до 16 фоновых заданий, которые вместе удаляют 600-800 документов в секунду.
Удаление документов выполняется средствами платформы 1С с отключением бизнес-логики.
Что можно сворачивать
Начальные настройки действий с регистрами (Сворачивать/Не сворачивать) можно изменить, если мы сворачиваем периоды, по которым не будем подавать уточненные отчеты в налоговые органы. Срок подачи отчетов ограничен 3-мя годами.
Большое количество записей регистров, которые будут ограничивать удаление документов, относится к проводкам по НДС. Это регистры накопления: НДС Покупки, НДС Продажи, НДС предъявленный, НДС, включенный в стоимость. Регистры сведений: Журнал учета счетов-фактур.
По согласованию с бухгалтерами вы можете вручную изменить стандартное действие с этими регистрами, указав действие Сворачивать.
Если вы сверткой базы хотите решить проблему длительного закрытия месяца, то могу порекомендовать так же другой наш продукт - Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов, который уже много лет развивается нами с целью оптимизации закрытия месяца.
Состав поставки
После покупки получите файл Архив ОСБ.zip он содержит 4 файла:
- Инструкция пользователя.txt
- Расширение ОптимизированнаяСверткаБазы.cfe
- СвернутьНДС.png
- СвернутьНДС2.png
Гарантийные обязательства
В стоимость поставки включено 4 часа консультаций для решения технических вопросов.
Гарантируется соблюдение ссылочной целостности при удалении документов.
Гарантируется, что длительность обработки "Свертка информационной базы" не превысит 2-х суток.
Техническая поддержка и обновления
Бесплатный период техподдержки составляет 12 месяцев со дня покупки.
Также после приобретения вы получаете 12 месяцев бесплатных обновлений.
По окончании бесплатного периода вы можете приобрести услугу технической поддержки с доступом к обновлениям на платной основе.
Проверить наличие обновлений можно в личном кабинете. Если обновления недоступны - загрузить новую версию можно после покупки обновлений/технической поддержки.
Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.
При создании тикета необходимо предоставить:
- Номер заказа
- Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
- Точную конфигурацию 1С, и версию платформы, на которой используете купленное решение (наименование и версию 1С можно взять из раздела "О программе"), версию купленной программы.
К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.147.18