| 
			
			 | 
		#1 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Уважаемые коллеги, подскажите, пожалуйста, как эффективно решать следующую типовую повседневную задачку? 
		
		
		
		
		
		
		
	Допустим, мне надо разобраться с фирменным аксаптовским алгоритмом прописывания данных в таблички во время какой-нибудь типовой транзакции, например, ввода ОС в эксплуатацию. Что я сейчас делаю: - я открываю соответствующую форму, щелкаю правой мышой на пункте "Настройка", попадаю в какую-то форму или класс (ветку AOT); - дальше смотрю на методы и свойства (пока не могу сказать, что с очень умным видом); - выбираю какой-нибудь "приемлемый" по названию метод типа "init" или "run", открываю этот метод и вставляю внутрь него точку прерывания по F9 (хорошо, если я при этом угадал и этот метод или его часть еще только будут исполняться, а не уже отработали); - дальше жму кнопку операции в пользовательском интерфейсе - процесс запускается и останавливается на точке прерывания; - ну и далее иду пошагово в Debugger-е, нажимая F8, пока наконец не окажусь в искомом ("главном" - в моей терминологии) методе, который я узнаю обычно по обилию "select"-ов или иным "эвристическим" признакам (по именам известных мне таблиц, полей и т.п.). ВОПРОС: Существует ли более гуманный способ познания, ускоряющий поиски этого "главного" метода? (А еще лучше бы сразу осознанно попадать в него без поисков!) Заранее спасибо.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну, вообще - выучить все объекты в АОТ  
		
		
		
		
		
		
			
		
		
		
		
	![]() А если серьезно, очень сомневаюсь что такое есть. Но, я в вашем алгоритме ускоряю немного процесс - ставя бряк непоследственно на нужной кнопке,а не на неизвестном методе. Уже быстрей получается. Ну, и второе, что я иногда просто быстро пробегаюсь до конца выполнения операции (или смотрю стек), и ищу названия методов и классов, которые мне понравятся. Обычно срабатывает  
		 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	
	
		
		
		
		  Для решения Вашей задачи необходимо формализовать понятие "главный метод процесса", хотя бы попросту дать ему определение. А также ответить на вопрос: чем "главный" метод отличается от других, "не главных" методов, с точки зрения системы? Вопрос риторический.
		 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если разбираешься с кодом, который создает новую запись в таблице, его "главным методом" будет тот который инициализирует эту запись и делает insert. Соответсвенно брекпоинт надо поставить внутри insert'a. Вся логика ахапки в конечном счете сводится к созданию записей =)
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			а если doInsert?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Сервис \ Параметры \ SQL \ Мониторинг Запросов SQL 
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Gustav (1). | |
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от lagr221374
			
			 
а если doInsert? 
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от belugin
			
			 
Сервис \ Параметры \ SQL \ Мониторинг Запросов SQL  
		
	Большое спасибо! Похоже, это "выстрел в 10", а у меня - новая "игрушка" в Аксапте... Вах! Там и стек вызовов в файле...  
		 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Gustav
			
			 
...а у меня - новая "игрушка" в Аксапте... 
		
	Вах! Там и стек вызовов в файле... Это ж сколько открытий вам еще предстоит сделать... Классно. Может напишете Любимая фишка в Dynamics или статью на сайт http://axapta.mazzy.ru ? Кстати, не забывайте о респектах и репутации - вы можете добавить репутацию. Поделитесь своим счастьем с другими.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: macklakov (5), Gustav (1). | |
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
		
			Сообщение от lagr221374
			
			 
а если doInsert? 
		
	ставишь breakpoint методы logInsert logUpdate в application  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от mazzy
			
			 
...не забывайте о респектах и репутации...Поделитесь своим счастьем с другими 
		
	  Цитата: 
	
		
			Сообщение от mazzy
			
			
		
	 
  Спасибо за предложение. Фишку - не уверен, а статью - чуть позже, с удовольствием - с темой же надо определиться, ну и пусть на улице станет потеплее  
		 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: dmb (1). | |
| 
			
			 | 
		#13 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ох, забавна детская наивность собственных вопросов недельной давности... 
		
		
		
		
		
		
		
	Наряду с "Сервис\Параметры\SQL\Мониторинг Запросов SQL" на меня свалилось дополнительное счастье вида "Сервис\Средства разработки\Профайлер кода" Спасибо трехгодичной давности ветке "Профайлер кода" и респект ее участникам: Профайлер кода Там же есть подробное описание Профайлера в приаттаченном файле (на англ.языке) Special thanks to AXFORUM, в недрах которого всё это хранится...  
		 | 
| 
	
 |