Редактировать одни и те же данные в прикладных решениях «1С:Предприятие» раньше было неудобно. Пользователи не могли согласовать последовательность своих действий или освободить занятые другими данные.
С новым механизмом взаимодействия это становится возможным. «1С» разбирает опцию на примерах.
Пессимистическая блокировка
Редактирование одних и тех же данных пользователя в платформе «1С:Предприятие» осуществляется с помощью пессимистической блокировки.
Работа механизма выглядит так: когда первый пользователь начинает изменять какой-то документ, платформа устанавливает пессимистическую блокировку. У второго пользователя заблокировать объект уже не получится.
Сообщение о блокировке редактируемого объекта
Если пользователь забудет закрыть форму, другие не смогут изменять документ, пока форма не будет закрыта. Сообщение о блокировке не позволит отменить ее, даже если вы установили ее самостоятельно и решили продолжить редактирование на другом компьютере и в другом сеансе.
Разработчики фирмы «1С» внесли несколько поправок, чтобы избежать таких неудобств.
Взаимодействие при пессимистической блокировке
В версии платформы 8.3.14 ограничения снимаются до того, как пользователь закрыл форму. Признак модифицированности формы просигнализирует о том, что данные записаны. Через минуту после сигнала пессимистическая блокировка снимется автоматически. Форму для этого закрывать необязательно.
В версии платформы «1С:Предприятие» 8.3.15 задействован сервер взаимодействия 1С:Диалог. Любые пользователи прикладных решений смогут зарегистрировать на нем свою информационную базу. Если решение подключено к системе взаимодействия, сценарий редактирования одних и тех же данных будет выглядеть более простым и удобным.
Примеры
Менеджер по продажам открывает заказ и добавляет туда несколько позиций. В этот же момент заказ открывает администратор, чтобы изменить его статус. Администратор увидит вот такое сообщение:
Администратор пишет сообщение менеджеру по продажам и просит его закрыть форму. Менеджер видит окно:
Менеджер, который еще не окончил редактирование заказа, отвечает:
В клиентском приложении администратора этот диалог останется и будет отсчитывать время до возможности начать редактирование. Через минуту после того, как менеджер сохранит внесенные изменения (или закроет форму), администратор об этом узнает:
Администратор нажмет кнопку «Перечитать», увидит новые данные и сможет изменить статус заказа. Снять блокировку получится и в том случае, если администратор забудет закрыть форму заказа на работе и продолжит вносить изменения дома. Если он подключится к базе и откроет заказ, он увидит сообщение:
Если администратор нажмет кнопку «Начать редактирование», платформа снимет пессимистическую блокировку. Администратор, который и так помнит, что хотел заказать, отредактирует документ заново и сохранит изменения.
На рабочем компьютере утром администратор увидит вот такое сообщение:
Если вы работаете в клиент-серверном варианте, и система взаимодействия недоступна, то в диалоге не будет предложения «Написать сообщение пользователю?». Если вы используете файловый вариант работы, то сообщение будет выглядеть так:
Пользователь просто узнает, что данные заблокированы и сможет подождать, когда блокировку снимут. Каждые 10 секунд диалог проверяет, не освободились ли данные.
Изменения запланированы в версиях 8.3.15, 8.3.14.