MOSS: కస్టమ్ జాబితా నవీకరిస్తోంది

SDK ద్వారా కస్టమ్ జాబితాలు నవీకరించుటకు అనేక మంచి ఉదాహరణలు ఉన్నాయి. ఇక్కడ మరో ఉంది.

వ్యాపారం సమస్య: InfoPath రూపం వినియోగదారులు ఆన్లైన్ కొనుగోలు అభ్యర్థనలకు ఎంటర్ చెయ్యడానికి రూపొందించబడింది. PO వ్రాతపూర్వకమైన ఆదేశము సంఖ్యలు సాంప్రదాయిక సన్నివేశాన్ని ఆధారిత పూర్ణాంక విలువలను మరియు స్వయంచాలకంగా లెక్కించిన ఉండాలి.

వ్యాపారం సొల్యూషన్: రెండు నిలువు కలిగి కస్టమ్ MOSS జాబితా సృష్టించు: "ControlField" and "ControlValue". విలువ కాలమ్ తదుపరి కొనుగోలు వ్రాతపూర్వకమైన ఆదేశము సంఖ్యను కలిగి. Note that the generic "control" సమావేశం నామకరణ అవసరమైన ఉపయోగించే భవిష్యత్ నియంత్రణ ఖాళీలను అందిస్తుంది.

సాంకేతిక పరిష్కారం: InfoPath క్లయింట్ ప్రాప్తి ఒక వెబ్ సేవ సృష్టించు. వెబ్ సేవ తిరిగి తదుపరి కొనుగోలు వ్రాతపూర్వకమైన ఆదేశము సంఖ్య మరియు నవీకరణలను జాబితా విలువ తిరిగి.

నేర్చుకున్న పాఠాలు:

  • InfoPath రూపం ఒక డేటా మూలం వెబ్ సేవ చేర్చేటప్పుడు, నేను అవసరం ఒక UDC మార్పిడి మరియు ఒక డేటా కనెక్షన్ లైబ్రరీ లోకి నిల్వ కనుగొన్నారు.
  • నేను కూడా ఇది అవసరం కేంద్ర సేవలు పరిపాలన ద్వారా క్రాస్ డొమైన్ స్క్రిప్టింగ్ ప్రారంభించడానికి దొరకలేదు // అప్లికేషన్ నిర్వహణ // రూపం సర్వర్ కాన్ఫిగరేషన్.
  • మొదటిసారి రూపం వెబ్ సేవ యాక్సెస్ చేసేందుకు ప్రయత్నించారు, కొంత సమయం పడుతుంది మరియు సందర్భంగా, దాన్ని సమయం ఉంటుంది. నేను సమయం ముగిసింది సెట్టింగులను విస్తరించేందుకు రూపం సర్వర్ కాన్ఫిగరేషన్ సెట్టింగులు తో fiddled మరియు సహాయం కనిపించింది.

కోడ్:

ఉపయోగించి వ్యవస్థ;
ఉపయోగించి System.Web;
ఉపయోగించి System.Web.Services;
ఉపయోగించి System.Web.Services.Protocols;
ఉపయోగించి Microsoft.SharePoint;
ఉపయోగించి System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
ప్రజా తరగతి PoService : System.Web.Services.WebService
{
ప్రజా PoService () {

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

/// <సంగ్రహము>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </సంగ్రహము>
/// <తిరిగి></తిరిగి>
[WebMethod]
ప్రజా తీగ GetNextPoNumber()
{
తీగ SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
తీగ SpPoControlListName; // Name of the actual MOSS list containing the Po control.

SpPoControlSiteName = కాన్ఫిగరేషన్ సెట్టింగులను.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = కాన్ఫిగరేషన్ సెట్టింగులను.AppSettings["PoControlList"].ToString();

తీగ nextPoReqNumber = "xyzzy";

ఉపయోగించి (SPSite site = కొత్త SPSite(SpPoControlSiteName))
{
ఉపయోగించి (SPWeb web = site.OpenWeb())
{

SPList currentList = web.Lists[SpPoControlListName];

foreach (ఉమ్మి controlItem లో currentList.Items)
{

అయితే (((తీగ)controlItem["ControlField"]).సమానం("NextPoNumber"))
{
nextPoReqNumber = (తీగ)controlItem["ControlValue"];

Int int_nextPoReqNumber;
int_nextPoReqNumber = రూపంలో మార్పు తెచ్చు.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")

తిరిగి nextPoReqNumber;

}
}

ఒక ఆలోచన "MOSS: కస్టమ్ జాబితా నవీకరిస్తోంది

  1. KSP రాశాడు:
    ఎక్కువ పాల్,
    మేము మీరు ప్రస్తుతించారు ఏమి ఇదే పరిస్థితి కలిగి ఉన్నాయి కానీ సమస్య నా లోడ్ సంతులనం server.Hence ఈ వెబ్ servie ఉపయోగించడానికి కావలసిన ఉంది,అనుకూలత ఈ విషయంలో అభ్యర్థనలు లేదా ఎలా కొత్త అభ్యర్థనను వేచి చేయడానికి నిర్వహించడానికి మరియు తరువాత అన్ని ఇతర అభ్యర్థనలను que.Please ఉండాలి వరకు మాత్రమే ఒక అభ్యర్థన జాబితా సంఖ్య అప్డేట్ చేయాలి ఎలా నాకు ఈ సాధించడానికి ఎలా తెలపండి.
    ముందుగా ధన్యవాదాలు.

ఒక Reply వదిలి KSP రాశాడు: ప్రత్యుత్తరం రద్దు

మీ ఇమెయిల్ చిరునామా ప్రచురితమైన కాదు. లు గుర్తించబడతాయి *