В DIRECTUM 5.5 в веб-клиенте реализован механизм, при котором настройка видимости и доступности кнопок на панели действий подхватывается из десктоп-клиента.
В прикладной разработке для справочника можно реализовать логику, в соответствии с которой действие будет доступно или недоступно. Например, в событии справочника «Форма-карточка.Показ» можно написать:
// Получить действие «WebAction» из списка действий формы-карточки.
WebAction = Object.Form.Actions.FindAction('WebAction')
if Assigned(WebAction)
// Проверить значение реквизита. Если условие выполняется,
// то действие сделать недоступным.
if Object.Requisites('Наименование').AsString == "test"
WebAction.Enabled = False
Else
WebAction.Enabled = True
Endif
Endif
Чтобы данная логика соблюдалась и в веб-клиенте, достаточно в атрибуте linkedaction XML-файла указать имя действия:
<Card type="ReferenceRecord" refcode="ActionTest" >
<ToolPanel>
<ToolGroup name="TOOLBAR_ORGANIZATION" icon="/App_Sprites/Information.png">
<ToolItem name="WebAction"
icon="/App_Sprites/ToolbarAndTab/History.png"
linkedaction="WebAction"/>
</ToolGroup>
</ToolPanel>
</Card>
В результате при открытии записи справочника действие будет недоступно, если наименование записи «test», в остальных случаях действие будет доступно.
Постоянная недоступность кнопок
В карточке: var toolbarButtonName = 'SendAsAttachment'; WA.CR.toolBar.buttons[toolbarButtonName].disable(); В проводнике: var buttonName = 'CrtTask'; WA.CR.toolBar.buttons[buttonName].disable(); |
Недоступность кнопок в карточке в зависимости от значений других реквизитов карточки
Недоступность подхватывается из прикладного события «Форма-карточка.Показ» и в вычислениях на реквизитах. |
Недоступность кнопок в карточке в зависимости от значений реквизитов связанного объекта
Недоступность подхватывается из прикладного события «Форма-карточка.Показ» и в вычислениях на реквизитах. |
Недоступность кнопок в зависимости от информации о текущем пользователе
Под информацией о текущем пользователе подразумеваются его права, вхождение в группы пользователей, нахождение на определенном уровне иерархии в орг. структуре и т.п. В карточке: Недоступность подхватывается из прикладного события «Форма-карточка.Показ» и в вычислениях на реквизитах. В проводнике:
// Вызвать прикладной сценарий GetDisableActions, который через | // получает список действий, недоступных пользователю с указанным ИД. // и кнопки для выполнения полученных действий сделать недоступными. |
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |