#region UsrSelectionStatus
    [PXDBString(64, IsUnicode = true)]
    [PXUIField(DisplayName = "Vorgang", Enabled = false)]
    [PXDefault(UsrSelectionStatus.INI, PersistingCheck = PXPersistingCheck.Nothing)]
    [PXStringList(
      new string[] {
        usrSelectionStatus.INI, usrSelectionStatus.PPAYREQ, usrSelectionStatus.PPAYSEND, usrSelectionStatus.PPAYREC,
        usrSelectionStatus.PRODRDY, usrSelectionStatus.INPROD, usrSelectionStatus.SHIPRDY, usrSelectionStatus.SHIPPED,
        usrSelectionStatus.INVRDY, usrSelectionStatus.INVSEND, usrSelectionStatus.CLOSED
      },
      new string[] {
        "Quote Angenommen", "Vorkasse erstellen", "Vorkassenrechnung versendet", "Vorkasse erhalten",
        "Bereit für Produktion", "In Produktion", "Versandbereitschaft hergestellt",
        "Versendet / auf Abrechnung Abfüller warten", "Abrechnung Abfüller erhalten / Rechnung",
        "Schlussrechnung versendet", "Zahlung erhalten / Auftrag beendet"
      }
    )]
    public virtual string UsrSelectionStatus { get; set; }

    // Defines the BQL field class
    public abstract class usrSelectionStatus : PX.Data.BQL.BqlString.Field<usrSelectionStatus> 
    { 
        // ✅ Constants are now directly inside the field class
        public const string STEP1 = "STEP1";
        public const string STEP2 = "STEP2";
        public const string STEP3 = "STEP3";
        public const string STEP4 = "STEP4";
        public const string STEP5 = "STEP5";
        public const string STEP6 = "STEP6";
        public const string STEP7 = "STEP7";
        public const string STEP8 = "STEP8";
        public const string STEP9 = "STEP9";
        public const string STEP10 = "STEP10";
        public const string STEP11 = "STEP11";

        // ✅ BQL Constants for Queries
        public class step1 : PX.Data.BQL.BqlString.Constant<step1> { public step1() : base(STEP1) { } }
        public class step2 : PX.Data.BQL.BqlString.Constant<step2> { public step2() : base(STEP2) { } }
        public class step3 : PX.Data.BQL.BqlString.Constant<step3> { public step3() : base(STEP3) { } }
        public class step4 : PX.Data.BQL.BqlString.Constant<step4> { public step4() : base(STEP4) { } }
        public class step5 : PX.Data.BQL.BqlString.Constant<step5> { public step5() : base(STEP5) { } }
        public class step6 : PX.Data.BQL.BqlString.Constant<step6> { public step6() : base(STEP6) { } }
        public class step7 : PX.Data.BQL.BqlString.Constant<step7> { public step7() : base(STEP7) { } }
        public class step8 : PX.Data.BQL.BqlString.Constant<step8> { public step8() : base(STEP8) { } }
        public class step9 : PX.Data.BQL.BqlString.Constant<step9> { public step9() : base(STEP9) { } }
        public class step10 : PX.Data.BQL.BqlString.Constant<step10> { public step10() : base(STEP10) { } }
        public class step11 : PX.Data.BQL.BqlString.Constant<step11> { public step11() : base(STEP11) { } }
    }
#endregion