Hello, I am trying to add an offline functionality in my app. The code is buggy, sometimes it works and sometime it does not. I am seeking your help in this. Below is my code on submit button.
If(
Connection.Connected ,
Patch(
'Dev_Data.RecordOut',
Defaults('Dev_Data.RecordOut'),
{
Asset: Dropdown1_2.Selected.Asset,
AssetLocationFrom: drpFrom.Selected.AssetLocation,
AssetLocationTo: drpTo.Selected.AssetLocation,
ByResource: drpByResource.Selected.LabourerName,
ID: Last('Dev_Data.RecordOut').ID + 1,
ReturnDate: dteReturn.SelectedDate
}
);
Refresh('Dev_Data.RecordOut');
ClearCollect(LocalIssues,'Dev_Data.RecordOut');
SaveData(LocalIssues,"offlineissues"),
Collect(localchanges,
{Asset: Dropdown1_2.Selected.Asset,
AssetLocationFrom: drpFrom.Selected.AssetLocation,
AssetLocationTo: drpTo.Selected.AssetLocation,
ByResource: drpByResource.Selected.LabourerName,
ID: Last(localchanges).ID + 1,
ReturnDate: dteReturn.SelectedDate,
ChangeType : "a"});
SaveData(localchanges,"offlinechanges");
UpdateContext({popup:true}))
and this is the code in the timer on end.
If(
Connection.Connected && CountRows(localchanges) > 0,
ForAll(
localchanges,
If(
ChangeType = "a",
Patch(
'Dev_Data.RecordOut',
Defaults('Dev_Data.RecordOut'),
{
Asset: Dropdown1_2.Selected.Asset,
AssetLocationFrom: drpFrom.Selected.AssetLocation,
AssetLocationTo: drpTo.Selected.AssetLocation,
ByResource: drpByResource.Selected.LabourerName,
ID: Last('Dev_Data.RecordOut').ID +1 ,
ReturnDate: dteReturn.SelectedDate
}
)
)
)
);
Clear(localchanges);
Refresh('Dev_Data.RecordOut');
ClearCollect(
LocalIssues,
'Dev_Data.RecordOut'
);
SaveData(
LocalIssues,
"offlineissues"
)
The data collected offline does not sync all the time, but sometimes it does. My doubt is with the ID column in the source.
Also, the datasource I have is MySql.
Please suggest. thanks in advance.
WarrenBelz
791
Most Valuable Professional
MS.Ragavendar
410
Super User 2025 Season 2
mmbr1606
275
Super User 2025 Season 2