GlideSysAttachment().copy Not copying the attachment - HR Scoped application

Mrman
Tera Guru

Hi Team,

I have created a after insert BR to insert a HR task and then copy a specific attachment from a Case to HR task .

The attachment is not getting copied to HR task. Please suggest 

All the log messages are getting triggered correctly , but the attachment is not found on target record.

(function executeRule(current, previous /*null when async*/ ) {

    gs.info("the BR triggerred for status");

    var grCattch = new GlideRecord('sys_attachment');
    grCattch.addQuery('table_name', 'sn_hr_core_case_workforce_admin');
    grCattch.addQuery('table_sys_id', current.sys_id);
	grCattch.addEncodedQuery('file_nameSTARTSWITHStatus Record Certificate');
    grCattch.query();

    if (grCattch.next()) {
		

        var grCmnl = new GlideRecord('sn_hr_core_task');
        grCmnl.initialize();
        grCmnl.parent = current.sys_id;
        grCmnl.assignment_group = '3506330cdbc92054e803f3551d9619b0';
        grCmnl.state = '10';
        grCmnl.short_description = "Validate Status Record";
        grCmnl.insert();
		

gs.info("the record status is found " + 'attchsysid----' + grCattch.getUniqueValue() + 'attchtable---' + grCattch.getTableName() + 'tasktable----' + grCmnl.getTableName() + 'tasksysid---' + grCmnl.getUniqueValue());

		new GlideSysAttachment().copy(grCattch.getTableName(), grCattch.getUniqueValue(), grCmnl.getTableName(), grCmnl.getUniqueValue());
    }

 

22 REPLIES 22

Is your business rule before or after?

Try with after business rule. Also, check in system logs for any errors when this business rule runs.

 

Regards,

Sachin

@sachin.namjoshi Yes my BR is after Insert . Please suggest .

Hitoshi Ozawa
Giga Sage
Giga Sage

Hi Mrman,

(function executeRule(current, previous /*null when async*/ ) {

        gs.info("the BR triggerred for status");

        var grCattch = new GlideRecord('sys_attachment');
        grCattch.addQuery('table_name', 'sn_hr_core_case_workforce_admin');
        grCattch.addQuery('table_sys_id', current.sys_id);
        grCattch.addEncodedQuery('file_nameSTARTSWITHStatus Record Certificate');
        grCattch.query();

        if (grCattch.next()) {


            var grCmnl = new GlideRecord('sn_hr_core_task');
            grCmnl.initialize();
            grCmnl.parent = current.sys_id;
            grCmnl.assignment_group = '3506330cdbc92054e803f3551d9619b0';
            grCmnl.state = '10';
            grCmnl.short_description = "Validate Status Record";
            var sid = grCmnl.insert();


            gs.info("the record status is found " + 'attchsysid----' + grCattch.getUniqueValue() + 'attchtable---' + grCattch.getTableName() + 'tasktable----' + grCmnl.getTableName() + 'tasksysid---' + grCmnl.getUniqueValue());

            new GlideSysAttachment().copy('sn_hr_core_case_workforce_admin', current.sys_id, 'sn_hr_core_task', sid);
        }
}

Hi ,

I need to copy only a specific attachment but not every attachment from case . 

 

Mrman
Tera Guru

@Ankur Bawiskar Can you please help here.