| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Проблема следующая. Глюк воспроизводится в 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; }   ) манипуляций и изменений полей всплывает вышеописанный глюк. Естественно, в масштабах предприятия глюк возникает намного!!! чаще. ПомогитеP.S. Включать в базе режим совместимости с SQL2000 еще не пробовал, но не хотелось бы делать downgrade.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Вынесите их на отдельную кнопку. Про "глюк" - ищите в ваших "тяжеловесных операциях" метод update. Ваша ошибка в том, что в момент ПРОСМОТРА вы делаете ОБНОВЛЕНИЕ. Перенесите обновление записи в метод write и "глюк" волшебным образом исчезнет.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Все бы хорошо, но иногда глючит и стандарные операции. Например редактирование номенклатурного справочника. Кроме того, это не решение проблемы. В вышеприведенном примере я не делал ничего запрещенного, а глюк вылез.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Member 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В масштабах предприятия вы от него и не избавитесь. Что у вас за справочник, что вы его постоянно обновляете? Да еще и так интенсивно. Он обновляется только из интерфейса, или из кода тоже? 
		
		
		
		
		
		
			Этот глюк постоянно вылазит, если на таблице включен Entire table cache. Я иногда на время интенсивной настройки системы снимаю кэширование со справочников даже. Он у меня воспроизводился на всех версиях 3.0 на MS SQL 2000. 
				__________________ 
		
		
		
		
	С уважением, glibs®  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Кэш для этих таблиц выключен. Более того, возвращаясь к моему тестовому примеру: 1. Там кэша нет. 2. С таблицей работаю только я и в одном окне при этом ошибка возникает.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Только пофиксил баг. Ох и крови он попил. А проблема была в том, что при активном использовании прямых SQL-запросов в них для работоспособности нужно указывать директиву "set nocount on". Вот мы и указывали, а выключать "set nocount off" забывали (не знали).  
		
		
		
		
		
		
		
	Дальше лучше. Такие сессии SQL-сервера случайным образом выделяль AOS-ом ни в чем не повинным пользователям (АОС SQL-сессии не закрывает, а выдает при надобности) и выдавали сообщение о невозможности сохранить запись (оновлена другим пользователем) в самых безобидных случаях. На произвольных таблицах и формах. Более того, проблемы возникали и в толстом клиенте, но намного реже. Реже использовался функционал "set nocount on".  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: mazzy (2), oip (1). | |
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Просто догадались ?  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Это давно было в Ax 3.0. Пользователи жаловались на странные сообщения про невозможность обновить строку, которую только этот пользователь и правил.  
		
		
		
		
		
		
		
	Диагностировал на системе без пользователей на форме на которой из необычного было только вызов хранимки MSSQL для заполнения вспомогательных строк в строках кастомного журнала.  | 
| 
	
 |