MOSS: Egyéni lista frissítése

Számos jó példa az SDK via Egyéni listák frissítése. Itt van még egy.

Üzleti probléma: InfoPath-űrlap úgy lett kialakítva, hogy lehetővé teszi a felhasználók számára, hogy adja meg online beszerzési igénylések. PO igénylési számokat kell hagyományos sorozat alapján egészszám-értékeket, és automatikusan.

Üzleti megoldás: Két oszlopot tartalmazó egyéni MOSS lista létrehozása: "ControlField" és "ControlValue". Az érték oszlopban tartalmazza a következő beszerzési igénylési szám. Vegye figyelembe, hogy a generikus "ellenőrzés" elnevezési biztosít a jövőbeli ellenőrzési területeken, szükség esetén felhasználható.

Műszaki megoldás: Létrehozása a webszolgáltatás az InfoPath ügyfél által. A webszolgáltatás adja vissza a következő beszerzési igénylés számát, és frissíti az értéket a listához.

Tanulságok:

  • Ha adatforrásként ezt pókháló szolgáltatás hozzáadása az InfoPath-űrlap, Azt találták, hogy kell átalakítani, hogy a udc és készlet ez-ba egy adatkapcsolattár.
  • Azt is megállapították, hogy szükséges, hogy a tartományok közötti keresztül központi felügyeleti parancsfájlok // alkalmazások kezelése // űrlap kiszolgálókonfiguráció.
  • Először az űrlapot próbált-hoz belépés a pókháló szolgáltatás, eltart egy ideig, és alkalmanként, volna idő. Én fiddled bővíteni az időtúllépési beállítások űrlap szerver konfigurációs beállítások, és úgy látszik, hogy segítsen.

A kód:

használatával Rendszer;
használatával System.Web;
használatával System.Web.Services;
használatával System.Web.Services.Protocols;
használatával Microsoft.SharePoint;
használatával System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
nyilvános osztály PoService : System.Web.Services.WebService
{
nyilvános PoService () {

//Vedd ki a megjegyzésből az alábbi sort, ha használ tervezett alkatrészek
//InitializeComponent();
}

/// <Összefoglaló>
/// A következő PO-szám megszerzése sharepoint-listából a po szám ellenőrzése.
/// Növekmény a PO szám a listán.
/// </Összefoglaló>
/// <adja vissza></adja vissza>
[WebMethod]
nyilvános karakterlánc GetNextPoNumber()
{
karakterlánc SpPoControlSiteName; // Ad otthont a PO-szabálygyűjtemény tényleges MOSS-hely nevét.
karakterlánc SpPoControlListName; // A tényleges MOSS lista a Po-vezérlőt tartalmazó.

SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();

karakterlánc nextPoReqNumber = "xyzzy";

használatával (SPSite telek = új SPSite(SpPoControlSiteName))
{
használatával (SPWeb Web = site. OpenWeb())
{

Meg az SPList.Update() currentList = webes. Listák[SpPoControlListName];

foreach (SPItem controlItem a currentList.Items)
{

Ha (((karakterlánc)controlItem["ControlField"]).Egyenlő("NextPoNumber"))
{
nextPoReqNumber = (karakterlánc)controlItem["ControlValue"];

int int_nextPoReqNumber;
int_nextPoReqNumber = Konvertálás.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

controlItem["ControlValue"] int_nextPoReqNumber =;
controlItem.Update();
}

} // Megkeresése, olvasás és a PO szám, a lista frissítése.


} // spweb weben = site.openweb()
} // spsite webhely használatával új spsite =("http://localhost/mizuho")

vissza nextPoReqNumber;

}
}

One thought on „MOSS: Egyéni lista frissítése

  1. KSP írta:
    Szia Paul,
    Van egy hasonló helyzetben, mi is megemlíteni, de a probléma az, hogy szeretném használni ezt pókháló Servië egy teher egyensúly kiszolgálón.Ezért,Hogyan kell kezelni a párhuzamossági kéri, ebben az esetben, vagy hogyan, hogy az új kérés vár, és csak egy kérelmet kell frissíteni a lista szám-ig, majd minden más kérelmet kell que.Legyen szíves hadd tudjam meg, hogyan lehet ezt elérni.
    Előre is köszönöm.
    Válasz

hagyj válaszüzenetet

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *