Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как сделать, так чтобы второй человек не входил в документ, пока первый в нем находится?

Как сделать, так чтобы второй человек не входил в документ, пока первый в нем находится?
Я
   Nysha1210
 
02.09.20 - 10:39
Всем привет. Стоит 1С:Підприємство 8.3 (8.3.15.1489) Конфа УТП 1.2 переделанная под нас. Столкнулась с такой проблемой - в один и тот же документ спокойно могут войти 2 пользователя одновременно и работать с ним (пробовала сама под разными пользователями). Войти можно и по клику мышки и по Enter на клаве. До сих пор реально думала, что такое невозможно, но, как оказалось, можно((( Как это исправить? Всем спасибо.
   Волшебник
 
1 - 02.09.20 - 10:41
Может он открыл просто посмотреть... При начале редактирования нужно проверять и накладывать блокировку.
   BeerHelpsMeWin
 
2 - 02.09.20 - 10:41
ЗаблокироватьДанныеДляРедактирования(), что-то такое вроде было
   BeerHelpsMeWin
 
3 - 02.09.20 - 10:42
но это в УФ
а в ОФ вроде ЭтотОбъект.Заблокировать()
   Nysha1210
 
4 - 02.09.20 - 10:44
Это нужно прописывать для всего? Для справочников, документов? Это какой-то баг в 1С? Раньше всё по умолчанию было заблокировано(((
   Василий Алибабаевич
 
5 - 02.09.20 - 10:48
(4) Это не баг. Это реализация оптимистической блокировки. А вдруг после редактирования вы нажмете esc и скажете ничего не записывать? Если у вас есть необходимость одновременно изменять данные существующих документов - нужно поменять филармонию.
   Очевидно
 
6 - 02.09.20 - 10:52
   ASU_Diamond
 
7 - 02.09.20 - 11:22
(4) с 7.7 путаете
   fisher
 
8 - 02.09.20 - 11:26
(0) Смотреть одновременно могут сколько угодно людей. Но как только один из пользователей попробует начать изменять документ, который уже изменяет другой пользователь - платформа выдаст соответствующее сообщение. Если этого не происходит, значит платформа не знает, что документ начал изменяться. Это может быть в случаях, например, когда меняется ТЗ на форме, для которой не установлена галка "Изменяет данные" или как оно там. Или нажимает кнопку без установленного этого свойства, которая тоже меняет данные.
   Nysha1210
 
9 - 02.09.20 - 11:37
Всем спасибо. Нашла решение. Вопрос закрыт.
В процедуре При Открытии() - заблокировала документ:
    //блокируем доступ 2 пользователю

    Попытка
        ЭтотОбъект.Заблокировать();
    Исключение
        Сообщить("Документ редактируется другим пользователем");
        ЭтаФорма.ТолькоПросмотр = Истина;
    КонецПопытки;
В процедуре ПриЗакрытии() - его разблокировала.

В итоге 1-й открывший работает в в режиме Редактирования с документов, а остальные - просто его просматривают. Конфликтов не возникает.
   fisher
 
10 - 02.09.20 - 11:40
Интересное решение. Но штатное поведение платформы тоже не позволяет одновременное редактирование двумя пользователями и при этом еще сообщает кто именно редактирует сейчас документ.
   Bigbro
 
11 - 02.09.20 - 11:40
(0) переходите на 7.7, там это реализовано (с) ))
   Волшебник
 
12 - 04.09.20 - 07:18
(11) Семёрка ещё сырая...
   Ёпрст
 
13 - 04.09.20 - 11:17
(10) в ОФ то ? еще как позволяет и ничего не пишет. Ты это узнаешь потом, при записи объекта..что данные изменились и облом, амиго, все твои правки документа коту под хвост
   Ёпрст
 
14 - 04.09.20 - 11:19
(9) не информативное сообщение, из ОписаниеОшибки вырежи, каким именно пользователем открыт документ и покажи это в сообщении

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.