Het hier gegeven voorbeeld toont een implementatie van CustomPages. De behoefte van het bedrijf is als volgt: technici die buiten het bedrijf werken, moeten een lijst met acties hebben die de taken aangeeft die voor klanten moeten worden uitgevoerd. Deze gebruikers hebben soms beperkte connectiviteit, wat betekent dat ze niet altijd een internetverbinding hebben. Wanneer er een verbinding beschikbaar is, tenminste aan het begin en einde van de dag, kunnen ze taken ontvangen in hun MercatorPenguin en voltooide taken verzenden. In de loop van de dag, als er weer verbinding is, kan deze takenlijst worden bijgewerkt.

Een klik op de knop "Synchroniseer" :
- downloadt de nieuwe taken,
- stuurt de afgesloten taken naar Mercator ERP en verwijdert ze van de lijst.
In deze ontwikkeling, die alleen geldig is voor het voorbeeld dat wordt gegeven, is er geen voorziening voor het bijwerken van taken die al zijn gedownload.
In de customiser van het actiemodel waarschuwt deze eenvoudige code de gebruiker van Mercator ERP bij het openen van de taak dat deze is verzonden en dus waarschijnlijk zal worden gewijzigd in de MercatorPenguin van een gebruiker.
void actionEngineActionForm_FullInitialized(object sender, EventArgs e)
{
MercatorUi.Forms.Action.ActionForm actionForm = (MercatorUi.Forms.Action.ActionForm)sender;
actionForm.FullInitialized -= actionEngineActionForm_FullInitialized;
if (actionForm.ActionEngine.ActionsRecord.SENT_OFFLINE)
Dialogs.Stop("Opgelet: deze actie is offline gedownload door een gebruiker van MercatorPenguin. De wijzigingen die hier worden aangebracht, gaan verloren bij de volgende synchronisatie!", actionForm);
}
Wanneer de gebruiker van MercatorPenguin een actie selecteert, wordt het tweede scherm geopend. Hij kan wijzigingen aanbrengen aan deze actie:
- het tijdstip van de interventie wijzigen,
- een notitie invoeren,
- een foto uploaden,
- aangeven dat de actie is voltooid.
De actie wordt lokaal opgeslagen op het apparaat dat MercatorPenguin host, in de vorm van een eenvoudig tekstbestand met een json-weergave van de actie.
Het OfflineTasks project gebruikt de code van deze bibliotheek van MAUI klassen.
Synchronisatie is in staat om lokaal geregistreerde wijzigingen van voltooide acties naar Mercator ERP te sturen. Dit wordt bereikt door de mogelijkheid om aangepaste code uit te voeren in de Mercator-instantie vanuit een CustomPage. De code die moet worden uitgevoerd in de Mercator-instantie wordt gecompileerd vanuit het project OfflineTasksServer (Windows-klassenbibliotheek)
De bundel die toegang geeft tot deze functies is als volgt:
XAML zoeken:
<m:SearchButton IsVisible="False" />
SQL-query:
select 1
XAML ListViewCell:
<CustomPage>
<Android>
<MainAssembly><Other\OfflineTasks\Android\OfflineTasks.dll</MainAssembly>
</Android>
<iOS>
<MainAssembly><Other\OfflineTasks\iOS\OfflineTasks.dll</MainAssembly>
</iOS>
<ClassName>OfflineTasks.TasksListPage</ClassName>
<NoData>True</NoData>
</CustomPage>
De assemblies zijn als volgt gerangschikt, in "Beheer > SQL Bestanden > Anderen":

Zie ook: MercatorPenguin starten zonder inloggegevens te controleren
Te laden :
0000003244.zip (132 Kb - 03-10-2024)