Страница 1 из 1

MAV: было: зависание при совместной работе

Добавлено: 27 Октябрь 2005, 10:51
StillZero
Привет...

вчера....или позавчера :)...был вопрос по поводу зависания программы при совместном редактировании одной записи, ты сказал, что такого не наблюдаешь у себя...сегодня проверили еще раз...все также, т.е. прога виснет.

Обстановка: MS SQL 2000, WinXP SP2, MAV под 9047,9048 Клара C6.2
Проверить можно на примере abcmavt, можно сделать отдельную "чистую" приладу с одной табличкой и формой редактирования. Можно проверить все на одном компе, можно на разных, результат один и тот же.

Как добиться:
11. Запускаем abcmavt.exe
12. Заходим в Browse/Browse Vendors
13. Открываем форму редактирования записи Doug's Digs (номер 1)

21. Запускаем abcmavt.exe (на этом же компе)
22. Заходим в Browse/Browse Vendors
23. Открываем форму редактирования записи Doug's Digs (номер 1)

14. Изменяем "Doug's Digs" на "Doug's Digs 1"
15. Сохраняем "ОК" - все сохраняется и можно дальше продолжать работу

24. Во второй копии жмем "ОК" на форме редактирования - ничего не происходит
25. Жмем "Cancel" - все ОК, можно продолжать работу

16. Жмем кнопку "Обновить" в первой копии - прога встает колом

26. Во второй копии все ок, все бегает и рефрешиться
27. Выходим из второй копии

17. Первая копия отвисает

-----------------
логи трассы приложены

Re: MAV: было: зависание при совместной работе

Добавлено: 27 Октябрь 2005, 14:28
Andrew™
StillZero писал(а):Привет...

вчера....или позавчера :)...был вопрос по поводу зависания программы при совместном редактировании одной записи, ты сказал, что такого не наблюдаешь у себя...сегодня проверили еще раз...все также, т.е. прога виснет.
как работает транзакция на сохранение формы:
лочаться все записи который учавствуют в транзации,
далее идут проверки на изменения с других рабочих станций,
в случае если запись(и) были изменены с других рабочих станций не происходил ROLLBACK, локирование записей я ввёл недавно, вот и нашёлся маленький ляп, обновление будет завтра.

Re: MAV: было: зависание при совместной работе

Добавлено: 28 Октябрь 2005, 8:44
Andrew™
Andrew Myalin писал(а):
StillZero писал(а):Привет...

вчера....или позавчера :)...был вопрос по поводу зависания программы при совместном редактировании одной записи, ты сказал, что такого не наблюдаешь у себя...сегодня проверили еще раз...все также, т.е. прога виснет.
как работает транзакция на сохранение формы:
лочаться все записи который учавствуют в транзации,
далее идут проверки на изменения с других рабочих станций,
в случае если запись(и) были изменены с других рабочих станций не происходил ROLLBACK, локирование записей я ввёл недавно, вот и нашёлся маленький ляп, обновление будет завтра.
в коммерческой версии поправил, теперь всё правильно работает, для пользователей версии с этого сайта рекомендую следующее:

в шаблоне MAVSave.tpw найти строчки:

Код: Выделить всё

 MAVLOGOUT
 IF PARENT.Completed()
  RETURN 1
 END
и заменить на следующие:

Код: Выделить всё

 MAVLOGOUT
 IF PARENT.Completed()
  MAVROLLBACK
  RETURN 1
 END