Variable editor on sc_task will break the Form when attaching file in RomeDescriptionVariable editor on sc_task will break the Form when attaching file in Rome.This works fine when attach in sc_req_item.Steps to Reproduce Reported for instance upgrade from Paris to Rome 1. Create a catalog item with an attachment variable.2. Choose the procession engine as flow designer which creates atleast one Catalog Task, with the attachment variable of the catalog item in step1.3. Order the item, and wait till the Catalog task gets created by the flow.4. Open the created catalog task and in the VE try to upload a file for the attachment variable and save the form.5. Refresh the form after a minute and notice that form will be broken.WorkaroundDev provided a couple of workarounds here. Please take any one which you find suitable.1. Prevent the attachment type variable from appearing on sc_task. If they had this variable marked global, uncheck global field. If it was added to sc_task by Workflow or Flow, please remove this variable from there.OR2. Remove variable editor from sc_task.OR3. Make changes to OOB sysevent_script_action record.Find the attached sysevent_script_action_453927d7c740101046e7dc8703c26082.xml record (attached in Problem). Copy-Pase code/Import the xml IMPORTANT NOTE: Please note making changes to OOB xml files in not encouraged as it prevents further updates to them. Before upgrading to next version, please make sure to revert it to OOB version. We have many changes in this file after Rome.Go for the third workaround only if you can't go with the first two. Pasting the code here if attached file is not accessible in any case ````` deleteUnreferencedAttachments(); function deleteUnreferencedAttachments() { var tableProperties = event.parm2.split(','); var targetTableName = tableProperties[0]; var targetTableId = tableProperties[1]; var values = ''; if (targetTableName && GlideStringUtil.isEligibleSysID(targetTableId)) { //get the values in target record fields var gr = new GlideRecord(targetTableName); if (!gr.get(targetTableId)) return; var fields = gr.getFields('file_attachment'); for (var i = 0; i < fields.size(); i++) { var glideElement = fields.get(i); if (!glideElement) continue; var internalType = glideElement.getED().getInternalType(); if (internalType == 'user_image' || internalType == 'file_attachment') { if (GlideStringUtil.isEligibleSysID(glideElement.getValue())) values = values + ',' + glideElement.getValue(); } else if (internalType == 'translated_html' && glideElement.getValue()) { var reg = new SNC.Regex("/[0-9a-fA-F]{32}/"); var match = reg.match(glideElement.getValue()); while (match) { values += ',' + match; match = reg.match(); } } } //get the values in target record variables if (targetTableName == 'sc_req_item' || targetTableName == 'sc_task' || targetTableName == 'sc_cart_item') { var gRecord = new GlideRecord(targetTableName); gRecord.addQuery('sys_id', targetTableId); gRecord.query(); while (gRecord.next()) { for (var prop in gRecord.variables) { variableValue = gRecord.variables[prop]; if (GlideStringUtil.isEligibleSysID(variableValue)) { values = values + ',' + variableValue; } } } } else { var gr2 = new GlideRecord('question_answer'); gr2.addQuery('table_name', targetTableName); gr2.addQuery('table_sys_id', targetTableId); gr2.query(); while (gr2.next()) { if (GlideStringUtil.isEligibleSysID(gr2.getValue('value'))) values = values + ',' + gr2.getValue('value'); } } //delete attachments that are not in values var gr = new GlideRecord('sys_attachment'); gr.addQuery('table_name', 'ZZ_YY' + targetTableName); gr.addQuery('table_sys_id', targetTableId); gr.addQuery('sys_id', "NOT IN", values); gr.query(); gr.deleteMultiple(); } } ````Related Problem: PRB1548356