Добрый день.
Да, механизм обновления данных в 6-ой версии изменился.
В 5-ой версии было три варианта:
- немедленное обновление у всех, у кого открыт данный объект;
- окно сообщения о том, что записи в объекте изменены;
- активирование кнопки при изменении данных.
В 6-ой версии остался только последний вариант. Но при этом добавилась вторая кнопка, открывающая окно со списком всех изменений в открытом объекте.
Данное изменение было сделано по нескольким причинам:
1. При изменении записи менеджер производил нотификацию всех пользователей об этом и, если у пользователя был открыт данный объект, клиент автоматически посылал запрос на обновление данных. Если пользователей было много, и работали они с одним объектом (а это самая типичная ситуация), то менеджер производил отправку данных всем получателям. Это могла быть достаточно большая нагрузка на сервер.
2. Из общения с пользователями нам стало понятно, что режимы автоматического обновления и нотификации сообщением практически всегда исключались из работы, так как непредсказуемое изменение или внезапное окно вызывало больше раздражения, чем приносило пользу. Особенно, если пользователей было больше двух.
Теперь данные по сети не обновляются автоматически, что дало следующие плюсы:
- данные не меняются "не заметно" для пользователя - он всегда может узнать что поменялось с последнего открытия или обновления списка записей (причём не про одно изменение, а увидев полный список всех совершённых действий в базе данных);
- не блокируется "внезапно" окно с программой неожиданным сообщением;
- не производится большой нагрузки на серверную часть комплекса, так как отправка данных производится не сразу для всех пользователей, а только тем и в тот момент, кому и когда это необходимо.
Кроме того, для предотвращения перегрузки менеджера, в нём был реализован довольно сложный механизм кэширования данных, от которого мы отказались, так как потенциально он мог вызывать сбои в работе.