SŪNA: Pielāgota saraksta atjaunināšana

Ir daudz labu piemēru atjaunināšanu pielāgotus sarakstus, izmantojot SDK. Šeit ir vēl viens.

Biznesa problēmas: Ir izstrādāta InfoPath veidlapa ļauj lietotājiem ievadīt tiešsaistes pirkuma pieprasījumus. Numuriem jābūt tradicionālā sērija PO pieprasījuma veselo skaitļu vērtībām balstīta un aprēķināt automātiski.

Biznesa risinājumu: Izveidot pielāgotu sūnu saraksts divām kolonnām: "ControlField" un "ControlValue". Vērtību kolonnā norādīts nākamā pirkuma pieprasījuma numurs. Ņemiet vērā, ka vispārīgajai "kontroles" nosaukumdošanas konvencija paredz turpmāko kontroli lauki, kurus var izmantot pēc nepieciešamības.

Tehniskais risinājums: Izveidot web pakalpojumam, InfoPath klients piekļūst. Web pakalpojums atgriež atpakaļ nākamajā pirkuma pieprasījuma numurs un atjaunina vērtību sarakstu.

Gūtās mācības:

  • Pievienojot šo web pakalpojumu kā datu avotu InfoPath veidlapas, Es atklāju, ka ir nepieciešams konvertēt udc un uzglabāt to datu savienojumu bibliotēkā.
  • Es arī konstatēts jāļauj starpdomēnu skriptu izmantojot centrālo pakalpojumu administrācijas // lietojumprogrammu pārvaldība // veidlapu servera konfigurācijas.
  • Pirmo reizi veidā mēģināja piekļūt web pakalpojums, paiet kāds laiks, un par godu, tas būtu laiks, kas. Es pacilāja veidlapu servera konfigurācijas iestatījumus, lai paplašinātu taimauta iestatījumus un šķita, ka tas palīdz.

Kods:

izmantojot Sistēma;
izmantojot System. Web;
izmantojot System.Web.Services;
izmantojot System.Web.Services.Protocols;
izmantojot Microsoft.SharePoint;
izmantojot System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
valsts klase PoService : System.Web.Services.WebService
{
valsts PoService () {

//Uncomment ja izmantojot sekojošu rindu izstrādātas sastāvdaļas
//InitializeComponent();
}

/// <kopsavilkums>
/// Iegūtu nākamo PO numuru sarakstā sharepoint po numuru kontrole.
/// Palielinājuma PO numuru šajā sarakstā.
/// </kopsavilkums>
/// <atgriež></atgriež>
[Web metodi]
valsts virkne GetNextPoNumber()
{
virkne SpPoControlSiteName; // Nosaukums faktiskais MOSS vietnes, kas vieso PO vadības saraksts.
virkne SpPoControlListName; // Nosaukums faktiskais MOSS sarakstu, kurā ietilpst Po kontroles.

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

virkne nextPoReqNumber = "xyzzy";

izmantojot (SPSite vieta = jaunā SPSite(SpPoControlSiteName))
{
izmantojot (SPWeb Web vietas =. OpenWeb())
{

SPList currentList = interneta. Saraksti[SpPoControlListName];

foreach (SPItem controlItem programmā currentList.Items)
{

Ja (((virkne)controlItem["ControlField"]).Ir vienāds ar("NextPoNumber"))
{
nextPoReqNumber = (virkne)controlItem["ControlValue"];

Int int_nextPoReqNumber;
int_nextPoReqNumber = Konvertēt.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

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

} // Noteiktu atrašanās vietu, lasīt un atjaunināt PO numurs sarakstā.


} // izmantojot spweb web = site.openweb()
} // izmantojot spsite site = jaunu spsite("http://localhost/Midzuho")

atgriešanās nextPoReqNumber;

}
}

Viena doma parSŪNA: Pielāgota saraksta atjaunināšana

  1. KSP rakstīja:
    Hi Paul,
    Mums ir līdzīga situācija, kā jūs pieminēt, bet problēma ir, es gribu izmantot šo dienestu tīmekļa serverī slodze līdzsvaru.Līdz ar to,kā šajā gadījumā rīkoties vienlaicīguma pieprasījumus vai kā, lai veiktu jaunu pieprasījumu nogaidīt un tikai vienu pieprasījumu vajadzētu atjaunināt saraksta numurs līdz tad citi pieprasījumi būtu que.Please let me know, kā sasniegt šo mērķi.
    Paldies jau iepriekš.
    Atbilde

atstāt atbildi

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *