| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Перекрыл в своей форме метод executeQuery() следующим образом. У меня на форме два переключателя Приход/Расход (это первый) 
		
		
		
		
		
		
		
	и какие виды расходов и приходов бывают Виды Расходов (это второй радио баттон), и в таблице myTable я сделал два поля по которым я хочу сортировать и выводить данные на форму, Direction (для первого) и Opeartion (для второго радио баттона), в зависимоcти от положения этих двух радио баттанов. void executeQuery() { super(); qbDS_gl.clearRange(fieldnum(myTable, Direction)); qbDS_gl.clearRange(fieldnum(myTable, Operation)); switch (ctrlDirection.selection()) //радио батон { case H_Direction::Issue: //Операция Расход if (ctrlTabSales.isActivePage()) //закладка на кот. радио баттон { switch (rbSales.selection()) { case H_OperationType::Sales: //вид расхода qbr = qbDS_gl.addRange(fieldnum(myTable, Direction)); qbr.value(enum2str(H_Direction::Issue)); qbr = qbDS_gl.addRange(fieldnum(myTable, Operation)); qbr.value(enum2str(H_OperationType::sales_Sales)); break; case O5_InventOperationSalesType::None: ***** ***** break; } } break } break } Но теперь я не могу редактировать форму. Т.е. ни новую строку не добавить, ни изменить старую. Можно ли редактировать форму, если на нее наложен addRange?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Добрый день. 
		
		
		
		
		
		
			Для начала, super() следует вынести в конец метода executeQuery() 
				__________________ 
		
		
		
		
	Чудес не бывает (c), истина где-то рядом (c)...  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
		
			Сообщение от Ser
			
			 
Добрый день. 
		
	Для начала, super() следует вынести в конец метода executeQuery()  
		 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Конечно можно.  
		
		
		
		
		
		
			Откройте хотя-бы складские журналы - комбобокс "Просмотр" изменяет значение Range'а на датасоурсе 
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			сначала выясните, что именно этот код приводит к нередактированию. закомментируйте его и попробуйте запустить
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			все спасибо, разобрался, в методе write  MyTable_DS вернул первоначальный вид. Но все равно обращался не зря, помогли, так как я не знал, что super() надо ставить внизу. Спасибо!
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А можно ли к этой форме (MyTable) еще сделать связь с InventDim? Поле у MyTable типа InventDimID есть. Собственно вопрос такой, можно ли так вообще делать? Grid на форме MyTable заполняется динамически при переключении радио батона. 
		
		
		
		
		
		
		
	У меня теперь, в моей форме после того как я выставляю свойство LinkType = InnerJoin и JoinType = MyTable (второго DS, InventDim_DS типа InventDim), в моем динамическом гриде форме вообще ничего нет.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Опять отсылаю к складским журналам  
		
		
		
		
		
		
			![]() Например, в форме InventJournalTransfer (перенос) соединяется две штуки InventDim с InventJournalTrans 
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Hans
			
			 
<skip> я не знал, что super() надо ставить внизу. 
		
	Opening a form: sequence of events  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			вопрос
			 Цитата: 
	
		
			Сообщение от AndyD
			
			 
Опять отсылаю к складским журналам  
		
	![]() Например, в форме InventJournalTransfer (перенос) соединяется две штуки InventDim с InventJournalTrans void init() { #DEFINE.DataSourceReceipt(3) QueryBuildDatasource qb; super(); qb = this.query().datasourceNo(#DataSourceReceipt); qb.clearLinks(); qb.addLink(fieldNum(InventJournalTrans,toInventDimid),fieldNum(Inventdim,inventDimId)); } Спасибо! Так работает.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну это необходимо, если у вас несколько полей в таблице имеют тип InventDimId
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 |