Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

download

Custom Numbering Callback Class

You can stamp custom number on the invoices by adding a callback class for Invoice Numbering.

To add the custom class

  1. Go to Setup > App Setup > Develop > Apex Classes.
  2. Click New.
  3. Enter the sample callback class code.
  4. Click Save.
    Note: This is just a sample callback class. You may change the code per your requirements.
    Warning: In order to implement the interface, prefix it with Apttus_Billing.CustomClass.<Interface Name>
    /** * Apttus Billing * DefaultCustomNumberingCallback * * @2011-2016 Apttus Inc. All rights reserved. */ public with sharing class DefaultCustomNumberingCallback implements CustomClass.IFacilitateCustomTransactionNumbers { /** * Evaluate the "object type" of the specified numbering configuration settings and determine * if the settings are valid for your custom implementation. For example, the default Apttus * implementation of this interface for the "Invoice" object type expects that only "field 1" has * been checked. This is critical because the user interface for the custom number entries * uses the numbering configuration setting object to determine which fields to force the * user to enter. Any field unchecked will be hidden from the user. * * @param customNumberingConfigSetting The custom number configuration setting to evaluate. * * @return true if the "custom numbering configuration settings" is valid for its underlying "object type", * otherwise return false. */ public boolean isValidConfiguration(CustomNumberingConfigurationSetting__c numberingConfigSettings) { if (numberingConfigSettings.ObjectType__c.equals(CustomClass.CUSTOM_NUMBERING_OBJECT_TYPE_INVOICE)) { if (true == numberingConfigSettings.FieldOneEnabled__c && false == numberingConfigSettings.FieldtwoEnabled__c && false == numberingConfigSettings.FieldThreeEnabled__c && false == numberingConfigSettings.FieldFourEnabled__c && false == numberingConfigSettings.FieldFiveEnabled__c) { return true; } } return false; } /** * Build the list of "lookup key" field lists for the each of the * specified Invoices. * * @param invoices The list of Invoices to evaluate and to find the * corresponding list of lookup key field lists for. * @param customNumberingConfigSetting The custom number configuration * setting for Invoices. * * @return the list of lists. Each element of the returned list must * contain the "lookup key" field list for the corresponding Invoice. * The number of lists returned must match the number of Invoices passed in * and the ith list must correspond to the ith Invoice. For example, if * 2 Invoices are passed in, then 2 "field lists" should be returned and * the 1st field list must correspond to the 1st Invoice and the 2nd * field list must correspond to the 2nd Invoice. */ public List<List<String>> fetchInvoiceCustomNumberingFieldLists( List<Invoice__c> invoices, CustomNumberingConfigurationSetting__c customNumberingConfigSetting) { List<List<String>> fieldLists = new List<List<String>>(); for (Invoice__c inv : invoices) { List<String> fieldList = new List<String>(); fieldList.add(inv.BillingCountry__c); fieldLists.add(fieldList); } return fieldLists; } }

To add the name of custom callback class, go to Setup > App Setup > Develop > Custom Settings and click Manage beside Billing Custom Classes. Click Edit for System Properties and enter the name of your custom callback class in Custom Invoice Numbering Callback Class.