Mrudul
01/09/2020, 11:26 PMIFRecord.createCurrentLineItemSubrecord('item', 'inventorydetail');
Or
IFRecord.editCurrentLineItemSubrecord('item', 'inventorydetail');
As its currently throwing this error:
Code: CANNOT_EDIT_SUBRECORD Details: Cannot edit this subrecord, it is either in readonly state or dead state.
Any guideline / help would be highly appreciated.
Thanks
Mrudulbattk
01/09/2020, 11:34 PMbattk
01/09/2020, 11:41 PMbattk
01/09/2020, 11:42 PMMrudul
01/09/2020, 11:47 PMMrudul
01/09/2020, 11:47 PMelse if (Number(qtyavl) < itemqty) { //converted qtyval to Number
nlapiLogExecution('ERROR', 'suit_SO_Fulfillment', 'qtyavl<Lineitemqty');
var remqty = parseFloat(0);
if (LotitemSearch.length > 1) {
var first = 'F';
remqty = itemqty - qtyavl;
var bodyInventoryDetail = IFRecord.viewCurrentLineItemSubrecord('item', 'inventorydetail');
nlapiLogExecution('ERROR', 'bodyInventoryDetail', bodyInventoryDetail);
if (!bodyInventoryDetail) {
nlapiLogExecution('ERROR', 'create', 'invenassignment');
bodyInventoryDetail = IFRecord.createCurrentLineItemSubrecord('item', 'inventorydetail');
} else {
nlapiLogExecution('ERROR', 'edit', 'invenassignment');
bodyInventoryDetail = IFRecord.editCurrentLineItemSubrecord('item', 'inventorydetail');
}
for (var j = 0; j < LotitemSearch.length; j++) {
var itmqtyavl = parseFloat(0);
var itmcolumns = LotitemSearch[j].getAllColumns();
var itmlotno = LotitemSearch[j].getValue(itmcolumns[1]);
itmqtyavl = LotitemSearch[j].getValue(itmcolumns[2]);
var itmexpdate = LotitemSearch[j].getValue(itmcolumns[3]);
if (first == 'F') {
bodyInventoryDetail.selectNewLineItem('inventoryassignment');
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', itmlotno);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'expirationdate', itmexpdate);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', itmqtyavl);
bodyInventoryDetail.commitLineItem('inventoryassignment');
bodyInventoryDetail.commit();
first = 'T';
} else {
if (remqty >= itmqtyavl) {
bodyInventoryDetail.selectNewLineItem('inventoryassignment');
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', itmlotno);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'expirationdate', itmexpdate);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', itmqtyavl);
bodyInventoryDetail.commitLineItem('inventoryassignment');
bodyInventoryDetail.commit();
if (remqty == itmqtyavl) {
IFRecord.commitLineItem('item');
break;
}
remqty = remqty - itmqtyavl;
} else if (remqty > 0) {
bodyInventoryDetail.selectNewLineItem('inventoryassignment');
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', itmlotno);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'expirationdate', itmexpdate);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', remqty);
bodyInventoryDetail.commitLineItem('inventoryassignment');
bodyInventoryDetail.commit();
IFRecord.commitLineItem('item');
break;
}
}
}
// break;
}
}
battk
01/09/2020, 11:49 PMbattk
01/09/2020, 11:50 PMbattk
01/09/2020, 11:50 PMvar iFRecord = nlapiTransformRecord(
"salesorder",
"whatever your id is",
"itemfulfillment",
{ recordmode: "dynamic" }
);
iFRecord.selectLineItem("item", "whateverLineIsGivingYouTrouble");
iFRecord.createCurrentLineItemSubrecord("item", "inventorydetail");
Mrudul
01/10/2020, 12:21 AMMrudul
01/10/2020, 12:21 AMMrudul
01/10/2020, 12:27 AMbattk
01/10/2020, 12:46 AMbattk
01/10/2020, 12:46 AMMrudul
01/10/2020, 1:34 AMbattk
01/10/2020, 1:34 AMMrudul
01/10/2020, 1:41 AMMrudul
01/10/2020, 1:42 AMfor (var j = 0; j < LotitemSearch.length; j++) {
var bodyInventoryDetail = IFRecord.viewCurrentLineItemSubrecord('item', 'inventorydetail');
nlapiLogExecution('ERROR', '214 bodyInventoryDetail', bodyInventoryDetail);
if (bodyInventoryDetail == null) { //Modified by Mrudul
nlapiLogExecution('ERROR', 'create', 'invenassignment');
bodyInventoryDetail = IFRecord.createCurrentLineItemSubrecord('item', 'inventorydetail');
} else {
nlapiLogExecution('ERROR', 'edit', 'invenassignment');
bodyInventoryDetail = IFRecord.editCurrentLineItemSubrecord('item', 'inventorydetail');
}
var itmqtyavl = parseFloat(0);
var itmcolumns = LotitemSearch[j].getAllColumns();
var itmlotno = LotitemSearch[j].getValue(itmcolumns[0]); //changing to 0
itmqtyavl = LotitemSearch[j].getValue(itmcolumns[2]);
var itmexpdate = LotitemSearch[j].getValue(itmcolumns[3]);
if (first == 'F') {
bodyInventoryDetail.selectNewLineItem('inventoryassignment');
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'issueinventorynumber', itmlotno);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'expirationdate', itmexpdate);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', itmqtyavl);
//bodyInventoryDetail.commitLineItem('inventoryassignment');
//bodyInventoryDetail.commit();
first = 'T';
nlapiLogExecution('ERROR', 'first', first);
} else {
nlapiLogExecution('ERROR', '241 Else ', remqty+ ' >= ' +itmqtyavl);
if (remqty >= itmqtyavl) {
bodyInventoryDetail.selectNewLineItem('inventoryassignment');
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'issueinventorynumber', itmlotno);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'expirationdate', itmexpdate);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', itmqtyavl);
//bodyInventoryDetail.commitLineItem('inventoryassignment');
//bodyInventoryDetail.commit();
if (remqty == itmqtyavl) {
IFRecord.commitLineItem('item');
break;
}
remqty = remqty - itmqtyavl;
} else if (remqty > 0) {
nlapiLogExecution('ERROR', '255 Else if', remqty+ ' >= ' +itmqtyavl);
bodyInventoryDetail.selectNewLineItem('inventoryassignment');
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'issueinventorynumber', itmlotno);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'expirationdate', itmexpdate);
bodyInventoryDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', remqty);
break;
}
}
bodyInventoryDetail.commitLineItem('inventoryassignment');
bodyInventoryDetail.commit();
IFRecord.commitLineItem('item');
}
battk
01/10/2020, 1:43 AMMrudul
01/10/2020, 1:46 AMMrudul
01/10/2020, 1:46 AMbattk
01/10/2020, 1:48 AMMrudul
01/10/2020, 1:50 AMbattk
01/10/2020, 1:51 AMbattk
01/10/2020, 1:51 AMMrudul
01/10/2020, 1:52 AMvar bodyInventoryDetail = IFRecord.viewCurrentLineItemSubrecord('item', 'inventorydetail');
nlapiLogExecution('ERROR', '214 bodyInventoryDetail', bodyInventoryDetail);
if (bodyInventoryDetail == null) { //Modified by Mrudul
nlapiLogExecution('ERROR', 'create', 'invenassignment');
bodyInventoryDetail = IFRecord.createCurrentLineItemSubrecord('item', 'inventorydetail');
} else {
nlapiLogExecution('ERROR', 'edit', 'invenassignment');
bodyInventoryDetail = IFRecord.editCurrentLineItemSubrecord('item', 'inventorydetail');
}
Mrudul
01/10/2020, 1:52 AMbattk
01/10/2020, 1:55 AMbattk
01/10/2020, 1:55 AMbattk
01/10/2020, 1:56 AMbattk
01/10/2020, 1:57 AMIFRecord.selectLineItem("item", 'whateverLineYouAreOn')
var bodyInventoryDetail =
IFRecord.createCurrentLineItemSubrecord("item", "inventorydetail") ||
IFRecord.editCurrentLineItemSubrecord("item", "inventorydetail");
battk
01/10/2020, 1:58 AMMrudul
01/10/2020, 11:47 AM