---------- Forwarded message ----------
From: Nicolas LAURENT <nla@carmis.fr>
Date: 12 sept. 2007 11:27
Subject: tracer les suppressions dans pivotal
To: collaborateurs <collaborateurs@carmis.fr>
champs :
User_Id ( id sur users...)
Table_Name (text80)
Detail_Suppression (text 254)
2. dans la dll d'un formulaire scriptable par tous
ajouter dans le execute
Case Is = UCase$("TRACESUPPRESSION")
Call TraceSuppression(vntUserDefParams(0), vntUserDefParams(1))
et ajouter dans la sub suivante:
Private Sub TraceSuppression(ByVal SuppFormName As String, ByVal SuppRecord_Id As Variant)
Dim rstJOB As ADODB.Recordset
Dim rdstJOB As RDALib.IRDataset
Dim suppDescr As String
Dim SuppForm As RDALib.IRForm
Set SuppForm = mrsysSystem.Forms(SuppFormName)
suppDescr = "Suppression : "
suppDescr = suppDescr & FindValue(SuppForm.Table.TableName, "Rn_Descriptor", SuppForm.Table.PrimaryKeyField.FieldName, SuppRecord_Id)
suppDescr = suppDescr & " (" & mrsysSystem.IdToString(SuppRecord_Id) & ")"
Set rdstJOB = mrsysSystem.CreateDataset
rdstJOB.TableName = "Trace_suppression"
rdstJOB.Fields.Append "User_Id"
rdstJOB.Fields.Append "Table_Name"
rdstJOB.Fields.Append "Detail_Suppression"
Set rstJOB = rdstJOB.BuildNewRecordset
rstJOB.AddNew
rstJOB.Fields("User_Id").Value = mrsysSystem.CurrentUserId
rstJOB.Fields("Table_Name").Value = SuppForm.Table.TableName
rstJOB.Fields ("Detail_Suppression").Value = suppDescr
rdstJOB.SaveRecordset rstJOB
Set rstJOB = Nothing
Set rdstJOB = Nothing
End Sub
3. créer dans script client un global
sub TraceSuppression()
Dim rfrmForm,objParams,vntParams,objrParam
Set rfrmForm = UIMaster.RSysClient.GetForm("FORMULAIRE ACCESSIBLE PAR TOUS")
Set objParams = CreateTransitPointParamsObj()
objParams.SetUserDefParam 1, UIMaster.RUIcenter.Form.FormName
objParams.SetUserDefParam 2, UIMaster.RUIcenter.recordId
vntParams = objParams.ConstructParams()
rfrmForm.Execute "TRACESUPPRESSION", vntParams
end sub
4. faire un Global.TraceSuppression() dans tous les deleteformdata des scripts clients
des formulaires dont on veut tracer la suppression
par exemple
On Error Resume Next
Global.TraceSuppression()
rfrmForm.DoDeleteFormData vntRecordId, vntParameters
If Err.Number <> 0 Then
uimaster.ShowErrorMessage Err.Description
End If
End Sub