本文整理汇总了Python中utils.dialogo函数的典型用法代码示例。如果您正苦于以下问题:Python dialogo函数的具体用法?Python dialogo怎么用?Python dialogo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dialogo函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: salir
def salir(self, boton, event=None, mostrar_ventana=False):
"""
Muestra una ventana de confirmación y
sale de la ventana cerrando el bucle
local de gtk_main.
Si mostrar_ventana es False, sale directamente
sin preguntar al usuario.
"""
try:
b_guardar = self.wids['b_guardar']
except KeyError:
b_guardar = None
if b_guardar != None and b_guardar.get_property('sensitive'):
# Hay cambios pendientes de guardar.
if utils.dialogo('Hay cambios pendientes de guardar.\n¿Desea hace'
'rlo ahora?',
'¿GUARDAR CAMBIOS?',
padre = self.wids['ventana'],
icono = gtk.STOCK_SAVE,
#defecto = "Sí"): # CWT: A veces en BlancoPe
# abren la ventana de productos para buscar
# un precio y le dan al botón antes de que se
# carguen los datos, provocando que se detecte
# como un falso cambio de datos de la ventana
# (todo blanco) respecto a la caché (datos
# reales de la BD). Al darle a ENTER,
# responden Sí por defecto -hasta ahora- y
# sobreescriben con blanco todos los datos del
# registro en la base de datos.
defecto = "No"):
try:
self.guardar(None)
except:
utils.dialogo_info(titulo = 'NO SE PUDO GUARDAR',
texto = 'Los cambios no se pudieron gua'
'rdar automáticamente.\nDebe ha'
'cerlo de forma manual',
padre = self.wids['ventana'])
return True # Si devuelvo False, None, etc... continúa la
# cadena de eventos y destruye la ventana.
# Devuelvo True para cancelar el cierre de la
# ventana.
if event == None:
# Me ha invocado el botón
if not mostrar_ventana or \
utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR',
padre = self.wids['ventana'],
icono = gtk.STOCK_QUIT):
self.wids['ventana'].destroy()
return False
else:
return True
else:
if not mostrar_ventana or not \
utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR', padre=self.wids['ventana'], icono=gtk.STOCK_QUIT):
return False
else:
return True
开发者ID:Virako,项目名称:fpinn,代码行数:60,代码来源:ventana.py
示例2: salir
def salir(self,
boton,
event = None,
mostrar_ventana = True,
ventana = None):
"""
Muestra una ventana de confirmación y
sale de la ventana cerrando el bucle
local de gtk_main.
Si mostrar_ventana es False, sale directamente
sin preguntar al usuario.
"""
res = False
if event == None:
# Me ha invocado el botón
if (not mostrar_ventana
or utils.dialogo('¿Desea cerrar el menú principal?',
'SALIR',
padre = ventana,
icono = gtk.STOCK_QUIT)):
ventana.destroy()
self.logger.warning("LOGOUT: %s" % (self.usuario.usuario))
res = False
else:
res = True
else:
res = (not mostrar_ventana
or not utils.dialogo('¿Desea cerrar el menú principal?',
'SALIR',
padre = ventana,
icono = gtk.STOCK_QUIT))
if not res:
self.logger.warning("LOGOUT: %s" % (self.usuario.usuario))
return res
开发者ID:pacoqueen,项目名称:bbinn,代码行数:34,代码来源:menu.py
示例3: __init__
def __init__(self, objeto = None, usuario = None):
"""
Constructor. objeto puede ser un objeto de pclases con el que
comenzar la ventana (en lugar del primero de la tabla, que es
el que se muestra por defecto).
"""
import informes, tempfile
exportar_a_csv_a = None
if utils.dialogo(titulo = "FILTRAR EXISTENCIAS NULAS",
texto = "¿Desea filtrar ignorando los productos con"
" existencias a cero?"):
func_informe = geninformes.repuestos_no_nulos
else:
func_informe = geninformes.repuestos
if utils.dialogo(titulo = "EXPORTAR A CSV",
texto = "A continuación se generará el informe en "
"PDF.\n¿Desa también que se exporte a CSV?",
defecto = "No",
tiempo = 10):
exportar_a_csv_a = os.path.join(tempfile.gettempdir(),
"csv_repuestos_%s" % (
mx.DateTime.localtime().strftime("%Y%m%d")))
pdfs = func_informe(exportar_a_csv_a = exportar_a_csv_a)
for pdf in pdfs:
informes.abrir_pdf(pdf)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:27,代码来源:consulta_repuestos.py
示例4: __init__
def __init__(self, objeto = None, usuario = None):
"""
Constructor. objeto puede ser un objeto de pclases con el que
comenzar la ventana (en lugar del primero de la tabla, que es
el que se muestra por defecto).
"""
import informes, tempfile
exportar_a_csv_a = None
if utils.dialogo(titulo = "FILTRAR EXISTENCIAS NULAS",
texto = "¿Desea filtrar ignorando los productos con existencias a cero?"):
func_informe = geninformes.existencias_no_nulas
#informes.abrir_pdf(geninformes.existencias_no_nulas(exportar_a_csv_a = "/tmp/t.csv"))
else:
#informes.abrir_pdf(geninformes.existencias())
func_informe = geninformes.existencias
# informes.abrir_pdf(geninformes._existencias())
if utils.dialogo(titulo = "EXPORTAR A CSV",
texto = "A continuación se generará el informe en PDF.\n¿Desa también que se exporte a CSV?",
defecto = "No",
tiempo = 10):
exportar_a_csv_a = os.path.join(tempfile.gettempdir(),
"csv_existencias_%s" % (
datetime.date.today().strftime("%Y%m%d")))
informes.abrir_pdf(func_informe(exportar_a_csv_a = exportar_a_csv_a))
开发者ID:pacoqueen,项目名称:upy,代码行数:27,代码来源:consulta_existencias.py
示例5: pedir_unidad
def pedir_unidad(self, productoCompra):
"""
Pide la unidad del descuento y comprueba que sea correcta.
Recibe el producto de compra para mostrar el valor por defecto.
"""
txt = """
Introduzca las unidades para el descuento de materiales.
Por ejemplo:
% (porcentaje en las unidades del material
por peso de producto terminado).
ud / 5 ud (unidad del material por cada 5 unidades
de producto terminado).
m / kg (metro de material por kilo de producto).
kg / 5.5 m (kg de material por cada 5.5 metros de producto).
NOTA: La unidad del materal que se descuenta debe ser la misma
que consta en catálogo, pedidos de compra, etc.
"""
defecto = "%s / ud" % (productoCompra.unidad)
res = utils.dialogo_entrada(titulo = "INTRODUZCA UNIDAD",
texto = txt,
padre = self.wids['ventana'],
valor_por_defecto = defecto)
if not comprobar_unidad(res):
utils.dialogo(titulo = "FORMATO INCORRECTO",
texto = "El texto introducido %s no tiene el formato correcto." % (res),
padre = self.wids['ventana'])
res = None
return res
开发者ID:pacoqueen,项目名称:bbinn,代码行数:32,代码来源:formulacion_fibra.py
示例6: imprimir
def imprimir(self,boton):
"""
Prepara la vista preliminar para la impresión del informe
"""
fechastr = self.wids['e_fecha'].get_text()
fecha = utils.parse_fecha(fechastr)
fechastr = utils.str_fecha(fecha)
fechas = pclases.HistorialExistenciasA.get_fechas_cacheadas()
if fecha not in fechas:
res = utils.dialogo(
titulo = "EXISTENCIAS NO CACHEADAS. ¿CONTINUAR?",
texto = "La fecha seleccionada no se encuentra precalculada.\n"
"Esto implica que el recuento de existencias puede\n"
"demorarse incluso horas. Durante este tiempo es \n"
"posible que la aplicación no responda.\n\n"
"¿Está seguro de que desea continuar?",
padre = self.wids['ventana'])
else:
res = utils.dialogo(titulo = "¿CONTINUAR?",
texto = "La operación puede demorarse durante algún tiempo\n"
"y dar la impresión de que la aplicación no responde.\n"
"¿Desea continuar?",
padre = self.wids['ventana'])
if not res:
return
vpro = ventana_progreso.VentanaProgreso(padre = self.wids['ventana'])
self.wids['ventana'].window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
vpro.mostrar()
act = 0.0
tot = 2 + pclases.Almacen.select().count()
msgtexto = 'Calculando existencias a %s.' % fechastr
vpro.set_valor(act/tot, msgtexto)
vpro._ventana.realize()
vpro._ventana.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
while gtk.events_pending(): gtk.main_iteration(False)
import informes
try:
vpro.set_valor(act/tot, msgtexto)
informes.abrir_pdf(geninformes.existencias_productos('rollos',
fechastr, hasta = fecha))
act += 1
vpro.set_valor(act/tot, msgtexto)
informes.abrir_pdf(geninformes.existencias_productos('balas',
fechastr, hasta = fecha))
act += 1
vpro.set_valor(act/tot, msgtexto)
for a in pclases.Almacen.select(orderBy = "id"):
informes.abrir_pdf(geninformes.existencias_productos('rollos',
fechastr, hasta = fecha, almacen = a))
act += 1
vpro.set_valor(act/tot, msgtexto)
informes.abrir_pdf(geninformes.existencias_productos('balas',
fechastr, hasta = fecha, almacen = a))
act += 1
vpro.set_valor(act/tot, msgtexto)
finally:
vpro.ocultar()
vpro._ventana.window.set_cursor(None)
self.wids['ventana'].window.set_cursor(None)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:59,代码来源:historico_existencias.py
示例7: aceptar
def aceptar(self, boton):
res = None
model, iter = self.wids['tv_logic'].get_selection().get_selected()
if iter != None:
id = model[iter][-1]
res = pclases.LogicMovimientos.get(id)
self.wids['ventana'].destroy()
else:
utils.dialogo(titulo = "¿CERRAR?",
texto = "No ha seleccionado ningún asiento.\n¿Desea cerrar la ventana?",
padre = self.wids['ventana'])
self.objeto = res
return res
开发者ID:pacoqueen,项目名称:bbinn,代码行数:13,代码来源:mostrar_datos_logic.py
示例8: borrar_albaran
def borrar_albaran(self, boton):
"""
Elimina el albarán de la BD y revierte las existencias de
las entradas.
"""
if utils.dialogo('Se eliminará el albarán actual y todas sus relaciones con ventas, pedidos, etc.\n¿Está seguro?',
'BORRAR ALBARÁN',
padre = self.wids['ventana']):
albaran = self.objeto
if len([ldc for ldc in albaran.lineasDeCompra if ldc.silo != None]) > 0:
res = utils.dialogo(titulo = "DESCARGAR SILOS",
texto = "¿Anular también las cargas en silo implicados en el albarán?",
cancelar = True,
icono = gtk.STOCK_DIALOG_WARNING,
defecto = False)
else:
res = False
if res != gtk.RESPONSE_CANCEL:
if res:
for ldc in albaran.lineasDeCompra:
if ldc.silo != None:
cs = ldc.cargaSilo
ldc.cargaSilo = None
cs.destroySelf()
for linea in albaran.lineasDeCompra:
producto = linea.productoCompra
if linea.productoCompra.controlExistencias:
# XXX DEBUG
#print linea.productoCompra.existencias
# XXX EODEBUG
producto.sync()
producto.existencias -= linea.cantidad
if producto.existencias < 0:
producto.existencias = 0
# En este caso, si la cantidad absoluta de
# existencias es cero, como debería ser un campo
# calculado pongo a cero las existencias de todos
# los almacenes para ese producto (pues ese
# debería ser el origen del cálculo).
for sa in producto.stocksAlmacen:
sa.existencias = 0
sa.syncUpdate()
producto.syncUpdate()
producto.sync()
# XXX DEBUG
#print linea.productoCompra.existencias
# XXX EODEBUG
albaran.notificador.set_func(lambda : None)
albaran.destroy_en_cascada()
self.ir_a_primero()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:50,代码来源:albaranes_de_entrada_cs21.py
示例9: salir
def salir(self, boton, event = None, mostrar_ventana = True):
"""
Muestra una ventana de confirmación y
sale de la ventana cerrando el bucle
local de gtk_main.
Si mostrar_ventana es False, sale directamente
sin preguntar al usuario.
"""
try:
b_guardar = self.wids['b_guardar']
except KeyError:
b_guardar = None
if b_guardar != None and b_guardar.get_property('sensitive'):
# Hay cambios pendientes de guardar.
if utils.dialogo('Hay cambios pendientes de guardar.\n¿Desea hace'
'rlo ahora?',
'¿GUARDAR CAMBIOS?',
padre = self.wids['ventana'],
icono = gtk.STOCK_SAVE,
defecto = "Sí"):
try:
self.guardar(None)
except:
utils.dialogo_info(titulo = 'NO SE PUDO GUARDAR',
texto = 'Los cambios no se pudieron gua'
'rdar automáticamente.\nDebe ha'
'cerlo de forma manual',
padre = self.wids['ventana'])
return True # Si devuelvo False, None, etc... continúa la
# cadena de eventos y destruye la ventana.
# Devuelvo True para cancelar el cierre de la
# ventana.
if event == None:
# Me ha invocado el botón
if not mostrar_ventana or \
utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR',
padre = self.wids['ventana'],
icono = gtk.STOCK_QUIT):
self.wids['ventana'].destroy()
return False
else:
return True
else:
return not mostrar_ventana or \
not utils.dialogo('¿Desea salir de la ventana actual?',
'SALIR',
padre = self.wids['ventana'],
icono = gtk.STOCK_QUIT)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:49,代码来源:ventana.py
示例10: crear_muestra_ok_cancel
def crear_muestra_ok_cancel(self, dialogo, respuesta, lote, partida, loteCem):
if respuesta == gtk.RESPONSE_ACCEPT:
codigo = dialogo.vbox.get_children()[2].get_text()
observaciones = dialogo.vbox.get_children()[4].get_text()
m = pclases.Muestra(lote = lote,
loteCem = loteCem,
partida = partida,
codigo = codigo,
observaciones = observaciones,
pendiente = True,
envio = mx.DateTime.localtime(),
recepcion = None)
if utils.dialogo(titulo = "MUESTRA ENVIADA",
texto = "Muestra creada, enviada y pendiente para su análisis en laboratorio.\n¿Desea enviar una alerta?",
padre = self.wids['ventana']):
usuarios = [(u.id, u.usuario) for u in pclases.Usuario.select(orderBy = 'usuario')]
usuario = utils.dialogo_combo(titulo = "SELECCIONE USUARIO",
texto = "Seleccione del desplegable inferior al usuario que quiere alertar acerda de la muestra.",
ops = usuarios,
padre = self.wids['ventana'])
if usuario != None:
user = pclases.Usuario.get(usuario)
if m.codigo:
msj = "La muestra %s está " % m.codigo
else:
msj = "Tiene una muestra "
msj += "pendiente de analizar."
user.enviar_mensaje(msj)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:28,代码来源:consulta_productividad.py
示例11: ir_a_siguiente
def ir_a_siguiente(self,widget):
"""
Hace que el siguiente registro (ordenados por ID interno)
sea el objeto activo
"""
if self.wids['b_guardar'] != None and self.wids['b_guardar'].get_property('sensitive'):
# Hay cambios pendientes de guardar.
if utils.dialogo('Hay cambios pendientes de guardar.\n¿Desea hacerlo ahora?', '¿GUARDAR CAMBIOS?'):
try:
self.guardar(None)
except:
utils.dialogo_info(titulo = 'NO SE PUDO GUARDAR',
texto = 'Los cambios no se pudieron guardar automáticamente.\nDebe hacerlo de forma manual',
padre = self.wids['ventana'])
return
producto = self.objeto
try:
siguiente = pclases.ProductoVenta.select(pclases.AND(pclases.ProductoVenta.q.camposEspecificosEspecialID != None, pclases.ProductoVenta.q.id > producto.id),orderBy='id')[0]
except IndexError:
utils.dialogo_info(texto = "El elemento seleccionado es el último registrado en el sistema",
titulo="ERROR",
padre = self.wids['ventana'])
return
self.objeto = siguiente
self.actualizar_ventana()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:25,代码来源:productos_de_venta_especial.py
示例12: imprimir
def imprimir(self, boton):
"""
Prepara la vista preliminar para la impresión del informe.
"""
resp = utils.dialogo(titulo = "¿IMPRIMIR DESGLOSE?",
texto = "Puede imprimir un resumen o todo el contenido de la consulta\n¿Desea imprimir toda la información desglosada?",
padre = self.wids['ventana'])
if resp:
tv = self.wids['tv_datos']
tv.expand_all()
while gtk.events_pending(): gtk.main_iteration(False)
else:
tv = self.wids['tv_datos']
tv.collapse_all()
while gtk.events_pending(): gtk.main_iteration(False)
from consulta_ventas_por_producto import convertir_a_listview
tv = convertir_a_listview(tv)
strfecha = "De %s a %s" % (self.wids['e_fechainicio'].get_text(), self.wids['e_fechafin'].get_text())
abrir_pdf(treeview2pdf(tv, titulo = "Beneficio sobre tarifa",
fecha = strfecha,
extra_data = (
["Facturado: ",
self.wids['e_total'].get_text()],
["Facturación sin IVA: ",
self.wids['e_siniva'].get_text()],
["Beneficio neto: ",
self.wids['e_beneficio'].get_text()])))
开发者ID:pacoqueen,项目名称:upy,代码行数:27,代码来源:consulta_beneficio.py
示例13: borrar
def borrar(self, widget):
"""
Elimina el pagare en pantalla.
"""
pagare = self.objeto
if pagare != None:
if utils.dialogo(titulo = 'BORRAR PAGARÉ',
texto = '¿Está seguro de eliminar el pagare actual?',
padre = self.wids['ventana']):
pagare.notificador.set_func(lambda : None)
try:
for c in pagare.cobros:
c.destroySelf()
pagare.destroySelf()
self.objeto = None
self.ir_a_primero()
except:
txt = """
El pagare no se eliminó completamente.
Tal vez el pagaré o los vencimientos de facturas
relacionados estén siendo referenciados por otros
elementos de la aplicación. Contacte con el administrador.
Información de depuración:
"""
for c in pagare.cobros:
txt += "ID cobro: %d.\n" % c.id
txt += "ID pagaré: %d\n" % pagare.id
utils.dialogo_info(titulo = 'ERROR: NO SE PUDO BORRAR',
texto = txt,
padre = self.wids['ventana'])
开发者ID:pacoqueen,项目名称:upy,代码行数:30,代码来源:pagares_cobros.py
示例14: drop_consumo_por_producto
def drop_consumo_por_producto(self, boton):
"""
Elimina el consumo o consumos seleccionados en el TreeView.
"""
texto = """
Si ha seleccionado un consumo se eliminará el consumo completo.
Si seleccionó uno o varios productos, se eliminarán del consumo al
que pertenece, por lo que ya no empleará el material relacionado
cuando se fabriquen artículos del mismo.
¿Está seguro de querer continuar?
"""
model, paths = self.wids['tv_consumos'].get_selection().get_selected_rows()
if paths and utils.dialogo(titulo = "¿ELIMINAR?", texto = texto, padre = self.wids['ventana']):
for path in paths:
if model[path].parent == None:
id_consumo = model[path][-1]
consumo_adicional_por_producto = pclases.ConsumoAdicional.get(id_consumo)
try:
for p in consumo_adicional_por_producto.productosVenta:
consumo_adicional_por_producto.removeProductoVenta(p)
consumo_adicional_por_producto.destroySelf()
except pclases.psycopg_ProgrammingError, msg:
utils.dialogo_info(titulo = "ERROR: INFORME A LOS DESARROLLADORES",
texto = "Ocurrió un error al eliminar el consumo.\nDEBUG: Traza de la excepción:\n%s" % (msg),
padre = self.wids['ventana'])
else:
id_consumo = model[path].parent[-1]
idproductov = model[path][-1]
consumo_adicional_por_producto = pclases.ConsumoAdicional.get(id_consumo)
productov = pclases.ProductoVenta.get(idproductov)
consumo_adicional_por_producto.removeProductoVenta(productov)
self.rellenar_consumos_adicionales_por_producto()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:34,代码来源:formulacion_fibra.py
示例15: descargar_de_terminal
def descargar_de_terminal(self, boton):
"""
lee los códigos almacenados en el terminal lector de códigos de
barras y:
* si es un diccionario de partidas de carga y números de bala,
crea una partida de carga (si no existían) por cada una de
las claves del diccionario y relaciona con las mismas las
balas de la lista. finalmente, crea un albarán interno con
todas esas balas (uno por partida)y abre una ventana de
partida de carga (esta) y una de albarán de salida por
cada partida de carga y albarán interno procesado con éxito.
* si es una lista de balas, las agrega a la partida de carga
actual y crea el albarán interno.
"""
self.logger.warning("%sconsumo_balas_partida::descargar_de_terminal -> Iniciando descarga de balas consumidas/a consumir automática." % (self.usuario and self.usuario.usuario + ": " or ""))
datos = None
cancelar = False
while datos == None and not cancelar:
datos = utils.descargar_phaser(logger = self.logger)
if datos == None:
cancelar = not utils.dialogo(titulo = "¿VOLVER A INTENTAR?",
texto = "Se ha superado el tiempo de espera.\n¿Desea continuar?\n\n(Pulse SÍ para volver a intentar o NO para cancelar la operación.)",
padre = self.wids['ventana'])
elif isinstance(datos, (type([]), type(()))):
self.descargar_y_meter_balas_en_partida_carga_actual(datos)
elif isinstance(datos, type({})):
for partida_carga in datos:
if partida_carga == self.objeto:
self.descargar_y_meter_balas_en_partida_carga_actual(datos[partida_carga])
else:
self.descargar_y_meter_balas_en_partida_carga(partida_carga, datos[partida_carga])
开发者ID:pacoqueen,项目名称:bbinn,代码行数:31,代码来源:consumo_balas_partida.py
示例16: borrar_producto
def borrar_producto(self, widget):
"""
Elimina el producto de la tabla pero NO
intenta eliminar ninguna de sus relaciones,
de forma que si se incumple alguna
restricción de la BD, cancelará la eliminación
y avisará al usuario.
"""
producto = self.objeto
if not utils.dialogo('¿Eliminar el producto?', 'BORRAR'):
return
if producto.articulos != [] or producto.precios != []:
utils.dialogo_info('PRODUCTO NO ELIMINADO', 'El producto está implicado en operaciones que impiden su borrado.', padre = self.wids['ventana'])
else:
producto.notificador.desactivar()
campos = producto.camposEspecificosBala
try:
producto.destroySelf()
campos.destroySelf()
except:
utils.dialogo_info(titulo = "NO SE PUEDE ELIMINAR",
texto = "El producto no se puede eliminar. Verifique que no\ntiene ventas o producción relacionada.",
padre = self.wids['ventana'])
else:
self.objeto = None
self.ir_a_primero()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:26,代码来源:productos_de_venta_balas.py
示例17: cambiar_precio_ldp
def cambiar_precio_ldp(self, cell, path, texto):
"""
Cambia el precio de la LDP conforme al texto recibido.
"""
try:
precio = utils._float(texto)
except:
utils.dialogo_info(titulo = "ERROR",
texto = 'El texto "%s" no es un número.' % (texto),
padre = self.wids['ventana'])
else:
model = self.wids['tv_ldps'].get_model()
ldp = pclases.LineaDePedido.get(model[path][-1])
if ldp.precio != precio:
ldp.precio = precio
if ldp.get_lineas_de_venta() != [] \
and utils.dialogo(titulo = "¿CAMBIAR PRECIO PRODUCTOS SERVIDOS?",
texto = """
Al cambiar el precio de una parte del presupuesto ofertado,
se cambian automáticamente los precios de los pedidos
involucrados. También puede cambiar los albaranes y facturas
si el pedido ya ha sido servido.
¿Desea cambiar el precio de todos los artículos servidos
de este producto?
Si lo hace, se cambiará también en la factura en caso de
que se haya facturado el albarán o albaranes
correspondientes.
""",
padre = self.wids['ventana']):
for ldv in ldp.get_lineas_de_venta():
ldv.precio = ldp.precio
self.rellenar_tablas()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:34,代码来源:presupuestos.py
示例18: set_factura
def set_factura(self, boton):
"""
Busca un vencimiento de una factura y lo agrega al recibo actual.
"""
recibo = self.objeto
if self.cliente == None:
idcliente = self.buscar_cliente()
if idcliente == None:
return
self.cliente = pclases.Cliente.get(idcliente)
cliente = self.cliente
facturas = self.buscar_factura(cliente)
if facturas == None:
return
if len(facturas) == 0:
if utils.dialogo(titulo = "¿BUSCAR EN FACTURAS PAGADAS?",
texto = "No se han encontrado facturas pendient"
"es de cobro que satisfagan el criterio"
" de búsqueda.\n¿Desea volver a buscar "
"incluyendo facturas pagadas?",
padre = self.wids['ventana']):
facturas = self.buscar_factura(cliente, filtrar_pagadas = False)
for factura in facturas:
vencimiento = self.buscar_vencimiento(factura)
if vencimiento == None:
continue
recibo.fechaVencimiento = vencimiento.fecha
recibo.fechaLibramiento = factura.fecha
observaciones = "Recibo bancario número %d con fecha de emisión %s." % (self.objeto.numrecibo, utils.str_fecha(self.objeto.fechaLibramiento))
vencimiento.observaciones += observaciones
vencimiento.recibo = recibo
self.actualizar_ventana()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:32,代码来源:recibos.py
示例19: borrar
def borrar(self, widget):
"""
Elimina el objeto de la tabla pero NO
intenta eliminar ninguna de sus relaciones,
de forma que si se incumple alguna
restricción de la BD, cancelará la eliminación
y avisará al usuario.
"""
XXXobjeto = self.objeto
if not utils.dialogo('¿Eliminar el XXX?',
'BORRAR',
padre = self.wids['ventana']):
return
if XXXobjeto.pagos != []:
utils.dialogo_info('XXX NO ELIMINADO',
'El XXX está implicado en operaciones que impiden su borrado.',
padre = self.wids['ventana'])
else:
XXXobjeto.notificador.desactivar()
try:
XXXobjeto.destroySelf()
except Exception, e:
self.logger.error("XXXskel.py::borrar -> XXX ID %d no se pudo eliminar. Excepción: %s." % (XXXobjeto.id, e))
utils.dialogo_info(titulo = "XXX NO BORRADO",
texto = "El XXX no se pudo eliminar.\n\nSe generó un informe de error en el «log» de la aplicación.",
padre = self.wids['ventana'])
self.actualizar_ventana()
return
self.objeto = None
self.ir_a_primero()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:30,代码来源:skel.py
示例20: borrar
def borrar(self, boton):
"""
Borra el registro activo.
"""
if utils.dialogo(titulo = "¿BORRAR?", texto = "¿Desea eliminar el recibo en pantalla?", padre = self.wids['ventana']):
try:
for vto in self.objeto.vencimientosCobro:
vto.recibo = None
txtrcbo = "Recibo bancario número %d con fecha de emisión %s." % (self.objeto.numrecibo,
utils.str_fecha(self.objeto.fechaLibramiento))
if txtrcbo in vto.observaciones:
vto.observaciones = vto.observaciones.replace(txtrcbo, "")
else: # Se ha cambiado la fecha o el número del recibo
# después de haber incluido el vencimiento
if "Recibo bancario" in vto.observaciones:
vto.observaciones = vto.observaciones[:vto.observaciones.index("Recibo bancario")]
else: # No sé lo que habrá hecho el usuario con las observaciones, reinicio al texto de forma de pago original:
try:
vto.observaciones = vto.get_factura_o_prefactura().cliente.textoformacobro
except AttributeError, msg: # No tiene factura, o la factura no tiene cliente. Dejo las observaciones que tuviera.
txterror = "%srecibos::drop_factura -> El vencimientoCobro ID %d no tiene factura, o su factura no tiene cliente. Mensaje de la excepción: %s" % (self.usuario and self.usuario.usuario + ": " or "", vto.id, msg)
self.logger.warning(txterror)
self.objeto.destroySelf()
except Exception, msg:
utils.dialogo_info(titulo = "ERROR", texto = "El registro no se pudo eliminar", padre = self.wids['ventana'])
self.logger.error("%srecibos::borrar -> No se pudo eliminar el recibo ID %d. Excepcion: %s" %
(self.usuario and self.usuario.usuario + ": " or "", self.objeto and self.objeto.id or 0, msg))
开发者ID:pacoqueen,项目名称:bbinn,代码行数:27,代码来源:recibos.py
注:本文中的utils.dialogo函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论