Netsuite 自定义用户注册:如何将性别写入客户记录

Netsuite 自定义用户注册:如何将性别写入客户记录,netsuite,suitescript,suitecommerce,Netsuite,Suitescript,Suitecommerce,我的用户注册表单有一个性别自定义字段。如何使SCA将客户的性别写入NS数据库 我应该使用Commerce API还是SuiteScript API 我想我应该编辑模型Account/SuiteScript/Account.model.js,但我应该使用Commerce API Customer对象还是Profile/User对象,还是使用record.setFieldValue直接写入数据库 在Account/SuiteScript/Account.Model::register函数中: //@

我的用户注册表单有一个性别自定义字段。如何使SCA将客户的性别写入NS数据库

我应该使用Commerce API还是SuiteScript API

我想我应该编辑模型Account/SuiteScript/Account.model.js,但我应该使用Commerce API Customer对象还是Profile/User对象,还是使用record.setFieldValue直接写入数据库

在Account/SuiteScript/Account.Model::register函数中:

//@method register
//@param {UserData} user_data
//@param {Account.Model.Attributes} user_data
register: function (user_data)
{
    var customer = session.getCustomer();

    ....default user registration code

    var user = Profile.get();



    // Should I do it like this?
    customer.updateProfile({
        "customfields": {
            "custentity_dev_gender": user_data.gender
        }
    })

    // Should I edit the user object??

    // Should I interact directly with the customer record. Does Commerce API allow this??
    var record = nlapiLoadRecord('customer', user.id);
    record.setFieldValue('custentity_dev_gender', user_data.gender);
    var internalId = nlapiSubmitRecord(record);



    return {
        touchpoints: session.getSiteSettings(['touchpoints']).touchpoints
    ,   user: user
    ,   cart: LiveOrder.get()
    ,   address: Address.list()
    ,   creditcard: CreditCard.list()
    };
}

它非常简单,实际上不需要编写record.setFieldValue

第一步是从Customization->entity field->New创建自定义实体字段 将“实体”字段应用于“客户”,并授予对字段的编辑权限并保存。 从那里复制实体id,在本例中为“custentity\u gender\u field” 您需要覆盖以下两个文件,如果您不知道,请提出单独的问题,我将在那里回答。 i、 模块/套装电子商务/LoginRegister@2.2.0/模板/login\u register\u register.tpl 二、模块/套装电子商务/Profile@2.3.0/SuiteScript/Profile.Model.js

转到第一个文件,将下面的代码写到需要放置性别的地方
你试过我的代码吗?如果你完成了我的解决方案,你可以标记我的ans