سؤال

انا املك PerformancePoint Server 2007 لوحة القيادة في أ SharePoint 2007 صفحة.

في صفحة SharePoint الخاصة بي ، هناك مرشحان يتم نقلهما إلى التقرير ، وأحتاج إلى طباعة هذا التقرير في الصفحة (في زر آخر ، وليس SSRS).

لذا فإن ما أحتاج إليه هو طريقة JavaScript التي تستدعي زر طباعة SSRS ، وهو موجود على Div المسماة ، داخل WebPartzone يحتوي على موقع ويب واحد فقط ، وهو عنصر لوحة معلومات Performance (لا تعرف الاسم الدقيق لحرف الويب).

يحرر:لقد لاحظت أن التقرير ، الذي يتم عرضه بواسطة PerformancePoint Server WebPart ، يتم عرضه بواسطة iframe في صفحة SharePoint الخاصة بي.

EDIT2:نظرًا للهندسة المعمارية الخاصة بي ، فإن خدمات الإبلاغ الإطارية على خادم آخر ، مما يؤدي إلى رفض الوصول عند الوصول إلى JavaScript. لذا فإن السؤال في الطريقة التي أردتها لم يعد مسؤولاً بعد الآن ، ومع ذلك سأحاول الإجابة على السؤال مباشرة داخل خدمات الإبلاغ ، فقط للحفاظ على إجابة السؤال دقيقة.

هل كانت مفيدة؟

المحلول 2

تم حلها: نظرًا لأن SSRS كان داخل iframe لـ SharePoint الخاص بي ، كان علي أن أنظر داخل iframe (هذا يعمل فقط عندما يصل Iframe إلى نفس الخادم من صفحة الويب التي يتم الوصول إليها حاليًا وإلا فسوف نحصل على وصول تم رفضه في JavaScript ويفشل بصمت) لقد استخدمت jQuery لجعل الأمور أكثر بساطة واستخدمت IE 8 للبحث عن العقد (نظرًا لأن PerformancePoint Server 2007 لا يظهر في Firefox)

لقد ساعدني JavaScript من Nathan ، لقد قمت بفحص بنية الزر HTML ووجدت أنه جدول يعالج النقرة ويحتوي الجدول على سمة تسمى العنوان مع قيمة تسمى PRINT (لاحظ الحرف الكبيرة على حرف FIRT) ، لذلك كتبت هذا JavaScript الصغير هذا.

$('iframe').contents().find('table[title="Print"]').click();

تذكر أن هذا لن يساعدني ، لأنه في حالتي يتم استضافة SSRS على خادم آخر ، وبالتالي لا يمكن الوصول إليه من خلال JavaScript ، لقد أكملت للتو الإجابة لمساعدة الآخرين في هذا الموقف.

نصائح أخرى

حدث OnClick لزر الطباعة document.getElementById('ReportViewerControl').ClientController.LoadPrintControl();return false;, ومع ذلك ، لم أكن ناجحًا في إضافة ذلك إلى رابط آخر خارج عارض التقرير. هذا أمر منطقي ، حيث يمكنك الحصول على تقارير متعددة على الصفحة وهناك زر طباعة واحد لكل منهما.

ربما يمكنك محاولة فرض نقرة على زر الطباعة؟
document.getElementById('ReportViewerControl_ctl01_ctl07_ctl00_ctl00').onclick();
في وثيقي ، على أي حال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top