Skip to main content
Conga Support

Post Billings

The use of JavaScript in Conga solutions is considered an advanced method, requiring JavaScript knowledge, and is not supported by Conga or the Conga support team. You are welcome to use this feature at your own risk.

Follow these steps to create the custom action:

  1. Click ActionGrid Setup.
  2. Select the object for which you want to create the custom action.
  3. Select the object Features tab.
  4. Click New Custom Action. The Custom Action screen appears.
  5. Delete the sample code from the Javascript field.
  6. Copy and paste the following code into the Javascript field.
  7. Copy the itemID value and paste it as the Action Name.
  8. Click OK.
crmc.require(['sfdc', 'KendoPopup'], function (sfdc, popup) {
    crmc.addCustomAction({
      "itemID": "AcctSeed_Billing_PostBillings",
      "isAvailable": function (context) {
        // This function is called before the action item is displayed and returns a boolean if the item should be displayed
        // By default determine availability based on Feature Security for this action
         var isEnabled = this.featureSecurity.getSetting(context.objectDescribe.name, this.itemID) !== false;
          // Only allow batch adding from Accounts object for now
          var isProject = context.objectDescribe.name == "AcctSeed__Billing__c";
          var multipleSelected = context.selectedRows && context.selectedRows.length > 0;
          return isProject && isEnabled && multipleSelected;
      },
      "getLabel": function (context) {
        // This function returns the display label of the action item and is called before the item is shown
        return "Post Billings";
      },
      "createSubmenuItems": function (context) {
        // If this function returns additional action item objects, they will appear as submenu items
        return [];
      },
      "click": function (context) {
          // Include static resource from managed namespace pre-creates session and allows us to safely POST data without redirect issue
          var head = document.getElementsByTagName('HEAD').item(0);
          var script = document.createElement("script");
          script.type = "text/javascript";
          head.appendChild(script);
          var domains = window.location.hostname.split(".");
          if (domains.length == 3) {
            instance = domains[0];
          }
          else {
            instance = domains[1];
          }
          script.src = "https://AcctSeed." + instance + ".visual.force.com/resource/AcctSeed__ButtonJSFunctions?ts=" + new Date().getTime();
          script.onerror = function() {
            // Couldn't load app script, assume not installed
            popup.popup("Could not obtain session for Accounting Seed Financial Suite is the app installed?");
          };
          script.onload = function() {
            if (context.selectedRows.length > 0) {
              var selectedIds = [];
              Object.each(context.selectedRows, function (item) { selectedIds.push({name: "ids", value: item["Id"]}); });
              var parameters = {
                retURL: context.actionGrid.settings.pageURL,
              };
                sfdc.postToVFPage("acctseed", "BillingBatchPost", parameters, selectedIds);
            }
            else {
                popup.popup('Please select records', 'Select at least one record to process.');
            }
          };
        }
    });
});
  • Was this article helpful?