Есть ли на диске ИТС обработка свертки для 1С:Бухгалтерии 2.0 и как выполнить обрезку базы?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При работе с базами данных «1С:Предприятие» со временем неизбежно возникает проблема увеличения их объема. База начинает «тормозить», операции резервного копирования и обновления занимают слишком много времени, а отчеты формируются медленнее. В таких случаях администраторы и программисты прибегают к процедуре свертки (или «обрезки») информационной базы. Давайте подробно разберем, как обстоит ситуация со сверткой старой, но все еще популярной конфигурации «1С:Бухгалтерия предприятия» редакции 2.0 (БП 2.0), есть ли для этого стандартные инструменты на диске ИТС и какие альтернативные варианты решения существуют.

Суть проблемы со стандартной обработкой ИТС

На официальных дисках и портале ИТС (Информационно-Технологическое Сопровождение) действительно присутствует универсальная обработка для свертки баз данных, которая называется СверткаИнформационнойБазы.epf (или пакет BaseTrimming). Однако этот инструмент разрабатывался достаточно давно — еще во времена платформы «1С:Предприятие 8.1» и старых конфигураций, таких как «Бухгалтерия предприятия» редакции 1.6, «Управление торговлей» редакции 10.3 или «Управление производственным предприятием» редакции 1.2.

Давайте проанализируем, почему стандартная версия этой обработки с ИТС выдает ошибку при попытке запустить ее в БП 2.0. При запуске вы, скорее всего, увидите следующее критическое уведомление:

«В конфигурации отсутствует документ "КорректировкаЗаписейРегистров". Использование обработки невозможно»

Выясним причину этой ошибки. Дело в том, что в архитектуре «1С:Бухгалтерии 2.0» разработчики полностью изменили структуру метаданных. Документ КорректировкаЗаписейРегистров, на который жестко завязан алгоритм стандартной обработки ИТС, был исключен из конфигурации. Вместо него для ручных корректировок и ручного ввода движений по регистрам используется специализированный документ ОперацияБух (в интерфейсе он называется «Операция (бухгалтерский и налоговый учет)»). Поскольку обработка ИТС не находит ожидаемый объект метаданных, ее выполнение аварийно завершается.

Ниже мы подробно рассмотрим три основных и наиболее эффективных варианта решения этой проблемы, которые применяются на практике.

Вариант А. Использование модифицированной (адаптированной) версии обработки

Поскольку фирма «1С» не выпускала отдельную специализированную обработку свертки именно под БП 2.0 в качестве внешнего файла, программисты сообщества адаптировали стандартный инструмент самостоятельно. Как раз такой адаптированной версией и поделились технические специалисты в обсуждении на форуме.

Суть доработки оригинальной обработки ИТС заключается в следующем:

  1. Из программного кода обработки полностью удаляются или комментируются все обращения к отсутствующему объекту метаданных Документы.КорректировкаЗаписейРегистров.
  2. Алгоритмы формирования движений по регистрам переписываются под использование документа Документы.ОперацияБух.
  3. В части регистров накопления и сведений остатки могут переноситься с помощью ручных операций или специализированных документов ввода остатков.

Если мы заглянем внутрь кода такой обработки, то увидим, что генерация корректирующих документов адаптирована под механизмы БП 2.0. Давайте посмотрим на концептуальный пример кода, который заменяет создание стандартного документа корректировки на ручную операцию:


// Пример модификации кода для работы в Бухгалтерии 2.0
НовыйДокумент = Документы.ОперацияБух.СоздатьДокумент();
НовыйДокумент.Дата = ДатаСвертки;
НовыйДокумент.Организация = ВыбраннаяОрганизация;
НовыйДокумент.Содержание = "Свертка информационной базы на " + Формат(ДатаСвертки, "ДЛФ=D");
НовыйДокумент.Записать(РежимЗаписиДокумента.Запись);
// Далее следует заполнение движений по регистрам бухгалтерии и накопления

Использование готовой адаптированной обработки — это самый простой путь, позволяющий свернуть базу в полуавтоматическом режиме прямо через меню «Файл — Открыть».

Вариант Б. Свертка через перенос данных в «чистую» базу (XML-обмен)

Многие опытные администраторы баз данных 1С предпочитают не «резать» живую рабочую базу обработками, а использовать метод переноса остатков. Давайте разберем по шагам этот элегантный и надежный способ:

  1. Создание пустой базы: Создаем абсолютно чистую информационную базу БП 2.0 той же самой версии (релиза конфигурации), что и наша рабочая база.
  2. Настройка правил обмена: Используем типовую обработку УниверсальныйОбменДаннымиXML. Для выгрузки остатков применяются правила конвертации данных (например, адаптированные правила ACC20_20.xml).
  3. Выгрузка остатков: Из старой базы выгружаются только справочники (контрагенты, номенклатура, договоры) и остатки по счетам на дату свертки (например, на 31.12.2023). Документы прошлых периодов при этом не переносятся вообще.
  4. Загрузка данных: Полученный XML-файл загружается в новую чистую базу.

Этот подход имеет колоссальное преимущество перед обычной сверткой: новая база получается абсолютно чистой, в ней отсутствуют скрытые «битые» ссылки, временные таблицы и фрагментация индексов. Размер базы уменьшается максимально возможным образом, и она сразу готова к быстрой работе без дополнительного обслуживания.

Вариант В. Переход на современную «1С:Бухгалтерию 3.0»

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

Давайте проанализируем, почему этот вариант наиболее безопасен и прост:

Критически важные рекомендации по проведению свертки

Независимо от того, какой способ свертки для своей «1С:Бухгалтерии 2.0» вы выберете, обязательно соблюдайте жесткие правила безопасности технического обслуживания баз данных. Давайте составим чек-лист обязательных действий:

  1. Создайте резервную копию: Перед запуском любых обработок свертки сделайте полную резервную копию информационной базы (в Конфигураторе: Администрирование -> Выгрузить информационную базу...). Ни в коем случае не пренебрегайте этим шагом!
  2. Работайте только на копии: Разверните созданную копию на тестовом компьютере или под другим именем и проводите все эксперименты и саму свертку исключительно на ней. Только после того, как результат будет полностью проверен и одобрен главным бухгалтером, можно планировать перенос этих действий на рабочую базу (или просто заменить рабочую базу проверенной и свернутой копией в период отсутствия пользователей).
  3. Закройте периоды: До даты свертки все месяцы должны быть корректно и полностью закрыты регламентными операциями. Если в учете есть незакрытые отрицательные остатки или ошибки в партионном учете (краснота), свертка сформирует неверные входящие остатки, которые потом придется долго править вручную.
  4. Сохраните контрольные отчеты: До начала процедуры сформируйте и сохраните в формате PDF или Excel Оборотно-сальдовую ведомость (ОСВ) по всем счетам, а также детальные ОСВ по счетам 10, 41, 60, 62. После завершения свертки сформируйте эти же отчеты на дату свертки в новой (обрезанной) базе и скрупулезно сравните каждую цифру. Они должны совпадать до копейки.
  5. Выполните обслуживание базы после свертки: После физического удаления старых документов обязательно запустите в Конфигураторе процедуру Тестирование и исправление информационной базы с включенными опциями Реиндексация таблиц и Сжатие таблиц, чтобы уменьшить реальный физический размер файла базы данных (1Cv8.1CD) на диске.

Таким образом, хотя штатный инструмент с ИТС напрямую не подходит для редакции 2.0 из-за отсутствия нужного документа в метаданных, проблема легко решается использованием адаптированных версий обработки, переносом данных через XML или обновлением до актуальной версии БП 3.0, где данный функционал работает стабильно и безотказно.

← На главную