    //@include lib_Class.js
    //@include lib_sol.common.JsonUtils.js
    //@include lib_sol.common.RepoUtils.js
    //@include lib_sol.common.SordUtils.js
    //@include lib_sol.common.CounterUtils.js
    //@include lib_sol.common.Template.js
    //@include lib_sol.common.WfUtils.js
    //@include lib_sol.common.ix.RfUtils.js
    //@include lib_sol.common.ix.FunctionBase.js
    //@include lib_sol.common.ix.functions.GenerateIdentifier.js

    var logger = sol.create("sol.Logger", { scope: "sol.contract.ix.functions.generators.GenerateContractShortDesc" });

    /**
     * Generates a name for a file by template
     */
    sol.define("sol.contract.ix.functions.generators.GenerateContractShortDesc", {
      extend: "sol.common.ix.functions.GenerateIdentifier",
      /** @cfg {String} objId
       * Object ID
       */

      initialize: function (config) {
        var me = this;
        sol.ns("sol.contract");
        sol.contract.Config = sol.create("sol.common.Config", { compose: "/contract/Configuration/contract.config" }).config;
        me.$super("sol.Base", "initialize", [config]);
      },
      /**
       * @inheritdoc sol.common.ix.functions.GenerateIdentifier#getIdentifierTemplateId
       */
      getIdentifierTemplateId: function () {
        var me = this;
        return me.getTemplateId("Contract short description", sol.contract.Config.fields.contractShortDescGen, sol.contract.Config.generators.templateFolderIds.contractShortDescription);
      },
      /**
       * @inheritdoc sol.common.ix.functions.GenerateIdentifier#getIdentifier
       */
      getIdentifier: function () {
        var me = this;
        return me.sord.name;
      },
      /**
       * @inheritdoc sol.common.ix.functions.GenerateIdentifier#setIdentifier
       */
      setIdentifier: function (shortDescription) {
        var me = this,
            prevLength = (shortDescription) ? String(shortDescription).length : 0;
        me.sord.name = me.truncateSordName(shortDescription);
        if (String(me.sord.name).length < prevLength) {
          me.logger.debug("Sord name truncated.");
        }
      }
    });

    /**
     * @member sol.common.ix.functions.generators.GenerateShortDescription
     * @static
     * @inheritdoc sol.common.ix.FunctionBase#onEnterNode
     */
    function onEnterNode(clInfo, userId, wFDiagram, nodeId) {
      logger.enter("onEnterNode_GenerateShortDescription", { flowId: wFDiagram.id, nodeId: nodeId });
      var params = sol.common.WfUtils.parseAndCheckParams(wFDiagram, nodeId),
          module;

      params.objId = wFDiagram.objId;
      module = sol.create("sol.contract.ix.functions.generators.GenerateContractShortDesc", params);

      module.process();

      logger.exit("onEnterNode_GenerateShortDescription");
    }

    /**
     * @member sol.common.ix.functions.generators.GenerateShortDescription
     * @static
     * @inheritdoc sol.common.ix.FunctionBase#onExitNode
     */
    function onExitNode(clInfo, userId, wFDiagram, nodeId) {
      logger.enter("onExitNode_GenerateShortDescription", { flowId: wFDiagram.id, nodeId: nodeId });
      var params = sol.common.WfUtils.parseAndCheckParams(wFDiagram, nodeId),
          module;

      params.objId = wFDiagram.objId;
      module = sol.create("sol.contract.ix.functions.generators.GenerateContractShortDesc", params);

      module.process();

      logger.exit("onExitNode_GenerateShortDescription");
    }

    /**
     * @member sol.common.ix.functions.Generators
     * @method RF_sol_contract_function_generateContractShortDesc
     * @static
     * @inheritdoc sol.common.ix.FunctionBase#RF_FunctionName
     */
    function RF_sol_contract_function_generateContractShortDesc(iXSEContext, args) {
      logger.enter("RF_sol_contract_function_generateContractShortDesc", args);
      var params = sol.common.ix.RfUtils.parseAndCheckParams(iXSEContext, arguments.callee.name, args, "objId"),
          module = sol.create("sol.contract.ix.functions.generators.GenerateContractShortDesc", params),
          result;
      result = module.process();
      logger.exit("RF_sol_contract_function_generateContractShortDesc");
      return result;
    }