Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 16:07

УдалитьОбъекты

Автор 1cwiki, 22 июл 2015, 09:30

0 Пользователей и 1 гость просматривают эту тему.

1cwiki

Раздел
Глобальный контекст
Подразделы
Процедуры и функции работы с данными информационной базы
Синтаксис:

УдалитьОбъекты(<СписокСсылок>, <Проверять>, <НайденныеДанные>, <ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты>)
Параметры:

<СписокСсылок> (обязательный)

Тип: Массив.
Список ссылок на объекты, которые нужно удалить.
<Проверять> (необязательный)

Тип: Булево.
Определяет, выполнять ли контроль ссылочной целостности при выполнении процедуры. Истина - перед удалением проверяется, нет ли ссылок на удаляемый объект. Если есть, то объект не удаляется, а ссылки помещаются в таблицу значений <НайденныеДанные>. Ложь - проверка не выполняется.
Значение по умолчанию: Ложь.
<НайденныеДанные> (необязательный)

Тип: ТаблицаЗначений.
Содержит ссылки на найденные объекты в виде ТаблицаЗначений, состоящей из колонок с индексами: 0 - искомая ссылка; 1 - ссылка на объект, если найденная ссылка соответствует объектной таблице или значение, идентифицирующее запись необъектной таблицы; 2 - объект метаданных, которому соответствуют данные, в которых найдена ссылка.
В таблицу выводятся только непосредственно препятствующие удалению объекты (без рекурсии).
<ОбластьПоиска> (необязательный)

Тип: Массив.
Определяет область поиска объектов, которые следует удалить. Область устанавливается комбинацией разделителей, в состав которых включены объекты метаданных, среди данных которых следует выполнять поиск.
Элемент массива имеет тип Массив.
Элемент вложенного массива имеет тип:
Объект метаданных – Общий реквизит, разделяющий данные.
Строка – имя общего реквизита, разделяющего данные.
По умолчанию имеет значение Неопределено.
Допустимые значения:
Неопределено,
Массив с комбинациями разделителей, определяющий область поиска,
Пустой массив - область поиска определяется параметрами метода ВключитьОбъекты и ИсключитьОбъекты.
Примечание. Если комбинация разделителей содержит повторы, то вызывается исключение, т.к. в конфигурации не может быть объектов метаданных, дважды включенных в состав одного разделителя.
Значение по умолчанию: Неопределено.
<ВключитьОбъекты> (необязательный)

Тип: Массив.
Позволяет явно указать объекты метаданных, которые должны присутствовать в области поиска ссылок на объекты.
Элементом массива могут быть:
Объект метаданных.
Строка – полное имя объекта метаданных.

Допустимые значения:
Неопределено,
Пустой массив,
Массив объектов метаданных.

Значение по умолчанию: Неопределено.
<ИсключитьОбъекты> (необязательный)

Тип: Массив.
В качестве элементов массива могут выступать:
Объект метаданных,
Строка – полное имя объекта метаданных.
Свойство позволяет явно указать объекты метаданных, которые следует исключить из области поиска ссылок на объекты.
Допустимые значения:
Неопределено
Пустой массив (нет объектов, которые необходимо дополнительно включить в область поиска).
Массив объектов метаданных.

Значение по умолчанию: Неопределено.
Описание:

Удаляет объекты, ссылки на которые переданы в параметре <СписокСсылок>.ОбластьПоиска

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

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

Ответственность за удаление объектов, на которые, возможно, имеются ссылки в недоступных данному сеансу данных, возлагается на вызывающего метод.

Если выполняется контроль ссылочной целостности, поиск ссылок выполняется в области данных, определенной параметрами ОбластьПоиска, ВключитьОбъекты и ИсключитьОбъекты.

Если необходимо осуществлять поиск ссылок на объекты в подобластях, то необходимо в параметре ОбластьПоиска указывать комбинации разделителей с использованием неустановленных в сеансе разделителей. Если в комбинации разделителей будут указаны только реквизиты, разделяющие данные в режиме НезависимоИСовместно (помимо любых реквизитов, установленных в сеансе), то поиск будет выполняться в этих объектах, как среди доступных данных и результаты будут записаны в поле 2. Если хотя бы один неустановленный в сеансе реквизит, разделяет данные в режиме Независимо, то будет выполнена проверка наличия ссылок в подобласти и возвращены значения разделителей, идентифицирующих подобласть. Результат будет записан в поле 4.

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

В режиме совместимости Версия8_3_4 или ниже, выполняется контроль ссылочной целостности, то установка монопольного режима обязательна.

В разделенном режиме метод не устанавливает монопольного режима доступа, а использует управляемые блокировки с учетом текущего разделения.

На мобильной платформе параметры ОбластьПоиска, ВключитьОбъекты, ИсключитьОбъекты игнорируются.
Пример:

// удаление помеченных объектов с контролем ссылочной целостности
Помеченные = НайтиПомеченныеНаУдаление();
Найденные = 0;
УдалитьОбъекты(Помеченные, Истина, Найденные);
Для каждого Ссылка из Найденные Цикл
    СтрСообщения = "Объект не удален: " + СокрЛП(Ссылка[0]);
    СтрСсылка = ", используется в " + СокрЛП(Ссылка[1]);
    Сообщить (СтрСообщения + СтрСсылка);
КонецЦикла;



Теги:
Рейтинг@Mail.ru

Поиск