Moss: Uppfæra sérsniðið lista

Það eru mörg góð dæmi um að uppfæra sérsniðnar lista með SDK. Hér er enn annar.

Viðskipti vandamál: InfoPath mynd hefur verið hannað sem gerir notendum kleift að slá á netinu requisitions kaupa. PO beiðni tölur ættu að vera hefðbundin röð undirstaða gildi heiltölu og reiknaðar sjálfkrafa.

Business Solution: Búa til sérsniðnar MOSS lista með tveimur dálkum: "ControlField" and "ControlValue". Verðmæti dálkur inniheldur næsta kaup beiðni númer. Note that the generic "control" nafngiftir venju kveðið framtíð sviðum stjórn heimilt að nota eftir þörfum.

Tæknilegar Lausn: Búa til vefur þjónusta nálgast með því Infopath viðskiptavinur. Vefurinn þjónusta skilar aftur næsta kaup beiðni númer og uppfærir virði listanum.

Reynslu sem fengist:

  • Þegar þú bætir við þessa vefsíðu þjónustu sem gögn uppspretta að Infopath formi, Mér fannst það nauðsynlegt að umbreyta það til a UDC og geyma það í gagnatengingar bókasafn.
  • Ég fann líka nauðsynlegt að gera kross ríki forskriftarþarfir gegnum Mið þjónustu gjöf // Umsókn Stjórn // mynd framreiðslumaður stelling.
  • Í fyrsta skipti sem mynd reyndi að opna vefþjónustu, það tekur tíma og stundum, það myndi tímalokar. Ég fikta í stillingum í formi framreiðslumaður stelling til að auka the tími stilling og það virtist að hjálpa.

The númer:

með System;
með System.Web;
með System.Web.Services;
með System.Web.Services.Protocols;
með Microsoft.SharePoint;
með System.Configuration;

[VefÃ(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
almennings flokki PoService : System.Web.Services.VefÃ
{
almennings PoService () {

//Uncomment the following line if using designed components
//InitializeComponent();
}

/// <Yfirlit>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </Yfirlit>
/// <skilar></skilar>
[WebMethod]
almennings band GetNextPoNumber()
{
band SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
band SpPoControlListName; // Name of the actual MOSS list containing the Po control.

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

band nextPoReqNumber = "xyzzy";

með (SPSite site = SPSite(SpPoControlSiteName))
{
með (SPWeb web = site.OpenWeb())
{

SPList currentList = web.Lists[SpPoControlListName];

framhandleggur (Spýta controlItem í currentList.Items)
{

ef (((band)controlItem["ControlField"]).Jafngildir("NextPoNumber"))
{
nextPoReqNumber = (band)controlItem["ControlValue"];

INT int_nextPoReqNumber;
int_nextPoReqNumber = Umbreyta.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

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

} // Locating, reading and updating the PO number in the list.


} // using spweb web = site.openweb()
} // using spsite site = new spsite("http://localhost/mizuho")

aftur nextPoReqNumber;

}
}

Ein hugsun um „Moss: Uppfæra sérsniðið lista

  1. KSP skrifaði:
    Hæ Paul,
    Við höfum svipaða stöðu hvað þú ert að minnast á en vandamálið er ég að nota þennan vef servie á jafnvægi hlaða server.Hence,hvernig á að höndla concurrency beiðnir í þessu tilfelli eða hvernig á að gera nýja beiðni bíða og aðeins einn beiðni skal uppfæra listann númer fyrr en þá allar aðrar beiðnir að vera í que.Please láta mig vita hvernig á að ná þessu.
    Takk fyrirfram.
    Svara

Eftir svar

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *