本文整理汇总了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
示例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
示例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
示例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
示例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")
示例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")