< назад

FORM HANDLER

Работа с ПО, которое реализуют стратегию PLM, связано с созданием/заполнением определенных форм. Например: для поиска нужной информации, используются некоторые фильтра (пользователь выставляет параметры поиска, а затем нажимает "search"). Для реализации этой и многих других процедур, существуют определенные инструменты.

Form Handler - метод создания форм в системе YuniquePLM по XML схеме.YuniquePLM. Также, с помощью Form Handler можно получать SQL запросы.

Form Handler - класс библиотеки Yunique.Core.UI., по которому строятся все формы в системе. Благодаря этому методу разработчик может быстро создавать конфигурируемые веб-формы по XML схеме.

Создание объекта класса Form Handler:

 Using objXmlHandler As New Yunique.Core.UI.FormHandler
objXmlHandler.PreferredLanguage = UserProperties.PrefLang
objXmlHandler.PageReadOnly = False
objXmlHandler.XmlFolder = strXMLPath
objXmlHandler.XmlFile = GridSearchSchemaFile
objXmlHandler.DatabaseConnection = conConnection









 Using objXmlHandler As New Yunique.Core.UI.FormHandler objXmlHandler.PreferredLanguage = UserProperties.PrefLang objXmlHandler.PageReadOnly = False objXmlHandler.XmlFolder = strXMLPath objXmlHandler.XmlFile = GridSearchSchemaFile objXmlHandler.DatabaseConnection = conConnection

objXmlHandler.AddPredefinedControlValue("DivisionID", _DivisionID) objXmlHandler.AddPredefinedControlValue("SeasonYearID", _SeasonYearID)

Dim colFields As New StringCollection colFields.Add("pkiPOMLibraryID|" & "00000000-0000-0000-0000-000000000000")

objXmlHandler.ToSelectFields = colFields

Dim objControlHolder(3) As PlaceHolder

objControlHolder(0) = New PlaceHolder objControlHolder(1) = New PlaceHolder objControlHolder(2) = New PlaceHolder

While objXmlHandler.GetSearchControls(Me.Request) intControlColumn = objXmlHandler.ControlColumn - 1 CreateStyleSearchControls(objXmlHandler, objControlHolder(intControlColumn)) End While

plhSearchControl.Controls.Add(New LiteralControl("

" & vbNewLine)) plhSearchControl.Controls.Add(New LiteralControl(vbTab & "" & vbNewLine))

Dim intInd As Integer For intInd = 0 To 2 plhSearchControl.Controls.Add(objControlHolder(intInd)) Next

plhSearchControl.Controls.Add(New LiteralControl(vbTab & "

" & vbNewLine)) plhSearchControl.Controls.Add(New LiteralControl("
" & vbNewLine))

End Using [15:14:34] Stanislav Stepanchenko: Using objXmlHandler As New Yunique.Core.UI.FormHandler objXmlHandler.PreferredLanguage = UserProperties.PrefLang objXmlHandler.XmlFolder = strXMLPath objXmlHandler.XmlFile = GridSearchSchemaFile objXmlHandler.DatabaseConnection = conConnection

Dim colFields As New StringCollection

Dim colDefault As New StringCollection objXmlHandler.ToSelectDefault = colDefault

Dim bParams As Boolean = False

While objXmlHandler.GetEditControls If objXmlHandler.ControlEnable = True Then colFields.Add(objXmlHandler.ControlName + "|" & Request.Form.Item(objXmlHandler.ControlName)) If Request.Form.Item(objXmlHandler.ControlName) String.Empty Then bParams = True End If End While

Dim strSql As String

Dim nBodySet As Integer Try nBodySet = CInt(Me._BodySet) Catch ex As Exception nBodySet = 1 End Try

If bParams = True Then strSql = objXmlHandler.GetSearchSqlCommand(colFields) & " AND POM NOT IN ( SELECT POM FROM pBodySpec WHERE BodyID = '" & Me._BodyID & "' and Bodyset = '" & CStr(nBodySet) & "' ) ORDER BY Sort, POM, PointMeasur " Else strSql = objXmlHandler.GetSearchSqlCommand(colFields) & " WHERE POM NOT IN ( SELECT POM FROM pBodySpec WHERE BodyID = '" & Me._BodyID & "' and Bodyset = '" & CStr(nBodySet) & "' ) ORDER BY Sort, POM, PointMeasur " End If

Return strSql

End Using [15:15:33] Stanislav Stepanchenko: Using objXmlHandler As New Yunique.Core.UI.FormHandler objXmlHandler.PreferredLanguage = UserProperties.PrefLang objXmlHandler.XmlFolder = strXMLPath objXmlHandler.XmlFile = strXMLFile objXmlHandler.DatabaseConnection = conConnection

objXmlHandler.ServerCulture = Me.strServerCulture objXmlHandler.ClientCulture = Me.strClientCulture objXmlHandler.ServerTimeZone = Me.strServerTimeZone

Dim colFields As New StringCollection

colFields.Add("pkiBodyID|" + BodyID)

While objXmlHandler.GetEditControls If objXmlHandler.ControlEnable = True Then strRequestQueryStringValue = (Request.Form.Item(objXmlHandler.ControlName)) If objXmlHandler.ControlType() = "checkbox" Then If strRequestQueryStringValue = "on" Then colFields.Add(objXmlHandler.ControlName + "|1") Else colFields.Add(objXmlHandler.ControlName + "|0") End If

Else colFields.Add(objXmlHandler.ControlName + "|" + Request.Form.Item(objXmlHandler.ControlName)) End If End If End While

colFields.Add("txtCUser|" & UserProperties.Fullname) colFields.Add("txtCDate|" & SystemHandler.GetGMT) colFields.Add("txtMUser|" & UserProperties.Fullname) colFields.Add("txtMDate|" & SystemHandler.GetGMT)

objXmlHandler.PerformSqlCommand(colFields, Yunique.Core.Data.SQLHelper.SqlOperationType.UPDATE) End Using