How to Inject mrvs to data?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-18-2024 08:17 PM
Hello Community,
I would like to put the value to 'mrvs 'post_transfer_request_variable_set (sysid: d1f902b31bbc42d0f078a60ce54bcb12)'.
However, it returns a result of 'test_multi_row []'.
I am using 'test_multi_row(MultiLine)' now as a test, what improvements are needed to put the value into 'post_transfer_request_variable_set(MRVS)'?
HTML
<div>
<div><label>CSV Upload</label> <input ng-click="c.applyVariablesAjax()" type="button" value="${Apply Data}" /></div>
</div>
ScriptInclude
var MRVUtils = Class.create();
MRVUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getCSVData: function() {
gs.info('--> MRVUtils: Entered');
var cartID = this.getParameter('sysparm_cart_id');
gs.info('--> MRVUtils: cart ID - ' + cartID);
var dataSource = this.createDataSource();
var donorTable = 'sc_cart_item';
var recipientTable = 'sys_data_source';
var recipientID = dataSource.getUniqueValue();
gs.info('--> MRVUtils: recipient ID - ' + recipientID);
GlideSysAttachment.copy(donorTable, cartID, recipientTable, recipientID);
var loader = new GlideImportSetLoader();
var importSetRec = loader.getImportSetGr(dataSource);
var ranload = loader.loadImportSetTable(importSetRec, dataSource);
importSetRec.state = 'loaded';
importSetRec.update();
var transArr = [];
var i = 0;
var importRow = new GlideRecord('x_snc_transferapp_transfer_data_excel');
importRow.addQuery('sys_import_set', importSetRec.sys_id);
importRow.query();
while (importRow.next()) {
var transObj = {};
transObj.u_post_transcription_key = importRow.getValue('u_転記キー_テンキ');
transObj.u_post_voucher_currency_amount = importRow.getValue('u_伝票通貨額_デンピョウ_ツウカ');
transObj.u_post_tax_code = importRow.getValue('u_税コード_ゼイ');
transObj.u_post_account_code = importRow.getValue('u_勘定コード_カンジョウ');
transObj.u_post_alternate_control_account = importRow.getValue('u_代替統制勘定_ダイタイ');
transArr[i] = transObj;
i += 1;
}
var transJSONString = JSON.stringify(transArr);
gs.info('--> MRVUtils: Result - ' + transJSONString);
return transJSONString;
},
createDataSource: function() {
var grDs = new GlideRecord('sys_data_source');
grDs.name = 'Transfer_CSV_Data: ' + new GlideDateTime();
grDs.import_set_table_name = 'x_snc_transferapp_transfer_data_excel';
grDs.file_retrieval_method = 'Attachment';
grDs.type = 'File';
grDs.format = 'CSV';
grDs.header_row = 1;
grDs.sheet_number = 1;
grDs.insert();
gs.info('--> DataSource sysID is ' + grDs + ' and table val is ' + grDs.sys_class_name);
return grDs;
},
type: 'MRVUtils'
});
ClientScript
api.controller = function ($scope) {
var c = this;
c.applyVariables = applyVariables;
c.applyVariablesAjax = applyVariablesAjax;
console.log('getCartID', getCartID());
function applyVariables () {
var cartID = getCartID();
c.server.get({
'action': 'get-CSV-data',
'cartID': cartID,
}).then(receiveCSVData);
}
function applyVariablesAjax () {
var cartID = getCartID();
c.data.action = 'get-CSV-data';
c.server.update().then(function() {
c.data.action = '';
})
var ga = new GlideAjax('global.MRVUtils');
ga.addParam('sysparm_name', 'getCSVData');
ga.addParam('sysparm_cart_id', cartID);
ga.getXML(processResponse);
}
function getCartID () {
return getTableIdOrParentScope($scope);
}
function getTableIdOrParentScope (scope) {
return typeof scope.attachmentHandler != 'undefined' ?
scope.attachmentHandler.tableId :
typeof scope.$parent != 'undefined' ? getTableIdOrParentScope(scope.$parent) : '';
}
function processResponse (response) {
console.log('test_multi_row', response);
var answer = response.responseXML.documentElement.getAttribute('answer');
var delimiter = ',';
var quoteCharacter = '"';
//console.log('test_multi_row', response.data.test_multi_row);
$scope.page.g_form.setValue('test_multi_row', answer);
}
function receiveCSVData (response) {
console.log('test_multi_row', response.data.test_multi_row);
$scope.page.g_form.setValue('test_multi_row', response.data.test_multi_row);
}
function responseDelimiter(response){
// var testHeader = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
var delimiter = ',';
var quoteCharacter = '"';
var x = new sn_impex.CSVParser().parseLineToArray(response.data.test_multi_row, delimiter, quoteCharacter);
console.log('test_multi_row', x);
$scope.page.g_form.setValue('test_multi_row',x);
}
};
Server Script
(function ($sp, data, input) {
/*
if (input.action == 'get-CSV-data'){
data.list_of_participants = new global.MRVUtils().getCSVData(input.cartID);
}
*/
if (input) {
var localInput = input;
if (localInput.action == 'get-CSV-data'){
data.list_of_participants = new global.MRVUtils().getCSVData(localInput .cartID);
}}
gs.addErrorMessage("input "+input);
gs.addErrorMessage("data "+data);
/*
if (data != 'undefined'){
data.test_multi_row = new global.MRVUtils().getCSVData(input.cartID);
// data.list_of_participants = new global.MRVUtils().getCSVData(input.cartID);
gs.addErrorMessage("input internal "+input);
}
*/
// gs.addErrorMessage("input "+input);
//data.list_of_participants = new global.MRVUtils().getCSVData(input.cartID);
// data.list_of_participants = ({post_transcription_key:'test1',post_voucher_currency_amount:'test2',post_tax_code:'test3',post_account_code:'test4',post_alternate_control_account:'test5'});
})($sp, data, input);
0 REPLIES 0