wakadakawaka d0c69a8cea files
2025-07-21 21:45:52 +05:00

4.2 KiB
Raw Blame History

title, slug
title slug
Отключить проверку общие-бсп-стандартные-подсистемы-даты-запрета-изменения-программный-интерфейст/отключить-проверку
// В текущем сеансе отключает и включает проверку дат запрета изменения и загрузки данных.
// Требуется для реализации специальной логики работы и ускорения пакетной обработки данных
// при записи объекта или набора записей, когда признак ОбменДанными.Загрузка не установлен.
//
// Для использования требуются полные права или привилегированный режим.
//
// Рекомендуется:
// - массовой загрузке данных из файла (если данные не попадают в запрещенный период);
// - массовой загрузке данных при обмене данными (если данные не попадают в запрещенный период);
// - в случае, когда требуется отключить проверку дат запрета не для одного объекта,
//   путем вставки свойства ПропуститьПроверкуЗапретаИзменения в ДополнительныеСвойства объекта,
//   а для всех объектов, которые будут записываться в рамках записи этого объекта.
//
// Параметры:
//  Отключить - Булево - Истина - отключает проверку дат запрета изменения и загрузки данных.
//                       Ложь   - включает  проверку дат запрета изменения и загрузки данных.
//
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Отключить)

Пример:

Вариант 1. Запись набора объектов вне транзакции (ТранзакцияАктивна() = Ложь).

ПроверкаДатЗапретаОтключена = ДатыЗапретаИзменения.ПроверкаДатЗапретаОтключена();
  ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
  Попытка
    // Запись набора объектов.
    // ...
  Исключение
    ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
    //...
    ВызватьИсключение;
  КонецПопытки;
  ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);

Вариант 2. Запись набора объектов в транзакции (ТранзакцияАктивна() = Истина).

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