当前位置: 首页>>代码示例>>Python>>正文


Python code.get_obj函数代码示例

本文整理汇总了Python中webnotes.model.code.get_obj函数的典型用法代码示例。如果您正苦于以下问题:Python get_obj函数的具体用法?Python get_obj怎么用?Python get_obj使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get_obj函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: make_single_entry

	def make_single_entry(self,parent,d,le_map,cancel, merge_entries):
		if self.get_val(le_map['account'], d, parent) and \
				(self.get_val(le_map['debit'], d, parent) \
				or self.get_val(le_map['credit'], d, parent)):
			flist = ['account', 'cost_center', 'against', 'debit', 'credit', 'remarks',
			 	'voucher_type', 'voucher_no', 'posting_date', 'fiscal_year', 'against_voucher',
			 	'against_voucher_type', 'company', 'is_opening', 'aging_date']

			# Check budget before gl entry
			#check budget only if account is expense account
			is_expense_acct = webnotes.conn.sql("""select name from tabAccount 
				where is_pl_account='Yes' and debit_or_credit='Debit' 
				and name=%s""",self.get_val(le_map['account'], d, parent))
				
			if is_expense_acct and self.get_val(le_map['cost_center'], d, parent):
				get_obj('Budget Control').check_budget([self.get_val(le_map[k], d, parent) 
					for k in flist if k in ['account', 'cost_center', 'debit', 
					'credit', 'posting_date', 'fiscal_year', 'company']],cancel)

			# Create new GL entry object and map values
			le = Document('GL Entry')
			for k in flist:
				le.fields[k] = self.get_val(le_map[k], d, parent)
			# if there is already an entry in this account then just add it to that entry
			same_head = self.check_if_in_list(le)
			if same_head and merge_entries:
				same_head = same_head[0]
				same_head.debit	= flt(same_head.debit)	+ flt(le.debit)
				same_head.credit = flt(same_head.credit) + flt(le.credit)
			else:
				self.entries.append(le)
开发者ID:MiteshC,项目名称:erpnext,代码行数:31,代码来源:gl_control.py

示例2: on_submit

	def on_submit(self):
		if cint(self.doc.update_stock) == 1:			
			self.update_stock_ledger(update_stock=1)
			self.update_serial_nos()
		else:
			# Check for Approving Authority
			if not self.doc.recurring_id:
				get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, 
				 	self.doc.company, self.doc.grand_total, self)
				
		self.set_buying_amount()
		self.check_prev_docstatus()
		
		self.update_status_updater_args()
		self.update_prevdoc_status()
		
		# this sequence because outstanding may get -ve
		self.make_gl_entries()

		if not cint(self.doc.is_pos) == 1:
			self.update_against_document_in_jv()

		self.update_c_form()
		self.update_time_log_batch(self.doc.name)
		self.convert_to_recurring()
开发者ID:rajatkapoor,项目名称:erpnext,代码行数:25,代码来源:sales_invoice.py

示例3: validate

	def validate(self):
		self.so_dn_required()
		self.validate_proj_cust()
		sales_com_obj = get_obj('Sales Common')
		sales_com_obj.check_stop_sales_order(self)
		sales_com_obj.check_active_sales_items(self)
		sales_com_obj.check_conversion_rate(self)
		sales_com_obj.validate_max_discount(self, 'entries')	 #verify whether rate is not greater than tolerance
		sales_com_obj.get_allocated_sum(self)	# this is to verify that the allocated % of sales persons is 100%
		sales_com_obj.validate_fiscal_year(self.doc.fiscal_year,self.doc.posting_date,'Posting Date')
		self.validate_customer()
		self.validate_customer_account()
		self.validate_debit_acc()
		self.validate_fixed_asset_account()
		self.add_remarks()
		if cint(self.doc.is_pos):
			self.validate_pos()
			self.validate_write_off_account()
			if cint(self.doc.update_stock):
				sl = get_obj('Stock Ledger')
				sl.validate_serial_no(self, 'entries')
				sl.validate_serial_no(self, 'packing_details')
				self.validate_item_code()
				self.update_current_stock()
				self.validate_delivery_note()
		self.set_in_words()
		if not self.doc.is_opening:
			self.doc.is_opening = 'No'
		self.set_aging_date()
		self.clear_advances()
		self.set_against_income_account()
		self.validate_c_form()
		self.validate_recurring_invoice()
开发者ID:masums,项目名称:erpnext,代码行数:33,代码来源:sales_invoice.py

示例4: reconcile_against_document

	def reconcile_against_document(self, args):
		"""
			Cancel JV, Update aginst document, split if required and resubmit jv
		"""
		
		for d in args:
			self.check_if_jv_modified(d)

			against_fld = {
				'Journal Voucher' : 'against_jv',
				'Sales Invoice' : 'against_invoice',
				'Purchase Invoice' : 'against_voucher'
			}
			
			d['against_fld'] = against_fld[d['against_voucher_type']]

			# cancel JV
			jv_obj = get_obj('Journal Voucher', d['voucher_no'], with_children=1)
			self.make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj =1)

			# update ref in JV Detail
			self.update_against_doc(d, jv_obj)

			# re-submit JV
			jv_obj = get_obj('Journal Voucher', d['voucher_no'], with_children =1)
			self.make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj =1)
开发者ID:Coalas,项目名称:erpnext,代码行数:26,代码来源:gl_control.py

示例5: validate

  def validate(self):
    self.so_required()
    self.validate_fiscal_year()
    self.validate_proj_cust()
    sales_com_obj = get_obj(dt = 'Sales Common')
    sales_com_obj.check_stop_sales_order(self)
    sales_com_obj.check_active_sales_items(self)
    sales_com_obj.get_prevdoc_date(self)
    self.validate_mandatory()
    #self.validate_prevdoc_details()
    self.validate_reference_value()
    self.validate_for_items()
    sales_com_obj.make_packing_list(self,'delivery_note_details')
    get_obj('Stock Ledger').validate_serial_no(self, 'packing_details')
    sales_com_obj.validate_max_discount(self, 'delivery_note_details')             #verify whether rate is not greater than max discount
    sales_com_obj.get_allocated_sum(self)  # this is to verify that the allocated % of sales persons is 100%
    sales_com_obj.check_conversion_rate(self)
    # ::::::: Get total in Words ::::::::
    dcc = TransactionBase().get_company_currency(self.doc.company)
    self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total)
    self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export)

    # ::::::: Set Net Weight of each Packing
    self.update_pack_nett_weight()
    self.print_packing_slip()
    # ::::::: Set actual qty for each item in selected warehouse :::::::
    self.update_current_stock()
    # :::::: set DN status :::::::

    self.doc.status = 'Draft'
    if not self.doc.billing_status: self.doc.billing_status = 'Not Billed'
    if not self.doc.installation_status: self.doc.installation_status = 'Not Installed'
开发者ID:tobrahma,项目名称:erpnext,代码行数:32,代码来源:delivery_note.py

示例6: pull_details

    def pull_details(self):
        """Pull Details of Delivery Note or Sales Order Selected"""
        if self.doc.delivery_note_main:
            self.validate_prev_docname("delivery note")
            self.doclist = self.doc.clear_table(self.doclist, "other_charges")
            self.doclist = get_obj("DocType Mapper", "Delivery Note-Sales Invoice").dt_map(
                "Delivery Note",
                "Sales Invoice",
                self.doc.delivery_note_main,
                self.doc,
                self.doclist,
                """[['Delivery Note', 'Sales Invoice'],
					['Delivery Note Item', 'Sales Invoice Item'],
					['Sales Taxes and Charges','Sales Taxes and Charges'],
					['Sales Team','Sales Team']]""",
            )
            self.get_income_expense_account("entries")

        elif self.doc.sales_order_main:
            self.validate_prev_docname("sales order")
            self.doclist = self.doc.clear_table(self.doclist, "other_charges")
            get_obj("DocType Mapper", "Sales Order-Sales Invoice").dt_map(
                "Sales Order",
                "Sales Invoice",
                self.doc.sales_order_main,
                self.doc,
                self.doclist,
                """[['Sales Order', 'Sales Invoice'],['Sales Order Item', 'Sales Invoice Item'], 
				['Sales Taxes and Charges','Sales Taxes and Charges'], 
				['Sales Team', 'Sales Team']]""",
            )
            self.get_income_expense_account("entries")

        ret = self.get_debit_to()
        self.doc.debit_to = ret.get("debit_to")
开发者ID:rohitw1991,项目名称:erpnext,代码行数:35,代码来源:sales_invoice.py

示例7: test_leave_bal

	def test_leave_bal(self):
		leaves.l_all.save(1)
		leaves.l_app1.save(1)
		leaves.l_app2.save(1)

		la1 = get_obj('Leave Application', leaves.l_app1.name, with_children=1)
		la1.validate()
		la1.doc.docstatus = 1
		la1.doc.save()
		
		self.assertTrue(la1.doc.total_leave_days == 2)
		
		la1.doc.half_day  = 1
		la1.validate()
		la1.doc.save()
		
		self.assertTrue(la1.doc.total_leave_days == .5)

		print "Test case for leave applied no of days"
		
				
		la2 = get_obj('Leave Application', leaves.l_app2.name, with_children=1)
		la2.validate()
		bal = la2.get_leave_balance()
		self.assertTrue(bal, 18)
		print "Test case for leave balance"
开发者ID:calvinfroedge,项目名称:erpnext,代码行数:26,代码来源:test_leave.py

示例8: rewrite_pages

	def rewrite_pages(self):
		"""rewrite all web pages"""
		import webnotes
		from webnotes.model.doclist import DocList
		from webnotes.model.code import get_obj
		
		# rewrite all web pages
		for name in webnotes.conn.sql("""select name, modified from `tabWeb Page` 
			where docstatus=0"""):
			DocList('Web Page', name[0]).save()
			webnotes.conn.set_value('Web Page', name[0], 'modified', name[1])

		# rewrite all blog pages
		for name in webnotes.conn.sql("""select name, modified from `tabBlog` 
			where docstatus=0 and ifnull(published,0)=1"""):
			DocList('Blog', name[0]).save()
			webnotes.conn.set_value('Blog', name[0], 'modified', name[1])
		
		from webnotes.cms.make import make_web_core
		make_web_core()
		
		get_obj('Page', 'blog').write_cms_page(force=True)
		get_obj('Page', 'Login Page').write_cms_page(force=True)
		
		webnotes.msgprint('Rebuilt all blogs and pages')
开发者ID:NorrWing,项目名称:erpnext,代码行数:25,代码来源:website_settings.py

示例9: on_submit

	def on_submit(self):
		self.validate_packed_qty()

		# Check for Approving Authority
		get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self)
		
		# validate serial no for item table (non-sales-bom item) and packing list (sales-bom item)
		sl_obj = get_obj("Stock Ledger")
		sl_obj.validate_serial_no(self, 'delivery_note_details')
		sl_obj.validate_serial_no_warehouse(self, 'delivery_note_details')
		sl_obj.validate_serial_no(self, 'packing_details')
		sl_obj.validate_serial_no_warehouse(self, 'packing_details')
		
		# update delivery details in serial no
		sl_obj.update_serial_record(self, 'delivery_note_details', is_submit = 1, is_incoming = 0)
		sl_obj.update_serial_record(self, 'packing_details', is_submit = 1, is_incoming = 0)
		
		# update delivered qty in sales order
		get_obj("Sales Common").update_prevdoc_detail(1,self)
		
		# create stock ledger entry
		self.update_stock_ledger(update_stock = 1)

		self.credit_limit()
		
		self.set_buying_amount()
		self.make_gl_entries()

		# set DN status
		webnotes.conn.set(self.doc, 'status', 'Submitted')
开发者ID:BillTheBest,项目名称:erpnext,代码行数:30,代码来源:delivery_note.py

示例10: calculate_cost

	def calculate_cost(self, bom_no):
		main_bom_list = get_obj('Production Control').traverse_bom_tree( bom_no = bom_no, qty = 1, calculate_cost = 1)
		main_bom_list.reverse()
		for bom in main_bom_list:
			bom_obj = get_obj('BOM', bom, with_children = 1)
			bom_obj.calculate_cost()
		return 'calculated'
开发者ID:smilekk,项目名称:erpnext,代码行数:7,代码来源:bom_control.py

示例11: validate

 def validate(self):
     self.so_dn_required()
     # self.dn_required()
     self.validate_proj_cust()
     sales_com_obj = get_obj("Sales Common")
     sales_com_obj.check_stop_sales_order(self)
     sales_com_obj.check_active_sales_items(self)
     sales_com_obj.check_conversion_rate(self)
     sales_com_obj.validate_max_discount(self, "entries")  # verify whether rate is not greater than tolerance
     sales_com_obj.get_allocated_sum(self)  # this is to verify that the allocated % of sales persons is 100%
     sales_com_obj.validate_fiscal_year(self.doc.fiscal_year, self.doc.posting_date, "Posting Date")
     self.validate_customer()
     self.validate_debit_to_acc()
     self.validate_debit_acc()
     self.validate_fixed_asset_account()
     self.add_remarks()
     if cint(self.doc.is_pos):
         self.validate_pos()
         self.validate_write_off_account()
         if cint(self.doc.update_stock):
             get_obj("Stock Ledger").validate_serial_no(self, "entries")
             self.validate_item_code()
             self.update_current_stock()
     self.set_in_words()
     if not self.doc.is_opening:
         self.doc.is_opening = "No"
     self.set_aging_date()
     self.clear_advances()
     # Set against account
     self.set_against_income_account()
     self.validate_c_form()
开发者ID:aarohan,项目名称:erpnext,代码行数:31,代码来源:sales_invoice.py

示例12: update_against_document_in_jv

    def update_against_document_in_jv(self):
        """
			Links invoice and advance voucher:
				1. cancel advance voucher
				2. split into multiple rows if partially adjusted, assign against voucher
				3. submit advance voucher
		"""

        lst = []
        for d in getlist(self.doclist, "advance_adjustment_details"):
            if flt(d.allocated_amount) > 0:
                args = {
                    "voucher_no": d.journal_voucher,
                    "voucher_detail_no": d.jv_detail_no,
                    "against_voucher_type": "Sales Invoice",
                    "against_voucher": self.doc.name,
                    "account": self.doc.debit_to,
                    "is_advance": "Yes",
                    "dr_or_cr": "credit",
                    "unadjusted_amt": flt(d.advance_amount),
                    "allocated_amt": flt(d.allocated_amount),
                }
                lst.append(args)

        if lst:
            get_obj("GL Control").reconcile_against_document(lst)
开发者ID:aarohan,项目名称:erpnext,代码行数:26,代码来源:sales_invoice.py

示例13: update_stock

    def update_stock(self, values):
        for v in values:
            sle_id, serial_nos = "", ""

            # get serial nos
            if v["serial_no"]:
                serial_nos = self.get_sr_no_list(v["serial_no"], v["actual_qty"])

                # reverse quantities for cancel
            if v["is_cancelled"] == "Yes":
                v["actual_qty"] = -flt(v["actual_qty"])
                # cancel matching entry
                sql(
                    "update `tabStock Ledger Entry` set is_cancelled='Yes' where voucher_no=%s and voucher_type=%s",
                    (v["voucher_no"], v["voucher_type"]),
                )

            if v["actual_qty"]:
                sle_id = self.make_entry(v)

            get_obj("Warehouse", v["warehouse"]).update_bin(
                flt(v["actual_qty"]),
                0,
                0,
                0,
                0,
                v["item_code"],
                v["posting_date"],
                sle_id,
                v["posting_time"],
                "",
                v["is_cancelled"],
            )
开发者ID:tobrahma,项目名称:erpnext,代码行数:33,代码来源:stock_ledger.py

示例14: validate

	def validate(self):
		super(DocType, self).validate()
		
		self.po_required()
		self.validate_fiscal_year()

		if not self.doc.status:
			self.doc.status = "Draft"

		import utilities
		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"])

		self.validate_accepted_rejected_qty()
		self.validate_inspection()						 # Validate Inspection
		get_obj('Stock Ledger').validate_serial_no(self, 'purchase_receipt_details')
		self.validate_challan_no()

		pc_obj = get_obj(dt='Purchase Common')
		pc_obj.validate_for_items(self)
		pc_obj.get_prevdoc_date(self)
		pc_obj.validate_reference_value(self)
		self.check_for_stopped_status(pc_obj)

		# sub-contracting
		self.validate_for_subcontracting()
		self.update_raw_materials_supplied("pr_raw_material_details")
		
		self.update_valuation_rate("purchase_receipt_details")
开发者ID:twocngdagz,项目名称:erpnext,代码行数:28,代码来源:purchase_receipt.py

示例15: update_stock_ledger

	def update_stock_ledger(self, update_stock):
		self.values = []
		for d in self.get_item_list():
			if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes":
				# this happens when item is changed from non-stock to stock item
				if not d["warehouse"]:
					continue
				
				if d['reserved_qty'] < 0 :
					# Reduce reserved qty from reserved warehouse mentioned in so
					if not d["reserved_warehouse"]:
						webnotes.throw(_("Reserved Warehouse is missing in Sales Order"))
						
					args = {
						"item_code": d['item_code'],
						"voucher_type": self.doc.doctype,
						"voucher_no": self.doc.name,
						"reserved_qty": flt(update_stock) * flt(d['reserved_qty']),
						"posting_date": self.doc.posting_date,
						"is_amended": self.doc.amended_from and 'Yes' or 'No'
					}
					get_obj("Warehouse", d["reserved_warehouse"]).update_bin(args)
						
				# Reduce actual qty from warehouse
				self.make_sl_entry(d, d['warehouse'], - flt(d['qty']) , 0, update_stock)
		
		get_obj('Stock Ledger', 'Stock Ledger').update_stock(self.values)
开发者ID:rajatkapoor,项目名称:erpnext,代码行数:27,代码来源:delivery_note.py


注:本文中的webnotes.model.code.get_obj函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。