コード例 #1
0
ファイル: delivery_note.py プロジェクト: LPlusPlus/erpnext
	def update_serial_nos(self, cancel=False):
		from stock.doctype.stock_ledger_entry.stock_ledger_entry import update_serial_nos_after_submit, get_serial_nos
		update_serial_nos_after_submit(self, "Delivery Note", "delivery_note_details")
		update_serial_nos_after_submit(self, "Delivery Note", "packing_details")

		for table_fieldname in ("delivery_note_details", "packing_details"):
			for d in self.doclist.get({"parentfield": table_fieldname}):
				for serial_no in get_serial_nos(d.serial_no):
					sr = webnotes.bean("Serial No", serial_no)
					if cancel:
						sr.doc.status = "Available"
						for fieldname in ("warranty_expiry_date", "delivery_document_type", 
							"delivery_document_no", "delivery_date", "delivery_time", "customer", 
							"customer_name"):
							sr.doc.fields[fieldname] = None
					else:
						sr.doc.delivery_document_type = "Delivery Note"
						sr.doc.delivery_document_no = self.doc.name
						sr.doc.delivery_date = self.doc.posting_date
						sr.doc.delivery_time = self.doc.posting_time
						sr.doc.customer = self.doc.customer
						sr.doc.customer_name	= self.doc.customer_name
						if sr.doc.warranty_period:
							sr.doc.warranty_expiry_date	= add_days(cstr(self.doc.posting_date), 
								cint(sr.doc.warranty_period))
						sr.doc.status =	'Delivered'

					sr.save()
コード例 #2
0
    def test_serialized(self):
        from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
        from stock.doctype.stock_ledger_entry.stock_ledger_entry import get_serial_nos

        se = make_serialized_item()
        serial_nos = get_serial_nos(se.doclist[1].serial_no)

        si = webnotes.bean(copy=test_records[0])
        si.doc.update_stock = 1
        si.doclist[1].item_code = "_Test Serialized Item With Series"
        si.doclist[1].qty = 1
        si.doclist[1].serial_no = serial_nos[0]
        si.insert()
        si.submit()

        self.assertEquals(
            webnotes.conn.get_value("Serial No", serial_nos[0], "status"),
            "Delivered")
        self.assertFalse(
            webnotes.conn.get_value("Serial No", serial_nos[0], "warehouse"))
        self.assertEquals(
            webnotes.conn.get_value("Serial No", serial_nos[0],
                                    "delivery_document_no"), si.doc.name)

        return si
コード例 #3
0
	def update_serial_nos(self, cancel=False):
		from stock.doctype.stock_ledger_entry.stock_ledger_entry import update_serial_nos_after_submit, get_serial_nos
		update_serial_nos_after_submit(self, self.doc.doctype, self.fname)
		update_serial_nos_after_submit(self, self.doc.doctype, "packing_details")

		for table_fieldname in (self.fname, "packing_details"):
			for d in self.doclist.get({"parentfield": table_fieldname}):
				for serial_no in get_serial_nos(d.serial_no):
					sr = webnotes.bean("Serial No", serial_no)
					if cancel:
						sr.doc.status = "Available"
						for fieldname in ("warranty_expiry_date", "delivery_document_type", 
							"delivery_document_no", "delivery_date", "delivery_time", "customer", 
							"customer_name"):
							sr.doc.fields[fieldname] = None
					else:
						sr.doc.delivery_document_type = self.doc.doctype
						sr.doc.delivery_document_no = self.doc.name
						sr.doc.delivery_date = self.doc.posting_date
						sr.doc.delivery_time = self.doc.posting_time
						sr.doc.customer = self.doc.customer
						sr.doc.customer_name	= self.doc.customer_name
						if sr.doc.warranty_period:
							sr.doc.warranty_expiry_date = add_days(cstr(self.doc.posting_date), 
								cint(sr.doc.warranty_period))
						sr.doc.status =	'Delivered'

					sr.save()
コード例 #4
0
	def test_serialized_cancel(self):
		from stock.doctype.stock_ledger_entry.stock_ledger_entry import get_serial_nos
		dn = self.test_serialized()
		dn.cancel()

		serial_nos = get_serial_nos(dn.doclist[1].serial_no)

		self.assertEquals(webnotes.conn.get_value("Serial No", serial_nos[0], "status"), "Available")
		self.assertEquals(webnotes.conn.get_value("Serial No", serial_nos[0], "warehouse"), "_Test Warehouse - _TC")
		self.assertFalse(webnotes.conn.get_value("Serial No", serial_nos[0], 
			"delivery_document_no"))
コード例 #5
0
ファイル: purchase_receipt.py プロジェクト: BANSALJEE/erpnext
	def update_serial_nos(self, cancel=False):
		from stock.doctype.stock_ledger_entry.stock_ledger_entry import update_serial_nos_after_submit, get_serial_nos
		update_serial_nos_after_submit(self, "Purchase Receipt", "purchase_receipt_details")

		for d in self.doclist.get({"parentfield": "purchase_receipt_details"}):
			for serial_no in get_serial_nos(d.serial_no):
				sr = webnotes.bean("Serial No", serial_no)
				if cancel:
					sr.doc.supplier = None
					sr.doc.supplier_name = None
				else:
					sr.doc.supplier = self.doc.supplier
					sr.doc.supplier_name = self.doc.supplier_name
				sr.save()
コード例 #6
0
    def update_serial_nos(self, cancel=False):
        from stock.doctype.stock_ledger_entry.stock_ledger_entry import update_serial_nos_after_submit, get_serial_nos
        update_serial_nos_after_submit(self, "Purchase Receipt",
                                       "purchase_receipt_details")

        for d in self.doclist.get({"parentfield": "purchase_receipt_details"}):
            for serial_no in get_serial_nos(d.serial_no):
                sr = webnotes.bean("Serial No", serial_no)
                if cancel:
                    sr.doc.supplier = None
                    sr.doc.supplier_name = None
                else:
                    sr.doc.supplier = self.doc.supplier
                    sr.doc.supplier_name = self.doc.supplier_name
                sr.save()
コード例 #7
0
    def test_serialized_cancel(self):
        from stock.doctype.stock_ledger_entry.stock_ledger_entry import get_serial_nos
        si = self.test_serialized()
        si.cancel()

        serial_nos = get_serial_nos(si.doclist[1].serial_no)

        self.assertEquals(
            webnotes.conn.get_value("Serial No", serial_nos[0], "status"),
            "Available")
        self.assertEquals(
            webnotes.conn.get_value("Serial No", serial_nos[0], "warehouse"),
            "_Test Warehouse - _TC")
        self.assertFalse(
            webnotes.conn.get_value("Serial No", serial_nos[0],
                                    "delivery_document_no"))
コード例 #8
0
ファイル: stock_entry.py プロジェクト: andrewabel/erpnext
	def update_serial_no(self, is_submit):
		"""Create / Update Serial No"""

		from stock.doctype.stock_ledger_entry.stock_ledger_entry import update_serial_nos_after_submit, get_serial_nos
		update_serial_nos_after_submit(self, "Stock Entry", "mtn_details")
		
		for d in getlist(self.doclist, 'mtn_details'):
			for serial_no in get_serial_nos(d.serial_no):
				if self.doc.purpose == 'Purchase Return':
					sr = webnotes.bean("Serial No", serial_no)
					sr.doc.status = "Purchase Returned" if is_submit else "Available"
					sr.save()
				
				if self.doc.purpose == "Sales Return":
					sr = webnotes.bean("Serial No", serial_no)
					sr.doc.status = "Sales Returned" if is_submit else "Delivered"
					sr.save()
コード例 #9
0
    def update_serial_no(self, is_submit):
        """Create / Update Serial No"""

        from stock.doctype.stock_ledger_entry.stock_ledger_entry import update_serial_nos_after_submit, get_serial_nos
        update_serial_nos_after_submit(self, "Stock Entry", "mtn_details")

        for d in getlist(self.doclist, 'mtn_details'):
            for serial_no in get_serial_nos(d.serial_no):
                if self.doc.purpose == 'Purchase Return':
                    sr = webnotes.bean("Serial No", serial_no)
                    sr.doc.status = "Purchase Returned" if is_submit else "Available"
                    sr.save()

                if self.doc.purpose == "Sales Return":
                    sr = webnotes.bean("Serial No", serial_no)
                    sr.doc.status = "Sales Returned" if is_submit else "Delivered"
                    sr.save()
コード例 #10
0
	def test_serialize_status(self):
		from stock.doctype.stock_ledger_entry.stock_ledger_entry import SerialNoStatusError, get_serial_nos
		from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
		
		se = make_serialized_item()
		serial_nos = get_serial_nos(se.doclist[1].serial_no)
		
		sr = webnotes.bean("Serial No", serial_nos[0])
		sr.doc.status = "Not Available"
		sr.save()
		
		dn = webnotes.bean(copy=test_records[0])
		dn.doclist[1].item_code = "_Test Serialized Item With Series"
		dn.doclist[1].qty = 1
		dn.doclist[1].serial_no = serial_nos[0]
		dn.insert()

		self.assertRaises(SerialNoStatusError, dn.submit)
コード例 #11
0
    def test_serialize_status(self):
        from stock.doctype.stock_ledger_entry.stock_ledger_entry import SerialNoStatusError, get_serial_nos
        from stock.doctype.stock_entry.test_stock_entry import make_serialized_item

        se = make_serialized_item()
        serial_nos = get_serial_nos(se.doclist[1].serial_no)

        sr = webnotes.bean("Serial No", serial_nos[0])
        sr.doc.status = "Not Available"
        sr.save()

        dn = webnotes.bean(copy=test_records[0])
        dn.doclist[1].item_code = "_Test Serialized Item With Series"
        dn.doclist[1].qty = 1
        dn.doclist[1].serial_no = serial_nos[0]
        dn.insert()

        self.assertRaises(SerialNoStatusError, dn.submit)
コード例 #12
0
    def test_serialized(self):
        from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
        from stock.doctype.stock_ledger_entry.stock_ledger_entry import get_serial_nos

        se = make_serialized_item()
        serial_nos = get_serial_nos(se.doclist[1].serial_no)

        dn = webnotes.bean(copy=test_records[0])
        dn.doclist[1].item_code = "_Test Serialized Item With Series"
        dn.doclist[1].qty = 1
        dn.doclist[1].serial_no = serial_nos[0]
        dn.insert()
        dn.submit()

        self.assertEquals(webnotes.conn.get_value("Serial No", serial_nos[0], "status"), "Delivered")
        self.assertFalse(webnotes.conn.get_value("Serial No", serial_nos[0], "warehouse"))
        self.assertEquals(webnotes.conn.get_value("Serial No", serial_nos[0], "delivery_document_no"), dn.doc.name)

        return dn