This is a known issue in our syncing algorithm and we are working to improve it - this is the usual sequence of events.
- User publishes Job A, with Object X in the Drill-Down Hierarchy having fields x1 and x2 as the detail fields.
- Job A is published. When Job A is started in the device everything seems to work perfectly. Drilling down to records of Object X shows you the value of x1 and x2.
- Then user publish Job B, ALSO with Object X in the Drill-Down Hierarchy but this time it has fields x1, x2 AND x3 as the detail fields.
- Job B is published, but when Job B is started in the device, the value of x3 is blank. x1 and x2 are still there.
The reason is that between step 2 and step 3, the records sent to the device was never altered (another possibility is fringe cases like adding autonumber or formula fields that doesn't officially "modify" the record) - and according to the current algorithm if a record is not altered, information about it will not sent to the device. So this is why even though value from x3 field from all assigned Object X records should be sent to the device because it is being used in new Job B, it wasn't because TaroWorks looks strictly at the Last Modified Date of the record.
In v2.27.1 of the TaroWorks Android APK (or higher), there is an option in Settings marked Redownload Jobs. Press it and it will completely refresh the database in the device.
Advanced users should investigate the use of workflows, process builders or APEX script to update the record of interest based on set conditions so that TaroWorks can pick up on the change and send the latest info to the device.
In versions lower than v2.27.1, the user should upgrade the system first where possible. But barring that the user can log out of the device, clear TaroWorks App data menu and then log back in to re-sync all.