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;
}
}