我遇到了一个问题,多个用户同时编辑单个记录,而另一个人用自己的工作保存记录时却丢失了工作。我想在用户编辑记录时锁定编辑,由于某种原因,默认情况下,NetSuite中的记录不是单一访问权限。我们怎样才能做到这一点?
我开始学习Netsuite,因为这是我们的新项目所必需的.我是全新的.目前我正在研究PHP.
根据我的经理的建议,我在其上创建了开发者帐户.但我对它没有任何想法.因此,如果有人能够回答我的下面的问题而不是我会非常感激.
提前致谢.高兴
我开始了解NetSuite,但这个让我很难过.我正在寻找一种方法来从NetSuite中的工作流程更新订单上的订单项.据我所知,它似乎没有暴露这些领域,有什么方法可以解决这个问题吗?
我有一个已保存的搜索,返回我想要修改的所有交易行项目,销售订单行项目上有一个名为"创建履行订单"的字段.它在保存的搜索下显示为"创建配送订单列",但是当我向工作流添加操作以设置字段值时,显示的唯一字段是"销售订单"字段.有没有办法访问销售订单列字段,因为这确实是我保存的搜索返回的内容.
我查看了工作流程中定义的子类型,看看是否有一个用于销售订单项目或其他任何东西,但没有,只有销售订单.任何帮助将不胜感激,提前感谢!
我想根据NetSuite中的某些条件阻止删除记录.但是,我似乎无法在验证中找到失败事件?在UserEvent上的BeforeSubmit有一个删除类型,但它没有该函数的返回值,所以我不能只说返回false,可以吗?
那么如何防止删除记录,或者使某种类型的记录提交失败?
我正在创建一个模块来处理多个 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) 我试图根据搜索结果停止创建记录.我似乎无法通过我的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) 尝试将新创建的销售订单转换为发票时出现错误。
这是我的代码:
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) 我正在尝试将一个非常小的自定义Web应用程序与NetSuite集成.我希望每当用户点击我的Web应用程序中的按钮时,就可以在NetSuite中创建自定义记录.
我编写了一个与REST API Testing chrome扩展一起使用的RESTlet.我已通过Chrome扩展程序成功创建了记录.
但是,当我尝试从我的Web应用程序POST时,我收到此错误:
"对预检请求的响应未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头.因此不允许原点'null'访问.响应具有HTTP状态代码401."
如何使用外部站点的RESTlet向NetSuite发送邮件?我是应该使用RESTlet还是有更好的方法?
我正在创建一个简单的 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 ×9
suitescript ×9
restlet ×2
javascript ×1
portlet ×1
rest ×1
suitetalk ×1
workflow ×1