• Share
    • Twitter
    • LinkedIn
    • Facebook
    • Email
  • Feedback
  • Edit
Show / Hide Table of Contents

UDefField Table (146)

Some tooltip text!
• 8 minutes to read
 • 8 minutes to read

Definition table for user-defined fields; one row in this table corresponds to one generation of one field. The user defined fields that are in use, and earlier versions of user defined fields. ColumnId refers to the field type; see UDXXXSmall or UDXXXLarge for the referring ID. Preferences prefsection='System', prefkey='CurrentUdefVersioncontact' (or CurrentUdefVersionperson, project, sale), gives you the current version of user defined fields. prefkey='AdminUdefVersion<...>' gives you the current version that's being edited. If Current version = admin version, no editing has been done since the last Publish of user defined field was performed.

Fields

Name Description Type Null
UDefField_Id Primary key PK
ownerTable_id ID of owning table (contact, person, project) - this is not the actual tableNumber, rather it's an enum UShort
tabOrder Tab order value, sets the field processing sequence UShort
fieldType Field type: 0 = leadtext only, 1 = Edit, 2 = CheckBox, 3 = dropdown, 4 = listbox UShort
listTableId The table ID of the source table for lists: kTableAssoc, kTableContInt or whatever TableNumber ●
UDListDefinition_id List to use for populating dropdown or listbox FK UDListDefinition
columnId The ID of the database column this field corresponds to FieldId
textLength Length (in characters) of a text field, 0 for other types UShort ●
fieldDefault Optional default value for String fields String(254) ●
indexed Is this field indexed? 0 if no, index no. if yes Bool ●
mandatory 0 = no, 1 = yes (field must be filled out) Bool
readOnly 0 = read/write, 1 = readonly (don't combine with mandatory 8-) ) UShort ●
tooltip Optional tooltip text for this field String(254) ●
fieldLabel The label (lead text) String(254) ●
labelLeft X pixel coordinate of label UShort ●
labelTop Y pixel coordinate of label UShort ●
labelWidth label width in pixels, 0 = 'enough' (from font) UShort ●
labelHeight label height in pixels, 0 = 'enough' (from font) UShort ●
fieldLeft X pixel coordinate of field UShort ●
fieldTop Y pixel coordinate of field UShort ●
fieldWidth field width in pixels, 0 = 'enough' (from font) UShort ●
fieldHeight field height in pixels, 0 = 'enough' (from font) UShort ●
version Definition version number; ALL fields get new version whenever layout is updated. UShort ●
lastVersionId UDefFieldId this field had in the previous version, 0 = field is new in this version FK UDefField ●
page1LineNo Line no on View Page 1, used if MDO flags are OFF. 0 = this field is not visible on page 1 UShort ●
registered Registered when UtcDateTime
registered_associate_id Registered by whom FK associate
updated Last updated when UtcDateTime
updated_associate_id Last updated by whom FK associate
updatedCount Number of updates made to this record UShort
udefIdentity Unique number used to track field identity across layout changes Id ●
hideLabel Hide the label if 1 Bool ●
justification Justification - 0 = default, left, right, center Enum UdefJustification ●
progId Programmatic ID, for use by software that needs to find a particular field. Carried over like udefIdentity across generations. Use a Company.Product.Field format to avoid naming conflicts; the Company name SuperOffice is reserved. String(254) ●
formatMask Formatting mask, can be whatever the controls understand (currently nothing :-)) String(254) ●
shortLabel Short name to be used in Archive headings and on page 1. If blank, the fieldLabel will be used everywhere. String(254) ●

UDefField table relationship diagram

Version

The UDefField table contains many versions of the same field. When you publish a new udef field layout, a new version is created.

The version that is currently used by the SOCRM client is stored in a user preference.

OwnerTable

UDefField contains an ownerTable ID, which table is this user defined field for.

This field is an enum, unlike all other owner Table IDs in the database. It does not use the table ID listed in the dictionary.

  • UDefContact = 7
  • UDefPerson = 8
  • UDefProject = 9
  • UDefSale = 10
  • UDefTemp = 11
  • UDefAppointment = 12
  • UDefDocument = 13

FieldType

  • 1 = Number
  • 2 = Short text (up to 39 chars long)
  • 3 = Long text  ( 40 to 200 chars long)
  • 4 = Date (for dates 1970 - 2036, stored as Long value)
  • 5 = Unlimited date (for dates 0001 - 9999, stored as string)
  • 6 = Check box (stored as 0/1 in long field)
  • 7 = Drop-down (listtableid determines which list. If listTableId = 136 then this is a user-defined list and all items are stored in the UDList table with UDList.UDListDefinition_ID = udeffield.UDListDefinition_id)
  • 8 = Decimal  - actually double - that is 80 bits IEEE floating point.

ProgId

The Prog-id can be used to tag fields that are used by your application with a known value, so that you can easily find the udef fields you need. This may also be set from the Admin client. Must be unique per version+ownertable

Indexes

Fields Types Description
UDefField_Id PK Clustered, Unique
ownerTable_id UShort Index

Relationships

Table Description
associate Employees, resources and other users - except for External persons
text Long text fields from all over the system
UDefField Definition table for user-defined fields; one row in this table corresponds to one generation of one field. The user defined fields that are in use, and earlier versions of user defined fields. ColumnId refers to the field type; see UDXXXSmall or UDXXXLarge for the referring ID. Preferences prefsection='System', prefkey='CurrentUdefVersioncontact' (or CurrentUdefVersionperson, project, sale), gives you the current version of user defined fields. prefkey='AdminUdefVersion<...>' gives you the current version that's being edited. If Current version = admin version, no editing has been done since the last Publish of user defined field was performed.
UDefFieldGL User group link table for UDefField, for MDO item hiding
UDListDefinition List table that contains the list of user-defined lists, as well as system-defined lists. The list items are stored in the UDList table.

Replication Flags

  • Replicate changes DOWN from central to satellites and travellers.
  • Copy to satellite and travel prototypes.

Security Flags

  • Sentry controls access to items in this table using user's Role and data rights matrix.
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top