คลังเก็บหมวดหมู่: เวิร์กโฟลว์ของ SharePoint

สร้างเว็บไซต์ (SPWeb) ผ่านทางกระแสงาน SharePoint Designer

รายการ blog นี้เป็นมากกว่าการ "ใน realm ของเป็นไปได้" ซิตี้ vs รายการ. คอนกรีตข้อมูล.

เรามีเทคนิคการออกแบบที่เราสร้างไซต์ในไซต์คอลเลกชันผ่านกระบวนการเวิร์กโฟลว์ที่เริ่มด้วยตนเอง. โดยทั่ว, ผู้ใช้ป้อนข้อมูลลงใน "ลูกค้าใหม่" แบบกำหนดเองรายการ และจากนั้นเมื่อพวกเขาได้เสร็จสิ้นแล้ว และผ่านการตรวจสอบการประมวลผลรายการข้อมูล, เราต้องการสร้างไซต์สำหรับลูกค้าที่.

ฉันทั้งเป็นแฟนใหญ่ของเวิร์กโฟลว์นเซิร์ฟตลอดจนโปรแกรมเมอร์เวิร์กโฟลว์อ่อน visual studio, ดังนั้นต้องตอบสนองความต้องการโดยใช้ SharePoint Designer.

ฉันวางแผนในการเขียนเกี่ยวกับเรื่องนี้มีรายละเอียดมากกว่า (และหวังว่าได้นำเสนอไปยังกลุ่มผู้ใช้หรือสองปีมา), แต่นี่คือการแก้ปัญหาโดยรวม:

  • สร้างการกระทำแบบกำหนดเองที่ทำงานประสานกับ SPD.
  • การกระทำแบบกำหนดเองให้ SPD เพื่อเรียกใช้บริการเว็บ และการส่งผ่านสตริ XML.
  • บริการเว็บหาตำแหน่งที่ตั้งของแถวในรายการกำหนดเอง และสร้างไซต์ใหม่ตามข้อมูลที่สำหรับไคลเอนต์ที่ใหม่ที่ใช้ข้อกำหนดของไซต์แบบกำหนดเอง.
  • การบริการเว็บจะปรับปรุงรายการแบบกำหนดเองกับข้อมูลบางอย่างเช่นการเชื่อมโยงไปยังไซต์ใหม่.

เราถือว่าวิธีอื่น, ตัวจัดการเหตุการณ์และ visual studio ตามลำดับ. วิธี SPD ให้เราผู้ใช้การควบคุมน้อย. ได้รับอนุญาต, มีมากของ C# โค้ดในการแก้ไขปัญหานี้, แต่มันจะถูกตัดภายในเวิร์กโฟลว์นเซิร์ฟ, ดังนั้น เราได้รับประโยชน์บางประการของเวิร์กโฟลว์นเซิร์ฟขณะ hooking เข้าใช้บริการการสร้างไซต์.

All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

แท็กของ Technorati: ,

รวมกระแสงาน SharePoint Designer กับเว็บเซอร์วิส

ฉันได้เล่นรอบกับการกระทำแบบกำหนดเองใน SharePoint Designer บางครั้ง (ดูที่นี่ สำหรับบางสิ่งรายละเอียด, ถ้าคุณสนใจ).

ในโครงการปัจจุบัน, เราต้องทำบางอย่างค่อนข้างหนักยก และเราต้องการใช้ลำดับ SPD declarative เพื่อจัดการกระบวนการทางธุรกิจที่เกี่ยวข้อง.

เรื่องสั้นยาว, นี้เป็นไปได้ทั้งหมด. ฉันขยายโครงการ Codeplex ของฉันจะเรียก "ผู้ช่วยเหลือการบริการ" และตอนนี้ เราสามารถเรียกใช้บริการเว็บได้โดยตรงจากเวิร์กโฟลว์ SPD.

นี่คือลายเซ็น:

 สาธารณะ สายอักขระ ผู้จัดส่ง(
        Guid WebID, // เดินผ่านสภาพแวดล้อมรันไทม์
        Guid SiteID, // เดินผ่านสภาพแวดล้อมรันไทม์
        สายอักขระ ListID, // ส่ง RTE (ไม่รู้ทำไมเป็นสายอักขระ, ไม่ GUID)
        int ListItemID, // ส่ง RTE.
        สายอักขระ XmlMessage) // ผ่านไปผู้เป็นประกาศใน SPD.

นี้ใช้ความจริงที่ว่าเราจะได้รับข้อมูลสำคัญลำดับ, ต้องการเว็บไซต์, รหัสรายการ, ฯลฯ. นี้ดีคือจัดในสถานต่าง ๆ สำหรับผู้สนใจในการสร้างการดำเนินการแบบกำหนดเองของคุณเอง. ความคิดที่จะแยกสายอักขระ XML ที่เป็นโดยผู้ใช้เพื่อจัดส่งกระบวนการที่เหมาะสม. สิ่งสนุก!

Sadly, เป็นตั๋วลงไปอย่างชัดเจน "Loosey Goosey" รูปแบบการป้องกันดินแดน, but it’s better than hitting a brick wall 🙂

เป็นรูปแบบการป้องกันถ้าคุณทำได้แม้ว่าคุณรู้ว่า มันเป็นรูปแบบการป้องกัน?

หวังตัดนี้ใน Codeplex ในอนาคตอันใกล้. ถ้าคุณสนใจผมทำเช่นนั้น, ให้ฉันหนอง (อีเมล หรือความคิดเห็น) and I’ll be that more enthusiastic about doing it 🙂

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

แท็กของ Technorati: ,

เวิร์กโฟลว์ SPD “การเก็บรวบรวมข้อมูลจากผู้ใช้”: ปรับเปลี่ยนฟอร์มงานสร้างขึ้น

ทำโครงการที่ใช้กระแสงาน SharePoint Designer ต่าง ๆ 5 เพื่อจัดการการอนุมัติเอกสารบาง. SPD ให้ "รวบรวมข้อมูลจากผู้ใช้" การกระทำเพื่อให้เราสามารถพร้อมท์ผู้ใช้ให้บิตที่แตกต่างกันของข้อมูล, เช่นการพิจารณาอนุมัติ, ข้อคิดเห็นบางอย่าง และอาจจะขอให้สิ่งที่พวกเขาสำหรับอาหารค่ำคืนอื่น ๆ.

แบบฟอร์มจะทำงานอย่างสมบูรณ์แบบ. พวกเขาเกี่ยวพันกับรายการงานเป็นชนิดเนื้อหา. พวกเขาจะ 100% สร้างระบบ. นี่คือความเข้มแข็งและอ่อนแอของพวกเขา. ถ้าเราสามารถอยู่กับแบบเริ่มต้น, เราไม่ดีไปแล้ว. อย่างไรก็ตาม, เราไม่ได้ควบคุมมากเกินไปวิธี SPD สร้างแบบฟอร์ม. ถ้าเราไม่ชอบพฤติกรรมที่เริ่มต้น, เราจำเป็นต้องใช้เทคนิคต่าง ๆ เพื่อการท่องมัน (ตัวอย่างเช่น, ตั้งค่าลำดับความสำคัญของงาน).

ฉันจำเป็นต้องมีการเชื่อมโยงบนฟอร์มงานเหล่านี้ที่เปิดขึ้นดูคุณสมบัติ (dispform.asxp) ของการ "สินค้าที่เกี่ยวข้อง" ในหน้าต่างใหม่. ให้คลิกเดียวถึงข้อมูลเมตาของสินค้าเกี่ยวข้อง. เป็นไง:

รูปภาพ

ทำนาย, เราสามารถทำเช่นนั้น และไม่ยากมาก. ทั่วไปพูด, ไฟขึ้น SPD, ไปยังไดเรกทอรีที่บ้านลำดับแฟ้ม และเปิดแฟ้ม ASPX ที่คุณต้องการแก้ไข. คำแนะนำการแปลง XSL เพียงคลาสสิกและถ้าคุณได้ mucked เกี่ยวกับกับ itemstyle.xsl, ค้นหาหรือสถานการณ์อื่น ๆ XSL, นี้จะง่ายสำหรับคุณ. อันที่จริง, ฉันพบมันได้ง่ายขึ้นโดยทั่วไปเนื่องจากเป็นแบบฟอร์มที่สร้างขึ้นค่อนข้างง่ายตาม as compared to ค้นหา core ผลลัพธ์ของ web part (หรือ nightmarish CWQP).

แน่นอน, มี pitfall สำคัญหนึ่ง. โปรแกรมแก้ไขลำดับงานของ SPD คาดว่าควบคุมเต็ม. ถ้าคุณปรับเปลี่ยน, SPD จะเขียนทับของคุณให้เปลี่ยนด้านขวาตั้งสถานการณ์อย่างมีความสุข. ผมไม่ได้ทดสอบอย่างรวดเร็ว 2 ให้ดูดีวิธีนี้ได้รับ. พวกเขาทั้ง presuppose ว่า คุณได้ทำขึ้นถูกต้องลำดับ SPD ที่ใช้ "รวบรวมข้อมูลจากผู้ใช้" ขั้นตอนที่.

การทดสอบ 1:

  • ปรับเปลี่ยนแฟ้ม ASPX ด้วยมือ.
  • ทดสอบมัน (ตรวจสอบว่า การเปลี่ยนแปลงของคุณถูกบันทึกอย่างถูกต้อง และไม่ได้แบ่งอะไร).
  • เปิดเวิร์กโฟลว์ และเพิ่มการกระทำที่ไม่เกี่ยวข้อง (เช่น "แฟ้มบันทึกประวัติศาสตร์").
  • การบันทึกเวิร์กโฟลว์.

ผลลัพธ์: ในกรณีนี้, SPD ไม่ได้สร้างแบบฟอร์ม.

การทดสอบ 2:

  • ทำเหมือน #1 ยกเว้นโดยตรงปรับเปลี่ยน "รวบรวมข้อมูลจากผู้ใช้" การกระทำ.

ผลลัพธ์: นี้ลในฟอร์มตั้งแต่, over-writing การเปลี่ยนแปลงของคุณ.

หมายเหตุสุดท้าย:

  • น้อยสอง SPD กระทำสร้างฟอร์มแบบนี้: "เก็บข้อมูลจากผู้ใช้" และ "กำหนดให้ทำรายการ". ทั้งนี้การดำเนินการ’ ฟอร์มสามารถสามารถแก้ไขด้วยตนเอง.
  • ผมสามารถสร้างการเชื่อมโยงของฉันไป dispform.aspx เนื่องจาก, ในกรณีนี้, สินค้า relate เสมอมีรหัสฝังตัวอยู่ใน URL ของสินค้าเกี่ยวข้อง. ผม สามารถ extract แล้ว สร้างเป็น <a href> นั้นให้คลิ meta ข้อมูลเข้าถึงลักษณะการทำงาน. ก็ไม่น่าว่า URL ของคุณตามกฎนี้. อาจมีวิธีอื่น ๆ ในการรับรหัสของสินค้าเกี่ยวข้อง แต่ที่ฉันมีเพื่อข้ามสะพานที่, ดังนั้นฉันไม่ทราบว่าถ้าได้รับในด้านอื่น ๆ ของเหว.
  • ฉันไม่ได้ตรวจสอบ, แต่ฉันจะไม่ประหลาดใจถ้าบางชนิดของแฟ้มแม่แบบในการ 12 กลุ่มที่ฉันไม่สามารถปรับเปลี่ยนมีผลต่อวิธีที่ SPD สร้างฟอร์มเริ่มต้น (มากเหมือนกับที่เราสามารถปรับเปลี่ยนแม่แบบการแจ้งเตือน).

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน!

แท็กของ Technorati: ,

โซลูชั่น (การเรียงลำดับของ): ตั้งค่าลำดับความสำคัญของงานโดยใช้ SharePoint Designer

มีการสถานการณ์สมมติทางธุรกิจเช่นนี้:

  • ผู้ใช้อัปโหลดเอกสารไปยังไลบรารีเอกสาร.
  • เธอเลือกชนิดเนื้อหา และป้อนข้อมูลตามที่จำเป็น. เขตข้อมูลของข้อมูลเมตาอย่างใดอย่างหนึ่งเป็นค่าสถานะ, "ด่วน".
  • นี้ทริกเกอร์เวิร์กโฟลว์ SharePoint Designer ที่, ในสิ่งอื่น ๆ, ใช้ผู้ที่เก็บรวบรวมข้อมูลจากการใช้"" การกระทำ.

"เก็บข้อมูลจากผู้ใช้" สร้างรายการในรายการงานที่ร้องขอการอนุมัติสำหรับเอกสารนั้น.

ฉันจำเป็นต้องสร้างมุมมองของรายการงานซึ่งแสดงคำขออนุมัติแบบเร่งด่วน.

โซลูชั่น: ใส่คำว่า "ด่วน:" เป็นชื่อของงานเหล่านี้.

ฉันจะมีต้องระบุระดับความสำคัญโดยตรง. อย่างไรก็ตาม, ฉันไม่สามารถทำได้ด้วยเหตุผลหลายประการ:

  1. การดำเนินการเก็บรวบรวมข้อมูลที่ไม่มีกลไกในการปรับปรุงเขตข้อมูลใด ๆ นอกเหนือจากชื่อเรื่อง (และเขตข้อมูลเหล่านั้นเพิ่มเติมซึ่งคุณต้องการเก็บรวบรวมข้อมูล).
  2. การ "กำหนดการลงสินค้า" แอคชันมีปัญหาเดียวกัน.
  3. เป็นไปได้เมื่อต้องการแทรกรายการลงในรายการ (อาทิ. แทรกรายการลงในรายการงานได้โดยตรง) แต่นี้ไม่เป็นการกระทำที่บล็อก. ซึ่งหมายความ ว่า ลำดับจะไม่รอผู้ใช้การดำเนินการที่.

ผมถือว่าวิธีการบางอย่างก่อน (ทำนาย) รู้ตัวเราอาจเพิ่งวาง "ด่วน" ในชื่อเรื่อง.

  1. เริ่มต้นเวิร์กโฟลว์บนรายการงานตัวเองดังนั้นเมื่อมีสร้างงานใหม่, มันข้ามอย่างใดอ้างอิงย้อนกลับไปเอกสารที่เริ่มเวิร์กโฟลว์แรก, ดึงค่าสถานะด่วน และการปรับปรุงลำดับความสำคัญตามความจำเป็น.
  2. ทำคล้ายกับการรับเหตุการณ์. การสร้างงาน, ค้นหาเอกสารที่เกี่ยวข้องและการปรับปรุงการลำดับความสำคัญตามความจำเป็น.
  3. ใช้การ "สร้างรายการสินค้า" ดำเนินการร่วมกับการ "รอการเปลี่ยนแปลงเขตข้อมูล" การดำเนินการและการรับเหตุการณ์. ถ้าเราสร้างตัวเลือกรายการ, เราสามารถระบุเขตข้อมูลทั้งหมดที่เราต้องการ. ใช้การรับเหตุการณ์การปรับปรุงสินค้าเดิมเมื่อผู้ใช้ทำงานและ "รอเปลี่ยนแปลงฟิลด์" จะเป็นไปตามเงื่อนไขของการดำเนินการ และจะดำเนินการลำดับงาน. (เหตุผลบางประการ, ฉันมากขึ้นหรือน้อยลงมีปึกแผ่นบนวิธีการนี้ก่อนที่จะตัดสินใจว่าจะเดินไปประเดี๋ยวเดียว wisely).

ไม่มีอุปสรรค์ในการแก้ปัญหาของฉัน (นอกเหนือจากข้อเท็จจริงชัดเจนว่า เฉพาะข้อความของชื่อเรื่องบ่งชี้ว่า ความเร่งด่วน). ตั้งแต่ "รวบรวมความคิดเห็น" ยอมรับหนักใส่รหัสชื่อเรื่องชื่อเท่านั้น, ต้องใช้การดำเนินการสองต่าง ๆ รวบรวมความคิดเห็นที่แตกต่างเป็นชื่อรหัสที่ยาก.

แต่, อย่างน้อย มีโซลูชันที่ไม่จำเป็นต้องรับเหตุการณ์หรือการกระทำแบบกำหนดเองของ SPD.

ถ้าใครมีแก้ไขนี้ในวิธีการฉลาดมากขึ้น, กรุณาแจ้งให้เราทราบ.

</สิ้นสุด>

ง่าย และรวดเร็ว: เปิดแบบฟอร์ม InfoPath จาก SharePoint Designer อีเมล์โดยอัตโนมัติ

โปรแกรมปรับปรุง: Madjur Ahuja ชี้ให้เห็นการเชื่อมโยงจากการ สนทนากลุ่มข่าวสาร: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. เป็นพริตตี้ทั่วไป.

===

เรามักจะต้องการฝังฟอร์ม InfoPath ไปในอีเมล์ที่ส่งจากกระแสงาน SharePoint Designer. เมื่อผู้ใช้ได้รับอีเมล์เหล่านี้, สามารถคลิกลิ้งค์จากอีเมล์ และตรงไปยังฟอร์ม InfoPath.

ก่อสร้าง URL มอนสเตอร์ทำงานสำหรับฉัน:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&แหล่งที่มา = http % 3A % 2F % 2Fserver % 2Ecorp % 2Edomain % 2Ecom % 2Fsites % 2Fdepartments % 2FTechnical % 2520Services % 2FInformationTechnology % 2FHelpDesk % 2FREC % 2520REM % 2520RED % 2520Forms % 2FForms % 2FAllItems % 2Easpx&DefaultItemOpen = 1

แทนข้อความสีแดงหนา ด้วยชื่อของแบบฟอร์ม, ดังแสดงในภาพต่อไปนี้:

รูปภาพ

ทราบว่า มีจำนวนมากเส้นทางตายใน URL นั้น, และคอมโพเนนต์ที่ถูกเข้ารหัส URL. ถ้ายากเกินไปที่จะแปลกับสถานการณ์ของคุณ, ลองเปิดการแจ้งเตือนสำหรับไลบรารีฟอร์ม. ลงรายการบัญชีแบบฟอร์มและเมื่อคุณได้รับอีเมล์, ดูแหล่งที่มาของอีเมล์ และคุณจะเห็นสิ่งที่คุณต้องการรวม.

อ่าน astute อาจแจ้งให้ทราบว่า ตัวอีเมล์ข้างต้นยังแสดงการเชื่อมโยงที่ตรงเข้าถึงงานผ่านมุมมองที่กรอง. ผมจะอธิบายที่ละเอียดมากขึ้นในการลงรายการบัญชีในอนาคต.

</สิ้นสุด>

มอสบอก “เข้าถึงถูกปฏิเสธ” แก้ไขงานเวิร์กโฟลว์, แต่จริง ๆ มีเข้า

ผมได้นำมาใช้เวิร์กโฟลว์โดยใช้ SharePoint Designer ในเว็บไซต์ซึ่งส่วนใหญ่เป็นแบบอ่านอย่างเดียว "NT_AUTHORITYAuthenticated ผู้ใช้" (อาทิ. ทุกคน). มีไลบรารีฟอร์มสำหรับฟอร์ม InfoPath. มีการเชื่อมโยงลำดับงานรายการงานด้วยเพื่อว่าเมื่อการทำงานของลำดับงาน, ก็สามารถมอบหมายงานให้บุคคล.

ฉันตัดสิทธิ์สำหรับรายการไลบรารีและงานของฟอร์มเพื่อให้ผู้ใช้การรับรองความถูกต้องใด ๆ สามารถสร้างแบบฟอร์ม และปรับปรุงงานของตนเองกำหนด.

ผมทดสอบกับบัญชีของฉันทดสอบสิทธิ์ต่ำ.

สามารถฉันกรอก แล้ว บันทึกฟอร์มไปยังไลบรารี? –> ใช่

สามารถฉันเข้างานจากการเชื่อมโยงอีเมล์? –> ใช่

สามารถเห็นการเชื่อมโยงงานเวิร์กโฟลว์แก้ไข –> ใช่

รถคลิบนการเชื่อมโยงนั้น? –> ไม่ใช่ … ปฏิเสธการอนุญาต.

ทำไมฉันสามารถเห็นการเชื่อมโยงแก้ไขที่ปฏิเสธฉันสิทธิ์เมื่อฉันคลิกนั้น? นั่นคือไม่ว่ามันควรทำงาน…

ผมไปถึงการกำหนดค่าความปลอดภัยอีกครั้ง, อย่างใกล้ชิด. ฉันทำมันอีกครั้ง. พิจารณาการลบบทความนี้ เนื่องจากโท่ไม่รู้อะไรเกี่ยวกับความปลอดภัย.

ขั้นตอนสุดท้าย, ฉันค้น Internets. พบหัวข้อฟอรั่ม MSDN นี้สูงไม่น่า: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

โปสเตอร์ที่ดูเหมือน จะแนะนำว่า act อย่างง่ายของการส่งออกการเวิร์กโฟลว์การถาดไดรฟ์จะแก้ไขปัญหาความปลอดภัยของมอส? ฉันไม่สามารถเชื่อเพียงพิมพ์ที่. ผมนึกถึงตอนใต้สวนเกี่ยวกับการ 9/11 สมคบคิดที่สแตนจะถาม Preznit ของเรา, "จริง ๆ?" เล่า.

ดังนั้น, ไม่มีอะไรเสีย, ผมไฟขึ้น SPD, คลิกขวาบนเวิร์กโฟลว์ และบันทึกของฉัน c:\ ขับรถ. ที่จะเป็น c:\ ไดรฟ์บนแล็ปท็อปของฉัน. ฉันมองผ่านไหล่ของฉันตลอดเวลานั้นไม่มีใครจะถาม, "ทำไมเป็นคุณจะบันทึกเวิร์กโฟลว์กับแล็ปท็อปของคุณ?"

ชิ้น, ที่แก้ปัญหาของฉัน. ฉันสามารถแก้ไขงาน.

ผมขอเสนอนี้เพื่อเป็นการแก้สุดพิลึกพิลั่นกระแสปัญหาของ 2007.

</สิ้นสุด>

แท็กของ Technorati:

SharePoint Designer, ของสินค้าในปัจจุบัน “URL แบบเต็มที่เข้ารหัส” และ HTTPS

เรามักจะต้องการส่งอีเมล์ที่มีการเชื่อมโยงกับสินค้าหรือเอกสารที่ทริกเกอร์เวิร์กโฟลว์. เราสามารถใช้ของสินค้าปัจจุบัน "เข้ารหัส URL แบบเต็ม" สำหรับวัตถุประสงค์นี้. อย่างไรก็ตาม, เสมอเหมือนการใช้ "http" สำหรับโพรโทคอล URL. ถ้าไซต์ของคุณทำงานบน HTTPS แล้วจะไม่ทำงานสำหรับคุณ.

รูปภาพ

เป็นที่รู้ว่า, มีไม่ออกของการแก้ปัญหากล่องปัญหานี้. ถ้าคุณต้องการใช้ HTTPS, คุณมีไม่ใช่จากกล่องตัวเลือก.

เมื่อต้องการแก้มัน, สร้างการดำเนินการแบบกำหนดเองที่มีฟังก์ชันแทนสตริงที่ใช้ในเวิร์กโฟลว์ของคุณ. อีกวิธีหนึ่งคือ, ใช้เครื่องมือของบริษัท 3rd เช่นแพคเกจที่ดีเยี่ยมที่นี่: http://www.codeplex.com/spdwfextensions 🙂

</สิ้นสุด>

แท็กของ Technorati: ,

ส่งอีเมล์ SharePoint Designer ???? ในอีเมล์

ฟอรั่มผู้ใช้ถามบางครั้ง: ทำไมไม่ SharePoint Designer วาง ???? ในอีเมลของฉันแทนค่าฟิลด์?

เหตุผลหนึ่งซึ่งเกิดขึ้นเป็น เพราะตัวแปรที่คุณอ้างอิงเป็น null.

นี้สามารถเกิดขึ้นได้เนื่องจากคุณพยายามอ้างอิงเขตข้อมูลจาก "สินค้าปัจจุบัน" แต่ผู้ใช้ไม่ป้อนค่าในเขตข้อมูลฟอร์มนั้น.

<สิ้นสุด />

เปรียบเทียบ / ทดสอบวันที่ว่างเปล่าใน SharePoint Designer

สถานการณ์สมมติ: ในเวิร์กโฟลว์ SharePoint Designer, คุณต้องกำหนดว่าเขตข้อมูลวันว่างเปล่า.

ปัญหา: SPD ไม่มีโดยตรงวิธีการเปรียบเทียบที่ต้องใช่วัน. คุณไม่สามารถสร้างเงื่อนไขเช่นนี้: "ถ้า [DateField] เท่ากับว่างเปล่า".

โซลูชั่น: แปลงวันสาย. การเปรียบเทียบสตริงที่กำหนดว่าวันว่างเปล่า.

ภาพหน้าจอ:

ภาพหน้าจอต่อไปนี้แสดงวิธีการทำเช่นนี้. ในสถานการณ์สมมตินี้, เขตข้อมูลในรายการ, "สิ่งแวดล้อมใบอนุญาต:อนุญาตก่อน วันแจ้งเตือน", ส่ง และลำดับแรกในการตอบสนอง.

รูปภาพ

รูปภาพ

หมายเหตุ:

เมื่อฉันพยายามนี้, ผมประหลาดใจในการเรียนรู้ว่า การทำงาน. ผมกังวลว่า SharePoint Designer อาจไม่อนุญาตให้กำหนดค่าสายอักขระ (ตัวแปรที่:StringReminderDateDate) แต่มันไม่ได้ช่วยให้.

ผมยังกังวลว่าทำให้มัน, ค่าอาจมีค่า null และแบบเป่าขึ้นดับเบิลยูเอฟขณะใช้งานจริง หรืออาจจะเพิ่มอุณหภูมิโลก 1/2 ระดับ, แต่ความกังวลเหล่านั้นถูกโคมลอย.

</สิ้นสุด>

SharePoint Designer ลำดับงานดำเนินการเอง — สังเกตเกี่ยวกับ <ตัวออกแบบแบบ FieldBind ชนิด =”StringBuilder” … />

เพียงการสังเกตการณ์อย่างรวดเร็วว่า มีความแตกต่างที่สำคัญระหว่างข้อกำหนดเหล่านี้สอง:

<ฟิลด์ FieldBind = "InParam1" DesignerType = "StringBuilder" รหัส = "2" ข้อความ = "ป้อนพารามิเตอร์ #1" />

เมื่อเทียบกับ:

<ฟิลด์ FieldBind = "InParam1" รหัส = "2" ข้อความ = "ป้อนพารามิเตอร์ #1" />

ครั้งแรกแสดงเช่นนี้ใน SPD:

รูปภาพ

ในขณะที่แสดงหลังเช่นนี้:

รูปภาพ

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

สังเกตที่นี่: StringBuilder ช่วยให้คุณสามารถสร้างสตริงที่ (เห็นได้ชัด) โดยผสมกันสายอักขระตัวอักษรและลำดับข้อมูล (ผ่านการ "เพิ่มการค้นหา" ปุ่มซ้ายล่าง). เมื่อคุณใช้ปุ่มการค้นหาเพิ่ม, แทรกโทเค็นในแบบฟอร์ม"[%โทเค็น%]". เมื่อ SharePoint ที่เรียกใช้การกระทำแบบกำหนดเองของคุณ, (C# รหัสในกรณีของฉัน), SharePoint ผ่านโทเค็นการ, ไม่ค่าโทเค็นการ. ถ้าคุณใช้ชนิดการออกแบบเริ่มต้น (ชนิดที่สอง), SharePoint ขยายโทเค็น และผ่านค่าจริงของโทเค็นการการกระทำของคุณ.

StringBuilder =ด้อย, เริ่มต้นออกแบบชนิด =ดี.

แน่นอน, ก็ไม่จริงไง. เพียงได้ไม่ลอง และส่งผ่านพารามิเตอร์การกระทำของคุณเองเมื่อแบบพิมพ์ = StringBuilder. ใช้ชนิดการออกแบบเริ่มต้นและโซ่ StringBuilder จะขึ้นหน้าถ้าคุณต้องการสร้างสตริงการซับซ้อนในเวิร์กโฟลว์ของคุณ (ซึ่งบังเอิญเป็นสิ่งที่หนึ่งไม่สร้างเรื่องแบบไดนามิกสำหรับการดำเนินการอีเมล์, แต่ที่เรื่องรายการบล็อกอื่น, ฮาร์ฮาร์).

<สิ้นสุด />