В платформе 8.3.15 появился замечательный механизм — Взаимодействие при редактировании одних и тех же данных , но данная версия пока только ознакомительная (и когда будет финальная а тем более когда на нее перейдут типовые конфигурации пока не известно).
Почему бы не реализовать все тоже самое, но через расширение подумал я, подумал и реализовал 🙂
Принцип действия следующий:
При открытии формы объекта пытаемся его заблокировать, если нам это удалось то форма открывается как обычно (для редактирования). Если заблокировать объект не удалось, то при открытии формы сообщаем об этом пользователю и открываем форму в режиме "Только просмотр" при этом создаем кнопку "Включить редактирование данных".
При нажатии на кнопку "Включить режим редактирования" пытаемся заблокировать объект (вдруг его уже "отпустили") если нам это не удалось то открываем окно в котором сообщаем о том, кто заблокировал данный объект и предлагаем варианты взаимодействия
При нажатии кнопки "Начать редактирование" снимаем режим "Только просмотр" и даем возможность начать редактирование данных объекта.
При установленном расширение Система взаимодействия можно написать сообщение пользователю заблокировавшему объект.
Требование для работы расширения:
- Режим совместимости 8.3.12
Довольно сложная тема. Судя по описанию, механизм совместного редактирования данных в данном случае не очень удобен. Хотелось бы, чтобы 1С приблизилась к Google Docs в данном вопросе. На infostart.ru есть и другие разработки по этой теме:
Коллективное редактирование документа
Native внешняя компонента для оповещения по UDP или TCP
1)
2)