Skip to main content

Sort Vote Time in Descending Order for Signoffs in Aras Innovator

By default, signoffs are sorted by vote time in ascending order. That means the latest record will be at the bottom. It is hard to check the newest information if there is a lot of records, and the "Vote Now" link will also be at the bottom
Signoff page is rendered by running a Report named "Workflow Process History". And a Report Item can define style sheet for output.
Therefore, open the style sheet of Workflow Process History and find sort definition at line 189 (shown in Figure 1), there are 2 conditions:
  • Sort "state" in descending order.
    For a valid Workflow Process, there are only 2 kinds of Life Cycle State for Activity -- Active/Closed. So, according to alphabetical order, "Closed" will be sorted before "Active".
  • Sort "closed_on" in ascending order.
    In order to sort by vote time, date string should be split into numbers. Using XSLT function -- substring -- can extract all these numbers. And then, they could be sorted in numerical order.

Figure 1

After knowing the principle, it is easy to change the sorting rule. Just reverse the original setting, change "sort" to ascending order and "closed_on" to descending order (like Figure 2).

Figure 2

Comments

Popular posts from this blog

aras.uiShowItemEx Method (aras Object)

aras.uiShowItemEx Method Shows Item with Item node. Syntax aras.uiShowItem( itemNd , viewMode , isOpenInTearOff ) Parameters Name Type Description itemNd Object Required. Item node. viewMode String Optional. Unknown purpose but only supports the following values: tab view (Default) openFile new ※Each supported value will get same result. Therefore, call method and pass undefined for this parameter is OK. isOpenInTearOff Boolean Optional. Specifies whether show Item with tear-off window. true - open in a tear-off window. false - open in a tab. (Default) Return Value An AsyncResult object or a Boolean. Returns AsyncResult object if the Item winodw is opened successfully, otherwise returns false. See Also aras Object Aras Innovator Client Framework

aras.uiShowItem Method (aras Object)

aras.uiShowItem Method Gets Item by Item ID and then shows the Item. Syntax aras.uiShowItem( itemTypeName , itemID , viewMode ) Parameters Name Type Description itemTypeName String Required. Name of the ItemType. itemID String Required. ID of the Item. viewMode String Optional. Unknown purpose but only supports the following values: tab view - This is default. openFile new ※Each supported value will get same result. Therefore, call method without this parameter is OK. Return Value An AsyncResult object or a Boolean. Returns AsyncResult object if the Item winodw is opened successfully, otherwise returns false. See Also aras Object Aras Innovator Client Framework

Search Tips in Aras Innovator

In "Jus Ask Innoavtor", we could learn some tips for querying data in simple search mode. But I would use those tips with examples to make it easier to understand. Suppose there are 5 records in my database. Exact String Matching Input words or terms without any special symbol will execute exact string matching. Input "A0119B/11101", 1 record returned. Input "A0119B", nothing returned. Input "11101", nothing returned. Approximate String Matching Use "*" or "%" as wildcard character to execute approximate string matching. Input "A0*", 2 records returned. Input "*1", 3 records returned. Input "*ED*", 2 records returned. Input "A*1*1", 1 record returned. Regular Expression Matching Use square brackets with simple regular expression to execute a query is acceptable, all allowed terms (which are tested by myself and refer to this article ) are sh...