import tb #1
parent
3987ee2b8b
commit
5e680d983b
|
@ -1,3 +1,3 @@
|
|||
#from . import clinic_setting
|
||||
from . import repost_invoice
|
||||
from . import conv_bal
|
||||
#from . import repost_invoice
|
||||
|
|
|
@ -39,7 +39,6 @@ class Migration(migration.Migration):
|
|||
'state': 'draft',
|
||||
})
|
||||
ids=list(hdcase_ids)
|
||||
|
||||
for seq in get_model("sequence").search_browse([['type','in',['cust_invoice','clinic_invoice_noclaim']]]):
|
||||
for run in seq.running:
|
||||
run.delete()
|
||||
|
|
|
@ -181,4 +181,58 @@ class ConvBal(Model):
|
|||
}
|
||||
}
|
||||
|
||||
def import_sale_file(self,ids,context):
|
||||
obj=self.browse(ids)[0]
|
||||
path=get_file_path(obj.file)
|
||||
data=open(path).read()
|
||||
rd=csv.reader(StringIO(data))
|
||||
headers=next(rd)
|
||||
headers=[h.strip() for h in headers]
|
||||
if not context.get('is_append'):
|
||||
del_ids=get_model("conv.sale.invoice").search([["conv_id","=",obj.id]])
|
||||
get_model("conv.sale.invoice").delete(del_ids)
|
||||
for row in rd:
|
||||
print("row",row)
|
||||
line=dict(zip(headers,row))
|
||||
print("line",line)
|
||||
if not line.get("Number"):
|
||||
continue
|
||||
number=line["Number"].strip()
|
||||
if not number:
|
||||
continue
|
||||
ref=line["Reference"].strip()
|
||||
contact_name=line["Contact"].strip()
|
||||
res=get_model("partner").search([["name","=",contact_name]])
|
||||
if not res:
|
||||
raise Exception("Contact not found: '%s'"%contact_name)
|
||||
contact_id=res[0]
|
||||
date=datetime.datetime.strptime(line["Date"].strip(),obj.date_fmt).strftime("%Y-%m-%d")
|
||||
due_date=datetime.datetime.strptime(line["Due Date"].strip(),obj.date_fmt).strftime("%Y-%m-%d")
|
||||
amount_due=float(line["Amount Due"].strip().replace(",","") or 0)
|
||||
acc_code=line["Account"].strip()
|
||||
res=get_model("account.account").search([["code","=",acc_code]])
|
||||
if not res:
|
||||
raise Exception("Account code not found: %s"%acc_code)
|
||||
acc_id=res[0]
|
||||
amount_cur=float(line["Amount Cur"].strip().replace(",","") or 0)
|
||||
vals={
|
||||
"conv_id": obj.id,
|
||||
"number": number,
|
||||
"ref": ref,
|
||||
"contact_id": contact_id,
|
||||
"date": date,
|
||||
"due_date": due_date,
|
||||
"amount_due": amount_due,
|
||||
"account_id": acc_id,
|
||||
"amount_cur": amount_cur,
|
||||
}
|
||||
get_model("conv.sale.invoice").create(vals)
|
||||
return {
|
||||
"next": {
|
||||
"name": "conv_bal",
|
||||
"active_id": obj.id,
|
||||
"view_xml": "conv_bal2",
|
||||
}
|
||||
}
|
||||
|
||||
ConvBal.register()
|
||||
|
|
Loading…
Reference in New Issue