Wiki

    Contact support:

    Email: support@erply.com

    14 Jul, 2021
    Permalink:
    Also available in:EstonianFinnish

    1. Overview

    What is an Erply back office Javascript plugin?

    A back office Javascript plugin is a piece of Javascript code that gets included (and executed) on every page load. In back office (Classic as well as Berlin), each user interaction (opening a record, saving it, running a search, loading next page of search results) generally results in a new page load.

     

    It is up to the plugin to watch what page was loaded, and act appropriately. A plugin that wants to create a new menu bar button, should naturally execute its payload on every request. A plugin that wants to rearrange product card, should first check if the current page is a product form.

     

    A lot of environment information is available via global, predefined Javascript variables. If you open "View Source" on a back office page, there are a number of Javascript variables defined there:

     
    var url_install = 'https://t1.erply.com/1234/';
    var child_window = null;
    var conf_name = 'mt';
    var conf_subname = '';
    var page_lang = 'eng';
    var section = 'prodmoves';
    var subsection = '';
    var conf_dateformat = 'm/d/Y';
    var conf_date_monthdayformat = 'm/d';
    var datepicker_format = conf_dateformat.replace("Y", "yyyy").replace("m", "mm").replace("d", "dd");
    var datepicker_firstDay = 0;
    
    var thousandsSeparator = ',';
    var decimalSymbol = '.';
    var priceDecimals = 2;
    
    var conf_attendants = '0';
    var new_menu = 1;
    
    var customerCode = '1234';
    var apiSessionKey = 'abcd1efgh';
    …
     

    Variable "section", for example, defines the type of the current page — is it the product form, the list of invoices, or something else? 

     

    Variable "recordID" provides the ID of the currently opened record, if user is on a form. (If user is entering a new record and it has not been saved yet, "recordID" equals 0.)

     

    There is a variable "apiSessionKey" with which the plugin can issue calls to API. 

     

    Etc.

     

    These variables are documented below, in section "Context Variables".