Sdílet prostřednictvím


Návod: Přidání stránky aplikace do pracovního postupu

Tento názorný postup ukazuje, jak přidat stránku aplikace, která zobrazuje data odvozená z pracovního postupu do projektu pracovního postupu. Vychází z projektu popsaného v tématu Návod: Vytvoření pracovního postupu s přidružením a inicializacemi.

Tento názorný postup ukazuje následující úlohy:

  • Přidání stránky aplikace ASPX do projektu pracovního postupu SharePointu

  • Získávání dat z projektu pracovního postupu a manipulace s nimi

  • Zobrazení dat v tabulce na stránce aplikace

    Poznámka:

    Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. 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í (IDE).

Požadavky

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

Změna kódu pracovního postupu

Nejprve přidejte do pracovního postupu řádek kódu, který nastaví hodnotu sloupce Výsledek na částku sestavy výdajů. Tato hodnota se použije později v souhrnném výpočtu sestavy výdajů.

Nastavení hodnoty sloupce výsledku v pracovním postupu

  1. Načtěte dokončený projekt z tématu Návod: Vytvoření pracovního postupu pomocí formulářů přidružení a inicializace do sady Visual Studio.

  2. Otevřete kód pro Workflow1.cs nebo Workflow1.vb (v závislosti na programovacím jazyce).

  3. Na konec createTask1_MethodInvoking metody přidejte následující kód:

    createTask1_TaskProperties1.ExtendedProperties["Outcome"] =
      workflowProperties.InitiationData;
    

Vytvoření stránky aplikace

Dále do projektu přidejte formulář ASPX. Tento formulář zobrazí data získaná z projektu pracovního postupu vyúčtování výdajů. Uděláte to tak, že přidáte stránku aplikace. Stránka aplikace používá stejnou stránku předlohy jako ostatní sharepointové stránky, což znamená, že bude vypadat podobně jako jiné stránky na sharepointovém webu.

Přidání stránky aplikace do projektu

  1. Zvolte projekt ExpenseReport a potom na řádku nabídek zvolte Přidat novou položku projektu>.

  2. V podokně Šablony zvolte šablonu stránky aplikace, použijte výchozí název položky projektu (ApplicationPage1.aspx) a zvolte tlačítko Přidat.

  3. V souboru XML souboru ApplicationPage1.aspx nahraďte PlaceHolderMain oddíl následujícím kódem:

    <asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
        <asp:Label ID="Label1" runat="server" Font-Bold="True"
            Text="Expenses that exceeded allotted amount" Font-Size="Medium"></asp:Label>
        <br />
        <asp:Table ID="Table1" runat="server">
        </asp:Table>
    </asp:Content>
    

    Tento kód přidá na stránku tabulku spolu s názvem.

  4. Na stránku aplikace přidejte název tak, že oddíl nahradíte PlaceHolderPageTitleInTitleArea následujícím kódem:

    <asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >
        Expense Report Summary
    </asp:Content>
    

Kódování stránky aplikace

Dále přidejte kód na stránku souhrnné aplikace sestavy výdajů. Když stránku otevřete, kód prohledá seznam úkolů v SharePointu a zobrazí výdaje, které překročily přidělený limit útraty. Sestava uvádí každou položku společně se součtem výdajů.

Kódování stránky aplikace

  1. Zvolte uzel ApplicationPage1.aspx a potom na řádku nabídek zvolte Zobrazit>kód, aby se zobrazil kód za stránkou aplikace.

  2. Nahraďte příkazy using nebo Import (v závislosti na programovacím jazyce) v horní části třídy následujícím kódem:

    using System;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    using System.Collections;
    using System.Data;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Drawing;
    using Microsoft.SharePoint.Navigation;
    
  3. Do metody Page_Load přidejte následující kód:

    try
    {
        // Reference the Tasks list on the SharePoint site.
        // Replace "TestServer" with a valid SharePoint server name.
        SPSite site = new SPSite("http://TestServer");
        SPList list = site.AllWebs[0].Lists["Tasks"];
    
        // string text = "";
        int sum = 0;
    
        Table1.Rows.Clear();
    
        // Add table headers.
        TableHeaderRow hr = new TableHeaderRow();
        hr.BackColor = Color.LightBlue;
        TableHeaderCell hc1 = new TableHeaderCell();
        TableHeaderCell hc2 = new TableHeaderCell();
        hc1.Text = "Expense Report Name";
        hc2.Text = "Amount Exceeded";
        hr.Cells.Add(hc1);
        hr.Cells.Add(hc2);
        // Add the TableHeaderRow as the first item
        // in the Rows collection of the table.
        Table1.Rows.AddAt(0, hr);
    
        // Iterate through the tasks in the Task list and collect those
        // that have values in the "Related Content" and "Outcome"
        // fields - the fields written to when expense approval is
        // required.
        foreach (SPListItem item in list.Items)
        {
            string s_relContent = "";
            string s_outcome = "";
    
            try
            {
                // Task has the fields - treat as expense report.
                s_relContent = item.GetFormattedValue("Related
                  Content");
                s_outcome = item.GetFormattedValue("Outcome");
            }
            catch
            {
                // Task does not have fields - skip it.
                continue;
            }
    
            if (!String.IsNullOrEmpty(s_relContent) &&
              !String.IsNullOrEmpty(s_outcome))
            {
                // Convert amount to an int and keep a running total.
                sum += Convert.ToInt32(s_outcome);
                TableCell relContent = new TableCell();
                relContent.Text = s_relContent;
                TableCell outcome = new TableCell();
                outcome.Text = "$" + s_outcome;
                TableRow dataRow2 = new TableRow();
                dataRow2.Cells.Add(relContent);
                dataRow2.Cells.Add(outcome);
                Table1.Rows.Add(dataRow2);
            }
        }
    
        // Report the sum of the reports in the table footer.
           TableFooterRow tfr = new TableFooterRow();
        tfr.BackColor = Color.LightGreen;
    
        // Create a TableCell object to contain the
        // text for the footer.
        TableCell ftc1 = new TableCell();
        TableCell ftc2 = new TableCell();
        ftc1.Text = "TOTAL: ";
        ftc2.Text = "$" + Convert.ToString(sum);
    
        // Add the TableCell object to the Cells
        // collection of the TableFooterRow.
        tfr.Cells.Add(ftc1);
        tfr.Cells.Add(ftc2);
    
        // Add the TableFooterRow to the Rows
        // collection of the table.
        Table1.Rows.Add(tfr);
    }
    
    catch (Exception errx)
    {
        System.Diagnostics.Debug.WriteLine("Error: " + errx.ToString());
    }
    

    Upozorňující

    Nezapomeňte v kódu nahradit "TestServer" názvem platného serveru, na kterém běží SharePoint.

Otestování stránky aplikace

Dále určete, jestli stránka aplikace správně zobrazuje data výdajů.

Otestování stránky aplikace

  1. Zvolte klíč F5, který chcete spustit a nasadit projekt na SharePoint.

  2. Zvolte tlačítko Domů a potom na panelu QuickLaunch zvolte odkaz Sdílené dokumenty, aby se na sharepointovém webu zobrazil seznam Sdílené dokumenty.

  3. Chcete-li v tomto příkladu vyjádřit vyúčtování výdajů, nahrajte do seznamu Dokumenty některé nové dokumenty tak, že v horní části stránky vyberete odkaz Dokumenty na kartě LibraryTools a pak zvolíte tlačítko Nahrát dokument na pásu karet nástroje.

  4. Po nahrání některých dokumentů vytvořte instanci pracovního postupu výběrem odkazu Knihovna na kartě LibraryTools v horní části stránky a následným výběrem tlačítka Knihovna Nastavení na pásu karet nástroje.

  5. Na stránce Knihovna dokumentů Nastavení zvolte odkaz Pracovní postup Nastavení v části Oprávnění a správa.

  6. Na stránce Pracovní postup Nastavení zvolte odkaz Přidat pracovní postup.

  7. Na stránce Přidat pracovní postup zvolte pracovní postup ExpenseReport – Workflow1 , zadejte název pracovního postupu, například ExpenseTest, a pak zvolte tlačítko Další .

    Zobrazí se formulář přidružení pracovního postupu. Použijte ho k hlášení částky limitu výdajů.

  8. Ve formuláři Přidružení zadejte do pole Limit automatického schválení hodnotu 1000 a pak zvolte tlačítko Přidružit pracovní postup.

  9. Kliknutím na tlačítko Domů se vrátíte na domovskou stránku SharePointu.

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

  11. Zvolte jeden z nahraných dokumentů, aby se zobrazila šipka rozevíracího seznamu, zvolte ho a pak zvolte položku Pracovní postupy .

  12. Zvolte obrázek vedle ExpenseTest, aby se zobrazil formulář inicializace pracovního postupu.

  13. Do textového pole Výdaje celkem zadejte hodnotu, která je větší než 1000, a pak zvolte tlačítko Spustit pracovní postup .

    Pokud nahlášené výdaje překročí přidělenou částku výdajů, přidá se úkol do seznamu úkolů. Sloupec s názvem ExpenseTest s hodnotou Dokončeno se také přidá do položky vyúčtování výdajů v seznamu Sdílené dokumenty.

  14. Opakujte kroky 11 až 13 s dalšími dokumenty v seznamu Sdílené dokumenty. (Přesný počet dokumentů není důležitý.)

  15. Zobrazte stránku aplikace souhrnu vyúčtování výdajů otevřením následující adresy URL ve webovém prohlížeči: http:// SystemName/_layouts/ExpenseReport/ApplicationPage1.aspx.

    Souhrnná stránka vyúčtování výdajů obsahuje všechny sestavy výdajů, které překročily přidělenou částku, částku, o kterou ji překročily, a celkovou částku pro všechny sestavy.