【问题标题】:How to create invoice using suitescript 2.0?如何使用 suitescript 2.0 创建发票?
【发布时间】:2017-03-21 22:58:12
【问题描述】:

我尝试在客户端脚本事件中创建发票。

var objRecord = record.create({
    type: 'invoice',
    isDynamic: false
});

objRecord.setValue({
    fieldId: 'customform',
    value: '296',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'account',
    value: '215',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'entity',
    value: '13276',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'currency',
    value: '1',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'postingperiod',
    value: '294',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'exchangerate',
    value: '1.0',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'custbody_amortization_partner_currency',
    value: '6',
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'memo',
    value: v_adv_memo,
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'custbody_amortization_advance_id',
    value: v_advanceID,
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'trandate',
    value: parsedDateStringAsRawDateObjectdtl,
    ignoreFieldChange: true
});
objRecord.setValue({
    fieldId: 'duedate',
    value: v_adv_pymt_pymt_date,
    ignoreFieldChange: true
});
objRecord.selectNewLine({
    sublistId: 'item'
});
objRecord.setCurrentSublistValue({
    sublistId: 'item',
    fieldId: 'item',
    value: '5825',
    ignoreFieldChange: true
});
objRecord.setCurrentSublistValue({
    sublistId: 'item',
    fieldId: 'quantity',
    value: '1',
    ignoreFieldChange: true
});
objRecord.setCurrentSublistValue({
    sublistId: 'item',
    fieldId: 'amount',
    value: '100',
    ignoreFieldChange: true
});
objRecord.commitLine({
    sublistId: 'item'
});

var recId = objRecord.save({
    enableSourcing: true,
    ignoreMandatoryFields: true
});

alert(recId);   

我不确定错误发生在哪里。任何人都可以在这个话题上帮助我吗?

【问题讨论】:

  • 你得到什么错误?您的客户端脚本部署到什么记录?您想要实现的最终业务成果是什么?

标签: netsuite suitescript


【解决方案1】:

通常不会直接创建发票。您通常会执行以下任一操作。请注意,对于动态模式,建议将自定义表单设置为初始化的一部分。

var invRec = record.transform({
    fromType: record.Type.CUSTOMER,
    fromId: custId,
    toType: record.Type.INVOICE,
    isDynamic: true,
    defaultValues: {customform:296}
});

var invRec = record.transform({
    fromType: record.Type.SALES_ORDER,
    fromId: soId,
    toType: record.Type.INVOICE,
    isDynamic: true,
    defaultValues: {customform:296}
});

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,我需要合并发票并附加到其原始销售订单中,并且无法进行转换。

    尝试使用以获取一些信息。 日志.调试({ title: '你的头衔', details: 'Details: ' + objrecord.getValue({fieldId: 'otherrefnum'}) //例如 });

    我认为这里的问题是 NetSuite 期待类型匹配。例如, rate 不能被接受为字符串 - 至少那是我得到的 TypeError。

    现实生活中的示例,我从发票[i] 中选择所有字段并将其分配给合并发票: INVALID_FLD_VALUE","message":"您为以下字段输入了无效字段值 1092:item" - NetSuite 很可能需要一个整数,而不是字符串,反之亦然。

    另外,请查看以下链接。了解发票中哪些字段是必填字段以及哪些字段不是必填字段非常有用:http://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/script/record/invoice.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-19
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多