/**
* Данный скрипт позволяет сохранять произвольный формат данных в компоненты формы.
* Зачем это нужно: из коробки в данный момент невозможно сохранить значения компонентов типов ссылка на реестр, ссылка на файл.
* Обойти это органичение можно вызовом метода апи частичного сохранения данных по форме. Ниже приведен пример:
*/
 

function api_post_form(req, options) {
    let client = new org.apache.commons.httpclient.HttpClient();
    let creds = new org.apache.commons.httpclient.UsernamePasswordCredentials(options.userlogin, options.userpass);
    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(org.apache.commons.httpclient.auth.AuthScope.ANY, creds);
    var api = new org.apache.commons.httpclient.methods.PostMethod(options.host + req);
    if (options && options.datatype=='body') {
        api.setRequestHeader('Content-type', 'application/json; charset=utf-8');
        if(options.data) api.setRequestBody(options.data);
    }
    if (options && options.datatype=='form') {
        api.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
        if(options.data) api.addParameter("data", options.data['data']);
    }
    var result = client.executeMethod(api); let responseBody = api.getResponseBodyAsString();
    api.releaseConnection();
    return (options && options.resType == 'text' ? result : JSON.parse(responseBody));
}



    /**
     * dataUUID - идентификатор данных по форме записи реестра
     * documentID - идентификатор документа реестра
     * executionID - идентификатор блокирующего процесса
     */

    let cData = [];
    /*задаем значение компонента ссылка на реестр*/
    cData.push({id: "contract_individual", type: "reglink", key:documentID, valueID:documentID});
    let saveResponse = api_post_form('/api/asforms/data/merge', {
        type: 'POST',
        datatype: 'body',
        host: host,
        userlogin: login,
        userpass: password,
        data: JSON.stringify({
            uuid: dataUUID,
            data : cData
        }
        )
    });
    result = true;
    message = 'данные сохранены';
