Can I push just *some* of my mobile records back up to the hosted files?
Yes, By default GoZync will push any records that have been changed since the last sync. If there is one 1 such record you want to sync, you can use the script "Zync It - This Record ( RecordID )" to send just that one record. (This is one of the scripts you import into your mobile file when integrating GoZync; read that script's comments for more.)
But what if you want to send just "some" of the records changed since the last sync? For example, you're making orders in the field and have started several, but only finished about ten of them. You don't want to have to manually sync those 10, one by one using "Zync It - This Record ( RecordID )". You'd rather mark those records as "ready" and just sync the "ready" records.
This is easily done by changing a few fields in your mobile file. Backup your files and then watch this.
- In GoZync 4 and 5 it's even easier. You still modify gz_Send the same way we show in the video, but you no longer need to add an auto-enter calc to your "Flag" field in order to clear it. You'll now clear the flag at the end of sync by editing the script "Custom Field Mapping: Transformation and Hooks" in GoZyncMobile. Add a SetField() line for your flag field in the "Push" section as shown here:
Note that if you haven't edited the script "Custom Field Mapping: Transformation and Hooks" before, it's a very useful part of GoZync in that any fields set within that script are contained within the sync's transaction: that means if something happens to the transaction (record lock or disconnect, for example), changed made within the "Custom Field..." script are reverted along with the rest of the sync. Good stuff: read more here.
- In GoZync 4 and 5 you'll also want to change the definition of the auto-enter calc for gz_LatestAction to this:
Case( gz_Send = 1 ; "Modified" ; gz_Send = 0 and gz_ModTimeStamp and not $gz_AllowZero ; "Modified" ; Self )
That makes sure newly created records are still tagged as "Modified" (and thus not deleted during a pull).