mirror of
https://github.com/frappe/erpnext.git
synced 2026-02-19 17:45:04 +00:00
Merge branch 'version-14-hotfix' into mergify/bp/version-14-hotfix/pr-32986
This commit is contained in:
@@ -2071,6 +2071,8 @@ def make_inter_company_transaction(doctype, source_name, target_doc=None):
|
||||
if source.doctype == "Purchase Order Item" and target.doctype == "Sales Order Item":
|
||||
target.purchase_order = source.parent
|
||||
target.purchase_order_item = source.name
|
||||
target.material_request = source.material_request
|
||||
target.material_request_item = source.material_request_item
|
||||
|
||||
if (
|
||||
source.get("purchase_order")
|
||||
|
||||
@@ -230,9 +230,17 @@ class TestAsset(AssetSetup):
|
||||
self.assertTrue(asset.journal_entry_for_scrap)
|
||||
|
||||
expected_gle = (
|
||||
("_Test Accumulated Depreciations - _TC", 18000.0 + pro_rata_amount, 0.0),
|
||||
(
|
||||
"_Test Accumulated Depreciations - _TC",
|
||||
flt(18000.0 + pro_rata_amount, asset.precision("gross_purchase_amount")),
|
||||
0.0,
|
||||
),
|
||||
("_Test Fixed Asset - _TC", 0.0, 100000.0),
|
||||
("_Test Gain/Loss on Asset Disposal - _TC", 82000.0 - pro_rata_amount, 0.0),
|
||||
(
|
||||
"_Test Gain/Loss on Asset Disposal - _TC",
|
||||
flt(82000.0 - pro_rata_amount, asset.precision("gross_purchase_amount")),
|
||||
0.0,
|
||||
),
|
||||
)
|
||||
|
||||
gle = frappe.db.sql(
|
||||
@@ -288,9 +296,17 @@ class TestAsset(AssetSetup):
|
||||
pro_rata_amount = flt(pro_rata_amount, asset.precision("gross_purchase_amount"))
|
||||
|
||||
expected_gle = (
|
||||
("_Test Accumulated Depreciations - _TC", 18000.0 + pro_rata_amount, 0.0),
|
||||
(
|
||||
"_Test Accumulated Depreciations - _TC",
|
||||
flt(18000.0 + pro_rata_amount, asset.precision("gross_purchase_amount")),
|
||||
0.0,
|
||||
),
|
||||
("_Test Fixed Asset - _TC", 0.0, 100000.0),
|
||||
("_Test Gain/Loss on Asset Disposal - _TC", 57000.0 - pro_rata_amount, 0.0),
|
||||
(
|
||||
"_Test Gain/Loss on Asset Disposal - _TC",
|
||||
flt(57000.0 - pro_rata_amount, asset.precision("gross_purchase_amount")),
|
||||
0.0,
|
||||
),
|
||||
("Debtors - _TC", 25000.0, 0.0),
|
||||
)
|
||||
|
||||
|
||||
@@ -833,6 +833,10 @@ class TestPurchaseOrder(FrappeTestCase):
|
||||
prepare_data_for_internal_transfer()
|
||||
supplier = "_Test Internal Supplier 2"
|
||||
|
||||
mr = make_material_request(
|
||||
qty=2, company="_Test Company with perpetual inventory", warehouse="Stores - TCP1"
|
||||
)
|
||||
|
||||
po = create_purchase_order(
|
||||
company="_Test Company with perpetual inventory",
|
||||
supplier=supplier,
|
||||
@@ -840,6 +844,8 @@ class TestPurchaseOrder(FrappeTestCase):
|
||||
from_warehouse="_Test Internal Warehouse New 1 - TCP1",
|
||||
qty=2,
|
||||
rate=1,
|
||||
material_request=mr.name,
|
||||
material_request_item=mr.items[0].name,
|
||||
)
|
||||
|
||||
so = make_inter_company_sales_order(po.name)
|
||||
@@ -875,9 +881,11 @@ class TestPurchaseOrder(FrappeTestCase):
|
||||
self.assertTrue(pi.items[0].purchase_order)
|
||||
self.assertTrue(pi.items[0].po_detail)
|
||||
pi.submit()
|
||||
mr.reload()
|
||||
|
||||
po.load_from_db()
|
||||
self.assertEqual(po.status, "Completed")
|
||||
self.assertEqual(mr.status, "Received")
|
||||
|
||||
|
||||
def prepare_data_for_internal_transfer():
|
||||
@@ -979,6 +987,8 @@ def create_purchase_order(**args):
|
||||
"schedule_date": add_days(nowdate(), 1),
|
||||
"include_exploded_items": args.get("include_exploded_items", 1),
|
||||
"against_blanket_order": args.against_blanket_order,
|
||||
"material_request": args.material_request,
|
||||
"material_request_item": args.material_request_item,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -159,6 +159,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
.item-img {
|
||||
@extend .image;
|
||||
border-radius: 8px 8px 0 0;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
> .item-detail {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@@ -95,8 +95,10 @@
|
||||
"item_tax_rate",
|
||||
"transaction_date",
|
||||
"inter_transfer_reference_section",
|
||||
"material_request",
|
||||
"purchase_order",
|
||||
"column_break_89",
|
||||
"material_request_item",
|
||||
"purchase_order_item"
|
||||
],
|
||||
"fields": [
|
||||
@@ -847,12 +849,23 @@
|
||||
"label": "quotation_item",
|
||||
"no_copy": 1,
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "material_request",
|
||||
"fieldtype": "Link",
|
||||
"label": "Material Request",
|
||||
"options": "Material Request"
|
||||
},
|
||||
{
|
||||
"fieldname": "material_request_item",
|
||||
"fieldtype": "Data",
|
||||
"label": "Material Request Item"
|
||||
}
|
||||
],
|
||||
"idx": 1,
|
||||
"istable": 1,
|
||||
"links": [],
|
||||
"modified": "2022-11-10 18:20:30.137455",
|
||||
"modified": "2022-11-18 11:39:01.741665",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Selling",
|
||||
"name": "Sales Order Item",
|
||||
|
||||
@@ -103,9 +103,9 @@ erpnext.PointOfSale.ItemSelector = class {
|
||||
<div class="flex items-center justify-center h-32 border-b-grey text-6xl text-grey-100">
|
||||
<img
|
||||
onerror="cur_pos.item_selector.handle_broken_image(this)"
|
||||
class="h-full" src="${item_image}"
|
||||
class="h-full item-img" src="${item_image}"
|
||||
alt="${frappe.get_abbr(item.item_name)}"
|
||||
style="object-fit: cover;">
|
||||
>
|
||||
</div>`;
|
||||
} else {
|
||||
return `<div class="item-qty-pill">
|
||||
|
||||
@@ -902,6 +902,8 @@ def make_inter_company_transaction(doctype, source_name, target_doc=None):
|
||||
"serial_no": "serial_no",
|
||||
"purchase_order": "purchase_order",
|
||||
"purchase_order_item": "purchase_order_item",
|
||||
"material_request": "material_request",
|
||||
"Material_request_item": "material_request_item",
|
||||
},
|
||||
"field_no_map": ["warehouse"],
|
||||
},
|
||||
|
||||
@@ -11,11 +11,14 @@ def get_data():
|
||||
},
|
||||
"internal_links": {
|
||||
"Sales Order": ["items", "against_sales_order"],
|
||||
"Material Request": ["items", "material_request"],
|
||||
"Purchase Order": ["items", "purchase_order"],
|
||||
},
|
||||
"transactions": [
|
||||
{"label": _("Related"), "items": ["Sales Invoice", "Packing Slip", "Delivery Trip"]},
|
||||
{"label": _("Reference"), "items": ["Sales Order", "Shipment", "Quality Inspection"]},
|
||||
{"label": _("Returns"), "items": ["Stock Entry"]},
|
||||
{"label": _("Subscription"), "items": ["Auto Repeat"]},
|
||||
{"label": _("Internal Transfer"), "items": ["Material Request", "Purchase Order"]},
|
||||
],
|
||||
}
|
||||
|
||||
@@ -88,9 +88,11 @@
|
||||
"allow_zero_valuation_rate",
|
||||
"column_break_71",
|
||||
"internal_transfer_section",
|
||||
"material_request",
|
||||
"purchase_order",
|
||||
"column_break_82",
|
||||
"purchase_order_item",
|
||||
"material_request_item",
|
||||
"accounting_dimensions_section",
|
||||
"cost_center",
|
||||
"dimension_col_break",
|
||||
@@ -818,13 +820,24 @@
|
||||
"fieldtype": "Check",
|
||||
"label": "Has Item Scanned",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "material_request",
|
||||
"fieldtype": "Link",
|
||||
"label": "Material Request",
|
||||
"options": "Material Request"
|
||||
},
|
||||
{
|
||||
"fieldname": "material_request_item",
|
||||
"fieldtype": "Data",
|
||||
"label": "Material Request Item"
|
||||
}
|
||||
],
|
||||
"idx": 1,
|
||||
"index_web_pages_for_search": 1,
|
||||
"istable": 1,
|
||||
"links": [],
|
||||
"modified": "2022-11-02 12:54:07.225623",
|
||||
"modified": "2022-11-09 12:17:50.850142",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Stock",
|
||||
"name": "Delivery Note Item",
|
||||
|
||||
@@ -14,5 +14,6 @@ def get_data():
|
||||
},
|
||||
{"label": _("Stock"), "items": ["Stock Entry", "Purchase Receipt", "Pick List"]},
|
||||
{"label": _("Manufacturing"), "items": ["Work Order"]},
|
||||
{"label": _("Internal Transfer"), "items": ["Sales Order"]},
|
||||
],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user