Я пытаюсь написать сценарий, который предотвратит вывод готовой продукции из инвентаря, если сборка ожидает одобрения. Это первый скрипт, который я когда-либо делал, и впервые использовал Javascript, поэтому я извиняюсь, если то, что у меня до сих пор не имеет смысла (и если я говорю глупо). Скрипт проверяет, является ли запись сборкой сборки, которая создается или редактируется, а затем создает временное поле «количество ожидающих». При сохранении, если статус одобрения «ожидает утверждения», сценарий назначает значение количества, ожидающего значения в количестве для сборки, тогда количество для сборки установлено в 0, и запись отправляется. Если одобрен статус одобрен, количество для сборки установлено на значение, хранящееся в ожидаемом количестве, а количество ожидающих - 0, запись затем отправляется. Опять прошу прощения, если это не имеет смысла.NetSuite: сборка сценариев строит только для снятия инвентаря при его одобрении
Я пробовал использовать отладчик сценариев, но я не думаю, что мой код работает. Может ли кто-нибудь указать, где я поступил не так, или если я на правильном пути?
Вот что у меня есть. Если кто-то сделал что-то подобное или знает лучший подход, я все уши.
function commitIfApproved() {
var cR = nlapiGetOldRecord();
var recordId = cR.nlapiGetRecordID();
var recordType = cR.nlapiGetRecordType();
if (recordId == 'assemblybuild') {
if(recordType = 'create' || 'edit') {
var approvalstatus = cR.nlapiGetFieldValue('approval status');
var quantityPending = cR.nlapiGetFieldValue('quantity to build - pending');
if (approvalstatus == "Awaiting Approval") {
cR.nlapiSetFieldValue('quantity to build', '0');
cR.nlapiSetFieldValue('quantity to build - pending', quantityPending);
cR.nlapiSubmitRecord();
alert("Finished goods will not be taken from inventory until this assembly build is approved.");
}
if (approvalstatus == "Approved") {
cR.nlapiSetFieldValue('quantity to build', quantityPending);
cR.nlapiSetFieldValue('quantity to build - pending', '0');
cR.nlapiSubmitRecord();
alert("This assembly build has been approved. Finished goods have been subtracted from inventory.");
}
}
}
}
Благодарим вас за то, что нашли мои ошибки и объяснили все это очень четко! Я до сих пор не внес никаких изменений в свой код, но я дам вам знать, если это сработает! По некоторым причинам так сложно найти хорошие источники статей и справки NetSuite. – Jordan