Hi @npace29 I worked on a similar kind of issue for the different screen i.e Projects.
This is an Acumatica issue, where it is not showing the newly added status in the GI’s.
Here is the workaround to resolve the issue.
- Extend the Vendor DAC and add the Status field
- Instead of using the default status list, you need to create a new list by adding the new status like below.
Please find the similar code below and verify.
public class PMProjectExt : PXCacheExtension<PMProject>
{
#region Status
[PXDBString(1, IsFixed = true)]
[ProjectStatusExt.List()]
[PXDefault(ProjectStatusExt.Planned)]
[PXUIField(DisplayName = "Status", Required = true, Visibility = PXUIVisibility.SelectorVisible)]
public string Status { get; set; }
#endregion
}
public static class ProjectStatusExt
{
public class ListAttribute : PXStringListAttribute
{
public ListAttribute() : base(
new[]
{
Pair(Planned, PX.Objects.PM.Messages.InPlanning),
Pair(Active, PX.Objects.PM.Messages.Active),
Pair(Completed, PX.Objects.PM.Messages.Completed),
Pair(Cancelled, PX.Objects.PM.Messages.Canceled),
Pair(OnHold, PX.Objects.PM.Messages.Suspend),
Pair(PendingApproval, PX.Objects.PM.Messages.PendingApproval),
Pair(Contract.status.InUpgrade, PX.Objects.CT.Messages.InUpgrade),
Pair(Closed, "Closed"),
})
{ }
}
public class TemplStatusListAttribute : PXStringListAttribute
{
public TemplStatusListAttribute() : base(
new[]
{
Pair(Active, PX.Objects.PM.Messages.Active),
Pair(OnHold, PX.Objects.PM.Messages.OnHold),
})
{ }
}
public const string Planned = Contract.status.Draft;
public const string Active = Contract.status.Active;
public const string Completed = Contract.status.Completed;
public const string OnHold = Contract.status.Expired;
public const string Cancelled = Contract.status.Canceled;
public const string PendingApproval = Contract.status.InApproval;
public const string Closed = "X";
public class planned : PX.Data.BQL.BqlString.Constant<planned>
{
public planned() : base(Planned) {; }
}
public class active : PX.Data.BQL.BqlString.Constant<active>
{
public active() : base(Active) {; }
}
public class completed : PX.Data.BQL.BqlString.Constant<completed>
{
public completed() : base(Completed) {; }
}
public class cancelled : PX.Data.BQL.BqlString.Constant<cancelled>
{
public cancelled() : base(Cancelled) {; }
}
public class onHold : PX.Data.BQL.BqlString.Constant<onHold>
{
public onHold() : base(OnHold) {; }
}
public class pendingApproval : PX.Data.BQL.BqlString.Constant<pendingApproval>
{
public pendingApproval() : base(PendingApproval) {; }
}
}
}
In the above, I have added Closed status with X symbol, the same way you need to add your status i.e. Pending Approval i.e. Z, and verify