Thought I would share as I was banging my head against the wall today trying to get a Row Rule to work.
I had created a Row Rule where I was seeing if a field value was equal to ASME_c. Built it, saved it, and it worked fine.
Next, I created a Row Rule that I was seeing if a field value was equal to 20. Built it, saved it, and it did not work. I spent all sorts of time checking spelling, fields, and such. Finally got to a point where I tried equal to “20”. Still did not work. How about equal to ‘20’? Bingo! For some reason, that worked. No idea why.
Another funny, because you have to laugh or you’ll cry, when you open up the Row Rule again, the ‘’ are gone. But the Row Rule still works.
At first I thought is sounded like an issue of Epicor choosing the wrong equality operator: 20 == '20' returns true 20 === '20' returns false
BUT
20 == "20"also returns true
So that’s not it…
The requests for comprehensive documentation have been rejected with responses like “there’s too much to document it all!” … but even starting with basic top-level-only documentation over all of App Studio would expose a lot of this inconsistency.
The way it is now, every field needs a tool-tip example of what is expected, because any field could be totally different from the others…
So, with classic customization, whenever there were syntax quirks or wizard issues you could always sort of drill down into the C# or WinForms documentation and just figure it out on your own.
What does “figuring it out on your own” look like in the world of Application Studio? Should we be learning JavaScript? Would that even help very much? @hmwillett
and C# is strongly-typed language, so the compiler / code validator knew what type of data it was looking for and could tell you “Hey, you’re comparing a number to a string - you can’t do that!” … which would be helpful in this situation
It would probably help to learn at least basic JavaScript - to learn the quirks of comparisons and the ways that data can be represented and used…
BUT
App Studio is not all JavaScript! Some of it is pseudo-SQL and some is … something else?
Ahhh, very interesting. I just found them in the MetaUI folder.
So when you get stuck on something you’re basically just trying to find an example somewhere where the same problem was already solved in one of the base application UIs?
This at least gives me hope, I can live with that strategy.
@hmwillett - Great suggestion! Can you share a simple example of how you used Void Tools - Everything search to get unstuck on something?
The whole AppStudio syntax quirks has my head spinning, and I’m trying to compile a list of ‘when doing this, use that syntax’ with examples to help my future self (and co-workers).
Typically, I just search for the widget in question to see how they set it up. Finding a good example would show you both how they configure it and what syntax they used.