mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-13 02:01:21 +00:00
Merge pull request #46993 from karm1000/dispatch-field
feat: add dispatch address fields to purchase doctypes
This commit is contained in:
@@ -144,8 +144,10 @@
|
|||||||
"contact_mobile",
|
"contact_mobile",
|
||||||
"contact_email",
|
"contact_email",
|
||||||
"company_shipping_address_section",
|
"company_shipping_address_section",
|
||||||
"shipping_address",
|
"dispatch_address",
|
||||||
|
"dispatch_address_display",
|
||||||
"column_break_126",
|
"column_break_126",
|
||||||
|
"shipping_address",
|
||||||
"shipping_address_display",
|
"shipping_address_display",
|
||||||
"company_billing_address_section",
|
"company_billing_address_section",
|
||||||
"billing_address",
|
"billing_address",
|
||||||
@@ -1548,7 +1550,7 @@
|
|||||||
{
|
{
|
||||||
"fieldname": "company_shipping_address_section",
|
"fieldname": "company_shipping_address_section",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Company Shipping Address"
|
"label": "Shipping Address"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "column_break_126",
|
"fieldname": "column_break_126",
|
||||||
@@ -1635,13 +1637,28 @@
|
|||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"label": "Sender",
|
"label": "Sender",
|
||||||
"options": "Email"
|
"options": "Email"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "dispatch_address_display",
|
||||||
|
"fieldtype": "Text Editor",
|
||||||
|
"label": "Dispatch Address",
|
||||||
|
"print_hide": 1,
|
||||||
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "dispatch_address",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Select Dispatch Address ",
|
||||||
|
"options": "Address",
|
||||||
|
"print_hide": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"grid_page_length": 50,
|
||||||
"icon": "fa fa-file-text",
|
"icon": "fa fa-file-text",
|
||||||
"idx": 204,
|
"idx": 204,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2025-01-14 11:39:04.564610",
|
"modified": "2025-04-09 16:49:22.175081",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Purchase Invoice",
|
"name": "Purchase Invoice",
|
||||||
@@ -1696,6 +1713,7 @@
|
|||||||
"write": 1
|
"write": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"row_format": "Dynamic",
|
||||||
"search_fields": "posting_date, supplier, bill_no, base_grand_total, outstanding_amount",
|
"search_fields": "posting_date, supplier, bill_no, base_grand_total, outstanding_amount",
|
||||||
"sender_field": "sender",
|
"sender_field": "sender",
|
||||||
"show_name_in_global_search": 1,
|
"show_name_in_global_search": 1,
|
||||||
|
|||||||
@@ -117,6 +117,8 @@ class PurchaseInvoice(BuyingController):
|
|||||||
currency: DF.Link | None
|
currency: DF.Link | None
|
||||||
disable_rounded_total: DF.Check
|
disable_rounded_total: DF.Check
|
||||||
discount_amount: DF.Currency
|
discount_amount: DF.Currency
|
||||||
|
dispatch_address: DF.Link | None
|
||||||
|
dispatch_address_display: DF.TextEditor | None
|
||||||
due_date: DF.Date | None
|
due_date: DF.Date | None
|
||||||
from_date: DF.Date | None
|
from_date: DF.Date | None
|
||||||
grand_total: DF.Currency
|
grand_total: DF.Currency
|
||||||
|
|||||||
@@ -2371,7 +2371,10 @@ def make_inter_company_transaction(doctype, source_name, target_doc=None):
|
|||||||
# Invert Addresses
|
# Invert Addresses
|
||||||
update_address(target_doc, "supplier_address", "address_display", source_doc.company_address)
|
update_address(target_doc, "supplier_address", "address_display", source_doc.company_address)
|
||||||
update_address(
|
update_address(
|
||||||
target_doc, "shipping_address", "shipping_address_display", source_doc.customer_address
|
target_doc, "dispatch_address", "dispatch_address_display", source_doc.dispatch_address_name
|
||||||
|
)
|
||||||
|
update_address(
|
||||||
|
target_doc, "shipping_address", "shipping_address_display", source_doc.shipping_address_name
|
||||||
)
|
)
|
||||||
update_address(
|
update_address(
|
||||||
target_doc, "billing_address", "billing_address_display", source_doc.customer_address
|
target_doc, "billing_address", "billing_address_display", source_doc.customer_address
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ def get_party_details(
|
|||||||
party_address=None,
|
party_address=None,
|
||||||
company_address=None,
|
company_address=None,
|
||||||
shipping_address=None,
|
shipping_address=None,
|
||||||
|
dispatch_address=None,
|
||||||
pos_profile=None,
|
pos_profile=None,
|
||||||
):
|
):
|
||||||
if not party:
|
if not party:
|
||||||
@@ -92,6 +93,7 @@ def get_party_details(
|
|||||||
party_address,
|
party_address,
|
||||||
company_address,
|
company_address,
|
||||||
shipping_address,
|
shipping_address,
|
||||||
|
dispatch_address,
|
||||||
pos_profile,
|
pos_profile,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -111,6 +113,7 @@ def _get_party_details(
|
|||||||
party_address=None,
|
party_address=None,
|
||||||
company_address=None,
|
company_address=None,
|
||||||
shipping_address=None,
|
shipping_address=None,
|
||||||
|
dispatch_address=None,
|
||||||
pos_profile=None,
|
pos_profile=None,
|
||||||
):
|
):
|
||||||
party_details = frappe._dict(
|
party_details = frappe._dict(
|
||||||
@@ -134,6 +137,7 @@ def _get_party_details(
|
|||||||
party_address,
|
party_address,
|
||||||
company_address,
|
company_address,
|
||||||
shipping_address,
|
shipping_address,
|
||||||
|
dispatch_address,
|
||||||
ignore_permissions=ignore_permissions,
|
ignore_permissions=ignore_permissions,
|
||||||
)
|
)
|
||||||
set_contact_details(party_details, party, party_type)
|
set_contact_details(party_details, party, party_type)
|
||||||
@@ -191,34 +195,51 @@ def set_address_details(
|
|||||||
party_address=None,
|
party_address=None,
|
||||||
company_address=None,
|
company_address=None,
|
||||||
shipping_address=None,
|
shipping_address=None,
|
||||||
|
dispatch_address=None,
|
||||||
*,
|
*,
|
||||||
ignore_permissions=False,
|
ignore_permissions=False,
|
||||||
):
|
):
|
||||||
billing_address_field = (
|
# party_billing
|
||||||
|
party_billing_field = (
|
||||||
"customer_address" if party_type in ["Lead", "Prospect"] else party_type.lower() + "_address"
|
"customer_address" if party_type in ["Lead", "Prospect"] else party_type.lower() + "_address"
|
||||||
)
|
)
|
||||||
party_details[billing_address_field] = party_address or get_default_address(party_type, party.name)
|
|
||||||
|
party_details[party_billing_field] = party_address or get_default_address(party_type, party.name)
|
||||||
if doctype:
|
if doctype:
|
||||||
party_details.update(
|
party_details.update(
|
||||||
get_fetch_values(doctype, billing_address_field, party_details[billing_address_field])
|
get_fetch_values(doctype, party_billing_field, party_details[party_billing_field])
|
||||||
)
|
)
|
||||||
# address display
|
|
||||||
party_details.address_display = render_address(
|
|
||||||
party_details[billing_address_field], check_permissions=not ignore_permissions
|
|
||||||
)
|
|
||||||
# shipping address
|
|
||||||
if party_type in ["Customer", "Lead"]:
|
|
||||||
party_details.shipping_address_name = shipping_address or get_party_shipping_address(
|
|
||||||
party_type, party.name
|
|
||||||
)
|
|
||||||
party_details.shipping_address = render_address(
|
|
||||||
party_details["shipping_address_name"], check_permissions=not ignore_permissions
|
|
||||||
)
|
|
||||||
if doctype:
|
|
||||||
party_details.update(
|
|
||||||
get_fetch_values(doctype, "shipping_address_name", party_details.shipping_address_name)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
party_details.address_display = render_address(
|
||||||
|
party_details[party_billing_field], check_permissions=not ignore_permissions
|
||||||
|
)
|
||||||
|
|
||||||
|
# party_shipping
|
||||||
|
if party_type in ["Customer", "Lead"]:
|
||||||
|
party_shipping_field = "shipping_address_name"
|
||||||
|
party_shipping_display = "shipping_address"
|
||||||
|
default_shipping = shipping_address
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Supplier
|
||||||
|
party_shipping_field = "dispatch_address"
|
||||||
|
party_shipping_display = "dispatch_address_display"
|
||||||
|
default_shipping = dispatch_address
|
||||||
|
|
||||||
|
party_details[party_shipping_field] = default_shipping or get_party_shipping_address(
|
||||||
|
party_type, party.name
|
||||||
|
)
|
||||||
|
|
||||||
|
party_details[party_shipping_display] = render_address(
|
||||||
|
party_details[party_shipping_field], check_permissions=not ignore_permissions
|
||||||
|
)
|
||||||
|
|
||||||
|
if doctype:
|
||||||
|
party_details.update(
|
||||||
|
get_fetch_values(doctype, party_shipping_field, party_details[party_shipping_field])
|
||||||
|
)
|
||||||
|
|
||||||
|
# company_address
|
||||||
if company_address:
|
if company_address:
|
||||||
party_details.company_address = company_address
|
party_details.company_address = company_address
|
||||||
else:
|
else:
|
||||||
@@ -256,22 +277,20 @@ def set_address_details(
|
|||||||
**get_fetch_values(doctype, "shipping_address", party_details.billing_address),
|
**get_fetch_values(doctype, "shipping_address", party_details.billing_address),
|
||||||
)
|
)
|
||||||
|
|
||||||
party_address, shipping_address = (
|
party_billing, party_shipping = (
|
||||||
party_details.get(billing_address_field),
|
party_details.get(party_billing_field),
|
||||||
party_details.shipping_address_name,
|
party_details.get(party_shipping_field),
|
||||||
)
|
)
|
||||||
|
|
||||||
party_details["tax_category"] = get_address_tax_category(
|
party_details["tax_category"] = get_address_tax_category(
|
||||||
party.get("tax_category"),
|
party.get("tax_category"), party_billing, party_shipping
|
||||||
party_address,
|
|
||||||
shipping_address if party_type != "Supplier" else party_address,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if doctype in TRANSACTION_TYPES:
|
if doctype in TRANSACTION_TYPES:
|
||||||
with temporary_flag("company", company):
|
with temporary_flag("company", company):
|
||||||
get_regional_address_details(party_details, doctype, company)
|
get_regional_address_details(party_details, doctype, company)
|
||||||
|
|
||||||
return party_address, shipping_address
|
return party_billing, party_shipping
|
||||||
|
|
||||||
|
|
||||||
@erpnext.allow_regional
|
@erpnext.allow_regional
|
||||||
|
|||||||
@@ -109,8 +109,10 @@
|
|||||||
"contact_mobile",
|
"contact_mobile",
|
||||||
"contact_email",
|
"contact_email",
|
||||||
"shipping_address_section",
|
"shipping_address_section",
|
||||||
"shipping_address",
|
"dispatch_address",
|
||||||
|
"dispatch_address_display",
|
||||||
"column_break_99",
|
"column_break_99",
|
||||||
|
"shipping_address",
|
||||||
"shipping_address_display",
|
"shipping_address_display",
|
||||||
"company_billing_address_section",
|
"company_billing_address_section",
|
||||||
"billing_address",
|
"billing_address",
|
||||||
@@ -1282,13 +1284,28 @@
|
|||||||
"oldfieldtype": "Select",
|
"oldfieldtype": "Select",
|
||||||
"options": "Not Initiated\nInitiated\nPartially Paid\nFully Paid",
|
"options": "Not Initiated\nInitiated\nPartially Paid\nFully Paid",
|
||||||
"print_hide": 1
|
"print_hide": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "dispatch_address",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Dispatch Address",
|
||||||
|
"options": "Address",
|
||||||
|
"print_hide": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "dispatch_address_display",
|
||||||
|
"fieldtype": "Text Editor",
|
||||||
|
"label": "Dispatch Address Details",
|
||||||
|
"print_hide": 1,
|
||||||
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"grid_page_length": 50,
|
||||||
"icon": "fa fa-file-text",
|
"icon": "fa fa-file-text",
|
||||||
"idx": 105,
|
"idx": 105,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2024-03-27 13:10:24.518785",
|
"modified": "2025-04-09 16:54:08.836106",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Purchase Order",
|
"name": "Purchase Order",
|
||||||
@@ -1335,6 +1352,7 @@
|
|||||||
"write": 1
|
"write": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"row_format": "Dynamic",
|
||||||
"search_fields": "status, transaction_date, supplier, grand_total",
|
"search_fields": "status, transaction_date, supplier, grand_total",
|
||||||
"show_name_in_global_search": 1,
|
"show_name_in_global_search": 1,
|
||||||
"sort_field": "creation",
|
"sort_field": "creation",
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ class PurchaseOrder(BuyingController):
|
|||||||
customer_name: DF.Data | None
|
customer_name: DF.Data | None
|
||||||
disable_rounded_total: DF.Check
|
disable_rounded_total: DF.Check
|
||||||
discount_amount: DF.Currency
|
discount_amount: DF.Currency
|
||||||
|
dispatch_address: DF.Link | None
|
||||||
|
dispatch_address_display: DF.TextEditor | None
|
||||||
from_date: DF.Date | None
|
from_date: DF.Date | None
|
||||||
grand_total: DF.Currency
|
grand_total: DF.Currency
|
||||||
group_same_items: DF.Check
|
group_same_items: DF.Check
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ class BuyingController(SubcontractingController):
|
|||||||
company=self.company,
|
company=self.company,
|
||||||
party_address=self.get("supplier_address"),
|
party_address=self.get("supplier_address"),
|
||||||
shipping_address=self.get("shipping_address"),
|
shipping_address=self.get("shipping_address"),
|
||||||
|
dispatch_address=self.get("dispatch_address"),
|
||||||
company_address=self.get("billing_address"),
|
company_address=self.get("billing_address"),
|
||||||
fetch_payment_terms_template=not self.get("ignore_default_payment_terms_template"),
|
fetch_payment_terms_template=not self.get("ignore_default_payment_terms_template"),
|
||||||
ignore_permissions=self.flags.ignore_permissions,
|
ignore_permissions=self.flags.ignore_permissions,
|
||||||
@@ -242,6 +243,7 @@ class BuyingController(SubcontractingController):
|
|||||||
address_dict = {
|
address_dict = {
|
||||||
"supplier_address": "address_display",
|
"supplier_address": "address_display",
|
||||||
"shipping_address": "shipping_address_display",
|
"shipping_address": "shipping_address_display",
|
||||||
|
"dispatch_address": "dispatch_address_display",
|
||||||
"billing_address": "billing_address_display",
|
"billing_address": "billing_address_display",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,12 @@ erpnext.buying = {
|
|||||||
return erpnext.queries.company_address_query(this.frm.doc)
|
return erpnext.queries.company_address_query(this.frm.doc)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this.frm.get_field('dispatch_address')) {
|
||||||
|
this.frm.set_query("dispatch_address", () => {
|
||||||
|
return erpnext.queries.address_query(this.frm.doc);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_queries(doc, cdt, cdn) {
|
setup_queries(doc, cdt, cdn) {
|
||||||
@@ -295,6 +301,12 @@ erpnext.buying = {
|
|||||||
"shipping_address_display", true);
|
"shipping_address_display", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dispatch_address(){
|
||||||
|
var me = this;
|
||||||
|
erpnext.utils.get_address_display(this.frm, "dispatch_address",
|
||||||
|
"dispatch_address_display", true);
|
||||||
|
}
|
||||||
|
|
||||||
billing_address() {
|
billing_address() {
|
||||||
erpnext.utils.get_address_display(this.frm, "billing_address",
|
erpnext.utils.get_address_display(this.frm, "billing_address",
|
||||||
"billing_address_display", true);
|
"billing_address_display", true);
|
||||||
|
|||||||
@@ -71,6 +71,10 @@ erpnext.utils.get_party_details = function (frm, method, args, callback) {
|
|||||||
if (!args.shipping_address && frm.doc.shipping_address) {
|
if (!args.shipping_address && frm.doc.shipping_address) {
|
||||||
args.shipping_address = frm.doc.shipping_address;
|
args.shipping_address = frm.doc.shipping_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!args.dispatch_address && frm.doc.dispatch_address) {
|
||||||
|
args.dispatch_address = frm.doc.dispatch_address;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frappe.meta.get_docfield(frm.doc.doctype, "taxes")) {
|
if (frappe.meta.get_docfield(frm.doc.doctype, "taxes")) {
|
||||||
|
|||||||
@@ -610,6 +610,7 @@ body[data-route="pos"] {
|
|||||||
.frappe-control[data-fieldname="address_display"] .ql-editor,
|
.frappe-control[data-fieldname="address_display"] .ql-editor,
|
||||||
.frappe-control[data-fieldname="shipping_address_display"] .ql-editor,
|
.frappe-control[data-fieldname="shipping_address_display"] .ql-editor,
|
||||||
.frappe-control[data-fieldname="shipping_address"] .ql-editor,
|
.frappe-control[data-fieldname="shipping_address"] .ql-editor,
|
||||||
|
.frappe-control[data-fieldname="dispatch_address_display"] .ql-editor,
|
||||||
.frappe-control[data-fieldname="dispatch_address"] .ql-editor,
|
.frappe-control[data-fieldname="dispatch_address"] .ql-editor,
|
||||||
.frappe-control[data-fieldname="source_address_display"] .ql-editor,
|
.frappe-control[data-fieldname="source_address_display"] .ql-editor,
|
||||||
.frappe-control[data-fieldname="target_address_display"] .ql-editor,
|
.frappe-control[data-fieldname="target_address_display"] .ql-editor,
|
||||||
|
|||||||
@@ -1158,7 +1158,10 @@ def make_inter_company_transaction(doctype, source_name, target_doc=None):
|
|||||||
# Invert the address on target doc creation
|
# Invert the address on target doc creation
|
||||||
update_address(target_doc, "supplier_address", "address_display", source_doc.company_address)
|
update_address(target_doc, "supplier_address", "address_display", source_doc.company_address)
|
||||||
update_address(
|
update_address(
|
||||||
target_doc, "shipping_address", "shipping_address_display", source_doc.customer_address
|
target_doc, "dispatch_address", "dispatch_address_display", source_doc.dispatch_address_name
|
||||||
|
)
|
||||||
|
update_address(
|
||||||
|
target_doc, "shipping_address", "shipping_address_display", source_doc.shipping_address_name
|
||||||
)
|
)
|
||||||
update_address(
|
update_address(
|
||||||
target_doc, "billing_address", "billing_address_display", source_doc.customer_address
|
target_doc, "billing_address", "billing_address_display", source_doc.customer_address
|
||||||
|
|||||||
@@ -112,8 +112,10 @@
|
|||||||
"contact_mobile",
|
"contact_mobile",
|
||||||
"contact_email",
|
"contact_email",
|
||||||
"section_break_98",
|
"section_break_98",
|
||||||
"shipping_address",
|
"dispatch_address",
|
||||||
|
"dispatch_address_display",
|
||||||
"column_break_100",
|
"column_break_100",
|
||||||
|
"shipping_address",
|
||||||
"shipping_address_display",
|
"shipping_address_display",
|
||||||
"billing_address_section",
|
"billing_address_section",
|
||||||
"billing_address",
|
"billing_address",
|
||||||
@@ -1198,7 +1200,7 @@
|
|||||||
{
|
{
|
||||||
"fieldname": "section_break_98",
|
"fieldname": "section_break_98",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Company Shipping Address"
|
"label": "Shipping Address"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "billing_address_section",
|
"fieldname": "billing_address_section",
|
||||||
@@ -1267,13 +1269,28 @@
|
|||||||
"no_copy": 1,
|
"no_copy": 1,
|
||||||
"print_hide": 1,
|
"print_hide": 1,
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "dispatch_address",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"label": "Dispatch Address Template",
|
||||||
|
"options": "Address",
|
||||||
|
"print_hide": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "dispatch_address_display",
|
||||||
|
"fieldtype": "Text Editor",
|
||||||
|
"label": "Dispatch Address",
|
||||||
|
"print_hide": 1,
|
||||||
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"grid_page_length": 50,
|
||||||
"icon": "fa fa-truck",
|
"icon": "fa fa-truck",
|
||||||
"idx": 261,
|
"idx": 261,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2024-11-13 16:55:14.129055",
|
"modified": "2025-04-09 16:52:19.323878",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Stock",
|
"module": "Stock",
|
||||||
"name": "Purchase Receipt",
|
"name": "Purchase Receipt",
|
||||||
@@ -1334,6 +1351,7 @@
|
|||||||
"write": 1
|
"write": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"row_format": "Dynamic",
|
||||||
"search_fields": "status, posting_date, supplier",
|
"search_fields": "status, posting_date, supplier",
|
||||||
"show_name_in_global_search": 1,
|
"show_name_in_global_search": 1,
|
||||||
"sort_field": "creation",
|
"sort_field": "creation",
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ class PurchaseReceipt(BuyingController):
|
|||||||
currency: DF.Link
|
currency: DF.Link
|
||||||
disable_rounded_total: DF.Check
|
disable_rounded_total: DF.Check
|
||||||
discount_amount: DF.Currency
|
discount_amount: DF.Currency
|
||||||
|
dispatch_address: DF.Link | None
|
||||||
|
dispatch_address_display: DF.TextEditor | None
|
||||||
grand_total: DF.Currency
|
grand_total: DF.Currency
|
||||||
group_same_items: DF.Check
|
group_same_items: DF.Check
|
||||||
ignore_pricing_rule: DF.Check
|
ignore_pricing_rule: DF.Check
|
||||||
|
|||||||
Reference in New Issue
Block a user