![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#121
|
||||
|
||||
jeje... nos falta Zipi y Zape
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#122
|
||||
|
||||
Después de unas cuantas horas buenas os pongo el código de dos componentes que se usaran en el módulo que estamos, son iguales, uno para integer y otro para double, son Spinedit para tablas
El otro
Espero os sean de utilidad.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#123
|
||||
|
||||
Hola compañeros, estoy un poco liado y en breve se supone que saldré de viaje, intentare poneros algo más antes de irme, pero de momento aquí tenéis un cambio que hay que realizar en la tabla documentos, hay que añadir el campo
Cita:
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#124
|
||||
|
||||
El trabajo es lo primero, y más hoy en día
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#125
|
||||
|
||||
Aquí subo una pantalla de como va quedando la pantalla de documentos
![]() Como podéis ver me he basado, en la que utilizaba en mi anterior programa, pero esta ya empieza a tener sus diferencias y espero no llegar a las 3000 lineas de código como en la otra, se que pueden parecer muchas, pero hay que tener en cuenta todo lo que controlamos., no pondré el código, hasta que más o menos empiece a estar operativa, pero iré poniendo vistas de como va quedando y lo que empieza a tener operativo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#126
|
||||
|
||||
Bueno comencemos describiendo y poniendo el código de diferentes partes, ya que el código entero no lo pondré hasta el final. Es muy probable que el código de una función o procedure vaya modificándose según avancemos, ya iré explicando por que. Lo ire haciendo en diferentes post, para que quede un poco más esquematizado.
Lo primero será la forma de llamarlo, ya hemos visto la function Acceso, que nos habré los form, según sea nuestro nivel de usuario, con lo que evitamos mayores controles de usuarios y tener que estar poniendo o quitando accesos y ademas gracias al nivel de usuario, también podemos ocultar o mostrar ciertos datos en nuestro form de una manera bastante simple. Veamos la llamada a facturas
como podemos ver la linea Cita:
Ademas nos aseguramos de colocar los Pagecontrol en página general, ya que podemos haber cambiado de una página/documento a otra al salir y volver a entrar.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#127
|
||||
|
||||
Vamos ahora con el botón nuevo, este es el código
Como podemos ver lo primero es activar el pagecontrol en datos, abrimos inserción de registro en la tabla, ponemos el TNewSpinEdit (NSESerie) en value a 1*, y pasamos a comprobar si en configuración hemos dicho de usar el año como serie, si es así cogemos los 2 últimos dígitos del año en curso, en caso contrario cogemos el valor de la serie por defecto que es la del campo Serie de la tabla de configuración, hecho esto pasamos a mostrar el número de documento perteneciente y pasamos el foco. * este componente lo activamos o desactivamos ya que su uso es solo para poder elegir entre los tres seriales, por lo que si usamos el año como serie no nos es útil. También hacemos un llamada a nuestra function VerNumeroDocumento, aquí su código.
El primer parámetro que le pasamos es el valor de nuestra variable que nos indica el tipo de documento y que la cargamos al entrar desde el menú o otro lado al documento, el segundo es la serie. Esta function lo que hace es comprobar el numerador de cada tipo de documento, si es cero cargamos como 1, en caso contrario, sera el número actual más 1, al devolvernos el resultado, nos aseguramos que nos lo devuelva relleno de ceros a la izquierda, y descontamos los espacios que va a ocupar la serie.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#128
|
||||
|
||||
Pongo nueva mente la imagen del formulario para ir orientándonos
![]() Estamos en el campo serie, al lado esta el spinedit, que activamos o desactivamos, según nos es necesario, de aqui pasamos al número de documento que tiene los dos siguientes eventos,
El 1º de los eventos, nuestra como queda el número de documento con la serie, el 2º evento crea una búsqueda en un querry para comprobar si el documento ya existe, para ello debemos comprobar, el tipo de documento, el número, asignado y la serie ala que pertenece, ya que recordemos, que es la misma tabla para varios documentos diferentes. pasamos a la fecha, que al usar el componente DbNewEditJl y estar en Onlydate, controla que sea una fecha válida, nos permite que al entrar tenga la fecha actual y que podamos cambiar la fecha pulsando flecha arriba o abajo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#129
|
||||
|
||||
Seguimos entrando en el código del cliente, que tiene los siguientes 3 eventos
En el 1º evento, comprobamos que el form este activo, para evitar errores y si el código del cliente no esta vació, creamos una búsqueda con un querry, esta nos permitirá tener otros datos a la vista del cliente, tanto en los siguientes campos, como en la pagecontrol de datos extendidos (PC3). En el 2º evento, colocamos los datos visibles del cliente en el PC3. y en el 3º evento, hacemos varias cosas, primero que no se quede vació, en caso contrario si hemos puesto una B únicamente llamamos al módulo de búsqueda para el cliente, en caso contrario al de la búsqueda, comprobamos si existe, si no es asi nos avisa y posiciona nuevamente, en caso de que exista, comprueba si ya tenemos relleno uina descripción o forma de pago del cliente, si no existe la pone y si existe comprueba si cuadra con la que tiene el cliente, en caso de ser diferentes, nos da la opción de modificarla por la que tiene el cliente o mantener la que ya tiene. Pasaríamos al Nombre del cliente, este campo ha de ser editable y guardado independiente al del la tabla clientes, imaginemos el siguiente caso, tenemos el cliente código 0 (contado) y en un día de reparto tenemos 3 clientes con este código, en cambio podríamos editar en cada documento con Contado, Juan, Contado limpiadora Hotel XXXxxx, etc. De aquí pasamos a la forma de pago que pasa con lo mismo que con el nombre del cliente, el caso típico es un cliente que tiene una forma de pago x y quiere en una factura determinada pagarla de contado. En cuanto alos botones de nuevos y búsqueda, ya los veremos más adelante. Creo que ya es bastante por hoy.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#130
|
||||
|
||||
Pequeñas correcciones en
y en
Os pido disculpas pues he visto varias faltas de ortografía, pero es el corrector de texto, que no se que problema tiene pero ha incluido varias palabras en el diccionario y me las cambia automáticamente, ya por defecto escribo y suele comerme o poner alguna letra demás y se que cometo varias faltas ortográficas.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#131
|
||||
|
||||
Supongo va quedando todo claro, ya que no veo preguntas, ni a nadie con la antorcha corriendo detrás de mi
![]() ![]() ![]() ![]() Por cierto espero vuestras valoraciones
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#132
|
||||
|
||||
Ahora seguimos con el comercial o agente, comenzamos con el código del comercial con los siguientes tres eventos
El 1º evento, como podemos ver el primero según escribimos, nos va buscando el agente, pero sólo si es un agente ya que esta en la misma tabla que el resto de empleados El 2º evento, posiciona la pestaña de datos auxiliares en los datos del comercial Y el 3º evento, comprueba a la salida , si no esta vacio, si debemos buscarlo y si no tiene datos el campo nombre lo rellena y si lo tiene pero es diferente, nos pregunta si deseamos cambiarlo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#133
|
||||
|
||||
Ups!, se me olvidó en la tabla de empleados, el campo NIF, lo tendréis que añadir
Cita:
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#134
|
||||
|
||||
Tenemos que cambiar un procedure, de los anteriores por este
ya que si no no podíamos mostrar la imagen del comercial
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#135
|
||||
|
||||
Este es el evento para cuando cambiamos de ´numero de serie, al lado de la serie, se me había pasado
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#136
|
||||
|
||||
Otra modificación esta vez en SbNuevoClick
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#137
|
||||
|
||||
Cambios en mis componentes spinedit en el create, dentro de la creación de lo botones añadimos a cada uno la siguiente linea
Con esto evitamos que los botones UP y Down, reciban el foco. Pongo el código del create de uno de ellos, sabéis lo que tenéis que hacer para cambiarlos en los demás
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#138
|
||||
|
||||
Claro esta también debemos adapta el evento KEypress de nuestro formulario
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#139
|
||||
|
||||
y ya por último hoy el siguiente evento
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#140
|
||||
|
||||
Pido disculpas por tantas rectificaciones, pero es que según voy haciendo en caso lo voy subiendo, muchas veces sin haber probado el código primero
![]()
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamar un programa desde otro programa en un computador con dos monitores | RONPABLO | Varios | 0 | 10-10-2011 18:20:51 |
Cargar tu programa desde otro programa | rmendoza83 | Varios | 7 | 05-01-2009 19:51:33 |
Lanzar programa desde mi programa | Pablo Carlos | API de Windows | 32 | 09-09-2004 13:56:26 |
Ejecutar un programa externo desde un programa de Delphi | Roger_Fernandez | Varios | 3 | 02-09-2004 18:05:36 |
ISC ERROR CODE:335544344 I/O error for file "c:\gestion\gestion.gdb" | eliasterrero | Firebird e Interbase | 2 | 28-06-2004 12:20:25 |
![]() |
|