From 8c4bddd84e6460526f122e09f1db8268bb9f18c2 Mon Sep 17 00:00:00 2001
From: Mehran Qadri <mehran.qadri@acumatica.com>
Date: Wed, 15 Apr 2026 08:26:52 -0400
Subject: [PATCH] EDU-9429: Fixed the errors raised by Acuminator in
 RSSVPaymentPlanInq and RSSVWorkOrder. Updated relevant code snippets and
 corresponding  VS project files.

---
 .../Activity1.1.1/Step3/RSSVPaymentPlanInq.cs |   1 -
 .../Activity1.1.1/Step4/RSSVPaymentPlanInq.cs |   1 -
 .../Activity1.2.1/Step1/RSSVPaymentPlanInq.cs |   2 +-
 .../Activity1.2.1/Step2/RSSVPaymentPlanInq.cs |  18 ++++++++++--------
 .../Activity1.3.1/Step1/RSSVWorkOrder.cs      |   2 +-
 .../Activity1.3.1/Step2/RSSVPaymentPlanInq.cs |   2 +-
 .../Activity1.4.1/Step1/RSSVPaymentPlanInq.cs |   2 +-
 .../Activity1.4.1/Step3/RSSVPaymentPlanInq.cs |   6 +++---
 .../Activity1.5.1/Step1/RSSVWorkOrder.cs      |   2 +-
 .../Activity1.5.2/Step1/RSSVPaymentPlanInq.cs |   2 +-
 .../Bin/PhoneRepairShop_code.dll              | Bin 144896 -> 145408 bytes
 .../PhoneRepairShop_Code/DAC/RSSVWorkOrder.cs |   2 +-
 .../RSSVPaymentPlanInq.cs                     |   2 +-
 13 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/Customization/T250/CodeSnippets/Activity1.1.1/Step3/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.1.1/Step3/RSSVPaymentPlanInq.cs
index 22a9cb03..bdd8896c 100644
--- a/Customization/T250/CodeSnippets/Activity1.1.1/Step3/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.1.1/Step3/RSSVPaymentPlanInq.cs
@@ -31,7 +31,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
             if (e.Row == null) return;
             if (e.Row.OrderTotal == 0) return;
             RSSVWorkOrderToPay order = e.Row;
-            // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
             var invoices = 
                 SelectFrom<ARInvoice>.
                 Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
diff --git a/Customization/T250/CodeSnippets/Activity1.1.1/Step4/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.1.1/Step4/RSSVPaymentPlanInq.cs
index cbb6421e..62bffa76 100644
--- a/Customization/T250/CodeSnippets/Activity1.1.1/Step4/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.1.1/Step4/RSSVPaymentPlanInq.cs
@@ -26,7 +26,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-				// Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
diff --git a/Customization/T250/CodeSnippets/Activity1.2.1/Step1/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.2.1/Step1/RSSVPaymentPlanInq.cs
index a5ec5666..4d2abe2d 100644
--- a/Customization/T250/CodeSnippets/Activity1.2.1/Step1/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.2.1/Step1/RSSVPaymentPlanInq.cs
@@ -23,7 +23,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-                // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -39,6 +38,7 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
 
     ////////// The added code
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {   
         #region CustomerID
diff --git a/Customization/T250/CodeSnippets/Activity1.2.1/Step2/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.2.1/Step2/RSSVPaymentPlanInq.cs
index 44cc1646..0ffdab85 100644
--- a/Customization/T250/CodeSnippets/Activity1.2.1/Step2/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.2.1/Step2/RSSVPaymentPlanInq.cs
@@ -39,7 +39,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-                // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -54,8 +53,18 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
     }
 
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {
+
+        #region CustomerID
+        [CustomerActive(DisplayName = "Customer ID")]
+        public virtual int? CustomerID { get; set; }
+        public abstract class customerID :
+            PX.Data.BQL.BqlInt.Field<customerID>
+        { }
+        #endregion
+
         #region ServiceID
         [PXInt()]
         [PXUIField(DisplayName = "Service")]
@@ -71,12 +80,5 @@ public abstract class serviceID :
         { }
         #endregion
 
-        #region CustomerID
-        [CustomerActive(DisplayName = "Customer ID")]
-        public virtual int? CustomerID { get; set; }
-        public abstract class customerID :
-            PX.Data.BQL.BqlInt.Field<customerID>
-        { }
-        #endregion
     }
 }
\ No newline at end of file
diff --git a/Customization/T250/CodeSnippets/Activity1.3.1/Step1/RSSVWorkOrder.cs b/Customization/T250/CodeSnippets/Activity1.3.1/Step1/RSSVWorkOrder.cs
index 9b358c89..7f9a44e5 100644
--- a/Customization/T250/CodeSnippets/Activity1.3.1/Step1/RSSVWorkOrder.cs
+++ b/Customization/T250/CodeSnippets/Activity1.3.1/Step1/RSSVWorkOrder.cs
@@ -299,7 +299,7 @@ public abstract class percentPaid :
           })]
         public virtual string? OrderType { get; set; }
         public abstract class orderType :
-            PX.Data.BQL.BqlDecimal.Field<orderType>
+            PX.Data.BQL.BqlString.Field<orderType>
         { }
         #endregion
         ////////// The end of added code
diff --git a/Customization/T250/CodeSnippets/Activity1.3.1/Step2/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.3.1/Step2/RSSVPaymentPlanInq.cs
index 1e5ddac9..c0909dbe 100644
--- a/Customization/T250/CodeSnippets/Activity1.3.1/Step2/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.3.1/Step2/RSSVPaymentPlanInq.cs
@@ -95,7 +95,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-				// Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -120,6 +119,7 @@ public static RSSVWorkOrderToPay ToRSSVWorkOrderToPay
     }
 
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {
         #region ServiceID
diff --git a/Customization/T250/CodeSnippets/Activity1.4.1/Step1/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.4.1/Step1/RSSVPaymentPlanInq.cs
index 7ae249fb..20e52a8a 100644
--- a/Customization/T250/CodeSnippets/Activity1.4.1/Step1/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.4.1/Step1/RSSVPaymentPlanInq.cs
@@ -78,7 +78,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-                // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -101,6 +100,7 @@ public static RSSVWorkOrderToPay ToRSSVWorkOrderToPay
     }
 
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {
         #region ServiceID
diff --git a/Customization/T250/CodeSnippets/Activity1.4.1/Step3/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.4.1/Step3/RSSVPaymentPlanInq.cs
index 0af2e139..c9b524f2 100644
--- a/Customization/T250/CodeSnippets/Activity1.4.1/Step3/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.4.1/Step3/RSSVPaymentPlanInq.cs
@@ -42,8 +42,8 @@ protected virtual IEnumerable detailsView()
                 SelectFrom<RSSVWorkOrderToPay>.
                 InnerJoin<ARInvoice>.On<
                     ARInvoice.refNbr.IsEqual<RSSVWorkOrderToPay.invoiceNbr>>.
-                Where<
-                    RSSVWorkOrderToPay.status.IsNotEqual<RSSVWorkOrderEntry_Workflow.States.paid>.
+                Where<RSSVWorkOrderToPay.status.
+                        IsNotEqual<RSSVWorkOrderEntry_Workflow.States.paid>.
                     And<RSSVWorkOrderToPayFilter.customerID.FromCurrent.IsNull.
                         Or<RSSVWorkOrderToPay.customerID.IsEqual<
                             RSSVWorkOrderToPayFilter.customerID.FromCurrent>>>.
@@ -111,7 +111,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-                // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -134,6 +133,7 @@ public static RSSVWorkOrderToPay ToRSSVWorkOrderToPay
     }
 
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {
         #region ServiceID
diff --git a/Customization/T250/CodeSnippets/Activity1.5.1/Step1/RSSVWorkOrder.cs b/Customization/T250/CodeSnippets/Activity1.5.1/Step1/RSSVWorkOrder.cs
index fb33aac4..d95cac77 100644
--- a/Customization/T250/CodeSnippets/Activity1.5.1/Step1/RSSVWorkOrder.cs
+++ b/Customization/T250/CodeSnippets/Activity1.5.1/Step1/RSSVWorkOrder.cs
@@ -306,7 +306,7 @@ public abstract class percentPaid :
           })]
         public virtual string? OrderType { get; set; }
         public abstract class orderType :
-            PX.Data.BQL.BqlDecimal.Field<orderType>
+           PX.Data.BQL.BqlString.Field<orderType>
         { }
         #endregion
 
diff --git a/Customization/T250/CodeSnippets/Activity1.5.2/Step1/RSSVPaymentPlanInq.cs b/Customization/T250/CodeSnippets/Activity1.5.2/Step1/RSSVPaymentPlanInq.cs
index 54b78bfe..e4a38dee 100644
--- a/Customization/T250/CodeSnippets/Activity1.5.2/Step1/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/CodeSnippets/Activity1.5.2/Step1/RSSVPaymentPlanInq.cs
@@ -153,7 +153,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
                 if (e.Row == null) return;
                 if (e.Row.OrderTotal == 0) return;
                 RSSVWorkOrderToPay order = e.Row;
-                // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
                 var invoices = 
                     SelectFrom<ARInvoice>.
                     Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -176,6 +175,7 @@ public static RSSVWorkOrderToPay ToRSSVWorkOrderToPay
     }
 
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {
         #region ServiceID
diff --git a/Customization/T250/PhoneRepairShop/Bin/PhoneRepairShop_code.dll b/Customization/T250/PhoneRepairShop/Bin/PhoneRepairShop_code.dll
index df6819b5d9f114d60025813c63f89bf9f4f55635..4599fce9d75871b3ecbd6cdc63b171e721b168cb 100644
GIT binary patch
diff --git a/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/DAC/RSSVWorkOrder.cs b/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/DAC/RSSVWorkOrder.cs
index 2e98e293..5c6646cb 100644
--- a/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/DAC/RSSVWorkOrder.cs
+++ b/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/DAC/RSSVWorkOrder.cs
@@ -300,7 +300,7 @@ public abstract class percentPaid :
           })]
         public virtual string? OrderType { get; set; }
         public abstract class orderType :
-            PX.Data.BQL.BqlDecimal.Field<orderType>
+            PX.Data.BQL.BqlString.Field<orderType>
         { }
         #endregion
 
diff --git a/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/RSSVPaymentPlanInq.cs b/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/RSSVPaymentPlanInq.cs
index 0933b511..368e6bb8 100644
--- a/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/RSSVPaymentPlanInq.cs
+++ b/Customization/T250/PhoneRepairShop_Code/PhoneRepairShop_Code/RSSVPaymentPlanInq.cs
@@ -148,7 +148,6 @@ protected virtual void _(Events.RowSelecting<RSSVWorkOrderToPay> e)
             if (e.Row == null) return;
             if (e.Row.OrderTotal == 0) return;
             RSSVWorkOrderToPay order = e.Row;
-            // Acuminator disable once PX1042 DatabaseQueriesInRowSelecting [Justification]
             var invoices =
                 SelectFrom<ARInvoice>.
                 Where<ARInvoice.refNbr.IsEqual<@P.AsString>>.
@@ -171,6 +170,7 @@ public static RSSVWorkOrderToPay ToRSSVWorkOrderToPay
     }
 
     [PXHidden]
+    [PXVirtual]
     public class RSSVWorkOrderToPayFilter : PXBqlTable, IBqlTable
     {
         #region CustomerID
