وب سرویس برای شیرپوینت ۲۰۱۰
با توجه به محدودیت های InfoPath به پیشنهاد دوست خوب و عزیزم، آقای مهندس میثمی، سعی کردیم از وب سرویس ها کمک گرفته و قابلیت های InfoPath را افزایش دهیم. در این مطلب، برخی توابع مفید که در پروژه ها از آن استفاده کرده ام را به اشتراک می گذارم.
در مطلب دیگری نحوه استفاده از وب سرویس ها را در InfoPath توضیح خواهم داد.
فایل ضمیمه، یک سولوشن برای شیرپوینت است. برای استفاده از آن باید این سولوشن را در Central Admin فارم خود نصب کنید.
برای نصب می توانید اینجا را مطالعه کنید.
و اما توابعی که در این وب سرویس وجود دارند:
CountMaxMinAvg
CountMaxMinAvgUN
مانند تابع قبلی عمل می کند با این تفاوت که نام کاربری می پرسد. چرا؟ ممکن است اطلاعات آماری که نیاز دارید، در محدوده آیتم هایی که کاربر جاری دسترسی دارد نباشد. مثلا می خواهید تعداد کل وظایف انجام نشده لیست را نمایش دهید. کاربر جاری باید فقط دسترسی به وظایف خود داشته باشد بنابری این تابع قبلی فقط تعداد وظایف فعال کاربر جاری را نمایش خواهد داد.
در این تابع می توانید نام کاربری مدیر سایت را داده و کل آیتم های لیست را شمارش کنید.
CreateDocument
CreateInfoPathDoc
DeCodeURL
EnCodeURL
GetCurrentUser
GetSiteListCount
GroupBy
Num2Alpha
GetListItems
این تابع واسطه ای است برای اجرای تابع اصلی که توسط خود شیرپوینت ساخته و ارائه شده است.
https://msdn.microsoft.com/en-us/library/lists.lists.getlistitems(v=office.12).aspx
اگر تجربه کرده باشید، استفاده از این توابع در InfoPath به خاطر عدم پشتیبانی از نوع داده XML بسیار پیچیده است. من در این تابع، امکان نوشتن متن XML بصورت string را قرار داده ام. یعنی نیازی نیست نوع داده ها از نوع XML باشند.
UpdateListItems
این تابع هم واسطه ای است برای تابع اصلی خودش.
https://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems(v=office.12).aspx
نمونه ای از پارامتر Batch:
<Method ID=”1″ Cmd=”New”><Field Name=”Title”>Test Title</Field></Method>
مانند تابع قبل، به راحتی آن را در InfoPath بکار ببرید.