lunes, 25 de octubre de 2010

Campo movimientos acumulados

Crear los enlaces "hermano contiguo"

 

y el campo "salidas_acumuladas"

Con el contenido inicial:

 

Luego, la actualización:

 
Con los campos enlazados:
 
 

Con el componente de actualización:

Fuente: http://velneo.es/foros/topic/actualizacion-a-hermano-soy-solo-yo

miércoles, 6 de octubre de 2010

Localizador de submaestro

Tomado del foro de velneo

En este ejemplo localizaremos un contacto de un proveedor en un documento de compra.

Necesitaremos una variable global para guardar el valor del proveedor COD_PROV, otra para el valor del contacto COD_CONT y otra para escribir por lo que queramos filtrar posteriormente ALFA_BUS

1.- Tendemos una rejilla CONTACTOS_LOC de la tabla de contactos sin formularios de alta, modif y baja. En esta rejilla tendré un evento que se ejecutará al "item:doble click". En este proceso leeré la ficha seleccionada y modificaré la var. global COD_CONT con el valor #ID

2.- En la tabla de contactos tendré un índice PROVEEDORES y un índice llamado BUSQUEDA. Este último índice es por Trozos y aquí pondré todos los campos por los que querré filtrar

3.- Crearemos una búsqueda BUS_CONTACTOS con los índices que hemos creado anteriormente. El índice PROVEEDORES será por parte izquierda y el límite inicial será la var. global COD_PROV. El índice BUSQUEDA estará condicionado a que la variable ALFAB:BUS tenga valor y de límite inicial estará ella misma

4.- Un proceso LOCALIZ_CONTACT sin origen de entrada y la salida será la lista de Contactos. En este proceso lanzaré la búsqueda BUS_CONTACTOS y añadiré la lista a la salida

5.- Crearemos un formulario sin tabla de origen (ver imagen).

En este formulario tendremos: La variable global ALFAB_BUS, una variable que crearemos CONTACTO de tipo numérico, un control objeto CONTACTOS, dos botones para dar altas y modificar y varios eventos.

El control objeto tendrá el proceso LOCALIZ_CONTACT y la rejilla CONTACTOS_LOC

Eventos:

- INICIALIZAR. Se inicializan a cero las variables COD_CONT y ALFAB_BUS. Está última se pone en blanco. Y recalcularé el control CONTACTOS

- REFRESCO se ejecutará con la señal "tecla soltada". Este evento sólo tiene que refresque el objeto CONTACTOS. Con este evento consigo que cada vez que escribo algo en la variable global me recalcule la lista de contactos

- ACEPTAR se ejecutará con "item_doble click". En este proceso con SET daremos valor a la variable creada en el formulario con el valor de la variable global $COD_CONT. La otra línea del proceso será "Interfaz:Aceptar"

- ALTA FICHA se ejecutará desde eñ botón que usemos en el formualrio para dar altas (ver imagen)

- VER FICHA se ejecutará en el otro botón. Aquí tengo "Interfaz: Procesar control (CONTACTOS)" y "Modificar ficha seleccionada con formulario"

6.- Desde el formulario de Pedidos de compra crearemos un evento que o lo ejecutamos desde un botón, o si queremos lanzarlo desde un menú. Esa acción deberá disparar una señal que después recogeremos en el formulario.

En el proceso modificamos la var. global COD_PROV con el valor del campo proveedor del pedido y crearemos un objeto ( el fomulario) y recuperaremos el valor del código del contacto para modificarlo en el pedido (ver imagen)


Fuente: http://velneo.es/foros/topic/ejemplo-localizar-submaestros

miércoles, 11 de agosto de 2010

Formato de la máscara

Máscara: Permite aplicar una máscara para formatear el texto. Las máscaras disponibles son:

Espacio en blanco: Cualquier caracter
A: Carácter ASCII requerido. A-Z, a-z.
a: Carácter ASCII alfabético permitido pero no requerido.
N: Carácter ASCII alphanumeric character required. A-Z, a-z, 0-9.
n: Carácter ASCII alfanumérico permitod pero no requerido.
X: Requerido cualquier carácter.
x: Cualquier carácter permitido pero no requerido.
9: Dígito ASCII requerido. 0-9.
0: Dígito ASCII permitido pero no requerido.
D: Dígito ASCII requerido. 1-9.
d: Dígito ASCII permitido pero no requerido. 1-9.
#: Signo más o menos permitido pero no requerido.
H: Carácter hexadecimal requerido. A-F, a-f, 0-9.
h: Carácter hexadecimal permitdo pero no requerido.
B: Carácter binario requerido. 0-1.
b: Carácter binario permitido pero no requerido.
>: Los siguientes caracteres irán en mayúsculas.
<: Los siguientes caracteres irán en minúsculas.
!: Finaliza la conversión a mayúsculas o minúsculas.
\: Usar el caracter \ con algún símbolo de los anteriores para ser usado como separador.
Máscaras para horas:
Horas:
h: (0-23, 1-12 AM/PM)
hh: (00-23, 01-12 AM/PM)
H: (0-23)
HH: (00-23)
Minutos:
m: (0-59)
mm: (00-59)
Segundos:
s: (0-59)
ss: (00-59)
z: (0-999) zzz (000-999)
Periodos:
AP: (AM/PM)
ap: (am/pm)
Máscaras para fechas:
Día:
d: (1-31)
dd: (01-31)
ddd: (Lun-Dom)
:dddd: (Lunes-Domingo)
Mes:
M: (1-12)
MM: (01-12)
MMM: (Ene-Dic)
MMMM: (Enero-Diciembre)
Año:
yy: (00-99)
yyyy: (0000-9999)
El resto de caracteres en la cadena de formato serán tratados como texto. También los caracteres que estén entre comillas simples (’) en la cadena de formato serán tratados como texto, lo que nos permite tratar los caracteres específicos de formato (d, dd, M, MM, etc.) como texto.

martes, 27 de julio de 2010

Conocer que teclas están siendo pulsadas

Crear una variable local EVENT_PARAMS del tipo String con el parametro Array en Verdadero.

En el caso de tecla pulsada:

Nos devuelve en cada elemento del array:


0: Comando (En este caso 2)
1: ¿Que tecla?
2: Shift?
3: Control?
4: Alt?
5: Texto


Debido a que el código de tecla es un entero muy alto, tenemos que utilizar la funcion numberToString, para conocer su valor real:


numberToString(EVENT_PARAMS[1], "f", "g")


si se pulsa F1 devolverá el valor 16777264, si se pulsa F2 devolverá el valor el valor 16777265 y así sucesivamente.

Fuente: http://velneo.es/info_v7_73_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/conexion_de_evento

En el foro de Velneo, publicaron un ejemplo para un lector de Código de Barras muy interesante:

http://velneo.es/foros/topic/lector-codigo-de-barras#post-10872

jueves, 22 de julio de 2010

Parámetros de fórmula numerToString


numberToString(numero, formato, decimales)

Formatos:
f: formato decimal [-]9.9
L: formato decimal con ajustes locales
e: formato exponencial [-]9.9e[+|-]999
E: formato exponencial [-]9.9E[+|-]999
g: decimal o exponencial, expresión mas abreviada entre e ó f
G: decimal o exponencial, expresión mas abreviada entre E ó F

Documentación de QtCSS

Guía de Velneo:

http://velneo.es/un-ejemplo-usando-estilos-en-velneo-v7/

Manual de Qt:

http://doc.trolltech.com/4.3/stylesheet-examples.html

lunes, 19 de julio de 2010

Variantes de formato de números con decimales

En campos de formularios:


numberToString (#CAMPO, "L", 2)


En rejillas:

activando la propiedad "Formato numérico local" de la columna.


Fuente: http://velneo.es/foros/topic/edicion-de-cantidades