I'm trying to set an Inventory Items preferred Ven...
# suitescript
n
I'm trying to set an Inventory Items preferred Vendor Price. My code, see below, lets me commit and save the record with no issues or errors but does not change the value.
Copy code
// Vendor
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "vendor",
    value: 46474,
    // ignoreFieldChange: true,
});
// Subsidiary
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "subsidiary",
    value: 15,
    // ignoreFieldChange: true,
});
// Preferred
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "preferredvendor",
    value: true,
    // ignoreFieldChange: true,
});
// Currency Name?
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "vendorcurrencyname",
    value: "USA",
    // ignoreFieldChange: true,
});
// Purchase Price
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "purchaseprice",
    value: unitPrice,
    // ignoreFieldChange: true,
});
itemRecord.commitLine({
    sublistId: "itemvendor",
});
I've tried changing
ignoreFieldChange
from true to false
I've tried
itemRecord.save()
right after
itemRecord.commitLine(...)
m
Weird. You’ve got to be on the right track. Your code works for me. I copied/pasted into the debugger, added
load()
,
selectNewLine()
, and
save()
and it worked for me. Here’s mine in the debugger:
Copy code
require(['N/record']);
var record = require('N/record');

var itemRecord = record.load({ type: 'inventoryitem', id: 154, isDynamic: true });

itemRecord.selectNewLine({ sublistId: 'itemvendor' });

// Vendor
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "vendor",
    value: 46,
    // ignoreFieldChange: true,
});
// Subsidiary
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "subsidiary",
    value: 1,
    // ignoreFieldChange: true,
});
// Preferred
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "preferredvendor",
    value: true,
    // ignoreFieldChange: true,
});
// Currency Name?
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "vendorcurrencyname",
    value: "USA",
    // ignoreFieldChange: true,
});
// Purchase Price
itemRecord.setCurrentSublistValue({
    sublistId: "itemvendor",
    fieldId: "purchaseprice",
    value: 100,
    // ignoreFieldChange: true,
});
itemRecord.commitLine({
    sublistId: "itemvendor",
});

itemRecord.save();
b
are the purchase prices a subrecord?
n
possibly NetSuite OneWorld and in a subsidiary that uses a different currency.
@Mike Robbins Thanks for the debug and sanity check
s
yeah there are multiple settings that can cahnge the behavior of that vendor sublist
n
I think I should be using
itemvendorprice
instead of
purchaseprice