Difference between revisions of "Command editor"

From Resco's Wiki
Jump to: navigation, search
Line 1: Line 1:
[[File:Form commands.png|thumb|right|250px|In the app, form commands are available from the Hamburger menu]]  
[[File:Form commands.png|thumb|right|250px|In the app, form commands are available from the Hamburger menu]]  
When you are designing an app project in Woodford, you can [[Form#Add_commands|customize commands]] that available on your [[form]].
When you are designing an app project in Woodford, you can [[Form#Add_commands|customize commands]] that are available on your [[form]].
# Edit a form.
# Edit a form.

Revision as of 16:26, 4 December 2019

In the app, form commands are available from the Hamburger menu

When you are designing an app project in Woodford, you can customize commands that are available on your form.

  1. Edit a form.
  2. Click Edit to open the command configuration window.
  3. Move commands from the Available Commands pane to the Selected Commands pane.
  4. If a command has multiple options (like ChangeState, ChangeStatus), select it and click Properties to configure the available options.
  5. Click Save & Close.

Available commands

  • ChangeState – Change state code of a record. You can also specify which state options will be available to users. Each state option will be displayed as a separate command.
  • ChangeStatus – Change status code of a record. You can also specify which status options will be available to users. Each state option will be displayed as separate command.
  • Delete – Deletes the record from the database. If it is performed in offline mode, after synchronization it is also deleted from the CRM server.
  • EmailLink – Creates an email with links to the record, for CRM server and for Mobile CRM application.
  • Favorite – Adds/Removes record from Favorites. You also need to add Favorites to Home to give users a way to access favorite records.
  • PrintReport – Runs a report. For more information read How to run an SSRS report via the Resco Mobile CRM app. Blog
  • RunMobileReport
  • Scan – Only on the new records belonging to Contact and Lead entity – Starts barcode scanner and by scanning VCard/Me Card enabled QR code on a business card (or elsewhere) it will fill in appropriate fields of a new record.
  • ScanBusinessCard – Only on a Contact and Lead entity – Similar to the previous command, but runs CamCard application to scan business card and by using text recognition it fills in the appropriate fields. User needs to have CamCard application installed on the device and needs to enter CamCard Api Key to Project’s Configuration (section Advanced).
  • Qualify – Allows record qualifying. Available on Lead and Activity entities.
  • GetProducts – Loads products to Invoice or Order from the selected associated record (e.g. opportunity).
  • WonOpportunity – Sets opportunity as won and closes it.
  • LostOpportunity – Sets opportunity as lost and closes it.
  • CreateInvoice – Creates an invoice from the order.
  • CheckIn
Hidden commands
  • UpdateGPS – Sets the current device’s position to record’s latitude and longitude fields, by using Google Maps Services.
  • UpdateAddress – Sets the current device position (latitude, longitude fields) and address (Street, City, Country) by using Google Maps Services.

Each command can be adjusted with the On Can Execute and On Execute rules.

Business card scanning

CamCard integration with Mobile CRM app works in such way, that when creating a new Lead or a Contact, you can select a command (in Mobile CRM app) that starts the CamCard app and you can scan the card. Then it transfers the information back to Mobile CRM app’s new Lead or Contact record.

You need to do the following:

  • Enable the command (ScanBusinessCard) on Lead or Contact entity edit form.
  • Install the CamCard app on your device (with iPad you need to install the CamCard app from iPhone, not the HD version)
  • Obtain Open API key for iOS from Intsig (company that develops CamCard app) and enter it into app project’s Configuration CamCard ApiKey field. This key is used for both iOS and Android platforms.
Note Intsig has special pricing for Resco customers, you just need to specify that you are Resco customer when contacting them. If you are not already in contact with Intsig, you can let us know and we can give then contact to Intsig.

Resco Mobile CRM app can update the following fields by using the scanned card information from CamCard:

LastName Tel (Work/Home/Fax/Cell)
FirstName Email (Work/Home)
MiddleName Address
Prefix GEO
Suffix Url
Title NickName
Org Bday

Check in / check out

The check in and check out commands can be used to indicate when an activity starts and ends. For example, technicians may want to document when they start working on a task and when they finish. This functionality is available from the 11.2 version of the application. It can be configured for any entity available in Woodford; however, if your entity does not include date fields, the commands don't make sense.

  1. In an app project, edit a form of an entity. For example, use the Appointment entity.
  2. Click Edit and CheckIn to the Selected Commands pane.
  3. Select CheckIn and click Properties to open the configuration.
  4. Configure which entity fields should be filled when users tap the Check In and Check Out commands:
    • Check In time and Check Out time: These generally correspond to Start Time and End Time. These two fields are mandatory. Note that these fields become read-only so that users cannot manually modify time set by the commands.
    • Duration, Latitude, Longitude: Optionally, select additional entity fields. Geographical coordinates must be Float type, duration can be Float or Decimal number.
    • Status: Allows you to change the status of a record when you check in or out. If the status field is chosen, you also need to configure the fields Change Status after Check In and Check Status after Check Out. If you select more options, users must choose one of them.
    • If you want to make the commands available only for records with a certain status, use the parameters Check In possible for Status and Check Out possible for Status.
  5. Click OK to close the Check In Config window, then Save & Close.

Custom commands

You can also create custom commands where you define:

  • when is a command is available
  • what does it do.

Click New Command and enter a name and a label for the command.

You have two options for making the command to actually do anything:

  • Use the form rules On Execute and On Can Execute.
  • It is also possible to connect custom commands with offline HTML with Java Script and perform actions that are not available when using command rules.

Form rules

On Can Execute rule defines when the command is available for the user. In this rule you specify in what situation users can see and use the command, so that you can hide this command in situation, when its action is not suitable.

If Condition Command.Name Equals custom_del_street
Then If Condition Entity.addres1_line1 ContainsData
Then Step Command.isEnabled Assign True
Else Then Step Command.isEnabled Assign False

On Execute rule defines the actions that the command performs. It can be filling in some data, hiding fields, etc.

If Condition Command.Name Equals custom_del_street
Then Step Entity.addres1_line1 Clear

Example: Disable Update GPS command

A simple example is the Update GPS command on the Edit form’s Address tab. Users should not change the GPS position of a record, that already has the GPS position set so you can hide this command in such situation.

If Condition Command.Name Equals UpdateGPS
Then If Condition Entity.address1_latitude ContainsData
and Condition Entity.address1_longitude ContainsData
Then Step Command.isEnabled Assign False
Else Then Step Command.isEnabled Assign True

Example: Disable Delete command

Another example is when you want to prevent users from deleting a record. You can disable deleting records by not putting the Delete command on Selected commands section. But what if you want them to delete commands in some situation? You can add the Delete command but hide it in specific situations. In this case we will not allow users to delete records that are owned by different users.

If Condition Command.Name Equals Delete
Then If Condition Entity.ownerid Does Not Equal Current User
Then Step Command.isEnabled Assign False
Else Then Step Command.isEnabled Assign True

Example: Disable signature on Note attachment

Yet another example can be when you don’t want to have Signature on Note’s Attachment. To disable it, you need to go to Note’s Form and adjust the On Can Execute rule.

If Condition Command.Name Equals DocAction.CaptureInk
Then Step Command.isEnabled Assign False

The tricky part can be setting the command’s name. It needs to be exactly DocAction.CaptureInk (Beware, it’s case sensitive!).

Here is the list of all DocActions, all possibilities you can do with Note attachment’s commands:

Actions for an empty Attachment
  • DocAction.CaptureInk – Configures the view for Capturing Signature. When disabled, list of available commands is shown
  • DocAction.CapturePhoto – Asks user to capture a photo and loads the chosen media into the view
  • DocAction.SelectPhoto – Asks user to choose a media (image, video, depending on what the platform supports) and loads the chosen media into the view
  • DocAction.SelectFile – Asks user to choose a file and loads it into the view
  • DocAction.RecordAudio – Asks user to record an audio note and loads it into the view
  • DocAction.RecordVideo – Asks user to record a video and loads it into the view
  • DocAction.UseLastPhotoTaken – When user captures photo using the camera, and then wants to attach this picture to a Note, this action can be used, instead of Select Picture and navigating to the picture.
  • DocAction.LoadForm
Actions for non-empty Attachment, i.e. when there is a file attached to a Note
  • DocAction.Clear – Clears the view and marks it as empty
  • DocAction.View – Shows a preview of the loaded document (full screen, etc.)
  • DocAction.OpenExternal – Opens the loaded document in an external application. Which application will be used, is platform specific
  • DocAction.FindApp – Find external application for opening specific document. Find method is platform specific (i.e. find on Android Market)
  • DocAction.Download – Saves file in device, platform specific
  • DocAction.Copy – Copies image to clipboard
  • DocAction.Paste – Pastes image/file from clipboard
  • DocAction.Print – Prints the document
  • DocAction.ResizeImage – Lets user to choose smaller image resolution
  • DocAction.Import – Lets user import VCard attachment (handled in common code)
  • DocAction.Edit – Allows the document to be edited directly in Resco Mobile CRM application
  • DocAction.SendTo – Creates a new Email with the file/document as attachment
  • DocAction.Export – Save attachment as file to the device’s file system

Can Execute example

Can Execute rule can define what exactly should a command do. For example, it can fill in some specific fields and set the status code as busy.

If Condition Command.Name Equals Data
Then If Condition Entity.description Does Not ContainData
Then Variable Date_Time current SetToday
Step Entity.description Assign current
Step Entity.statuscode Assign Busy
Else Then Step Entity.statuscode Assign Busy