Example #1
0
    def make_material_receipt(self, submit=False):
        stock_entry = frappe.new_doc('Stock Entry')

        stock_entry.stock_entry_type = 'Material Receipt'
        stock_entry.to_warehouse = self.warehouse
        stock_entry.company = self.company
        expense_account = get_account(None, 'expense_account',
                                      'Healthcare Settings', self.company)
        for item in self.items:
            if item.qty > item.actual_qty:
                se_child = stock_entry.append('items')
                se_child.item_code = item.item_code
                se_child.item_name = item.item_name
                se_child.uom = item.uom
                se_child.stock_uom = item.stock_uom
                se_child.qty = flt(item.qty - item.actual_qty)
                se_child.t_warehouse = self.warehouse
                # in stock uom
                se_child.transfer_qty = flt(item.transfer_qty)
                se_child.conversion_factor = flt(item.conversion_factor)
                cost_center = frappe.get_cached_value('Company', self.company,
                                                      'cost_center')
                se_child.cost_center = cost_center
                se_child.expense_account = expense_account
        if submit:
            stock_entry.submit()
            return stock_entry
        return stock_entry.as_dict()
Example #2
0
    def make_stock_entry(self):
        stock_entry = frappe.new_doc('Stock Entry')
        stock_entry.purpose = 'Material Issue'
        stock_entry.set_stock_entry_type()
        stock_entry.from_warehouse = self.warehouse
        stock_entry.company = self.company
        stock_entry.inpatient_medication_entry = self.name
        cost_center = frappe.get_cached_value('Company', self.company,
                                              'cost_center')
        expense_account = get_account(None, 'expense_account',
                                      'Healthcare Settings', self.company)

        for entry in self.medication_orders:
            se_child = stock_entry.append('items')
            se_child.item_code = entry.drug_code
            se_child.item_name = entry.drug_name
            se_child.uom = frappe.db.get_value('Item', entry.drug_code,
                                               'stock_uom')
            se_child.stock_uom = se_child.uom
            se_child.qty = flt(entry.dosage)
            # in stock uom
            se_child.conversion_factor = 1
            se_child.cost_center = cost_center
            se_child.expense_account = expense_account
            # references
            se_child.patient = entry.patient
            se_child.inpatient_medication_entry_child = entry.name

        stock_entry.submit()
        return stock_entry.name
Example #3
0
def make_difference_stock_entry(docname):
    doc = frappe.get_doc('Inpatient Medication Entry', docname)
    drug_shortage = get_drug_shortage_map(doc.medication_orders, doc.warehouse)

    if not drug_shortage:
        return None

    stock_entry = frappe.new_doc('Stock Entry')
    stock_entry.purpose = 'Material Transfer'
    stock_entry.set_stock_entry_type()
    stock_entry.to_warehouse = doc.warehouse
    stock_entry.company = doc.company
    cost_center = frappe.get_cached_value('Company', doc.company,
                                          'cost_center')
    expense_account = get_account(None, 'expense_account',
                                  'Healthcare Settings', doc.company)

    for drug, shortage_qty in drug_shortage.items():
        se_child = stock_entry.append('items')
        se_child.item_code = drug
        se_child.item_name = frappe.db.get_value('Item', drug, 'stock_uom')
        se_child.uom = frappe.db.get_value('Item', drug, 'stock_uom')
        se_child.stock_uom = se_child.uom
        se_child.qty = flt(shortage_qty)
        se_child.t_warehouse = doc.warehouse
        # in stock uom
        se_child.conversion_factor = 1
        se_child.cost_center = cost_center
        se_child.expense_account = expense_account

    return stock_entry
Example #4
0
    def make_stock_entry(self):
        stock_entry = frappe.new_doc("Stock Entry")
        stock_entry.purpose = "Material Issue"
        stock_entry.set_stock_entry_type()
        stock_entry.from_warehouse = self.warehouse
        stock_entry.company = self.company
        stock_entry.inpatient_medication_entry = self.name
        cost_center = frappe.get_cached_value("Company", self.company,
                                              "cost_center")
        expense_account = get_account(None, "expense_account",
                                      "Healthcare Settings", self.company)

        for entry in self.medication_orders:
            se_child = stock_entry.append("items")
            se_child.item_code = entry.drug_code
            se_child.item_name = entry.drug_name
            se_child.uom = frappe.db.get_value("Item", entry.drug_code,
                                               "stock_uom")
            se_child.stock_uom = se_child.uom
            se_child.qty = flt(entry.dosage)
            # in stock uom
            se_child.conversion_factor = 1
            se_child.cost_center = cost_center
            se_child.expense_account = expense_account
            # references
            se_child.patient = entry.patient
            se_child.inpatient_medication_entry_child = entry.name

        stock_entry.submit()
        return stock_entry.name
Example #5
0
def make_stock_entry(warehouse=None):
    frappe.db.set_value(
        "Company",
        "_Test Company",
        {
            "stock_adjustment_account": "Stock Adjustment - _TC",
            "default_inventory_account": "Stock In Hand - _TC",
        },
    )
    stock_entry = frappe.new_doc("Stock Entry")
    stock_entry.stock_entry_type = "Material Receipt"
    stock_entry.company = "_Test Company"
    stock_entry.to_warehouse = warehouse or "Stores - _TC"
    expense_account = get_account(None, "expense_account",
                                  "Healthcare Settings", "_Test Company")
    se_child = stock_entry.append("items")
    se_child.item_code = "Dextromethorphan"
    se_child.item_name = "Dextromethorphan"
    se_child.uom = "Nos"
    se_child.stock_uom = "Nos"
    se_child.qty = 6
    se_child.t_warehouse = "Stores - _TC"
    # in stock uom
    se_child.conversion_factor = 1.0
    se_child.expense_account = expense_account
    stock_entry.submit()
Example #6
0
def make_stock_entry(doc):
	stock_entry = frappe.new_doc('Stock Entry')
	stock_entry = set_stock_items(stock_entry, doc.name, 'Clinical Procedure')
	stock_entry.stock_entry_type = 'Material Issue'
	stock_entry.from_warehouse = doc.warehouse
	stock_entry.company = doc.company
	expense_account = get_account(None, 'expense_account', 'Healthcare Settings', doc.company)

	for item_line in stock_entry.items:
		cost_center = frappe.get_cached_value('Company',  doc.company,  'cost_center')
		item_line.cost_center = cost_center
		item_line.expense_account = expense_account

	stock_entry.save(ignore_permissions=True)
	stock_entry.submit()
	return stock_entry.name
Example #7
0
def make_stock_entry(doc):
    stock_entry = frappe.new_doc("Stock Entry")
    stock_entry = set_stock_items(stock_entry, doc.name, "Clinical Procedure")
    stock_entry.stock_entry_type = "Material Issue"
    stock_entry.from_warehouse = doc.warehouse
    stock_entry.company = doc.company
    expense_account = get_account(None, "expense_account",
                                  "Healthcare Settings", doc.company)

    for item_line in stock_entry.items:
        cost_center = frappe.get_cached_value("Company", doc.company,
                                              "cost_center")
        item_line.cost_center = cost_center
        item_line.expense_account = expense_account

    stock_entry.save(ignore_permissions=True)
    stock_entry.submit()
    return stock_entry.name
Example #8
0
def create_stock_entry(doc):
	stock_entry = frappe.new_doc("Stock Entry")
	stock_entry = set_stock_items(stock_entry, doc.name, "Clinical Procedure")
	stock_entry.purpose = "Material Issue"
	stock_entry.from_warehouse = doc.warehouse
	stock_entry.company = doc.company
	expense_account = get_account(None, "expense_account", "Healthcare Settings", doc.company)

	for item_line in stock_entry.items:
		cost_center = frappe.get_cached_value('Company',  doc.company,  'cost_center')
		#item_line.s_warehouse = warehouse #deaful source warehouse set, stock entry to copy to lines
		item_line.cost_center = cost_center
		#if not expense_account:
		#	expense_account = frappe.db.get_value("Item", item_line.item_code, "expense_account")
		item_line.expense_account = expense_account

	stock_entry.insert(ignore_permissions = True)
	stock_entry.submit()
Example #9
0
	def make_material_transfer(self):
		stock_entry = frappe.new_doc("Stock Entry")

		stock_entry.purpose = "Material Transfer"
		stock_entry.to_warehouse = self.warehouse
		expense_account = get_account(None, "expense_account", "Healthcare Settings", self.company)
		for item in self.items:
			if item.qty > item.actual_qty:
				se_child = stock_entry.append('items')
				se_child.item_code = item.item_code
				se_child.item_name = item.item_name
				se_child.uom = item.uom
				se_child.stock_uom = item.stock_uom
				se_child.qty = flt(item.qty-item.actual_qty)
				se_child.t_warehouse = self.warehouse
				# in stock uom
				se_child.transfer_qty = flt(item.transfer_qty)
				se_child.conversion_factor = flt(item.conversion_factor)
				cost_center = frappe.get_cached_value('Company',  self.company,  'cost_center')
				se_child.cost_center = cost_center
				se_child.expense_account = expense_account
		return stock_entry.as_dict()
def make_stock_entry():
    frappe.db.set_value(
        'Company', '_Test Company', {
            'stock_adjustment_account': 'Stock Adjustment - _TC',
            'default_inventory_account': 'Stock In Hand - _TC'
        })
    stock_entry = frappe.new_doc('Stock Entry')
    stock_entry.stock_entry_type = 'Material Receipt'
    stock_entry.company = '_Test Company'
    stock_entry.to_warehouse = 'Stores - _TC'
    expense_account = get_account(None, 'expense_account',
                                  'Healthcare Settings', '_Test Company')
    se_child = stock_entry.append('items')
    se_child.item_code = 'Dextromethorphan'
    se_child.item_name = 'Dextromethorphan'
    se_child.uom = 'Nos'
    se_child.stock_uom = 'Nos'
    se_child.qty = 6
    se_child.t_warehouse = 'Stores - _TC'
    # in stock uom
    se_child.conversion_factor = 1.0
    se_child.expense_account = expense_account
    stock_entry.submit()