1

我在 netsuite 的后端创建了名为 Webstore Landing Data 的自定义记录。记录具有以下结构和列

Record Id: customrecord_webstore_category_landing
Coloumns:
    i. custrecord_collection_name
    ii. custrecord_collection_sub_category
    iii. custrecord_collection_url 

并且需要创建服务以在主干视图上获取此记录。帮助表示赞赏。

4

1 回答 1

3

好的,好问题。这是 SCA 检查以下详细信息中最重要和最需要的事情-->

注意:以下步骤适用于 SuiteCOMmerce Advance Vision(2016-17) 版本

你需要在下面创建东西-->

i.  SuiteScript Model 
ii. SuiteScript Service  
iii.JavaScript Model     
iv. JavaScript view  
v.  JavaScript Template
vi. Update distro.json
  1. 在自定义文件夹下创建自定义文件夹(我们的自定义模块)为

    模块/自定义/Categorylanding@1.0.0

  2. 在上述模块下创建 SuiteScript 文件夹

  3. 在“SuiteScript”文件夹下创建 SuiteScript 服务,如下所示——>

文件名和路径: Modules/custom/Categorylanding@1.0.0/SuiteScript/Categorylanding.ServiceController.js

代码:

 define(
    'Categorylanding.ServiceController'
,   [
        'ServiceController'
    ,   'Categorylanding.Model'
    ]
,   function(
        ServiceController
    ,   Categorylanding
    )
    {
        'use strict';

        return ServiceController.extend({

            name: 'Categorylanding.ServiceController'

           , get: function()
            {
               return Categorylanding.get();
            }
        });
    }
);
  1. 在 SuiteScript 文件夹下创建 SuiteScript 模型,如下所示-->

文件名和路径: Modules/custom/Categorylanding@1.0.0/SuiteScript/Categorylanding.Model.js

代码:

define('Categorylanding.Model',
  [
  'SC.Model'
  ],
  function (SCModel) {
    return SCModel.extend({
      name: 'Categorylanding',
      get: function()
      {
        var filters = new Array();
        var columns = new Array();
        columns[0] = new nlobjSearchColumn('custrecord_collection_name');
        columns[2] = new nlobjSearchColumn('custrecord_collection_url');
        var results = nlapiSearchRecord('customrecord_webstore_category_landing', null, filters, columns);

        var results_ = JSON.stringify(results);
        return results_;
      }
    });
  }
)
  1. 创建ns包文件

文件名和路径:

模块/自定义/Categorylanding@1.0.0/ns.package.json

代码:

{
    "gulp": {
        "javascript": [
            "JavaScript/*"
        ],
        "ssp-libraries": [
            "SuiteScript/*.js"
        ],
        "autogenerated-services": {
            "Categorylanding.Service.ss": "Categorylanding.ServiceController"
        },
        "templates": [
            "Templates/*"
        ],
        "images": [
            "Images/*"
        ],
        "sass": [
            "Sass/*.scss"
        ],
        "configuration": [
            "Configuration/*.json"
        ]
    }
}
  1. 更新发行版。json文件如下

在模块部分下添加您的模块作为

"custom/Categorylanding": "1.0.0",

和依赖项

"ssp-libraries": {
            "entryPoint": "SCA",
            "dependencies": [

  "CategoryLanguage.ServiceController",
   "CategoryLanguage.Model", 
],
  1. 部署您的代码,一旦完成,您就可以在返回调用时看到您的数据,您可以如下调用您的服务

    http://yoursite.com/sca-dev-vinson/services/Categorylanding.Service.ss?c=4515330

  2. 现在剩下的部分是如何在主干视图上获取这些数据,为此,请转到您想要这些数据的视图

在此之前在相同文件夹下创建 Javascript 模型,如下所示

文件名和路径

模块/自定义/Categorylanding@1.0.0/JavaScript/Categorylanding.Model.js

代码:

define('Categorylanding.Model',
  [
  'Backbone',
  'underscore'
  ],
  function (Backbone, _) {
    return Backbone.Model.extend(
    {
        url: function()
        { var  urlRoot = _.getAbsoluteUrl('services/Categorylanding.Service.ss');
            return urlRoot;
      }
    });
  }
);
  1. 完成此操作后,您可以在任何视图/路由器文件上调用上述 javascript 模型以获取主干视图上的记录数据

定义模式并使用下面的代码

    var collection = new CategorylandingModel();
    var view = new BrowseView({
                            translator: translator
                            ,   translatorConfig: self.translatorConfig
                            ,   application: self.application
                            ,   collection: collection
});

collection.fetch().done(function(data)  //again fetch Instagram service
                        {
                            console.log(data)                           //your service data will log here

                        });
  1. 现在您可以在 BrowseView(){} 上访问您的数据了

var recorddata = this.collection.attributes;

控制台.log(记录数据);

并通过它车把。就是这样。

如果您需要任何帮助,请告诉我......

于 2017-04-03T08:03:03.843 回答