3

私はスイートレットを初めて使用します。私の目的は、Sales Order から Form Suitelet にリダイレクトすることです。userevent スクリプトからスイートレットにリダイレクトする file.js を作成します。

function afterSubmit(scriptContext) {

		if (scriptContext.type != 'delete') {

			var salesOrder = scriptContext.newRecord;

			var orderId = salesOrder.getValue('tranid');
			var customer = salesOrder.getValue('entity');
			var date = salesOrder.getValue('trandate');
			var total = salesOrder.getValue('total');
			var financePrice = salesOrder
					.getValue('custbody_rmb_financing_price');
			var internalid = salesOrder.id;

			var arrParams = {
				custparam_orderid : orderId,
				custparam_customer : customer,
				custparam_date : date,
				custparam_total : total,
				custparam_financeprice : financePrice,
				custparam_id : internalid
			};
			salesOrder.save({
				ignoreMandatoryFields : true
			});

			redirect.toSuitelet({
				scriptId : 'customscript_rmb_salesorderfinance_suite',
				deploymentId : 'customdeploy_rmb_salesorderfinance_suite',
				params : arrParams
			});

		}

	}
販売注文のデータをリダイレクトして表示する別のファイルを作成します。

function(serverWidget, http, runtime, record) {

			/**
			 * Definition of the Suitelet script trigger point.
			 * 
			 * @param {Object}
			 *            context
			 * @param {ServerRequest}
			 *            context.request - Encapsulation of the incoming
			 *            request
			 * @param {ServerResponse}
			 *            context.response - Encapsulation of the Suitelet
			 *            response
			 * @Since 2015.2
			 */
			function processSalesOrderFinancing(context) {

				if (context.request.method == 'GET') {

					var form = serverWidget.createForm('Sales Order Financing');

					form
							.addField({
								id : 'custpage__sdr_financing_help',
								type : 'help',
								label : 'Please assign a price to the financing of this sales order, then click Submit Financing'
							});
					var scriptObj = runtime.getCurrentScript();

					 var stOrder =
					 scriptObj.getParameter("custparam_orderid");
					var stCustomer =  scriptObj.getParameter("custparam_customer");

					var stDate = scriptObj.getParameter("custparam_date");
					var stTotal = scriptObj.getParameter("custparam_total");

					var orderid = form.addField({
						id : 'custpage_rmb_order',
						type : 'text',
						label : 'order#'
					});

					form.updateDefaultValues({
						custpage_rmb_order : stOrder
					});

					orderid.updateDisplayType({
						displayType : serverWidget.FieldDisplayType.INLINE
					});
					var customer = form.addField({
						id : 'custpage_rmb_customer',
						type : 'text',
						label : 'Customer:Project'
					});

					form.updateDefaultValues({
						custpage_rmb_customer : stCustomer
					});

					customer.updateDisplayType({
						displayType : serverWidget.FieldDisplayType.INLINE
					});
					var date = form.addField({
						id : 'custpage_rmb_date',
						type : 'date',
						label : 'Date'
					});

					date.updateDisplayType({
						displayType : serverWidget.FieldDisplayType.INLINE
					});

					form.updateDefaultValues({
						custpage_rmb_date : stDate
					});

					var total = form.addField({
						id : 'custpage_rmb_total',
						type : 'currency',
						label : 'Total'
					});

					form.updateDefaultValues({
						custpage_rmb_total : stTotal
					});

					total.updateDisplayType({
						displayType : serverWidget.FieldDisplayType.INLINE
					});

					var financeprice = form.addField({
						id : 'custpage_rmb_fprice',
						type : 'currency',
						label : 'Finance Price'
					});

					var salesID = form.addField({
						id : 'custpage_rmb_orderid',
						type : 'text',
						label : 'LABEL'
					});

					salesID.updateDisplayType({
						displayType : serverWidget.FieldDisplayType.HIDDEN
					});

					form.addSubmitButton('Submit Financing RMB');

					context.response.writePage({
						pageObject : form
					});
				} }

そのコードの後、フォームで販売注文のデータを取得しません。望む結果が得られません。getParameternull を返します。

ここに画像の説明を入力

何かお役に立てるアイデアがございましたら、よろしくお願いいたします。

4

2 に答える 2