![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Perfecto Caral, gracias.
Una cosa menos en la que pensar He aplicado la segunda forma, sin sql, he intentado lo primero que pero no me sacaba el max ni queriendo, algo estaba haciendo mal con total seguridad pero no he querido insitir. Siempre me ponía el valor a sumar, por ej. 1 , lo cambié a 2 para ver que hacía y me ponía 2, por lo que llego a la conclusión que sacaba el valor 0 del campo num-albaran. Lo tengo solucionado con la otra forma, me sirve por ahora, aunque he tenido que meter antes una orden para ordenar la tabla por ese numero, asi me aseguro que es el mas alto antes de sumarle 1. y ademas muevo el puntero de la tabla al final;
Mañana mas, buenas noches
__________________
Mi proyecto paso a paso (Parte I) |
|
#2
|
||||
|
||||
|
Hola Delphitest
No se porque razon no funciona bien, seguro que algun maestro lo indica, pero ya te lo hice funcionar con sql, solo pon un edit y ya. No hace falta poner la tabla en last, ni nada. Prueba asi: Como ves al final le doy el valor del edit al dbedit, asi te va a funcionar. Saludos |
|
#3
|
|||
|
|||
|
A ver... esto lo pueden hacer tan fácil como esto:
Esto es, al usar el evento OnNewRecord de la tabla albaranes, le asignas el número que le corresponde. Al hacer esto, si llegas a cancelar el albarán no pasa nada... Saludos... |
|
#5
|
||||
|
||||
|
Hola Delphitest.
En relacion a la numeracion de los Albaranes, te aconsejo que el dar numero al nuevo albaran sea la ultima operacion que se realice y no la primera como creo que estas planteando. Me explico: inicias la creación de un nuevo albaran y el sistema te asigna, por ejemplo, el numero 100. Un compañero tuyo inicia otro albaran y el sistema le asigna tambien el numero 100 (suponiendo que tu no hayas terminado todavia). Ahora resulta que tu compañero es mas rapido que tu y graba los datos de su albaran antes que tu. Cuando tu termines y vayas a grabar los datos de tu albaran nos encontraremos con que el albaran numero 100 ya está introducido(el de tu compañero). Por eso te recomiendo que asignar el numero debe ser lo ultimo de lo ultimo. Para esto, en los datasets hay un evento que se llama "beforePost". Coloca ahi el codigo de asignar el numero del albaran. Saludos |
|
#6
|
|||
|
|||
|
Bueno, allá vamos ...
Buenas tardes ante todo. Gracias Marcos por el código pero por lo que se ve esas 3 letras (SQL) me tienen manía, no creas que no lo he intentado pero no sabía donde había que meter la función (el procedure) y me he liado de nuevo, asi que lo dejo como está de momento. Kalimero, buena observación eso de los números. Tendré que cambiarlo pero antes debo pensar como y donde . No veas como me está costando esta parte. al estar divido en varios trozos, el albaran puede terminar parcialemente antes de meter las lineas o totalmente despues de ponerlas, pero de entrada debo poner un número aunque sea de referencia, ya le daré vueltas al tema.Ya tengo muy adelantada la opción Ventas/Albaranes aunque no terminada aún pero os cuento los adelantos. He optado por por dividir un solo form en varias partes. Intervienen 3 tablas; Albaranes, DesgloseAlbaran (que contiene las lineas de los albaranes) y clientes (solo para sacar los datos de ahí) He tenido que crear una relacion entre las tablas de los albaranes para que a cada albaran se le relacione con las lineas suyas unicamente, es decir que cada linea tiene el numero del albaran al que corresponde (es algo interno y eso no se ve) Al entrar en esta opcion desde el menú; Podemos: Recorrer a traves de los tipicos botones los diferentes albaranes viendo su contenido, edit o borrar si es necesario un albaran y dar de alta uno nuevo. En este último punto: El número aparece por defecto buscando el mas alto actual +1 pero se puede cambiar, es un campo único pero no autoincrementable (por ahora mejor asi para no liarme), la fecha por defecto es la actual pero tb se puede cambiar. Al poner un codigo de cliente aparecen sus datos de forma automatica, si no conocemos el codigo podemos darle a ... y buscar el cliente con el sistema que hice la semana pasada, doble click en el y se ponen sus datos. Me falta la posibilidad de dar de alta un cliente desde aqui en caso de que no esté dado de alta. El resto son datos que se ven. Una vez completada esa parte de datos de cabecera hay que añadir las lineas pulsando el signo + que aparece a la dcha del DBGrid. Eso nos muestra un panel que hay que rellenar. Aceptar para tener en cuenta esa linea y pasar a la siguiente o cancelar para descartarla. Un vez añadida las lineas necesarias basta con pulsa el icono Aceptar (el del Disco) y ya está, tenemos un albaran creado. Me faltan por calcular las casillas, todavía no me he puesto con ello, os anticipo lo que quiero; Cuando se da de alta una linea al poner Portes, reexpedicion y otros o parte de ellos deberia aparecer el total de esos campos sumados en importe (parcial), al aceptar la linea ese importe se tiene que sumar al campo Base y quedar reflejado por debajo del DBGrid. A medida que se añadan mas lineas la base se tiene que incrementar. El iva estaría basado en el % de valor indicado en la cabecera del albaran al igual que el descuento, y finalmente el Total seria base-descuento+iva Ahora me pongo con eso de los calculos, es algo que no he tocado nunca y me toca investigar de nuevo. Tampoco imprime todavia pero eso lo dejo para mas tarde, primero los calculos. Aqui esta lo nuevo A ver si tenemos suerte y podeis descargarlo y probarlo sin muchos problemas. Sería de agradecer que alguien lo probase porque estoy seguro que tiene un monton de fallos que para mi están pasando desapercibidos. Un abrazo y ya mañana vuelvo a la carga con los cálculos. ![]()
__________________
Mi proyecto paso a paso (Parte I) |
|
#7
|
|||
|
|||
|
hola a todos
Yo probé el código de maeyanes. A la función la puse en la unidad del datamodule. Agregué Dialogs en la unidad para poder usar showmessage. Al ejecutar el código surgió un error cuando quise ingresar datos en el formulario de albaranes. Con respecto a lo que decía caral que no veía el formulario del datamodule es por los valores de coordenadas que tenía (left y top), yo abrí el datamodule.dfm y le cambié por valores adecuados para que quede más o menos centrado en la pantalla. saludos |
|
#8
|
||||
|
||||
|
Dos cosas:
1.- Que bueno que estén haciendo un programita de Facturación entre todos aqui, de P.M.... 2.- Que malo que lo estén haciendo en Access ![]()
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..." |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ejecutar Query Paso a Paso??? | juliopag1 | SQL | 0 | 17-06-2006 01:51:10 |
| Novato (Paso a Paso de una consulta) | enecumene | Conexión con bases de datos | 2 | 29-05-2006 20:52:19 |
| Motor Paso a Paso | jluisx | C++ Builder | 3 | 12-09-2005 16:48:07 |
| Red Paradox paso a paso | Aldo Josué | Conexión con bases de datos | 2 | 13-12-2003 13:53:37 |
| procedure paso a paso | Silver | Varios | 1 | 26-08-2003 20:24:00 |
|