![]() |
|
Диалог "Не удалось начать редактирование" для самописного документа | ☑ | ||
---|---|---|---|---|
0
trewikz
naïve
08.10.24
✎
13:04
|
Всех приветствую.
Появилась нужда ограничить совместную работу с новым документом. Как внедрить типовой функционал по ограничению? Пробовал методы: .Заблокировать(); .ЗаблокироватьДанныеДляРедактирования(Параметры.Ключ); .ЗаблокироватьДанныеФормыДляРедактирования(); Пробовал в следующих обработчиках: ПриОткрытии() ПриСозданииНаСервере() Нужного результата не добился. |
|||
1
saaken
08.10.24
✎
15:46
|
А откуда есть уверенность, что можно совместно редактировать документ
|
|||
2
trewikz
naïve
08.10.24
✎
15:55
|
(1) Мне наоборот надо убрать эту возможность. Если первый пользователь уже работает с документом, то второму выводить всплывающее окно "Не удалось начать редактирование"
|
|||
3
trewikz
naïve
08.10.24
✎
15:57
|
(1) Сейчас два пользователя могут зайти в документ и одновременно вносить в него правки. А хочу добиться блокировки работы позднего пользователя. Чтобы внести хоть какие-либо правки было невозможно. https://wonderland.v8.1c.ru/blog/vzaimodeystvie-pri-redaktirovanii-odnikh-i-tekh-zhe-dannykh/?sphrase_id=986426
|
|||
4
arsik
гуру
08.10.24
✎
16:00
|
Попробуй так
&НаСервере &Вместо("ПриСозданииНаСервере") Процедура кмн_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Попытка ЭтотОбъект.ЗаблокироватьДанныеФормыДляРедактирования(); Исключение Сообщить(ОписаниеОшибки()); ЭтаФорма.ТолькоПросмотр = Истина; КонецПопытки; ПродолжитьВызов(Отказ, СтандартнаяОбработка); |
|||
5
trewikz
naïve
08.10.24
✎
16:25
|
(4) Не работает. ЭтотОбъект.ЗаблокироватьДанныеФормыДляРедактирования(); отрабатывает без ошибок у двоих пользователей. С тем учетом, что сначала документ открыл первый пользователь, потом второй. Наличие модифицированности на результат так же не повлияло.
|
|||
6
osa1C
08.10.24
✎
16:38
|
(4) Почему при создании на сервере? Документ уже создан, значит ПриЧтенииНаСервере
|
|||
7
arsik
гуру
08.10.24
✎
16:43
|
(5) Очень странно. У нас все работает. Вы делаете что то не то.
Возможно вы что то намудрили с ключами формы. Что у вас основной реквизит формы? (6) Ну и создан и чего? |
|||
8
trewikz
naïve
08.10.24
✎
16:43
|
(7) Ключи не трогал. Документ примитивный, является объектом расширения.
|
|||
9
arsik
гуру
08.10.24
✎
16:46
|
(8) Покажите что у вас тут
|
|||
10
trewikz
naïve
08.10.24
✎
16:51
|
||||
11
arsik
гуру
08.10.24
✎
16:55
|
(10) 🤦
|
|||
12
trewikz
naïve
08.10.24
✎
17:01
|
||||
13
arsik
гуру
08.10.24
✎
17:22
|
(12) Ну что сказать. Ебанная мистика. Может от того что у вас объект в расширении. Мы так не делаем.
|
|||
14
Шурик71
08.10.24
✎
22:06
|
(0) я сейчас уже не помню детали, давно это было, но вот так у меня работает
Процедура ПриОткрытии() //... тут куча кода Если НЕ ТолькоПросмотр тогда Если ЗначениеЗаполнено(Объект.Ссылка) тогда Если НЕ ЗаблокироватьОбъект(Объект.Ссылка, УникальныйИдентификатор) Тогда ВключитьРежимТолькоПросмотр(Истина); КонецЕсли; КонецЕсли; Иначе //кнопки тоже надо.. ВключитьРежимТолькоПросмотр(Истина); КонецЕсли; //... тут куча кода КонецПроцедуры Функция ЗаблокироватьОбъект(Ссылка, УникальныйИдентификатор) Результат = Истина; Попытка ЗаблокироватьДанныеДляРедактирования(Ссылка,, УИД); Исключение ОшИнфо = ИнформацияОбОшибке(); Ош = ОшИнфо.Причина.Описание; Результат = Ложь; Сообщить("Объект заблокирован! ("+Ош+"). |Открываем документ в режиме просмотра!"); КонецПопытки; Возврат Результат; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |