本文整理汇总了Python中utils.dialogo_entrada函数的典型用法代码示例。如果您正苦于以下问题:Python dialogo_entrada函数的具体用法?Python dialogo_entrada怎么用?Python dialogo_entrada使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dialogo_entrada函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: nuevo
def nuevo(self, widget):
"""
Función callback del botón b_nuevo.
Pide los datos básicos para crear un nuevo objeto.
Una vez insertado en la BD hay que hacerlo activo
en la ventana para que puedan ser editados el resto
de campos que no se hayan pedido aquí.
"""
silo = self.objeto
nombre = utils.dialogo_entrada('Introduzca el nombre del silo:', 'NOMBRE', padre = self.wids['ventana'])
if nombre != None:
capacidad = utils.dialogo_entrada(titulo = "CAPACIDAD",
texto = "Introduzca la capacidad del silo:",
padre = self.wids['ventana'])
try:
capacidad = float(capacidad)
except:
utils.dialogo_info(titulo = "VALOR INCORRECTO",
texto = "El valor %s no es correcto. Inténtelo de nuevo.\nAsegúrese de no introducir unidades.",
padre = self.wids['ventana'])
return
observaciones = utils.dialogo_entrada(titulo = "OBSERVACIONES",
texto = "Introduzca observaciones si lo desea:",
padre = self.wids['ventana'])
if observaciones != None:
silo = pclases.Silo(nombre = nombre,
capacidad = capacidad,
observaciones = observaciones)
self.rellenar_widgets()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:29,代码来源:silos.py
示例2: add_campoesp
def add_campoesp(self, w):
campo = utils.dialogo_entrada('Introduzca nombre del campo:', 'NOMBRE', padre = self.wids['ventana'])
if campo:
valor = utils.dialogo_entrada('Introduzca valor del campo:', 'VALOR', padre = self.wids['ventana'])
if valor:
producto = self.objeto
ce = pclases.CamposEspecificos(productoVenta = producto,
nombre = campo,
valor = valor)
self.mostrar_especificos()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:10,代码来源:productos_de_venta_especial.py
示例3: elegir_o_crear_obra
def elegir_o_crear_obra(self):
"""
Crea una nueva obra relacionada con la factura de venta de la ventana.
"""
obras = pclases.Obra.select(orderBy = "nombre")
obras = [o for o in obras
if self.objeto.cliente in o.clientes]
idobra = utils.dialogo_combo(titulo = "SELECCIONE OBRA",
texto = "Es necesario relacionar una obra con la factura."\
"\nSeleccione una del desplegable inferior o cree una "\
"nueva",
padre = self.wids['ventana'],
ops = [(0, "Crear una obra nueva")] + [(o.id, o.nombre)
for o in obras])
if idobra == 0:
nombre = utils.dialogo_entrada(titulo = "NOMBRE DE OBRA",
texto = "Introduzca el nombre de la obra:",
padre = self.wids['ventana'])
if not nombre:
return None
direccion = utils.dialogo_entrada(titulo = "DIRECCIÓN",
texto = "Introduzca la dirección de la obra:",
padre = self.wids['ventana'])
if direccion == None:
return None
ciudad = utils.dialogo_entrada(titulo = "CIUDAD",
texto = "Introduzca la ciudad:",
padre = self.wids['ventana'])
if ciudad == None:
return None
cp = utils.dialogo_entrada(titulo = "CÓDIGO POSTAL",
texto = "Introduzca el código postal",
padre = self.wids['ventana'])
if cp == None:
return None
provincia = utils.dialogo_entrada(titulo = "PROVINCIA",
texto = "Introduzca la provincia:",
padre = self.wids['ventana'])
if provincia == None:
return None
# De fecha de inicio, fecha de fin de obra y observacione pasamos a
# este nivel. Eso se afina en la ventana de obras.
obra = pclases.Obra(nombre = nombre, direccion = direccion,
cp = cp, ciudad = ciudad, provincia = provincia,
fechainicio = None, fechafin = None,
observaciones = "Creada desde módulo CRM: detalles de "\
"factura.",
generica = False)
obra.addCliente(self.objeto.cliente)
elif idobra:
obra = pclases.Obra.get(idobra)
else:
obra = None
return obra
开发者ID:pacoqueen,项目名称:bbinn,代码行数:54,代码来源:crm_detalles_factura.py
示例4: add_campoesp
def add_campoesp(self, w):
campo = utils.dialogo_entrada('Introduzca nombre del campo:', 'NOMBRE')
if not campo:
return
valor = utils.dialogo_entrada('Introduzca valor del campo:', 'VALOR')
if not valor:
return
producto = self.objeto
ce = pclases.CamposEspecificos(productoVenta = producto,
nombre = campo,
valor = valor)
self.mostrar_especificos()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:12,代码来源:productos_de_venta_balas.py
示例5: crear_nuevo_tipodematerialBala
def crear_nuevo_tipodematerialBala(self, widget):
"""
Función callback del botón b_nuevo.
Pide los datos básicos para crear un nuevo objeto.
Una vez insertado en la BD hay que hacerlo activo
en la ventana para que puedan ser editados el resto
de campos que no se hayan pedido aquí.
"""
nuevotipo = utils.dialogo_entrada('Introduzca el nuevo tipo de material')
nuevocodigo = utils.dialogo_entrada('Introduzca el código asociado al material')
if nuevotipo != None and nuevocodigo !=None :
tipodematerialBala = pclases.TipoMaterialBala(descripcion = nuevotipo, codigo = nuevocodigo)
self.rellenar_tabla()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:13,代码来源:tipos_material_balas.py
示例6: crear_nuevo_contador
def crear_nuevo_contador(self, widget):
"""
Función callback del botón b_nuevo.
Pide los datos básicos para crear un nuevo objeto.
Una vez insertado en la BD hay que hacerlo activo
en la ventana para que puedan ser editados el resto
de campos que no se hayan pedido aquí.
"""
prefijo = utils.dialogo_entrada('Introduzca el prefijo del nuevo contador')
if prefijo != None:
sufijo = utils.dialogo_entrada('Introduzca el sufijo del nuevo contador')
if sufijo != None:
contador = pclases.Contador(prefijo = prefijo, sufijo = sufijo, contador = 1)
self.rellenar_tabla()
开发者ID:pacoqueen,项目名称:upy,代码行数:14,代码来源:contadores.py
示例7: set_lote
def set_lote(self, w):
numlote = utils.dialogo_entrada(titulo = 'Nº LOTE',
texto = 'Introduzca número de lote:',
padre = self.wids['ventana'])
if numlote != None:
lotes = pclases.Lote.select(pclases.Lote.q.numlote.contains(numlote))
if lotes.count() == 0:
utils.dialogo_info(titulo = 'LOTE NO ENCONTRADO',
texto = 'No se encontró ningún lote %s.' % numlote,
padre = self.wids['ventana'])
return
elif lotes.count() > 1:
filas = [(l.id, l.numlote, l.codigo, l.tenacidad, l.elongacion, l.rizo, l.encogimiento) for l in lotes]
idlote = utils.dialogo_resultado(filas,
titulo = 'SELECCIONE LOTE',
cabeceras = ('ID', 'Número', 'Código', 'Tenacidad', 'Elongación', 'Rizo', 'Encogimiento'),
padre = self.wids['ventana'])
if idlote < 0:
return
lote = pclases.Lote.get(idlote)
else:
lote = lotes[0]
if len(lote.balas) == 0:
utils.dialogo_info(titulo = 'LOTE VACÍO',
texto = 'El lote no contiene balas, no puede\nrealizar pruebas sobre un lote vacío.',
padre = self.wids['ventana'])
self.lote = None
return
self.lote = lote
self.actualizar_ventana()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:30,代码来源:resultados_titulo.py
示例8: nuevo_todo
def nuevo_todo(self, idfras):
texto = utils.dialogo_entrada(
titulo="TEXTO TAREA", texto="Introduzca el texto de la tarea.", padre=self.wids["ventana"]
)
if texto:
idcat = utils.dialogo_entrada_combo(
titulo="SELECCIONE CATEGORÍA",
texto="Selecciona una categoría del desplegable" " inferior:",
padre=self.wids["ventana"],
ops=[
(c.id, "%s (Pri.: %d)" % (c.descripcion, c.prioridad))
for c in pclases.Categoria.select(orderBy="prioridad")
],
)
if idcat and idcat[0] != None:
for id in idfras:
tarea = pclases.Tarea(
facturaVentaID=id,
categoriaID=idcat[0],
texto=texto,
pendiente=True,
fechadone=None,
fecha=mx.DateTime.localtime(),
)
self.buscar_todos()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:25,代码来源:crm_seguimiento_impagos.py
示例9: buscar_cliente
def buscar_cliente(self):
"""
Busca un cliente y devuelve su ID o None.
"""
idcliente = None
a_buscar = utils.dialogo_entrada(titulo = "BUSCAR CLIENTE", texto = "Introduzca nombre o CIF del cliente:", padre = self.wids['ventana'])
if a_buscar != None:
criterio = pclases.OR(pclases.Cliente.q.nombre.contains(a_buscar),
pclases.Cliente.q.cif.contains(a_buscar))
resultados = pclases.Cliente.select(criterio)
if resultados.count() > 1:
## Refinar los resultados
idcliente = self.refinar_resultados_busqueda_cliente(resultados)
if idcliente == None:
return None
resultados = [pclases.Cliente.get(idcliente)]
elif resultados.count() < 1:
## Sin resultados de búsqueda
utils.dialogo_info('SIN RESULTADOS',
'La búsqueda no produjo resultados.\nPruebe a cambiar el texto buscado o déjelo en blanco para ver una lista completa.\n(Atención: Ver la lista completa puede resultar lento si el número de elementos es muy alto)',
padre = self.wids['ventana'])
return None
## Un único resultado
idcliente = resultados[0].id
return idcliente
开发者ID:pacoqueen,项目名称:bbinn,代码行数:25,代码来源:recibos.py
示例10: add_actividad
def add_actividad(self, boton):
texto = utils.dialogo_entrada(titulo = "NUEVA ACTIVIDAD",
texto =
"Introduzca la descripción de la nueva actividad deportiva:",
padre = self.wids['ventana'])
if texto != None:
opciones = [(e.id, e.nombre)
for e in pclases.Evento.select(orderBy = "nombre")]
opciones.insert(0, (0, "Sin evento relacionado"))
idevento = utils.dialogo_combo(titulo = "SELECCIONE EVENTO:",
texto = "Seleccione un evento de la lista:",
ops = opciones,
padre = self.wids['ventana'],
valor_por_defecto = 0)
if idevento != None:
if idevento == 0:
evento = None
else:
evento = pclases.Evento.get(idevento)
actividad = pclases.Actividad(descripcion = texto,
evento = evento,
fechahoraInicio = datetime.datetime.today(),
fechahoraFin = datetime.datetime.today(),
grupoAlumnos = self.objeto)
model = self.wids['tv_actividades'].get_model()
model.append((actividad.descripcion,
actividad.evento
and actividad.evento.nombre or "",
utils.str_fechahora(actividad.fechahoraInicio),
utils.str_fechahora(actividad.fechahoraFin),
actividad.get_puid()))
开发者ID:pacoqueen,项目名称:upy,代码行数:31,代码来源:grupos_alumnos.py
示例11: set_partida
def set_partida(self, boton):
"""
Hace activa una partida seleccionada para agregarle balas, imprimir su consumo, etc...
"""
try:
max_partida = pclases.PartidaCarga._connection.queryOne("SELECT MAX(numpartida) FROM partida_carga")[0]
max_partida = "%d" % (max_partida + 1)
except:
max_partida = ""
codigo = utils.dialogo_entrada(titulo = '¿NÚMERO DE PARTIDA?',
texto = 'Introduzca el número de partida de carga:',
padre = self.wids['ventana'],
valor_por_defecto = max_partida)
if codigo == None:
return
try:
try:
codigo = int(codigo.upper().replace("PC", ""))
partida = pclases.PartidaCarga.select(pclases.PartidaCarga.q.numpartida == codigo)[0]
except ValueError:
partida = pclases.PartidaCarga.select(pclases.PartidaCarga.q.codigo == codigo)[0]
self.objeto = partida
self.actualizar_ventana()
except TypeError:
return
except IndexError:
codigo = `codigo` # CHAPU
if codigo.strip() != "" and utils.dialogo(titulo='¿CREAR PARTIDA?',
texto='No se encontró la partida %s.\n¿Desea crear una nueva?' % (codigo),
padre = self.wids['ventana']):
self.nueva_partida(codigo)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:31,代码来源:consumo_balas_partida.py
示例12: pedir_rango_balas
def pedir_rango_balas(self):
"""
Pide un rango de números de balas.
Devuelve un generador de números
de bala que comienza en el primero
del rango (o único, si solo se teclea uno)
y acaba en el último del rango.
"""
rango = utils.dialogo_entrada(titulo = 'INTRODUZCA RANGO',
texto = 'Rango de números de bala o el código individual.\nEscriba el rango de códigos de la forma "xxxx-yyyy", ambos inclusive.\nO bien una lista de números separada por comas o espacios (xxxx, yyyy zzzz).',
padre = self.wids['ventana'])
articulos = []
if rango == '' or rango == None:
return rango
try:
if '-' in rango:
ini, fin = rango.split('-')
ini = int(ini)
fin = int(fin)
if fin < ini:
ini, fin = fin, ini
else:
ini = int(rango)
fin = ini
except:
utils.dialogo_info(titulo = 'CÓDIGO INCORRECTO',
texto = 'Los códigos deben ser numéricos.\n\nVerifique que los ha escrito correctamente y que ha separado el rango con un guión.',
padre = self.wids['ventana'])
return []
return xrange(ini, fin+1)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:30,代码来源:consumo_balas_partida.py
示例13: set_lote
def set_lote(self, w):
numlote = utils.dialogo_entrada(titulo="Nº LOTE", texto="Introduzca número de lote:")
if numlote != None:
lotes = pclases.Lote.select(pclases.Lote.q.numlote.contains(numlote))
if lotes.count() == 0:
utils.dialogo_info(titulo="LOTE NO ENCONTRADO", texto="No se encontró ningún lote %s." % numlote)
return
elif lotes.count() > 1:
filas = [(l.id, l.numlote, l.codigo, l.tenacidad, l.elongacion, l.rizo, l.encogimiento) for l in lotes]
idlote = utils.dialogo_resultado(
filas,
titulo="SELECCIONE LOTE",
cabeceras=("ID", "Número", "Código", "Tenacidad", "Elongación", "Rizo", "Encogimiento"),
)
if idlote < 0:
return
lote = pclases.Lote.get(idlote)
else:
lote = lotes[0]
if len(lote.balas) == 0:
utils.dialogo_info(
titulo="LOTE VACÍO",
texto="El lote no contiene balas, no puede\nrealizar pruebas sobre un lote vacío.",
)
self.lote = None
return
self.lote = lote
self.actualizar_ventana()
开发者ID:pacoqueen,项目名称:bbinn,代码行数:28,代码来源:resultados_tenacidad.py
示例14: add_ausencia
def add_ausencia(self, b):
fecha = utils.str_fecha(utils.mostrar_calendario(padre=self.wids["ventana"]))
dia, mes, anno = map(int, fecha.split("/"))
fecha = mx.DateTime.DateTimeFrom(day=dia, month=mes, year=anno)
opciones = []
for motivo in pclases.Motivo.select():
opciones.append((motivo.id, "%s %s" % (motivo.descripcion, motivo.descripcionDias)))
idmotivo = utils.dialogo_combo(
titulo="¿MOTIVO?", texto="Seleccione motivo de ausencia", ops=opciones, padre=self.wids["ventana"]
)
if idmotivo != None:
motivo = pclases.Motivo.get(idmotivo)
defecto = "%d" % motivo.excedenciaMaxima
duracion = utils.dialogo_entrada(
titulo="DURACIÓN",
texto="Introduzca la duración en días de la ausencia.",
padre=self.wids["ventana"],
valor_por_defecto=defecto,
)
try:
duracion = int(duracion)
for i in range(duracion):
ausencia = pclases.Ausencia(
empleado=self.objeto, fecha=fecha + (mx.DateTime.oneDay * i), motivo=motivo
)
self.actualizar_ventana()
except ValueError:
utils.dialogo_info(
titulo="VALOR INCORRECTO",
texto="Debe teclear un número. Vuelva a intentarlo",
padre=self.wids["ventana"],
)
开发者ID:pacoqueen,项目名称:bbinn,代码行数:32,代码来源:ausencias.py
示例15: buscar_categoria_laboral
def buscar_categoria_laboral(self, widget):
"""
Muestra una ventana de búsqueda y a continuación los
resultados. El objeto seleccionado se hará activo
en la ventana a no ser que se pulse en Cancelar en
la ventana de resultados.
"""
categoria_laboral = self.objeto
objetobak = self.objeto
a_buscar = utils.dialogo_entrada("Introduzca nombre o código del puesto.")
if a_buscar != None:
criterio = sqlobject.OR(pclases.CategoriaLaboral.q.codigo.contains(a_buscar),
pclases.CategoriaLaboral.q.puesto.contains(a_buscar))
resultados = pclases.CategoriaLaboral.select(criterio)
if resultados.count() > 1:
## Refinar los resultados
idcategoria_laboral = self.refinar_resultados_busqueda(resultados)
if idcategoria_laboral == None:
return
resultados = [pclases.CategoriaLaboral.get(idcategoria_laboral)]
elif resultados.count() < 1:
## Sin resultados de búsqueda
utils.dialogo_info('SIN RESULTADOS',
'\n\nLa búsqueda no produjo resultados.\nPruebe a cambiar el texto buscado o déjelo en blanco para ver una lista completa.\n(Atención: Ver la lista completa puede resultar lento si el número de elementos es muy alto)\n\n')
return
## Un único resultado
# Primero anulo la función de actualización
if categoria_laboral != None:
categoria_laboral.notificador.set_func(lambda : None)
# Pongo el objeto como actual
categoria_laboral = resultados[0]
# Y activo la función de notificación:
self.objeto = categoria_laboral
self.actualizar_ventana(objetobak)
categoria_laboral.notificador.set_func(self.aviso_actualizacion)
开发者ID:pacoqueen,项目名称:upy,代码行数:35,代码来源:categorias_laborales.py
示例16: pedir_producto
def pedir_producto(self):
"""
Solicita una descripción de producto, muestra una
ventana de resultados coincidentes con la
búsqueda de ese código y devuelve un
objeto producto seleccionado de entre
los resultados o None si se cancela o
no se encuentra.
"""
producto = None
codigo = utils.dialogo_entrada(texto = 'Introduzca descripción del producto.',
titulo = 'PRODUCTO',
padre = self.wids['ventana'])
if codigo == None: # Ha cancelado
producto = self.producto
if codigo != None:
prods = pclases.ProductoCompra.select(pclases.ProductoCompra.q.descripcion.contains(codigo))
prods = [p for p in prods]
mens_error = 'No se encontró ningún producto con esa descripción.'
if len(prods) > 1:
idproducto = self.refinar_busqueda_productos(prods)
if idproducto != None:
prods = [p for p in prods if p.id == idproducto]
else:
return None
elif len(prods) < 1:
utils.dialogo_info('CÓDIGO NO ENCONTRADO', mens_error)
return None
producto = prods[0]
return producto
开发者ID:pacoqueen,项目名称:upy,代码行数:30,代码来源:consulta_entradas_almacen.py
示例17: buscar_cliente
def buscar_cliente(self):
"""
Muestra una ventana de búsqueda y a continuación los
resultados. El objeto seleccionado se hará activo
en la ventana a no ser que se pulse en Cancelar en
la ventana de resultados.
"""
cliente = None
a_buscar = utils.dialogo_entrada(titulo = "CIF", texto = "Introduzca nombre o CIF del cliente:", padre = self.wids['ventana'])
if a_buscar != None:
criterio = pclases.OR(pclases.Cliente.q.nombre.contains(a_buscar),
pclases.Cliente.q.cif.contains(a_buscar))
resultados = pclases.Cliente.select(criterio)
if resultados.count() > 1:
## Refinar los resultados
idcliente = self.refinar_resultados_busqueda_cliente(resultados)
if idcliente == None:
return
resultados = [pclases.Cliente.get(idcliente)]
elif resultados.count() < 1:
## Sin resultados de búsqueda
utils.dialogo_info('SIN RESULTADOS',
'La búsqueda no produjo resultados.\nPruebe a cambiar el texto buscado o déjelo en blanco para ver una lista completa.\n(Atención: Ver la lista completa puede resultar lento si el número de elementos es muy alto)',
padre = self.wids['ventana'])
return
## Un único resultado
cliente = resultados[0]
return cliente
开发者ID:pacoqueen,项目名称:upy,代码行数:28,代码来源:pagares_cobros.py
示例18: pedir_nombre
def pedir_nombre(self):
"""
Pide un texto y lo devuelve. Sin más.
"""
return utils.dialogo_entrada(titulo = "NOMBRE CONSUMO",
texto = "Introduzca un nombre identificativo si lo desea:",
padre = self.wids['ventana'])
开发者ID:pacoqueen,项目名称:bbinn,代码行数:7,代码来源:formulacion_fibra.py
示例19: 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
示例20: imprimir
def imprimir(self, boton):
"""
Crea un impreso del albarán
"""
self.guardar(None) # Si se ha olvidado guardar, guardo yo.
import informes
albaran = self.objeto
if albaran.proveedor != None:
proveedor = albaran.proveedor.nombre
else:
proveedor = ''
pedidos = []
lineas = []
for l in albaran.lineasDeCompra:
if l.pedidoCompra != None:
numpedido = l.pedidoCompra.numpedido
else:
numpedido = '-'
lineas.append({'codigo': l.productoCompra.codigo,
'descripcion': l.productoCompra.descripcion,
'cantidad': l.cantidad,
'numped': numpedido })
if l.pedidoCompra != None and l.pedidoCompra.numpedido not in pedidos:
pedidos.append(l.pedidoCompra.numpedido)
cadenaPedidos = ','.join(pedidos)
general = {'albnum':albaran.numalbaran,
'fecha':utils.str_fecha(albaran.fecha),
'proveedor':proveedor,
'pednum':cadenaPedidos}
observaciones = utils.dialogo_entrada(titulo = 'OBSERVACIONES',
texto = '¿Desea incluir alguna observación en el albarán?',
padre = self.wids['ventana'])
if observaciones == None:
return
informes.abrir_pdf(geninformes.albaranEntrada(general, lineas, observaciones))
开发者ID:pacoqueen,项目名称:upy,代码行数:35,代码来源:albaranes_de_entrada.py
注:本文中的utils.dialogo_entrada函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论