Setting line number

  function validateLine(scriptContext){

                   let recCurrent = scriptContext.currentRecord;

     if(scriptContext.currentRecord.type == “creditmemo”){

                log.debug(“scriptContext.mode”,mode);

                  var lineCount = recCurrent.getLineCount({

          sublistId: ‘item’

        }) || 0;

        var lineNum = Number(lineCount);

        log.debug(“lineNum……….****”,lineNum);

          let existingNumber = recCurrent.getCurrentSublistValue({

          sublistId: ‘item’,

          fieldId: ‘custcol_mhi_ibs_cust_line_num’

         

        });

                  log.debug(“existingNumber……….”,existingNumber);

                   let existingLineNumber = recCurrent.getCurrentSublistValue({

          sublistId: ‘item’,

          fieldId: ‘line’

         

        });

               

                  log.debug(“existingLineNumber……”,existingLineNumber);

                             

                log.debug(“insertLine……”,insertLine);

  let lineHash = recCurrent.getCurrentSublistValue({

    sublistId:‘item’,

    fieldId: ‘custcol_mhi_ibs_line_number’

  });

  log.debug(“lineHash……”,lineHash)

let nextLineNumber = lineCount + 1;

        if ((!existingNumber && !existingLineNumber) || (existingNumber && !existingLineNumber) || (existingLineNumber < 0)) {

            if (!lineHash && scriptContext.mode == ‘create’ && !existingNumber && !existingLineNumber && insertLine == 0) {

                log.debug(‘Setting Line Number (Scenario 1)’, nextLineNumber);

            }

             else if(lineHash && !existingNumber){

                log.debug(‘Setting Line Number (Scenario 2)’, nextLineNumber);

              }

           

            else if (existingLineNumber < 0) {

                nextLineNumber = lineCount;

                log.debug(‘Setting Line Number (Scenario 3)’, nextLineNumber);

            }

           

            else if (!existingNumber && !existingLineNumber && insertLine == 1) {

              insertLine = 0;

                nextLineNumber = lineCount;

                log.debug(‘Setting Line Number (Scenario 4)’, nextLineNumber);

            } else if (existingNumber && !existingLineNumber && insertLine == 0) {

              log.debug(“return true”)

                return true;

            } else if (!existingNumber && !existingLineNumber && insertLine == 0) {

                log.debug(‘Setting Line Number (Scenario 5)’, nextLineNumber);

            }

           

            else {

                nextLineNumber = lineCount;

                log.debug(‘Setting Line Number (Default)’, nextLineNumber);

            }

            recCurrent.setCurrentSublistValue({

                sublistId: ‘item’,

                fieldId: ‘custcol_mhi_ibs_cust_line_num’,

                value: nextLineNumber

            });

        }

       return true;

  }else{

       return true;

  }

  }

Leave a comment

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