Базовая конфигурация

В статье рассмотрен пример настройки плоского списка с указанием минимального числа опций.

В опции source задайте источник данных.

// TypeScript
this._source = new SbisServise({
    endpoint: 'MyEndpoint'
});
 
const operationPanelItem = {
    id: 'massediting',
    icon: 'icon-Handwrite2',
    title: 'Заполнить поля',
    actionName: 'MassEditing/Action',
    actionOptions: {
        source: this._source
    }
}

В опции columns задайте описание полей, доступных для изменения. По этому описанию будет построен PropertyGrid на диалоговом окне массового заполнения данных.

// TypeScript
this._columns = [{
    name: 'number',
    caption: 'Числовые',
    type: 'number'
}, {
    name: 'boolean',
    caption: 'Логические',
    type: 'boolean'
}];
 
const operationPanelItem = {
    id: 'massediting',
    icon: 'icon-Handwrite2',
    title: 'Заполнить поля',
    actionName: 'MassEditing/Action',
    actionOptions: {
        source: this._source,
        columns: this._columns
   }
}

Добавьте кнопку массового заполнения данных на страницу.

<!-- WML -->
<Controls.operations:Panel source="{{_operationsPanelSource}}"/>
// TypeScript
this._source = new SbisServise({
    endpoint: 'MyEndpoint'
});
 
const operationPanelItem = {
    id: 'massediting',
    icon: 'icon-Handwrite2',
    title: 'Заполнить поля',
    actionName: 'MassEditing/Action',
    actionOptions: {
        source: this._source,
        columns: this._columns
    }
}

В опции editingMethodName установите имя метода БЛ, с помощью которого будет запущен процесс массового заполнения данных.

// TypeScript
actionOptions: {
    source: this._source,
    columns: this._columns,
    editingMethodName: 'editingMethodName'
}

Для массового заполнения данных на стороне БЛ необходимо использовать хелпер MassEditing.

Чтобы проверить возможность изменения данных для определенного поля, задайте имя метода бизнес-логики в опции testEditingMethodName. Опция не является обязательной.

// TypeScript
actionOptions: {
    source: this._source,
    columns: this._columns,
    editingMethodName: 'editingMethodName',
    testEditingMethodName: 'testEditingMethodName',
    caption: 'Название окна',
    buttonCaption: 'Название кнопки'
}