|  22.05.2006, 12:20 | #1 | 
| Участник |  Можно ли редактировать форму, если на нее наложен addRange? 
			
			Перекрыл в своей форме метод 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? | 
|  | 
|  22.05.2006, 13:03 | #2 | 
| NavAx | 
			
			Добрый день. Для начала, super() следует вынести в конец метода executeQuery() 
				__________________ Чудес не бывает (c), истина где-то рядом (c)... | 
|  | 
|  22.05.2006, 13:10 | #3 | 
| Участник |  т.е. все такие можно редактировать? Цитата: 
		
			Сообщение от Ser
			
			 Добрый день. Для начала, super() следует вынести в конец метода executeQuery()   | 
|  | 
|  22.05.2006, 13:25 | #4 | 
| Участник | 
			
			Конечно можно.  Откройте хотя-бы складские журналы - комбобокс "Просмотр" изменяет значение Range'а на датасоурсе 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  22.05.2006, 13:40 | #5 | 
| Участник | 
			
			сначала выясните, что именно этот код приводит к нередактированию. закомментируйте его и попробуйте запустить
		 | 
|  | 
|  22.05.2006, 13:43 | #6 | 
| Участник | 
			
			все спасибо, разобрался, в методе write  MyTable_DS вернул первоначальный вид. Но все равно обращался не зря, помогли, так как я не знал, что super() надо ставить внизу. Спасибо!
		 | 
|  | 
|  22.05.2006, 15:18 | #7 | 
| Участник | 
			
			А можно ли к этой форме (MyTable) еще сделать связь с InventDim? Поле у MyTable типа InventDimID есть. Собственно вопрос такой, можно ли так вообще делать? Grid на форме MyTable заполняется динамически при переключении радио батона. У меня теперь, в моей форме после того как я выставляю свойство LinkType = InnerJoin и JoinType = MyTable (второго DS, InventDim_DS типа InventDim), в моем динамическом гриде форме вообще ничего нет. | 
|  | 
|  22.05.2006, 15:59 | #8 | 
| Участник | 
			
			Опять отсылаю к складским журналам   Например, в форме InventJournalTransfer (перенос) соединяется две штуки InventDim с InventJournalTrans 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  22.05.2006, 16:23 | #9 | 
| Участник | Цитата: 
		
			Сообщение от Hans
			
			 <skip> я не знал, что super() надо ставить внизу. Opening a form: sequence of events | 
|  | 
|  22.05.2006, 16:30 | #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)); } Спасибо! Так работает. | 
|  | 
|  22.05.2006, 16:35 | #11 | 
| Участник | 
			
			Ну это необходимо, если у вас несколько полей в таблице имеют тип InventDimId
		 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  |