添加bfm同步时产品创建填充税值

This commit is contained in:
liaodanlong
2024-07-19 16:45:46 +08:00
parent 804b401a87
commit dfba055019

View File

@@ -56,7 +56,7 @@ class ReSaleOrder(models.Model):
deadline_of_delivery, payments_way, pay_way): deadline_of_delivery, payments_way, pay_way):
now_time = datetime.datetime.now() now_time = datetime.datetime.now()
partner = self.get_customer() partner = self.get_customer()
order_id = self.env['sale.order'].sudo().create({ data ={
'company_id': company_id.id, 'company_id': company_id.id,
'date_order': now_time, 'date_order': now_time,
'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time), 'name': self.env['ir.sequence'].next_by_code('sale.order', sequence_date=now_time),
@@ -67,10 +67,18 @@ class ReSaleOrder(models.Model):
'person_of_delivery': delivery_name, 'person_of_delivery': delivery_name,
'telephone_of_delivery': delivery_telephone, 'telephone_of_delivery': delivery_telephone,
'address_of_delivery': delivery_address, 'address_of_delivery': delivery_address,
'deadline_of_delivery': deadline_of_delivery,
'payments_way': payments_way, 'payments_way': payments_way,
'pay_way': pay_way, 'pay_way': pay_way,
}) }
if deadline_of_delivery:
# deadline_of_delivery字段存在为false字符串情况
if not isinstance(deadline_of_delivery, str):
data.update({'deadline_of_delivery': deadline_of_delivery})
else:
if deadline_of_delivery!="False":
data.update({'deadline_of_delivery': deadline_of_delivery})
order_id = self.env['sale.order'].sudo().create(data)
return order_id return order_id
def write(self, vals): def write(self, vals):
@@ -113,6 +121,7 @@ class ReSaleOrder(models.Model):
'price_unit': product.list_price, 'price_unit': product.list_price,
'product_uom_qty': item['number'], 'product_uom_qty': item['number'],
'model_glb_file': base64.b64decode(item['model_file']), 'model_glb_file': base64.b64decode(item['model_file']),
'remark': item.get('remark')
} }
return self.env['sale.order.line'].with_context(skip_procurement=True).create(vals) return self.env['sale.order.line'].with_context(skip_procurement=True).create(vals)
@@ -151,6 +160,7 @@ class ResaleOrderLine(models.Model):
# # without modifying the related product_id when updated. # # without modifying the related product_id when updated.
# domain=[('sale_ok', '=', True), ('categ_type', '=', '成品')]) # domain=[('sale_ok', '=', True), ('categ_type', '=', '成品')])
check_status = fields.Selection(related='order_id.check_status') check_status = fields.Selection(related='order_id.check_status')
remark = fields.Char('备注')
@api.depends('product_template_id') @api.depends('product_template_id')
def _compute_model_glb_file(self): def _compute_model_glb_file(self):
@@ -256,33 +266,33 @@ class ResPartnerToSale(models.Model):
# if obj: # if obj:
# raise UserError('该邮箱已存在,请重新输入') # raise UserError('该邮箱已存在,请重新输入')
@api.model # @api.model
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None): # def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
if self._context.get('is_customer'): # if self._context.get('is_customer'):
if self.env.user.has_group('sf_base.group_sale_director'): # if self.env.user.has_group('sf_base.group_sale_director'):
domain = [('customer_rank', '>', 0)] # domain = [('customer_rank', '>', 0)]
elif self.env.user.has_group('sf_base.group_sale_salemanager'): # elif self.env.user.has_group('sf_base.group_sale_salemanager'):
customer = self.env['res.partner'].search( # customer = self.env['res.partner'].search(
[('customer_rank', '>', 0), ('user_id', '=', self.env.user.id)]) # [('customer_rank', '>', 0), ('user_id', '=', self.env.user.id)])
if customer: # if customer:
ids = [t.id for t in customer] # ids = [t.id for t in customer]
domain = [('id', 'in', ids)] # domain = [('id', 'in', ids)]
else: # else:
domain = [('id', '=', False)] # domain = [('id', '=', False)]
return self._search(domain, limit=limit, access_rights_uid=name_get_uid) # return self._search(domain, limit=limit, access_rights_uid=name_get_uid)
elif self._context.get('is_supplier') or self.env.user.has_group('sf_base.group_purchase_director'): # elif self._context.get('is_supplier') or self.env.user.has_group('sf_base.group_purchase_director'):
if self.env.user.has_group('sf_base.group_purchase_director'): # if self.env.user.has_group('sf_base.group_purchase_director'):
domain = [('supplier_rank', '>', 0)] # domain = [('supplier_rank', '>', 0)]
elif self.env.user.has_group('sf_base.group_purchase'): # elif self.env.user.has_group('sf_base.group_purchase'):
supplier = self.env['res.partner'].search( # supplier = self.env['res.partner'].search(
[('supplier_rank', '>', 0), ('purchase_user_id', '=', self.env.user.id)]) # [('supplier_rank', '>', 0), ('purchase_user_id', '=', self.env.user.id)])
if supplier: # if supplier:
ids = [t.id for t in supplier] # ids = [t.id for t in supplier]
domain = [('id', 'in', ids)] # domain = [('id', 'in', ids)]
else: # else:
domain = [('id', '=', False)] # domain = [('id', '=', False)]
return self._search(domain, limit=limit, access_rights_uid=name_get_uid) # return self._search(domain, limit=limit, access_rights_uid=name_get_uid)
return super()._name_search(name, args, operator, limit, name_get_uid) # return super()._name_search(name, args, operator, limit, name_get_uid)
@api.onchange('user_id') @api.onchange('user_id')
def _get_salesman(self): def _get_salesman(self):