Sometimes, you may wish to keep track of information that currently does not exist in the stock apps or in QuickBooks. For example, you may wish to keep track of the birthday of a Contact.
Method:CRM allows you to do this through the use of custom fields. This will require customization of the stock Method:CRM Apps. Having a good understanding of Tables and Fields will be beneficial while you go through these steps.
This is different, however, from adding a custom field to a customer. The more important part is not getting the two confused. For more information one when to choose one over the other, please see our article Add a Custom Field to a Customer.
In this document, we want to add a birthday to the contact, so we will need a new custom birthday field. To fully implement this, you will need to:
Add a custom field to the Contacts Table.
Customize the View Contact screen.
Customize the Edit Contact screen.
Customize the New Contact screen.
Add a Custom Field to the Contacts Table
Fortunately, we have an article for this: Add custom field to existing table. Follow the steps in this document, except use the following:
Field Name: Birthday
Field Type: DateTime
You may notice an existing field called BirthDate. We can't use this because it is linked to a customer, and we want individual birthdays for multiple contacts who may be part of the same customer.
Customize View Contact Screen
There's not much space on the left panel when viewing a contact. It's best practice to only show what is needed on this screen. In this example, we'll put the custom field underneath the Alt Phone field.
1. Go to the Contacts List and view any contact. Make sure you are viewing the contact and not editing.
2. From the heading dropdown menu, Customize Screen to enter design mode for the View Contact screen.
3. When prompted View as Read-Only or Create a copy, choose the latter: Create a copy.
4. Scroll down until you find the section secContactPhone2. In the header of this section, click ROWS ⊕ twice so two rows appear. In the below image, two more rows appear underneath AltPhone.
5. The first AltPhone1 is being used as a label. To keep the same settings, let's copy this label. Click the ▼ symbol beside AltPhone1, and from the resulting menu, click Duplicate.
6. Select the newly duplicated object and rename it Birthday. Then Drag it below Altphone.
7. If you were to save your changes (which you should), and then close the screen, you would notice the spacing is off. So we'll fix the spacing so the birthday is separate from the Alt Phone. Select the cell row the Birthday label is in. Then in the cell's properties, change the Top Padding to 1x.
8. Now for the Birthday field. Click the + in the property tabs, and from the fields, drag in the Birthday field into the bottom row of secContactPhone2. (Remember, there are two fields related to "birthday", so make sure you drag in the one you created.)
11. By default, it displays as an editable field but we need to change that because this is a View Contact screen. You can only view the contact, not edit it. So select the Birthday field and change Display As setting to Text.
12. Make sure the Text itself is empty.
13. Under Display Format, change Format as: to Short Date.
14. Click Save to save the screen, and then click Close to exit Design Mode.
When you view the View Contact page, you will see your Birthday caption, but no birthday because none has been put in. Let's customize the Edit Contact screen.
Customize Edit Contact Screen
1. Edit any Contact to go to the Edit Contact screen.
2. From the heading dropdown menu, Customize Screen to enter Design Mode for the Edit Contact screen.
3. When prompted View as Read-Only or Create a copy, choose the latter: Create a copy.
4. We can enter this anywhere. For this example, let's put it above the taglist. Find secDetailsColumn4 and right-click the row with the TagList field. Insert a row above this row.
5. In this row: Drag in the Birthday field. Make sure you drag in the correct field, and not the Birthdate field.
6. With the Birthday field still selected, under Display Format, change Format as: to Short Date.
7. With the Birthday field still selected, change its Caption Font Weight to Bold.
8. Click Save to save the screen, and then click Close to exit Design Mode.
We're almost done! Now that we can now view the birthday and edit the birthday. One more screen left.
Customize New Contact Screen
Creating a new record for another app is normally a simple process, however the relationship between Contacts and Customers makes customization of the Contacts App more involved.
In the New Contact screen, when a contact is created, the screen creates the Entity first. In other words, it creates either the Lead, the Customer, or the Vendor first because a contact cannot exist without an entity.
However, when Method:CRM creates an entity, it automatically creates a contact behind the scenes.
So if you want to save a custom field, you will have to update the contact which was created. These steps will cover how to do that.
1. Click New on the Contacts App.
2. From the heading dropdown menu, Customize Screen to enter Design Mode.
3. When prompted View as Read-Only or Create a copy, choose the latter: Create a copy.
4. Find the secEntityInfo section and insert another row at the top above the TagList field. Then drag in the Birthday field and select it.
5. Under Display Format change Format as: to Short Date and change its Caption Font Weight to Bold.
6. At the bottom of the screen, within the secFooterButtons, you will find a control called SaveBASE. Click the down arrow to open up its contextual menu and then select the Click event.
The SaveBase control contains the main actions used for saving the new contact and customer. It is called by all the other save buttons.
7. In the action set, within the IF condition "If Create was chosen then" conditional, find and select the Update Fields in Table action (The 16th action). Make sure it is the correct action embedded in the IF condition. It will have the internal note: "Update the Contact record that was automatically created by the Entity insert."
8. Add Another Field to this action.
Field(s) to update: Birthday
Update using this value: Birthday (within the dropdown, you'll find it under Control)
9. Click Close at the top of the screen to close the action set.
10. Save the screen and then Close the Design Mode.
And that's it! You have successfully added a custom field to be displayed and edited for the Contacts App!