本文整理汇总了Python中webnotes.model.doc.Document.territory方法的典型用法代码示例。如果您正苦于以下问题:Python Document.territory方法的具体用法?Python Document.territory怎么用?Python Document.territory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webnotes.model.doc.Document
的用法示例。
在下文中一共展示了Document.territory方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_installation_note
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def get_installation_note(customer,emp_id,_type='POST'):
#return "hello "+customer
qr="select customer_name from `tabCustomer` where customer_name="+customer+" "
res=webnotes.conn.sql(qr)
#return res
from webnotes.utils import get_first_day, get_last_day, add_to_date, nowdate, getdate
today = nowdate()
qry="select name from `tabFiscal Year` where is_fiscal_year_closed='No'"
res1=webnotes.conn.sql(qry)
#return res1[0][0]
from webnotes.model.doc import Document
import time
if res :
d= Document('Installation Note')
d.customer=customer[1:-1]
d.customer_name=customer[1:-1]
d.inst_time=time.strftime("%H:%M:%S")
d.inst_date=today
d.employee_id=emp_id[1:-1]
return d.employee_id
d.fiscal_year=res1[0][0]
d.company='medsynaptic'
d.territory='India'
d.customer_group='Individual'
#return d.fiscal_year
d.save()
webnotes.conn.commit()
return d.name
else:
d= Document('Customer')
d.customer_name=customer[1:-1]
d.customer_type='Individual'
d.customer_group='Individual'
d.territory='India'
d.save()
webnotes.conn.commit()
c= Document('Installation Note')
c.customer=customer[1:-1]
c.inst_time=time.strftime("%H:%M:%S")
c.inst_date=today
c.fiscal_year=res1[0][0]
c.employee_id=emp_id[1:-1]
c.company='Medsynaptic'
c.territory='India'
c.customer_group='Individual'
c.save()
webnotes.conn.commit()
return c.name
示例2: create_customer
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def create_customer(self,args):
d = Document('Customer')
d.customer_name = args['Customer Name']
d.innoworth_id=args['Id']
d.customer_type='Individual'
d.customer_group='Commercial'
d.territory='India'
d.company='InnoWorth'
d.save()
return d.name
示例3: set_delivery_serial_no_values
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def set_delivery_serial_no_values(self, obj, serial_no):
s = Document('Serial No', serial_no)
s.delivery_document_type = obj.doc.doctype
s.delivery_document_no = obj.doc.name
s.delivery_date = obj.doc.posting_date
s.delivery_time = obj.doc.posting_time
s.customer = obj.doc.customer
s.customer_name = obj.doc.customer_name
s.delivery_address = obj.doc.address_display
s.territory = obj.doc.territory
s.warranty_expiry_date = s.warranty_period and add_days(cstr(obj.doc.posting_date), s.warranty_period) or ''
s.docstatus = 1
s.status = 'Delivered'
s.modified = nowdate()
s.modified_by = session['user']
s.save()
示例4: on_update
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def on_update(self):
#res="select account_id from `tabFranchise` where region='"+self.doc.region+"'"
#rs=webnotes.conn.sql(res)
#webnotes.errprint(rs)
#self.doc.account_id=rs[0][0]
#webnotes.errprint(self.doc.account_id)
#self.doc.save()
s=webnotes.conn.sql("select customer_name from `tabCustomer` where territory='"+cstr(self.doc.region)+"' and name='"+self.doc.name+"'")
#webnotes.errprint(s)
if not s:
d = Document('Customer')
d.customer_name=self.doc.sf_name
d.territory=self.doc.region
d.account_id=self.doc.account_id
d.sf_name=self.doc.sf_name
d.customer_type='Company'
d.customer_group='Commercial'
示例5: create_customer1
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def create_customer1(auth_key,name,mobile_number,email_id,datetime,version,_type='POST'):
login =[]
loginObj = {}
qr="select name from `tabauth keys` where auth_key="+auth_key
res=webnotes.conn.sql(qr)
if res:
qr1="select name from `tabCustomer Details` where customer_name="+name+" and phone_number="+mobile_number
rs=webnotes.conn.sql(qr1)
if rs :
key={}
key['customer_id']=rs[0][0]
login.append(key)
loginObj['status']='200'
loginObj['customer']=login
return loginObj
else :
from webnotes.model.doc import Document
d = Document('Customer Details')
if len(name)>3:
d.customer_name=name[1:-1]
if len(email_id)>3:
d.customer_email=email_id[1:-1]
if len(mobile_number)>3:
d.phone_number=mobile_number[1:-1]
d.save()
d1 = Document('Customer')
d1.customer_name=name[1:-1]+'-'+mobile_number[1:-1]
d1.territory=''
d1.account_id=''
d1.sf_name=''
d1.customer_type='Company'
d1.customer_group='Commercial'
d1.company='PowerCap'
d1.save(new=1)
if cint(webnotes.defaults.get_global_default("auto_accounting_for_stock")):
if not webnotes.conn.get_value("Account", {"master_type": "Customer","master_name": d1.name}) and not webnotes.conn.get_value("Account", {"master_name": d1.name}):
if not webnotes.conn.get_value("Stock Ledger Entry", {"Warehouse": d1.name}):
ac_bean = webnotes.bean({
"doctype": "Account",
'account_name': d1.name,
'parent_account': "Accounts Receivable - P",
'group_or_ledger':'Ledger',
'debit_or_credit':'Debit',
'company':"PowerCap",
"master_type": "Customer",
"master_name": d1.name,
"freeze_account": "No"
})
ac_bean.ignore_permissions = True
ac_bean.insert()
webnotes.conn.commit()
key={}
key['customer_id']=d.name
login.append(key)
loginObj['status']='200'
loginObj['customer']=login
return loginObj
else:
loginObj['status']='401'
return loginObj
示例6: create_subfranchise1
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def create_subfranchise1(auth_key,name,address,map_location,mobile_number,email_id,datetime,version,_type='POST'):
login =[]
loginObj = {}
if len(auth_key[1:-1])<=0 or len(name[1:-1])<=0 or len(address[1:-1])<=0:
loginObj['status']='401'
loginObj['error']='Incomplete data to create sub- franchise, Please provide token no,name and address'
return loginObj
qr="select name from `tabauth keys` where auth_key="+auth_key
res=webnotes.conn.sql(qr)
if res:
zz=webnotes.conn.sql("select name from `tabSub Franchise` where name='"+name[1:-1]+"'")
if zz:
key={}
key['subfranchise_id']=zz and zz[0][0] or ''
login.append(key)
loginObj['status']='200'
loginObj['subfranchise']=login
return loginObj
else:
str='sent '
from webnotes.utils.email_lib import sendmail
import json,requests
url="http://maps.googleapis.com/maps/api/geocode/json?address="+address+"&sensor=true"
#return url
#webnotes.errprint(url)
r = requests.get(url)
data = json.loads(r.text)
#return data
e=''
sts=data['status']
if sts=='OK':
a=data['results']
b=a[0]
c=b['geometry']
e=c['location']
rig="select region from `tabFranchise` where contact_email='"+res[0][0]+"' order by creation desc limit 1"
rgn=webnotes.conn.sql(rig)
from webnotes.model.doc import Document
d = Document('Sub Franchise')
d.sf_name=name[1:-1]
d.creation=datetime[1:-1]
d.region=rgn and rgn[0][0] or ''
d.address=address[1:-1]
if len(e)>1:
d.lat=e['lat']
d.lon=e['lng']
if len(email_id)>3:
d.email=email_id[1:-1]
if len(mobile_number)>3:
d.c_number=mobile_number[1:-1]
d.save()
d1 = Document('Customer')
d1.customer_name=name[1:-1]+'-'+mobile_number[1:-1]
d1.territory=''
d1.account_id=''
d1.sf_name=''
d1.customer_type='Company'
d1.customer_group='Commercial'
d1.company='PowerCap'
d1.save(new=1)
if cint(webnotes.defaults.get_global_default("auto_accounting_for_stock")):
if not webnotes.conn.get_value("Account", {"master_type": "Customer","master_name": d1.name}) and not webnotes.conn.get_value("Account", {"master_name": d1.name}):
if not webnotes.conn.get_value("Stock Ledger Entry", {"Warehouse": d1.name}):
ac_bean = webnotes.bean({
"doctype": "Account",
'account_name': d1.name,
'parent_account': "Accounts Receivable - P",
'group_or_ledger':'Ledger',
'debit_or_credit':'Debit',
'company':"PowerCap",
"master_type": "Customer",
"master_name": d1.name,
"freeze_account": "No"
})
ac_bean.ignore_permissions = True
ac_bean.insert()
webnotes.conn.commit()
key={}
key['subfranchise_id']=d.name
login.append(key)
loginObj['status']='200'
loginObj['subfranchise']=login
return loginObj
else:
loginObj['status']='401'
return loginObj
示例7: create_invoice
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def create_invoice(auth_key,invoice_type,customer,serial_number,dattime,_type='POST'):
login =[]
loginObj = {}
if len(auth_key[1:-1])<=0 or len(dattime[1:-1])<=0 or len(customer[1:-1])<=0 or len(serial_number[1:-1])<=0 :
loginObj['status']='401'
loginObj['error']='Incomplete data to generate Sales Invoice , Please provide token no , Datetime,customer and serial no'
return loginObj
qr="select name from `tabauth keys` where auth_key="+auth_key
res=webnotes.conn.sql(qr)
rgn=webnotes.conn.sql("select region from `tabFranchise` where contact_email='"+res[0][0]+"'")
zz=serial_number[1:-1].count(' ')
xx=serial_number[1:-1].replace('[','').split(' ')
#xxx=xx.replace(' ','\n')
yy="select item_code,item_name,description from `tabSerial No` where name='"+cstr(xx[0])+"'"
zzz=webnotes.conn.sql(yy)
if not zzz:
loginObj['status']='402'
loginObj['error']='Invalid serails no, please try againg'
return loginObj
pp="select ref_rate from `tabItem Price` where price_list='Standard Selling' and item_code='"+zzz[0][0]+"'"
ppp=webnotes.conn.sql(pp)
if res:
from webnotes.model.doc import Document
d = Document('Sales Invoice')
d.customer=customer[1:-1]
d.customer_name=customer[1:-1]
d.region=rgn[0][0]
d.posting_date=dattime[1:-1]
d.due_date=dattime[1:-1]
d.selling_price_list='Standard Selling'
d.currency='INR'
d.territory='India'
if ppp:
d.net_total_export=ppp[0][0]*zz
d.grand_total_export=ppp[0][0]*zz
d.rounded_total_export=ppp[0][0]*zz
d.outstanding_amount=ppp[0][0]*zz
d.plc_conversion_rate=1
from webnotes.utils import nowdate
from accounts.utils import get_fiscal_year
today = nowdate()
d.fiscal_year=get_fiscal_year(today)[0]
d.debit_to=customer[1:-1]+" - P"
d.is_pos=1
d.cash_bank_account='Cash - P'
d.save()
webnotes.conn.commit()
e=Document('Sales Invoice Item')
e.item_code=zzz[0][0]
e.item_name=zzz[0][1]
e.description=zzz[0][2]
e.qty=zz
e.stock_uom='Nos'
if ppp:
e.ref_rate=ppp[0][0]
e.export_rate=ppp[0][0]
e.export_amount='0'
e.income_account='Sales - P'
e.cost_center='Main - P'
e.serial_no_=serial_number[1:-1].replace('[','').replace(']','')
e.parent=d.name
e.parenttype='Sales Invoice'
e.parentfield='entries'
e.save()
webnotes.conn.commit()
key={}
key['invoice_id_id']=d.name
login.append(key)
loginObj['status']='200'
loginObj['invoice']=login
return loginObj
else:
loginObj['status']='401'
loginObj['error']='invalid token please contact administrator'
return loginObj
示例8: create_in
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def create_in(data,_type='POST'):
from webnotes.model.doc import Document
from webnotes.utils import nowdate,add_months
data1=json.loads(data)
auth_key=data1['token']
invoice_type=data1['invoice_type']
customer=data1['customer']
dattime=data1['datetime']
item_details=data1['item_details']
login =[]
loginObj = {}
amt=0
qt=0
srl=''
cc=''
zz=''
#return data
if len(auth_key[1:-1]) <=0 or len(dattime[1:-1]) <=0 or len(customer[1:-1])<=0 :
loginObj['status']='401'
loginObj['error']='Incomplete data to generate Sales Invoice , Please provide token no , Datetime,customer and serial no'
return loginObj
for ff in item_details:
a=ff['barcode']
c="select item_code,warehouse from `tabSerial No` where name='"+a[:-1]+"'"
cc=webnotes.conn.sql(c)
#webnotes.errprint(c)
#webnotes.errprint(cc)
amt=cint(amt)+cint(ff['rate'])
qt+=1
srl+=a[:-2].replace(',','\n')
#return cc
if cc :
qr="select name from `tabauth keys` where auth_key='"+auth_key+"'"
#return qr
res=webnotes.conn.sql(qr)
if res :
rr="select region from `tabFranchise` where contact_email='"+res[0][0]+"'"
r1=webnotes.conn.sql(rr)
if r1[0][0]==cc[0][1] :
#webnotes.errprint("same")
pass
else:
#webnotes.errprint("different warehouse")
pass
zz+="'"+a[:-1].replace(',','')+"',"
else:
if invoice_type=='CUSTOMER':
l = Document('Customer Details',customer)
l.customer_name=customer
l.save()
webnotes.conn.commit()
for ll in item_details:
m = Document('Customer Data')
m.serial_no=a[:-1]
m.parent=l.name
m.parenttype='Customer Details'
m.parentfield='customer_data'
m.save(new=1)
webnotes.conn.commit()
qrt="select name from `tabauth keys` where auth_key='"+auth_key+"'"
res=webnotes.conn.sql(qrt)
net=0
if res:
a="select name from tabCustomer where name='"+customer+"'"
b=webnotes.conn.sql(a)
if b:
a=''
else:
d = Document('Customer')
d.customer_name=customer
d.name=customer
d.save(new=1)
webnotes.conn.commit()
qr="select name from `tabauth keys` where auth_key='"+auth_key+"'"
#webnotes.errprint(qr)
res=webnotes.conn.sql(qr)
rgn=''
if res :
rr="select region from `tabFranchise` where contact_email='"+res[0][0]+"'"
#webnotes.errprint(qr)
r1=webnotes.conn.sql(rr,as_list=1)
#webnotes.errprint(r1[0][0])
d = Document('Sales Invoice')
d.customer=customer
d.customer_name=customer
d.posting_date=dattime[1:-1]
d.due_date=dattime[1:-1]
d.remarks='Invalid QR code'
d.selling_price_list='Standard Selling'
d.currency='INR'
if r1:
d.territory=r1[0][0]
d.region=r1[0][0]
d.net_total_export=0
d.grand_total_export=0
d.rounded_total_export=0
d.plc_conversion_rate=1
from webnotes.utils import nowdate
#.........这里部分代码省略.........
示例9: get_customer_issue
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def get_customer_issue(installationname,sender_no,message,_type='POST'):
#return installationname[1:-1]
#sender_no1=sender_no[-11:]
qr="select customer,employee_id from `tabInstallation Note` where name='"+installationname[1:-1]+"' "
res=webnotes.conn.sql(qr)
#return qr
x="select customer_name from `tabCustomer` where customer_no='"+sender_no[1:-1]+"' "
y=webnotes.conn.sql(x)
#return x
if y == None:
z="select user_id from `tabEmployee` where cell_number="+sender_no[1:-1]+""
m=webnotes.conn.sql(z)
#return m
w="select status,user_id from `tabEmployee` where name='%s'"%(res[0][1]);
t=webnotes.conn.sql(w)
#return t
from webnotes.utils import get_first_day, get_last_day, add_to_date, nowdate, getdate
today = nowdate()
qry="select name from `tabFiscal Year` where is_fiscal_year_closed='No'"
res1=webnotes.conn.sql(qry)
q=" select territory from `tabCustomer` where name='%s'"%(res[0][0]);
r=webnotes.conn.sql(q)
w=" select parent from `tabDefaultValue` where defkey = '%s' and defvalue = '%s'"%('territory',r[0][0])
a=webnotes.conn.sql(w)
#return a
from webnotes.model.doc import Document
import time
#if res :
d = Document('Support Ticket')
d.opening_time=time.strftime("%H:%M:%S")
if y:
d.raised_by=y[0][0]
elif z:
d.raised_by=z[0][0]
else:
d.raised_by=sender_no1[-11:]
d.subject=installationname[1:-1]
d.customer_name=res[0][0]
d.customer=res[0][0]
d.territory=r[0][0]
d.status='Open'
#d.customer_group='Individual'
d.opening_date=today
#d.fiscal_year=res1[0][0]
d.company='medsynaptic'
d.territory=r[0][0]
#d.raised_by=res[0][1]
if t[0][0] =='Active':
#return t[0][1]
d.assigned_to=t[0][1]
d.assigned_to_higher_level=a[0][0]
else:
d.assigned_to=a[0][0]
d.assigned_to_higher_level=a[0][0]
#d.assigned_to_higher_level=a[0][0]
#return d.fiscal_year
d.save()
webnotes.conn.commit()
#return sender_no[1:-1]
p=send_sms(message[1:-1],sender_no[1:-1])
return d.name
示例10: service_si
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def service_si(self,s):
total_amt=0.00
si=Document("Sales Invoice")
si.customer=webnotes.conn.get_value("Customer",{"innoworth_id":(s['Customer Id']).strip()},"name")
si.customer_name=webnotes.conn.get_value("Customer",{"innoworth_id":(s['Customer Id']).strip()},"name")
si.posting_date=nowdate()
si.due_date=nowdate()
si.company='InnoWorth'
si.conversion_rate=1.00
si.customer_group='Individual'
si.territory=s['Territory']
si.charge=webnotes.conn.get_value("Applicable Territory",{"territory":s['Territory']},"parent")
si.debit_to=webnotes.conn.get_value('Account',{"master_name":si.customer},'name')
si.price_list_currency='INR'
si.currency='INR'
si.selling_price_list='Standard Selling'
si.fiscal_year=webnotes.conn.get_value("Global Defaults", None, "current_fiscal_year")
si.docstatus=1
si.save()
html=""
j=0
item_list=[]
for r in s['Child']:
j=j+1
child_data=sql("select name,item_name,item_group,description,stock_uom from `tabItem` where name='"+(r['Item Name']).strip()+"'",as_list=1)
sic=Document("Sales Invoice Item")
sic.parent=si.name
sic.item_code=child_data[0][0]
sic.item_name=child_data[0][1]
sic.item_group=child_data[0][2]
sic.description=child_data[0][3]
sic.qty=(r['Qty']).strip()
sic.stock_uom=child_data[0][4]
sic.ref_rate=webnotes.conn.get_value("Item Price",{"item_code":(r['Item Name']).strip(),"price_list":"Standard Selling"},"ref_rate")
sic.export_rate=webnotes.conn.get_value("Item Price",{"item_code":(r['Item Name']).strip(),"price_list":"Standard Selling"},"ref_rate")
if child_data[0][1]:
sic.export_amount=cstr(flt(sic.ref_rate)*flt((r['Qty']).strip()))
else:
sic.export_amount=cstr((r['Qty']).strip())
total_amt=cstr(flt(total_amt)+flt(sic.export_amount))
sic.income_account='Sales - innow'
sic.cost_center='Main - innow'
sic.docstatus=1
item_list.append({"item_code":sic.item_code,"export_amt":sic.export_amount})
sic.save()
html+=("<tr><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(j)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sic.item_code)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sic.description)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;text-align:right;'><div>"+cstr(sic.qty)+"</div></td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sic.stock_uom)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'><div style='text-align:right'>₹ "+cstr(sic.ref_rate)+"</div></td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'><div style='text-align: right'>₹ "+cstr(sic.export_amount)+"</div></td></tr>")
tax_total=0.00
tax_html=""
if si.charge:
tax_total=self.create_tax(si.charge,si.name,item_list,'Sales Invoice','Sales Taxes and Charges',total_amt)
tax_html=self.sales_tax_html(si.name,None,0)
si_=Document('Sales Invoice',si.name)
si_.net_total_export=cstr(total_amt)
si_.other_charges_total_export=cstr(tax_total)
si_.grand_total_export=cstr(flt(si_.net_total_export)+flt(si_.other_charges_total_export))
si_.grand_total=cstr(si_.grand_total_export)
si_.rounded_total_export=cstr(round(flt(si_.grand_total_export)))
adv=c_amt=0.00
flag=False
check=0
total=si_.grand_total_export
parent_jv=[]
advance_payment=sql("select credit,parent,name,against_account from `tabJournal Voucher Detail` where account='"+si.debit_to+"' and is_advance='Yes' and credit<>0 and ifnull(against_invoice,'')='' and docstatus=1 order by name asc",as_list=1)
if advance_payment:
for s in advance_payment:
if s[1] not in parent_jv:
parent_jv.append(s[1])
if flt(total) < flt(s[0]) and flag==False:
adv=cstr(si_.grand_total_export)
update_jv=sql("update `tabJournal Voucher Detail` set against_invoice='"+si.name+"', credit='"+cstr(total)+"' where name='"+s[2]+"'")
jv = Document("Journal Voucher Detail")
jv.account=si.debit_to
jv.cost_center= "Main - Frsh"
jv.credit= cstr(flt(s[0])-flt(total))
jv.is_advance= "Yes"
jv.parent=s[1]
jv.against_account=s[3]
jv.docstatus=1
jv.save()
flag=True
elif flag==False:
adv=cstr(flt(adv)+flt(s[0]))
total=cstr(flt(total)-flt(s[0]))
update_jv=sql("update `tabJournal Voucher Detail` set against_invoice='"+si.name+"' where name='"+s[2]+"'")
if flt(total)==0:
flag=True
else:
flag=False
si_.total_advance=cstr(adv)
si_.outstanding_amount=cstr(flt(si_.grand_total_export)-flt(adv))
si_.docstatus=1
si_.save()
if parent_jv:
self.make_adv_payment_gl(parent_jv)
data=[{"against_voucher":si.name,"account":si.debit_to,"debit":cstr(si_.grand_total_export),"credit":"0","against":"Sales - innow","against_voucher_type":"Sales Invoice","voucher_type":"Sales Invoice","voucher_no":si.name,"cost_center":""},{"against_voucher":"","account":'Sales - innow',"debit":"0","credit":cstr(total_amt),"against":si.debit_to,"against_voucher_type":"","voucher_type":"Sales Invoice","voucher_no":si.name,"cost_center":"Main - innow"}]
self.create_gl(data)
a=html_data({"posting_date":datetime.datetime.strptime(nowdate(),'%Y-%m-%d').strftime('%d/%m/%Y'),"due_date":datetime.datetime.strptime(nowdate(),'%Y-%m-%d').strftime('%d/%m/%Y'),"customer_name":si.customer_name,"net_total":si_.net_total_export,"grand_total":si_.grand_total_export,"rounded_total":si_.rounded_total_export,"table_data":html,"date_1":"Posting Date","date_2":"Due Date","doctype":"Sales Invoice","doctype_no":si.name,"company":si.company,"addr_name":"","address":"","tax_detail":tax_html})
file_path_=attach_file(a,[si.name,"Account/Kirana","Sales Invoice"])
return {"Sales Invoice":si.name,"File Copy":file_path_}
示例11: make_so
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def make_so(self,args):
# coding: utf-8
net_tot=0.00
so=Document('Sales Order')
so.transaction_date=nowdate()
so.price_list_currency='INR'
so.currency='INR'
so.selling_price_list='Standard Selling'
so.customer=webnotes.conn.get_value("Customer",{"innoworth_id":(args['Customer Id']).strip()},"name")
so.customer_name=webnotes.conn.get_value("Customer",{"innoworth_id":(args['Customer Id']).strip()},"customer_name")
so.delivery_date=(args['Required Date']).strip()
so.company='InnoWorth'
so.conversion_rate=1.00
so.customer_group='Individual'
if (args['Territory']).strip():
so.territory=(args['Territory']).strip()
so.charge=webnotes.conn.get_value("Applicable Territory",{"territory":so.territory},"parent")
so.fiscal_year=webnotes.conn.get_value("Global Defaults", None, "current_fiscal_year")
so.customer_address=webnotes.conn.get_value("Address",{"customer":so.customer},"name")
so.address_display=get_address_display(so.customer_address)
so.contact_person=webnotes.conn.get_value("Contact",{"customer":so.customer},"name")
so.docstatus=1
so.status='Submitted'
so.plc_conversion_rate=1
so.save()
html=""
sr=0
item_list=[]
for j in args['Child']:
sr=sr+1
soi=Document('Sales Order Item')
soi.item_code=(j['Item Name']).strip()
soi.qty=(j['Qty']).strip()
item_details=webnotes.conn.sql("select default_warehouse,item_name,stock_uom,description from tabItem where name='"+(j['Item Name']).strip()+"'",as_list=1)
soi.reserved_warehouse=item_details[0][0]
soi.item_name=item_details[0][1]
soi.stock_uom=item_details[0][2]
soi.description=item_details[0][3]
rate=webnotes.conn.sql("select ref_rate from `tabItem Price` where price_list='Standard Selling' and item_code='"+(j['Item Name']).strip()+"'",as_list=1)
if rate:
soi.ref_rate=rate[0][0]
soi.export_rate=rate[0][0]
else:
soi.ref_rate=1
soi.export_rate=1
soi.export_amount=cstr(flt(soi.ref_rate)*flt((j['Qty']).strip()))
item_list.append({"item_code":soi.item_code,"export_amt":soi.export_amount})
net_tot=cstr(flt(net_tot)+flt(soi.export_amount))
soi.parentfield='sales_order_details'
soi.parenttype='Sales Order'
soi.docstatus=1
soi.parent=so.name
soi.save(new=1)
html+=("<tr><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sr)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(soi.item_code)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(soi.description)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;text-align:right;'><div>"+cstr(soi.qty)+"</div></td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(soi.stock_uom)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'><div style='text-align:right'>₹ "+cstr(soi.ref_rate)+"</div></td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'><div style='text-align: right'>₹ "+cstr(soi.export_amount)+"</div></td></tr>")
data=[]
data.append({"item_code":soi.item_code,"so_qty":soi.qty,"proj_qty":(0-flt(soi.qty)),"warehouse":soi.reserved_warehouse,"bin_iqty":"","bin_pqty":"Bin.projected_qty","type":"so"})
self.update_bin(data)
tax_total=0.00
if so.charge:
tax_total=self.create_tax(so.charge,so.name,item_list,'Sales Order','Sales Taxes and Charges',net_tot)
so_=Document("Sales Order",so.name)
so_.net_total_export=net_tot
so_.other_charges_total_export=cstr(tax_total)
so_.grand_total_export=cstr(flt(so_.net_total_export)+flt(so_.other_charges_total_export))
so_.rounded_total_export=cstr(round(flt(so_.grand_total_export)))
so_.save()
a=html_data({"posting_date":datetime.datetime.strptime(nowdate(),'%Y-%m-%d').strftime('%d/%m/%Y'),"due_date":datetime.datetime.strptime(so.delivery_date,'%Y-%m-%d').strftime('%d/%m/%Y'),"customer_name":so.customer_name,"net_total":net_tot,"grand_total":net_tot,"rounded_total":net_tot,"table_data":html,"date_1":"Sales Order Date","date_2":"Expected Delivery Date","doctype":"Sales Order","doctype_no":so.name,"company":so.company,"addr_name":"Customer Address","address":so.address_display,"tax_detail":""})
file_path_=attach_file(a,[so.name,"Selling/Kirana","Sales Order"])
return {"Sales Order":so.name,"File Copy":file_path_}
示例12: make_si
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def make_si(self,args):
parent=sql("select * from `tabSales Order` where name='"+(args['Sales Order No']).strip()+"'",as_dict=1)
if parent:
for r in parent:
si=Document("Sales Invoice")
si.customer=r['customer']
si.customer_name=r['customer_name']
si.posting_date=nowdate()
si.due_date=nowdate()
si.charge=r['charge']
si.company='InnoWorth'
si.conversion_rate=1.00
si.customer_group='Individual'
si.territory=r['territory']
si.debit_to=webnotes.conn.get_value('Account',{"master_name":r['customer']},'name')
si.price_list_currency='INR'
si.currency='INR'
si.selling_price_list='Standard Selling'
si.fiscal_year=webnotes.conn.get_value("Global Defaults", None, "current_fiscal_year")
si.net_total_export=cstr(r['net_total_export'])
si.grand_total_export=cstr(r['grand_total_export'])
si.other_charges_total_export=cstr(r['other_charges_total_export'])
si.grand_total=cstr(r['grand_total_export'])
si.rounded_total_export=cstr(r['rounded_total_export'])
si.save()
si=Document("Sales Invoice",si.name)
adv=c_amt=0.00
flag=False
check=0
total=si.grand_total_export
parent_jv=[]
advance_payment=sql("select credit,parent,name,against_account from `tabJournal Voucher Detail` where account='"+si.debit_to+"' and is_advance='Yes' and credit<>0 and ifnull(against_invoice,'')='' and docstatus=1 order by name asc",as_list=1)
if advance_payment:
for s in advance_payment:
if s[1] not in parent_jv:
parent_jv.append(s[1])
if flt(total) < flt(s[0]) and flag==False:
adv=cstr(si.grand_total_export)
update_jv=sql("update `tabJournal Voucher Detail` set against_invoice='"+si.name+"', credit='"+cstr(total)+"' where name='"+s[2]+"'")
jv = Document("Journal Voucher Detail")
jv.account=si.debit_to
jv.cost_center= "Main - Frsh"
jv.credit= cstr(flt(s[0])-flt(total))
jv.is_advance= "Yes"
jv.parent=s[1]
jv.against_account=s[3]
jv.docstatus=1
jv.save()
flag=True
elif flag==False:
adv=cstr(flt(adv)+flt(s[0]))
total=cstr(flt(total)-flt(s[0]))
update_jv=sql("update `tabJournal Voucher Detail` set against_invoice='"+si.name+"' where name='"+s[2]+"'")
if flt(total)==0:
flag=True
else:
flag=False
si.total_advance=cstr(adv)
si.outstanding_amount=cstr(flt(r['grand_total_export'])-flt(adv))
si.docstatus=1
si.save()
update=sql("update `tabSales Order` set per_billed='100' where name='"+cstr(r['name'])+"'")
child=sql("select * from `tabSales Order Item` where parent='"+(args['Sales Order No']).strip()+"'",as_dict=1)
html=""
j=0
credit_amt=0.00
for s in child:
j=j+1
sic=Document("Sales Invoice Item")
sic.parent=si.name
sic.item_code=s['item_code']
sic.item_name=s['item_name']
sic.item_group=s['item_group']
sic.description=s['description']
sic.qty=s['qty']
sic.stock_uom=s['stock_uom']
sic.ref_rate=s['ref_rate']
sic.amount=s['export_amount']
c_amt=cstr(flt(c_amt)+flt(sic.amount))
sic.export_rate=s['export_rate']
sic.export_amount=s['export_amount']
sic.income_account='Sales - innow'
sic.cost_center='Main - innow'
sic.warehouse=s['reserved_warehouse']
sic.sales_order=r['name']
sic.so_detail=s['name']
sic.docstatus=1
html+=("<tr><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(j)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sic.item_code)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sic.description)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;text-align:right;'><div>"+cstr(sic.qty)+"</div></td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'>"+cstr(sic.stock_uom)+"</td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'><div style='text-align:right'>₹ "+cstr(sic.ref_rate)+"</div></td><td style='border:1px solid rgb(153, 153, 153);word-wrap: break-word;'><div style='text-align: right'>₹ "+cstr(sic.export_amount)+"</div></td></tr>")
update=sql("update `tabSales Order Item` set billed_amt='"+cstr(s['export_amount'])+"' where name='"+cstr(s['name'])+"'")
sic.save()
tax_html=self.sales_tax_html((args['Sales Order No']).strip(),si.name,1)
if parent_jv:
self.make_adv_payment_gl(parent_jv)
data=[{"against_voucher":si.name,"account":si.debit_to,"debit":cstr(si.grand_total_export),"credit":"0","against":"Sales - innow","against_voucher_type":"Sales Invoice","voucher_type":"Sales Invoice","voucher_no":si.name,"cost_center":""},{"account":'Sales - innow',"debit":"0","credit":cstr(c_amt),"against":si.debit_to,"against_voucher_type":"","voucher_type":"Sales Invoice","voucher_no":si.name,"cost_center":"Main - innow","against_voucher":""}]
self.create_gl(data)
a=html_data({"posting_date":datetime.datetime.strptime(nowdate(),'%Y-%m-%d').strftime('%d/%m/%Y'),"due_date":datetime.datetime.strptime(nowdate(),'%Y-%m-%d').strftime('%d/%m/%Y'),"customer_name":si.customer_name,"net_total":cstr(si.net_total_export),"grand_total":cstr(si.grand_total_export),"rounded_total":cstr(si.rounded_total_export),"table_data":html,"date_1":"Posting Date","date_2":"Due Date","doctype":"Sales Invoice","doctype_no":si.name,"company":si.company,"addr_name":"","address":"","tax_detail":tax_html})
#.........这里部分代码省略.........
示例13: add_support_communication
# 需要导入模块: from webnotes.model.doc import Document [as 别名]
# 或者: from webnotes.model.doc.Document import territory [as 别名]
def add_support_communication(subject, content, sender, docname=None, mail=None):
print "get suport com fun 2"
qr="select customer,employee_id from `tabInstallation Note` where product_barcode='"+subject+"'"
print qr
res=webnotes.conn.sql(qr)
print res
'''
w="select status,user_id from `tabEmployee` where name='%s'"%(res[0][1]);
print w
t=webnotes.conn.sql(w)
print t
q=" select territory from `tabCustomer` where name='%s'"%(res[0][0]);
print q
r=webnotes.conn.sql(q)
print r
w=" select parent from `tabDefaultValue` where defkey = '%s' and defvalue = '%s'"%('territory',r[0][0])
print w
a=webnotes.conn.sql(w)
print a
if t[0][0] != 'Left':
assigned_to=t[0][1]
assigned_to_higher_level=a[0][0]
else:
assigned_to=a[0][0]
assigned_to_higher_level=a[0][0]
print "if else end"
'''
if docname:
print "if"
ticket = webnotes.bean("Support Ticket", docname)
ticket.doc.status = 'Open'
ticket.ignore_permissions = True
ticket.doc.save()
webnotes.conn.commit()
else:
print "else"
assigned_to= None
assigned_to_higher_level= None
#print subject
qr="select customer,employee_id from `tabInstallation Note` where product_barcode='%s'"%(subject);
res=webnotes.conn.sql(qr)
#print res
if res:
w="select status,user_id from `tabEmployee` where name='%s'"%(res[0][1]);
t=webnotes.conn.sql(w)
#print t
q=" select territory,customer_name from `tabCustomer` where name='%s'"%(res[0][0]);
r=webnotes.conn.sql(q)
#print r
if r:
w=" select parent from `tabDefaultValue` where defkey = '%s' and defvalue = '%s'"%('territory',r[0][0])
a=webnotes.conn.sql(w)
#print a
if t[0][0] == 'Left':
assigned_to=a[0][0]
assigned_to_higher_level=a[0][0]
else:
assigned_to=t[0][1]
assigned_to_higher_level=a[0][0]
from webnotes.model.doc import Document
a= Document('Support Ticket')
a.subject=subject
a.raised_by=sender
a.description=content
a.territory=r[0][0]
a.customer=res[0][0]
a.customer_name=r[0][1]
a.assigned_to_higher_level=assigned_to_higher_level
a.assigned_to=assigned_to
a.status='Open'
a.save(new=1)
webnotes.conn.commit()
return a