Read and change the attributes of any record by its path, whatever its structure: entities, structures, records that combine several entities, and records with nested lists. It also tells you a record's type name and the keys of its entity.
ToObject()
ToObject(GetCustomers.List.Current)
ToObject(GetCustomers.List)
Found
IsSuccessful
ErrorMessage
A path names an attribute, starting from the record you pass:
Name
Customer.Name
Customer
ChildList.Current.Name
ChildList
ChildList[1].Name
The name of an entity or structure in a record is optional: when a name isn't found in a record, it's looked for in the record's first entity or structure. So for the record of an aggregate on Customer, Name and Customer.Name point to the same attribute. In the same way, ChildList[1].Name and ChildList[1].Child.Name are the same when ChildList is a list of Child.
ChildList[1].Child.Name
Child
Returns the value at a path as an Object. Use it to pass the value on to another action that takes an Object, such as the Set actions below.
Returns the value at a path as Text.
"yyyyMMddHHmmss.fff"
Date, Time and Date Time values use DateTimeFormat. Decimals keep up to 8 decimal places. Other values are converted as they are, for example True or 42.
DateTimeFormat
True
42
GetRecordPathStringValue( Record: ToObject(GetCustomers.List.Current), Path: "Customer.Name") → Value = "Ana Silva"
Sets the value at a path in the Current record of a list. Use it inside a For Each to change each record in turn.
ToObject(10)
Sets the value at a path in the record at a given position of a list.
Position
This action iterates over the list to reach the position. If the list is already being iterated, for example inside a For Each over it, the action returns IsSuccessful = False and leaves that iteration running. Use SetRecordListCurrentPathValue inside the For Each instead.
SetRecordListPositionPathValue( RecordList: ToObject(GetCustomers.List), Path: "Customer.Name", Position: 0, Value: ToObject("Ana Silva"))
Lists the attributes of a record.
For a record of a single entity or structure, you get that entity's or structure's attributes. For a record that combines several, you get one item per entity or structure, named with an EN or ST prefix (for example ENCustomer). Every name returned works as a path. If Record is empty, the action raises an exception.
EN
ST
ENCustomer
Returns the name of a record's type: the name of its entity or structure.
For an entity record, or the record of a single entity, you get the entity's name (for example Customer). For a structure, you get the structure's name. For a record that combines several entities, you get the name the platform generates for that record. Lists and basic values return their .NET type name, for example RLCustomerRecordList or String.
RLCustomerRecordList
String
Returns the key of a record's entity, and the key of the module or extension that defines it. The keys come in the format of the SS_Key values in the platform's metadata, so you can look the entity up there.
SS_Key
Both outputs are empty when Record is empty or holds no entity, such as a structure. For a record that combines several entities, the action raises an exception naming them. Pass the record of one of them instead, for example ToObject(GetCustomerOrders.List.Current.Customer).
ToObject(GetCustomerOrders.List.Current.Customer)
GetRecordSSKey(Record: ToObject(GetCustomers.List.Current)) → Key = "5b0e7c1a-2f4d-4c8e-9a3b-6d1f0e2c4a7b" → OwnerKey = "e3a9d2f4-7c1b-4e6a-8f05-b2c4d6e8a0f1"
An attribute read from a record by GetRecordAttributes.