Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Support for Alternative Items in Quotation (#33874)
* feat: Filter out alternative item rows in taxes and totals for Quotation - Added a Quotation Item field `is_alternative_item` - Use filtered rows for taxes and totals computation (cherry picked from commit 91982d1) # Conflicts: # erpnext/selling/doctype/quotation_item/quotation_item.json * feat: Consider filtered items table in JS for totals computation - Set `_items` as filtered rows if quotation else the entire table. Set at entry point of JS API - Use `_items` instead of `items` to compute taxes and charges. Exclude alternative item rows (cherry picked from commit f19eada) * feat: Dialog to select alternative item before creating Sales order - Users can leave the row blank in the dialog if original item is to be used - Else users can select an alternative item against an original item - In the document, users must check `Is Alternative Item` if needed and also specify which item it is an altenrative to since there are no documented mappings (cherry picked from commit cef7dfd) # Conflicts: # erpnext/selling/doctype/quotation/quotation.js # erpnext/selling/doctype/quotation_item/quotation_item.json * feat: Filter rows to be mapped on server side mapping function - Pass dialog selections to `make_sales_order` - Map either original item or its alternative depending on mapping - Only qty check for simple rows (without alternatives and not an alternative itself) (cherry picked from commit 94cacb6) * chore: Validate 'alternative_to' field values, must be a valid non-alterntaive item from table (cherry picked from commit fa9b327) * fix: Iterate over list instead of map's output and formatting (cherry picked from commit ece6358) * fix: Consider only ordered alternative/original item for Quotation status - The original and its alternatives make a set of items where one is chosen - While setting order status of Quotation, check if the chosen item from the set is fully ordered or not - Filter out unselected items from the set - Create a map containing the set of items and if they were ordered or not for ease of grouping - The simple items will work as it used to (cherry picked from commit b3fe7c6) * chore: Code simplification - Map is not required, avoid filter multiple times, use single loop instead - Better variable name - Reduce LOC (cherry picked from commit 03321f5) * refactor: Order based alternative items mapping - Alternatives must be followed by a non-alternative item row - On submit, store non-alternative rows in hidden checkbox to avoid recomputation - Check for valid/mappable rows by row name - UI: Select from table rows.Add single row for original/alternative item in dialog - UI: Indicator for alternative items in dialog grid - UI: Indicator legend and description of table - DB: Added check field 'Has Alternative Item' not to be confused with 'Has Alternative' in Mfg (cherry picked from commit db2076d) # Conflicts: # erpnext/selling/doctype/quotation_item/quotation_item.json * test: Alternative items in Quotation - Taxes and totals, mapping, back updation (cherry picked from commit 74fab53) * fix: Use block variable Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com> (cherry picked from commit 3c96791) * fix: Handle `Get Items From` in Sales Order - Map all non alternatives from Quotation to SO if no selected items - Show disclaimer mentioning that Qtns with alternatives must be mapped to SO from the Qtn form (cherry picked from commit 1945612) * fix: Map only non alternative items from Quotation in Sales Invoice - Since there's no item selection, only Quotation selection :/ (cherry picked from commit 6b789e2) * fix: Merge conflicts --------- Co-authored-by: marination <maricadsouza221197@gmail.com>
- Loading branch information
1 parent
68f9863
commit 9f7da21
Showing
7 changed files
with
405 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.