Академический Документы
Профессиональный Документы
Культура Документы
Sharing computer knowledge and help. -------- As of 7/2009 Currently looking for a new job so I may not be as responsive as normal to comments.--------- ======== New Easy Tech URL ------> www.eztech.tk
Normally someone pulls up the form from our internal website, fills it out, prints it, takes it to his or her manager for a signature, then takes it to finance. An Outlook form could speed-up the whole process plus you can do checking to
assure key fields are filled out. Not only that you can save a little paper and the form is less likely to be lost in the shuffle. I am not really wanting to get into digital signatures so I first contact everyone associated with this process to be sure they are OK with getting an email message and forgoing the signature for this process. I also talk with everyone to be sure I understand the process, what information is needed, and why, and who needs to get it, and in what order they need to get it. The process goes as follows: 1. Requester fills out the form. -Name and Address of Payee -Optional Phone number -Optional Project number -Check amount -Description of the expense and a project number if that applies -Where the check needs to go -Person requesting check -Date needed if before normal check run 2. Manager approves or rejects request - rejected request just need to go back to the requester - approved requests go to requester and to Finance Department 3. If the Manager approves the request Finance confirms the check cut date. Click on the link below for step 2.
Select Message form from the Standard Forms Library. All Outlooks forms are base on these basic templates. Most business processes will be based on the Message form which is used for sending email to other users.
When the message form opens you see an email looking form with some extra tabs in parenthesis (). The parenthesis means these are hidden tabs or pages.
Select (P.2) This is the first blank design page which I will use for designing my Check Request Form. The page is gray with a grid pattern of dots that are used to help align our form fields.
Use label control for creating text fields. Visual/Learning: From the tool bar select the tool box button to bring up the tool box window. From the toolbox select the capital A and drag it onto the page.
In the Properties box select the Display tab. Give this item a name. I prefix all labels with lbl which makes it easy for me to identify what the different fields are when I set up my tabs. More on this later on. This field is the title of my form "Check Request". This is what goes into the Caption field and is the text that I will see on the form. Next I want this text to stand out so I change
Whenever I need to place text this is the field I use. Make note here that font setting apply to all text in this label field. You cannot make part of the text Bold for example. To do this you need to use two different label fields.
Click the New button on the Field Choose window. Give this field a name, in this case I am calling it ReqDate for Request Date.
Under Type drop down select Date/Time and pick a date format from the Format drop down.
Now in Field Chooser under "Userdefined fields in Inbox" I have a new ReqDate Field that I can drag onto the
workspace.
By doing it this way I get two fields on the workspace. I get the text box that is configured for date type data and I get a label field as well. Right Click on the Text box and select Properties. On the display tab change the name to txtReqDate again this will help when I setup our tabs later on.
Quick Note: Under the Value tab you can see that this box is associated with the field I created "ReqDate". This field is what allows the date to move along with the form as it is emailed around. If this field box were empty then the data would be lost when the
Now close out of the Text Box properties and open properties on the label. Change the name to lblReqData and change the caption to "Check Request Date:"
Exit out of properties and you will see that the text does not fit in my label box so I have to use my mouse to click the handle on the left side of the label box and stretch the box so that the text fits again.
Issue: Add Currency and multi-line text field to Outlook form Quick: Use label control for creating fields for the right type. Modify properties for multiline. Visual/Learning: Use Field Chooser to create a new field called CheckAmount, type is Currency; select the correct format from the drop down.
Drag this new Check Amount object onto the workspace; again this will give me two items. A text box and a label. Open properties for the text box and name it txtCheckAmount. This is a required field on my form. I want all required fields to be Bold so I click on the font button and select bold.
On the label I select properties for the Name, Caption (again this is the text you see on the screen), and I make it bold using the font button
Next I add the description field in Field Chooser leaving the type as Text and the format as Text. I place the field on the workspace and I drag the text box bigger because I want to be able to have room to type a description regarding this check request.
I open properties on the text box and name it but I also check Multi-line so that more then one line of text can entered into this text box.
Edit the label as I have done before. I now have something similar to what you see below:
Select properties on the frame and name and set the caption.
Go to properties on the first radial button and on the Value tab select the New... button to create a field that will remember selection choices. Type and Format should be Text.
The "Property to use" is set to Value and the Value for this radial is set to Payee. The second radial I will set the value to Requester, and on the third the value will be Other.
All three radial buttons use the same CheckDisposition field to hold the value of whichever radial button is selected. As soon as the first radial was assigned the CheckDispositon field, then all the radial buttons in the frame took on that same field. The frame provides this grouping context. Below you see how the 3 radial buttons are named and the Caption used for each.
I am also going to add a check box to this frame for indicating if supporting documentation should be sent along with the check. The check box control will be independent of the radial controls. It just simply toggles on or off.
On the Properties page for the control click on New... and give this field a name "AttachDocumentation", Type - Yes/No, Format - Icon
Now just set the Display Tab Name and Caption. I use cbx to indicate this is a check box.
Now modify the To... button so that it says Approval, or Approving Manager or something like that. Right click on the button and go to properties.
I am going to add one more label field for instructions on using the "Check Request Date" field. Notice here that I can edit the label field in the workspace area and type without opening the properties page for the label. Just right click the label and select Edit from the menu to do this.
Now I have a big label with instructions and all the fields we have added.
Time to Clean it up a bit. I click and hold down the left mouse button anywhere on the page and drag a box through any part of a control to select it. Here I select 5 text boxes.
Now that they are selected I can go to the Layout menu and select Align, Left so that the left edges of all the text boxes line up together.
Now the text boxes are aligned left and I select the labels and align them to the right.
Now the label boxes align but the text inside the boxes is not quite right so I am going to set the labels to use right justification. With them all selected I right click to get "Advanced Properties" and select TextAlign and pick "3-Right" from the drop down box.
groups of items and fix the vertical spacing from Layout menu, select Vertical Spacing, and one of the options. In some cases it my be easier to manually place controls using the grid as a guide.
Next align the items in the frame control. To give some visual separation of the check box from the radial controls I am going to make a line out of an empty frame with a blank Caption field. I stretch the frame long and skinny. I can also manually adjust the height of the frame on the properties box. Here you can see that it is set to 4.
Play with the layout till it is pretty close to the way I want it.
Quick: File Menu, Save As... .oft file. Form menu "run this form" to test. Layout menu "Tab Order..." to set tab ordering of fields. Visual/Learning: Go to the file menu and select Save As...
After saving the file run it and see what it looks like. On the Form menu select "Run This Form". This is just a quick way of testing the form without having to install it first in a forms folder.
On the running form I have a couple of problems. The Message tab is showing so that needs to be hidden. Also the name of the tab that has my form is still named P.2 so that name needs to be changed. Now Click on the P.2 Tab.
The form looks pretty good but in trying to enter data I notice that the cursor does not advance through fields in the right order as I use the tab button. So that needs to be fixed as well.
First of all I select the Message tab and uncheck the "Display This Page" option. Next I select the P.2 tab and select "Rename Page..." and rename the tab to CheckRequest.
To fix the tabs I select Layout, "Tab Order..." to open the Tab Order window.
Here is where having used sensible names for the fields comes in handy. From just looking in this window I can see what fields are labels, text, and frames. It is also easy to tell which ones are the date, Check Amount, Project Fields, etc. All I need to do is start from the top and be sure that I am tabbing through the fields in the right order. I can use the Move Up and Move Down buttons to rearrange fields wherever I see the order is not correct.
The radial buttons and check box inside the frame control are controlled from a different Tab Order window. To change the tab order for the frame, right click on the frame and select "Tab Order..." from the pop up selection window.
There are 3 situations where a reply is required. 1. Manager rejects request, 2. Manager approves request, 3. Finance confirms check cut date. 1 and 2 both come from the manager so I could use a single reply form that just had a control to accept or reject the request. On the other hand I would like to route the rejected request just back to the requester, while accepted requests need to go to the finance department as well. I am thinking I want to pre-address these messages so they go to the right places automatically and the quick and dirty way to do this is to use two separate reply forms. I also need a 3rd reply form for responses from the finance department. There is no need to start reply forms from scratch. My current form already has all the right fields in it so just do a Save As and create 3 separate copies of our current form to be modified later.
Before working on the reply forms I want to modify what the receiver sees when he gets a form from the requester. One Outlook form can have two separate layouts. One layout for composing the message and a completely different one for reading the message. This is very useful in this case because I would like to put one set of instructions on the compose page for the person filling out the form, and another set of instructions on the read page for the person responding to the form. To separate out the read page go to the Form menu and select "Separate Read Layout".
Now go to the Form menu again and select "Edit Read Page"
On the read page you see that it starts off as being a copy of what is on the compose page. Below you can see I have changed the Read page by changing the title from "Check Request" to "Check Request Approval". I have also put some instructions in regarding what the person needs to do in order to Approve or Not-Approve the request, and I have deleted the instructions from the read form that were only for the requester to use.
I will also change the data fields to be read only so that the information that came from the requester is locked in. Go to the properties page on each field and check the box for "Read Only"
Now all the fields show as grayed out and their contents will be unchangeable on the read page.
Re-save this form as and OFT file and work on one of the reply forms. Here I have the OFT form that will be used for approved check requests. The title has been changed and all the instructions have been removed. Also all of the data fields have been set to "Read Only".
On the (Message) tab I am going to set the Subject properties under the value tab to be automatically set as "Check Request Approved". Even though the Message page is hidden the Subject will still show up on the form in the Outlook inbox.
I am also going to set the CC field to automatically populate with "Finance Check Approval". This is the name of an Exchange server email group containing the 2 people in finance that will need to see these messages. Now these people will automatically get these messages regarding approved check requests. I could have also addressed this message to individual people but in this case I am using a group. The nice thing about using a group is that you can change where the form goes to by changing the group membership and without having to make changes to the form.
OK Save the Approval form and open the Not-Approved form. Again I change the tile of the Form and I added a box for comments so that the manager can say why this request was rejected.
On the (Message) tab I am going to change the subject to "Check Request Not-Approved" but I am not going to send this message to any additional people.
Save the Not-Approved form edit the last reply form, which is the response form from Finance. Here I changed the title to "Check Request Finance Notification"
This box should be checked on all three of the response forms. On the "Check Request" form this box is not checked because this is the one that will get selected from the library to start off the process.
After this box is checked on the "Check Request Not-Approved" and "Check Request Finance Response" forms, I can install these two forms on the Exchange server. Open the "Check Request Not-Approved" form. On the Tools menu select Forms, "Publish Form".
In the drop down box select "Organization Forms Library". Note here that you can only install forms in the "Organization Forms Library" if you have permissions to do so. Give the form a name such as CheckNotApproved, and click Publish
Do the same thing for with the "Check Request Finance Response" form The other two forms require actions to be added so that they will call these response forms. Open the "Check Request Approved" form. When the Finance department gets this form they will need to respond with the "Check Request Finance Response Form". To make this work I will create a custom action on the (Actions) tab.
Click on the New button on the bottom left. This will bring up a "Form Action Properties" box. Give the action a name in this case "Finance Response". Click on the "Forms name" drop down and select "Forms...". This will bring up another "Chose
Form" window. In this new window select "Organization Forms Library". Because I have already installed the reply form, I now see CheckReqFinanceResp in the list. Select this form
and click on open. This takes me back to the "Form Action Properties" window and the "Form name" box has the form I picked. Now select the "Address form like a" area and pick "Reply to All" from the drop down box. I select this because I want everyone involved to know that the process is complete (Manager, Requester, and the other Finance person). I also select to "open the form" so that information from Finance can be entered on the form
before sending. Click OK on this page and then publish this reply form to the Organization Library just as I did with the previous 2 reply forms. Now I am ready to configure and install the main "Check Request" form. Open the form and under (Actions) tab create two new actions. Here you can see I have already created the new actions of "Approved" and "Not-Approved".
Below are the setting from the Approved action. This will open the CheckApproved form from the Organiztional Forms library. This form is set to Reply. This form will go back to the requester becuase of this Reply setting. This form will also go to Finance because several steps back on the "Check Request Reply" form, I set the CC field to automatically populate with the "Finance Check Approval" email group. Lastly this action is set to "prompt the user to open or send". I could also set this to "Send the form immediatly" since there no input required by the manager on this form.
For the "Not-Approved" action I again select the form from the organization library and configure it to address the message like a "Reply". In this case the message will only go back to the requester because I did not automatically populate any of the email address fields on the "Check Request Not-Approved" form. Here I set the action to "Open the form" so that the manager has a chance to enter information about why the request was rejected.
Visual/Learning: The quick way to do this is to open the properties for a field, go to the Validation tab and select the check box "A value is required for this field"
The down side of doing it this way is that the error message you get is pretty vague. All I get for an error is that "A field on this form requires a value". So the poor person filling out the form has to guess which field on the form is missing required data.
A better way to do this is to use formulas to check my fields and assign error messages that are more friendly to work with. The formulas will change a bit depending on what kind of data I am checking. To do this I need to know the name of the field I want to work with and what it is. I am going to work with the text field Payee so I right click on the field go to properties select the Value tab and I see that "Payee" is the name of the field value. Makes sense, so now I go to the Validation tab.
Here I check the box for "Validate this field before closing the form" and I put in the formula box "Asc(Payee)>0". All text is represented to the computer as a number code. The code comes from the American Standard Code for Information Interchange or ASCII for short. In the formula Asc is even a shorter version of ASCII. I look for the ASCII code for the text in the payee text box. As long as that box is not empty it should have an ASCII code of more then zero. That is why my formula tests to see if the ASCII code for the contents of the Payee field is greater then zero. Now the great thing is if it is not greater then zero I get to write my own error message. In this case I put "You must enter a name for the Payee". Now when someone tries to send this form with out filling in the Payee field they get a message that tells them exactly what needs to be fixed. This trick should work with pretty much any text field.
For radial buttons the same trick works because when I click on the button it assigns a text value to the field. First get the name of the field.
Check if the ASCII code for that field is greater then zero, and specify an error message.
The one thing of note here is that when you set validation on one radial button all the radial buttons in that group get the same setting, so you do not have to do it on each individual button.
The check amount is a number field and the default value gets set to zero. Because it does not make sense to request a check for zero dollars I will check that the value of CheckAmount is not equal to zero. <> in the formula means not equal.
That is pretty much all we need for this form because we are only checking for text and number fields in this form. But if you need to check a date field this is how I have done it in the past. This formula is from a New Hire form I created. The default date field shows "none" when you run an Outlook form, but the computer really sees that as some date in the distant past. Now() is a function that gives me todays date. A formula like Now()<[StartDate] would check that the date entered was after today. So tomorrow, next week, or next year would be fine. A start date of today's date, yesterday or any older date would generate an error because today is not an earlier or smaller date then the start date. In the case of the example below I am checking for Now() minus 10 days. In theory New Hire forms should be filled out before people start work, but in reality that is not always the case. This formula gave people a few days to get in the New Hire form after the employee starting working with no error, but it would still give an error if they forgot to put anything for a date.
In the "Choose Form" window under "Look In:" select "Organization Forms Library" and select the form CheckRequest. By clicking Open you could launch the form and fill it out. In this case I just want to know the message class, so click on the "Details" button and you can see the message class at the bottom of the window.
With the message class information I can modify the java script found on the aforementioned website to access my form. Here is what the first part of the script looks like. Just sets up variables and the function to open the form.
The next part of the script I have highlighted in yellow the parts I changed to launch 3 company forms using buttons, or to launch the same 3 forms using a web link. This jpg may be hard to see. I tried just entering the text here but each time I did the blog site just tried to interpret the code. The part that gets changed is the Title of the form that you see on the internal website and the message class that gets passed to the function we saw above for opening the form.
When I open the web page in my browser I can now see three buttons and three links for my 3 company forms.
I click yes, and now my form opens so I can fill it out and hit the send button.
While I am on the topic of accessing Exchange information from an internal website, I will mention getting to public folders. Here is a link to get to our shared company calendar in the public folders. outlook://Public%20Folders/All%20Public %20Folders/Administration/CompanyCalendar The calendar is under Administration, which is under "All Public Folders", which is under "Public Folders" %20 in this link represents a space character. You can use a link this to access pretty much any public folder.
This is the form the manager receives. Notice I have added a picture box that shows the approving manager where the buttons are for approval.
Here is what the requester and finance department gets when the manager approves the check. Notice that finance has a button that allows them to respond, "Finance Response" button in the upper left corner.
finance response looks like, check cut date and any notes:
Here is what the manager response looks like if the check is Not-Approved. This response goes only to the requester and is not seen by finance. Just has place to explain why it was rejected.
If you do not see your reply buttons on the tool bar check the properties of the Approve and Disapprove actions on the Actions page of the form. The show action box should be checked and the Menu and Tool bar option should be selected.
Visual/Learning: Here is an example of a form I created for the help desk in a previous company. There is a place for name, phone number, and some quick click radial buttons.
If you want to know how to create the radial buttons and so forth please refer back to the start of this series:
Outlook Forms 1
During a big laptop roll out project, the help desk group wanted to provide a quick and easy way for users to contact the help desk. We added an Outlook form .oft file to file laptop image so this form showed up on the computer desktop. Sue Mosher, who has written several wonderful books on Outlook forms, informed me that as of Outlook 2003 SP2 you can no longer launch forms from an oft file. Now you must install the form in Outlook Personal Forms Library (or on the Exchange server). Here is a link she gave me to the Microsoft page regarding the changes. Thanks, Sue! You need to make sure that the form definition is sent along with the message, so be sure this is set on the (Properties) page of the form as you see below.
On the (Message) tab I address this form to the IT Helpdesk group. You can set this
anyway you like. It could go to a particular hard coded email address, or if you have an Exchange server you can send it to a group or to a public folder. On the subject tab I created a formula so that the subject line gets populated with the requester's name.
To see this first I right click on the subject field and go the Value tab. Here you see that I am setting the initial value for the subject field. The text "Help desk request from " is followed by the "&" which adds on the field [InsertName]. This is the custom field on the form where the user enters his name. So for example, if the user name was Joe Brown, when the user launches the form and enters his name, the subject line will change to: Help desk request from Joe Brown
The one element that I have not talked about on this form is the Logo. To get a logo on the form I drag and drop a picture tool onto the form.
Right click on the picture box and select advance properties. Click on the picture property and point it to the location of your logo file (or any picture want to have on your form).
In the next forms post I will talk about how to collect data from these forms.
Select the "Personal Forms Library". Give the form a name and publish it.
I am going to create a seperate folder for all the help desk forms to go into.
Here I have 3 forms that are in the folder. Now I want to change the columns I see in the view.
When I click OK I get a View Summery window. I am going to remove the fields I don't want first.
Now I am going to add fields from the form I created and installed in the personal forms folders. From the drop box pick Forms...
Select "Personal Forms" and pick the HelpDesk form. Click on Add.
Now my "Available fields" shows the fields from my form. I select the ones I want to see in the new view.
I click OK and apply the view and now I see new columns in my view of the HelpDesk folder and I can sort by Severity if I want. Note that you the radial values have to be setup correctly to see relevant data. If you have problems with this see my previous post http://qvlweb.blogspot.com/2008/08/outlook-forms-5-frames-radials-check.html regarding how to do this.
You can also do formating on the columns right in the view. Right click on the heading bar and select "Format Columns..." and you can change the way the date and time looks or rename the column headings.
What if I want to put this data into a spread sheet and take it to a meeting? No problem. Select all of the lines in the view and press cntrl-c to copy.
Open Excel and press cntrl-v to past what you see in this view into the sheet. You should now see the data
Here is the updated one with some extra fields for christmas gift list and so on:
Of the downloaded files in the zip, the file that really matters is "Reset Message Class.oft". You can install this in your personal forms library if you want or you can open it in design mode and run it from there. Either way should w0rk. Next you need to know the names of the old and new message classes. You probably already know this but if you don't you can get it by changing the folder view. Current View
With the list view up Right Click in the list headings area and a menu will appear. Select Field Chooser
In the Field Chooser Box Select "All Contact Fields" in the drop down. Select Message Class from the list
Now you can see the names of the message classes in the list view.
Now it is time to run the "Reset Message Class.oft" form . Click the Select Folder button and Select the folder that has the forms you want to change.
Click the Change button and enter the old and new Message Class Names. Click on Proceed.
It may take a couple of minutes depending on the number of records you have to update so be patient. When done you should see indication of how many items were processed and an OK Button.
Back on the list view of our contacts folder you will see that the Message class has been changed on all of our existing forms.