| 
			
			 | 
		#1 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
			
			
			Вернуть this из класса
			 
			
			(С маленькой надеждой в голосе)  Может кто-нибудь знает красивый способ вернуть экземпляр класса (this) из метода этого же экземпляра класса? 
		
		
		
		
		
		
		
	То есть вместо такого: X++: var.parm1(...); var.parm2(...); var.parm3(...); var.parm4(...); var.doIt(); X++: var.parm1(...).parm2(...).parm3(...).parm4(...).doIt();  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
X++: class Smth { } Smth parm(...) { // ... return this; }  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если бы все было так просто - не спрашивал. 
		
		
		
		
		
		
		
	Ругается на return this; В декларации метода в качестве возвращаемого типа указан сам класс.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Аааа.....сорри, прошу прощения. 
		
		
		
		
		
		
		
	Это косяки местного приложения.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Странно, у меня не ругается. Проверил - работает на AX3 SP1
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Белугин так реализовывал QueryBuilder - методы которые обычно находятся на QueryBuildDataSource возвращали его же, что позволяло вызывать несколько методов подряд на том же queryBuildDataSource.
		 
		
		
		
		
		
		
			
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хм... а я сделал оболочку над Args().
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			То есть, вместо подобного: 
		
		
		
		
		
		
		
	X++:     Args   args;
    ;
    args = new Args();
    args.name(formStr(reportURLedgerTurnoverSetup));
    args.parmEnumType(enumnum(reportUReportType));
    args.parmEnum(reportUserReport.ReportType);
    args.parm(reportUserReport.ReportName);
    formRun = classFactory.formRunClass(args);X++: formRun = new my_Args().name(formStr(reportURLedgerTurnoverSetup)) .parmEnumType(enumnum(reportUReportType)) .parmEnum(reportUserReport.ReportType) .parm(reportUserReport.ReportName) .formRun();  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			За что любил, люблю и буду любить Axapt-у, за то что есть хоть какие-то правила групповой разработки. За то что прежде чем написать что-то программисты писавшие её думали, а какого этим будет пользоваться другим, как это код будет читаться. Вам то может превычней. Потому что натация короче. А какого просматривать код, тем кто после прийдёт?  
		
		
		
		
		
		
		
	Осуждать не люблю просто прошу задуматься хоть на секунду, стоит ли ломать такие привычные вещи, как ввод параметров в класс Args. Тем более опыта то у вас намного больше. Но честно лучше уж такие превычные вещи оставлять такими какие они есть.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от miklenew
			 
 
			За что любил, люблю и буду любить Axapt-у, за то что есть хоть какие-то правила групповой разработки. За то что прежде чем написать что-то программисты писавшие её думали, а какого этим будет пользоваться другим, как это код будет читаться. Вам то может превычней. Потому что натация короче. А какого просматривать код, тем кто после прийдёт?  
		
	Осуждать не люблю просто прошу задуматься хоть на секунду, стоит ли ломать такие привычные вещи, как ввод параметров в класс Args. Тем более опыта то у вас намного больше. Но честно лучше уж такие превычные вещи оставлять такими какие они есть. 
				__________________ 
		
		
		
		
	Бывает, что человек молчит, когда ничего не знает о данном предмете, но чаще – когда знает о нем все. (Джордж Бернард Шоу)  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			За что любил, люблю и буду любить Axapt-у, за то что есть хоть какие-то правила групповой разработки.
		
	 
В Аксапте, кстати, с правилами разработки довольно плохо. На мой взгляд, среда (или инструменты) разраблотки должны поддерживать автоматическую валидацию правил разработки, иначе контроль за их соблюдением превышает преимущества их выполнения. Цитата: 
	
		
			За то что прежде чем написать что-то программисты писавшие её думали, а какого этим будет пользоваться другим, как это код будет читаться.
		
	 
![]() Цитата: 
	
		
			Вам то может превычней. Потому что натация короче.
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Только все как писали, так и будут писать. (Т.е. что бы самим было удобно)
		
	 
 
		 | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Ну есть Best Practice Check - правда тормозной....
		
	 
Кстати, а где можно посмотреть QueryBuilder?  
		 | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			что за  QueryBuilder?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			kashperuk:   Белугин так реализовывал QueryBuilder - методы которые обычно находятся на QueryBuildDataSource возвращали его же, что позволяло вызывать несколько методов подряд на том же queryBuildDataSource.
		
	 
 
		 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ктати Best Practice Check  - расширяемая штука
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от miklenew
			
			 
Вам то может превычней. Потому что натация короче. 
		
	Цитата: 
	
В лучшем случае, у Вас ничего не получится. В худшем, Вы получите пародоксальное (не предсказуемое) поведение Axapta. Каждая среда программирования имеет свою собственную идеологию. Следствием которой и является используемый синтаксис языка и интерфейс приложений. И в чужой монастырь со своим уставом лучше не лезть. Ведь и побить могут  
		 | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			>>>В худшем, Вы получите пародоксальное (не предсказуемое) поведение Axapta. 
		
		
		
		
		
		
		
	Каким образом?  | 
| 
	
 |