I have a process builder process that populates a field on the opportunity level with one present on the opportunity product. The code is as follows:

    
    (AND(NOT(ISBLANK([OpportunityLineItem].OppProdCustomField1__c)))
    || ISCHANGED([OpportunityLineItem].OppProdCustomField1__c ))
    
    &&(NOT(CONTAINS([OpportunityLineItem].Opportunity.Description, [OpportunityLineItem].OppProdCustomField1__c)))


The process saves fine without the syntax errors but it will not populate at all!
If I remove the second part it works fine **BUT I need the value in the Opportunity Field to be unique - it must not add to it if the same figure is there (no duplicates)**

Second part being:

    &&(NOT(CONTAINS([OpportunityLineItem].Opportunity.OppCustomField1__c, [OpportunityLineItem].OppProdCustomField1__c)))