Modify WF State for objects being searched (VB SCRIPT)

HI,

I am trying to modify Workflow States for objects corresponding to a specific search.

I am facing a issue which says "value -1 don't exist or it is a conflict". I guess the issue is whith the code for updating the objectproperties but can't find the solution.

Thanks in advance for your help

Our Code :

'Extract metadata from file content using regex.
'Suited for documents with a fixed content format and limited file size.
'2022.06.27 Karl Lausten
Option Explicit

Dim objID : set objID = ObjVer.ObjID
Dim objVersion : set objVersion = Vault.ObjectOperations.GetLatestObjectVersionAndProperties(objID, true)
Dim PropertyValues : Set PropertyValues = vault.ObjectPropertyOperations.GetProperties(objver)

Dim iCHRONO : iCHRONO = PropertyValues.SearchForProperty( 1079 ).TypedValue.DisplayValue	'Get value "CHRONO procédure qualité"

'ON recherche les objets avec le même CHRONO procédure qualité


' initialise une searchcondition et une search condition multiple
Dim oSearch : Set oSearch = CreateObject("MFilesAPI.SearchCondition")
Dim oSearchs : Set oSearchs = CreateObject("MFilesAPI.SearchConditions")

Dim IDCHRONOpublie : IDCHRONOpublie = 1082
oSearch.ConditionType = MFConditionTypeEqual
oSearch.Expression.DataPropertyValuePropertyDef = IDCHRONOpublie
oSearch.TypedValue.Setvalue MFDatatypeInteger,iCHRONO 'le CHRONO de la procédure en rédaction en cours
oSearchs.Add -1, oSearch

Dim IDdocument : IDdocument = 0
oSearch.ConditionType = MFConditionTypeEqual
oSearch.Expression.DataStatusValueType = MFStatusTypeObjectTypeID
oSearch.TypedValue.SetValue MFDatatypeLookup, IDdocument ' objet document
oSearchs.Add -1, oSearch

Dim IDclasseprocedurepubliee : IDclasseprocedurepubliee = 12
oSearch.ConditionType = MFConditionTypeEqual
oSearch.Expression.DataPropertyValuePropertyDef = MFBuiltInPropertyDefClass ' MFBuiltInPropertyDef.
oSearch.TypedValue.SetValue MFDatatypeLookup, IDclasseprocedurepubliee 'classe = procédure publiée
oSearchs.Add -1, oSearch


oSearch.ConditionType = MFConditionTypeEqual
oSearch.Expression.DataStatusValueType = MFStatusTypeDeleted
oSearch.TypedValue.SetValue MFDatatypeBoolean, False 'objet pas supprimé
oSearchs.Add -1, oSearch

' Invoke the search operation.
Dim oResults 'As ObjectSearchResults
Set oResults = Vault.ObjectSearchOperations.SearchForObjectsByConditions(oSearchs, MFSearchFlagNone, False)

'voir ici pour la strucutre de la recherche : https://developer.m-files.com/APIs/COM-API/Reference/#MFilesAPI~VaultObjectSearchOperations~SearchForObjectsByConditions.html

'iWFSTate sera l'étape de WF qu'on vise
Dim iWFState : iWFState = Vault.WorkflowOperations.GetWorkflowStateIDbyAlias("WFS.ProcdurePublie.AncienneVersion")

'pour chaque résultat, on passe à l'étape 'ANCIENNE VERSION' (qui ne sera pas publiée aux utilisateurs via la confi de WF)
Dim oSearchResults : set oSearchResults = Vault.ObjectSearchOperations.SearchForObjectsByConditions (oSearchs, MFSearchFlags.MFSearchFlagNone, true)
Dim i : Dim oRes

'on boucle sur les résultats
if oSearchResults.Count > 0 Then

	For each oSearchResults in oSearchResults

		SmartUpdateWorkflowState oSearchResults.Objver,"WF.ProcedurePublie","WFS.ProcdurePublie.AncienneVersion"
	
	next
end if

Function SmartUpdateWorkflowState (objet, AliasWF, AliasEtape)

	Dim oPropVals : Set oPropVals = Vault.ObjectPropertyOperations.GetProperties( objet, True )

	'Set the WF to work on
	Dim iWF : iWF = Vault.WorkflowOperations.GetWorkflowIDByAlias(AliasWF) 'avec l'alias du Wrokflow
	Dim WFProperty : set WFProperty = CreateObject("MFilesAPI.PropertyValue")
	WFProperty.PropertyDef = 38 'Builtin Workflow Property
	WFProperty.TypedValue.SetValue MFDatatypeLookup, iWF
	oPropVals.add -1, WFProperty
	
	'Set the target workflow state 
	Dim iWFState : iWFState = Vault.WorkflowOperations.GetWorkflowStateIDbyAlias("AliasEtape")
	Dim WFSProperty : set WFSProperty = CreateObject("MFilesAPI.PropertyValue")
	WFSProperty.PropertyDef = 39 'Builtin Workflow State Property
	WFSProperty.TypedValue.SetValue MFDatatypeLookup, iWFState
	oPropVals.add -1, WFSProperty
	
	' Save settings to object
	Vault.ObjectPropertyOperations.SetAllProperties objet, true, oPropVals
end function

L'error :

<MetadataEditor>, -, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
ScriptErrorHelper.cpp, 96, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MDispatchExImpl.h, 679, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MDispatchExImpl.h, 841, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MetadataCardAction.cpp, 386, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MetadataCardAction.cpp, 560, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MetadataEditor.cpp, 2957, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MetadataModel.cpp, 4515, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MetadataModel.cpp, 4966, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
ElectronicSignatureUIHelper.cpp, 239, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MetadataModel.cpp, 12743, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
CoVaultMountingDocumentOperations.cpp, 3342, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
CoVaultMountingDocumentOperations.cpp, 3430, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
DocumentCache.cpp, 11999, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
DocumentCache.cpp, 12110, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
DocumentCache.cpp, 20572, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCMethodCallWithRetry.h, 21, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCMethodCallWithRetry.h, 21, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperations.cpp, 12771, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperations.cpp, 7253, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
MCallInLoop.h, 530, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelper.cpp, 4538, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelper.cpp, 4028, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelper.cpp, 9731, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelper.cpp, 10455, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelper.cpp, 26571, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelperPrivate.cpp, 2983, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelperPrivate.cpp, 3200, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelperPrivate.cpp, 3629, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
RPCDocumentOperationsHelperPrivate.cpp, 4504, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
VaultScriptSessionTemplates.cpp, 277, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
VaultScriptSessionTemplates.cpp, 342, L'exécution du script a échoué. ((Publication d'une nouvelle version, StateAction: 100-13)) (0x800408BB)
VaultScriptSessionTemplates.cpp, 342, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
VaultScriptSessionTemplates.cpp, 524, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoActiveScriptSite.cpp, 897, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoActiveScriptSite.cpp, 739, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
Publication d'une nouvelle version, StateAction, 85, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
MNullPropagatingDispatchImpl.h, 127, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
MNullPropagatingDispatchImpl.h, 174, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoVaultObjectPropertyOperations.cpp, 1040, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoVaultObjectPropertyOperations.cpp, 1091, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoVaultObjectPropertyOperations.cpp, 1118, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoVaultObjectPropertyOperations.cpp, 1197, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
ServerVaultObjectPropertyOperationsHelper.cpp, 285, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCObjectOperationsHelper.cpp, 115, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
CoRPCOverCOM.cpp, 10482, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperations.cpp, 7253, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
MCallInLoop.h, 530, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperationsHelper.cpp, 4538, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperationsHelper.cpp, 3998, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperationsHelperPrivate.cpp, 7658, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperationsHelperPrivate.cpp, 7101, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperationsHelperPrivate.cpp, 9023, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
RPCDocumentOperationsHelperPrivate.cpp, 9803, La valeur '-1' n'existe pas, ou bien il s'agit d'un conflit. (0x800408E8)
(M-Files 24.6.13797.6 2024-07-16T12:58:00.704Z)

Parents Reply Children