Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(packed_item): ensure proper names for ref integrity #37597

Merged
merged 2 commits into from
Oct 31, 2023

Conversation

blaggacao
Copy link
Collaborator

closes: #37587

@github-actions github-actions bot added the needs-tests This PR needs automated unit-tests. label Oct 19, 2023
@blaggacao
Copy link
Collaborator Author

blaggacao commented Oct 20, 2023

needs backport to v15; I noticed however, that when not used with mass creation, but from the SO form, namings jump every other name in the series; possibly because despite the name_set flag, names are doubly assigned somewhere.

@codecov
Copy link

codecov bot commented Oct 26, 2023

Codecov Report

Merging #37597 (b3fa516) into develop (3290df5) will decrease coverage by 0.01%.
Report is 5 commits behind head on develop.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop   #37597      +/-   ##
===========================================
- Coverage    67.32%   67.31%   -0.01%     
===========================================
  Files          757      757              
  Lines        60147    60148       +1     
===========================================
- Hits         40495    40491       -4     
- Misses       19652    19657       +5     
Files Coverage Δ
erpnext/selling/doctype/sales_order/sales_order.py 79.12% <100.00%> (+0.03%) ⬆️
...pnext/stock/doctype/delivery_trip/delivery_trip.py 62.08% <100.00%> (ø)
erpnext/stock/get_item_details.py 83.06% <100.00%> (ø)

... and 1 file with indirect coverage changes

@rohitwaghchaure rohitwaghchaure merged commit fb0ec74 into frappe:develop Oct 31, 2023
13 checks passed
mergify bot pushed a commit that referenced this pull request Oct 31, 2023
rohitwaghchaure pushed a commit that referenced this pull request Oct 31, 2023
) (#37794)

fix(packed_item): ensure proper names for ref integrity (#37597)

(cherry picked from commit fb0ec74)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
@blaggacao blaggacao deleted the fix/packed-item-state branch November 1, 2023 09:50
@s-aga-r
Copy link
Contributor

s-aga-r commented Nov 14, 2023

@blaggacao This is causing an issue #38072.

Moving target.set_new_name() under update_item() should fix both the issues, can you check once?

@blaggacao

This comment was marked as outdated.

@blaggacao
Copy link
Collaborator Author

blaggacao commented Nov 14, 2023

@s-aga-r Unfortunately, this appears to bring back the original issue.

diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index c5ad524ef7..de6a0e61c9 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -837,11 +837,11 @@ def make_delivery_note(source_name, target_doc=None, skip_item_mapping=False):
 		if target.company_address:
 			target.update(get_fetch_values("Delivery Note", "company_address", target.company_address))
 
-		# set target items names to ensure proper linking with packed_items
-		target.set_new_name()
 		make_packing_list(target)
 
 	def update_item(source, target, source_parent):
+		# set target items names to ensure proper linking with packed_items
+		target.set_new_name()
 		target.base_amount = (flt(source.qty) - flt(source.delivered_qty)) * flt(source.base_rate)
 		target.amount = (flt(source.qty) - flt(source.delivered_qty)) * flt(source.rate)
 		target.qty = flt(source.qty) - flt(source.delivered_qty)

I tried to eliminate this problem class via frappe/frappe#23201

All other invocations of make_delivery_note that depend on a self.is_new() fail. make_packing_list in those workflows is invoked by the validation routine at the proper time (which is skipped during bulk creations with a flag).

frappe-pr-bot pushed a commit that referenced this pull request Nov 16, 2023
# [15.1.0](v15.0.0...v15.1.0) (2023-11-16)

### Bug Fixes

* `PermissionError` while creating DN from SO (backport [#37758](#37758)) ([#37768](#37768)) ([e742310](e742310))
* `TypeError` in PR for non-stock item (backport [#37819](#37819)) ([#37842](#37842)) ([847dd9e](847dd9e))
* add translation wrapper (backport [#37911](#37911)) ([#37947](#37947)) ([915ca47](915ca47))
* asset depreciation ledger (backport [#37991](#37991)) ([#37993](#37993)) ([b3562bd](b3562bd))
* avoid name clash in delivery stop (backport [#37306](#37306)) ([#37702](#37702)) ([bfd240a](bfd240a))
* close `Credit Limit Crossed` dialog (backport [#38052](#38052)) ([#38059](#38059)) ([cff56d4](cff56d4))
* COA Importer app related issues ([#37238](#37238)) ([d5bf7a0](d5bf7a0))
* consider reserved stock while cancelling a stock transaction (backport [#37754](#37754)) ([#37906](#37906)) ([e0b0b6b](e0b0b6b))
* credit note receive payment entry ([9781f9b](9781f9b))
* **customer:** contact creation for companies ([#38055](#38055)) ([fc09d75](fc09d75))
* **customer:** quick form and integration fixes ([#37386](#37386)) ([02e2258](02e2258))
* **defaults:** apply discount and provisonal defaults from item group and brand if available (backport [#37466](#37466)) ([#37704](#37704)) ([f382b1c](f382b1c))
* deprecate unused create_contact ([6f2b34e](6f2b34e))
* don't reset rate if greater than zero in standalone debit note (backport [#37935](#37935)) ([#37941](#37941)) ([e156564](e156564))
* force delete removed report (backport [#37668](#37668)) ([#37670](#37670)) ([a871d95](a871d95))
* handle gle for standalone credit and debit notes ([6e463b1](6e463b1))
* Identical items are added line by line instead of grouped together in POS ([#37986](#37986)) ([011cf3d](011cf3d))
* ignore Stock Reservation for future dated PR (backport [#37979](#37979)) ([#37990](#37990)) ([d74f0ef](d74f0ef))
* In-Transit Warehouse company filter (backport [#37796](#37796)) ([#37798](#37798)) ([254ec2c](254ec2c))
* incorrect material request quantity in production plan (backport [#37785](#37785)) ([#37790](#37790)) ([8b3c4a9](8b3c4a9))
* indentation issue in the Production Plan Summary report (backport [#38019](#38019)) ([#38069](#38069)) ([6d325a4](6d325a4))
* indexing on Delivery Note Item (backport [#37766](#37766)) ([#37778](#37778)) ([98a7c17](98a7c17))
* link between parent and child procedure (backport [#37903](#37903)) ([#37944](#37944)) ([a065f22](a065f22))
* list index out of range (backport [#37890](#37890)) ([#37920](#37920)) ([e71ef10](e71ef10))
* make `Material Request Item` required if `Material Request` is set in PO (backport [#37928](#37928)) ([#37937](#37937)) ([7ad0817](7ad0817))
* make adjustment entry using stock reconciliation (backport [#37995](#37995)) ([#38009](#38009)) ([b23fa1f](b23fa1f))
* make changes that enable gantt view for job cards (backport [#37661](#37661)) ([#37757](#37757)) ([f132552](f132552))
* make item field read-only in batch (backport [#38010](#38010)) ([#38034](#38034)) ([99b7cdb](99b7cdb))
* make project page translatable (backport [#37743](#37743)) ([#37801](#37801)) ([59e67cd](59e67cd))
* Mark Status field in Payment Entry 'no_copy'. ([#38000](#38000)) ([3c0f8b1](3c0f8b1))
* minor change added to test_case ([b1714ec](b1714ec))
* minor issue ([24be044](24be044))
* **minor:** set tax values for item variants (backport [#37674](#37674)) ([#37739](#37739)) ([5c46d74](5c46d74))
* new logic for handling revaluation journals ([fb71a6e](fb71a6e))
* Not able to save subcontracting receipt ([#38085](#38085)) ([a874997](a874997))
* **packed_item:** ensure proper names for ref integrity (backport [#37597](#37597)) ([#37794](#37794)) ([9aa29f5](9aa29f5))
* permission error while creating Supplier Quotation from Portal (backport [#37864](#37864)) ([#37871](#37871)) ([be8399f](be8399f))
* **plaid:** Do not sync pending transactions ([2149de4](2149de4))
* POS change amount gl entry with no amount ([#37799](#37799)) ([fd7a768](fd7a768))
* Quality Inspection Parameter migration - DuplicateEntryError due to case sensitivity (backport [#37499](#37499)) ([#37917](#37917)) ([7d0f1f4](7d0f1f4))
* remove from or target warehouse for non internal transfer entries (backport [#37612](#37612)) ([#37627](#37627)) ([3155790](3155790))
* remove validation for negative outstanding invoices ([8602a3e](8602a3e))
* remove voucher type and no for Item and Warehouse based reposting ([b96be67](b96be67))
* sales order not assigned to territory orders (backport [#37905](#37905)) ([#38025](#38025)) ([40cc3a7](40cc3a7))
* skip check for removed validation ([22e58e0](22e58e0))
* sort by section code ([06bb1a3](06bb1a3))
* standard submit perm in repost ledger for editable invoices (backport [#37826](#37826)) ([#37855](#37855)) ([71361f7](71361f7))
* status for over delivery or billing ([95d6742](95d6742))
* test for invoice returns ([a89af58](a89af58))
* type error on new payment entry ([5937135](5937135))
* typo in AR report ([fc3d303](fc3d303))
* typo in function name and msg (backport [#37722](#37722)) ([#37741](#37741)) ([4819fde](4819fde))
* unsupported operand type(s) for serial and batch bundle in POS Invoice (backport [#37721](#37721)) ([#37731](#37731)) ([b03c65f](b03c65f))
* use get_all instead of get_list ([2a5b3bd](2a5b3bd))
* validate so item with qtn ([71538cf](71538cf))
* valuation rate for the subcontracting receipt supplied items with Serial and Batch Bundle (backport [#38094](#38094)) (backport [#38097](#38097)) ([#38101](#38101)) ([880cea5](880cea5))

### Features

* **accounts_receivable:** test_case added for multi-select customer group ([848efe8](848efe8))
* add cols for supplier inv details ([e51e5b3](e51e5b3))
* allow return of components for SCO that don't have SCR created (backport [#37686](#37686)) ([#37693](#37693)) ([4044325](4044325))
* auto reserve stock for Sales Order on purchase (backport [#37603](#37603)) ([#37648](#37648)) ([da5bf50](da5bf50))
* **delivery:** link to delivery notes list view from delivery trip (backport [#37604](#37604)) ([#37696](#37696)) ([08ea62f](08ea62f))
* multi-select customer group in AR Report ([fff294f](fff294f))
* proprietorship & partnership options in entity type ([6df125a](6df125a))
* reserved production plan sub assembly items (backport [#37884](#37884)) ([#37927](#37927)) ([df90fd7](df90fd7))
* settings page for repost ([c047fd7](c047fd7))
* **Stock Balance:** add filters from route (backport [#37836](#37836)) ([#37840](#37840)) ([fad8228](fad8228))

### Performance Improvements

* Add index to supplier invoice field (backport [#37861](#37861)) ([#37863](#37863)) ([b1982a6](b1982a6))
* index return against for purchase invoice (backport [#37881](#37881)) ([#37883](#37883)) ([febd20a](febd20a))
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport version-15-hotfix needs-tests This PR needs automated unit-tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bad Packed Item state when DN bulk-created from SO
3 participants