All the system objects are described as one-level systems, where field codes are compared with specific types. The types can be divided into four classes:

  • primitive (TString, TFloat, TBoolean, TLink);
  • structural (TFullName, TPhone, TEmail,);
  • class instances (TDatetime, TMoney, TEnum, TTable, TStatus);
  • links to system objects (TCategory, TFile, TImage, TUser, TApplication,). There is also a special type TJSON used for storing unstructured data. The instances of the type are construct differently depending on the class.

    Primitive types

    The primitive types are comparable with the TypeScript primitive
    , for example, in the process context there is comment field of the TString type, with which you can work as with a regular string: = `The script was executed successfully!`;

    Structural types

    The structural types are basically an object in terms of javascript, for example, we can work with the initiator’s full name (TFullName type) in the following way:
    const initiator =  await;
    const fn =; = `The script was run by ${ fn.firstname } ${  fn.lastname }`; 

    Class instances

    The class instances are created with a constructor or field description. For example, if there is a total field of the TMoney type in the context, you will need to do the following to fill it in: ```typescript = new Money(17999.99, 'RUB');
    To add a string to a <a href="../interfaces/_dts_02_types_.ttable.html">TTable</a> type field, do the following:
    // Get order 
    const order = await!.fetch(); 
    // Insert 
    row.item =!;  
    row.amount =!; 
    // Fill it in row.item =!;row.amount =!;// Save the order  
    Please note that the table will be updated only after the app item is saved.

    Links to objects

    Links to system objects have the fetch method, which is used to get the object itself. You can read more about objects in Object Types.

    Field description

    Each type has a description objecth, which is used for
    constructing objects or for other operations. For example, if there is the participants field of the Users (many-to-many) type in the context, the field will store an array of links TUser, and to get an array of users you will be able to use the field’s description with the UserField type, which includes the method UserField.fetchAll:
    const  participants = await Context.fields.participants.fetchAll();
    If there is an app-type order field in the context, you can use the description of this
    field to access the app directly, for example, to create a new app item:
    const order =;
    order.client =; 
    await;  = order; 

Type aliases


ReplacementTypeEnumBase: Information | Reassign | Full

information - informing reassign - task reassignment full - complete transfer of access privileges


TApplication: ApplicationItemRef<Data, Params>


TBoolean: boolean



TCategory: CategoryItemRef<C>

Link to category


Link to file


TFloat: number



TImage: ImageItemRef



TJSON: any


TLink: string



TRefItem: RefItem


TString: string