Auto populate sales order body level location field to line level location field



        function findLineCountAndLoc(currentRecord) {
            var lineCount = currentRecord.getLineCount({
                sublistId: 'item'
            });
           
            var location = currentRecord.getText({
                fieldId: 'location'
            });
           
            var obj = { lineCount: lineCount, location: location };
            return obj;
        }


        function setLinelevelLocation(currentRecord) {
            var obj = findLineCountAndLoc(currentRecord);
            for (var i = 0; i < obj.lineCount; i++) {
                var lineNum = currentRecord.selectLine({
                    sublistId: 'item',
                    line: i
                });

                currentRecord.setCurrentSublistText({
                    //set item field
                    sublistId: 'item',
                    fieldId: 'custcol7',
                    text: obj.location,
                });
            }
        }

        function pageInit(scriptContext) {

            var currentRecord = scriptContext.currentRecord;
            setLinelevelLocation(currentRecord);

        }

        
        function fieldChanged(scriptContext) {
            var currentRecord = scriptContext.currentRecord;
            var fieldId = scriptContext.fieldId;
            if (fieldId === 'location') {
                setLinelevelLocation(currentRecord);
            }
        }

        function saveRecord(scriptContext) {
            var currentRecord = scriptContext.currentRecord;
            var obj = findLineCountAndLoc(currentRecord);
            for (var i = 0; i < obj.lineCount; i++) {
                
                var lineNum = currentRecord.selectLine({
                    sublistId: 'item',
                    line: i
                });
                var getLoc = currentRecord.getCurrentSublistValue({   //set item field
                    sublistId: 'item',
                    fieldId: 'custcol7'
                });
               
                if (getLoc !== obj.location) {
                    return false;
                }
                // return false;  

            }
            return true;
        }
        return {
            pageInit: pageInit,
            fieldChanged: fieldChanged,
            saveRecord: saveRecord


        };


    });


Leave a comment

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