Sdílet prostřednictvím


Návod: Vytvoření pracovního postupu pomocí formulářů přidružení a inicializace

Tento názorný postup ukazuje, jak vytvořit základní sekvenční pracovní postup, který zahrnuje použití asociačních a inicialačních formulářů. Jedná se o formuláře ASPX, které umožňují přidání parametrů do pracovního postupu při prvním přidružení správcem SharePointu (formulář přidružení) a při spuštění pracovního postupu uživatelem (inicialační formulář).

Tento názorný postup popisuje scénář, ve kterém chce uživatel vytvořit pracovní postup schválení pro sestavy výdajů s následujícími požadavky:

  • Když je pracovní postup přidružený k seznamu, zobrazí se výzva správce s formulářem přidružení, kde zadá limit dolaru pro vyúčtování výdajů.

  • Zaměstnanci nahrají své vyúčtování výdajů do seznamu Sdílené dokumenty, spustí pracovní postup a pak do formuláře pro zahájení pracovního postupu zadá celkový součet výdajů.

  • Pokud celková částka vyúčtování výdajů zaměstnance překročí předdefinovaný limit správce, vytvoří se úkol, který bude vedoucímu zaměstnance schvalovat vyúčtování výdajů. Pokud je ale celkový součet vyúčtování výdajů zaměstnance menší nebo roven limitu výdajů, zapíše se automaticky schválená zpráva do seznamu historie pracovního postupu.

    Tento návod znázorňuje následující úlohy:

  • Vytvoření projektu sekvenčního pracovního postupu definice seznamu SharePointu v sadě Visual Studio

  • Vytvoření plánu pracovního postupu

  • Zpracování událostí aktivity pracovního postupu

  • Vytváření asociačních a inicialačních formulářů pracovního postupu

  • Přidružení pracovního postupu

  • Ručně spustíte pracovní postup.

Poznámka:

I když tento návod používá sekvenční projekt pracovního postupu, proces je stejný pro pracovní postupy stavového počítače.

Počítač může také zobrazit různé názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio v následujících pokynech. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace naleznete v tématu Přizpůsobení integrovaného vývojového prostředí sady Visual Studio.

Požadavky

K dokončení tohoto návodu budete potřebovat následující komponenty:

  • Podporované edice systému Microsoft Windows a SharePoint.

  • Visual Studio.

Vytvoření projektu sekvenčního pracovního postupu SharePointu

Nejprve v sadě Visual Studio vytvořte sekvenční projekt pracovního postupu. Sekvenční pracovní postup je řada kroků, které se provádějí v pořadí, dokud se nedokončí poslední aktivita. V tomto postupu vytvoříte sekvenční pracovní postup, který se vztahuje na seznam Sdílené dokumenty v SharePointu. Průvodce pracovním postupem umožňuje přidružit pracovní postup k webu nebo definici seznamu a umožňuje určit, kdy se pracovní postup spustí.

Vytvoření projektu sekvenčního pracovního postupu SharePointu

  1. Na řádku nabídek zvolte Soubor>nový>projekt, aby se zobrazilo dialogové okno Nový projekt.

  2. Rozbalte uzel SharePointu v sadě Visual C# nebo Visual Basic a zvolte uzel 2010.

  3. V podokně Šablony zvolte šablonu projektu projektu SharePointu 2010.

  4. Do pole Název zadejte ExpenseReport a pak zvolte tlačítko OK.

    Zobrazí se Průvodce přizpůsobením SharePointu.

  5. Na stránce Zadat web a úroveň zabezpečení pro ladění zvolte tlačítko nasadit jako řešení farmy a pak zvolte tlačítko Dokončit, abyste přijali úroveň důvěryhodnosti a výchozí web.

    Tento krok také nastaví úroveň důvěryhodnosti pro řešení jako řešení farmy, což je jediná dostupná možnost pro projekty pracovního postupu.

  6. V Průzkumník řešení zvolte uzel projektu.

  7. Na řádku nabídek zvolte Přidat novou položku projektu>.

  8. V části Visual C# nebo Visual Basic rozbalte uzel SharePointu a pak zvolte uzel 2010.

  9. V podokně Šablony zvolte šablonu Sekvenční pracovní postup (pouze řešení farmy) a pak zvolte tlačítko Přidat.

    Zobrazí se Průvodce přizpůsobením SharePointu.

  10. Na stránce Zadejte název pracovního postupu pro ladění přijměte výchozí název (ExpenseReport – Workflow1). Ponechte výchozí hodnotu typu šablony pracovního postupu (pracovní postup seznamu). Zvolte tlačítko Další.

  11. V sadě Visual Studio chcete, aby pracovní postup automaticky přidružil v relaci ladění? Zrušte zaškrtnutí políčka, které automaticky přidruží šablonu pracovního postupu, pokud je zaškrtnuté.

    Tento krok vám umožní později ručně přidružit pracovní postup k seznamu Sdílené dokumenty, ve kterém se zobrazí formulář přidružení.

  12. Zvolte tlačítko Dokončit.

Přidání formuláře přidružení do pracovního postupu

Dále vytvořte . Formulář přidružení ASPX, který se zobrazí, když správce SharePointu nejprve přidruží pracovní postup k dokumentu vyúčtování výdajů.

Přidání formuláře přidružení do pracovního postupu

  1. V Průzkumník řešení zvolte uzel Workflow1.

  2. Na řádku nabídek zvolte Přidat novou položku projektu>a zobrazte dialogové okno Přidat novou položku.

  3. Ve stromovém zobrazení dialogového okna rozbalte visual C# nebo Visual Basic (v závislosti na jazyce projektu), rozbalte uzel SharePointu a pak zvolte uzel 2010 .

  4. V seznamu šablon zvolte šablonu formuláře přidružení pracovního postupu.

  5. Do textového pole Název zadejte ExpenseReportAssocForm.aspx.

  6. Zvolte tlačítko Přidat a přidejte formulář do projektu.

Návrh a kódování formuláře přidružení

V tomto postupu zavádíte do formuláře přidružení funkce přidáním ovládacích prvků a kódu do něj.

Návrh a kódování formuláře přidružení

  1. Ve formuláři přidružení (ExpenseReportAssocForm.aspx) vyhledejte asp:Content prvek, který má ID="Main".

  2. Přímo za první řádek tohoto prvku obsahu přidejte následující kód pro vytvoření popisku a textového pole, které zobrazí výzvu k dosažení limitu schválení výdajů (AutoApproveLimit):

    <asp:Label ID="lblAutoApproveLimit" Text="Auto Approval Limit:" runat="server" />
    
    <asp:TextBox ID="AutoApproveLimit" runat="server" />
    <br /><br />
    
  3. Rozbalením souboru ExpenseReportAssocForm.aspx v Průzkumník řešení zobrazte závislé soubory.

    Poznámka:

    Pokud je váš projekt v jazyce Visual Basic, musíte k provedení tohoto kroku zvolit tlačítko Zobrazit všechny soubory .

  4. Otevřete místní nabídku pro soubor ExpenseReportAssocForm.aspx a zvolte Zobrazit kód.

  5. Nahraďte metodu GetAssociationData tímto:

    private string GetAssociationData()
    {
        // TODO: Return a string that contains the association data that
        // will be passed to the workflow. Typically, this is in XML
        // format.
        return this.AutoApproveLimit.Text;
    }
    

Přidání inicializace formuláře do pracovního postupu

Dále vytvořte inicialační formulář, který se zobrazí, když uživatelé spustí pracovní postup proti sestavám výdajů.

Vytvoření inicializace formuláře

  1. V Průzkumník řešení zvolte uzel Workflow1.

  2. Na řádku nabídek zvolte Přidat novou položku projektu>a zobrazte dialogové okno Přidat novou položku.

  3. Ve stromovém zobrazení dialogového okna rozbalte visual C# nebo Visual Basic (v závislosti na jazyce projektu), rozbalte uzel SharePointu a pak zvolte uzel 2010 .

  4. V seznamu šablon zvolte šablonu formuláře Inicializace pracovního postupu.

  5. Do textového pole Název zadejte ExpenseReportInitForm.aspx.

  6. Zvolte tlačítko Přidat a přidejte formulář do projektu.

Návrh a kódování inicializace formuláře

Dále do inicializace představte funkce přidáním ovládacích prvků a kódu do něj.

Kódování inicializace formuláře

  1. Ve spouštěcím formuláři (ExpenseReportInitForm.aspx) vyhledejte asp:Content prvek, který obsahuje ID="Main".

  2. Přímo za první řádek v tomto prvku obsahu přidejte následující kód pro vytvoření popisku a textového pole, které zobrazí limit schválení výdajů (AutoApproveLimit), který byl zadán ve formuláři přidružení, a další popisek a textové pole, které zobrazí výzvu k zadání celkové částky výdajů (ExpenseTotal):

    <asp:Label ID="lblAutoApproveLimit" Text="Auto Approval Limit:" runat="server" />
    
    <asp:TextBox ID="AutoApproveLimit" ReadOnly="true" runat="server" />
    <br /><br />
    <asp:Label ID="lblExpenseTotal" Text="Expense Total:" runat="server" />
    
    <asp:TextBox ID="ExpenseTotal" runat="server" />
    <br /><br />
    
  3. Rozbalením souboru ExpenseReportInitForm.aspx v Průzkumník řešení zobrazte závislé soubory.

  4. Otevřete místní nabídku pro soubor ExpenseReportInitForm.aspx a zvolte Zobrazit kód.

  5. Nahraďte metodu Page_Load následujícím příkladem:

    protected void Page_Load(object sender, EventArgs e)
    {
        InitializeParams();
        this.AutoApproveLimit.Text =
          workflowList.WorkflowAssociations[new
          Guid(associationGuid)].AssociationData;
    }
    
  6. Nahraďte metodu GetInitiationData následujícím příkladem:

    // This method is called when the user clicks the button to start the workflow.
    private string GetInitiationData()
    {
        // TODO: Return a string that contains the initiation data that
        // will be passed to the workflow. Typically, this is in XML
        // format.
        return this.ExpenseTotal.Text;
    }
    

Přizpůsobení pracovního postupu

Dále upravte pracovní postup. Později k pracovnímu postupu přidružíte dva formuláře.

Přizpůsobení pracovního postupu

  1. Zobrazte pracovní postup v návrháři pracovního postupu tak, že v projektu otevřete Workflow1.

  2. V sadě nástrojů rozbalte uzel Windows Workflow v3.0 a vyhledejte aktivitu IfElse.

  3. Přidejte tuto aktivitu do pracovního postupu provedením jednoho z následujících kroků:

    • Otevřete místní nabídku pro aktivitu IfElse , zvolte Kopírovat, otevřete místní nabídku pro řádek pod aktivitou onWorkflowActivated1 v návrháři pracovního postupu a pak zvolte Vložit.

    • Přetáhněte aktivitu IfElse z panelu nástrojů a připojte ji k řádku pod aktivitou onWorkflowActiviated1 v návrháři pracovního postupu.

  4. Na panelu nástrojů rozbalte uzel Pracovního postupu Služby SharePoint a vyhledejte aktivitu CreateTask .

  5. Přidejte tuto aktivitu do pracovního postupu provedením jednoho z následujících kroků:

    • Otevřete místní nabídku pro aktivitu CreateTask , zvolte Kopírovat, otevřete místní nabídku pro jednu ze dvou oblastí Drop Activities Here v rámci IfElseActivity1 v návrháři pracovního postupu a pak zvolte Vložit.

    • Přetáhněte aktivitu CreateTask z panelu nástrojů do jedné ze dvou oblastí Drop Activities Here v rámci ifElseActivity1.

  6. V okně Vlastnosti zadejte hodnotu vlastnosti taskToken pro CorrelationToken vlastnost.

  7. Rozbalte vlastnost CorrelationToken výběrem znaménka plus (TreeView plus) vedle ní.

  8. Zvolte šipku rozevíracího seznamu u dílčí vlastnosti OwnerActivityName a nastavte hodnotu Workflow1 .

  9. Zvolte vlastnost TaskId a potom kliknutím na tlačítko se třemi tečky (ASP.NET mobile Designer – tři tečky) zobrazte dialogové okno Vlastnost vazby.

  10. Zvolte kartu Vytvořit vazbu k novému členu , zvolte tlačítko Vytvořit pole a pak zvolte tlačítko OK .

  11. zvolte Vlastnost TaskProperties a potom zvolte tlačítko se třemi tečkami (ASP.NET mobile Designer – tři tečky) a zobrazte dialogové okno Vlastnost vazby.

  12. Zvolte kartu Vytvořit vazbu k novému členu , zvolte tlačítko Vytvořit pole a pak zvolte tlačítko OK .

  13. Na panelu nástrojů rozbalte uzel Pracovního postupu Služby SharePoint a vyhledejte aktivitu LogToHistoryListActivity.

  14. Přidejte tuto aktivitu do pracovního postupu provedením jednoho z následujících kroků:

    • Otevřete místní nabídku pro aktivitu LogToHistoryListActivity , zvolte Kopírovat, otevřete místní nabídku pro ostatní rozevírací aktivity v oblasti IfElseActivity1 v návrháři pracovního postupu a pak zvolte Vložit.

    • Přetáhněte aktivitu LogToHistoryListActivity z panelu nástrojů a přetáhněte ji do další oblasti Drop Activities Here v rámci ifElseActivity1.

Přidání kódu do pracovního postupu

V dalším kroku přidejte do pracovního postupu kód, který mu poskytne funkčnost.

Přidání kódu do pracovního postupu

  1. Otevřete místní nabídku pro aktivitu createTask1 v návrháři pracovního postupu a pak zvolte Zobrazit kód.

  2. Přidejte následující metodu:

    private void createTask1_MethodInvoking(object sender, EventArgs e)
    {
        createTask1_TaskId1 = Guid.NewGuid();
        createTask1_TaskProperties1.AssignedTo = "somedomain\\someuser";
        createTask1_TaskProperties1.Description = "Please approve the
          expense report";
        createTask1_TaskProperties1.Title = "Expense Report Approval
          Needed";
    }
    

    Poznámka:

    V kódu nahraďte somedomain\\someuser doménou a uživatelským jménem, pro které se vytvoří úkol, například "Office\\JoeSch". Pro testování je nejjednodušší použít účet, se kterým vyvíjíte.

  3. Pod metodu MethodInvoking přidejte následující příklad:

    private void checkApprovalNeeded(object sender, ConditionalEventArgs
      e)
    {
        bool approval = false;
        if (Convert.ToInt32(workflowProperties.InitiationData) >
          Convert.ToInt32(workflowProperties.AssociationData))
        {
            approval = true;
        }
        e.Result = approval;
    }
    
  4. V návrháři pracovního postupu zvolte aktivitu ifElseBranchActivity1 .

  5. V okně Vlastnosti zvolte rozevírací šipku vlastnosti Podmínka a pak nastavte hodnotu Podmínky kódu.

  6. Rozbalte vlastnost Podmínka výběrem znaménka plus () vedleTreeView plus ní a pak nastavte její hodnotu na checkApprovalNeeded.

  7. V návrháři pracovního postupu otevřete místní nabídku pro aktivitu logToHistoryListActivity1 a pak zvolte Generovat obslužné rutiny pro vygenerování prázdné metody pro MethodInvoking událost.

  8. MethodInvoking Nahraďte kód následujícím kódem:

    private void logToHistoryListActivity1_MethodInvoking(object sender,
      EventArgs e)
    {
        this.logToHistoryListActivity1.HistoryOutcome = "Expense was
          auto approved for " + workflowProperties.InitiationData;
    }
    
  9. Zvolte klávesu F5 pro ladění programu.

    Tím se aplikace zkompiluje, zabalí ji, nasadí, aktivuje její funkce, recykluje fond aplikací služby IIS a pak spustí prohlížeč v umístění určeném ve vlastnosti Adresa URL webu.

Přidružení pracovního postupu k seznamu dokumentů

Dále zobrazte formulář přidružení pracovního postupu přidružením pracovního postupu k seznamu SharedDocuments na sharepointovém webu.

Přidružení pracovního postupu

  1. Na panelu QuickLaunch zvolte odkaz Sdílené dokumenty .

  2. Na kartě Nástroje knihovny zvolte odkaz Knihovna a pak zvolte tlačítko Nastavení knihovna na pásu karet.

  3. V části Oprávnění a správa zvolte odkaz Pracovní postup Nastavení a pak na stránce Pracovní postupy zvolte odkaz Přidat pracovní postup.

  4. V horním seznamu na stránce nastavení pracovního postupu zvolte šablonu ExpenseReport – Workflow1 .

  5. Do dalšího pole zadejte ExpenseReportWorkflow a pak zvolte tlačítko Další .

    Tím se pracovní postup přidruží k seznamu Sdílené dokumenty a zobrazí formulář přidružení pracovního postupu.

  6. Do textového pole Automatické schválení zadejte 1200 a pak zvolte tlačítko Přidružit pracovní postup .

Spuštění pracovního postupu

Dále přidružte pracovní postup k jednomu z dokumentů v seznamu Sdílené dokumenty a zobrazte inicializace pracovního postupu.

Spuštění pracovního postupu

  1. Na stránce SharePointu zvolte tlačítko Domů .

  2. Kliknutím na odkaz Sdílené dokumenty na panelu QuickLaunch zobrazte seznam Sdílené dokumenty.

  3. Zvolte odkaz Dokumenty na kartě Nástroje knihovny v horní části stránky a pak zvolte tlačítko Nahrát dokument na pásu karet a nahrajte nový dokument do seznamu Sdílené dokumenty.

  4. V dialogovém okně Nahrát dokument zvolte tlačítko Procházet , zvolte libovolný soubor dokumentu, zvolte tlačítko Otevřít a pak zvolte tlačítko OK .

    Nastavení dokumentu můžete změnit v tomto dialogovém okně, ale ponechte je ve výchozím nastavení tak, že zvolíte tlačítko Uložit .

  5. Zvolte nahraný dokument, zvolte šipku rozevíracího seznamu, která se zobrazí, a pak zvolte položku Pracovní postupy .

  6. Zvolte obrázek vedle položky ExpenseReportWorkflow.

    Zobrazí se inicializace pracovního postupu. (Všimněte si, že hodnota zobrazená v Pole Limit automatického schválení je jen pro čtení, protože bylo zadáno ve formuláři přidružení.)

  7. Do textového pole Výdaje celkem zadejte 1600 a pak zvolte tlačítko Spustit pracovní postup .

    Zobrazí se znovu seznam Sdílené dokumenty . Nový sloupec s názvem ExpenseReportWorkflow s hodnotou Dokončeno se přidá do položky, kterou pracovní postup právě spustil.

  8. Zvolte šipku rozevíracího seznamu vedle nahraného dokumentu a pak zvolte položku Pracovní postupy , aby se zobrazila stránka stavu pracovního postupu. V části Dokončené pracovní postupy zvolte hodnotu Dokončeno. Úkol je uvedený v části Úkoly .

  9. Zvolte název úkolu, aby se zobrazily jeho podrobnosti o úkolu.

  10. Vraťte se do seznamu SharedDocuments a restartujte pracovní postup pomocí stejného dokumentu nebo jiného dokumentu.

  11. Zadejte částku na úvodní stránce, která je menší nebo rovna výši zadané na stránce přidružení (1200).

    V takovém případě se místo úkolu vytvoří položka v seznamu historie. Položka se zobrazí v části Historie pracovního postupu na stránce stavu pracovního postupu. Všimněte si zprávy ve sloupci Výsledek události historie. Obsahuje text zadaný v logToHistoryListActivity1.MethodInvoking případě, že obsahuje částku, která byla automaticky schválena.