Глобальный контекст.УдалитьДанныеИнформационнойБазы

Методы · EraseInfoBaseData

Выполняет удаление данных информационной базы: Из таблиц, определяемых структурой метаданных; Из хранилищ настроек; Из истории; Из истории изменения данных; Из списка пользователей; Административных параметров информационной базы; Данные регистрации информационной базы на сервере системы взаимодействия.

Синтаксис

УдалитьДанныеИнформационнойБазы()
Полное описание, параметры и ограничения

Глобальный контекст.УдалитьДанныеИнформационнойБазы (Global context.EraseInfoBaseData)

Глобальный контекст (Global context)

УдалитьДанныеИнформационнойБазы (EraseInfoBaseData)

Доступен, начиная с версии 8.3.11.

Синтаксис:
УдалитьДанныеИнформационнойБазы()
Описание:

Выполняет удаление данных информационной базы:
Из таблиц, определяемых структурой метаданных;

Из хранилищ настроек;

Из истории;

Из истории изменения данных;

Из списка пользователей;

Административных параметров информационной базы;

Данные регистрации информационной базы на сервере системы взаимодействия.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

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

Если в информационной базе не определены разделители, будут удалены данные всей базы.
Если в информационной базе определены разделители, но в сеансе ни один разделителей не задан, будут удалены данные всей информационной базы.
Если метод вызван из сеанса, в котором используется хотя бы один разделитель, то данные удаляются только для области данных, определяемой заданными значениями разделителей:
Для таблиц, определяемых структурой метаданных:
Если в сеансе используется хотя бы один разделитель, не разделяющий объект метаданных, то данные таблицы остаются без изменений. Например, если в сеансе используются Разделитель1="111",Разделитель2="222", а объект метаданных входит в состав разделителей Разделитель2 и Разделитель3, то удаление не выполняется (поскольку Разделитель1 не разделяет метаданные).

Если все разделители, используемые в сеансе, разделяют объект метаданных, то из таблиц объекта метаданных удаляются все записи со значениями разделителей, используемых в сеансе. При этом удаление выполняется, даже если у объекта метаданных есть один или более не заданных в сеансе разделителей. Например, если в сеансе задан Разделитель1="111", а в объект метаданных разделен разделителями Разделитель1 и Разделитель2, то происходит удаление всех данных из таблиц объекта метаданных, у которых Разделитель1="111" (хотя при этом Разделитель2 и не задан в сеансе).

Для хранилищ настроек, истории:
Каждая версия в истории и настройках хранит использование и значение разделителей.

Удаление происходит по правилам, аналогичным правилам для таблиц метаданных.

Для списка пользователей удаление производится только если для всех разделителей, используемых в сеансе, определено свойство "Разделение пользователей",

Для административных параметров информационной базы (напр., дата и время) удаление выполняется только если административные параметры разделяются.
Для истории изменения данных:
Если в информационной базе определены разделители, но в сеансе ни один разделителей не задан, то удаляются:
все данные истории данных,

все метаданные, добавленные в режиме 1С:Предприятие,

все настройки истории данных.

Если метод вызван из сеанса, в котором используются независимые и совместные разделители:
удаляется история данных для объектов, разделенных всеми разделителями, установленными в сеансе,

настройки использования истории данных и история метаданных сохраняются.

Если метод вызван из сеанса, в котором используются только независимые разделители:
удаляются данные истории данных для текущей области, а также для всех областей, образованных текущей комбинацией разделителей и совместных разделителей,

удаляются настройки использования истории данных для текущей комбинации разделителей,

удаляется история метаданных для текущей комбинации разделителей.

Для того, чтобы не записывать данные удаленной области (например, сохранение настроек отображения форм), сразу после вызова метода рекомендуется изменить значения параметров сеанса, определяющих разделение данных.
Удаление данных доступно пользователю с правом "Администрирование".
Удаление возможно, если установлен режим монопольного доступа к базе данных или области (вызван метод УстановитьМонопольныйРежим), иначе будет выдано исключение.
Использование в версии:

Доступен, начиная с версии 8.3.11.

Описание изменено в версии 8.3.21.

Методическая информация

Практические примеры

Синтаксис полного удаления данных: только одноразовая учебная база

У метода нет параметра отбора. Он удаляет данные, пользователей, настройки и другие сведения базы, а не один документ.

Где и как запускать

Обычный сервер 1С; также указанные глобальные административные методы могут быть доступны толстому клиенту и внешнему соединению.

Подготовка

  1. Вставьте блок в модуль собственной управляемой формы. Клиентскую процедуру вызовите из обработчика своей кнопки; серверную — через собственный серверный обработчик команды. Специальное место вставки указано отдельно.

  2. Не запускать в рабочей базе. Только собственная одноразовая пустая учебная база, потеря которой заранее допустима, и необходимые права. Создайте реквизит ПодтверждениеУдаления (Строка) без автозаполнения. Это описание опасного синтаксиса, здесь ничего не удаляется.

&НаСервере
Процедура УдалитьОдноразовыеУчебныеДанные()
    Если ПодтверждениеУдаления <> "УДАЛИТЬ ВСЕ ДАННЫЕ УЧЕБНОЙ БАЗЫ" Тогда
        Сообщить("Полное удаление не подтверждено");
        Возврат;
    КонецЕсли;
    УдалитьДанныеИнформационнойБазы();
КонецПроцедуры

Разбор по шагам

  1. Вручную убедитесь, что выбрана одноразовая учебная база.

  2. При допустимой потере данных введите точную фразу.

  3. Понимайте, что вызов не имеет отбора и удаляет данные всей базы.

Как проверить результат

  1. Без введенной фразы вызова нет.

  2. Не приписывайте методу возможность удалить только выбранный объект.

Ожидаемый результат

Показан вызов полного удаления и его границы; успешное выполнение здесь не заявляется.

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

  1. Необратимо без отдельного восстановления. Фраза подтверждения не проверяет принадлежность базы; нельзя переносить кнопку в рабочую конфигурацию.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.