Ich habe versucht, die Methode (calculate_item_values) im Controller (taxes_and_totals.py) durch meine eigene benutzerdefinierte Formel zu überschreiben, aber es scheint nicht zu funktionieren, aber als ich es für eine Doctype-Klassenmethode (Quotation) versuchte, wurde sie überschrieben Soll ich etwas anderes versuchen? Ich hoffe, Sie können mir etwas helfen
dies ist meine benutzerdefinierte_Datei in meiner benutzerdefinierten App (override.py)
Ich habe versucht, die Methode (calculate_item_values) im Controller (taxes_and_totals.py) durch meine eigene benutzerdefinierte Formel zu überschreiben, aber es scheint nicht zu funktionieren, aber als ich es für eine Doctype-Klassenmethode (Quotation) versuchte, wurde sie überschrieben Soll ich etwas anderes versuchen? Ich hoffe, Sie können mir etwas helfen dies ist meine benutzerdefinierte_Datei in meiner benutzerdefinierten App (override.py) [code]import frappe from frappe import _, scrub from frappe.utils import flt from erpnext.controllers.taxes_and_totals import calculate_taxes_and_totals from erpnext.accounts.doctype.pricing_rule.utils import get_applied_pricing_rules
class Calculating_amount(calculate_taxes_and_totals): def calculate_item_values(self): print('khello') if self.doc.get("is_consolidated"): return
if not self.discount_amount_applied: for item in self._items: self.doc.round_floats_in(item)
if item.discount_percentage == 100: item.rate = 0.0 elif item.price_list_rate: if not item.rate or ( item.pricing_rules and item.discount_percentage > 0 ): item.rate = flt( item.price_list_rate * (1.0 - (item.discount_percentage / 100.0)), item.precision("rate"), )
def _set_in_company_currency(self, doc, fields): # set values in base currency for f in fields: val = flt( flt( doc.get(f), doc.precision(f) * self.doc.conversion_rate, doc.precision("base_" + f), ) ) doc.set("base_" + f, val)
def calculate_margin(self, item): rate_with_margin = 0.0 base_rate_with_margin = 0.0 if item.price_list_rate: if item.pricing_rules and not self.doc.ignore_pricing_rule: has_margin = False for d in get_applied_pricing_rules(item.pricing_rules): pricing_rule = frappe.get_cached_doc("Pricing Rule", d) if pricing_rule.margin_rate_or_amount and ( ( pricing_rule.currency == self.doc.currency and pricing_rule.margin_type in ["Amount", "Percentage"] ) or pricing_rule.margin_type == "Percentage" ): item.margin_type = pricing_rule.margin_type item.margin_rate_or_amount = pricing_rule.margin_rate_or_amount has_margin = True if not has_margin: item.margin_type = None item.margin_rate_or_amount = 0.0 if not item.pricing_rules and flt(item.rate) > flt(item.price_list_rate): item.margin_type = "Amount" item.margin_rate_or_amount = flt( item.rate - item.price_list_rate, item.precision("margin_rate_or_amount"), ) item.rate_with_margin = item.rate elif item.margin_type and item.margin_rate_or_amount: margin_value = ( item.margin_rate_or_amount if item.margin_type == "Amount" else flt(item.price_list_rate) * flt(item.margin_rate_or_amount) / 100 ) rate_with_margin = flt(item.price_list_rate) + flt(margin_value) base_rate_with_margin = flt(rate_with_margin) * flt( self.doc.conversion_rate )
return rate_with_margin, base_rate_with_margin
[/code] und das ist meine Hook-Datei [code]override_doctype_class = { "calculate_taxes_and_totals":"test_app.override.Calculating_amount" }
Ich passe das WooCommerce-Checkout-Verhalten an und habe ein Problem mit der Meldung „An eine andere Adresse versenden?“ festgestellt. Kontrollkästchen.
Wenn das Kontrollkästchen aktiviert ist,...
Ich arbeite an einem PySpark-Skript, um eine einfache Wortzählung durchzuführen. Mein Skript läuft einwandfrei, aber beim Versuch, die Ergebnisse mit saveAsTextFile zu speichern, tritt ein Fehler auf...
In Windows 11 habe ich festgestellt, dass das Kontextmenü fast jedes Systray-Symbols eine runde Ecke hat.
Da es kein Systray-Menü für WPF-Anwendungen gibt, habe ich das Windows-Formular NotiIcon und...
Ich erstelle eine Android-App in Python mit Briefcase von BeeWare, die einen Dienst starten muss. Und ich habe diesen Code...
Dies ist der relevante Code aus der Datei MainActivity.java :
package...
Ich erstelle eine Android-App in Python mit Briefcase von BeeWare, die einen Dienst starten muss. Und ich habe diesen Code...
Dies ist der relevante Code aus der Datei MainActivity.java :
package...