У меня есть клиентский сценарий, который в настоящее время работает, который устанавливает элемент службы для строки подсписка отслеживания времени из поля «элемент» в истории болезни. Это происходит в 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
};
});