8.2.12. Клиентские события Synergy¶
На события, отправленные в глобальную шину проигрывателя форм, можно подписаться в JS коде пользовательского компонента.
Пример использования события из проигрывателя форм:
AS.FORMS.bus.on(AS.FORMS.EVENT_TYPE.formShow, function (event, model, view) {
    console.log(model.formCode);
});
В клиентской части Synergy реализована генерация событий в шину $EVENT_BUS.
Типы событий
- 
WORK_USERS_CHANGED¶ Событие изменения исполнителей работы в диалоге создания работы. В качестве аргумента передается список выбранных пользователей в виде массива JSON с полями: userId, lastname, firstname, patronymic
firstname:"API0462_user_3" lastname:"API0462_user_3" patronymic:"" userId:"d986039e-8924-4afd-aeb0-0e31c3c1b53c"
- 
WORK_DIALOG_UPDATE¶ Событие обновления диалога создания работы. В качестве аргумента передается список выбранных пользователей в виде массива JSON с полями: userId, lastname, firstname, patronymic
firstname:"API0462_user_3" lastname:"API0462_user_3" patronymic:"" userId:"d986039e-8924-4afd-aeb0-0e31c3c1b53c"
- 
SETTINGS_LOADED¶ Событие загрузки настроек приложения. В качестве аргумента передается null
- 
REGISTRY_SELECTED¶ Событие выбора реестра из навигатора реестров в модуле хранилище. В качестве аргумента передаётся JSON объект вида:
registryCode:"reg_code" registryId:"9034810f-5f18-44b9-948a-8f78a5f1ec9d"
- 
USER_CHOOSER_CREATED¶ Событие создания тэгового поля выбора пользователя в диалоге. В качестве аргумента передаются два параметра: событие и объект, содержащий ссылку на компонент выбор пользователя (в поле args).
Оперировать компонентом выбора пользователя можно следующими функциями:
- getUserChooserId(chooserComponent) - получение идентификатора компонента
 
выбора пользователя;
- getUserChooserShowAll(chooserComponent) - получение настройки «Разрешить
 
добавлять соисполнителей к работам, не являющихся подчиненными»
- setUserChooserSelectedIds(chooserComponent, arrayOfUsersIds) - выбрать
 
переданных пользователей;
- getUserChooserSelectedIds(chooserComponent) - получить идентификаторы
 
выбранных пользователей.
Пример обработки события USER_CHOOSER_CREATED:
$EVENT_BUS.subscribe(new EventHandler('USER_CHOOSER_CREATED', onUserChooserCreated));
function onUserChooserCreated(evt, chooser) {
    var id = getUserChooserId(chooser.args);
    console.log(id);
}
8.2.13. Дополнительные атрибуты html-элементов¶
8.2.13.1. Атрибуты registrycode и registryid¶
Атрибуты registrycode и registryid содержатся в элементе списка реестров, например:
<table cellspacing="0"
       cellpadding="0"
       synergytest="RegistryTreeElement"
       registryid="82356e07-a859-49cc-8adf-896c32725810"
       registrycode="Заявление_о_приеме_на_работу_(вариант_2,_на_двух_языках)"
       style="display: inline;"
       class="commonLabelBold">
<colgroup> <col> </colgroup>
<tbody>
    <tr>
<td>007 Заявление о приеме на работу на период</td>
<td style="white-space: nowrap;"></td>
    </tr>
</tbody>
</table>
8.2.13.2. Атрибут userchooser¶
В каждый DOM элемент компонента выбора пользователя добавляется атрибут userchooser со значением идентификатора компонента выбора пользователя.
Идентификаторы компонентов выбора пользователя:
Диалог создания работы:
- исполнитель - editWorkUserChooser
 - ответственные - editWorkResponsibleUserChooser
 - автор - editWorkAuthorUserChooser
 
Отправить-> переслать:
- адресаты - sendDocumentUserChooser
 
Отправить -> перепоручить:
- исполнитель - assignmentSendUserChooser
 - ответственные - assignmentSendResponsibleUserChooser
 
Отправить на согласование, утверждение, ознакомление:
- адресаты - sendWorkUserChooser
 
Отправить по маршруту:
- ответственный - editRouteSendDialog
 
все остальные компоненты будут иметь идентификатор userChooser.
8.2.13.3. Атрибут synergytest¶
Атрибут synergytest используется для обозначения компонентов Synergy идентификаторами.
- Диалог редактирования/регистрации документа - EditDocDialog
 - Кнопка Зарегистрировать в диалоге регистрации документа - EditDocDialogRegister
 - Footer-панель в диалоге регистрации документа - EditDocDialogFooter
 - Footer-панель в диалоге исправления конфликта при перемещении файла/папки в проекте - EditDocDialogFooter
 - Диалог проверки листа подписей - DialogCheckerSigns
 - Таблица проверки подписей - TableCheckerSigns
 - Кнопка Отправить в окне документа - DocumentCardSendButton
 - Кнопка активации документа - DocumentCardRegistrySendButton
 - Лист подписей подписей в РКК - CISignsPanel
 - Кнопка проверки подписей в РКК - CICheckSignsBT
 - Кнопка Отправить в окне отправки маршрута - RouteSendButton
 - Нода реестра в навигаторе реестров - RegistryTreeElement
 - Кнопка Запустить в окне отправки маршрута реестра - RegistryRouteSendButton
 
8.2.13.4. Атрибут registry_id¶
Содержит идентификатор реестра в кнопке активации записи реестра и кнопке Запустить в диалоге отправки по маршруту реестра
8.2.13.5. Атрибут registry_code¶
Содержит код реестра в кнопке активации записи реестра и кнопке Запустить в диалоге отправки по маршруту реестра
8.2.13.6. Атрибут document_id¶
Содержит идентификатор документа:
- в кнопке активации записи реестра;
 - в кнопке Запустить в диалоге отправки по маршруту реестра;
 - в кнопке Отправить в окне документа;
 - в кнопке Отправить в окне отправки по маршруту.
 
8.2.13.7. Другие атрибуты¶
Атрибут registerid содержит значение идентификатора журнала в диалоге редактирования/регистрации документа.
Атрибут documentid - идентификатор документа в диалоге редактирования/регистрации документа и диалоге проверки листа подписей.
Атрибут data-componentType - тип компонента, в диалоге согласования/утверждения/ознакомления содержит значение signPanel.
Атрибут data-documentid - идентификатор документа в диалоге согласования/утверждения/ознакомления.
Атрибут data-procinstid - идентификатор процесса в диалоге согласования/утверждения/ознакомления.