فئة المحفوظات: InfoPath 2007 // أشكال خادم

مقارنة تحسس حالة الأحرف في InfoPath

لقد كتبت مقالة عن SharePointBriefing.com وكانا يضعان أنه يعيش اليوم.

وإليك دعابة:

image

التحقق من ذلك.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات:

ضرب سريعة: قراءة InfoPath XML مباشرة من سبليستيتيم في SharePoint

وأنا لقد يعمل على مشروع حيث أحتاج إلى استخراج المرفقات من نموذج InfoPath. وهناك بعض موارد جيدة لتحليل نماذج InfoPath (ما هي ملفات XML فقط, لذلك فمن السهل في الواقع تماما).

وبينما كنت في بناء المشروع, بدأت بتحميل نموذج InfoPath وحفظه إلى محرك الأقراص الثابت المحلي. رمز c# القراءة مباشرة من هذا المثيل. ومع ذلك, نماذج InfoPath حقاً يعيشون داخل مكتبة نماذج SharePoint. فعلت قليلاً البحث نصف القلب لمعرفة كيفية قراءته مباشرة من المكتبة وتخلى تقريبا, في هذه الحالة لدى حفظ النموذج إلى دليل temp محلي وقراءتها من هناك. ومع ذلك, ليس هناك حاجة للذهاب من خلال تلك الأطواق كما يمكنك قراءتها مباشرة من مكتبة. يظهر هذا المقتطف قليلاً كيف:

/// فئة تعريف الأشياء هنا, بما في ذلك:
القطاع الخاص SPFile ميشاريبوينتفيلي; /* جزء من سبليست */
// رمز أكثر هنا ولدينا داخل أسلوب من فئة:
XmlTextReader textReader;
textReader = الجديد XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = ويتيسباسيهاندلينج.لا شيء;

textReader.Read();

// إذا كانت العقدة قيمة

في حين (textReader.Read())
{

... وهلم جرا وهكذا دواليك...

وهي مفتاح بت أعلاه هو أننا يمكن قراءة InfoPath مباشرة عن طريق أوبينبيناريستريم() استدعاء الأسلوب في SPFile كمعلمة للمنشئ في XmlTextReader. وهو يعمل كبيرة.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات:

استخراج المرفقات برمجياً من نماذج InfoPath (بما في ذلك أسماء!)

لقد حلاً دخول حساب لعميل روافع InfoPath وسير العمل. عند نقطة واحدة خلال عملية الموافقة, بحاجة لإنشاء رسالة بريد إلكتروني يحتوي على كافة البيانات InfoPath جيدة، فضلا عن المرفقات أنفسهم حتى (تنفس الصعداء) شخص ما يمكن أن يأخذ تلك البيانات ويدويًا إعادة الرئيسية في تطبيق قاعدة بيانات أوراكل.

ليس من الصعب جداً الحصول على أو تحليل نموذج InfoPath. لم أكن أعرف كيفية التعامل مع المرفقات, ومع ذلك. وبعد ساعة أو ساعتين من دس حول الإنترنت (إلى الأبد!) لقد وجدت هذه المادة: http://support.microsoft.com/kb/892730

أنها توفر بعض التعليمات البرمجية مفيد لاستخراج المرفق من عقده في النموذج. (كنت لا تزال بحاجة إلى العثور على العقدة، وكل ذلك, ولكن هذا هو مجرد XML تحليل).

وأنا أعلم أن المرفق ترميز base64 وذهبت أصلاً في الطريق لمجرد استخراج البيانات base64, فك عليه وحفظه. ومع ذلك, أدركت بسرعة لم أكن أعرف كيفية الحصول على اسم الملف نفسه حتى وجدت المادة المذكورة أعلاه.

كنت قد وجدت فعلا أن وقت مبكر جداً, ولكن تم تأجيل بشخصيتها سبليت. من ناحية, المادة * يقول * أنها جيدة ل InfoPath 2007. بعد, التعليمات البرمجية والتعليمات كل شيء عن Visual Studio 2003 والإشارات إلى InfoPath 2003.

خلاصة, تعمل التعليمة البرمجية أن المادة شريطة جيد بالنسبة لي (وحتى الآن). يمكنني الحصول على بلدي نموذج InfoPath, ويمكن تحليل, يمكن أن أجد وفك المرفق واعرف اسمها. أكثر ما يمكن أحد أطلب من حياته?

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات: ,,

إذا كنت قلقا من أن بيئة SharePoint الخاص بك قد يكون غير صحي صبي, واسمحوا لي أن التعليمات يمكنك إصلاح ذلك مع التحقق من الصحة.

إدارة مجموعات الاعتماد مع InfoPath في بيئة FBA

لدى عملية موافقة على مصاريف التي يجب أن تنفذ باستخدام InfoPath في مصادقة نماذج التي تعتمد (FBA) استخدام نماذج خدمات البيئة (InfoPath على شبكة الإنترنت).

هناك مجموعتان من الموافقة والعملية مثل هذه الأعمال:

  • مستخدم يقوم بتعبئة تقرير مصروفات وإرساله للموافقة عليها.
  • أن يطلق رسالة بالبريد إلكتروني إلى الأولى الموافق على مستوى المجموعة.
  • المعتمد المستوى الأول يستعرض ويوافق أو يرفض التقرير.
  • إذا كان أول شخص مستوى توافق على أنه, إعلام النظام المعتمد المستوى الثاني.

على الجانب InfoPath من الأشياء, لدى الأقسام المختلفة التي تظهر/إخفاء استناداً إلى ما إذا كان المستخدم عضوا في واحدة من تلك الجماعات الموافقة.

في بيئة FBA اسم المستخدم() الدالة دوماً بإرجاع فارغة, ومن المحزن. ما قمت به هو إعداد قائمة مخصصة تسمى "مجموعات الاعتماد".

لا يمكنني إضافة أية أعمدة إضافية إلى القائمة.

عندما تفتح النموذج, أنه يملك قاعدة مثل هذا:

image

"تعيين قيمة حقل" هنا:

image

وهذا هو أساسا قائلا: الاستعلام قائمة مخصصة لمجموعة الموافقة وعامل تصفية الاستعلام التي تبحث عن أي صف فيها قيمة عنوان = "الشمال".

إذا كان التي تقوم بإرجاع أي قيمة, ثم يكون المستخدم الحالي عضوا في هذه المجموعة. وأنا أعلم أنه يحتوي على هذه القيمة لأن طول سلسلة أكبر من الصفر.

إغلاق الحلقة بتأمين العناصر الفردية في قائمة المجموعة الموافقة. في وقت التشغيل, إذا لم يكن لدى المستخدم الحالي لن تعيدها الوصول الأمان المناسبة إلى هذا العنصر ثم الاستعلام, ستكون سلسلة ذات طول صفري، والآن أنت تعرف المستخدم الحالي ليس جزءا من هذه المجموعة. يمكنك استخدام هذه الحقيقة كما هو مطلوب في نموذج.

وهذا هو الكتابة سوبر قصيرة. وأنا أشعر بضغط الوقت أو أن تفاصيل أكثر.

أنا لا أعرف كيف ذات الصلة أنني في بيئة FBA. وهذا ربما تعمل جيدا في بيئة غير FBA ولكن يمكنني أن أتصور الحالات حيث هذا سيكون من المفيد.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات: ,

InfoPath // أحد التفسيرات "استثناء غير معالج عند تقديم النموذج System.Xml.XmlException: وقد وقع نهاية ملف غير متوقع أثناء تحليل الاسم. “

تعمل في نموذج InfPath اليوم، ويدير ضد صديق قديم, "استثناء غير معالج عند تقديم النموذج System.Xml.XmlException: وقد وقع نهاية ملف غير متوقع أثناء تحليل اسم. "

وهذا ما حدث لي منذ فترة طويلة ولا أعرف ماذا بالضبط فعلت لحلها. بصراحة, وأعتقد أن قد تم الانتقال إلى مشروع جديد وأن لم ير هذا أحد حلها (وقد بلدي البدلاء للتعامل مع هذا الصداع). أتذكر أنه شيطان مشكلة. قضيت عدة أيام غير الناجحة التي تتعامل معها. ومنذ ذلك الحين, لقد رأيت هذا الخروج على المنتديات MSDN مرة واحدة على الأقل خلال السنة الماضية وشهدت إجابة ابدأ حقا له.

أنا ضربت اليوم وحسن الحظ هذه المرة , قدمت مجرد تغيير للنموذج. أنني المدعومة بهذا التغيير والمشكلة ذهب بعيداً. كما تبين أنه من الممكن لإنشاء من القالب باستخدام مصمم InfoPath بطريقة أن فإنه يقوم بإنشاء خطأ الظاهر على جانب الملقم أشكال الجدار.

في حالتي, وكان السبب في المشكلة بهذه الخطوات:

  1. إضافة عنصر جديد إلى مصدر بيانات كحقل نص.
  2. إفلاته النموذج.
  3. تغيير طريقة عرض الأمر في القائمة المنسدلة.
  4. أقول القائمة المنسدلة قائمة لسحب القيم الخاصة به من قائمة SharePoint مخصصة.

لا أعرف إذا كانت هذه الخطوات يسبب مشكلة أو ربما, على نحو ما البيانات الموجودة في القائمة نفسها مشكلة. أنا ذاهب إلى تجربة قليلاً وانظر إذا أنا يمكن مسمار دوونت المعلمات أنه هذا مع أي مزيد من التفاصيل.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات:

تضمين الملاحظات المطور داخل نماذج InfoPath الخاص بك

أنا يعيشون في العالم نماذج InfoPath وكنت بحاجة لجعل واحدة من تلك التغييرات "الصغيرة" لنموذج التي, للأسف, فواصل اصطلاح تسمية الأول اعتمدت معها قبل أسبوعين. وقلت لنفسي, "شخص هو الذهاب لإلقاء نظرة على هذا الشيء في السنة من الآن ويقول:, ' ما أفكر بول? بجوف, لا معنى له اصطلاح التسمية!”

أدركت أنه يمكن إنشاء طريقة عرض على الشكل لهذا ومن ثم, مرة أخرى, أدرك أنه يمكن قد يفعل شيئا مثل هذا على طول. قمت بإضافة طريقة عرض "الملاحظات المطور" إلى نموذج InfoPath على هذا النحو:

image

لقد تم تكوين النموذج حيث أنه لا يمكن للمستخدمين الحصول على هذا الرأي، وبالتالي, كان مرئياً فقط مع عميل InfoPath في طريقة العرض تصميم. الآن أشعر بقليل الملقحين ضد بعض المطور مجهولة المستقبل تبحث في بلدي النموذج والتفكير الأفكار السيئة عني. اوففف!

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات:

إدارة InfoPath وجهات النظر

ويبدو لي أن اذهب من خلال مراحل InfoPath حيث, من فراغ, وأنا أشعر بصياغة مجموعة من النماذج. أصابعي تعلم كيفية استخدام الأداة بشكل جيد، وثم تذهب من خلال تسعة أشهر من الجفاف، ويجب أن تعلم أنه في كل مرة أخرى.

وأنا في منتصف مرحلة InfoPath، وأنا خلق نماذج InfoPath مع الكثير من وجهات النظر. شيء واحد ستلاحظ ربما هو أن InfoPath 2007 يظهر العميل وجهات النظر في ترتيب أبجدي. هذا مصدر إزعاج حقيقيا في بعض الأحيان. أسلوبي أفضل في هذه الأيام هو إلى prepend عدد إلى اسم طريقة العرض حيث تظهر دائماً في الترتيب الذي أريده, كما هو موضح هنا:

image

وأود أن كنت قد تم القيام بهذا على طول.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات:

التدبير نموذج InfoPath, مصادقة النماذج (FBA) وأسماء الملفات الفريدة

لقد تم العمل على بعض نماذج InfoPath هذا الأسبوع في موس في بيئة FBA والمستفادة, عندما ذهبت إلى نشر النماذج إلى بيئة إنتاج مع FBA المنطقة أن اسم المستخدم() لا تعمل وظيفة الدالة. تم استخدامه لإنشاء أسماء ملفات فريدة.

بئر, أن الدالة لا يعمل في بيئة FBA (على الأقل, ليس من خارج منطقة الجزاء). و, بعد التفكير, استخدام اسم المستخدم في الطريقة التي كنت قد خططت لن يكون مضمونة اسم ملف فريد من نوعه وعلى أي حال.

وكان بلدي الحل لاستخدام الآن() الدالة وقاعدة لحرائق في تحميل النموذج. تعيين اسم الملف إلى عنصر البيانات عندما يكون فارغاً:

image

image

وميزة هذا النهج أن يتم تعيين اسم الملف مرة واحدة فقط. (لا تظهر في لقطة الشاشة, ولكن وضع شرط على القاعدة لإطلاق النار فقط عندما "ميفيلينامي" فارغ). أنا استخدم لتعيين اسم ملف على مستوى مصدر البيانات. عادة, أود أن تفعل شيئا (سيئة) أحب هذا:

image

المشكلة مع ذلك أنه إذا كان المستخدم بفتح النموذج يوم الاثنين ويغير المستخدم ب أنه يوم الثلاثاء, فسوف ينتهي مع اثنين من أشكال مختلفة منذ اثنين من المستخدمين مختلفة حفظه مع أسماء مستخدمين مختلفة.

حتى, مزعج FBA يمكن أن تكون بصورة عامة ومع InfoPath لا سيما, قدمت لي إعادة التفكير تفاصيل تقنية صغيرة ولكنها هامة حقاً والنهج التي لا يستطيعون القيام به وإلا!

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

[تشنورتي] بطاقات:

سريعة وبسيطة: جعل نموذج InfoPath لقراءة فقط (InfoPath Forms Services في موس)

وهناك سيناريو أعمال مشتركة مثل هذا:

  • مستخدم بتعبئة نموذج InfoPath.
  • يقدم النموذج.
  • تنطلق في عملية سير العمل الذي طال أمده.
  • أثناء تشغيل سير العمل, نحن لا نريد أي شخص لتغيير محتوى النموذج.

هذا المثال office.microsoft.com توضح هذه المقالة كيفية إنشاء عرض "منفصلة" ووضع علامة عرض كامل للقراءة فقط. وهذا هو نهج عملي ولكن العيب أن قمت بإنشائها فعالية كامل إصدارين من نفس النموذج ويجب الآن الاحتفاظ بها في المزامنة يدوياً. إذا قمت بإضافة حقل إلى طريقة عرض قابلة للتحرير, ثم يجب إضافته إلى طريقة عرض غير قابل للتحرير، وكذلك. مع مرور الوقت, مع مطوري مختلفة, يمكن أن يكون هناك بعض الاختلاف.

هذا البديل قد تعمل بشكل أفضل في بعض الحالات:

  • إضافة حقل جديد إلى النموذج تسمى "إيسيديتابل".
  • تعيين القيمة الافتراضية الخاصة به إلى true.
  • الترويج له عند نشر للمعايير الأمنية التنفيذية الدنيا.
  • في سير العمل, قم بتعيين قيمة إيسيديتبلي إلى false.
  • الانتقال للخلف إلى النموذج.
  • إضافة قاعدة أن "عند فتح النموذج", تعطيل زر الحفظ الخاص بك عندما يكون إيسيديتابل الكاذبة.

والعيب في هذا النهج أن يكون كافة الحقول القابلة للتحرير على الشاشة. ويمكن للمستخدم الحصول على انطباعا خاطئا أن يمكنهم في الواقع تغيير المحتوى. يمكنك تقليل هذا بوضع بعض النصوص أن الشكل معطل, ربما بأحرف حمراء كبيرة عبر الجزء العلوي من الصفحة.

ففي أحد المشاريع, أنا خلقت حالة سير عمل "" طريقة العرض. ومع تقدم سير العمل, سوف تقوم بتحديث حقول الحالة المحددة التي عززت من النموذج. عند فتح المستخدم النموذج, نموذج مفتوح "" تحولت القاعدة تلقائياً إلى أنه لطيف قليلاً موجزاً حالة العرض والمستخدم.

</نهاية>

[تشنورتي] بطاقات: ,

الاشتراك في بلادي بلوق.

تبديل طريقة العرض طريقة عرض استناداً إلى معرف المستخدم في نموذج InfoPath

كان لدينا بلد متقدم نموذج InfoPath مع وجهات نظر متعددة لدعم جهاز توظيف جديدة / عملية على الصعود. عندما توظف الشركة شخص جديد, قسم تكنولوجيا المعلومات ومجموعات أخرى بحاجة لاتخاذ إجراءات (إعداد كشوف المرتبات, تمكين الوصول إلى التطبيقات المناسبة, حدد موقع مكتب, إلخ). نحن نستخدم في النموذج ولكن طريقة عرض مختلفة للنموذج لكل من هذه المهام.

في هذه الشركة, معظم الأشخاص الذين شاركوا في العملية التجارية من البارعين في تكنولوجيا المعلومات, حتى عندما يقومون بالوصول النموذج, هذه طريقة العرض الافتراضية قائمة "" عرض مع الأزرار التي توجيهها إلى وظيفتها المحددة. ومع ذلك, أننا بحاجة إلى تبسيط الأمور للمدير المباشر لتأجير جديد. هذا الشخص يجب أن لا نرى أي من تكنولوجيا المعلومات المتعلقة بالأشياء. في الحقيقة, وقالت أنها ينبغي أن انظر عرض واحد فقط من النموذج وحتى لا يكون خياراً لمعرفة آراء أخرى.

وفي حالتنا, أن المباشرة الحساب لمدير يرتبط مباشرة بشكل مجاملة اتصل محدد (وأنا دائماً الرغبة في استدعاء منتقي أشخاص "" لسبب من الأسباب).

الخطوات كما يلي:

1. في وضع التصميم, انتقل إلى أدوات-> خيارات النموذج-> فتح وحفظ.

2. قم بتحديد "قواعد".

3. إنشاء قاعدة جديدة للعمل الذي هو "التبديل إلى عرض" وحالته وروافع اسم المستخدم() الدالة.

اسم المستخدم() تقوم بإرجاع "بسيطة" اسم المستخدم دون المجال. إذا كان تسجيل الدخول إلى SharePoint باستخدام بيانات الاعتماد "domainpagalvin", اسم المستخدم() تقوم بإرجاع "باجالفين".

المحدد من الاتصال يوفر ثلاث بتات المعلومات لجهة اتصال. أككونتيد "" جزء مفيد جداً لهذا السيناريو. الشيء الوحيد الذي يجعل هذا حتى قليلاً من التحدي هو أن المحدد من الاتصال (في بلدي البيئة على أي حال) تقوم بإرجاع معرف المستخدم والمجال, كما هو الحال في "domainpagalvin". وهذا يمنعنا من القيام بشرط مساواة مستقيم إلى الأمام منذ أككونتيد ("domainpagalvin") وسوف ابدأ المساواة في اسم المستخدم() ("باجالفين").

يمكننا الحصول على حول هذا باستخدام "يحتوي على" عامل التشغيل: أككونتيد يحتوي على اسم المستخدم().

يمكن أن نأخذ فيها مرة أخرى وقبل تعليق مجال الثابت تلوينها أمام اسم المستخدم() دالة الحصول على الاختيار لدينا المساواة والقضاء على خطر إيجابية كاذبة في يحتوي على عامل التشغيل.

كنا حقاً مثل التبديل تلقائياً عرض لمستخدمين آخرين استناداً إلى عضوية مجموعة الأمان الإعلانية على. وعلى سبيل المثال, عندما يقوم عضو من "أنها تحليلات" الفريق يصل إلى النموذج, تلقائياً بالتبديل إلى عرض تحليلات تقنية المعلومات. لم يكن لدينا الوقت لتنفيذه, ولكن فكرتي الأولى هي لإنشاء خدمة ويب التي سوف تحتوي على أسلوب مثل "إيسميمبيروفاكتيفيديريكتوريسيكوريتيجروب", تمرير اسم المستخدم() والعودة إلى الوراء true أو false. أي شخص لديه أي شيء آخر, أكثر من فكرة ذكية? هل هناك أي وظيفة SharePoint أننا يمكن الاستفادة من InfoPath البت في ذلك?

</نهاية>

[تشنورتي] بطاقات: