InfoPath 2007: отправить код кнопки - PullRequest
1 голос
/ 30 января 2012

Может ли кто-нибудь проверить мой код .NET, который у меня есть в кнопке InfoPath, чтобы увидеть, что, черт возьми, я делаю неправильно?Я пытаюсь опубликовать свою форму InfoPath в SharePoint 2007.

Пользовательский код для кнопки (нажатой) не выполняется.TDAPIOLEib - это COM-компонент для Quality Center, который добавляется в качестве ссылки.Я также попытался поместить код в форму отправки, и это тоже не сработало.

Заранее большое спасибо, и я дам вам столько точек повторения, сколько смогу.

Imports Microsoft.Office.InfoPath
Imports System
Imports System.Xml
Imports System.Xml.XPath
Imports TDAPIOLELib
Imports System.Security.AllowPartiallyTrustedCallersAttribute



Namespace InfoPath_QC_Submit_4
    Public Class FormCode
        ' Member variables are not supported in browser-enabled forms.
        ' Instead, write and read these values from the FormState
        ' dictionary using code such as the following:
        '
        ' Private Property _memberVariable() As Object
        '     Get
        '         _memberVariable = FormState("_memberVariable")
        '     End Get
        '     Set
        '         FormState("_memberVariable") = value
        '     End Set
        ' End Property

        ' NOTE: The following procedure is required by Microsoft Office InfoPath.
        ' It can be modified using Microsoft Office InfoPath.
        Private Sub InternalStartup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
            AddHandler DirectCast(EventManager.ControlEvents("btnSubmit"), ButtonEvent).Clicked, AddressOf btnSubmit_Clicked
        End Sub

        Public Sub btnSubmit_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
            Try
                Dim qcconn As New TDAPIOLELib.TDConnection
                Dim qcserver As String

                qcserver = "http://qualitycenterurl/qcbin/"

                qcconn.InitConnectionEx(qcserver)
                qcconn.Login("username", "password")
                qcconn.Connect("Domain", "Project")

                Dim BugF As TDAPIOLELib.BugFactory
                Dim bug1 As TDAPIOLELib.Bug


                BugF = qcconn.BugFactory
                bug1 = BugF.AddItem(DBNull.Value)

                Dim xnDoc As XPathNavigator = Me.MainDataSource.CreateNavigator()


                bug1.Field("BG_Summary") = xnDoc.Select("/my:myFields/Issue_Summary")
                bug1.Field("bg_Description") = xnDoc.Select("/my:myFields/Issue_Description")
                bug1.Field("bg_Priority") = xnDoc.Select("/my:myFields/Priority")
                bug1.Field("bg_detection_date") = xnDoc.Select("/my:myFields/Reported_Date")
                bug1.Field("bg_user_57") = xnDoc.Select("/my:myFields/Requestor")

                bug1.Field("bg_user_64") = "Incident"
                bug1.Field("bg_severity") = "Low"
                bug1.Field("bg_user_55") = "N"
                bug1.Field("bg_detected_by") = "SharePoint"
                bug1.Field("bg_user_31") = "Other"

                bug1.Post()

                If qcconn.Connected Then
                    qcconn.Disconnect()
                End If

                If qcconn.LoggedIn Then
                    qcconn.Logout()
                End If

            Catch ex As Exception
            End Try
        End Sub
    End Class
End Namespace

1 Ответ

0 голосов
/ 08 февраля 2012

1. Установите уровень безопасности формы на «Полный»

(InfoPath 2007): Сервис -> Параметры формы -> Безопасность и доверие (категория) -> Снимите флажок «Автоматически определять уровень безопасности» -> Вручную установите флажок «Полное доверие» -> нажмите «ОК», когда все готово.

2. Создать и назначить шаблон формы подписи

(InfoPath 2007): Инструменты -> Параметры формы -> Безопасность и доверие (категория) -> Отметьте «Подписать этот шаблон формы» -> Нажмите «Выбрать сертификат» -> нажмите «ОК», когда вы сделано.

* Примечание для №2. Возможно, вам придется выполнить поиск Google "Добавить сертификат InfoPath" или начать использовать эту ссылку: MSDN - Развертывание шаблонов подписанных форм Infopath

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...