【问题标题】:Vendor opening balance in suitelet套件中的供应商期初余额
【发布时间】:2016-11-18 10:02:46
【问题描述】:

我正在 Netsuite 中开发一个套件。我想使用 Suitelet 创建 CSV 报告。 Suitelet 和 CSV 报告已准备好其他字段,问题仅在于供应商期初余额字段。 我想获得套件中的供应商期初余额。我怎样才能得到它?

我们目前正在使用自定义供应商表单。当我自定义表单时,它确实启用了期初余额字段(勾选了“查看”),但我在供应商记录中看不到它。我不知道,为什么会这样?标准表单也是如此,当它在使用时,期初余额字段已启用,但在供应商记录中无法查看或访问。

目前可以在其中一份 Netsuite 报告中看到供应商期初余额,但我们无法从那里获取值。

【问题讨论】:

  • 您检查了 SuiteScript 记录浏览器吗?我怀疑你没有,因为它显示供应商记录公开字段openingbalance。此数据没有搜索列,您需要从完整的 nlobjRecord 参考中访问它。
  • 嗨,我确实尝试过 SuiteScript 记录浏览器。但没有帮助。 var openingbalance = load_rec.getFieldText("openingbalance");也给了我空白的结果。仅供参考:我尝试在保存的搜索中获取供应商期初余额的值,但没有选项可以获取它。
  • @SteveK var openingbalance = load_rec.getFieldText("openingbalance");

标签: netsuite suitescript


【解决方案1】:

我无法获得这些数据让我很烦恼,尤其是考虑到你说它可以在报告中找到。我对此进行了更多思考,并意识到当您创建供应商并定义期初余额时,它会创建一个日记帐分录。这意味着我们想要的数据应该只是一个事务搜索就可以了,而且确实如此。

var VENDOR_ID     = 9898387,
    MAGIC_JE_MEMO = 'Opening Balance';

var jeResults = nlapiSearchRecord('journalentry', null,

    //  Filter to entity and unfortunately we also need to rely on the Memo field
    [
        new nlobjSearchFilter('entity', null, 'is', VENDOR_ID),
        new nlobjSearchFilter('memo', null, 'is', MAGIC_JE_MEMO),
        new nlobjSearchFilter('creditamount', null, 'isnotempty') ],

    [
        new nlobjSearchColumn('creditamount'),
        new nlobjSearchColumn('entity') ]);

if(jeResults) {
    nlapiLogExecution('DEBUG', 'Vendor ' + jeResults[0].getText('entity') + 
        ' has opening balance ' + jeResults[0].getValue('creditamount'));
}

该代码将产生日志:

供应商 SK 测试的期初余额为 666.00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多