Design Options

From AgileApps Support Wiki

The platform frequently provides multiple ways to get the job done. This page provides an index of options for common tasks.

Copying Data from Another Record

  • If you have a Lookup field that targets a record you want to copy from, you can automatically copy the data as part of the Lookup settings. This mechanism works for simple data fields like text, number, and dates. When the user selects a Lookup target, the field data is automatically copied.
Learn more: Lookup#Copy Data
  • If you have more complex data like formula calculations or attachments, you can put a Rule in a Rule set, and invoke that Rule Set whenever a record is added or updated. In this case, you define the rules on the object you want to copy from, and then update the record you want to copy to.
Learn more:
  • To copy complex data from a target record, add post-selection JavaScript to the definition of the Lookup field.
Learn more: Post Selection JavaScript#Copy a Field from Another Record

Summarizing Data from Multiple Records

  • Compute Fields]] in a Report
   ?-for vertical groups (not horizontal)?
   --Can be added by person creating report, without changing
      object structure, but may be replicated in multiple reports.
   --Works for a vertical grouping only. Not for horizontal groups.
   --In horizontal grouping docs, point users to the Rollup Summary Fields
      (BUT: Is it possible to show those values in the summary record??)
Learn more: Reports#Compute
  --accurate as long as all changes are made in the subform
  --does not reflect changes made in APIs or in a view of the related records
  --column totals only (can also sort by a selected field in ascending or descending order)
  --work for formula fields with a numeric return type, as well as numeric fields
  --work for number w/decimal and percentage, as well as number and currency
  --does not work for boolean or Date fields
  • Asynchronous (default)
  --occurs in background, but may not be accurate for short
     periods of time (as determined by Service Provider, not tenant)
  • Synchronous
  --always accurate
  --available in AgileApps cloud
  --compute-intensive
 --To ensure maximum performance, a Service Provider can make them
      unavailable in a hosted installation
  --can be used for unrelated records (no lookup required)
  --only calculated when the record that contains the function is updated
  --does not automatically reflect changes in the other records
  --work only for a small set simple numeric fields only 
     (number, currency, and boolean for SUM, AVG. 
      number, currency, date for MAX and min)
   --Does not work for formula fields that return a numeric type
   --Use these to operate on Boolean and Date values
  ?-can be used in Formula fields, but are not available in condition
      expressions or field-update expressions in Rules