BasicName and PieceName in Auto-Report Movements

So I guess I need some help in understanding what this means:

[i]The following Properties are defined in a Basic Piece:

BasicName returns the name of Basic Piece trait, as specified in the properties
PieceName returns the full name of the piece,[b] including all traits[/b][/i]

and here’s why –

I have named levels in a layer and I did not establish them as a prefix or a suffix. So when the auto-report for moves generates the PieceName all I see is the _Name. So I thought I would fix it by changing $PieceName$ to $BasicName$ in the auto-report field. That worked for a little while until I made some other changes and now the report generates a blank name. I know I can change the _Name attribute to suffix and $PieceName$ will report as BasicName._Name, but that isn’t what I really wanted.

So here are my questions:
Why won’t BasicName populate into a movement report?
What does PieceName returns the full name of the piece, including all traits mean if it only reports an active level name? Where are all the other traits?
Is there any other solution besides changing all my many level names to suffixes?

Funny, I just had the same problem. I do not know how basicName works, so I will let someone else address that one.

The documentation for PieceName is incorrect. It does not show all traits. What it does show depends.
If the piece is masked, then it shows the mask name that is specified in the mask trait.
If it has an active layer and a level name that is not a prefix or suffix, then it substitutes the level name for the piece name, which was my problem too.

I see two solutions. Either make the level names into prefixes or suffixes, or delete the level names. Then it appears (if you delete) to use the PieceName and does not do the substitution. You probably don’t need level names because if you are testing against the level name, you can test against the level number instead.