2 378 документов
← К списку

ОтключитьОбновлениеКлючейДоступа

страница

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

  • при восстановлении из резервной копии XML;
  • массовой загрузке данных из файла;
  • массовой загрузке данных при обмене данными;
  • групповом изменении объектов.

Синтаксис

Процедура ОтключитьОбновлениеКлючейДоступа(Отключить, ПланироватьОбновление = Истина) Экспорт

Параметры

  • Отключить — Булево - Истина - отключает обновление ключей доступа и включает режим сбора состава таблиц (списков), для которых будет запланировано обновление ключей доступа при продолжении обновления ключей доступа.
  • Ложь — планирует обновление ключей доступа таблиц, собранных в режиме отключения, и включает стандартный режим обновления ключей доступа.
  • ПланироватьОбновление — Булево - планирование обновления при отключении и продолжении. Когда Отключить = Истина, тогда определяет необходимость сбора состава таблиц, для которых будет запланировано обновление.
  • Ложь — требуется только в режиме загрузки из резервной копии XML, когда загружаются все данные информационной базы, включая все служебные данные. Когда Отключить = Ложь, тогда определяет необходимость планирования обновления для собранных таблиц. Ложь требуется в обработке исключения после отмены транзакции, если есть внешняя транзакция, так как любая запись в базу данных в таком состоянии приведет к ошибке, кроме того, планировать обновление после отмены транзакции не требуется.

Пример вызова

 Вариант 1. Запись набора объектов вне транзакции (ТранзакцияАктивна() = Ложь).
УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Истина);
Попытка
 // Запись набора объектов.
 // ...
 УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
Исключение
 УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
 //...
 ВызватьИсключение;
КонецПопытки;
 Вариант 2. Запись набора объектов в транзакции (ТранзакцияАктивна() = Истина).
УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Истина);
НачатьТранзакцию();
Попытка
 БлокировкаДанных.Заблокировать();
 // ...
 // Запись набора объектов.
 // ...
 УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
 ЗафиксироватьТранзакцию();
Исключение
 ОтменитьТранзакцию();
 УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
 //...
 ВызватьИсключение;
КонецПопытки;

Доступность

Сервер, Толстый клиент, Внешнее соединение