| 
			
			 | 
		#1 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Уважаемые коллеги, такая проблема: 
		
		
		
		
		
		
		
	Пользователь каким-то образом умудрился приджойнить таблицу, которую теперь, извиняюсь, не "отджойнить обратно". Конкретно: в строках журнала по основным средствам при вводе в эксплуатацию после нажатия на кнопку "Выбор" появляется форма параметров запроса (SysQueryForm), в которой в поле "Структура" нарисовано: Код: * Таблицы
|___ * Основные средства
      |_____ * Складские проводкиПричем, когда я делаю подобное под своим логином, мне позволено добавлять и удалять эти "Складские проводки". И у меня слева на этих "Проводках" присутствует "стрелочка" - как знак ярлыка. У пользователя такой "стрелочки" нет, и при щелчке правой кнопкой у него отсутствует пункт "Удаление", а присутствют только пункты "1:n" и "n:1". В пункт "Использование данных" (SysLastValue) уже ходили и убили там строку: UserSetupQuery / Q:RAssetTable . Не помогло. Все запросы честно удалились, остался только "Используемый запрос". Но в нем все равно висят эти "Складские проводки"... Как можно побороть проблему? Заранее благодарю.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: NataLee (1). | |
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Скорее всего не до конца почистили SysLastValue. 
		
		
		
		
		
		
		
	Если есть возможность - лучше грохнуть вообще все упоминания про RAssetTable или просто весь SysLastValue для этого юзера.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Gustav
			
			 
Как можно побороть проблему? 
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Gustav (4). | |
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от olesh
			
			 
Нужно удалить из SysLastValue еще и строку Class / класс_ввода_в_эксплуатацию (RAssetProposalAcquisition?) Запрос там сидит. 
		
	  Я думаю, даже не "еще и", а с этого надо было начинать и, может быть, только этим и ограничиться, т.е. мое убийство Q:RAssetTable, наверное, было лишним. Или нет?  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Logger
			
			 
... или просто весь SysLastValue для этого юзера. 
		
	Потому что юзер бы сильно расстроилась... У нас они очень трепетно относятся к своим настройкам...  
		 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Gustav
			
			 
Причем, когда я делаю подобное под своим логином, мне позволено добавлять и удалять эти "Складские проводки". И у меня слева на этих "Проводках" присутствует "стрелочка" - как знак ярлыка. У пользователя такой "стрелочки" нет, и при щелчке правой кнопкой у него отсутствует пункт "Удаление", а присутствют только пункты "1:n" и "n:1". 
		
	Подкачала реализация работы с queryRun в классе RAssetProposal Проблема в том, что форма SysQueryForm не может отделить датасоурсы, добавленные пользователем, от "оригинальных", т.е. добавленных в дизайне или программно. Если посмотреть метод Init() класса SysQueryEdit, то видно, что для выделения этих датасоурсов используется queryNextUniqueId = Query().nextUniqueId(). При этом Query() берется у текущего QueryRun, т.е. при загрузке из SysLastValue получится, что добавленные датасоурсы стали "оригинальными". Для того, чтобы эту ситуацию исправить, надо сохранить "оригинальный" запрос - а для этого необходимо использовать класс SysQueryRun (замечу, что в ClassDeclaration класса RAssetProposal queryRun определен как объект класса QueryRun, а при распаковке queryRun присваивается уже new SysQueryRun()). Что необходимо сделать в классе RAssetProposal 1. Переопределить в Class Declaration queryRun как SysQueryRun X++: SysQueryRun queryRun; X++: // поменять queryRun = new QueryRun(querystr(RassetTable)); // на queryRun = new SysQueryRun(querystr(RassetTable)); queryRun.origQueryPack(queryRun.query().pack()); X++: Query q; ; ... if (queryIsPackedOk(packedQuery)) { q = new Query(packedQuery); QueryRun.Query(q); } ... 
				__________________ 
		
		
		
		
		
			Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 22.06.2006 в 23:11.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: NataLee (1), Lemming (2), Hammer (1). | |
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			AndyD, большое спасибо за подробный "разбор полётов".  
		
		
		
		
		
		
		
		
			Пока, увы, очков добавить не могу - Форум говорит: "Вы должны добавить отзыв кому-то еще, прежде чем сможете снова добавить ее AndyD." (хотя в очередной раз мне до конца не совсем понятно почему - я уже добавлял "кому-то еще"). Поэтому откладываю "материальную" благодарность на будущее ![]() P.S. To whom it may concern: "добавить ОТЗЫВ... прежде чем снова добавить ЕЕ..." - пофиксите, пожал-та! Последний раз редактировалось Gustav; 23.06.2006 в 12:25.  | 
| 
	
 |