Hello,
I would like to override the ‘Create Service Order’ action from Projects, as shown below.

I’ve found the source code for the action in a class called DialogBoxSOApptCreation but I don’t know how to extend the class or override the action. The class and action definition are below.
public abstract class DialogBoxSOApptCreation<TExtension, TGraph, TMain> : PXGraphExtension<TExtension, TGraph>
where TExtension : PXGraphExtension<TGraph>, new()
where TGraph : PXGraph, new()
where TMain : class, IBqlTable, new()
{
public CRValidationFilter<DBoxDocSettings> DocumentSettings;
#region Actions
#region CreateSrvOrdDocument
public PXAction<TMain> CreateSrvOrdDocument;
[PXButton]
[PXUIField(DisplayName = "Create Service Order", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
public virtual IEnumerable createSrvOrdDocument(PXAdapter adapter)
{
bool requiredFieldsFilled = DocumentSettings.AskExtFullyValid((graph, view) => { SetDBoxDefaults(ID.PostDoc_EntityType.SERVICE_ORDER); }, DialogAnswerType.Positive, false);
ShowDialogBoxAndProcess(requiredFieldsFilled);
return adapter.Get();
}
#endregion
The class is abstract and, I think, uses generics. I don’t know how to handle these. Can anyone assist please?
Thanks