Как установить значение поля подсписка из поля формы при редактировании - PullRequest
0 голосов
/ 07 июня 2019

У меня есть клиентский сценарий, который в настоящее время работает, который устанавливает элемент службы для строки подсписка отслеживания времени из поля «элемент» в истории болезни. Это происходит в lineInit и работает, когда я добавляю новую строку. У меня есть проблема, я хотел бы, чтобы это работало на первой линии. Когда запись загружается, есть строка, уже заполненная некоторыми данными, но не заполненная Элементом обслуживания.

Если бы кто-нибудь мог указать мне правильное направление, я был бы признателен. может ли это работать на pageInit или fieldChanged - например, обновлять ли элемент службы после обновления другого поля строки?

/**
 * @NApiVersion 2.x
 * @NScriptType ClientScript
 * @NModuleScope SameAccount
 */
define([],

function() {

    /**
     * Function to be executed when field is slaved.
     *
     * @param {Object} scriptContext
     * @param {Record} scriptContext.currentRecord - Current form record
     * @param {string} scriptContext.sublistId - Sublist name
     * @param {string} scriptContext.fieldId - Field name
     *
     * @since 2015.2
     */


    function lineInit(scriptContext) {
        if (scriptContext.sublistId !== 'timeitem'){
            console.log('test3');
            return;
        }
        /* {N/currentRecord.CurrentRecord} */
        var rec = scriptContext.currentRecord;
        /* {string} The Service Item in the Body, if any */

        var bodyItem = rec.getValue({fieldId: 'item'});

        /* {string} The class that has been set at the line level, if any */
        var lineServiceItem = rec.getCurrentSublistValue({
            sublistId: 'timeitem',
            fieldId: 'item'
        });

        /* IF there IS a value at the body level, and there is NOT a value at the line */
        if (bodyItem && !lineServiceItem) {
            console.log('test4');
            /* Set the line value to the body value */
            rec.setCurrentSublistValue({
                sublistId: 'timeitem',
                fieldId: 'item',
                value: bodyItem
            });
        }

    }



    return {

        lineInit: lineInit
    };

});
...