Добрый день! подскажите пожалуйста в чем ошибка? Может кто сталкивался? делаю сохранение документа в смартим, потом его же надо зачикинить. код:
Set SmSessionUtil = SmSession.GetService("SmUtil.SmSessionUtil")
Dim ExcelObj2 As ISmObject
Set ExcelObj2 = Nothing
If Dir(SmSession.Config.HomeDirectory & "\Bin\" + "ApproveCard.xls") <> "" Then
FileCopy SmSession.Config.HomeDirectory & "\Bin\" + "ApproveCard.xls", SmSession.Config.HomeDirectory & "\Work\" + "ApproveCard.xls"
End If
Set ExcelObj2 = SmSession.ObjectStore.NewObject(ClassifierClass.ClassId)
Set TargetIdSequence = SmSession.ObjectStore.Sequences.ItemByAttribute(ClassifierClass.Attributes(TargetID))
ExcelObj2.AddAllAttributes
ExcelObj2.FillDefaults
ExcelObj2.Value(TargetID) = TargetIdSequence.IncrementValue(TargetIdSequence.GetCurrentValue, True)
Dim str As String
ExcelObj2.Data.ValueAsString("CN_PART_NUMBER") = "КП "
ExcelObj2.Data.ValueAsString("TDM_DESCRIPTION") = "КП "
ExcelObj2.Data.ValueAsString("FILE_NAME") = "Card" + ExcelObj2.Data.ValueAsString("TDM_ID") + ".xls"
ExcelObj2.Data.ValueAsString("DIRECTORY") = Sess.Config.HomeDirectory & "\Work\"
ExcelObj2.Data.ValueAsString("FILE_TYPE") = "7"
ExcelObj2.Insert 'Ex YesToAllBehaviour
str = ExcelObj2.Data.ValueAsString("TDM_ID")
MsgBox str
' для чек ин------------------
Dim Operation As SmApplic.ISmOperation 'performed operation object
Dim Metainfo As SmApplic.SmMetaInfo 'metainfo object for smClasses
Dim SessionUtil As SmUtil.SmSessionUtil 'main SmarTeam service object
Dim TaskRecord As SmRecList.SmRecord 'task record for operation - for SmartScript
Dim OperName As String 'operation name
Dim ClassId As Integer 'class Id of WorkObject
Dim InvokeScripts As Boolean 'invoke scripts on operation
Dim Result5 As Long 'result of operation
' Get service object
Set SessionUtil = SmSession.GetService("SmUtil.SmSessionUtil")
InvokeScripts = True
OperName = "Check In" '"Check In"
Set TaskRecord = New SmRecList.SmRecord
TaskRecord.AddHeader "NM_LFCYC_CHECKIN_MODE", 2, sdtSmallInt ' "CHECKININ_MODE", 2, sdtSmallInt
TaskRecord.ValueAsSmallInt("NM_LFCYC_CHECKIN_MODE") = 1 'LFCYC_WORKREV
Set Metainfo = SmSession.Metainfo
Dim Query As ISmQuery
Set Query = SmSession.ObjectStore.NewQuery
Query.QueryDefinition.Roles.Add ClassifierClass.ClassId, "F"
Query.QueryDefinition.Select.Add "TDM_ID", "F", False
Query.QueryDefinition.Where.Add "", "TDM_ID", "=", "DOC-1840", False, "F"
Query.Run
Dim rootobj As ISmObject
If Query.QueryResult.RecordCount <> 0 Then
Set ExcelObj2 = SmSession.ObjectStore.ObjectFromData(Query.QueryResult.GetRecord(0), True).Clone
MsgBox "Родительский объект ЕСТЬ!"
Else
MsgBox "Родительский объект отсутствует"
End If
ClassId = ClassifierClass.ClassId
'If Not (RootObject Is Nothing) Then
'Get operation object depending on specific SmClass and operation name
Set Operation = Metainfo.OperationsForClass(ClassId, False).ItemById(6) ' ItemById(6)
MsgBox Operation.ExternalName
'Check if operation allowed for object
If SessionUtil.OperationAllowedOnObject(ExcelObj2, Operation, False) = True Then
'Perform operation on object using SmSessionUtil method
Beep
Result5 = SessionUtil.CheckIn(ExcelObj2, TaskRecord, False)
End If
'End If