I Have a strange example of where I have added some fields to a block and they are not being shown on the app. The field visibility is set to true, here is a screen shot and we can see that the Line Header ID label is showing, but the fields to the right are all one line higher than they should be and the ID data field is not showing.
UPDATE: I have found that this is happening because the variable is not getting the value it is being passed, so here is the full process:
We start with a list of sales leads, taken directly from a table:
It sends THISROW() to the next screen, sales leads detail $[InputRow], where that screen finds the row in the sales leads header table
We then have a button that launches the sales leads new action screen, sending it the inputrow, which in the builder evaluates to 4
Sales leads new action has a field to accept the input
When we run through the process this is what happens, firstly from the sales leads list screen, we select the first record
This jumps us to the sales leads details screen, shows the passed field value as 4, finds the source record and displays it.
Next we click the Go >> button and we see that it works just fine, if there is a record with that ID already in the SalesLeadsLines table
However, if I choose a record on the header, where there is not yet a matching record in the sales leads lines table, then the Line Header ID is simply not populated.
Note that the block containing that field is not linked to anything.
My understanding of how this should work, is that I am picking up a value from a screen field and sending it to a newly opened screen and populating a variable field on that screen with the value. The destination screen should just open and display the value in the receiving field.
I tried different ways of sending the value - I hard coded it to text or numeric values and tried specifying a field from the source table
But under any circumstance, when a record with that value doesnt exist in the Sales Leads Lines table, the value does not appear in the field it is passed to, even though that block is not trying to do any lookups based on it.
So confused!