So I filled out a requisition when it should have ...
# suitescript
c
So I filled out a requisition when it should have been a purchase order. I wrote a few lines in the browser console to just copy the lines from the req to the po, but it keeps adding everything to the same line and overwriting. It's as if commitLine isn't working. I remember having an issue like this before. This is the correct way to do it, right? Am I losing my mind?
Copy code
require(['N/record', 'N/currentRecord'], (record, currentRecord) => {
    let req = record.load({type: record.Type.PURCHASE_REQUISITION, id: '11716520'})
    console.log(req.getValue({fieldId: 'tranid'}))
    let cr = currentRecord.get()
    let reqLc = req.getLineCount({sublistId: 'item'})
    for (let i = 0; i < reqLc; i++) {
        let reqItem = req.getSublistValue({sublistId: 'item', fieldId: 'item', line: i})
        let reqQty = req.getSublistValue({sublistId: 'item', fieldId: 'quantity', line: i})
        cr.selectNewLine({sublistId: 'item'})
        cr.setCurrentSublistValue({sublistId: 'item', fieldId: 'item', value: reqItem})
        cr.setCurrentSublistValue({sublistId: 'item', fieldId: 'quantity', value: reqQty})
        cr.commitLine({sublistId: 'item'})
    }
})
b
setCurrentSublistValue
is asynchronous, use forceSyncSourcing to make it synchronous
c
🤦‍♂️ Thanks @battk.