The M-Files Community will be updated on Tuesday, April 2, 2024 at 10:00 AM EST / 2:00 PM GMT and the update is expected to last for several hours. The site will be unavailable during this time.

This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

The value "XX-YY" does not exist, or it is a conflict object

Dear M-Files Community, 

I had a problem with one of my scripts when trying to set a MultiSelectLookup based on a search condition.

Basicaly, I was always having this Error Message : The value "XX-YY" does not exist, or it is a conflict object (LINE 74)

After looking for this error, I found a few posts that had the same problem: 

The main issue is when setting up the lookup.item, you need to set it with the ObjVer.ID and not with the item(x).DisplayID

Please find down below the code so you might better understand what the problem was 

dim MailTypeProperty : MailTypeProperty = 1205
dim ChantierProperty : ChantierProperty = 1075
dim EngineProperty : EngineProperty = 1196
dim DestinatairesProperty : DestinatairesProperty = 1420
dim technicienprop : technicienprop = 1160
'Fournisseur
Dim FournisseurProperty : FournisseurProperty = 1042
Dim FournisseursProperty : FournisseursProperty = 1023
Dim FournisseurObjectID : FournisseurObjectID =102
Dim FournisseurEmail : FournisseurEmail = 1135 
Dim FournisseurRef
Dim MailTitle
Dim MailBody


dim DocType : DocType = PropertyValues.SearchForProperty(MailTypeProperty).TypedValue.DisplayValue
dim DestinatairesProp : set DestinatairesProp  = PropertyValues.SearchForProperty(DestinatairesProperty)
dim DestinatairesLookups : set DestinatairesLookups = DestinatairesProp.TypedValue.GetValueAsLookups()
dim ChantierPropValue : set ChantierPropValue = PropertyValues.SearchForPropertyEx(ChantierProperty, true)
dim EnginePropValue : set EnginePropValue = PropertyValues.SearchForPropertyEx(EngineProperty, true) 
dim technicienvalue : technicienvalue = PropertyValues.SearchForPropertyEx(technicienprop,true)

if not(technicienvalue is nothing or IsNull(technicienvalue.displayvalue)) then
	
	'Create a reusable search condition to create Conditions to add to a Condition set
	'Purpose is to search for documents with same suppliers and invoice numbers to get duplicatas
	Dim Condition : Set Condition = CreateObject("MFilesAPI.SearchCondition")
	'Create a search conditions set 
	Dim ConditionSet : Set ConditionSet = CreateObject("MFilesAPI.SearchConditions")
	
	'Create condition : Non deleted objects
	Condition.ConditionType = MFConditionTypeEqual
	Condition.Expression.DataStatusValueType = MFStatusTypeDeleted
	Condition.TypedValue.SetValue MFDatatypeBoolean, False
	ConditionSet.Add -1, Condition
	
	'Create condition : Employés object only
	Condition.ConditionType = MFConditionTypeEqual
	Condition.Expression.DataStatusValueType = MFStatusTypeObjectTypeID
	Condition.TypedValue.SetValue MFDatatypeLookup, 142 ' Employés
	ConditionSet.Add -1, Condition
	
	'Create condition : Employé only
	Condition.ConditionType = MFConditionTypeEqual
	Condition.Expression.DataPropertyValuePropertyDef = 100 ' Classe
	Condition.TypedValue.SetValue MFDatatypeLookup, 63 'Projet
	ConditionSet.Add -1, Condition
	
	'Search by full name
	Condition.ConditionType = MFConditionTypeEqual
	Condition.Expression.DataPropertyValuePropertyDef = 1277 ' nom complet employé
	Condition.TypedValue.SetValue 1, technicienvalue.displayvalue ' 1 = MFDatatypeText
	ConditionSet.Add -1, Condition
	
	Dim foundEmployee : Set foundEmployee = Vault.ObjectSearchOperations.SearchForObjectsByConditions(ConditionSet, MFSearchFlagNone, False)
	if foundEmployee.Count > 0 then
			dim i
			Dim oLookup: Set oLookup = CreateObject("MFilesAPI.Lookup")
			oLookup.Item = foundEmployee.Item(1).ObjVer.ID
			oLookup.ObjectType = 142
			oLookup.Version = -1
			oLookup.ItemGUID = foundEmployee.Item(1).ObjectGUID
			
			For i=1 To DestinatairesLookups.Count
				if(DestinatairesLookups.Item(1).DisplayValue = technicienvalue.displayvalue) then
					Err.Raise MFScriptCancel, "Le destinataire mentionné sera repris automatiquement depuis le CDC, merci de le retirer !"
				end if
			next
			DestinatairesLookups.Add -1, oLookup
		End If
end if 

DestinatairesProp.TypedValue.SetValueToMultiSelectLookup DestinatairesLookups
Vault.ObjectPropertyOperations.SetProperty ObjVer, DestinatairesProp

Parents Reply Children
No Data