Альтернативным решением было бы использование сценария пользовательских событий.
Сведения об инвентаризации не считаются записями в NetSuite, и поэтому вы не можете применить к ним сценарий пользовательских событий.Это подзапись, и вы можете рассматривать ее как поле с несколькими атрибутами.
Возможно, вам придется применить свой сценарий в качестве сценария пользовательского события к записи поступления элемента.Ваш скрипт должен будет обновить данные инвентаризации в пользовательском событии «ПЕРЕД НАГРУЗКОЙ НАГРУЗКИ».Это будет означать, что значения по умолчанию будут введены в данные инвентаризации, но не будут сохранены в базе данных до тех пор, пока пользователь не сохранит запись поступления материала.
В SuiteScript 2 получите подзапись данных инвентаризации для каждой строкив ItemReceipt и измените значения по своему желанию:
var inventoryDetailRecord = itemReceipt.getSublistSubrecord({
sublistId: 'item',
fieldId: 'inventorydetail',
line: i
});
inventoryDetailRecord.setSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'issueinventorynumber',
value: serialId,
line: 0
});
Недостатком этого решения является то, что вы будете заполнять данные в подзаписи, даже если подзапись не просматривается - это может быть не идеальнов зависимости от того, что вы хотите сделать.