4D Write Pro (where is list of reserved attributes?)

Can I change a 4D Write Pro table id attribute to some custom value?

A recent 4D Tech Tip “Write Pro Object Attributes” says:

"With a 4D Write Pro object custom attributes and values can be
assigned to the 4D Write Pro object as long as the attribute is not a
reserved attribute.”

Where do we find a list of the reserved attributes?

Tech Tip: Write Pro Object Attributes
May 15, 2019
https://kb.4d.com/assetid=78255https://kb.4d.com/assetid=78255>

Hello Jeremy,

Yes you can change the table ID, using the attribute wk id (which is usable only for paragraphs, tables or images). Be careful it shall be unique in the whole document.

What we mean by ‘reserved attribute’ is that the attribute is recognized by a 4D WP Area, and that it is the one we are using to define any element in the document. Basically, all attributes defined by a constant are “reserved attributes”. Here is the list in the https://doc.4d.com/4Dv17R5/4D/17-R5/Attributs-4D-Write-Pro.300-4115152.fe.htmldocumentation>.

So to summarize: don’t use a constant value as a custom attribute if you want to avoid bugs :).

Hope I’ve answered your question.

Hello Jeremy,

yes you can change any element ID with wk id (read/write attribute):
to be not confused with the read-only attribute wk table id which references for a table range only the table to which belongs the range (for ranges returned by WP Table Get cells/rows/columns)

Regards,

Jacques.

Hello Jeremy,

There were two questions in your post.
The reserved attributes are mainly for 4DWP documents, but you may want to use some inside “sub-objects” inside documents too (right ?)

The list of reserved attributes exists, but the list may change in the future.

So rather than trying “not” to use reserved attribute, use attributes with an “" character in their names.
(4DWP will “never” use any "
” in attributes names)

examples:

Use a single object : my_private_attribute

[table]Doc.my_private_attribute.val1:=“10”
[table]Doc.my_private_attribute.val2:=“alpha”

or use as many attributes as you want

[table]Doc.my_private_val1:=“10”
[table]Doc.my_private_val2:=“alpha”

Roland