标签: netsuite

如何"部分"履行销售订单?

我曾尝试itemFulfillment以多种方式创建记录,但无论我做什么,销售订单总是"完全"完成(无论是否所有项目都已实现.)

如果销售订单中只有"部分"商品已经发货,我们只需将这些商品设置为满足,这样就可以对相应的采购订单进行结算,并将跟踪发送给客户.当我们仅尝试履行这些项目时,销售订单总是以满足所有项目的方式结束.这给我们带来了许多问题.

我试过的事情:

  • 从头开始创建新项目实现(不使用初始化)

  • 使用initialize创建新项目实现(以获取对现有IF记录的引用)

  • 仅添加已完成的订单项

  • 添加所有订单项,明确设置quantityRemaining = quantity(尚未履行项目的位置)以及quantityRemaining = 0已完成项目的设置.

  • 尝试变种ReplaceAll = true,并再次尝试变化ReplaceAll = false.

在每种情况下,SalesOrder标记中的每个项目都完全满足(每个项目都设置为满足.)

如果有人能够"部分"履行销售订单,您能否想出如何做到这一点?

netsuite

7
推荐指数
1
解决办法
4193
查看次数

如何使用Maven构建WSDL

我想用Maven替换提供的Ant构建.我知道(但没有使用过)蚂蚁跑,我也不愿意.

简而言之,NetSuite提供了一个wsdl,用于在进行Web服务调用时再次使用其ERP产品,我目前使用他们提供的ant构建来从wsdl生成代理类.(此处提供示例应用,wsdl和修补轴)

我遇到的问题是ant任务使用了修补的轴1.4(以及支持库,其中有几个是〜7年),我想使用中央maven仓库中可以获得的库来实现这个wsdl,最好是电流.

任何人都可以指出我需要研究一个有效的解决方案吗?

对于任何需要知道的人:我尝试使用axis2进行生成,并抛出以下异常:

timeException: Element QName is null for ExceededRequestSizeFault!
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:293)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: Element QName is null for ExceededRequestSizeFault!
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitSkeleton(AxisServiceBasedMultiLanguageEmitter.java:1451)
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:275)
        ... 2 more
Caused by: java.lang.RuntimeException: Element QName is null for ExceededRequestSizeFault!
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.getFaultParamElements(AxisServiceBasedMultiLanguageEmitter.java:
2925)
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.getFaultElement(AxisServiceBasedMultiLanguageEmitter.java:2844)
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.generateMethodElement(AxisServiceBasedMultiLanguageEmitter.java:
2366)
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.loadOperations(AxisServiceBasedMultiLanguageEmitter.java:2242)
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.createDOMDocumentForSkeleton(AxisServiceBasedMultiLanguageEmitte
r.java:2156)
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.writeSkeleton(AxisServiceBasedMultiLanguageEmitter.java:2082)
        at org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitSkeleton(AxisServiceBasedMultiLanguageEmitter.java:1408)
        ... 3 more
Run Code Online (Sandbox Code Playgroud)

如果它是具有最新NetSuite WSDL的经过测试的解决方案,则可获得奖励.

java wsdl web-services netsuite maven

7
推荐指数
1
解决办法
2万
查看次数

通过externalId搜索NetSuite API

我正在尝试使用NetSuite API搜索NetSuite供应商(可能存在或不存在于NetSuite中); 但是,我对供应商的唯一信息是externalId.我的目标是使用给定的externalId查询供应商的NetSuite,如果供应商存在,则在后续的API调用中使用它.如果供应商不存在,我将创建它并使用我刚刚在后续API调用中创建的供应商.
尽管我进行了搜索,但我还是找不到通过externalId搜索NetSuite记录的方法(我发现了很多方法可以通过Field搜索;但是我找不到通过属性搜索的方法,即externalId).任何帮助表示赞赏.

netsuite

7
推荐指数
1
解决办法
3295
查看次数

使用PHP从Netsuite获取项目信息

我正在尝试使用PHP Toolkit在NetSuite中通过ID搜索产品.据我所知,从我的Google搜索中可以看出,NetSuite并没有很好地记录他们的PHP工具包.从我可以收集到的,我有这个:

$service = new NetSuiteService();
$service->setSearchPreferences(false, 1000);

$search = new ItemSearchBasic();
$search->searchValue = array('internalId' => $id);
$search->type = "item";

$request = new SearchRequest();
$request->searchRecord = $search;

$searchResponse = $service->search($request);
Run Code Online (Sandbox Code Playgroud)

但这只是给了我一堆随意的废话.谁能帮我这个?

php netsuite

7
推荐指数
1
解决办法
2079
查看次数

从消息记录中查询附件

通过UI,我创建了几个附加到支持故障单记录的消息记录,其中两个记录具有文件附件.我已经能够检索票证,以及它在Bellcript中的相关消息 - 正确报告hasAttachment为'T' - 但我似乎无法访问附件本身.文档指出附件是一个名为'mediaitem'的子列表(或'mediaitemlist',具体取决于您所查看的位置),但没有一个子列表API在这些名称上取得任何成功.

    var record = nlapiLoadRecord('message', 1092823, {recordmode: 'dynamic'});
    var itemCount = record.getLineItemCount('mediaitem');
    // returns -1
Run Code Online (Sandbox Code Playgroud)

文档和其他在线信息非常稀疏,所以任何帮助将不胜感激.

netsuite suitescript

7
推荐指数
1
解决办法
1058
查看次数

NetSuite SuiteTalk REST Web 服务 - 无效的登录尝试

我正在尝试使用 NetSuite SuiteTalk REST Web 服务来访问 NetSuite CRM 数据。

我可以访问并在生产中工作。能够检索记录数据和元数据。

我现在正在尝试在沙箱中设置访问权限以进行更深入的测试。

在沙箱中,我有: - 启用休息 Web 服务 - 启用基于令牌的身份验证 - 给定用户并发 Web 服务权限 - 给定用户使用访问令牌权限登录 - 创建集成 - 创建访问令牌

所有这些操作都反映了在生产中所做的事情。

当我尝试对 Web 服务执行任何类型的 GET 操作时,我会收到 401 - 无效的登录尝试。

当我检查登录审计跟踪时,我没有看到任何 GET 尝试的记录,失败或其他。

是否有一些系统性的事情我必须在沙箱中额外做才能启用休息 Web 服务?除了在 SuiteCloud/SuiteTalk 中启用它?

我在审计跟踪中完全看不到任何东西的事实让我相信某些东西仍然“关闭”。

===> 4/4/2020 更新

ed14 和 Nihkil,

感谢您的回复,很抱歉回复延迟。

不幸的是,在领域中下划线的连字符对我没有帮助。

让我回顾一下最近的尝试:

1) 首先验证生产中的 REST API 测试是否仍然有效。

2) 沙箱由 CRM 管理员刷新。应用程序仍然存在,但我的访问令牌不在。我在沙箱中创建了一个新的。

是否可以删除应用程序?我看不出有什么办法可以做到这一点。

3) 使用现有的消费者令牌和新的访问令牌进行测试。得到了与我的第一篇文章相同的回复:"title": "无效的登录尝试,有关更多详细信息,请参阅登录审核跟踪。",

4) 通过稍微修改 URL 进行测试,以确保我不会去某个地方的黑洞。它给了我预期的错误。

5)通过修改realm进行测试:Realm 9999999-sb4到Realm 9999999_sb4它给了我一个错误,让我相信我原来的realm是正确的:“title”:“发生意外错误。错误ID:k8hd8pqej3unxblmaoik”,

同样,没有任何测试作为失败的尝试出现在审计日志的任何地方。

不知道从这里去哪里?删除沙箱应用程序(如果可能)并重新开始?还是沙箱中的新应用程序?

感谢您的任何帮助。

布莱恩亨特

rest web-services netsuite suitetalk

7
推荐指数
2
解决办法
2882
查看次数

NetSuite Oauth实施

我正在寻找Netsuite中的oauth实现.Netsuite是否支持oauth?我搜索了NetSuite中的誓言实现,但没有一个结果.

有没有官方文件说netsuite不支持oauth?

netsuite

6
推荐指数
1
解决办法
7164
查看次数

什么是相当于nlapiRequestURL()的SuiteScript 2.0?

有没有人知道SuiteScript 2.0的等价物?

nlapiRequestURL(url, postdata, headers, httpMethod)
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript

6
推荐指数
1
解决办法
1313
查看次数

在SuiteScript 2.0中加载自定义记录

我正在尝试加载如下的自定义记录:

var mergeRecord = record.load({
    type: record.Type.'custrecord_merge_vendor', 
    id: '12',
    isDynamic: true
});
Run Code Online (Sandbox Code Playgroud)

这看似错误..但标准记录的等价如下:

var objRecord = record.load({
    type: record.Type.SALES_ORDER, 
    id: 157,
    isDynamic: true,
});
Run Code Online (Sandbox Code Playgroud)

这该怎么做 ?

netsuite suitescript

6
推荐指数
2
解决办法
2891
查看次数

基于Netsuite Token的API调用中的模糊认证

我正在尝试使用基于令牌的身份验证对Netsuite API进行SOAP调用.我有一个从WDSL生成的C#客户端,它正在发送以下请求(更换了秘密).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:messages_2016_2.platform.webservices.netsuite.com" xmlns:urn1="urn:core_2016_2.platform.webservices.netsuite.com">
   <soapenv:Header>
      <urn:partnerInfo>
         <urn:partnerId>[MyAccountId]</urn:partnerId>
      </urn:partnerInfo>
      <urn:applicationInfo>
         <urn:applicationId>[MyApplicationId]</urn:applicationId>
      </urn:applicationInfo>
      <urn:tokenPassport>
         <urn1:account>[MyAccountId]</urn1:account>
         <urn1:consumerKey>[MyConsumerKey]</urn1:consumerKey>
         <urn1:token>[MyTokenId]</urn1:token>
         <urn1:nonce>1574515852</urn1:nonce>
         <urn1:timestamp>1499135589</urn1:timestamp>
         <urn1:signature algorithm="HMAC-SHA1">Ll8DbLvTWsBh/G7UtenErR03OrM=</urn1:signature>
      </urn:tokenPassport>
   </soapenv:Header>
   <soapenv:Body>
      <urn:getDataCenterUrls>
         <urn:account>[MyAccountId]</urn:account>
      </urn:getDataCenterUrls>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

我收到了以下回复

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server.userException</faultcode>
         <faultstring>Ambiguous authentication</faultstring>
         <detail>
            <platformFaults:invalidCredentialsFault xmlns:platformFaults="urn:faults_2016_2.platform.webservices.netsuite.com">
               <platformFaults:code>USER_ERROR</platformFaults:code>
               <platformFaults:message>Ambiguous authentication</platformFaults:message>
            </platformFaults:invalidCredentialsFault>
            <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">partners-java20004.sea.netledger.com</ns1:hostname>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多不同的方法来生成签名,nonce和时间戳.目前我有以下内容:

private string computeNonce()
{
    RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
    byte[] data = new byte[20];
    rng.GetBytes(data);
    int value = Math.Abs(BitConverter.ToInt32(data, 0));
    return value.ToString();
}

private long computeTimestamp()
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# netsuite suitetalk

6
推荐指数
4
解决办法
3092
查看次数

标签 统计

netsuite ×10

suitescript ×3

suitetalk ×2

web-services ×2

.net ×1

c# ×1

java ×1

maven ×1

php ×1

rest ×1

wsdl ×1