|
27.09.2006, 10:36 | #1 |
Участник
|
Field Groups
Добрый день!
Подскажите плиз как узнать из кучи групп полей в наличии (например в empltable), найти в какие группы входит интересующее меня поле? имеется в виду помимо визуального поиска. |
|
27.09.2006, 10:41 | #2 |
Программатор
|
Выберите правку дизайна формы, найдите ваше поле, выберите группу этого поля, откройте свойства - свойство DataGroup.
|
|
27.09.2006, 10:47 | #3 |
Moderator
|
AOT \ System Documentation \ Classes \ DictTable
AOT \ System Documentation \ Classes \ DictField AOT \ System Documentation \ Classes \ DictFieldGroup пример их хелпа к методу DictFieldGroup.numberOfFields: Код: DictFieldGroup t = new DictFieldGroup(_tableId, _fieldGroupName); DictField f; int i; fieldId id; ; if (t) { for (i=1; i<=t.numberOfFields(); i++) // numbering starts at 1 { id = t.field(i); f = new DictField(dict.tableName2Id(_tableName), id); if (f) print 'Field: ' + f.name() + ' (' + int2str(id) + ')'; else print 'MethodName: ' + t.methodName(id) + ' (' + int2str(id) + ')'; } } Последний раз редактировалось Gustav; 27.09.2006 в 10:59. |
|
27.09.2006, 10:47 | #4 |
Moderator
|
Используйте перекрестные ссылки по полю.
__________________
Андрей. |
|
27.09.2006, 11:00 | #5 |
Axapta
|
X++: static void JOB6666() { SysDictTable dictTable; SysDictField dictField; DictFieldGroup dictGroup; int i,j; #define.tableName('EmplTable') #define.fieldName('Name') ; dictTable = new SysDictTable(tableName2Id(#tableName)); if (dictTable) { for (i = 1; i<= dictTable.fieldGroupCnt();i++) { dictGroup = new DictFieldGroup(tableName2Id(#tableName), dictTable.fieldGroup(i)); if (dictGroup) { for(j=1;j<=dictGroup.numberOfFields();j++) { if (dictGroup.field(j) == fieldname2id(tableName2Id(#tableName), #fieldName)) info (dictGroup.name()); } } } } else { error ('Такой таблицы нет!'); } } Последний раз редактировалось oip; 27.09.2006 в 11:03. |
|
27.09.2006, 11:06 | #6 |
Moderator
|
|
|
27.09.2006, 12:00 | #7 |
Участник
|
Спасибо большое!
|
|