Esempio n. 1
0
    def on_submit(self):
        super(PurchaseReceipt, self).on_submit()

        # Check for Approving Authority
        frappe.get_doc("Authorization Control").validate_approving_authority(
            self.doctype, self.company, self.base_grand_total)

        self.update_prevdoc_status()
        if flt(self.per_billed) < 100:
            self.update_billing_status()
        else:
            self.db_set("status", "Completed")

        # Updating stock ledger should always be called after updating prevdoc status,
        # because updating ordered qty, reserved_qty_for_subcontract in bin
        # depends upon updated ordered qty in PO
        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit

        update_serial_nos_after_submit(self, "items")

        self.make_gl_entries()
        self.repost_future_sle_and_gle()
        self.set_consumed_qty_in_po()
Esempio n. 2
0
	def on_submit(self):
		super(PurchaseInvoice, self).on_submit()

		self.check_prev_docstatus()
		self.update_status_updater_args()
		self.update_prevdoc_status()

		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

		if not self.is_return:
			self.update_against_document_in_jv()
			self.update_billing_status_for_zero_amount_refdoc("Purchase Receipt")
			self.update_billing_status_for_zero_amount_refdoc("Purchase Order")
			self.update_billing_status_in_pr()

		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty in bin depends upon updated ordered qty in PO
		if self.update_stock == 1:
			self.update_stock_ledger()
			from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
			update_serial_nos_after_submit(self, "items")

		# this sequence because outstanding may get -negative
		self.make_gl_entries()

		self.update_project()
		update_linked_invoice(self.doctype, self.name, self.inter_company_invoice_reference)
Esempio n. 3
0
	def on_submit(self):
		purchase_controller = frappe.get_doc("Purchase Common")

		# Check for Approving Authority
		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

		# Set status as Submitted
		frappe.db.set(self, 'status', 'Submitted')

		self.update_prevdoc_status()
		self.update_billing_status()

		if not self.is_return:
			purchase_controller.update_last_purchase_rate(self, 1)

		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty in bin depends upon updated ordered qty in PO
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")

		self.make_gl_entries()
		#self.consume_budget()
		self.update_asset()
Esempio n. 4
0
	def on_submit(self):
		self.update_stock_ledger()
		self.make_gl_entries()
		self.repost_future_sle_and_gle()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")
Esempio n. 5
0
    def on_submit(self):
        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
        update_serial_nos_after_submit(self, "mtn_details")
        self.update_production_order()
        self.make_gl_entries()
Esempio n. 6
0
    def on_submit(self):
        purchase_controller = frappe.get_doc("Purchase Common")

        # Check for Approving Authority
        frappe.get_doc('Authorization Control').validate_approving_authority(
            self.doctype, self.company, self.base_grand_total)

        # Set status as Submitted
        frappe.db.set(self, 'status', 'Submitted')

        self.update_prevdoc_status()
        self.update_billing_status()

        if not self.is_return:
            purchase_controller.update_last_purchase_rate(self, 1)

        # Updating stock ledger should always be called after updating prevdoc status,
        # because updating ordered qty in bin depends upon updated ordered qty in PO
        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
        update_serial_nos_after_submit(self, "items")

        self.make_gl_entries()
        #self.consume_budget()
        self.update_asset()
Esempio n. 7
0
	def on_submit(self):
		super(PurchaseInvoice, self).on_submit()

		self.check_prev_docstatus()

		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

                # make purchase receipt
		if (self.make_receipt == 1):
			# from erpnext.stock.doctype.purchase_receipt.purchase_receipt import update_stock_ledger
			self.update_stock_ledger()
			self.make_gl_entries()
			from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
			update_serial_nos_after_submit(self, "items")
			self.update_status_updater_args()
			self.update_prevdoc_status()

		# this sequence because outstanding may get -negative
		self.make_gl_entries1()
		if not self.is_return:
			self.update_against_document_in_jv()
			self.update_prevdoc_status()
			self.update_billing_status_for_zero_amount_refdoc("Purchase Order")
			self.update_billing_status_in_pr()

		self.update_project()
Esempio n. 8
0
	def on_submit(self):
		super(PurchaseReceipt, self).on_submit()

		# Check for Approving Authority
		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

		self.update_prevdoc_status()
		if flt(self.per_billed) < 100:
			self.update_billing_status()
		else:
			self.status = "Completed"


		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty, reserved_qty_for_subcontract in bin
		# depends upon updated ordered qty in PO
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")

		self.make_gl_entries()
		self.update_package_tag_batch()
		update_per_received_in_production_plan(self)
		self.update_package_tag_is_used()
		self.update_batch_with_supplier()
Esempio n. 9
0
	def on_submit(self):
		super(PurchaseReceipt, self).on_submit()

		# Check for Approving Authority
		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

		self.update_prevdoc_status()
		if flt(self.per_billed) < 100:
			self.update_billing_status()
		else:
			self.status = "Completed"


		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty, reserved_qty_for_subcontract in bin
		# depends upon updated ordered qty in PO
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")

		self.make_gl_entries()

		for item in self.items:
			if item.batch_no and item.package_tag:
				frappe.db.set_value("Package Tag", item.package_tag, "item_code", item.item_code)
				frappe.db.set_value("Package Tag", item.package_tag, "batch_no", item.batch_no)

		self.update_coa_batch_no()
Esempio n. 10
0
	def on_submit(self):
		self.check_prev_docstatus()
		self.update_status_updater_args()

		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

		if not self.is_return:
			self.update_against_document_in_jv()
			self.update_prevdoc_status()
			self.update_billing_status_for_zero_amount_refdoc("Purchase Order")
			self.update_billing_status_in_pr()

		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty in bin depends upon updated ordered qty in PO
		if self.update_stock == 1:
			self.update_stock_ledger()
			from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
			update_serial_nos_after_submit(self, "items")

		# this sequence because outstanding may get -negative
		self.make_gl_entries()

		self.update_project()
		self.update_fixed_asset()
    def on_submit(self):
        purchase_controller = frappe.get_doc("Purchase Common")

        # Check for Approving Authority
        frappe.get_doc("Authorization Control").validate_approving_authority(
            self.doctype, self.company, self.base_grand_total
        )

        # Set status as Submitted
        frappe.db.set(self, "status", "Submitted")

        self.update_prevdoc_status()
        self.update_ordered_qty()

        self.update_billing_status()

        if not self.is_return:
            purchase_controller.update_last_purchase_rate(self, 1)

        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit

        update_serial_nos_after_submit(self, "items")

        self.make_gl_entries()
Esempio n. 12
0
	def on_submit(self):
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "mtn_details")
		self.update_production_order()
		self.make_gl_entries()
    def on_submit(self):
        if self.update_stock == 1:
            self.update_stock_ledger()
            from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
            update_serial_nos_after_submit(self, "items")

        self.make_gl_entries()
        frappe.db.set(self, 'status', 'Submitted')
Esempio n. 14
0
	def on_submit(self):
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")
		self.update_production_order()
		self.validate_purchase_order()
		self.make_gl_entries()
		self.sincronizarCantidad()
	def on_submit(self):
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")
		self.update_production_order()
		self.validate_purchase_order()
		if self.purchase_order and self.purpose == "Subcontract":
			self.update_purchase_order_supplied_items()
		self.make_gl_entries()
    def on_submit(self):
        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
        # there is no child_doc.warehouse present, only child_doc.s_warehouse
        # we have to add the attribute
        for d in self.get("items"):
            d.warehouse = d.s_warehouse
        update_serial_nos_after_submit(self, "items")
        self.make_gl_entries()
        self.reference_update()
Esempio n. 17
0
	def on_submit(self):

		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")
		self.update_production_order()
		self.validate_purchase_order()
		if self.purchase_order and self.purpose == "Subcontract":
			self.update_purchase_order_supplied_items()
		self.make_gl_entries()
		self.update_cost_in_project()
Esempio n. 18
0
	def on_submit(self):
		super(PurchaseReceipt, self).on_submit()

		# Check for Approving Authority
		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype,
			self.company, self.base_grand_total)

		self.update_prevdoc_status()
		if self.per_billed < 100:
			self.update_billing_status()

		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty in bin depends upon updated ordered qty in PO
		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "items")

		self.make_gl_entries()
Esempio n. 19
0
    def on_submit(self):
        super(PurchaseReceipt, self).on_submit()

        # Check for Approving Authority
        frappe.get_doc('Authorization Control').validate_approving_authority(
            self.doctype, self.company, self.base_grand_total)

        self.update_prevdoc_status()
        if self.per_billed < 100:
            self.update_billing_status()

        # Updating stock ledger should always be called after updating prevdoc status,
        # because updating ordered qty in bin depends upon updated ordered qty in PO
        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
        update_serial_nos_after_submit(self, "items")

        self.make_gl_entries()
Esempio n. 20
0
    def on_submit(self):

        if self.material_transfer_type == "Send":
            if self.mt_status == "":
                self.mt_status = "In Transit"

        if self.material_transfer_type == "Receive":
            if self.reference_of_send_entry:
                frappe.db.set_value("Material Transfer",
                                    self.reference_of_send_entry, "mt_status",
                                    "Received")
                self.mt_status = "In Transit"

        self.update_stock_ledger()

        from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
        update_serial_nos_after_submit(self, "items")
        self.update_production_order()
        self.validate_purchase_order()
        self.make_gl_entries()
Esempio n. 21
0
	def on_submit(self):
		purchase_controller = frappe.get_doc("Purchase Common")

		# Check for Approving Authority
		frappe.get_doc('Authorization Control').validate_approving_authority(self.doctype, self.company, self.grand_total)

		# Set status as Submitted
		frappe.db.set(self, 'status', 'Submitted')

		self.update_prevdoc_status()

		self.update_ordered_qty()

		self.update_stock_ledger()

		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
		update_serial_nos_after_submit(self, "purchase_receipt_details")

		purchase_controller.update_last_purchase_rate(self, 1)

		self.make_gl_entries()