コード例 #1
0
	def test_pr_billing_status(self):
		# PO -> PR1 -> PI and PO -> PI and PO -> PR2
		from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
		from erpnext.buying.doctype.purchase_order.purchase_order \
			import make_purchase_receipt, make_purchase_invoice as make_purchase_invoice_from_po

		po = create_purchase_order()

		pr1 = make_purchase_receipt(po.name)
		pr1.posting_date = today()
		pr1.posting_time = "10:00"
		pr1.get("items")[0].received_qty = 2
		pr1.get("items")[0].qty = 2
		pr1.submit()

		pi1 = make_purchase_invoice(pr1.name)
		pi1.submit()

		pr1.load_from_db()
		self.assertEqual(pr1.per_billed, 100)

		pi2 = make_purchase_invoice_from_po(po.name)
		pi2.get("items")[0].qty = 4
		pi2.submit()

		pr2 = make_purchase_receipt(po.name)
		pr2.posting_date = today()
		pr2.posting_time = "08:00"
		pr2.get("items")[0].received_qty = 5
		pr2.get("items")[0].qty = 5
		pr2.submit()

		pr1.load_from_db()
		self.assertEqual(pr1.get("items")[0].billed_amt, 1000)
		self.assertEqual(pr1.per_billed, 100)
		self.assertEqual(pr1.status, "Completed")

		pr2.load_from_db()
		self.assertEqual(pr2.get("items")[0].billed_amt, 2000)
		self.assertEqual(pr2.per_billed, 80)
		self.assertEqual(pr2.status, "To Bill")

		pr2.cancel()
		pi2.reload()
		pi2.cancel()
		pi1.reload()
		pi1.cancel()
		pr1.reload()
		pr1.cancel()
		po.reload()
		po.cancel()
コード例 #2
0
    def test_pr_billing_status(self):
        # PO -> PR1 -> PI and PO -> PI and PO -> PR2
        from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
        from erpnext.buying.doctype.purchase_order.purchase_order import (
            make_purchase_receipt,
            make_purchase_invoice as make_purchase_invoice_from_po,
        )

        po = create_purchase_order()

        pr1 = make_purchase_receipt(po.name)
        pr1.posting_date = today()
        pr1.posting_time = "10:00"
        pr1.get("items")[0].received_qty = 2
        pr1.get("items")[0].qty = 2
        pr1.submit()

        pi1 = make_purchase_invoice(pr1.name)
        pi1.submit()

        pr1.load_from_db()
        self.assertEqual(pr1.per_billed, 100)

        pi2 = make_purchase_invoice_from_po(po.name)
        pi2.get("items")[0].qty = 4
        pi2.submit()

        pr2 = make_purchase_receipt(po.name)
        pr2.posting_date = today()
        pr2.posting_time = "08:00"
        pr2.get("items")[0].received_qty = 5
        pr2.get("items")[0].qty = 5
        pr2.submit()

        pr1.load_from_db()
        self.assertEqual(pr1.get("items")[0].billed_amt, 1000)
        self.assertEqual(pr1.per_billed, 100)
        self.assertEqual(pr1.status, "Completed")

        self.assertEqual(pr2.get("items")[0].billed_amt, 2000)
        self.assertEqual(pr2.per_billed, 80)
        self.assertEqual(pr2.status, "To Bill")