We have written this user manual for end-users to learn about the exclusive features that make life easier when using QuickApp. Also, with this manual,  end-users will become familiar with QuickApp and learn how to take advantage of these features to use their applications more effectively and efficiently.

In order not to confuse end-users, development topics have been intentionally omitted from this article. You can view the help topics about development in detail by pressing F1 on the development screens. Also, click here to go to our Quick Start Guide for Development article.

Overview

With this User Manual, we want to help you quickly learn the most essential things you need.

Excel Ribbon for QuickApp Client

The description of each section in the QuickApp tab is given below. The Development section is only visible to users with QuickApp Developer privilege. All screens related to development are accessed with the workspaces here.

QuickApp Ribbon

Show

  1. Shows and hides the Main Panel.
  2. Shows and hides the Procedure Panel.
  3. Shows and hides the Pages Panel.
  4. Shows and hides all Panels. (Ctrl+Shift+F)
  5. Merges and unmerges cells in row heading fields.
  6. Displays rows in banded or not. When Banded Rows is selected, QuickApp automatically shows row headings as banded according to the last item in the rows.
  7. Displays columns in banded or not. When Banded Columns is selected, QuickApp automatically shows column headings as banded according to the last item in the columns.
  8. Specifies whether to apply conditional formats if an application has conditional formats.
  9. Specifies whether to apply formatting to cells containing formulas.

View Actions

  1. Freezes or unfreezes panes,
  2. Groups all subtotal rows (Ctrl + Shift + (Plus Sign))
  3. Ungroups all lines (Ctrl + Shift + (Minus Sign))
  4. Lock Panel Cells (Ctrl + L)
  5. Removes the locks on the Panel Cell. (Ctrl + U)
  6. Removes all locks on the worksheet. (Ctrl + Shift + U)
  7. Selects only visible cells. (Alt + ;)

Settings

  1. Closes all open QuickApp Workspaces
  2. Opens the QuickaApp settings form
  3. Displays QuickApp version information and opens the registration form.
  4. Provides connection to QuickApp tenant servers.

Chart / Sort / Help

  1. Opens the chart creation screen with the current screen data. (Ctrl + Shift + G)
  2. Sorting Operations
  3. Opens the help pages. (F1)

Main Panel and Customize View

Main Panel

This panel provides interaction with Workspace and Applications.

  1. Workspace filters. When you change the filters, press the Load button to see their effects. It is applicable in all QuickApp applications.
  2. Shows the available view options of the active application. User-defined views are also shown here. To switch between views, simply select one from the list.
  3. Opens the panel where you can create your own view by customizing the current view.
  4. Makes the current view the default view for the user. So every time the user opens this app, the default view comes selected.
  5. Loads the application according to the selected criteria.
  6. Saves the changes in the application to the database. If the application is designed as AutoSave during development, the Save button will not appear. Changes are instantly saved to the database.
  7. Closes the workspace. To close only the active application without closing the workspace, right-click on this button and use the drop-down option.

Customize View Panel

  1. The positions of the fields in the view are customized in the Field Tab.
  2. Adding and removing layers to the view is mamaged in the Layers Tab.
  3. The order and visibility of measures in the view are customized in the Measures Tab.
  4. The order and visibility of perspectives in the view are customized in the Perspectives Tab.
  5. Shows the fields placed in the Page section. The order of the fields is important in filtering each other out. If the fields are fed from the same data source, the fields in the top order filter out the ones in the lower order.
  6. Shows the fields placed in rows. If the view type is Pivot, check the Subtotal box of relevant fields to display subtotals on the screen.
  7. Shows the fields placed in the columns. If the view type is Pivot, check the Subtotal box of relevant fields to display subtotals on the screen.
  8. View name. Change the view name here before saving a new view with the ‘Save As’ button.
  9. Types of view;
    Standard View: Does not support subtotal and grand total. But it works faster
    Pivot View: Provides subtotal and grand total support. Spreading methods work in a pivot view.
    Card View: A special type of view where data is displayed as cards. In order for Card View to be used, the card design and at least one card view must be defined during development.
  10.  Specifies whether to show grand total of rows and columns for Pivot Views.
  11. Buttons
    Apply: Applies the changes to the view.
    Save: If the modified view is the user view, it saves and applies the changes. If this is a system view, it will ask if you want to create a new user view. If you approve, it creates a new user view.
    Save As: Creates a new user view.
    Delete: Deletes the view if it is a user view. System view warns that it cannot be deleted.

Layers

In this section you can add or remove layers from the view. Layers are structures used to group values ​​in your application. A value can be added to more than one layer. When initializing the view, only values ​​from active layers are rendered on the screen.

Layers are very useful structures for editing values ​​and adding them to the view as needed. For example, your app might have both last year’s actual sales and last year’s plan sales. If you want last year’s plan sales to be loaded only when you need them, not every time, you can provide this flexibility by putting last year’s plan sales on a different layer.

Measures

The order and visibility of the measures are customized in this section. You can change the order of the metrics with drag and drop and you can specify the visibility feature in detail and subtotals separately.

Invisible measures are hidden according to the Measure and Perspective layout in view if there are hideable rows or columns. If there is any conflict between measure and perspective visibility due to their layout, the visible one takes precedence.

Perspectives

Similar to the Dimensions tab, you can also customize the order and visibility of perspectives in the Perspectives Tab.

Panel and Panel Cells

In order to better understand impacts of editing in an app, let’s first look at how the application is structured.

  1. Detail Row Panel. Shows the panel of the last field put in rows.
  2. Detail Column Panel. Shows the panel of the last field placed in columns.
  3. Subtotal Row Panel. Shows the row subtotal of the field whose subtotal is active.

The area where the row and column panels intersect is called the Panel Cell. If the row and column panels are both detail panels, then the panel cell becomes the Detail Panel Cell (A). If at least one of the row or column panels is a subtotal panel, then the panel cell becomes the Subtotal Panel Cell (B).

Editing Cells

Editable Cells: They are defined in the course of application development. By default, editable cells are shown in green. Users can change editable cell color from settings.

  • Editable cells can be modified in detail or any level subtotal. Modifications in subtotal and grand total are applied to sub-detail cells with spreading methods. In the next chapters, spreading methods will be explained in more detail.
  • Excel formulas can be written.
  • Multiple changes can be made with copy-paste or drag and drop.

Editing data by direct entry

It is the entry made to editable cells as if entering data into a normal excel cell. The editable cells mentioned in this section are the detail panel cells. The editing process of the subtotal and the grand total will be explained in the next section.

We can show the data entry types on a table as follows. Assume x is a number

Notation Example Description
x 50 Makes the value of the cell x
x* 2* Multiplies the current value of the cell by x
x/ 2/ Divide the current value of the cell by x
x+ 10+ Adds x to the current value of the cell
x- 20- Subtracts x from the current value of the cell
xk 2k=> 2,000 Writes a thousand times x to the cell value.
xm 2m=>2,000,000 Writes a million times x to the cell value.
xb 2b=> 2,000,000,000 Writes a billion times x to the cell value.

Editing data by Excel formula entry

It is the process of editing a cell by entering formulas into editable cells. The editable cells mentioned in this section are the detail panel cells. The editing process of the subtotal and the grand total will be explained in the next section.

• There is no difference from standard Excel formulas.
• You can copy the formula from one cell to another cell.
• Formulas entered in editable cells remain on the screen unless data is assigned by any top-level spreading method, or the form is reloaded or the view is refreshed. Therefore, if QuickApp detects any change that will trigger these formulas then makes the necessary changes on the application side.

As example:

Let’s write the formula =F4*(1+$Q$3) in cell F5 and copy this formula to all months. In this case, when we change the growth rate in cell Q3, the values of all months will change automatically depending on the formula and QuickApp will detect this change and record it in the database.

Spreading

Spreading is the distribution of changes in the Subtotal or Grand Total to its child cells. If there are locked child cells when spreading, they are excluded.
The child cells of the subtotals are shown in the screenshot below.

Spreading

Spreading by direct entry

It is the distribution of the input made to the editable areas on the subtotal and the grand total to the child cells.
When x is a number, the results of data entry into the cell are as follows:

Notation Example Description
x 50 Makes the value of the cell x and distributes it to the child cells.
=x =50 Makes each subcell value equal to x
x* 2* Multiplies the current value of the cell by x and distributes it to the child cells.
x/ 2/ Divide the current value of the cell by x and distributes it to the child cells.
x+ 10+ Adds x to the current value of the cell and distribute it to the child cells.
x- 20- Subtracts x from the current value of the cell and distributes it to the child cells.
xk 2k=> 2,000 Writes a thousand times x to the cell value and distributes it to the child cells.
xm 2m=>2,000,000 Writes a million times x to the cell value and distributes it to the child cells.
xb 2b=> 2,000,000,000 Writes a billion times x to the cell value

Spreading data by formula entry

It is the implementation of the input with the formula made into the Subtotal and Grand Total panels to the child cells.

  • The formula is applied to all unlocked child cells.
  • Finds the QuickApp areas that correspond to the reference cells used in the formula and applies them to the child cells. If the area does not exist, it undoes the change.
  • If the formula contains cells with absolute references in a row, column, or both, it considers position when applying them to child cells.

As you can see an example in the screenshot below, the excel formula =E14*1.25 is entering in cell F14. QuickApp converts this formula as [Last Year Actual Sales Unit] x 1.25 and writes the calculated formula results for each sub-cell into its own cells. In other words, the plan value of all months in this example is increased by 25% compared to the same month of the previous year.

Spreading with formula

In this example, let’s write Sales Unit = $G$14.
QuickApp interprets the formula and detects that G14 is Last Year Actual Sales Unit and both row and column are absolute. Thus, QuickApp makes all sub cells equal to the value of cell M4. Similarly, you can write more complex formulas by carefully fixing rows and columns.

Spreading with absolute formula

Similar to the example above, let’s write a formula on Main Group Total =$G5*1.25 where we fix only the column and leave the row as relative. In this case, QuickApp will interpret our formula as: Increase all months of product groups belonging to Bottom Main Group by 25 percent compared to the 7th month of last year.

Spreading with formula absolute column only

When Ctrl+Enter is pressed after the formula, QuickApp initially calculates the value of the formula and the calculated result is distributed to the subcells as if it would be the new subtotal value, similar to the Spreading by Direct Entry.

Spreading Data by Spreading Method

The spreading expressions above work exactly for the values whose Subtotal formula is SUM. However, for fields calculated over other fields such as Discount Rate, and Markup whose Subtotal formula is not SUM, spreading works in direct data entry as follows if no Spread method is defined.

In the table below, the current value will be represented by n and the new input value by x. Assume the current value of the cell is n=12%

Notation Example Description Impact
x 15% Applies the ratio between x and n to all subcells. multiplies all child cells by 1.25
(=x/n => 15%/12% = 1.25)
x* 2* Multiplies all child cell values by x
x/ 2/ Divides all child cell values by x
x+ 0,15+ Increases the value of the cell by x and applies the ratio between the old value and the new value to all child cells. The new value of the cell will be 27% (x+n). Multiplies all child cells by 2.25
( (n+x)/n => (12%+0.15)/12% = 2.25)
x- 0,05- Decreases the value of the cell by x and applies the ratio between the old value and the new value to all child cells. The new value of the cell will be 7% (x-n).
Multiplies all child cells by 0,58
(n-x)/n => (12%-0.05)/12% = 0.58)

In some cases, the above method may not give the exact result that the user needs. In such cases, QuickApp allows its developers to create their own custom Spreading Methods. For such requirements, you can ask the Developer to write a custom Spreading Method for your application.

Related Calculation

Related Calculations are used to perform an inverse operation on cells with formula. When you edit a cell with a formula,- if it has a related calculation- your editing causes a change in the reference cell values according to the Related Calculation definition. Related Calculations are defined by the Developer during development.
To check for any related calculation on a value, type one of the following expressions in the cell:

“?show rc”, “?show relatedcalc” or “?help” and press enter.

You can see the Related Calculations, if any, in the new pop-up window. Also, when the F1 key is pressed on the value, the help document containing the Related Calculation definitions will be displayed.

Related Calculation

In the example above, there are two related calculations was defined for the measure of This Year Plan Initial Revenue.
The first one is Unit and it will change the measure of This Year Plan Sales Unit and the Second one is Price and it will change the measure of This Year Plan Avg. Unit. In other words, when we change the measure of This Year Plan Initial Revenue, which is normally a calculated value, it will change either the unit or the price. The Unit, which is the related calculation in the first order, is accepted by default. If no preference is specified during data entry, the Related calculation for the unit will be used. It means, the value required to get the entered revenue amount is written in the This Year Plan Sales Unit cell.

Changing Default Related Calculation

You can change the default Related Calculation by typing the following command in the cell and pressing enter.

?set {rc/RelatedCalc} {RelatedCalculationName/Index}

All the commands below set the default Related Calculation as “Price”. Thus, when you edit the This Year Plan Sales Initial Revenue cell, the required price is calculated using Price Related Calculation.

?set rc Price
?set rc 2
?set relatedCalc Price
?set relatedCalc 2

Dynamic determination of Related Calculation

Sometimes when entering a value in a cell, you may want to choose a related calculation without changing the default.
In this case, simply write an expression like the following at the end of the value.

X<{RelatedAccountName/Index}

An Example

As seen in the screenshot, the expression 1m<price or 1m<2 means find the 1,000,000 by using the related calculation for the price, that is, by changing the price.

Here, you can also use other features of QuickApp together.
E.g. You can enter as 500000+<price or 500000+<2. These expressions increase the value of the cell by 500,000 and use the related calculation for the price to do so.

In the same way, we can define the related calculation dynamically when spreading in the Subtotal. For example, by typing 2000000= in Grand Total and adding <2 to the end, you can dynamically shift the 2nd related calculation. And so, the price will change to catch 2000000 without looking at the default related calculation.

When entering data into a cell with a formula, related calculation cannot be determined dynamically. In such a case, we must first change the default related calculation with ?set rc, and then enter data with a formula.

Locking Mechanism

In QuickApp, you can edit child cell values via the total cells. We call this process spreading. The default spread method is the weight of the child cell value in total. QuickApp allows developing different spreading methods according to your needs. However, we will cover how to define it in the development section.

On the user side, there may be some requirements such as keeping several child cell values unchanged during spreading. In such cases, Locking Mechanism, one of the favorite features of QucikApp, is the perfect solution for your need. Thanks to this feature, the change of cells are kept under your control.

After selecting the area you want to lock, press the “Lock Cells” button on the QuickApp ribbon or press the Ctrl+L shortcut. This way, all cells in the selected area are locked are turn their color yellow. Press Ctrl+U to unlock them.

There are two types of locking in QuickApp: locking child cells and locking only subtotal.

If you are on a subtotal or grand total cell then pressing Ctrl+L twice will lock all the child cells within the scope of the totals.

If you have locked a subtotal cell(s), when you edit the child cell, QuickApp keeps the subtotal value constant and replaces the other unlocked child cells values according to the new input value.

If you have locked a child cell(s), when you edit the subtotal cells, QuickApp replaces the unlocked child cells values ​​according to the new subtotal value. All these operations are performed by using the spreading approach.

Undo & Redo

App transactions in QuickApp can be undone with Ctrl+Z as in Excel. It can be reapplied with Ctrl+Y. When the user makes a change in the app, this change and the affected ones are memorized as a step. For example, the user has changed a cell, and accordingly, the sub-cells have changed with the spread method, perhaps some of these changed sub-cells may have triggered the recalculation of some subtotals that only have a subtotal lock. All these actions are eventually added as one step in the undo memory chain. When the user presses Ctrl+Z, all these actions are undone at one time.

By default, 16 steps can be memorized. Users can change this in QuickApp settings. The number of memory steps can be any value between 1-100. Since the high number of memory steps will mean that the program uses more RAM while it is running, it may cause the app to slow down.

You can reapply the steps you undo with Ctrl+Z without making any changes, with Ctrl+Y. However, when you make a new change, the changes after the current step in the memory chain will be deleted as they can no longer be applied again. For example, after changing 10 steps, you came back 5 times with Ctrl+Z and entered a new value in a cell, this new change will be added to the memory chain as step 6, and the last five steps will be deleted from the memory.

Sorting

Excel sorting methods cannot be used in QuickApp applications. Instead, you can use the sorting methods on the QuickApp Ribbon. In order to be able to sort in QuickApp applications, sorting must be allowed by the developer for the relevant application.

  1. Sorts in ascending order. If the cursor is on a panel, it sorts the panels it is in, and if the cursor is on the value, it sorts the data.
  2. Sorts in ascending order keeping the sorting options previously made.
  3. Sorts in descending order. If the cursor is on a panel, it sorts the panels it is in, and if the cursor is on the value, it sorts the data.
  4. Sorts in descending order keeping the sorting options previously made.
  5. Clears all sorting
  6. Opens the sorting window

Sorting works differently for Standard and Pivot Views. Panels can be split in Standard View, while panels are not split in Pivot View. In order to sort the panels among themselves, sorting can be done through the subtotal panels.

Actions

With the concept of action, users can perform a certain action on values by typing a command into the cell. The action methods developed so far are as follows.

? + Enter : shows the list of all available actions.

?help + Enter : it shows detailed information about the value displayed by the cell.

?show relatedcalc(or rc) + Enter : it shows the defined related calculations and the default related calculation for the value in the relevant cell.

?show spreadingmethod(or sm) + Enter : It shows if there is a spread method defined for the value in the relevant cell.

?set relatedcalc/rc {name/index} + Enter: sets the default relational calculation for the value in the relevant cell.
For example,
?set rc unit : Sets the related calculation named Unit by default.
?set rc 1 : Sets the 1st related calculation by default.
?set relatedcalc price : Sets the relational calculation named price by default.
?set relatedcalc 2 : Sets the 2nd related calculation by default.

Using Help in your app

Standard help documents for the QuickApp apps can be created by QuickApp Developer or Power User. You can access the help document by pressing F1 wherever you need help in your application. For example, pressing F1 on a value, field, or perspective opens the help document for that object.

You can access objects such as Procedures, Views, Layers, Workspaces from the standard links on the help document.

If the help document is available in your QuickApp Client language, it will appear in that language, otherwise it will appear in the Default Culture language. If no help documents are written in the default Culture language, nothing is displayed.