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()
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
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
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
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()
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
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
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()
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()