Search code examples
acumatica

class CopyTask / Error signature is not compatible with original method


I use the acumatica function to override CopyTask.

public delegate PMTask CopyTaskDelegate(PMTask task, Int32 ProjectID, DefaultFromTemplateSettings settings);
[PXOverride]
  
public PMTask CopyTask(PMTask task, Int32 ProjectID, DefaultFromTemplateSettings settings, CopyTaskDelegate baseMethod)
{
  return baseMethod(task,ProjectID,settings);
}

When I add generate, I have this error. PX.Objects.PM.PMTask CopyTask(PX.Objects.PM.PMTask, Int32, PX.Objects.PM.DefaultFromTemplateSettings, CopyTaskDelegate) in graph extension is marked as [PXOverride], but its signature is not compatible with original method


Solution

  • Make sure you are utilizing the proper references when defining the overrides arguments.

    Working example code here:

    using PX.Data;
    using PX.Objects.PM;
    using System;
    using static PX.Objects.PM.ProjectEntry;
    
    namespace StackOverflow
    {
        public class ProjectEntryExtension : PXGraphExtension<ProjectEntry>
        {
            public delegate PMTask CopyTaskDelegate(PMTask task, Int32 ProjectID, DefaultFromTemplateSettings settings);
    
            [PXOverride]
            public PMTask CopyTask(PMTask task, Int32 ProjectID, DefaultFromTemplateSettings settings, CopyTaskDelegate baseMethod)
            {
                return baseMethod(task, ProjectID, settings);
            }
        }
    }