Как выгрузить срез данных информационной базы в файл .dt?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Основные принципы создания среза

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

  1. Создание копии базы. Никогда не проводите подобные манипуляции на рабочей базе. Создайте резервную копию и восстановите её в отдельный экземпляр информационной базы.
  2. Свертка (обрезка) данных. В полученной копии необходимо удалить документы и записи регистров до выбранной даты.
  3. Очистка и сжатие. После удаления данных необходимо произвести очистку служебных таблиц и, если база файловая, выполнить тестирование и исправление.
  4. Выгрузка в .dt. Финальным этапом станет штатная выгрузка через конфигуратор.

Методы свертки информационной базы

В зависимости от конфигурации и типа используемой СУБД, подходы могут различаться. Давайте проанализируем доступные варианты:

1. Использование встроенных механизмов свертки

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

2. Специализированные обработки

Если ваша конфигурация нетиповая и штатной свертки нет, используйте специализированные внешние обработки по обрезке данных. Они работают по принципу удаления объектов (документов, записей регистров) по фильтру даты. Внимание: при использовании таких инструментов всегда проверяйте результат с помощью Тестирование и исправление (ТИИ), чтобы убедиться, что вы не нарушили ссылочную целостность.

3. Средства MS SQL (для клиент-серверного варианта)

Если база работает на MS SQL Server, можно применить более радикальные методы: восстановление бэкапа .bak под другим именем и программное удаление данных. После удаления большого объема записей, обязательно выполните Shrink (сжатие) базы данных средствами SQL Management Studio, а затем запустите проверку средствами 1С.

Технические нюансы выполнения задачи

При выполнении административных задач такого масштаба крайне важно учитывать среду, в которой вы работаете:

Использование «Толстого клиента»

Многие операции по массовому удалению данных потребляют значительные ресурсы оперативной памяти и времени выполнения транзакций. Запуск сеанса в режиме Толстый клиент (обычное приложение) является предпочтительным. Это позволяет избежать ограничений, характерных для веб-клиентов или тонких клиентов в управляемых формах.

Реиндексация и проверка целостности

После того как вы удалили значительный объем информации, структура базы может быть разбалансирована. Обязательно выполните процедуру Реиндексации таблиц информационной базы. Если этого не сделать, файл .dt может быть поврежден или его создание завершится ошибкой из-за несоответствия индексов реальным данным.

Пошаговый алгоритм действий

Давайте систематизируем наши действия для получения корректного файла .dt:

  1. Запустите конфигуратор в режиме Толстый клиент.
  2. Проведите Тестирование и исправление информационной базы, чтобы убедиться в отсутствии логических ошибок до начала процесса обрезки.
  3. Примените выбранный метод свертки (обработки или SQL-скрипты) для удаления данных до требуемой даты.
  4. После удаления выполните Тестирование и исправление (ТИИ) еще раз, обязательно установив галочки:
    
    - Реиндексация таблиц
    - Пересчет итогов
    - Проверка логической целостности
    
  5. Если база файловая, убедитесь, что размер файла 1Cv8.1CD уменьшился. Если нет — воспользуйтесь утилитой chdbfl.exe.
  6. Запустите процедуру Выгрузить информационную базу в меню Администрирование конфигуратора.

Следуя этим рекомендациям, вы сможете получить качественный «срез» данных в формате .dt, сохранив при этом работоспособность информационной базы.

← На главную