fix decimal quantity
This commit is contained in:
parent
2761c3ea7f
commit
b8642b89a5
|
@ -166,17 +166,7 @@ class TableModel(QAbstractTableModel):
|
|||
if field.get('digits'):
|
||||
digits = 0
|
||||
target_field = field.get('digits')[0]
|
||||
target = None
|
||||
try:
|
||||
if index_row.get(target_field):
|
||||
target = index_row[target_field]
|
||||
elif '.' in target_field:
|
||||
split_ = target_field.split('.')
|
||||
target = index_row[split_[0]][split_[1]]
|
||||
except:
|
||||
pass
|
||||
# if index_row.get(target_field):
|
||||
# target = index_row[target_field]
|
||||
target = index_row['unit.']['symbol']
|
||||
if target:
|
||||
group_digits = field.get('digits')[1]
|
||||
if group_digits.get(target):
|
||||
|
|
|
@ -47,6 +47,7 @@ CONVERSION_DIGITS = {
|
|||
'u': '0',
|
||||
'g': '4',
|
||||
'm': '2',
|
||||
'dm': '2',
|
||||
'km': '2',
|
||||
'kg': '2',
|
||||
}
|
||||
|
|
|
@ -1370,9 +1370,9 @@ class ProductEdit(QuickDialog):
|
|||
def set_line(self, record):
|
||||
self.active_line = record
|
||||
self.show()
|
||||
name = record.get('product.template.name', None)
|
||||
if not name:
|
||||
name = record['product.']['template.']['name']
|
||||
# name = record.get('product.template.name', None)
|
||||
# if not name:
|
||||
name = record['product.']['name']
|
||||
self.label_product.setText(name)
|
||||
if hasattr(self, 'field_description'):
|
||||
self.field_description.setText(record['description'])
|
||||
|
@ -1395,7 +1395,7 @@ class ProductEdit(QuickDialog):
|
|||
value = self.field_combobox_fraction.get_label()
|
||||
self.store['quantity'] = qty
|
||||
price_ = self.parent.get_product_fraction_prices(
|
||||
self.active_line['product']['id'],
|
||||
self.active_line['product.']['id'],
|
||||
self.active_line['sale'],
|
||||
qty
|
||||
)
|
||||
|
|
53
app/main.py
53
app/main.py
|
@ -54,7 +54,7 @@ _SALE_HISTORIC = [
|
|||
'party.name', 'sale_date', 'number', 'invoice_number', 'consumer.name',
|
||||
'total_amount_cache', 'lines.quantity', 'lines.product.name', 'lines.unit.symbol',
|
||||
'lines.amount', 'lines.unit_price_w_tax', 'lines.amount_w_tax',
|
||||
'lines.product.template.name', 'lines.note'
|
||||
'lines.note'
|
||||
]
|
||||
|
||||
|
||||
|
@ -842,14 +842,7 @@ class AppWindow(FrontWindow):
|
|||
rec = {}
|
||||
try:
|
||||
quantity = Decimal(eval_value)
|
||||
try:
|
||||
product_id = self._sale_line['product.']['id']
|
||||
except Exception as e:
|
||||
print(e)
|
||||
try:
|
||||
product_id = self._sale_line['product']['id']
|
||||
except:
|
||||
product_id = self._sale_line['product']
|
||||
product_id = self._sale_line['product.']['id']
|
||||
if product_id and self.stock_context:
|
||||
_product, = self.Product.find(
|
||||
[('id', '=', product_id)],
|
||||
|
@ -1612,12 +1605,6 @@ class AppWindow(FrontWindow):
|
|||
'records': [sale_id],
|
||||
}
|
||||
result = report.get(values)
|
||||
# result = {
|
||||
# 'oext': oext,
|
||||
# 'content': content,
|
||||
# 'direct_print': direct_print,
|
||||
# 'name': file_name,
|
||||
# }
|
||||
report.open(result)
|
||||
elif type_doc == 'invoice':
|
||||
if not sale.get('invoices'):
|
||||
|
@ -1642,12 +1629,6 @@ class AppWindow(FrontWindow):
|
|||
'records': [invoice_id],
|
||||
}
|
||||
result = report.get(values)
|
||||
# result = {
|
||||
# 'oext': oext,
|
||||
# 'content': content,
|
||||
# 'direct_print': direct_print,
|
||||
# 'name': file_name,
|
||||
# }
|
||||
report.open(result)
|
||||
|
||||
def action_comment(self):
|
||||
|
@ -1678,18 +1659,10 @@ class AppWindow(FrontWindow):
|
|||
'agent': self.field_agent_id,
|
||||
# 'commission': int(commission),
|
||||
})
|
||||
# agent, = self.Agent.find([
|
||||
# ('id', '=', self.field_agent_id),
|
||||
# ])
|
||||
# if commission <= agent['plan.']['percentage']:
|
||||
# else:
|
||||
# self.message_bar.set('invalid_commission')
|
||||
# return
|
||||
self.message_bar.set('system_ready')
|
||||
comm_string = str('[' + str(commission) + ']'
|
||||
+ ' ') + (str(self.field_agent_ask.text()))
|
||||
self.field_agent.setText(comm_string)
|
||||
# self._set_commission_amount(sale['untaxed_amount'], commission)
|
||||
|
||||
def _set_commission_amount(self, untaxed_amount, commission):
|
||||
untaxed_amount = int(untaxed_amount)
|
||||
|
@ -2771,8 +2744,6 @@ class AppWindow(FrontWindow):
|
|||
product = self._search_product(code)
|
||||
if product:
|
||||
product_id = product['id']
|
||||
elif product:
|
||||
product_id = product['id']
|
||||
|
||||
if not product_id:
|
||||
self._state = 'warning'
|
||||
|
@ -2823,13 +2794,13 @@ class AppWindow(FrontWindow):
|
|||
return True
|
||||
|
||||
def add_sale_line(self, record):
|
||||
if not record.get('unit.symbol'):
|
||||
record['unit.symbol'] = record['unit.']['symbol']
|
||||
if isinstance(record.get('product.'), dict):
|
||||
if not record.get('product.template.name'):
|
||||
record['product.template.name'] = record['product.']['template.']['name']
|
||||
if not record.get('product.code'):
|
||||
record['product.code'] = record['product.']['code']
|
||||
# if not record.get('unit.symbol'):
|
||||
# record['unit.symbol'] = record['unit.']['symbol']
|
||||
# if isinstance(record.get('product.'), dict):
|
||||
# if not record.get('product.name'):
|
||||
# record['product.name'] = record['product.']['name']
|
||||
# if not record.get('product.code'):
|
||||
# record['product.code'] = record['product.']['code']
|
||||
if record.get('order_sended'):
|
||||
record['order_sended'] = '✔'
|
||||
rec = self.model_sale_lines.add_record(record)
|
||||
|
@ -2888,7 +2859,7 @@ class AppWindow(FrontWindow):
|
|||
'width': 80
|
||||
}
|
||||
product = {
|
||||
'name': 'product.template.name',
|
||||
'name': 'product.name',
|
||||
'align': alignLeft,
|
||||
'description': 'NOMBRE',
|
||||
'width': STRETCH
|
||||
|
@ -3201,9 +3172,7 @@ class AppWindow(FrontWindow):
|
|||
self.label_input.setFocus()
|
||||
self.dialog_product_edit.close()
|
||||
if self.enviroment == 'restaurant':
|
||||
prd_code = removed_item.get('product.code', None)
|
||||
if isinstance(removed_item.get('product.'), dict):
|
||||
prd_code = removed_item['product.']['code']
|
||||
prd_code = removed_item['product.']['code']
|
||||
|
||||
if prd_code and self._config['tip_product.']['code'] == prd_code:
|
||||
self.Sale.write([self._sale['id']], {'tip': None})
|
||||
|
|
|
@ -46,7 +46,7 @@ MODELS_RESTAURANT = {
|
|||
'product.template.sale_price_w_tax', 'type',
|
||||
'quantity', 'unit_price_w_tax', 'product.description', 'note',
|
||||
'description', 'qty_fraction', 'amount_w_tax', 'unit.symbol',
|
||||
'product.template.name', 'product.code', 'unit.digits', 'amount',
|
||||
'product.name', 'product.code', 'unit.digits', 'amount',
|
||||
'discount_rate', 'product.sale_price_w_tax', 'product.quantity',
|
||||
'order_sended', 'product.sale_price_taxed', 'sale'
|
||||
]
|
||||
|
@ -263,7 +263,7 @@ MODELS_RETAIL = {
|
|||
'product.template.sale_price_w_tax', 'type',
|
||||
'quantity', 'unit_price_w_tax', 'product.description', 'note',
|
||||
'description', 'qty_fraction', 'amount_w_tax', 'unit.symbol',
|
||||
'product.template.name', 'product.code', 'unit.digits', 'amount',
|
||||
'product.name', 'product.code', 'unit.digits', 'amount',
|
||||
'discount_rate', 'product.sale_price_w_tax', 'product.quantity',
|
||||
'order_sended', 'product.sale_price_taxed', 'sale'
|
||||
]
|
||||
|
|
|
@ -1 +1 @@
|
|||
__version__ = "6.0.16"
|
||||
__version__ = "6.0.17"
|
||||
|
|
Loading…
Reference in New Issue