Как написать правило, которое обновляет выбранные элементы на странице?
Имеется страница с данными, на странице секция object table, которая имеет свойство Multi-Select(что то наподобие CheckBox при длительном зажатии), в этой секции есть данные которые вытягиваются с помощью сервиса с базы, одно из этих полей userstatus. Необходимо написать правило на JS, которое позволит изменить значение выбранных элементов с одного на другое. Есть статья с описанием этой функции https://blogs.sap.com/2021/04/27/whats-new-in-mobile-development-kit-client-5.2/ - Multi-Select in ObjectTable Lists. Говорится о двух методах getSelectedItems, getSelectionChangedItem. Долго бьюсь над этой проблемой.
Код страницы
{
"ActionBar": {
"Items": [
{
"Icon": "sap-icon://accept",
"IsIconCircular": false,
"OnPress": "/BTP_S4H_ED/Rules/GetSelectedItems.js",
"Position": "right",
"Text": "Item",
"Visible": true
}
]
},
"Caption": "$(L,'list_orders')",
"Controls": [
{
"Sections": [
{
"EmptySection": {
"FooterVisible": false
},
"Header": {
"UseTopPadding": false
},
"HighlightSelectedItem": true,
"ObjectCell": {
"AccessoryType": "disclosureIndicator",
"ContextMenu": {
"Items": [
{
"Image": "sap-icon://accept",
"Mode": "Normal",
"OnSwipe": "/BTP_S4H_ED/Actions/UpdateListPageUserStatusEntity.action",
"Text": "Accept",
"_Name": "Accept"
},
{
"Image": "sap-icon://cancel",
"Mode": "Deletion",
"OnSwipe": "/BTP_S4H_ED/Actions/CancelUpdateUserStatus.action",
"Text": "Cancel",
"_Name": "Cancel"
}
],
"LeadingItems": [
"Cancel"
],
"PerformFirstActionWithFullSwipe": true,
"TrailingItems": [
"Accept"
]
},
"Description": "{OrderType}",
"DetailImageIsCircular": false,
"Footnote": "{FunctLoc}",
"OnPress": "/BTP_S4H_ED/Actions/OtOrdersSet/NavToOtOrdersSet_Detail.action",
"PreserveIconStackSpacing": false,
"Selected": false,
"StatusText": "{Userstatus}",
"Subhead": "{Pmacttype}",
"SubstatusText": "$(D,{StartDate},'de-DE','',{format:'medium'})",
"Title": "{Aufnr}"
},
"Search": {
"BarcodeScanner": true,
"Delay": 500,
"Enabled": true,
"MinimumCharacterThreshold": 3,
"Placeholder": "Поиск"
},
"Selection": {
"ExitOnLastDeselect": true,
"LongPressToEnable": "Multiple",
"Mode": "None"
},
"Target": {
"EntitySet": "OtOrdersSet",
"QueryOptions": "",
"Service": "/BTP_S4H_ED/Services/ZBTP_PMORDER_APPR_SRV_01.service"
},
"Visible": true,
"_Name": "ObjectTable",
"_Type": "Section.Type.ObjectTable"
}
],
"_Name": "SectionedTable",
"_Type": "Control.Type.SectionedTable"
}
],
"PullDown": {
"OnPulledDown": "/BTP_S4H_ED/Actions/Service/SyncStartedMessage.action",
"Styles": {
"BackgroundColor": "#d9edf7",
"IndicatorColor": "#428bca"
}
},
"_Name": "OtOrdersSet_List",
"_Type": "Page"
}
Набросок правила
export default function GetSelectedItems(context) {
//Получение выбранных элементов и занесение их в переменную selectedItems
let selectedSection = context.getPageProxy().getControl('SectionedTable').getSection('ObjectTable');
let selectedItems = selectedSection.getSelectedItems();
}