Как очистить базу 1С:Комплексная автоматизация на MS SQL Server и развернуть пустую конфигурацию актуального релиза?

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

В процессе работы с программными продуктами 1С, особенно в рамках тестовых сред для экспериментов, часто возникает необходимость «обнулить» информационную базу. Задача усложняется, когда требуется не просто удалить данные, но и одновременно обновить конфигурацию до самого актуального релиза, имея при этом ограничения на создание новых баз на стороне SQL-сервера. Рассмотрим детально все возможные способы решения этой задачи, проанализируем их плюсы и минусы, и выберем наиболее эффективные алгоритмы.

Метод 1: Использование полного дистрибутива и промежуточной файловой базы

Это наиболее надежный способ, который гарантирует получение абсолютно «чистой» базы актуального релиза. Основная проблема при использовании официальных шаблонов заключается в том, что файл 1cv8.dt в папке шаблона обычно является демонстрационной базой с уже введенными данными. Пустого .dt-файла в дистрибутивах «Комплексной автоматизации» (КА) или ERP, как правило, не предусмотрено.

Разберем этот метод по шагам:

  1. Скачивание дистрибутива: Необходимо зайти на портал ИТС и скачать «Полный дистрибутив» актуальной версии конфигурации. Важно брать именно полный дистрибутив, а не файл обновления (.cfu).
  2. Установка шаблона: Запустим установку дистрибутива, чтобы файлы конфигурации распаковались в каталог шаблонов (по умолчанию это папка AppData\Roaming\1C\1cv8\tmplts).
  3. Создание файловой «пустышки»: В списке информационных баз нажмем «Добавить» — «Создание новой информационной базы» — «Создание информационной базы из шаблона». Выберем установленный релиз (внимательно следим, чтобы это была не демо-версия). Создадим её как файловую.
  4. Выгрузка данных: Зайдем в созданную пустую файловую базу в режиме «Конфигуратор» и выполним команду «Администрирование» — «Выгрузить информационную базу...». Получим чистый файл .dt.
  5. Загрузка в целевую базу: Откроем конфигуратор нашей целевой базы на SQL-сервере (которую нужно очистить) и выполним «Администрирование» — «Загрузить информационную базу...», выбрав наш только что созданный файл.

Этот способ хорош тем, что он полностью замещает и структуру (метаданные), и данные. Мы получаем гарантированно корректную пустую базу последнего релиза.

Метод 2: Очистка через загрузку файла конфигурации (.cf)

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

Проанализируем правильную последовательность действий:

Если у нас есть возможность создать новую базу на SQL-сервере, то мы просто создаем пустую базу и загружаем в неё .cf. Но если нам нужно «перезалить» существующую, мы можем пойти на хитрость:

  1. В конфигураторе существующей базы выберем «Конфигурация» — «Открыть конфигурацию».
  2. Затем «Администрирование» — «Загрузить конфигурацию из файла...» (выбираем 1cv8.cf из шаблона).
  3. Важный момент: Чтобы данные удалились, нам нужно сначала сделать базу пустой на уровне SQL или использовать программные методы. Простое обновление .cf сохранит старые справочники и документы, если они физически совпадают по именам с новой структурой.

Поэтому наиболее быстрым вариантом с использованием CF будет: Создать новую временную базу (можно файловую), загрузить туда .cf, выгрузить .dt и далее действовать по Методу 1. Это универсальный путь.

Метод 3: Программная очистка данных (Волшебная кнопка)

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

Рассмотрим пример кода, который можно запустить во внешней обработке:


&НаСервере
Процедура ОчиститьБазуНаСервере()
    // Метод удаляет все данные: документы, справочники, записи регистров.
    // При этом сохраняется структура метаданных и пользователи ИБ.
    УдалитьДанныеИнформационнойБазы();
КонецПроцедуры

Что важно знать об этом методе:

Метод 4: Очистка через консоль администрирования кластера

Если у вас есть права администратора 1С-сервера, можно выполнить очистку через стандартную консоль (MMC). Выясним причину, почему это иногда удобнее всего:

  1. Откройте «Администрирование серверов 1С Предприятия».
  2. Найдите нужную информационную базу.
  3. Нажмите правой кнопкой мыши — «Удалить».
  4. В появившемся окне выберите вариант «Очистить базу данных».

При таком выборе 1С не удаляет саму регистрацию базы в кластере и не удаляет оболочку базы в MS SQL Server. Она просто очищает все внутреннее содержимое (таблицы). После этого, при заходе в конфигуратор, система воспримет базу как абсолютно новую и пустую. Вам останется только загрузить в неё актуальный .cf файл или .dt.

Специфика «Комплексной автоматизации 2»

Проанализируем ситуацию, специфичную для тяжелых конфигураций (КА, ERP). Эти системы построены на БСП (Библиотеке стандартных подсистем). При первом запуске пустой базы всегда начинается процесс начального заполнения.

На что обратить внимание:

Резюме и рекомендации

Рассмотрев все варианты, мы можем сделать вывод: если вам нужно быстро и чисто развернуть новый релиз в старой SQL-базе, самым оптимальным алгоритмом будет:

  1. Скачать свежий полный дистрибутив.
  2. Развернуть его в файловом варианте (это создаст пустую структуру).
  3. Выгрузить .dt из этой файловой базы.
  4. Загрузить этот .dt в вашу SQL-базу.

Это исключит любые ошибки сопоставления объектов и гарантирует, что в базе не останется «хвостов» от старых экспериментов.

← На главную