Tabla de numeración de documentos


(IsmaelCádiz) #1

¿Cómo puedo cargar los datos de otra tabla que contiene la numeración del documento en el formulario de factura para poner el número en un alta nueva?

¿y cual es la mejor relación (de existir) entre numeración y factura en el caso de un único remitente?

Os dejo el enlace de por donde me he quedado en mi proyecto.

http://youtu.be/28EqUjs7HIQ


(IsmaelCádiz) #2

nadie me puede ayudar? estoy un poco atrancado con este tema.


([N1] Pepeto) #3

La pregunta no queda demasiado clara, ¿que pretendes hacer?
Lo que pretendes es hacer una tabla (Maestro/Detalle segun el video) o (Cabecera/Lineas):

- La numeracion del documento debes controlarla para identificar el documento, pero no es necesario en cuanto a su relacion con las lineas.
- Para crear una relacion de este tipo, se puede hacer de varias formas, y deberias en primer lugar, tener claro que tipo de tablas vas a utilizar,
- Las mas comunes son: 2 tablas maestras y relaccionadas entre si (desde la tabla de lineas creamos un enlace maestro a la cabecera). Otra forma es una tabla Maestra de Cabecera y otra Submaestra para las lineas.

Puedes mirar como esta echo en la Open App de "Cambia el Chip": http://velneo.es/cambia-el-chip-con-velneo-v7/

un saludo
Jose Luis
http://www.ascsl.com


(IsmaelCádiz) #4

Gracias pepeto.

Era tan sencillo que no lo veía.

Me he estado mirando a fondo el tutor de procesos y ya he dado con lo que quiero hacer.


(IsmaelCádiz) #5

Bueno jiji

Alguien me dice como hacerlo bien.

http://www.youtube.com/watch?v=uMRMELRqpUg&feature=youtube_gdata_player


([N1] Giuseppe::Komenco) #6

Velneo automáticamente te crea la factura en el momento de dar de alta una línea. En tu caso, la 31286 la crea a la hora de introducir la línea de la factura, porque le hace falta para la relación, pero luego no tira para atrás la transacción. El cancelar del formulario, podrías asociarlo a un evento, que si el ID>0 y no tiene líneas de documentos(1), que la elimine, por ejemplo.

(1)
Cargar plurales(lineas documentos)
-- if (!sysListSize)
----no hay líneas, eliminar


([N1] Pepeto) #7

Lo que muestras en el video , es el funcionamiento correcto de la base de datos.
El numero se crea en el momento de introducir la primer linea, porque para crear una linea de esa factura, primero debe existir el maestro (la factura).

Para controlar el numero de factura (en caso de que sea cancelada) lo puedes hacer con un evento en el boton cancelar, que modifique nuevamente la numeracion y elimine la cabecera.

un saludo
José Luis
http://www.ascsl.com


(IsmaelCádiz) #8

La idea es q no asigne el numero hasta q se acepte la factura porque sino en red no ira bien.

Por lo tanto he pensado q lo mejor seria una variable que controlara q se ha pulsado aceptar en el formulario y entonces si pasar el numero de factura y aumentar el contador.

Con añadir un if al evento de tabla podria funcionar.

Muchisimas graciaspor vuestras aclaraciones sobre porque crea la ficha.

Podria valer?


([N1] Giuseppe::Komenco) #9

El registro siempre se creará al añadir una nueva linea.
.
Podrías añadir un campo booleano CAMBIAR_CONTADOR y ponerlo en una condición de un evento de modificación, que de validarse, cambiaría el campo NFActura como haces en tu video.

Al Aceptar desde el formulario, llama a un evento, y si ID>0 pones a true el campo y haces un Interfaz Aceptar.
.
Posteriormente al "Guardar ficha en alta o modificación", tendrías que hacer un Interfaz-Aceptar, pero a mi se me han dado casos de errores con colisión de campo en vAdmin, pero no he tenido tiempo de averigüar la razón. Quizás es, porque el Interfaz-Aceptar no puede ir seguido del Guardar ficha directamente.
.
Existe otra opción, que es el bloqueo duro. (1) (2). Hace tiempo ví el video y la info, y quería usarlo en mi proyecto, pero no encotnraba la propiedad, hasta ahora mismo, que buscándolo para tí, he dado con ello, y está bajo Estilos. Pruébalo, a ver si sirve, y nos cuentas tus experiencias.
.
A estas horas, como tengo la cabeza ya, no se me ocurra nada mejor.
.
Saludos.

EDITO
El bloqueo duro al parecer es para edición, no vale para altas.

(1) http://www.youtube.com/watch?v=L030afhd5lg
(2) http://velneo.es/formularios-bloqueo-blando-y-bloqueo-duro/


(IsmaelCádiz) #10

Recorro la lista de la rejilla y elimino las fichas

Pero como se elimina la ficha de factura?

No encuentro la instruccion.


([N1] comercial) #11

Hola, Ismael primero quiero darte las gracias por tu esfuerzo en editar esos vídeos, que sigo desde el primero, y aunque son básicos, están muy bien para quien empieza desde cero, en cuanto al problema de las facturas, creo que hay que darle un enfoque distinto, me explico, no se puede permitir que tenga un número 'oficial' mientras se edita una factura, porque si decidimos no hacerla el contador ya se ha perdido, y es ilegal que haya saltos en el numero de factura, en cuanto a deshacer y volver atrás el número borrando la ficha, tampoco sirve, puede haber otro terminal facturando con el siguiente número y eso no está bien, el enfoque debe de ser por ejemplo, dar un número provisional al documento mientras estamos editando, solo cuando demos por válido el documento entonces le damos un numero 'oficial', y por supuesto no se permite la modificación de una factura, siempre se hará una nueva rectificativa de la primera, perdón por el 'tocho'.

Saludos.
Miguel.


(IsmaelCádiz) #12

A ver que estoy haciendo mal...

En el botón Cancelar del formulario he colocado el Evento Cancelar que contiene lo siguiente:

if (#NFACTURA = 0)
Cargar Plurales (LINEA_DE_FACTURA_ID)
Recorrer Lista Eliminando Fichas
Libre
Cargar Lista (FACTURAS@MonroySoft,ID,#NFACTURA=0,,,)
Recorrer Lista Eliminando Fichas
Libre
Interfaz: Cancelar

PUES NO ME FUNCIONA :(

elimina bien las lineas de la factura pero NO ELIMINA LA FACTURA del servidor porque cuando cierro y habro de nuevo aparece la factura 0.

¿Que estoy haciendo mal?

Estoy subiendo el video para que se vea más claro.


(IsmaelCádiz) #13

SOLUCIONADO****

El problema es que no se puede buscar por un campo que no sea un indice en CARGAR LISTA

ponia nfactura=0 y no era indice.

asi que la he puesto como indice y puesto la linea

Cargar Lista (FACTURAS@MonroySoft, NFACTURA,0,,)

y así me selecciona todos los nfactura =0 y luego los elimino.

gracias a todos!!! Por vuestra ayuda.


([N4] Jorge) #14

Eso es... al Cargar lista tienes que resolver el índice.

Tambien puedes resolver índices por partes.


([N2] norberto) #15

Hola ismael mi nombre es norberto soy de mexico y he visto tus videos
me parecen muy buenos y muy claros para aprender velneo
pero no estan todos podrias subirlos para verlos por favor
por ejemplo no esta el 16 y el 18 que creo deben ser muy importantes
ya que creo que en esos debe estar todo lo referente a la factura

gracias