Default descriptions can be specified in AX2012 here:
Organization administration > Setup > Default descriptions
When a default description with no specified parameters is selected a little misleading default text is displayed in the Optional variables textbox: %4 - %6 = Key1 - Key3. This text is coming from the Forms\TransactionTexts\methods\setFormParametersText method, and displayed only if there is no parameters were added.

As soon as a parameter is selected this text is replaced, based on the selected fields:

Any field can be added on the grid from the tables available in the lookup of the Reference table column.

Adding fields on the parameters grid is not enough to get the wanted default description text, the selected optional variables should also be referenced in the Text field. Here the string should be inserted manually, it is not generated automatically by the system:

The list of the selectable tables is specified in one of the subclasses of the TransactionTextContext Class:

If you need a field value that is not coming from the available tables you have to modify the subclass containing the definition of the context for the selected default description.
First you have to find the element for the default description in the LedgerTransTxt base enum:

In this test example the element is PurchInvoiceLedger. Searchching for this element name returns the subclass that implements the context for our default description:

As you can see in the class declaration this context is used for several source document type, so you have to be careful, because a modification can affect other default descriptions too.

If you want to add a third table to this context than you should modify each method in this class following the patterns in them.
You also have to search the system where this LedgerTransTxt element is used and add a setKey3 and a setTableBuffer method call.

You must use a single key field value as a parameter for the setKey1 - setkey3 methods. If the table does not have a single key you can use recid, but you have to convert the value using int642str as the method signatures contain a string type. So the Key1- Key3 in the default text means that the single key field of the buffer should be given to the setKey1 – setkey3 methods as a parameter.
You can also create a totally new description if needed. Lets say you have to create a new default description for a special movement journal that has a specific journalname value saved in the inventparameters. You have to add a new element in the LedgerTransTxt enum and implement a new subclass of TransactionTextContext base class. Than you have to modify or override the method that creates the transaction text using the newly implemented context. In this example you have to override the JournaCheckPostLedger.ledgerTransTxt method in InventJournalCheckPost_Movement subclass to use the newly implemented context when the journaltable contains the specific journal name.