Transforming transfer order based on item fulfillment

/**
 *
 * @param docNum
 * @param IFDetails
 * @param ifInternalId
 * @return {*|number}
 */
function IRcreation(docNum, IFDetails, ifInternalId) {
    try {
        let trecord = record.transform({
            fromType: record.Type.TRANSFER_ORDER,
            fromId: docNum,
            toType: record.Type.ITEM_RECEIPT,
            isDynamic: true,
            defaultValues: {'itemfulfillment': ifInternalId.toString()}
        });
        let itemCount = trecord.getLineCount({sublistId: 'item'});
        log.debug('in itemCount', itemCount);
        for (let i = 0; i < itemCount; i++) {
            trecord.selectLine({
                sublistId: 'item',
                line: i
            })
            let itemName = trecord.getCurrentSublistText({
                sublistId: 'item',
                fieldId: 'item',
                line: i
            })
            if (itemName == IFDetails.itemName) {
                trecord.setCurrentSublistValue({
                    sublistId: 'item',
                    fieldId: 'itemreceive',
                    value: true,
                    line: i
                });
                trecord.setCurrentSublistValue({
                    sublistId: 'item',
                    fieldId: 'quantity',
                    value: IFDetails.quantity,
                    line: i
                });
            } else {
                trecord.setCurrentSublistValue({
                    sublistId: 'item',
                    fieldId: 'itemreceive',
                    value: false,
                    line: i
                });
            }
            trecord.commitLine({
                sublistId: 'item'
            });
        }
        let recordSave = trecord.save({
            enableSourceing: true
        });
        return recordSave
    } catch
        (err) {
        log.error("err @ transforming", err);
    }
}

Leave a comment

Your email address will not be published. Required fields are marked *