当前位置: 首页>>代码示例>>Python>>正文


Python Document.fields[key]方法代码示例

本文整理汇总了Python中webnotes.model.doc.Document.fields[key]方法的典型用法代码示例。如果您正苦于以下问题:Python Document.fields[key]方法的具体用法?Python Document.fields[key]怎么用?Python Document.fields[key]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在webnotes.model.doc.Document的用法示例。


在下文中一共展示了Document.fields[key]方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: create_production_order

# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import fields[key] [as 别名]
	def create_production_order(self,company, pp_items):
		"""Create production order. Called from Production Planning Tool"""
					 
		default_values = { 
			'posting_date'		: nowdate(),
			'origin'			: 'MRP',
			'wip_warehouse'		: '',
			'fg_warehouse'		: '',
			'status'			: 'Draft',
			'company'			: company,
			'fiscal_year'		: get_defaults()['fiscal_year'] 
		}
		pro_list = []

		for d in pp_items:
			pro_doc = Document('Production Order')
			for key in d.keys():
				pro_doc.fields[key] = d[key]

			for key in default_values:
				pro_doc.fields[key] = default_values[key]
			
			pro_doc.save(new = 1)
			pro_list.append(pro_doc.name)
			
		return pro_list
开发者ID:calvinfroedge,项目名称:erpnext,代码行数:28,代码来源:production_control.py

示例2: create_production_order

# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import fields[key] [as 别名]
  def create_production_order(self,company, fy, pp_detail = '', pro_detail = ''):
    pro_lbl = {'production_item': 0, 'description': 1, 'qty' : 2, 'stock_uom' : 3, 'bom_no': 4, 'consider_sa_items': 5}
           
    default_values = { 'transaction_date'            : now(),
                       'origin'          : pp_detail and 'MRP' or 'Direct',
                       'wip_warehouse'   : 'MB1-Stores',
                       'status'          : 'Draft',
                       'company'         : company,
                       'fiscal_year'     : fy }
     
    pro_list, count = pp_detail and pp_detail or pro_detail, 0

    while (count < len(pro_list)):
      pro_doc = Document('Production Order')

      for key in pro_lbl.keys():
        pro_doc.fields[key] = pro_list[count][pro_lbl[key]]
      
      for key in default_values:
        pro_doc.fields[key] = default_values[key]
      
      pro_doc.save(new = 1)
      pro_list[count] = pro_doc.name
      
      # This was for adding raw materials in pro detail and get sa items
      #sa_list = get_obj('Porduction Order', pro_doc.name, with_children = 1).get_purchase_item( get_sa_items = 1, add_child= 1)
      #for sa_item in sa_list:
      #  pro_list.append(sa_item)

      count = count + 1
    return pro_list
开发者ID:Morphnus-IT-Solutions,项目名称:trimos,代码行数:33,代码来源:production_control.py

示例3: create_production_order

# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import fields[key] [as 别名]
	def create_production_order(self, items):
		"""Create production order. Called from Production Planning Tool"""
					 
		default_values = { 
			'posting_date'		: nowdate(),
			'origin'			: 'MRP',
			'wip_warehouse'		: '',
			'fg_warehouse'		: '',
			'status'			: 'Draft',
			'fiscal_year'		: get_defaults()['fiscal_year']
		}
		pro_list = []

		for item_so in items:
			if item_so[1]:
				self.validate_production_order_against_so(
					item_so[0], item_so[1], items[item_so].get("qty"))
				
			pro_doc = Document('Production Order')
			pro_doc.production_item = item_so[0]
			pro_doc.sales_order = item_so[1]
			for key in items[item_so]:
				pro_doc.fields[key] = items[item_so][key]

			for key in default_values:
				pro_doc.fields[key] = default_values[key]
			
			pro_doc.save(new = 1)
			pro_list.append(pro_doc.name)
			
		return pro_list
开发者ID:AminfiBerlin,项目名称:erpnext,代码行数:33,代码来源:production_control.py

示例4: create_production_order

# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import fields[key] [as 别名]
	def create_production_order(self, items):
		"""Create production order. Called from Production Planning Tool"""

		pro_list = []
		for item_so in items:
			pro_doc = Document('Production Order')
			pro_doc.production_item = item_so[0]
			pro_doc.sales_order = item_so[1]
			for key in items[item_so]:
				pro_doc.fields[key] = items[item_so][key]
			
			pro_doc.save(new = 1)
			
			get_obj("Production Order", pro_doc.name).validate_production_order_against_so()
			pro_list.append(pro_doc.name)
			
		return pro_list
开发者ID:frank1638,项目名称:erpnext,代码行数:19,代码来源:production_planning_tool.py

示例5: update_permissions

# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import fields[key] [as 别名]
	def update_permissions(self,args=''):
		args = eval(args)
		di = args['perm_dict']
		doctype_keys = di.keys()	# ['Opportunity','Competitor','Zone','State']
		for parent in doctype_keys:
			for permlevel in di[parent].keys():
				for role in di[parent][permlevel].keys(): 
				
					if role:
				
						# check if Permissions for that perm level and Role exists
						exists = sql("select name from tabDocPerm where parent = %s and role = %s and ifnull(permlevel, 0) = %s",(parent, role, cint(permlevel)))
	
						# Get values of dictionary of Perm Level
						pd = di[parent][permlevel][role]

						# update
						if exists and (1 in pd.values()):
							sql("update tabDocPerm set `read` = %s, `write` = %s, `create` = %s, `submit` = %s, `cancel` = %s, `amend` = %s, `match`=%s where parent = %s and role = %s and permlevel = %s",(pd['read'],pd['write'],pd['create'],pd['submit'],pd['cancel'],pd['amend'], pd.get('match'), parent, role, permlevel))
							
						# new
						elif not exists and (1 in pd.values()):

							ch = Document('DocPerm')
							ch.parentfield = 'permissions'
							ch.parenttype = 'DocType'
							ch.parent = parent
							ch.role = role
							ch.permlevel = cint(permlevel)
							for key in pd.keys():
								ch.fields[key] = pd.get(key, None)
							ch.save(1)
	
						# delete
						elif exists and (1 not in pd.values()):
							sql("delete from tabDocPerm where parent = %s and role = %s and ifnull(permlevel,0) = %s",(parent, role, cint(permlevel)))
						
						sql("update tabDocType set modified = %s where name = %s",(now(), parent))


		from webnotes.utils.cache import CacheItem
		CacheItem(parent).clear()		

		msgprint("Permissions Updated")
开发者ID:hbkfabio,项目名称:erpnext,代码行数:46,代码来源:permission_control.py

示例6: update_permissions

# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import fields[key] [as 别名]
    def update_permissions(self, args=""):
        args = eval(args)
        di = args["perm_dict"]
        doctype_keys = di.keys()  # ['Opportunity','Competitor','Zone','State']
        for parent in doctype_keys:
            for permlevel in di[parent].keys():
                for role in di[parent][permlevel].keys():

                    if role:

                        # check if Permissions for that perm level and Role exists
                        exists = sql(
                            "select name from tabDocPerm where parent = %s and role = %s and ifnull(permlevel, 0) = %s",
                            (parent, role, cint(permlevel)),
                        )

                        # Get values of dictionary of Perm Level
                        pd = di[parent][permlevel][role]

                        # update
                        if exists and (1 in pd.values()):
                            sql(
                                "update tabDocPerm set `read` = %s, `write` = %s, `create` = %s, `submit` = %s, `cancel` = %s, `amend` = %s, `match`=%s where parent = %s and role = %s and permlevel = %s",
                                (
                                    pd["read"],
                                    pd["write"],
                                    pd["create"],
                                    pd["submit"],
                                    pd["cancel"],
                                    pd["amend"],
                                    pd.get("match"),
                                    parent,
                                    role,
                                    permlevel,
                                ),
                            )

                            # new
                        elif not exists and (1 in pd.values()):

                            ch = Document("DocPerm")
                            ch.parentfield = "permissions"
                            ch.parenttype = "DocType"
                            ch.parent = parent
                            ch.role = role
                            ch.permlevel = cint(permlevel)
                            for key in pd.keys():
                                ch.fields[key] = pd.get(key, None)
                            ch.save(1)

                            # delete
                        elif exists and (1 not in pd.values()):
                            sql(
                                "delete from tabDocPerm where parent = %s and role = %s and ifnull(permlevel,0) = %s",
                                (parent, role, cint(permlevel)),
                            )

                        sql("update tabDocType set modified = %s where name = %s", (now(), parent))

        webnotes.clear_cache(doctype=parent)

        msgprint("Permissions Updated")
开发者ID:AminfiBerlin,项目名称:erpnext,代码行数:64,代码来源:permission_control.py


注:本文中的webnotes.model.doc.Document.fields[key]方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。