本文整理汇总了Python中frappe.get_doc方法的典型用法代码示例。如果您正苦于以下问题:Python frappe.get_doc方法的具体用法?Python frappe.get_doc怎么用?Python frappe.get_doc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类frappe
的用法示例。
在下文中一共展示了frappe.get_doc方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: execute
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def execute():
service_name="BioTrack"
if frappe.db.exists("Integration Service", service_name):
integration_service = frappe.get_doc("Integration Service", service_name)
else:
integration_service = frappe.new_doc("Integration Service")
integration_service.service = service_name
integration_service.enabled = 1
integration_service.flags.ignore_mandatory = True
integration_service.save(ignore_permissions=True)
settings = frappe.get_doc("BioTrack Settings")
if not settings.synchronization:
settings.synchronization = "All"
if not settings.sync_frequency:
settings.sync_frequency = "Daily"
settings.flags.ignore_mandatory = True
settings.save()
示例2: validate_price_list_currency
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def validate_price_list_currency(doc, method):
'''Called from Shopping Cart Settings hook'''
if doc.enabled and doc.enable_checkout:
if not doc.payment_gateway_account:
doc.enable_checkout = 0
return
payment_gateway_account = frappe.get_doc("Payment Gateway Account", doc.payment_gateway_account)
if payment_gateway_account.payment_gateway=="Razorpay":
price_list_currency = frappe.db.get_value("Price List", doc.price_list, "currency")
validate_transaction_currency(price_list_currency)
if price_list_currency != payment_gateway_account.currency:
frappe.throw(_("Currency '{0}' of Price List '{1}' should be same as the Currency '{2}' of Payment Gateway Account '{3}'").format(price_list_currency, doc.price_list, payment_gateway_account.currency, payment_gateway_account.name))
示例3: confirm_payment
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def confirm_payment(doc, api_key, api_secret, is_sandbox=False):
"""
An authorization is performed when user’s payment details are successfully authenticated by the bank.
The money is deducted from the customer’s account, but will not be transferred to the merchant’s account
until it is explicitly captured by merchant.
"""
if is_sandbox and doc.sanbox_response:
resp = doc.sanbox_response
else:
resp = get_request("https://api.razorpay.com/v1/payments/{0}".format(doc.name),
auth=frappe._dict({"api_key": api_key, "api_secret": api_secret}))
if resp.get("status") == "authorized":
doc.db_set('status', 'Authorized')
doc.run_method('on_payment_authorized')
if doc.reference_doctype and doc.reference_docname:
ref = frappe.get_doc(doc.reference_doctype, doc.reference_docname)
ref.run_method('on_payment_authorized')
doc.flags.status_changed_to = "Authorized"
示例4: update_account
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def update_account(args=None):
frappe.local.flags.allow_unverified_charts = True
if not args:
args = frappe.local.form_dict
args.pop("cmd")
if not args.get("account_type"):
args.account_type = None
args.is_group = cint(args.is_group)
account = frappe.get_doc("Account", args.name)
account.update(args)
account.flags.ignore_permissions = True
if args.get("is_root"):
account.flags.ignore_mandatory = True
account.save()
frappe.local.flags.allow_unverified_charts = False
示例5: add_testing_results
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def add_testing_results(name, testing_results, is_testing_rejected=None):
if frappe.db.get_value("Warranty Request", name, "is_testing_completed"):
frappe.throw("Testing is already completed.")
frappe.db.set_value("Warranty Request", name, "is_testing_completed", 1)
update_status("Warranty Request", name, "Testing Completed")
frappe.db.set_value("Warranty Request Purposes", {"parent": name}, "testing_results", testing_results)
doc_warranty_request = frappe.get_doc("Warranty Request", name)
doc_warranty_request.add_comment("Comment", _("Testing Item has been completed"))
frappe.msgprint("Testing Item has been completed.")
if is_testing_rejected:
frappe.db.set_value("Warranty Request", name, "is_testing_rejected", 1)
dn = make_delivery_note(name)
dn.insert()
frappe.db.set_value("Warranty Request", name, "delivery_note", dn.name)
update_status("Warranty Request", name, "Closed")
frappe.msgprint("Delivery Note %s was created automatically" % dn.name)
warranty_claim = frappe.db.get_value("Warranty Request", name, "warranty_claim")
if warranty_claim:
update_status("Warranty Claim", warranty_claim, frappe.db.get_value("Warranty Request", name, "status"))
frappe.clear_cache(doctype="Warranty Request")
示例6: add_repairing_results
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def add_repairing_results(name, repairing_results, is_item_to_be_replaced=None):
if frappe.db.get_value("Warranty Request", name, "is_repairing_completed"):
frappe.throw("Repairing is already completed")
frappe.db.set_value("Warranty Request", name, "is_repairing_completed", 1)
update_status("Warranty Request", name, "Repairing Completed")
frappe.db.set_value("Warranty Request", name, "resolution_date", now_datetime())
frappe.db.set_value("Warranty Request Purposes", {"parent": name}, "work_done", repairing_results)
warranty_claim = frappe.db.get_value("Warranty Request", name, "warranty_claim")
if warranty_claim:
update_status("Warranty Claim", warranty_claim, "Repairing Completed")
doc_warranty_request = frappe.get_doc("Warranty Request", name)
doc_warranty_request.add_comment("Comment", _("Repairing Item has been completed"))
if is_item_to_be_replaced:
frappe.db.set_value("Warranty Request", name, "is_item_to_be_replaced", 1)
so = make_sales_order(name)
so.insert()
frappe.db.set_value("Warranty Request", name, "sales_order", so.name)
update_status("Warranty Request", name, "Closed")
frappe.msgprint("sales Order %s was created automatically" % so.name)
frappe.clear_cache(doctype="Warranty Request")
示例7: collect_item
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def collect_item(self, item_group_filter, qty, properties=None):
item_group = frappe.get_doc("Item Group", item_group_filter)
strain = self.get_strain()
default_properties = frappe._dict({
"item_name": " ".join([strain, item_group.item_group_name]),
"item_code": generate_item_code(),
"item_group": item_group.name,
"default_warehouse": self.target_warehouse,
"strain": strain,
"stock_uom": "Gram",
"is_stock_item": 1,
"plant_entry": self.name,
})
if isinstance(properties, dict):
default_properties.update(properties)
return make_item(properties=default_properties, qty=qty)
示例8: syn_samples
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def syn_samples(samples):
for inventory in samples:
parent_ids = inventory.get("parentid") or []
if not parent_ids:
continue
item_code = parent_ids[0]
values = get_item_values(item_code, ["name", "test_result", "item_name"])
if values:
name, test_result, item_name = values
if test_result:
continue # already synced
item = frappe.get_doc("Item", name)
item.sample_id = inventory.get("barcode")
item.save()
quality_inspection = make_sample(item, inventory.get("remaining_quantity"))
quality_inspection.flags.ignore_mandatory = True
quality_inspection.save()
frappe.db.commit()
else:
continue # not found related item
示例9: log_invalid_item
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def log_invalid_item(item):
frappe.db.sql("""delete from `tabCommunication`
where
reference_doctype=%s and reference_name=%s
and communication_type='Comment'
and comment_type='Cancelled'""", ("Item", item.name))
frappe.get_doc({
"doctype": "Communication",
"communication_type": "Comment",
"comment_type": "Cancelled",
"reference_doctype": "Item",
"reference_name": item.name,
"subject": item.item_name,
"full_name": get_fullname(item.owner),
"reference_owner": item.owner,
# "link_doctype": "Item",
# "link_name": item.name
}).insert(ignore_permissions=True)
示例10: make_sample
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def make_sample(item, sample_size):
if frappe.db.exists("Quality Inspection", {"item_code": item.item_code}):
doc = frappe.get_doc("Quality Inspection", {"item_code": item.item_code})
else:
doc = frappe.new_doc("Quality Inspection")
doc.update({
"item_code": item.item_code,
"item_name": item.item_name,
"inspection_type": _("In Process"),
"sample_size": flt(sample_size),
"inspected_by": "Administrator",
"barcode": item.sample_id
})
return doc
示例11: sync
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def sync():
synced_list = []
for biotrack_room in get_biotrack_inventory_rooms():
if sync_warehouse(biotrack_room):
synced_list.append(biotrack_room)
# Bulk Inventory room
if not frappe.db.exists('Warehouse', {'warehouse_name': default_stock_warehouse_name}):
under_account = frappe.get_value('BioTrack Settings', None, 'inventory_room_parent_account')
warehouse = frappe.get_doc({
'doctype': 'Warehouse',
'company': get_default_company(),
'warehouse_name': default_stock_warehouse_name,
'create_account_under': under_account
})
warehouse.insert(ignore_permissions=True)
frappe.db.commit()
return len(synced_list)
示例12: sync_qa_lab
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def sync_qa_lab(biotrack_lab):
license_no = biotrack_lab.get("location")
supplier_name = str(biotrack_lab.get("name")).strip()
name = frappe.get_value("Supplier", {"license_no": license_no})
if not name:
doc = frappe.get_doc({
"doctype": "Supplier",
"supplier_name": supplier_name,
"supplier_type": _("Lab & Scientific"),
"license_no": license_no,
})
try:
doc.save()
except frappe.exceptions.DuplicateEntryError as ex:
doc.set("supplier_name", "{} - {}".format(supplier_name, license_no))
doc.save()
else:
doc = frappe.get_doc("Supplier", name)
map_address(doc, biotrack_lab)
frappe.db.commit()
示例13: before_submit
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def before_submit(doc, method):
"""BioTrack sync up: inventory_new or inventory_adjust"""
if doc.purpose == "Material Issue" and not doc.conversion:
for item_entry in doc.get("items"):
item = frappe.get_doc("Item", item_entry.item_code)
if is_bio_item(item):
if not item_entry.t_warehouse:
_inventory_adjust(item, remove_quantity=item_entry.qty)
# else:
# inventory split and inventory_move
elif doc.purpose == "Material Receipt":
for item_entry in doc.get("items"):
item = frappe.get_doc("Item", item_entry.item_code)
if is_bio_item(item):
_inventory_adjust(item, additional_quantity=item_entry.qty)
# only sync up marijuana item
elif item.is_marijuana_item:
_inventory_new(item, item_entry.qty)
示例14: convert_on_submit
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def convert_on_submit(plant_entry, barcodeid):
res = None
try:
res = call("plant_convert_to_inventory", {
"barcodeid": barcodeid
})
except BioTrackClientError as e:
frappe.throw(cstr(e.message), title="BioTrackTHC sync up failed")
if res:
plant_entry.bio_transaction = res.get("transactionid")
items = plant_entry.items or {}
for name in items:
item = items[name]
if not item.barcode:
plant = frappe.get_doc("Plant", name)
if is_bio_plant(plant):
item.barcode = plant.get("bio_barcode")
item.bio_barcode = plant.get("bio_barcode")
item.save()
示例15: item_test_result_lookup
# 需要导入模块: import frappe [as 别名]
# 或者: from frappe import get_doc [as 别名]
def item_test_result_lookup(name):
item = frappe.get_doc("Item", name)
if not item.parent_item or item.test_result:
data = {
"test_result": item.test_result
}
for parameter in item.get("quality_parameters") or []:
data[parameter.specification] = parameter.value
if data.get("Total") or None:
data["potency"] = data.get("Total")
return data
if item.parent_item:
return item_test_result_lookup({"name": item.parent_item})