| 
    
 | 
        Блокировка регистра сведений для записи        
 d4rkmesa,  Chameleon1980,  Ненавижу 1С,  BayJay,  arsenfn,  fserg84,  LienXo,  leshikkam,  Silgis,  ndrv,  chelentano,  Anton1307,  calmius,  PuhUfa,  maxab72,  программистище,  Zombi,  Волшебник,  piter3,  Fish,  ptiz,  maxar,  Kongo2019,  trad,  Kabz,  patapum,  Terrixus,  Timon1405,  YaFedor 
 | ☑ | 
    
        | 
    0
    
        arsenfn    
       
    
    04.08.25 
            ✎
    10:10 
 | 
         
        Добрый день!
 
 Хочу заблокировать запись регистра сведений перед записью данных.
 Пишу такой код:
 
 Блокировка = Новый БлокировкаДанных;
 ЭлементБлокировки = Блокировка.Добавить();
 ЭлементБлокировки.Область = "РегистрСведений.МойРегистр";
 ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
 ЭлементБлокировки.УстановитьЗначение("ID", ID);
 Блокировка.Заблокировать();
 
 Получаю ошибку "Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!"
 
 Как-нибудь можно установить блокировку не использую транзакцию?
 
 Конфигурация Управление торговлей 11.5     
         | 
 | 
    
    
        | 
    1
    
        Волшебник    
       
    
    04.08.25 
            ✎
    10:11 
 | 
         
        Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!     
         | 
 | 
    
    
        | 
    2
    
        maxab72    
       
    
    04.08.25 
            ✎
    10:13 
 | 
         
        (1) А заблокировать работу всех остальных пользователей и фоновых и регламентных заданий будет считаться за блокировку?     
         | 
 | 
    
    
        | 
    3
    
        Волшебник    
       
    
    04.08.25 
            ✎
    10:14 
 | 
        
         | 
 | 
    
    
        | 
    4
    
        Ненавижу 1С    
       
    гуру 
    04.08.25 
            ✎
    10:18 
 | 
         
        (0) а зачем? перед записью оно все равно заблокируется на время записи     
         | 
 | 
    
    
        | 
    5
    
        d4rkmesa    
       
    
    04.08.25 
            ✎
    10:19 
 | 
         
        (0) А ЗаблокироватьДанныеДляРедактирования() не подойдет в данном случае?     
         | 
 | 
    
    
        | 
    6
    
        arsenfn    
       
    
    04.08.25 
            ✎
    10:20 
 | 
         
        (4) Когда делаю Набор.Записать() иногда вылетает ошибка конфликт блокировок     
         | 
 | 
    
    
        | 
    7
    
        arsenfn    
       
    
    04.08.25 
            ✎
    10:21 
 | 
         
        (5) этот метод не пробовал     
         | 
 | 
    
    
        | 
    8
    
        Волшебник    
       
    
    04.08.25 
            ✎
    10:22 
 | 
         
        МойРегистр — плохое имя регистра     
         | 
 | 
    
    
        | 
    9
    
        d4rkmesa    
       
    
    04.08.25 
            ✎
    10:23 
 | 
         
        (6) Если там прямо конкурентный код, который часто выполняется программно, то написать в НачатьТранзакцию ... и все такое.     
         | 
 | 
    
    
        | 
    10
    
        Chameleon1980    
       
    
    04.08.25 
            ✎
    10:24 
 | 
         
        в (1) подсказка. уточню - гуглите "управляемых блокировок"     
         | 
 | 
    
    
        | 
    11
    
        Ненавижу 1С    
       
    гуру 
    04.08.25 
            ✎
    12:43 
 | 
         
        (6) ну будет вылетать при попытке заблокировать     
         | 
 |