Skip to content
Snippets Groups Projects
onValueChange.js 2.73 KiB
import("system.logging");
import("Communication_lib");
import("Sql_lib");
import("system.vars");
import("system.neon");
import("system.entities");

var rowid = vars.get("local.value");
if (rowid)
{
    var titleFieldName;
    var nameResult;
    var relationResult;
    
    var config = entities.createConfigForLoadingRows();
    config.uid(vars.get("$field.ROW_ID"));
    
    if(vars.get("$field.OBJECT_TYPE") == "Person")
    {
        titleFieldNames = ["FULL_NAME_fieldGroup"];
        config.entity("Person_entity");
        config.fields(titleFieldNames)
        nameResult = entities.getRow(config)[titleFieldNames[0]];
    }
    
    if(vars.get("$field.OBJECT_TYPE") == "Organisation")
    {
        titleFieldNames = ["NAME"];
        config.entity("Organisation_entity");
        config.fields(titleFieldNames);
        nameResult = entities.getRow(config)[titleFieldNames[0]];
    }
    
    if(vars.get("$field.OBJECT_TYPE") == "Offer")
    {
        titleFieldNames = ["FullOfferCode"];
        config.entity("Offer_entity");
        config.fields(titleFieldNames);
        nameResult = entities.getRow(config)[titleFieldNames[0]];
    }
    
    if(vars.get("$field.OBJECT_TYPE") == "Contract")
    {
        titleFieldNames = ["CONTRACTCODE"];
        config.entity("Contract_entity");
        config.fields(titleFieldNames);
        nameResult = entities.getRow(config)[titleFieldNames[0]];
    }
    
    if(vars.get("$field.OBJECT_TYPE") == "Product")
    {
        titleFieldNames = ["PRODUCTCODE", "PRODUCTNAME"];
        config.entity("Contract_entity");
        config.fields(titleFieldNames);
        nameResult = entities.getRow(config)[titleFieldNames[0]];
        relationResult = entities.getRow(config)[titleFieldNames[1]];
    }
    
    if(vars.get("$field.OBJECT_TYPE") == "Productprice")
    {
        titleFieldNames = ["PRICELIST", "CONTACT_ID"];
        config.entity("Productprice_entity");
        config.fields(titleFieldNames);
        var row = entities.getRow(config);
        nameResult = row[titleFieldNames[0]];
        
        titleFieldNames = ["PERSON_TITLE"];
        config.entity("Contact_entity");
        config.uid(row[titleFieldNames[1]]);
        config.fields(titleFieldNames);
        relationResult = entities.getRow(config)[titleFieldNames[0]];
    }
    
    if(vars.get("$field.OBJECT_TYPE") == "Salesproject")
    {
        titleFieldNames = ["PRICELIST"];
        config.entity("Productprice_entity");
        config.fields(titleFieldNames);
        nameResult = entities.getRow(config)[titleFieldNames[0]];
    }
    
    

    neon.setFieldValues({
        "$field.TITLE" : nameResult,
        "$field.TITLE_RELATION" : relationResult != undefined && relationResult != null && relationResult != "" ? relationResult : ""
    });
}