Load an employee image to a form and add a checkbox for including a record from another form

In this script, a file containing an image of an employee launches when the employee's HR11 record is opened. The script also shows how you could add a check box to the form to let the user choose to add a record from a different from (in this case, the AP10 form).

function FORM_OnInit()
{
    // set styles for the image control
    const imgElem = lawForm.getFormElement("image1");
    if (imgElem)
    {
        lawForm.hide(imgElem);
        imgElem.style.top = "1%";
        imgElem.style.left = "5%";
        imgElem.style.width = "45px";
        imgElem.style.height = "57px";
    }
}

function FORM_OnAfterTransaction(data)
{
    // was transaction successful?
    if (formState.agsError)
    {
        return;
    }

    // pad values for Emp and Co with leading zeros
    let sEmployee = lawForm.getDataValue("EMP-EMPLOYEE", 0);
    let sCompany = lawForm.getDataValue("EMP-COMPANY", 0);
    sCompany = portalWnd.strFillChar(sCompany, 5, "left", "0");
    sEmployee = portalWnd.strFillChar(sEmployee, 10, "left", "0");

    // build image URL and set the image control source
    sEmployee = "P" + sCompany + sEmployee;
    const sPath = "/lawson/hrnet/images/employees/" +
        sEmployee + ".jpg"

    let imgElem = lawForm.getFormElement("image1");
    if (imgElem)
    {
        imgElem.src = sPath;
        lawForm.show(imgElem);
    }
}

function FORM_OnBeforeTransaction(fc)
{
    return (lawForm.getDataValueById("check1") === "1" ? addAP10() : true);
}

function addAP10()
{
    // build ags api for the ap10 update
    let s = portalWnd.AGSPath;
    s += "?_PDL="+ strPDL;
    s += "&_TKN=AP10.1&_EVT=ADD&_LFN=ALL&_TDS=IGNORE&FC=A";
    s += "&VEN-VENDOR-GROUP=1";
    s += "&VEN-VENDOR-VNAME=" + lawForm.getDataValue("EMP-FIRST-NAME");
    s += " " + lawForm.getDataValue("EMP-LAST-NAME");
    s += "&VEN-VEN-CLASS=EMP"
    s += "&VDR-ADDR1=" + lawForm.getDataValue("EMP-ADDR1");
    s += "&VDR-CITY-ADDR5=" + lawForm.getDataValue("EMP-CITY");
    s += "&VDR-STATE-PROV=" + lawForm.getDataValue("EMP-STATE");
    s += "&VDR-POSTAL-CODE=" + lawForm.getDataValue("EMP-ZIP");
    s += "&_OUT=XML&_EOT=TRUE"

    // submit ags call to server
    let sAGSInfo = portalWnd.httpRequest(s);
    sAGSInfo = (sAGSInfo ? new portalWnd.DataStorage(sAGSInfo) : null);
    if (!sAGSInfo || sAGSInfo.status)
	{
		return false;
	}

    // collect the API return data and extract out certain values for message
    const sFldNbr = sAGSInfo.getElementValue("FldNbr", 0);
    const sMsgNbr = sAGSInfo.getElementValue("MsgNbr", 0);
    const sMessage = sAGSInfo.getElementValue("Message", 0);
    portalWnd.cmnDlg.messageBox(sFldNbr + ", " + sMessage + ", " + sMsgNbr);
    return true;
}