add button change sale
fix print report invoice electronic
This commit is contained in:
parent
693f32f13b
commit
03258c6782
|
@ -58,6 +58,11 @@ class StartButtons(QVBoxLayout):
|
|||
values_extend([
|
||||
['button_tables', 'VER MESAS', 'action_tables', 'tables']
|
||||
])
|
||||
else:
|
||||
values_extend([
|
||||
['button_product_info', 'INFO. PRODUCTO', 'action_info_product', 'product_info'],
|
||||
])
|
||||
|
||||
|
||||
if parent.type_pos_user in ('cashier', 'frontend', 'frontend_admin'):
|
||||
values_extend([
|
||||
|
@ -65,10 +70,10 @@ class StartButtons(QVBoxLayout):
|
|||
['button_reports', 'REPORTES', 'action_reports', 'reports'],
|
||||
['button_historic_sales', 'HISTORIAL', 'action_historic_sales', 'sales_history'],
|
||||
])
|
||||
if parent.enviroment == 'retail':
|
||||
values_extend([
|
||||
['button_collection', 'RECAUDO', 'action_collection', 'collection']
|
||||
])
|
||||
if parent.enviroment == 'retail':
|
||||
values_extend([
|
||||
['button_collection', 'RECAUDO', 'action_collection', 'collection']
|
||||
])
|
||||
|
||||
values_extend([
|
||||
['button_help', 'AYUDA', 'action_help', 'help'],
|
||||
|
@ -116,6 +121,7 @@ class ButtonsFunction(QGridLayout):
|
|||
method=value[2],
|
||||
name_style=name_style
|
||||
)
|
||||
setattr(self, value[0], button)
|
||||
self.addWidget(button, *position)
|
||||
last_row = position[0]
|
||||
self.setRowStretch(last_row + 1, 1)
|
||||
|
@ -131,7 +137,7 @@ class ButtonsFunction(QGridLayout):
|
|||
self.values.extend([
|
||||
['button_party', 'CLIENTE', 'action_party'],
|
||||
# ['button_cancel', 'CANCELAR', 'action_cancel'],
|
||||
['button_search_sale', 'BUSCAR ORDEN', 'action_search_sale'],
|
||||
# ['button_search_sale', 'BUSCAR ORDEN', 'action_search_sale'],
|
||||
['button_print_sale', 'IMPRIMIR', 'action_print_sale'],
|
||||
['button_delivery_party', 'DOMICILIARIO', 'action_delivery_party'],
|
||||
['button_position', 'POSICION', 'action_position'],
|
||||
|
@ -151,7 +157,18 @@ class ButtonsFunction(QGridLayout):
|
|||
]
|
||||
self.values.extend(rest_options)
|
||||
else:
|
||||
self.values.extend([['button_product_info', 'INFO. PRODUCTO', 'action_info_product']])
|
||||
self.values.extend([
|
||||
['button_product_info', 'INFO. PRODUCTO', 'action_info_product'],
|
||||
['button_change_salesman', 'CAMBIO VENDEDOR', 'action_change_salesman'],
|
||||
])
|
||||
|
||||
def hide_buttons(self):
|
||||
for button in self.values:
|
||||
getattr(self, button[0]).hide()
|
||||
|
||||
def show_buttons(self):
|
||||
for button in self.values:
|
||||
getattr(self, button[0]).show()
|
||||
|
||||
|
||||
class ButtonsStacked(QWidget):
|
||||
|
@ -207,28 +224,50 @@ class ButtonsStacked(QWidget):
|
|||
hbox.addWidget(self.stacked, 0)
|
||||
if parent.type_pos_user in ('cashier', 'frontend_admin'):
|
||||
hbox.addWidget(self.button_payment_term, 0)
|
||||
|
||||
if parent.type_pos_user == 'cashier' and parent.enviroment == 'retail':
|
||||
self.button_to_draft = CustomButton(
|
||||
id='button_to_draft',
|
||||
parent=parent,
|
||||
title='VOLVER A BORRADOR',
|
||||
icon=get_icon('draft'),
|
||||
name_style='toolbar',
|
||||
method='button_to_draft_pressed'
|
||||
)
|
||||
if parent.enviroment == 'retail':
|
||||
if parent.type_pos_user == 'cashier':
|
||||
self.button_to_draft = CustomButton(
|
||||
id='button_to_draft',
|
||||
parent=parent,
|
||||
title='VOLVER A BORRADOR',
|
||||
icon=get_icon('draft'),
|
||||
name_style='toolbar',
|
||||
method='button_to_force_draft_pressed'
|
||||
)
|
||||
# hbox.addWidget(self.button_to_draft, 0)
|
||||
elif parent.type_pos_user == 'order' or parent.type_pos_user == 'salesman':
|
||||
# sale_state = parent._sale.get('state')
|
||||
# if sale_state == 'draft':
|
||||
# elif sale_state == 'quotation':
|
||||
self.button_to_quote = CustomButton(
|
||||
id='button_to_draft',
|
||||
parent=parent,
|
||||
title='COTIZAR',
|
||||
name_style='toolbar',
|
||||
method='button_to_quote_pressed'
|
||||
)
|
||||
self.button_to_quote.hide()
|
||||
hbox.addWidget(self.button_to_quote, 0)
|
||||
self.button_to_draft = CustomButton(
|
||||
id='button_to_draft',
|
||||
parent=parent,
|
||||
title='BORRADOR',
|
||||
icon=get_icon('back'),
|
||||
name_style='toolbar',
|
||||
method='button_to_draft_pressed'
|
||||
)
|
||||
self.button_to_draft.hide()
|
||||
hbox.addWidget(self.button_to_draft, 0)
|
||||
|
||||
if parent.type_pos_user == 'order' or parent.type_pos_user == 'salesman' and parent.enviroment == 'retail':
|
||||
self.button_send_order = CustomButton(
|
||||
id='button_send_to_pay',
|
||||
icon=get_icon('draft'),
|
||||
parent=parent,
|
||||
title='IR A PAGAR',
|
||||
method='button_send_to_pay_pressed',
|
||||
name_style='toolbar'
|
||||
)
|
||||
hbox.addWidget(self.button_send_order, 0)
|
||||
self.button_send_order = CustomButton(
|
||||
id='button_send_to_pay',
|
||||
icon=get_icon('draft'),
|
||||
parent=parent,
|
||||
title='IR A PAGAR',
|
||||
method='button_send_to_pay_pressed',
|
||||
name_style='toolbar'
|
||||
)
|
||||
hbox.addWidget(self.button_send_order, 0)
|
||||
self.setLayout(hbox)
|
||||
|
||||
|
||||
|
|
|
@ -229,16 +229,28 @@ class SearchSale(SearchWindow):
|
|||
method='action_search_sale',
|
||||
size='mini_button',
|
||||
)
|
||||
self.pushButtonReservation = CustomButton(
|
||||
id='button_search_sale_reservation',
|
||||
parent=self,
|
||||
# icon=get_icon('history'),
|
||||
title='RESERVA',
|
||||
name_style='start',
|
||||
record='reservation',
|
||||
method='action_search_sale',
|
||||
size='mini_button',
|
||||
)
|
||||
|
||||
if self.parent.enviroment == 'restaurant':
|
||||
self.pushButtonReservation = CustomButton(
|
||||
id='button_search_sale_reservation',
|
||||
parent=self,
|
||||
# icon=get_icon('history'),
|
||||
title='RESERVA',
|
||||
name_style='start',
|
||||
record='reservation',
|
||||
method='action_search_sale',
|
||||
size='mini_button',
|
||||
)
|
||||
else:
|
||||
self.pushButtonReservation = CustomButton(
|
||||
id='button_search_sale_quote',
|
||||
parent=self,
|
||||
title='COTIZACION',
|
||||
name_style='start',
|
||||
record='quotation',
|
||||
method='action_search_sale',
|
||||
size='mini_button',
|
||||
)
|
||||
|
||||
self.buttons_layout_filter.addWidget(self.pushButtonCash)
|
||||
self.buttons_layout_filter.addWidget(self.pushButtonCredit)
|
||||
|
|
116
app/main.py
116
app/main.py
|
@ -278,13 +278,23 @@ class AppWindow(FrontWindow):
|
|||
print('error', e)
|
||||
self.dialog('error_order_dispatched')
|
||||
|
||||
def button_to_draft_pressed(self):
|
||||
# Return sale to draft state
|
||||
def button_to_force_draft_pressed(self):
|
||||
# Return sale to draft state force draft
|
||||
if hasattr(self, '_sale'):
|
||||
args = {'sale_id': self._sale['id']}
|
||||
self.Sale.to_draft(args)
|
||||
self.see_start_front()
|
||||
# self.state_disabled()
|
||||
|
||||
def button_to_draft_pressed(self):
|
||||
# Return sale to draft state when state quotation
|
||||
self.Sale.button_method('draft', [self._sale['id']])
|
||||
self.buttons_stacked.button_to_draft.hide()
|
||||
self.buttons_stacked.button_to_quote.show()
|
||||
|
||||
def button_to_quote_pressed(self):
|
||||
self.Sale.button_method('quote', [self._sale['id']])
|
||||
self.buttons_stacked.button_to_quote.hide()
|
||||
self.buttons_stacked.button_to_draft.show()
|
||||
|
||||
def create_gui(self):
|
||||
panels = QHBoxLayout()
|
||||
|
@ -769,6 +779,7 @@ class AppWindow(FrontWindow):
|
|||
self.WidgetShop.show()
|
||||
self.set_state('disabled')
|
||||
self.buttons_stacked.hide()
|
||||
self.buttons_function.hide_buttons()
|
||||
self._sale = {}
|
||||
else:
|
||||
self.start_front.hide()
|
||||
|
@ -776,6 +787,9 @@ class AppWindow(FrontWindow):
|
|||
self.WidgetShop.hide()
|
||||
self.order_front.show()
|
||||
self.buttons_stacked.show()
|
||||
self.buttons_function.show_buttons()
|
||||
if self.enviroment == 'retail' and self.type_pos_user in ('order', 'salesman'):
|
||||
self.buttons_function.button_change_salesman.hide()
|
||||
|
||||
def action_read_weight(self):
|
||||
print('si hace action_read_weight')
|
||||
|
@ -1171,6 +1185,18 @@ class AppWindow(FrontWindow):
|
|||
self.RestTables.write([table_id], to_drop)
|
||||
return to_drop
|
||||
|
||||
def action_change_salesman(self):
|
||||
salesman = self.action_salesman_code()
|
||||
if salesman == 0:
|
||||
self.dialog_salesman_code.hide()
|
||||
return
|
||||
if not salesman:
|
||||
return self.dialog('error_salesman_wrong')
|
||||
else:
|
||||
self.salesman = salesman
|
||||
self.Sale.write([self._sale['id']], {'salesman': salesman['id']})
|
||||
self.store.update({'salesman': salesman})
|
||||
|
||||
def action_tip(self):
|
||||
if self._state in ['finished']:
|
||||
return
|
||||
|
@ -1514,12 +1540,14 @@ class AppWindow(FrontWindow):
|
|||
printer_id = self.field_printer_ask.get_id()
|
||||
type_doc = self.field_type_ask.get_id()
|
||||
sale_id = None
|
||||
sale = self._sale
|
||||
if number:
|
||||
if type_doc in ['order', 'delivery']:
|
||||
if number == self._sale.get('number'):
|
||||
sale_id = self._sale['id']
|
||||
else:
|
||||
sales = self.Sale.find([('number', '=', number)])
|
||||
sale = sales[0]
|
||||
if sales:
|
||||
sale_id = sales[0]['id']
|
||||
else:
|
||||
|
@ -1537,7 +1565,6 @@ class AppWindow(FrontWindow):
|
|||
res = self.Sale.resend_invoice({'id': sale_id, 'number': number})
|
||||
if not res:
|
||||
self.dialog('fail_send_invoice')
|
||||
|
||||
if printer_id == '1':
|
||||
self.print_invoice(sale_id, type_doc=type_doc)
|
||||
else:
|
||||
|
@ -1577,10 +1604,10 @@ class AppWindow(FrontWindow):
|
|||
action_id = self._action_report_invoice['id']
|
||||
if sale['invoice_type'] == '1':
|
||||
action_id = self._action_report_invoice_e['id']
|
||||
model = 'electronic_invoice_co.invoice_face'
|
||||
data = {
|
||||
'model': model,
|
||||
'action_id': action_id,
|
||||
|
||||
}
|
||||
ctx = {'date_format': u'%d/%m/%Y'}
|
||||
ctx.update(self.ctx)
|
||||
|
@ -1921,6 +1948,9 @@ class AppWindow(FrontWindow):
|
|||
delta = str(datetime.now() - timedelta(1))
|
||||
if _type == 'reservation':
|
||||
delta = str(datetime.now() - timedelta(30))
|
||||
elif _type == 'quotation':
|
||||
delta = str(datetime.now() - timedelta(8))
|
||||
|
||||
shop_id = self.shop['id']
|
||||
|
||||
if self.type_pos_user == 'cashier':
|
||||
|
@ -1937,10 +1967,11 @@ class AppWindow(FrontWindow):
|
|||
]]]
|
||||
elif self.type_pos_user in ('order', 'salesman'):
|
||||
dom = [
|
||||
('state', '=', 'draft'),
|
||||
('shop', '=', shop_id),
|
||||
('create_date', '>=', delta),
|
||||
]
|
||||
if _type != 'quotation':
|
||||
dom.append(('state', '=', 'draft'))
|
||||
elif self.type_pos_user == 'frontend':
|
||||
dom = [
|
||||
('state', 'in', ['draft', 'quotation',
|
||||
|
@ -1956,14 +1987,22 @@ class AppWindow(FrontWindow):
|
|||
('shop', '=', shop_id),
|
||||
('create_date', '>=', delta),
|
||||
]
|
||||
|
||||
if _type == 'cash':
|
||||
dom.append(['payment_term', '=', self.default_payment_term['id']])
|
||||
dom.append(['reservation', '!=', True])
|
||||
dom.extend([
|
||||
('payment_term', '=', self.default_payment_term['id']),
|
||||
('reservation', '!=', True)
|
||||
])
|
||||
elif _type == 'credit':
|
||||
dom.append(['reservation', '!=', True])
|
||||
dom.append(['payment_term', '!=', self.default_payment_term['id']])
|
||||
else:
|
||||
dom.extend([
|
||||
['reservation', '!=', True],
|
||||
['payment_term', '!=', self.default_payment_term['id']]
|
||||
])
|
||||
elif _type == 'reservation':
|
||||
dom.append(('reservation', '=', True))
|
||||
else:
|
||||
dom.append(('state', '=', 'quotation'))
|
||||
|
||||
# dom.append(['payment_method', '!=', 'all_paid'])
|
||||
time1 = time.time()
|
||||
fields = self.dialog_search_sales.fields_names
|
||||
|
@ -2064,27 +2103,7 @@ class AppWindow(FrontWindow):
|
|||
if sale.get('delivery_charge'):
|
||||
self.field_delivery_charge.set_from_id(sale['delivery_charge'])
|
||||
|
||||
if sale.get('table_assigned.'):
|
||||
self.field_table_assigned.setText(
|
||||
sale['table_assigned.']['name'] or '')
|
||||
consumer = sale.get('consumer.', None)
|
||||
if consumer:
|
||||
self.field_consumer.setText(consumer['name'] or '')
|
||||
self._consumer, = self.Consumer.find([
|
||||
('id', '=', consumer['id']),
|
||||
])
|
||||
|
||||
self.field_change.zero()
|
||||
if self._commission_activated:
|
||||
if hasattr(self, 'field_agent') and sale.get('agent.') \
|
||||
and sale.get('commission'):
|
||||
commission = sale.get('commission')
|
||||
sale['agent.']['rec_name'] = '[' + str(commission) + ']' + ' ' + sale['agent.']['rec_name']
|
||||
self.store.set(sale['agent.'])
|
||||
self.field_agent_id = sale['agent.']['id']
|
||||
self.field_agent_ask.setText(sale['agent.']['rec_name'])
|
||||
self.field_commission_ask.setText(str(commission))
|
||||
self._set_commission_amount(sale['untaxed_amount'], commission)
|
||||
|
||||
self.line_ids = sale.get('lines', [])
|
||||
if sale.get('lines'):
|
||||
|
@ -2108,9 +2127,41 @@ class AppWindow(FrontWindow):
|
|||
self.message_bar.set('system_ready')
|
||||
if self.type_pos_user in ('cashier', 'order', 'salesman'):
|
||||
self.table_sale_lines.setEnabled(True)
|
||||
|
||||
if self.enviroment == 'restaurant':
|
||||
if sale.get('table_assigned.'):
|
||||
self.field_table_assigned.setText(
|
||||
sale['table_assigned.']['name'] or '')
|
||||
consumer = sale.get('consumer.', None)
|
||||
if consumer:
|
||||
self.field_consumer.setText(consumer['name'] or '')
|
||||
self._consumer, = self.Consumer.find([
|
||||
('id', '=', consumer['id']),
|
||||
])
|
||||
|
||||
self.table_sale_lines.setEnabled(True)
|
||||
self.menu_dash.setDisabled(False)
|
||||
|
||||
else:
|
||||
if self._commission_activated:
|
||||
if hasattr(self, 'field_agent') and sale.get('agent.') \
|
||||
and sale.get('commission'):
|
||||
commission = sale.get('commission')
|
||||
sale['agent.']['rec_name'] = '[' + str(commission) + ']' + ' ' + sale['agent.']['rec_name']
|
||||
self.store.set(sale['agent.'])
|
||||
self.field_agent_id = sale['agent.']['id']
|
||||
self.field_agent_ask.setText(sale['agent.']['rec_name'])
|
||||
self.field_commission_ask.setText(str(commission))
|
||||
self._set_commission_amount(sale['untaxed_amount'], commission)
|
||||
if self.type_pos_user in ('order', 'salesman'):
|
||||
if sale['state'] == 'draft':
|
||||
self.buttons_stacked.button_to_quote.show()
|
||||
elif sale['state'] == 'quotation':
|
||||
self.buttons_stacked.button_to_draft.show()
|
||||
# else:
|
||||
# self.buttons_function.button_change_salesman.show()
|
||||
|
||||
|
||||
if sale['state'] in ('draft', 'quotation'):
|
||||
self.set_state('add')
|
||||
elif sale['state'] in ('confirmed', 'processing', 'done'):
|
||||
|
@ -2573,6 +2624,9 @@ class AppWindow(FrontWindow):
|
|||
self.action_tables()
|
||||
else:
|
||||
self.set_state('add')
|
||||
if self.type_pos_user in ('order', 'salesman'):
|
||||
self.buttons_stacked.button_to_quote.show()
|
||||
self.buttons_stacked.button_to_draft.hide()
|
||||
if self.enviroment == 'restaurant':
|
||||
self.action_source()
|
||||
self.label_input.setFocus()
|
||||
|
|
|
@ -57,7 +57,7 @@ MODELS_RESTAURANT = {
|
|||
},
|
||||
'company.employee': {
|
||||
'rec_name': 'rec_name',
|
||||
'fields': ['party', 'code']
|
||||
'fields': ['party', 'code', 'rec_name']
|
||||
},
|
||||
'commission.agent': {
|
||||
'rec_name': 'rec_name',
|
||||
|
@ -272,7 +272,7 @@ MODELS_RETAIL = {
|
|||
},
|
||||
'company.employee': {
|
||||
'rec_name': 'rec_name',
|
||||
'fields': ['party', 'code']
|
||||
'fields': ['party', 'code', 'rec_name']
|
||||
},
|
||||
'commission.agent': {
|
||||
'rec_name': 'rec_name',
|
||||
|
|
10
app/proxy.py
10
app/proxy.py
|
@ -149,6 +149,16 @@ class Model(object):
|
|||
}
|
||||
res = self.get_connection('POST', '/create', args_)
|
||||
return res
|
||||
|
||||
def method_instance(self, values):
|
||||
args_ = {
|
||||
'model': self.model,
|
||||
'method': values['method'],
|
||||
'instance': values['instance'],
|
||||
'context': self.ctx,
|
||||
}
|
||||
res = self.get_connection('POST', '/method_instance', args_)
|
||||
return res
|
||||
# route = self.get_route('create')
|
||||
# data = json.dumps(args_, default=encoder)
|
||||
# res = requests.post(route, data=data)
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="800px" height="800px" viewBox="0 0 31.893 31.893"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="14.066" cy="3.247" r="3.247"/>
|
||||
<path d="M15.624,6.849L14.855,7.17c-0.159-0.271-0.449-0.456-0.785-0.456c-0.337,0-0.625,0.185-0.783,0.45l-0.774-0.329
|
||||
c-0.109-0.048-0.249-0.036-0.35,0.029C12.06,6.933,11.99,7.048,11.99,7.17v0.959c0,0.115,0.066,0.225,0.158,0.291
|
||||
c0.093,0.071,0.217,0.09,0.328,0.058c0.301-0.093,0.678-0.206,0.891-0.272c0.168,0.203,0.42,0.334,0.702,0.334
|
||||
c0.273,0,0.518-0.124,0.686-0.312c0.22,0.062,0.599,0.181,0.908,0.271c0.107,0.032,0.234,0.013,0.324-0.058
|
||||
c0.094-0.067,0.154-0.177,0.154-0.291V7.184c0-0.125-0.067-0.237-0.167-0.304C15.871,6.813,15.734,6.8,15.624,6.849z"/>
|
||||
<path d="M13.708,27.662h10.417v-6.266h-2.729c0.001-0.037,0.002-0.07,0.002-0.104c0-0.91-0.483-1.717-1.211-2.158
|
||||
c0.127-0.201,0.202-0.443,0.203-0.699c0.021-6.747-2.169-9.154-3.689-10.199l-2.634,3.531l-2.569-3.531
|
||||
c-1.522,1.045-3.751,3.701-3.73,10.451c0.002,0.727,0.589,1.338,1.318,1.338h0.001c0.727,0,1.332-0.619,1.33-1.346
|
||||
c-0.006-1.967,0.043-3.51,0.512-4.684v4.247c0,0.613,0.196,1.186,0.432,1.676v10.658c0,0.728,0.613,1.316,1.339,1.316
|
||||
c0.728,0,1.343-0.59,1.343-1.316l0.111-0.01c0,0.729,0.604,1.326,1.33,1.326c0.726,0,1.359-0.607,1.359-1.336V28.68h-4.189v-8.342
|
||||
h3.151c0.238-0.766,0.765-1.402,1.441-1.809c0.037-0.17,0.006-4.562,0.006-4.562c0.373,0.968,0.538,2.488,0.53,4.455
|
||||
c0,0.193,0.036,0.375,0.108,0.541c-0.9,0.385-1.534,1.287-1.534,2.328c0,0.029,0.001,0.064,0.002,0.104h-2.648L13.708,27.662
|
||||
L13.708,27.662z M17.399,21.296c0-0.813,0.663-1.479,1.478-1.479c0.813,0,1.478,0.67,1.478,1.481c0,0.03-0.002,0.063-0.003,0.103
|
||||
h-2.947C17.4,21.359,17.399,21.326,17.399,21.296z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -1 +1 @@
|
|||
__version__ = "6.0.12"
|
||||
__version__ = "6.0.13"
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
import os
|
||||
|
||||
if os.name == 'posix':
|
||||
dir = '/home/psk/Documents/DIBAL'
|
||||
else:
|
||||
dir = r'D:\USUARIOS\USUARIO\Desktop\TICKETS DIBAL'
|
||||
|
||||
files = os.listdir(dir)
|
||||
print('dir....', files)
|
||||
name_file = '2000150560643.txt'
|
||||
|
||||
# fullpath = os.path.join(dir, name_file)
|
||||
|
||||
|
||||
|
@ -43,6 +34,19 @@ name_file = '2000150560643.txt'
|
|||
|
||||
|
||||
def read_files_scale():
|
||||
try:
|
||||
if os.name == 'posix':
|
||||
dir = '/home/psk/Documents/DIBAL'
|
||||
else:
|
||||
dir = r'D:\USUARIOS\USUARIO\Desktop\TICKETS DIBAL'
|
||||
files = os.listdir(dir)
|
||||
except:
|
||||
dir = None
|
||||
files = []
|
||||
|
||||
print('dir....', files)
|
||||
name_file = '2000150560643.txt'
|
||||
|
||||
new_sales = []
|
||||
for _file in files:
|
||||
if not '.txt' in _file:
|
||||
|
|
Loading…
Reference in New Issue