Страница 1 из 1

Как достучаться из своего шаблона до дугого Contor шаблона?

Добавлено: 20 Сентябрь 2006, 15:53
ru_alex
Всем привет!
Вопрос знатокам шаблонописания.

Можно ли, и если да то как, достучаться (прочитать) до multi-value переменных некого control шаблона в окне из своего шаблона?

Добавлено: 20 Сентябрь 2006, 15:59
Admin
Можно!
Примерно вот так ...

Код: Выделить всё

#FOR(%ActiveTemplate),WHERE(%ActiveTemplate='имяшаблона(имятемплейта)')
  #FOR(%ActiveTemplateInstance)
    #CONTEXT(%Procedure,%ActiveTemplateInstance)
      #! здесь юзаешь переменные того шаблона
    #ENDCONTEXT
  #ENDFOR
#ENDFOR

Добавлено: 21 Сентябрь 2006, 11:39
ru_alex
Спасибо! работает...

теперь еще один затык нарисовался
если таких Control шаблонов есть на окне несколько, например два у одного %ActiveTemplateInstance=1 у другого 2.
По выбранному %Control я могу определить %ActiveTemplate, а как понять какой %ActiveTemplateInstance?
Нашел только переменную %ControlTemplate.
Что-то типа %ControlTemplateInstance нет вроде.

Добавлено: 21 Сентябрь 2006, 11:54
ru_alex
Вроде нашел.
Это переменная %ControlInstance?

Добавлено: 21 Сентябрь 2006, 14:02
Admin
Немного не понял.
Если вопрос еще актуален пиши подробнее ...

Добавлено: 21 Сентябрь 2006, 15:06
ru_alex
ситуация такая:
Я из своего шаблона выбираю контрол, это может быть Populate control without template, а может быть Control Template? которых в окне может быть поставлено несколько. Если выбранный контрол это Control Template, то необходимо получить значения некой Multi Valuye переменной этого шаблона:
Следуя приведенному тобой коду пишу:

Код: Выделить всё

          
#DECLARE(%MyMultiValue1),MULTI
#FIX(%Control,%MySelectControl)
#FOR(%ActiveTemplate),WHERE(%ActiveTemplate='MyControlTemplate(MyGroupTemplate)')
   #FOR(%ActiveTemplateInstance)
       #IF(%ControlInstance=%ActiveTemplateInstance)
           #CONTEXT(%Procedure,%ActiveTemplateInstance)
              #FOR(%MyMultiValue)
                 #ADD(%MyMultiValue1,%MyMultiValue)
              #ENDFOR
           #ENDCONTEXT
        #ENDIF
    #ENDFOR
#ENDFOR  
Физично?