microsoft / ALAppExtensions

Repository for collaboration on Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central.
MIT License
773 stars 610 forks source link

Table 27 "item" add "Expiration Date Filter" in various flowfields #26735

Closed Flavioide closed 5 days ago

Flavioide commented 3 months ago

Describe the request

field(XXXX; "Expiration Date Filter"; Date) { Caption = 'Expiration Date Filter'; FieldClass = FlowFilter; }

  field(68; Inventory; Decimal)
        {
            CalcFormula = sum("Item Ledger Entry".Quantity where("Item No." = field("No."),
                                                                  "Global Dimension 1 Code" = field("Global Dimension 1 Filter"),
                                                                  "Global Dimension 2 Code" = field("Global Dimension 2 Filter"),
                                                                  "Location Code" = field("Location Filter"),
                                                                  "Drop Shipment" = field("Drop Shipment Filter"),
                                                                  "Variant Code" = field("Variant Filter"),
                                                                  "Lot No." = field("Lot No. Filter"),
                                                                  "Serial No." = field("Serial No. Filter"),
                                                                  "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                  "Unit of Measure Code" = field("Unit of Measure Filter"),
                                                                  "Package No." = field("Package No. Filter")));
    field(69; "Net Invoiced Qty."; Decimal)
    {
        CalcFormula = sum("Item Ledger Entry"."Invoiced Quantity" where("Item No." = field("No."),
                                                                         "Global Dimension 1 Code" = field("Global Dimension 1 Filter"),
                                                                         "Global Dimension 2 Code" = field("Global Dimension 2 Filter"),
                                                                         "Location Code" = field("Location Filter"),
                                                                         "Drop Shipment" = field("Drop Shipment Filter"),
                                                                         "Variant Code" = field("Variant Filter"),
                                                                         "Lot No." = field("Lot No. Filter"),
                                                                         "Serial No." = field("Serial No. Filter"),
                                                                         "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                         "Package No." = field("Package No. Filter")));
      field(71; "Purchases (Qty.)"; Decimal)
        {
            CalcFormula = sum("Item Ledger Entry"."Invoiced Quantity" where("Entry Type" = const(Purchase),
                                                                             "Item No." = field("No."),
                                                                             "Global Dimension 1 Code" = field("Global Dimension 1 Filter"),
                                                                             "Global Dimension 2 Code" = field("Global Dimension 2 Filter"),
                                                                             "Location Code" = field("Location Filter"),
                                                                             "Drop Shipment" = field("Drop Shipment Filter"),
                                                                             "Variant Code" = field("Variant Filter"),
                                                                             "Posting Date" = field("Date Filter"),
                                                                             "Lot No." = field("Lot No. Filter"),
                                                                             "Serial No." = field("Serial No. Filter"),
                                                                             "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                             "Package No." = field("Package No. Filter")));
    field(73; "Positive Adjmt. (Qty.)"; Decimal)
    {
        CalcFormula = sum("Item Ledger Entry"."Invoiced Quantity" where("Entry Type" = const("Positive Adjmt."),
                                                                         "Item No." = field("No."),
                                                                         "Global Dimension 1 Code" = field("Global Dimension 1 Filter"),
                                                                         "Global Dimension 2 Code" = field("Global Dimension 2 Filter"),
                                                                         "Location Code" = field("Location Filter"),
                                                                         "Drop Shipment" = field("Drop Shipment Filter"),
                                                                         "Variant Code" = field("Variant Filter"),
                                                                         "Posting Date" = field("Date Filter"),
                                                                         "Lot No." = field("Lot No. Filter"),
                                                                         "Serial No." = field("Serial No. Filter"),
                                                                           "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                         "Package No." = field("Package No. Filter")));

        field(74; "Negative Adjmt. (Qty.)"; Decimal)
        {
            CalcFormula = - sum("Item Ledger Entry"."Invoiced Quantity" where("Entry Type" = const("Negative Adjmt."),
                                                                              "Item No." = field("No."),
                                                                              "Global Dimension 1 Code" = field("Global Dimension 1 Filter"),
                                                                              "Global Dimension 2 Code" = field("Global Dimension 2 Filter"),
                                                                              "Location Code" = field("Location Filter"),
                                                                              "Drop Shipment" = field("Drop Shipment Filter"),
                                                                              "Variant Code" = field("Variant Filter"),
                                                                              "Posting Date" = field("Date Filter"),
                                                                              "Lot No." = field("Lot No. Filter"),
                                                                              "Serial No." = field("Serial No. Filter"),
                                                                  "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                              "Package No." = field("Package No. Filter")));
   field(93; "Transferred (Qty.)"; Decimal)
    {
        CalcFormula = sum("Item Ledger Entry"."Invoiced Quantity" where("Entry Type" = const(Transfer),
                                                                         "Item No." = field("No."),
                                                                         "Global Dimension 1 Code" = field("Global Dimension 1 Filter"),
                                                                         "Global Dimension 2 Code" = field("Global Dimension 2 Filter"),
                                                                         "Location Code" = field("Location Filter"),
                                                                         "Drop Shipment" = field("Drop Shipment Filter"),
                                                                         "Variant Code" = field("Variant Filter"),
                                                                         "Posting Date" = field("Date Filter"),
                                                                         "Lot No." = field("Lot No. Filter"),
                                                                         "Serial No." = field("Serial No. Filter"),
                                                              "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                         "Package No." = field("Package No. Filter")));

       field(101; "Reserved Qty. on Inventory"; Decimal)
        {
            AccessByPermission = TableData "Purch. Rcpt. Header" = R;
            CalcFormula = sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("No."),
                                                                           "Source Type" = const(32),
                                                                           "Source Subtype" = const("0"),
                                                                           "Reservation Status" = const(Reservation),
                                                                           "Serial No." = field("Serial No. Filter"),
                                                                           "Lot No." = field("Lot No. Filter"),
                                                                  "Expiration Date" = FIELD("Expiration Date Filter"),
                                                                           "Location Code" = field("Location Filter"),
                                                                           "Variant Code" = field("Variant Filter"),
                                                                           "Package No." = field("Package No. Filter")));

### Additional context

This new flowfilter is usefull for anyone want to calculate the quantities at a certain expiration date
JesperSchulz commented 1 month ago

Sounds fair, but since the code you are referring to is in the BaseApp, you'd have to suggest and fix this code in the BaseApp contribution pilot: https://github.com/microsoft/businesscentralapps. For access to the pilot, please fill out the following form: https://forms.office.com/r/E9wyE5a58f.

This repository is only for extensibility requests or pull requests towards the 1st party Business Central apps.

Would you like me to move the issue to the contribution pilot for you?

IMPORTANT: Microsoft is not going to address the reported issue for you. You will have to get the issue approved, and then push a pull request with the suggested changes yourself. If you would like Microsoft to address the issue, please create a support request. Learn more about our support channels here: https://aka.ms/bcsupport.

JesperSchulz commented 5 days ago

Closing due to inactivity. It's not a valid issue for the ALAppExtensions repository.