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)