CCCalendarSE

Clients

How Can I Associate a Client With an Appointment?

You can link appointments to clients right in the New Appointment mini window when you are creating or editing appointments. In the New Appointment Mini Window, you’ll see a line under what would be the client’s name, to the right of this an arrow points off screen: clicking that arrow will reveal additional window options wherein you can select or create a client.

You can filter this list of available clients by typing in the first few letters of the client’s last name or of their company name. Clicking on the blue arrow pointing to a client will link that client to the appointment; clicking again will un-link the client. Linking multiple clients to a single appointment is not built into the Calendar at this time; please contact Cleveland Consulting for an estimate on adding this feature to your copy.

If the client you want is not listed you may create new clients right in this New Appointment (or Edit Appointment) window. Simply click the green New Client button: the client you create will automatically be added to your client’s database and linked to this appointment. Note that in the shipping version of CC Calendar SE, only a few client fields are present on the Edit Appointment mini window. Should you want to add additional fields like the client’s address, you can easily make this window bigger and add any additional fields from the Clients table you’d like: be sure to add these fields from the AppointmentsDailyClients table occurrence.

How Can I Create New Clients?

You may create new clients ahead of time or right when you’re creating an appointment.

Ahead of Time. Navigate to the Clients section of the About tab. There you’ll see a portal or clients; simply click New Client to begin entering a client’s information. You’ll be actually entering the client in the Edit Selected Client fields in the right half of the screen.

You can search for clients by entering the first few letters of their last name into the Client Name Begins with field atop the client’s portal. Items entered here will match on the client’s Last name and on their company name.

Note that you can also import a list of clients into CC Calendar. To import clients, make sure the status area is showing and navigate to the SettingsClients layout in layout mode. Enter browse mode and you’ll be on a layout based on the client’s table. Here you can delete all the existing clients (if you wish) and import new clients using FileMaker’s build in functions (File / Import Records). Please note that if you do import clients you’ll likely NOT want auto-enter options “on” as you’ll likely want to keep the ID numbers your clients already have. If that is the case you’ll need to update the serial number used in the Clients table to make sure it is one higher than the highest serial number used in your list of clients. To to this, enter define fields and define the PrimeClientIDX field in the Clients Table; adjust the auto enter serial number options.

Creating New Clients at the Time of Creating an Appointment. You can create new clients right in the Edit Appointment Mini Window when you are creating or editing appointments. In the New Appointment Mini Window, you’ll see a line under what would be the client’s name, to the right of this an arrow points off screen: clicking that arrow will reveal additional window options wherein you can select a client. That screen also contains a New Client button; so you can create your new client right there.

How Many Clients Can CC Calendar Handle?

There is almost no limit to the number of clients you can include in the clients table in the Scheduling Edition of CC Calendar. (Thought each appointment may only be associated with just 1 client). However, you may wish to change one of the calendar settings if you have a large number of clients.

Using the default settings you may see a Sort progress bar when navigating to the About / Client’s screen if there is no value in the client filter. (The client filter is the one labeled “Client / Company begins with”.) This is because the client portal on that screen is sorting all your clients; filtering this portal shows fewer clients and dispenses with the lengthy sort. So, if you’re seeing progress bars when selecting clients, you’ll want to navigate to the About / Settings screen where we've added a setting to the upper right of that screen which lets you change the behavior of the contact's portal so that it only shows contacts if there is something in the type ahead filter. The calendar ships with "Empty Client Type-Ahead" shows "All" but you’ll want to switch this to "none" if you are seeing progress bars on client sorts.

Note that on the About / Client screen, when you select a client we actually go to that client's record (if you open the status area you'll see a huge found set on this About / Clients screen and that we switch records with every client selected). We do this to avoid record lock: if we'd left the About / Clients screen based on the CalendarSettings TO, only one use would be able to edit clients at a time, because as soon as they began editing a client they'd "lock" the CalendarSettings record the layout is based on. This way they lock the one client they are editing.

As an aside this is not an issue on the Daily view, for instance, because we don't edit the appointment "on" the daily view, we do so in a mini window based on the Appointments TO, thus only locking the appointment we're editing.

How Do I Swap Out the Client’s Table?

You can easily modify the calendar to use your own clients (or contacts) table instead of the one that comes with CC Calendar SE. Here's how...

1. Backup Your Files.

2. Getting Started. Begin by placing your contacts or client's file in the same folder as CCCalendar_ScehdulingEdition.fp7 Open both CCCalendar and your clients file.

3. Preparing Your File. The Clients table in CC Calendar SE is _very_ simple. But it does have a few fields that you'll want to make sure are in your client's file. In fact, even if you don't use our naming convention long term, it can be helpful to rename your fields to match the ones in our Client's file for the duration of this modification. It will make it a bit easier to follow these instructions, and you can always change the names back. So, you'll want to create the following fields in your clients table, or edit the names of your corresponding fields to match these.

CommonOne - A calculation defined to return the number "1". Calculation result is number.
ClientCompanyName - This is just a text field with the name of the company. Our clients file looks up the company address if you enter the name of an existing company. You may not wish your clients file to behave this way and can omit this feature.
PrimeClientIDX - I'm sure you have a numeric serial number in your clients file. =) If not, please create one; make it a number field, set to auto enter a serial number and to prohibit modification.
ClientTypeAheadKeyCalc - This is a simple type ahead calculation that formats the client's last name and their company name like this:
B
Bo
Bow
Bowm
Bowma
Bowman
-

Note that ours appends a dash to the end of this- that is important, so please add it to the end of your calc or create a new type ahead calc for this purpose. Our calculation uses a custom function for this. If you have FileMaker developer, you can simply copy this custom function into your file. If you don't have developer you can do this the old way in a simple calc like this:

Left ( CompanyName ; 1 ) & ¶ &
Left ( CompanyName ; 2 ) & ¶ &
Left ( CompanyName ; 3 ) & ¶ &
etc.
Make sure to do both the company name and the client's last name and to end with a dash: & ¶ & "-"
ClientHighlightCalc - This is the field we use to highlight the selected client. It returns the type “container” and is defined as...
If ( SettingsClients::PrimeClientIDX = CalendarSettings::CalFilterSelectedClientGlob ; Interface::IntHighlightGreenGlob )
...notice that this calculation references two table occurrences from the Calendar. These will need to be added to the graph in your file (meaning you’ll have to cerate a file reference for CCCalendar_SchedulingEdition in your Clients’ file. Once that file reference is in place, add table occurrenes named “CalendarSettings” (from the table Calendar) and “Interface” (from the table Interface) to your graph and then define this highlight calc.

4. Define a File Reference. In CC Calendar select Define / File References from the FileMaker File Menu. Click "New" in the lower left and then click "Add File" in the top right of the next screen. You'll be prompted to select a file, pick the file containing your clients table. Your file reference should now read "file:<<yourfilename>>.fp7" Click "OK" in the lower right.

5. Switching the Table Occurrences. At this point we'll switch all the Clients' table occurrences (TOs) in the Calendar's relationship graph to point to the new client's database we're using. Select Define / Database from FileMaker's File Menu and click on the "Relationships" tab so that you see the relationship graph. Each colored box in this graph represents a table occurrence (TO) we'll be editing just a few of these; fortunately, the color coding in CC Calendar makes this very easy. All the Clients' TOs are a bright purple color. The first of these is called "Clients" can can be found in the first group of TOs, beneath the "Data" heading which is itself beneath the "Table Listing" heading.

Double click on this TO and you'll see the "Specify Table" dialog window. Note that the TO is currently from the "Clients" table and that it is from the "Current File..." (You can see the file attribute in the pop up list to the right of the word "File:" near the top of this dialog.) It is important as we repoint these TOs that we don't rename them. This one is currently called "Clients" and we'll want to paste that name back in there after we point this at another table. From the "File:" pop up, select your clients file. You'll now see a list of the tables in your file. Select the table the contains the primary key for the records you want to related to an appointment; in most cases this will be your contact's table (since one usually has appointments with individuals instead of companies). Select that table and then change the name of the TO so it continues to read "Clients." Click "OK" to close the dialog.

You're going to do this with 4 other TOs, making sure that in each case you don't rename the table occurrences in the process. You'll be repointing the following TOs (remember, these are all bright purple):

AppointmentsDailyClients
SettingsClients
SettingsClientsCompanyName
SettingsClientsSelected

6. Fixing the Relationships. You may have noticed that as you pointed each TO to another file, the relationship graph changed so that TOs previously related to these client TOs don't always relate the same way. This is because even though you have fields in your table with the same name as fields used in ours, your fields are not in the same "place." We just need to go through these 6 relationships and make sure the relationships are using the correct fields. For each relationship below, double click the line connecting the two TOs and make sure the criteria used match the criteria below...

From "Clients" to "Calendar Settings": Clients::CommonOne = CalendarSettings::CommonOne
From "CalendarSettings" to "SettingsClients": CalendarSettings::CalLinkSeletedClientTypeAheadCalc = ClientTypeAheadKeyCalc
From "SettingsClients" to "SettingsClientsCompanyName": SettingsClients::ClientCompanyName = SettingsClientsCompanyName::ClientCompanyName
From "CalendarSettings" to "SettingsClientsSelected": CalendarSettings::CalFilterSelectedClientGlob = SettingsClientsSelected::PrimeClientIDX
From "SettingsClientsSelected" to "SettingsClientsSelectedAppointments": SettingsClientsSelected::PrimeClientIDX = SettingsClientsSelectedAppointments::ApptKeyClientIDX
From "AppointmentsDaily" to "AppointmentsDailyClients": AppointmentsDaily::ApptKeyClientIDX = AppointmentsDailyClients::PrimeClientIDX

7. Fixing the Layouts. At this point everything is basically hooked up. However, since the fields in your clients table aren't in the same place as in ours, the layouts showing client information will likely be displaying incorrect fields from your clients table. For example, where we have a field labeled "city" you might be seeing a phone number. To fix this you just want to scan through the layouts that contain client information and double click on each client field to make sure it is displaying the correct field from your table. You'll want to scan the following layouts this way:

About - Clients

Each of the Daily View layouts (where we show the client's name in the appointment's portal).
Mini Window Edit Appointment
Mini Window Edit Appointment Client Info
Mini Window Show Repetitions
Search Appointments
8. The Schedule Display Calc. When it comes to the scheduling layouts, client information is displayed in a calculated field in the Appointment's record. This will also need to be edited to make sure that calc is pulling in the correct attributes from your clients file. Select Define / Database from FileMaker's File menu and select the Fields tab. Use the table selection pop up list in the upper left of that screen to select the CCCalAppts table. You'll wish to edit the ApptDisplayOnScheduleText field, so double click on it. You'll see a number of references to the clients file there. Below you'll see how the calculation was originally set up. You can reproduce this setup using the fields from your clients table, or create your own calc that displays the information you need to see:

ApptTitle &
If ( not IsEmpty ( AppointmentsDailyClients::PrimeClientIDX ) ;

¶ & AppointmentsDailyClients::ClientNameLastFirstCalc & If ( not IsEmpty ( AppointmentsDailyClients::ClientCompanyName ) ; ¶ & AppointmentsDailyClients::ClientCompanyName ) & If ( not IsEmpty ( AppointmentsDailyClients::ClientPhone ) ; "¶tel. " & AppointmentsDailyClients::ClientPhone ) ) // End If Client

&
If ( not IsEmpty ( ApptDesc ) ; ¶ & ApptDesc )

9. A Quick Change in Scripts. A couple scripts make reference to specific fields in the clients table. Most references are to the field PrimeClientIDX in your client's table. Edit the following scripts...

Select Client: There are several reference to the clients table here: each should be to PrimeClientIDX.
New Client: There is one SetField step here which should reference PrimeClientIDX. The GoToField steps at the end of this script each point to the Client's First Name field.
Edit Appointment - Client: The second "IF" statement here should refer to PrimeClientIDX as does the SetField step following it. The next SetField pre-fills the client filter with the company name of the selected client; this set field should be formatted like this...
If ( not IsEmpty ( AppointmentsDailyClients::ClientCompanyName ) ; Left ( AppointmentsDailyClients:: ClientCompanyName ; 5 ) ; Left ( AppointmentsDailyClients::ClientNameLast ; 5 ) )
Finally, the Export Appointment Found Set as iCal includes a number of fields from the client's table in the "Description" section of the Event Header. If you intend to export to iCal you'll want to edit the big set field in this script to include the kind of description you'd like to see in your iCal export.
(855) SEEDCODE
[email protected]
Follow us: