Имя: Пароль:
1C
 
не блокируется документ
,
0 master442
 
31.05.21
13:01
База серверная, управляемые формы.
При открытии документа некоторые документы не блокируются, разные пользователи могут спокойно открыть один и тот документ и даже редактировать его и записать!!!
В  процедуре ПриСозданииНаСервере() в начале стоят команды:

           Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
        Попытка
            Объект.Ссылка.ПолучитьОбъект().Заблокировать();
        Исключение
            ШаблонСообщения = НСтр("ru = 'Документ редактируется другим пользователем.%1%2'");
            ТекстСообщения  = СтрШаблон(ШаблонСообщения, Символы.ПС, ОписаниеОшибки());
            ВызватьИсключение ТекстСообщения;
        КонецПопытки;
        
        ЗаблокироватьДанныеФормыДляРедактирования();
        РаботаСДиалогамиСервер.ПриОткрытииФормыДокумента(Ложь, ЭтаФорма, Объект.Ссылка, ПараметрыСеанса.ТекущийПользователь);
       КонецЕсли;

Объясните пожалуйста, что происходит почему?
1 Vadim_37
 
31.05.21
13:03
ну значит он не новый
2 Vadim_37
 
31.05.21
13:04
хотя не, не то
3 hhhh
 
31.05.21
13:12
(0) почему

    Объект.Ссылка.ПолучитьОбъект().Заблокировать();

вы блокируете не сам объект, а его копию. Которая уничтожается по окончанию процедуры ПриСозданииНаСервере. И блокировка снимается.
4 acanta
 
31.05.21
13:17
А почему нельзя чтобы элемент/документ вторым пользователем открывался на чтение?
5 Фрэнки
 
31.05.21
13:25
(3) тогда он видел бы такое всегда, а не только " некоторые "

з.ы. Хотя я принципиально не использовал бы Заблокировать в контексте Формы Объекта, именно по причине, что экземпляры объектов при ПолучитьОбъект создаются разные.
6 lodger
 
31.05.21
13:27
(5) тогда он видел бы такое всегда - а так всегда, он просто не так проверяет.
7 master442
 
31.05.21
13:28
Подскажите пожалуйста, что тогда использовать?
8 Фрэнки
 
31.05.21
13:30
(7) в какой конфигурации это нужно сделать, если не секрет?

Видно же что там есть хотя бы основа  РаботаСДиалогамиСервер.ПриОткрытииФормыДокумента
9 acanta
 
31.05.21
13:31
(7) клюшки вероятно..
10 master442
 
31.05.21
13:36
это самописная конфигурация
11 Фрэнки
 
31.05.21
13:39
(10) и даже Библиотеку стандартных подсистем не стал брать?!
12 master442
 
31.05.21
13:40
Объясните пожалуйста что имеет в виду?
13 Фрэнки
 
31.05.21
13:44
(12) РаботаСДиалогамиСервер - это общий модуль, который есть в типовых конфигурациях по причине того, что он разработан в "Библиотека стандартных подсистем", кратко БСП

Функциональные возможности БСП отличаются в разных релизах. Взять БСП релизы и документацию на них и т.д. можно на ИТС.
14 zladenuw
 
31.05.21
13:45
(0) попробуй ПриЧтенииНаСервере
Основная теорема систематики: Новые системы плодят новые проблемы.