Показать сообщение отдельно
Старый 09.04.2008, 11:31   #1  
kgksoft is offline
kgksoft
Участник
 
37 / 107 (4) +++++
Регистрация: 24.12.2003
? Ошибка обновления строк в трехзвенке
Проблема следующая. Глюк воспроизводится в Axapta 3.0 только в трехзвенке и только с базой MS SQK2K5.

Axapta 3.0 SP4 KR3
MSSQL2K5 (Microsoft SQL Server Enterprise Edition 9.0.3228)
AOS - Windows 2000 Advanced Server SP4 (MDAC 2.8 SP1)

Периодически в разных местах возникает стандартное сообщение о том, что запись была обновлена на другом комьютере, нажмите Восстановить и т.д. и т.п.

Чаще всего эта проблема наблюдается при редактировании таблиц на DataSource'ах которых перекрыт метод active и в нем выполняются тяжеловесные операции.

Был проведен эксперимент. Создал новую таблицу с несколькими полями.Никаких свойств больше не менял. Создал новую форму и положил на нее грид для редактирования этой таблицы. Далее перехватил на DataSource метод active и добавил некий "тормоз":

X++:
public int active()
{
    int ret;
    int a = timenow();

    ret = super();
    while (timenow()<=a){}

    return ret;
}
после этого запустил форму. добавил несколько строк и после непродолжительных (до 100 изменений ) манипуляций и изменений полей всплывает вышеописанный глюк. Естественно, в масштабах предприятия глюк возникает намного!!! чаще. Помогите

P.S.
Включать в базе режим совместимости с SQL2000 еще не пробовал, но не хотелось бы делать downgrade.