Record Types define the type of information you can store in PYXI. These can include real-world ‘things’, transactions and Categories used as flags/attributes in Fields. If you were designing a traditional database application, you can think of Record Types as conceptually equivalent to adding a new table to the database.
When setting up a new Record Type, you will want to consider the following:
- Fields – for anything but the simplest of Categories where each record has a Name only, you will want to add more fields. A field can also be a link to another Record Type, which may or may not be a Category.
- Rules – if you need any of your fields to be set to particular values when a record is added, or whenever a record is edited, then you should consider implementing one or more Rules. These allow you to write Action Scripts that are evaluated against the record. They can also be set to evaluate every night, which allows you to build ‘process logic’, typically used in association with one or more Column Views to show sets of records in different states.
- Steps – you can use steps to control the input form that allows you to add a new record, and/or to provide any number of user interactions depending on the current condition of your record. Each Step allows for the definition of a Form which is acted on by an Action Script.
See Branding for a discussion of how to configure RecordTypes as part of consistent branding of a module of functionality.
A new Record Type is defined by adding a RecordType record, which contains the following fields:
|Name *||Name||text||Examples: Asset, AssetType|
The unique name of the RecordType used throughout configuration to identify records of this type. Must be alpha-numeric with no spaces. Although references to RecordTypes by name are not case-sensitive, we recommend following the convention of using Camel Case, and using the singular rather than plural for the name e.g. use Asset, not Assets; AssetType, not assettype or ASSETTYPE.
Maximum length – 30 characters
|isCategory||Is a Category||logical||Select if this Record Type is used as a Category. This ensures that the values in this list can be picked easily in Filters. You should select this for any Record Type containing a list of options that you might want to analyse, or that are used to identify the state of other records in a business process.|
|ValueDisplayOrder||Initial Values / Value Display Order||text||Example: Lead,Opportunity,Prospect,Won,Lost|
Optionally specify the exact order in which values should be displayed. List each value separated by a comma.
When adding this Record Type, the values listed here will be created as new records of the Category. This provides a quick and easy starting point for generating a simple Category.
Maximum length – 200 characters
|isAllowMultiple||Allow multiple values||logical||Select this to confirm that multiple values of this Category can be selected simultaneously on a record. If this is selected, then any number of values from this category can be selected together on a record. Otherwise, only a single value can be selected – if the record is edited and another value selected, the original value is replaced. Note that you will normally want NOT to select this for categories that specify the state in a sequence of process steps, as you don’t normally want to see a record in multiple stages of a process at the same time.|
|isAllowInactiveFlag||Allow Inactive Flag||logical||Select this to permit identifying individual Category values as inactive – such values will remain against any existing records, but will no longer be available for selection on new records.|
|isAllowAddOnFly||Allow Add On-the-Fly||logical||Select this to permit addition of new values to this Category when Data Load files contain values that do not already exist.|
|IconName||Icon||icon||If set, this will identify the default icon to be used when displaying records of this Record Type, unless overridden by IconFieldName.|
|IconFieldName||Icon Field Name||text||Maximum length – 30 characters|
|Colour||Colour||colour||Colour is an optional HTML colour. It will be used as the generic colour of the record type wherever displayed.|
|ColourFieldName||Colour Field Name||text||Maximum length – 30 characters|
|DisplayNameCalc||Display Name Calc||Calculation||Optionally enter a calculation that will be evaluated against each record to determine the record’s display name i.e. that which appears on the header of the record’s page and as the name of the record in any list Views|
|DisplaySetOrder||Display Set Order||text||Optionally specify the names of Display Sets in the order in which they should be displayed initially (before potentially
being re-organised by each user). Any Display Sets used but not specified here will appear after those specifically
listed. Separate Display Set names with commas.|
Optionally specify the display size of any Display Set by appending _1 to _4 to the Display Set Name. Default width is 2 if unspecified (2 being half the screen width on large displays).
E.g. to specify set WideSetName as full-width, followed by NarrowSetName as quarter-screen-width, enter
Maximum length – 100 characters
|isSuppressHomePageLink||Suppress Home Page Link||logical||A link is created on the Home Page for all Record Types except Categories and Transactions. If you don’t want an automatically created link, set this flag. Bear in mind that if you do this, the implication is that your users can get to these records by some other more meaningful route e.g. by link from a parent record, or perhaps a link that you define in a Page.|
|HomePageSetName||Home Page Set Name||text||This is the name of the Set in which the link to these records will be displayed in the Home Page. You will usually want this
to be the same for a logical grouping of RecordTypes that belong to the same ‘module’ of business functionality.|
Maximum length – 30 characters
|HomePageSetColour||Home Page Set Colour||colour||If set, this colour will be used in preference to this RecordType’s own Colour. You would normally want to set this if your ‘module’ has a standard colour which you want to use as the colour of the Home Page Set, even if this particular RecordType uses a different colour.|
|isSuppressNameField||Suppress Name Field?||logical||Set this if you are creating a record type that does not require the Name field at all. Note that if you don’t have a Name field, you will need to specify a DisplayNameCalc to determine the text of links to your records.|
|isNameFieldUnique||Enforce Unique Names?||logical||Set this to ensure that multiple records are not created with the same name. Note that this does not need to be set explicitly if this Record Type is set as a Category, as ALL categories forbid multiple records of the same name. See Record Uniqueness for more details.|
|isAllowNotes||Allow Notes||logical||Select this to permit notes to be added to records of this type.|
|isAllowFiles||Allow Files||logical||Select this to permit files and gallery images to be added to records of this type.|
|isAllowSearch||Allow Search||logical||Select this to include records of this type in Search results.|
|isAllowRecentlyUsed||Allow Recently Used||logical||Select this to include records of this type in the Recently Used list.|
|isAllowRecordPDF||Allow Record PDF Document||logical||Select this to provide an option to generate a PDF of each record from its own page.|
|isUseRecordNumbers||Use Record Numbers||logical||Select this to confirm that this Record Type uses Record Numbers. A unique sequential Record Number will automatically be added to new records of this Record Type.|
|FirstRecordNumber||First Record Number||number||Optionally specify the first Record Number to be used when adding record numbers to new records of this Record Type.|
|isTransaction||Is Transaction||logical||Select this to confirm that this Record Type is used as a type of Transaction. This ensures that functionality such as date ranging is enabled.|
|ViewRecordsGroup||View Records Group||Group||Optionally specify a Group whose users are allowed to see the whole record – if none is specified then any user that can see/select these
Records in linked fields on another RecordType (including if this RecordType is a Category) will be able to drill through to them.
Otherwise, users who are not members of this group will only see these Record Links/Category values as text, not as a link.|
Note that this is a special case to consider in the Group security model – if you need some users to see the names of Category values in fields that they have access to (for View and/or Edit), but do not want them to be able to click through and look at the whole category record, either because that makes no sense (nothing useful to look at) or because it would potentially reveal information they shouldn’t see, then you must still ensure that such users have VIEW rights to this Category record type, by making them members of a ViewGroup if it has been specified. You can then separately decide whether such users should also be given drill-through access by specifying this ViewRecordsGroup. Note also that you should consider whether scripts such as Rules require access to this RecordType. If they do, and you have protected access to this RecordType with a ViewGroup, then the application will not ‘know’ about this RecordType when logged in as a user not in that group. Any update either of a record of this type, or attempt to set a field in another record type to link to one of these records, will not work. In such cases, you should NOT set a ViewGroup, but should consider setting this ViewRecordsGroup if appropriate.
|EditRecordsGroup||Edit Records Group||Group||Optionally specify a Group whose users are allowed to edit records of this RecordType. If not set, then all users who can
view the records are able to edit them as well.|
Note therefore that this only needs to be set if the group of users that can edit these records is more restrictive than the group that can see them – otherwise, setting the ViewGroup alone is sufficient.
|allowEditCalc||Allow Edit Calc||Calculation||Optionally enter a calculation that determines whether an individual record can be edited. If no calc is specified, then records can usually be edited, provided that the user is a member of the EditRecordsGroup if set. To stop records from ever being allowed for edit, enter a calc of false. You may want to do this if you are setting all Fields to ‘controlled’, and intend to allow update of values only through tight control in a series of Steps.|
|allowDeleteCalc||Allow Delete Calc||Calculation||Optionally enter a calculation that determines whether a record can be deleted. If no calc is specified, then only standard rules apply (e.g. records can usually only be deleted by the user that created them, or by an administrator). To stop records from ever being allowed for deletion, enter a calc of false|