|
![]() |
#1 |
Administrator
|
Цитата:
Нашел для себя 2 "обходных" пути. 1. Для диалогов - наследников RunBase есть класс DialogAddDimensionType_CheckButton_RU. Он добавляет в диалог флажки, по количеству элементов в массиве в типе Dimension. По сути здесь простой цикл и все. Но это решает задачу добавления именно "отвязанных" контролов. Важно! Здесь список контролов подготавливается ДО init формы. Т.к. после - уже не получается (ну у меня тогда не получилось). При этом лукапы для каждого элемента массива тут работать не будут (если пытаться заменить галки на строковые поля). Т.е. если хочется добавить контрол с лукапом в случае массива - он должен быть "связанным" 2. Если нужно сделать лукап со списком полей (а может и лукап со списком значений) аналогично форме расширенного запроса (SysQueryForm) - то нужно использовать класс SysQueryForm (его можно использовать, предварительно подготовив всякие таблички и Query). При этом, обращаю внимание - там используется табличка TmpSysQuery и у контрола типа Dimension проставлен не EDT, а FieldId, причем свойство ArraySize не используется (оно не работает), а в FieldId подставлено значение fieldId2Ext(fieldnum(Dimension), i), где i - индекс массива. Здесь видно, что лукап у поля "Значения" строится в зависимости от выбранного элемента массива.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 14.07.2011 в 08:46. |
|
|
За это сообщение автора поблагодарили: Sergey Petrov (1). |
![]() |
#2 |
Участник
|
2 S.Kuskov: да, вы правы, тупанул
![]() X++: c.extendedDataType(typeid(Dimension));
c.arrayIndex(i); |
|
![]() |
#3 |
Administrator
|
Я ж сказал - не работает это свойство. Ошибся в названии - не ArraySize, а arrayIndex
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
dimensions |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|