|  22.12.2004, 14:13 | #1 | 
| Участник | SysQueryForm - Dimension 
			
			Здравствуйте! Подскажите, пожалуйста, у кого есть идея на счет того, чтобы в SysQueryForm работая с таблицей LedgerTrans, её поля Dimension лукапились в зависимости от выбранного значения поля "Бухг. счет". Надо как - то капитально переделывать, а как, не знаю даже с какого места подойти. | 
|  | 
|  22.12.2004, 14:50 | #2 | 
| Участник | 
			
			Попробуй посмотреть метод lookupRange класса SysLookup - это то, что вызывается, когда ты хочешь выбрать значение для поля из выпадающего списка. Так вот, там пол TableId и FieldId можно проверить, то ли это поле и таблица.
		 | 
|  | 
|  22.12.2004, 15:09 | #3 | 
| NavAx | 
			
			2Natasha: просто напишите свою lookup - форму и повесьте ее на dataType. Не надо ломать SysQueryForm и SysLookup!
		 
				__________________ Isn't it nice when things just work? | 
|  | 
|  23.12.2004, 07:57 | #4 | 
| Участник | 
			
			а на чей dataType? на LedgerTrans.Dimensions? | 
|  | 
|  23.12.2004, 11:11 | #5 | 
| Участник | 
			
			2Natasha: Нет, он видимо имеет в виду -- создать форму в которой проверять в методе init условие твое, и в зависимости от этого выводить нужные данные. А имя этой формы прописать в свойство FormHelp EDT Dimension
		 | 
|  | 
|  23.12.2004, 11:34 | #6 | 
| NavAx | 
			
			2Natasha:  Да, именно это он и имеет в виду   Если наша форма сильно отличается от исходной, рисуем новую (Axapta Application Development Best Practices) и цепляем ее к типу SysDim через свойство FormHelp. А если нет, то крыжим форму DimensionsLookup. 
				__________________ Isn't it nice when things just work? | 
|  | 
|  23.12.2004, 11:39 | #7 | 
| Участник | 
			
			Да, спасибо, это я все  понимаю, я про возможность "то крыжим форму DimensionsLookup", либо свою. Как это делать динамически, чтоб не обижать LadgerTrans | 
|  | 
|  23.12.2004, 13:18 | #8 | 
| Участник | 
			
			Я, сделала лукаповскую свою форму, она работает на LadgerTable.Dimensions, но не хочет  в LedgerTrans.Dimensions на SysQueryForm
		 | 
|  | 
|  23.12.2004, 14:53 | #9 | 
| NavAx | 
			
			А, понял, в SysQueryForm выбираете один range и в зависимости от него должен лукапиться другой? Ну тогда в init  lookup- формы, нужно вынимать datasource вызывающей SysQueryForm, брать из него TmpSysQuery, через cursor(), и проверять значение нужного range.
		 
				__________________ Isn't it nice when things just work? | 
|  | 
|  24.12.2004, 08:08 | #10 | 
| Участник | 
			
			спасибо за совет, попробую
		 | 
|  | 
|  23.07.2013, 14:01 | #11 | 
| Участник | Цитата: через курсор не получилось.. мне нужно было сделать подобное в axapta 3.0, для полей ToDimNum и FromDimNum таблицы LedgerRRGDimensionInterval_RU. Для этого в методе useSelectableLookup лукап-формы DimensionsLookup. добавил код: X++: switch(tmpSysQuery.Table_Id) { case tablenum(LedgerRRGDimensionInterval_RU): tmp.setTmpData(tmpSysQuery); while select tmp { if(fieldExt2Id(tmp.Field_Id) == fieldNum(LedgerRRGDimensionInterval_RU, DimensionCode)) { sysDimension = new DictEnum(enumNum(SysDimension)).name2Value(strrem(tmp.RangeValue, "\"")); } } return false; } | 
|  | 
|  | 
| 
 |