Merge Document Fields

This script demonstrates how to merge the values of document fields.

When you extract data from a repository, the connector can produce documents that have multiple values for a single field, for example:

#DREFIELD ATTACHMENT="attachment.txt"
#DREFIELD ATTACHMENT="image.jpg"
#DREFIELD ATTACHMENT="document.pdf"

This script shows how to merge the values of these fields, so that the values are contained in a single field, for example:

#DREFIELD ATTACHMENTS="attachment.txt, image.jpg, document.pdf"
Copy
function handler(config, document, params)
    onefield(document,"ATTACHMENT","ATTACHMENTS")
    return true;
end

function onefield(document,existingfield,newfield)
    if document:hasField(existingfield) then
        local values = { document:getFieldValues(existingfield) }
        
        local newfieldvalue=""
        for i,v in ipairs(values) do      
            if i>1 then
                newfieldvalue = newfieldvalue ..", "
            end

            newfieldvalue = newfieldvalue..v
        end   
               
        document:addField(newfield,newfieldvalue)
    end

    return true;
end