标签: suitescript

如何在NetSuite中创建仅单次访问记录

我遇到了一个问题,多个用户同时编辑单个记录,而另一个人用自己的工作保存记录时却丢失了工作。我想在用户编辑记录时锁定编辑,由于某种原因,默认情况下,NetSuite中的记录不是单一访问权限我们怎样才能做到这一点?

netsuite suitescript

0
推荐指数
1
解决办法
634
查看次数

学习Netsuite

我开始学习Netsuite,因为这是我们的新项目所必需的.我是全新的.目前我正在研究PHP.

根据我的经理的建议,我在其上创建了开发者帐户.但我对它没有任何想法.因此,如果有人能够回答我的下面的问题而不是我会非常感激.

  1. 我需要为此学习JavaScript吗?
  2. 这里还有其他需要的技术吗?
  3. 是否有任何免费的网络资源可以让我对此有所了解?
  4. 一旦我的javascript完成,学习netsuite需要多长时间?

提前致谢.高兴

portlet restlet netsuite suitescript

0
推荐指数
1
解决办法
882
查看次数

使用NetSuite中的工作流更新销售订单项目

我开始了解NetSuite,但这个让我很难过.我正在寻找一种方法来从NetSuite中的工作流程更新订单上的订单项.据我所知,它似乎没有暴露这些领域,有什么方法可以解决这个问题吗?

我有一个已保存的搜索,返回我想要修改的所有交易行项目,销售订单行项目上有一个名为"创建履行订单"的字段.它在保存的搜索下显示为"创建配送订单列",但是当我向工作流添加操作以设置字段值时,显示的唯一字段是"销售订单"字段.有没有办法访问销售订单列字段,因为这确实是我保存的搜索返回的内容.

我查看了工作流程中定义的子类型,看看是否有一个用于销售订单项目或其他任何东西,但没有,只有销售订单.任何帮助将不胜感激,提前感谢!

workflow netsuite suitescript

0
推荐指数
1
解决办法
1661
查看次数

使用SuiteScript防止删除记录

我想根据NetSuite中的某些条件阻止删除记录.但是,我似乎无法在验证中找到失败事件?在UserEvent上的BeforeSubmit有一个删除类型,但它没有该函数的返回值,所以我不能只说返回false,可以吗?

那么如何防止删除记录,或者使某种类型的记录提交失败

netsuite suitescript

0
推荐指数
1
解决办法
882
查看次数

通过 SuiteScript 从 PO 创建项目收据

我正在创建一个模块来处理多个 PO 合并装运(外汇进口)并编写一个脚本来接收多个 PO,每行的到岸成本。

我正在使用 SuiteScript API 1.0

但是,当我创建项目收据记录(并在createdfrom字段中包含 PO#以创建从 IR 到 PO 的链接时,在将 PO 行复制到 IR 行的过程中,我不断收到SSS_INVALID_SUBLIST_OPERATION错误。

有问题的代码如下:

            // ** set body fields
        receiptRec.setFieldValue('location',purchRec.getFieldValue('location'));
        receiptRec.setFieldValue('entity',purchRec.getFieldValue('entity'));
        receiptRec.setFieldValue('createdfrom',purchRec.getFieldValue('internalid'));
        receiptRec.setFieldValue('currency',purchRec.getFieldValue('currency'));
        receiptRec.setFieldValue('exchangerate',purchRec.getFieldValue('exchangerate'));
        receiptRec.setFieldValue('isbasecurrency',purchRec.getFieldValue('isbasecurrency'));
        receiptRec.setFieldValue('exchangerate',purchRec.getFieldValue('exchangerate'));
        receiptRec.setFieldValue('landedcostperline','T');

        log ('Receipt Record:'); log( receiptRec );
        // ** copy item lines
        var POlines = purchRec.getLineItemCount('item');
        for ( line=1 ; line<=POlines; line++) {
            var fulfill = purchRec.getLineItemValue('item','fulfillable',line); log('Fulfill?? '+fulfill)
            if (fulfill == 'T') {
                log('Fill From PO Line #'+line);
                receiptRec.selectNewLineItem('item');                                                                       log('Debug 1');
                receiptRec.setCurrentLineItemValue('item','item',purchRec.getLineItemValue('item','item',line));            log('Debug 2'); …
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript

0
推荐指数
1
解决办法
2747
查看次数

0结果从NetSuite Search返回

我试图根据搜索结果停止创建记录.我似乎无法通过我的SuiteScript搜索返回任何数据,即使我知道数据存在的事实.

我使用下面使用的确切过滤器创建了一个自定义保存的搜索,并返回我正在寻找的结果.

有什么可以说明为什么我可能没有检索到任何结果?

注意:sfdcAccountId变量确实有一个值,所以我搜索有效值.

// 2.0
define(["N/error", "N/log", "N/search"], function (err, log, search) {

    /**
     * User Event 2.0 example showing usage of the Submit events
     *
     * @NApiVersion 2.x
     * @NModuleScope SameAccount
     * @NScriptType UserEventScript
     * @appliedtorecord customer
     */
    var exports = {};

    function beforeSubmit(scriptContext) {      
        log.debug({
            "title": "Before Submit",
            "details": "action=" + scriptContext.type
        });

        if (doesCustomerExist(scriptContext)) {
            throw err.create({
                "name": "DUPLICATE_SFDC_ACCOUNT_ID",
                "message": "Customer Already Contains SFDC Account Id",
                "notifyOff": true
            });
        }
    }

    function doesCustomerExist(scriptContext) {
        var sfdcAccountId …
Run Code Online (Sandbox Code Playgroud)

javascript netsuite suitescript

0
推荐指数
1
解决办法
555
查看次数

将销售订单转换为发票错误

尝试将新创建的销售订单转换为发票时出现错误。

这是我的代码:

  define(["N/log", "N/email", "N/record"], function(log, email, record) {

    function afterSubmit(scriptContext) {

        var newOrderId = scriptContext.newRecord.id;

        var objRecord = record.transform({
            fromType: record.Type.SALES_ORDER,
            fromId: newOrderId,
            toType: record.Type.INVOICE,
            isDynamic: true
        });
Run Code Online (Sandbox Code Playgroud)

错误详情如下:

Account: 3671783
Environment: SandBox
Date & Time: 6/28/2017 2:09 am
Record Type: Sales Order
Internal ID: 668978
Execution Time: 0.00s
Script Usage: 0
Script: test send invoice
Type: User Event
Function: afterSubmit
Error: JS_EXCEPTION
{"type":"error.SuiteScriptError","name":"INVALID_INITIALIZE_REF","message":"You can not initialize invoice: invalid reference 668978.","stack":["createError(N/error.js)","afterSubmit(/SuiteScripts/sendinvoice1.js:23)"],"cause":{"type":"internal error","code":"INVALID_INITIALIZE_REF","details":"You can not initialize invoice: invalid reference 668978.","userEvent":"aftersubmit","stackTrace":["createError(N/error.js)","afterSubmit(/SuiteScripts/sendinvoice1.js:23)"],"notifyOff":false},"id":"","notifyOff":false} …
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript suitetalk

0
推荐指数
1
解决办法
1036
查看次数

如何从外部站点发布到NetSuite自定义记录?

我正在尝试将一个非常小的自定义Web应用程序与NetSuite集成.我希望每当用户点击我的Web应用程序中的按钮时,就可以在NetSuite中创建自定义记录.

我编写了一个与REST API Testing chrome扩展一起使用的RESTlet.我已通过Chrome扩展程序成功创建了记录.

但是,当我尝试从我的Web应用程序POST时,我收到此错误:

"对预检请求的响应未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头.因此不允许原点'null'访问.响应具有HTTP状态代码401."

如何使用外部站点的RESTlet向NetSuite发送邮件?我是应该使用RESTlet还是有更好的方法?

rest xmlhttprequest restlet netsuite suitescript

0
推荐指数
1
解决办法
1020
查看次数

如何在 Suitelet 中设置 context.currentRecord?

我正在创建一个简单的 Suitelet,在第一页上,用户输入订单 # 并单击“搜索”。这将重定向到将行项目信息加载到子列表的页面。在保存这些更改之前,用户可以从那里编辑一些行项目字段。一切都可以保存更改...

我的 Suitelet 脚本如下所示:

/**
* @NApiVersion 2.x
* @NScriptType Suitelet
*/
define(['N/search', 'N/ui/serverWidget', 'N/format', 'N/redirect', 'N/https', 'N/record', 'N/error'],
function(s, ui, format, redirect, https, record, error) {

    function onRequest_(context) {  
        try {
            if (context.request.method === 'GET') {
                showForm(context);
            } else {
                showResults(context);
            }
        } catch (e) {
            log.error('onRequest_', 'ERROR : ' + e.message);

            var errObj = error.create({
                name : 'SL ERROR',
                message : e.message,
                notifyOff : true
            });
            throw 'ERROR: ' + e.message;
        }
    }

    function showForm(context) …
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript suitescript2.0

0
推荐指数
1
解决办法
2809
查看次数