Asko dira pertsonalizatuak zerrendak eguneratzeko SDK bidez adibide onak. Hemen da beste.
Mailako arazoa: InfoPath forma diseinatu da, horri esker, erabiltzaileek online erosteko requisitions sartu. PO eskakizunak zenbakiak tradizionala sekuentzia oinarritutako balio osokoa izan behar du eta automatikoki kalkulatzen.
Mailako irtenbidea: Sortu zerrenda pertsonalizatuak MOSS bi zutabe dituen: "ControlField" and "ControlValue". Balioen zutabean hurrengo erosketa eskakizunak kopurua baino. Note that the generic "control" konbentzio izendatzen kontrol etorkizuneko eremu hori erabili ahal izango dira, behar bezala eskaintzen.
Irtenbide teknikoa: Sortu InfoPath bezeroak sartu web zerbitzu bat. Web-zerbitzua ematen du atzera hurrengo erosketa eskakizunak kopurua eta eguneratzeak zerrenda balioa.
Ikasitakoa:
- Noiz web zerbitzu hau gehituz datu-iturburu bat bezala InfoPath inprimakia, Beharrezkoa da bihurtzeko CDU bat eta gorde datu konexioa liburutegian sartu aurkitu dut.
- Ere aurkitu dut gurutze domeinu scripting beharrezkoa gaitzeko zerbitzu zentralak administrazio bidez // Aplikazio kudeaketa // inprimaki zerbitzari konfigurazio.
- Lehen aldiz, forma saiatu web zerbitzura sartzeko, berriz, bat egiten da, eta behin, denbora litzateke. Fiddled inprimaki zerbitzari konfigurazio dut denbora muga ezarpenak zabaltzeko eta zirudien laguntzeko.
Kodea:
erabiliz Sistema;
erabiliz System.Web;
erabiliz System.Web.Services;
erabiliz System.Web.Services.Protocols;
erabiliz Microsoft.SharePoint;
erabiliz System.Configuration;
[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
publikoak klasean PoService : System.Web.Services.WebService
{
publikoak PoService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
/// <laburpena>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </laburpena>
/// <itzultzen></itzultzen>
[WebMethod]
publikoak katea GetNextPoNumber()
{
katea SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
katea SpPoControlListName; // Name of the actual MOSS list containing the Po control.
SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();
katea nextPoReqNumber = "xyzzy";
erabiliz (SPSite site = berria SPSite(SpPoControlSiteName))
{
erabiliz (SPWeb web = site.OpenWeb())
{
SPList currentList = web.Lists[SpPoControlListName];
foreach (Txu controlItem urtean currentList.Items)
{
bada (((katea)controlItem["ControlField"]).Berdin("NextPoNumber"))
{
nextPoReqNumber = (katea)controlItem["ControlValue"];
int int_nextPoReqNumber;
int_nextPoReqNumber = Bihurtu.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")
itzultzeko nextPoReqNumber;
}
}