Microsoft Office Online
Logga in på Mitt Office Online (Förklaring) | Logga in

 
 
Microsoft Office InfoPath
Sök
Sök
 
 
 
 
Varning! Du visar den här sidan med en webbläsare som inte stöds. Använd Microsoft Internet Explorer 6.0 eller senare, Firefox 1.5 eller Netscape Navigator 8.0 eller senare om du vill visa den här webbplatsen. Läs mer om webbläsare som stöds.

Tips om hur du utformar formulär som fungerar offline
 
Gäller:
Microsoft Office InfoPath® 2003 Service Pack 1

När en användare öppnar ett nytt InfoPath-formulär som ska fyllas i, lagras formulärmallen (formulärmall: En fil eller uppsättning filer i InfoPath som definierar datastruktur, utseende och funktion för ett formulär.) som hör till formuläret automatiskt på användarens dator. Då kan användaren fylla i formuläret även om datorn är offline. På så sätt kan användaren fylla i formuläret i egen takt och när han eller hon vill. En användare kanske börjar fylla i sin reseräkning medan han eller hon är på affärsresa. När användaren sedan kommer tillbaka till arbetsplatsen kan han eller hon ansluta till företagets nätverk och spara det ifyllda formuläret på en delad plats, till exempel i företagets intranät eller ett formulärbibliotek (formulärbibliotek: En mapp där en samling formulär baserade på samma mall lagras och delas. Alla formulär i ett formulärbibliotek är kopplade till användardefinierad information som visas i bibliotekets innehållslista.) som finns på en Microsoft Windows SharePoint Services-webbplats.

Om formuläret inte har utformats för att användas offline kanske användarna får problem med formuläret när de inte arbetar online. Om formulärmallen till exempel använder en extern sekundär datakälla (sekundär datakälla: En XML-datafil, databas eller webbtjänst som används i ett formulär för poster i en listruta eller för skriptåtgärder.), och den datakällan inte är en resursfil till formulärmallen, kan offlineanvändare inte komma åt data i den datakällan.

Om du utformar en formulärmall som ska användas offline finns det flera saker som du bör ta hänsyn till så att användarna kan komma åt och fylla i formuläret offline. I den här artikeln beskrivs två bra metoder för hur du kan designa formulär som ska användas offline – att skapa ett eget skript som identifierar om användarens dator är online och att infoga alla sekundära datakällor i formuläret som användarna ska fylla i offline.

Skapa ett eget skript som fastställer onlinestatus

Om du vill skapa formulärmallar som fungerar offline lägger du till ett eget skript som identifierar om användarens dator är ansluten till ett nätverk. Detta är användbart om du vill utnyttja viss funktionalitet i formulärmallen som är beroende av att användaren arbetar online. Om du till exempel utformar en mall som använder realtidsdata från en webbtjänst kanske du vill att användarna bara ska fylla i formuläret på en dator som är ansluten till Internet. Genom att lägga till ett skript i formulärmallen som testar om användaren är online, kan du visa ett meddelande när användarens dator är offline som ber användaren att aktivera Internet-anslutningen innan han eller hon fyller i formuläret.

Du tar reda på om en dator är ansluten till ett nätverk genom att markera egenskapen MachineOnlineState. Den här egenskapen anges till sant om datorn är ansluten till ett nätverk och till falskt om den är offline.

För att formuläret ska kunna känna av anslutningen till nätverket när det öppnas måste du lägga till ett skript för händelsen OnLoad i formulärmallen. De skript som finns i händelsen OnLoad körs varje gång formuläret öppnas. Så här öppnar du händelsen OnLoad:

  • Peka på ProgrammeringVerktyg-menyn i designläge och klicka sedan på Händelsen Vid start.

Då skapas händelsehanteraren OnLoad (som är namnet på det skript som körs när formuläret öppnas – det ”hanterar” händelsen), Microsoft Skriptredigeraren (MSE) (Microsoft Skriptredigeraren: En programmeringsmiljö som används för att skapa, redigera och felsöka Microsoft JScript- eller Microsoft VBScript-kod i ett InfoPath-formulär.) öppnas och pekaren placeras på hanteraren. Det avsnitt av skriptet som du ska arbeta med ser ut så här:

//======= // Följande funktionshanterare har skapats av Microsoft Office InfoPath. // Ändra inte funktionens namn eller namnet och numret på något argument. //======= function XDocument::OnLoad(eventObj) {      // Skriv in koden här }

Obs!  Alla skript i den här artikeln har Microsoft JScript-syntax.

Det är viktigt att du tar fram händelsen OnLoad på det sätt som beskrivs ovan. Då skapas posten automatiskt i formulärdefinitionsfilen (.xsf) (formulärdefinitionsfil: En XML-fil, med filtillägget .xsf, som innehåller information om alla övriga filer och komponenter som används i ett formulär, inklusive gränssnittsanpassningar, XML-scheman, vyer, affärslogik, händelser och distributionsinställningar.) vilket är nödvändigt om händelsehanteraren ska fungera korrekt. När du har skapat händelsehanteraren OnLoad lägger du till skriptet som testar nätverksanslutningen för användarens dator.

  1. Kopiera följande text till en textredigerare, till exempel Microsoft Anteckningar, markera texten och byt ut texten // Skriv in koden här i händelsen OnLoad i MSE.

    Obs!  Genom att flytta texten till en textredigare innan du lägger till den i formulärmallen i MSE ser du till att HTML (HTML: Det standardmärkningsspråk som används för dokument på Internet. HTML använder taggar, eller koder, för att ange hur webbläsaren ska visa sidelement som text och grafik och hur de ska svara på användarens åtgärder.)-formateringsmarkeringarna inte visas i skriptet.

    if (0==Application.MachineOnlineState) 
    { 
         XDocument.UI.Alert(”Datorn är offline.”);
    }
    else
    {
         XDocument.UI.Alert(”Datorn är online.”);
    }

  2. När du har felsökt skriptet som du infogar ändrar du texten ”Datorn är offline” till det meddelande som du vill att användarna ska se om de öppnar formuläret när datorn är offline. Du kanske till exempel vill använda meddelandet ”I det här formuläret används data från en webbtjänst. Anslut till Internet och öppna sedan formuläret.”. Du kan också ta bort villkoret och varningen else om du inte vill att användarna ska se något meddelande när datorn är online.
  3. Klicka på SparaArkiv-menyn i MSE.
  4. Testa skriptet genom att inaktivera nätverksanslutningen och sedan klicka på Förhandsgranska formulär i verktygsfältet Standard.

    När formuläret öppnas i förhandsgranskningsfönstret visas det meddelande som du har skapat.

Du kan också ändra skriptet i föregående exempel om du vill undersöka om det finns en IP-adress, en UIC-sökväg eller URL från den dator som en person använder för att fylla i formuläret. Detta gör du genom att använda metoden IsDestinationReachable. Skillnaden är viktig eftersom servern kan vara online men ändå inte tillgänglig. Anta att en person använder en bärbar dator hemma och på arbetet. På arbetet kan den personen fylla i ett formulär som använder en sekundär datakälla från en webbtjänst som finns i företagets intranät. Om samma person sedan ansluter sin bärbara dator till Internet hemifrån, är webbtjänsten inte tillgänglig även om datorn är online. Ett skript som identifierar en IP-adress, en UNC-sökväg eller en URL kan vara användbart om du vill förse användaren med mer information.

Du skapar ett skript som identifierar om server är tillgänglig genom att ändra skriptet i steg 1 i proceduren ovan så att det överensstämmer med exemplet nedan. Du måste byta ut "http://exempel/" med den plats där formulärmallen är publicerad:


if (0==Application.IsDestinationReachable("http://exempel/")) 
{

     XDocument.UI.Alert(”Servern är inte tillgänglig.”);
}
else
{
     XDocument.UI.Alert(”Servern är tillgänglig.”);
}

Infoga sekundära datakällor i formuläret

En sekundär datakälla är en datafil, databas eller webbtjänst i XML-format (Extensible Markup Language) (Extensible Markup Language (XML): En komprimerad form av SGML (Standard Generalized Markup Language), som gör att utvecklare kan skapa anpassade taggar för flexibel disposition och presentation av information.) som kan användas för att fylla i listrutorna i ett formulär. Användarna som fyller i ett formulär offline har inte tillgång till de sekundära datakällorna som använder databaser eller webbtjänster. Om du utformar ett formulär som ska användas offline bör du därför använda en XML-fil som sekundär datakälla, eftersom de data du behöver då sparas i själva formuläret i stället för i nätverket. Du infogar XML-filer i formuläret med Resurshanteraren.

  1. Klicka på ResursfilerVerktyg-menyn i designläge.
  2. Klicka på Lägg till i dialogrutan Resursfiler.
  3. Markera i dialogrutan Lägg till den XML-fil som du vill använda som sekundär datakälla.
annons