Hola compañeros mi idea es montar un programa de gestión desde 0, por supuesto animo a los compañeros a corregirme, aportar y a criticar, sugerir etc. En primer lugar decir que no creo que yo sea el más adecuado para crear un programa desde 0 pero, como empiezo uno nuevo he dicho por que no, lo voy haciendo y lo publico.
He de decir que lo haré a ratos y mientras pueda y tenga disponibilidad y siempre que los miembros del club estén de acuerdo con la idea.
Intentare ser los más especifico posible y explicar todo claramente, espero perdonéis mis faltas de ortografía.
Por que hacer otro programa de gestión, por que por lo que veo, falta muchas cosas en los programas de gestión que se suelen hacer, ejemplos ADR, LOPD, REQ términos que ya iré especificando y que son muy muy sencillos de llevar al programa
Por supuesto como lo hago con mi sistema, pondré que componentes uso, el código completo del modulo y una imagen del mismo, usaré los estándar de Delphi y los míos propios, lo haré con firbird y Delphi 2010 e Ibexpert edición personal, si hubiese otros programas ya os iria diciendo.
Doy por hecho que sabéis, usarlos y por lo tanto crear la base de datos, tablas, dominios, formularios, aplicaciones, etc.
Aquí pongo una imagen de los dominios usados
Pues bien comenzamos creando la B.D. en mi caso la llamo PGF2 (Programa de Gestión y Fabricación) y creamos la tabla Confi (Configuración), a cada campo le e antepuesto la X para cuando estemos haciendo consultas sepamos si es de la configuración o de la tabla que sea oportuna. Aquí os pongo la estructura de la tabla:
Código Delphi
[-] CREATE TABLE CONFI (
ID INTEGER NOT NULL,
XEMPRESA T80 /* T80 = VARCHAR(80) */,
XCALLE T80 /* T80 = VARCHAR(80) */,
XCP T10 /* T10 = VARCHAR(20) */,
XPOBLACION T80 /* T80 = VARCHAR(80) */,
XPROVINCIA T80 /* T80 = VARCHAR(80) */,
XTF T20 /* T20 = VARCHAR(20) */,
XTF2 T20 /* T20 = VARCHAR(20) */,
XLOGO IMG /* IMG = BLOB SUB_TYPE 0 SEGMENT SIZE 80 */,
XWEB T80 /* T80 = VARCHAR(80) */,
XEMAIL T80 /* T80 = VARCHAR(80) */,
XMOVIL T20 /* T20 = VARCHAR(20) */,
XFAX T20 /* T20 = VARCHAR(20) */,
XCIF T20 /* T20 = VARCHAR(20) */,
XREGMERCANTIL T80 /* T80 = VARCHAR(80) */,
XNOTA MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
XCOLORA T20 /* T20 = VARCHAR(20) */,
XCOLORB T20 /* T20 = VARCHAR(20) */,
XCOLORACT T20 /* T20 = VARCHAR(20) */,
XCOLORNOACT T20 /* T20 = VARCHAR(20) */,
XNUMPRE T20 /* T20 = VARCHAR(20) */,
XNUMPED T20 /* T20 = VARCHAR(20) */,
XNUMALB T20 /* T20 = VARCHAR(20) */,
XNUMFAC T20 /* T20 = VARCHAR(20) */,
XNUMLOTE T20 /* T20 = VARCHAR(20) */,
XNUMCLI T20 /* T20 = VARCHAR(20) */,
XNUMPRO T20 /* T20 = VARCHAR(20) */,
XNUMAGEN T20 /* T20 = VARCHAR(20) */,
XNUMALMACEN T20 /* T20 = VARCHAR(20) */,
XNUMALMACENDEF T20 /* T20 = VARCHAR(20) */,
XLARGOLOTE INTEGER,
XLARGONUM INTEGER,
XSERIE T3 /* T3 = VARCHAR(3) */,
XSERIE2 T3 /* T3 = VARCHAR(3) */,
XSERIE3 T3 /* T3 = VARCHAR(3) */,
XUASARSERIEYEAR LOG /* LOG = CHAR(1) */,
XLDPD1 MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
XLDPD2 MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
XLDPD3 MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
XNOMMONEDA T10 /* T10 = VARCHAR(20) */,
XNOMIMPUESTO T10 /* T10 = VARCHAR(20) */,
XDESIMP1 T20 /* T20 = VARCHAR(20) */,
XIMP1 POR /* POR = NUMERIC(15,4) */,
XDESIMP2 T20 /* T20 = VARCHAR(20) */,
XIMP2 POR /* POR = NUMERIC(15,4) */,
XDESIMP3 T20 /* T20 = VARCHAR(20) */,
XIMP3 POR /* POR = NUMERIC(15,4) */,
XDESIMP4 T20 /* T20 = VARCHAR(20) */,
XIMP4 POR /* POR = NUMERIC(15,4) */,
XDESREQ1 T20 /* T20 = VARCHAR(20) */,
XREQ1 POR /* POR = NUMERIC(15,4) */,
XDESREQ2 T20 /* T20 = VARCHAR(20) */,
XREQ2 POR /* POR = NUMERIC(15,4) */,
XDESREQ3 T20 /* T20 = VARCHAR(20) */,
XREQ3 POR /* POR = NUMERIC(15,4) */,
XDESREQ4 T20 /* T20 = VARCHAR(20) */,
XREQ4 POR /* POR = NUMERIC(15,4) */,
XMODCOPIASEG T20 /* T20 = VARCHAR(20) */
);
Ahora iré detallando los campos
Código Delphi
[-]
ID INTEGER NOT NULL,
XEMPRESA T80 /* T80 = VARCHAR(80) */, XCALLE T80 /* T80 = VARCHAR(80) */, XCP T10 /* T10 = VARCHAR(20) */, XPOBLACION T80 /* T80 = VARCHAR(80) */, XPROVINCIA T80 /* T80 = VARCHAR(80) */, XTF T20 /* T20 = VARCHAR(20) */, XTF2 T20 /* T20 = VARCHAR(20) */, XLOGO IMG /* IMG = BLOB SUB_TYPE 0 SEGMENT SIZE 80 */, XWEB T80 /* T80 = VARCHAR(80) */, XEMAIL T80 /* T80 = VARCHAR(80) */, XMOVIL T20 /* T20 = VARCHAR(20) */, XFAX T20 /* T20 = VARCHAR(20) */, XCIF T20 /* T20 = VARCHAR(20) */, XREGMERCANTIL T80 /* T80 = VARCHAR(80) */,
XNOTA MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
XCOLORA T20 /* T20 = VARCHAR(20) */, XCOLORB T20 /* T20 = VARCHAR(20) */, XCOLORACT T20 /* T20 = VARCHAR(20) */, XCOLORNOACT T20 /* T20 = VARCHAR(20) */,
XNUMPRE T20 /* T20 = VARCHAR(20) */, XNUMPED T20 /* T20 = VARCHAR(20) */, XNUMALB T20 /* T20 = VARCHAR(20) */, XNUMFAC T20 /* T20 = VARCHAR(20) */, XNUMLOTE T20 /* T20 = VARCHAR(20) */, XNUMCLI T20 /* T20 = VARCHAR(20) */, XNUMPRO T20 /* T20 = VARCHAR(20) */, XNUMAGEN T20 /* T20 = VARCHAR(20) */, XNUMALMACEN T20 /* T20 = VARCHAR(20) */, XNUMALMACENDEF T20 /* T20 = VARCHAR(20) */,
XLARGOLOTE INTEGER, XLARGONUM INTEGER,
XSERIE T3 /* T3 = VARCHAR(3) */, XSERIE2 T3 /* T3 = VARCHAR(3) */, XSERIE3 T3 /* T3 = VARCHAR(3) */, XUASARSERIEYEAR LOG /* LOG = CHAR(1) */,
XLDPD1 MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, XLDPD2 MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, XLDPD3 MEMO /* MEMO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */,
XNOMMONEDA T10 /* T10 = VARCHAR(20) */,
XNOMIMPUESTO T10 /* T10 = VARCHAR(20) */, XDESIMP1 T20 /* T20 = VARCHAR(20) */, XIMP1 POR /* POR = NUMERIC(15,4) */, XDESIMP2 T20 /* T20 = VARCHAR(20) */, XIMP2 POR /* POR = NUMERIC(15,4) */, XDESIMP3 T20 /* T20 = VARCHAR(20) */, XIMP3 POR /* POR = NUMERIC(15,4) */, XDESIMP4 T20 /* T20 = VARCHAR(20) */, XIMP4 POR /* POR = NUMERIC(15,4) */,
XDESREQ1 T20 /* T20 = VARCHAR(20) */, XREQ1 POR /* POR = NUMERIC(15,4) */, XDESREQ2 T20 /* T20 = VARCHAR(20) */, XREQ2 POR /* POR = NUMERIC(15,4) */, XDESREQ3 T20 /* T20 = VARCHAR(20) */, XREQ3 POR /* POR = NUMERIC(15,4) */, XDESREQ4 T20 /* T20 = VARCHAR(20) */, XREQ4 POR /* POR = NUMERIC(15,4) */,
XMODCOPIASEG T20 /* T20 = VARCHAR(20) */
Espero que estén de acuerdo con este proyecto, que exista bastante colaboración, que aporten ideas, código e imágenes, para poder mejorar nuestros programas.
Por cierto lo lógico sería seguir con este hilo para ir poniendo las diferentes partes del mismo.
El siguiente el módulo de configuración