![]() |
#10 |
Member
|
Вот метод, на таблице Dimensions
client static void webLookupDimension(SysDimension _dimType) { webTableLookup webTableLookup; Query query = new Query(); QueryBuildRange qbr; ; webTableLookup = webTableLookup::newParameters(tablenum(Dimensions)); webTableLookup.addLookupfield(fieldnum(Dimensions, Num)); webTableLookup.addLookupfield(fieldnum(Dimensions, Description)); webTableLookup.selectField(fieldnum(Dimensions, Num)); if (query) { query.addDataSource(tablenum(Dimensions)); qbr = query.dataSourceTable(tablenum(Dimensions)).addRange(fieldnum(Dimensions, DimensionCode)); if (qbr) { qbr.value(queryValue(_dimType)); } } webTableLookup.parmQuery(query); webTableLookup.run(); } Дальше на таблице, например PurchTable, создается столько методов, сколько есть аналитик примерно такого вида edit DimensionDepartment webDimensionDepartment(boolean _set, DimensionDepartment _value) { ; if (_set) { ttsbegin; this.Dimension[1] = _value; if (this.validateField(fieldId2Ext(fieldnum(PurchTable, Dimension), 1))) { ttscommit; } else { ttsabort; } } return this.Dimension[1]; } где DimensionDepartment — это EDT, которое ссылается на Отделы в таблице Dimensions. Наконец, на контроле в форме, который создан на базе edit-метода, перекрывается метод lookup(), и в нем пишется примерно следующее public void lookup(str _lookupValue) { ; Dimensions::webLookupDimension(SysDimension: ![]() } И у контрола свойство LookupMethod должно быть установлено в Custom. Насколько это работает в 4.0 пока сказать не могу.
__________________
С уважением, glibs® |
|
Теги |
ax4.0, enterprise portal, аналитика |
|
|