Также можно привязываться не к бровзу а к любому шаблону, к примеру к SaveButton(ABC) - extension на форме.
Вот пример шаблона и картинки:
Код: Выделить всё
#TEMPLATE(TestABC,'Test ABC'),FAMILY('ABC')
#CONTROL(BrowseSomeButton,'Browse Some Button'),REQ(BrowseBox(ABC))
CONTROLS
BUTTON('Some button #&1'),USE(?SomeButton1)
BUTTON('Some button #&2'),USE(?SomeButton2)
END
#ATSTART
#DECLARE(%SomeControl1)
#DECLARE(%SomeControl2)
#FOR(%Control),WHERE(%ControlInstance = %ActiveTemplateInstance)
#IF(%ControlOriginal = '?SomeButton1')
#SET(%SomeControl1,%Control)
#END
#IF(%ControlOriginal = '?SomeButton2')
#SET(%SomeControl2,%Control)
#END
#ENDFOR
#FIX(%File, %Primary)
#ENDAT
#AT(%ControlEventHandling, %SomeControl1, 'Accepted'),PRIORITY(6000)
! %%Primary - файл бровза, %%PrimaryKey - ключ бровза
MESSAGE('%%Primary: %Primary<13,10>%%PrimaryKey: %PrimaryKey')
#ENDAT
#AT(%ControlEventHandling, %SomeControl2, 'Accepted'),PRIORITY(6000)
! %%FilePrefix - префикс файла, %%FilePrimaryKey - основной ключ бровза (может быть не равен %%PrimaryKey
! все ключи перебрать по %%Key
#! повторно фиксируем для наглядности
#FIX(%File, %Primary) #!
#FOR(%Key)
! ключ: %Key
#ENDFOR
MESSAGE('%%FilePrefix: %FilePrefix<13,10>%%FilePrimaryKey: %FilePrimaryKey')
#ENDAT
Код: Выделить всё
...
CASE ACCEPTED()
OF ?SomeButton1:2
ThisWindow.Update()
! %Primary - файл бровза, %PrimaryKey - ключ бровза
MESSAGE('%Primary: Demo<13,10>%PrimaryKey: Dem:PrimaryKey')
OF ?SomeButton2:2
ThisWindow.Update()
! %FilePrefix - префикс файла, %FilePrimaryKey - основной ключ бровза (может быть не равен %PrimaryKey
! все ключи перебрать по %Key
! ключ: Dem:PrimaryKey
MESSAGE('%FilePrefix: Dem<13,10>%FilePrimaryKey: ')
END
...