SDK ಮೂಲಕ ಕಸ್ಟಮ್ ಪಟ್ಟಿಗಳನ್ನು ಅಪ್ಡೇಟ್ ಹಲವಾರು ಉತ್ತಮ ಉದಾಹರಣೆಗಳಿವೆ. ಇಲ್ಲಿ ಇನ್ನೂ ಇನ್ನೊಂದು.
ಉದ್ಯಮ ಸಮಸ್ಯೆ: InfoPath ರಚನೆಯಲ್ಲಿ ಬಳಕೆದಾರರು ಆನ್ಲೈನ್ ಖರೀದಿ requisitions ನಮೂದಿಸಿ ಸಾಧ್ಯವಾಗುವಂತಹ ವಿನ್ಯಾಸ ಮಾಡಲಾಗಿದೆ. ಪಿಒ ನಿಯೋಜಿಸು ಸಂಖ್ಯೆಗಳನ್ನು ಸಾಂಪ್ರದಾಯಿಕ ಅನುಕ್ರಮ ಆಧಾರಿತ ಅಂಕಿ ಮೌಲ್ಯಗಳು ಮತ್ತು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೆಕ್ಕ ಮಾಡಬೇಕು.
ವ್ಯಾಪಾರ ಪರಿಹಾರ: ಎರಡು ಕಂಬಗಳನ್ನು ಹೊಂದಿದ್ದು ಕಸ್ಟಮ್ MOSS ಪಟ್ಟಿ ರಚಿಸಿ: "ControlField" and "ControlValue". ಮೌಲ್ಯ ಕಾಲಮ್ ಮುಂದಿನ ಖರೀದಿ ನಿಯೋಜಿಸು ಹೊಂದಿದೆ. Note that the generic "control" ಕನ್ವೆನ್ಷನ್ ಹೆಸರಿಸುವ ಅಗತ್ಯವಿದೆ ಎಂದು ಬಳಸಬಹುದು ಎಂದು ಭವಿಷ್ಯದ ನಿಯಂತ್ರಣ ಜಾಗ ಒದಗಿಸುತ್ತದೆ.
ತಾಂತ್ರಿಕ ಪರಿಹಾರ: InfoPath ಕ್ಲೈಂಟ್ ಮೂಲಕ ಪ್ರವೇಶಿಸಲು ವೆಬ್ ಸೇವೆಯನ್ನು ರಚಿಸಿ. ವೆಬ್ ಸೇವೆಯನ್ನು ಮುಂದಿನ ಖರೀದಿ ನಿಯೋಜಿಸು ಸಂಖ್ಯೆ ಮತ್ತು ನವೀಕರಣಗಳನ್ನು ಪಟ್ಟಿ ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ.
ಕಲಿತ ಪಾಠಗಳು:
- InfoPath ರಚನೆಯಲ್ಲಿ ಡೇಟಾ ಮೂಲ ಮಾಹಿತಿ ಈ ವೆಬ್ ಸೇವೆ ಸೇರಿಸುವಾಗ, ನಾನು ಅವಶ್ಯಕವೆಂದು ಒಂದು UDC ಇದನ್ನು ಪರಿವರ್ತಿಸಿ ಮತ್ತು ಒಂದು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಗ್ರಂಥಾಲಯದ ಅದನ್ನು ಸಂಗ್ರಹಿಸಲು ಕಂಡು.
- ನಾನು ಕೂಡ ಅವಶ್ಯಕವೆಂದು ಕೇಂದ್ರ ಸೇವೆಗಳು ಆಡಳಿತ ಮೂಲಕ ಅಡ್ಡ ಡೊಮೇನ್ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸಲು ಕಂಡುಬಂದಿಲ್ಲ // ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ವಹಣೆ // ರೂಪ ಸರ್ವರ್ ಕಾನ್ಫಿಗರೇಶನ್.
- ಮೊದಲ ಬಾರಿಗೆ ರೂಪ ವೆಬ್ ಸೇವೆಯನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸಿದರು, ಇದು ಸ್ವಲ್ಪ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಸಂದರ್ಭದಲ್ಲಿ, ಇದನ್ನು ಟೈಮ್ ಎಂದು. ನಾನು ಕಾಲಾವಧಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ವಿಸ್ತರಿಸಲು ರೂಪ ಸರ್ವರ್ ಕಾನ್ಫಿಗರೇಶನ್ ರಲ್ಲಿ ಹೊಂದಾಣಿಕೆಗಳು fiddled ಮತ್ತು ಸಹಾಯ ಕಾಣುತ್ತದೆ.
ಕೋಡ್:
ಬಳಸಿ System;
ಬಳಸಿ 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 = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.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_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;
}
}