brotherton-erpnext/docs/dev/custom_script_examples/docs.dev.custom_script.item_code.md

903 B

_label
Generate Item Code based on Custom Logic

Add this in the Custom Script of Item, so that the new Item Code is generated just before the a new Item is saved.

cur_frm.cscript.custom_validate = function(doc) {
    // clear item_code (name is from item_code)
    doc.item_code = "";

    // first 2 characters based on item_group
    switch(doc.item_group) {
        case "Test A":
            doc.item_code = "TA";
            break;
        case "Test B":
            doc.item_code = "TB";
            break;
        default:
            doc.item_code = "XX";
    }

    // add next 2 characters based on brand
    switch(doc.brand) {
        case "Brand A":
            doc.item_code += "BA";
            break;
        case "Brand B":
            doc.item_code += "BB";
            break;
        default:
            doc.item_code += "BX";
    }
}