CommandActionCustomize: IUiCommandActionCustomize;
Свойство CommandActionCustomize возвращает настройки для действий, которые доступны у объекта репозитория при его открытии на просмотр или редактирование.
Свойство возвращает коллекцию настроек действий, которые будут доступны для объекта репозитория. По умолчанию данная коллекция пуста, при этом параметры действий определяются системными настройками платформы по каждому типу объектов в отдельности. Параметры действий, определенные в данном свойстве, имеют более высокий приоритет чем параметры, определенные в свойстве IWinApplication.CommandActionCustomize, но распространяются только на тот объект, для которого выполняется команда.
В текущей реализации настройка параметров действий доступна для следующих объектов репозитория:
Экспресс-отчеты;
Регламентные отчеты;
Аналитические панели.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS_REPORT».
Добавьте ссылки на системные сборки: Metabase, UI.
Sub UserProc;
Var
MB: IMetabase;
MDesc: IMetabaseObjectDescriptor;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
CommandCust: IUiCommandActionCustomize;
Action: IUiCommandAction;
Begin
MB := MetabaseClass.Active;
//Описание объекта
MDesc := MB.ItemById("EXPRESS_REPORT");
Target := WinApplication.Instance.GetObjectTarget(MDesc);
//Дополнительные настройки для выполнения команд
Context := Target.CreateExecutionContext;
//Параметры действий
CommandCust := Context.CommandActionCustomize;
Action := CommandCust.Add("Open");
Action.Enabled := False;
Action.Visible := True;
Action := CommandCust.Add("OpenFile");
Action.Enabled := False;
Action.Visible := True;
Action := CommandCust.Add("Save");
Action.Enabled := False;
Action.Visible := True;
Action := CommandCust.Add("Express.Mapselection");
Action.Visible := False;
//Открытие объекта с заданными параметрами
Target.Execute("Object.Open", Context);
End Sub UserProc;
При выполнении примера будет осуществлено открытие на просмотр указанного экспресс-отчета. Перед открытием будут определены параметры для ряда действий, которые доступны в экспресс-отчете. В открытом отчете будут присутствовать, но будут недоступны для выполнения команды сохранения и открытия экспресс-отчетов. Также будет отсутствовать команда для изменения используемой карты.
См. также: