diff --git a/.gitignore b/.gitignore
index 83ead28..517ca7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,28 @@ desktop.ini
# NOTA: se CONSERVAN en el repo -> *.4gl *.per *.4fd *.4pw *.4st *.4ad
# *.sch *.4db (esquema), imagenes (*.png *.jpg), README, docs.
+
+# -- Paquetes GAR: se generan en el build (gsmake -t mbs mbsERP.4pw), no van al repo --
+*.gar
+
+# -- bin/IMAGENES: solo las imagenes que usan los programas/reportes --
+# (lo demas son fotos, temporales y archivos subidos en ejecucion, p.ej. comprobantes)
+PROYECTO/bin/IMAGENES/**
+!PROYECTO/bin/IMAGENES/Logo.png
+!PROYECTO/bin/IMAGENES/Logo_DCM.png
+!PROYECTO/bin/IMAGENES/genero_logo.png
+!PROYECTO/bin/IMAGENES/LOGO.JPG
+!PROYECTO/bin/IMAGENES/logo1.png
+!PROYECTO/bin/IMAGENES/EMPLEADOS/
+PROYECTO/bin/IMAGENES/EMPLEADOS/*
+!PROYECTO/bin/IMAGENES/EMPLEADOS/.gitkeep
+
+# -- Llaves y certificados: NUNCA en el repo (se entregan aparte a quien los necesite) --
+*.jks
+*.keystore
+*.p12
+*.pfx
+*.pem
+*.key
+*.crt
+*.cer
diff --git a/MOVIL401/MBSinventario/distbin/gma/project/app/keystore.jks b/MOVIL401/MBSinventario/distbin/gma/project/app/keystore.jks
deleted file mode 100644
index 387de27..0000000
Binary files a/MOVIL401/MBSinventario/distbin/gma/project/app/keystore.jks and /dev/null differ
diff --git a/PROYECTO/PRDIR/prprmt006.4gl b/PROYECTO/PRDIR/prprmt006.4gl
index 47f16d6..fd2f45b 100644
--- a/PROYECTO/PRDIR/prprmt006.4gl
+++ b/PROYECTO/PRDIR/prprmt006.4gl
@@ -7,6 +7,16 @@
------------------------------------------------------------------
}
GLOBALS "prprgb000.4gl"
+
+DEFINE arrprtb08 DYNAMIC ARRAY OF RECORD
+ cod_n_c LIKE prtb00008.cod_n,
+ cod_grupo_c LIKE prtb00008.cod_grupo,
+ cod_tipo_c LIKE prtb00008.cod_tipo,
+ cod_sec_c LIKE prtb00008.cod_sec,
+ cantidad_c LIKE prtb00008.cantidad,
+ descrip_esp_c LIKE intb00001.descrip_esp,
+ unidad_c LIKE intb00001.unidad_med
+END RECORD
DEFINE nombre LIKE vetb00004.nombre,
descrip_esp_c,descrip_esp LIKE iptb00002.descrip_esp,
unidad LIKE iptb00002.unidad_med,
@@ -41,10 +51,11 @@ END MAIN
FORM LINE 9,
ERROR LINE 23,
COMMENT LINE 21
- CALL pantalla()
+ # (pantalla() es el encabezado de la pantalla de texto antigua; no aplica en GUI)
OPEN FORM ctfmmt006 FROM "prfmmt006"
DISPLAY FORM ctfmmt006
- CALL pantalla()
+ CALL ui.Window.getCurrent().setText("Ordenes de Produccion")
+ # (pantalla() es el encabezado de la pantalla de texto antigua; no aplica en GUI)
DISPLAY "prprmt006" AT 4,3
DISPLAY "Ordenes De Produccion" AT 6,32
@@ -280,13 +291,13 @@ FUNCTION prpcad006()
b.cod_sec = prtb07.cod_sec AND
a.num_oc = b.num_oc
LET idx = 1
- FOREACH buscame INTO prtb08[idx].*
+ FOREACH buscame INTO arrprtb08[idx].*
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
}
- INPUT ARRAY prtb08 FROM s_orden.*
+ INPUT ARRAY arrprtb08 FROM s_orden.*
ON KEY(CONTROL-W)
CALL busca_material()
@@ -295,13 +306,13 @@ FUNCTION prpcad006()
LET scr_l = scr_line()
AFTER FIELD cod_sec_c
LET descrip_esp_c = NULL
- IF prtb08[curr].cod_sec_c IS NOT NULL THEN
+ IF arrprtb08[curr].cod_sec_c IS NOT NULL THEN
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp_c,unidad_c
FROM intb00001 a
- WHERE a.cod_n = prtb08[curr].cod_n_c AND
- a.cod_grupo = prtb08[curr].cod_grupo_c AND
- a.cod_tipo = prtb08[curr].cod_tipo_c AND
- a.cod_sec = prtb08[curr].cod_sec_c AND
+ WHERE a.cod_n = arrprtb08[curr].cod_n_c AND
+ a.cod_grupo = arrprtb08[curr].cod_grupo_c AND
+ a.cod_tipo = arrprtb08[curr].cod_tipo_c AND
+ a.cod_sec = arrprtb08[curr].cod_sec_c AND
a.status_t IS NULL
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
@@ -309,15 +320,15 @@ FUNCTION prpcad006()
NEXT FIELD cod_n_c
END IF
END IF
- LET prtb08[curr].descrip_esp_c = descrip_esp_c
- LET prtb08[curr].unidad_c = unidad_c
- DISPLAY prtb08[curr].descrip_esp_c TO s_orden[scr_l].descrip_esp_c
+ LET arrprtb08[curr].descrip_esp_c = descrip_esp_c
+ LET arrprtb08[curr].unidad_c = unidad_c
+ DISPLAY arrprtb08[curr].descrip_esp_c TO s_orden[scr_l].descrip_esp_c
ATTRIBUTE(BLUE)
- DISPLAY prtb08[curr].unidad_c TO s_orden[scr_l].unidad_c
+ DISPLAY arrprtb08[curr].unidad_c TO s_orden[scr_l].unidad_c
ATTRIBUTE(BLUE)
AFTER FIELD cantidad_c
- IF prtb08[curr].cod_n_c IS NOT NULL THEN
- IF prtb08[curr].cantidad_c IS NULL THEN
+ IF arrprtb08[curr].cod_n_c IS NOT NULL THEN
+ IF arrprtb08[curr].cantidad_c IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cantidad_c
@@ -347,23 +358,23 @@ FUNCTION prpcad006()
# SE ESTA VALIDANDO EL PRODUCTO TERMINADO EN EL CODIGO DE LA MATERIA PRIMA
# PARA CUANDO LA ORDEN SEA PARA PRODUCTOS IMPORTADOS QUE NO TIENEN COMPOSICION
- IF prtb08[1].cod_n_c IS NULL THEN
- LET prtb08[1].cod_n_c = prtb07.cod_n
- LET prtb08[1].cod_grupo_c = prtb07.cod_grupo
- LET prtb08[1].cod_tipo_c = prtb07.cod_tipo
- LET prtb08[1].cod_sec_c = prtb07.cod_Sec
- OUTPUT TO REPORT ordenes(prtb07.num_oc,prtb08[idx].*)
+ IF arrprtb08[1].cod_n_c IS NULL THEN
+ LET arrprtb08[1].cod_n_c = prtb07.cod_n
+ LET arrprtb08[1].cod_grupo_c = prtb07.cod_grupo
+ LET arrprtb08[1].cod_tipo_c = prtb07.cod_tipo
+ LET arrprtb08[1].cod_sec_c = prtb07.cod_Sec
+ OUTPUT TO REPORT ordenes(prtb07.num_oc,arrprtb08[idx].*)
END IF
FOR idx = 1 TO arr_count()
- IF prtb08[idx].cod_n_c IS NOT NULL THEN
+ IF arrprtb08[idx].cod_n_c IS NOT NULL THEN
INSERT INTO prtb00008 VALUES (prtb07.num_oc,
- prtb08[idx].cod_n_c,
- prtb08[idx].cod_grupo_c,
- prtb08[idx].cod_tipo_c,
- prtb08[idx].cod_sec_c,
- prtb08[idx].cantidad_c,
+ arrprtb08[idx].cod_n_c,
+ arrprtb08[idx].cod_grupo_c,
+ arrprtb08[idx].cod_tipo_c,
+ arrprtb08[idx].cod_sec_c,
+ arrprtb08[idx].cantidad_c,
SUSER_SNAME(),current,null,null)
- OUTPUT TO REPORT ordenes(prtb07.num_oc,prtb08[idx].*)
+ OUTPUT TO REPORT ordenes(prtb07.num_oc,arrprtb08[idx].*)
END IF
END FOR
FINISH REPORT ordenes
@@ -534,24 +545,24 @@ LABEL sale9:
END FUNCTION
FUNCTION limpia()
FOR idx = 1 TO 10
- LET prtb08[idx].cod_n_c = null
- LET prtb08[idx].cod_grupo_c = null
- LET prtb08[idx].cod_tipo_c = null
- LET prtb08[idx].cod_sec_c = null
- LET prtb08[idx].unidad_c = null
- LET prtb08[idx].cantidad_c = null
- LET prtb08[idx].descrip_esp_c = null
+ LET arrprtb08[idx].cod_n_c = null
+ LET arrprtb08[idx].cod_grupo_c = null
+ LET arrprtb08[idx].cod_tipo_c = null
+ LET arrprtb08[idx].cod_sec_c = null
+ LET arrprtb08[idx].unidad_c = null
+ LET arrprtb08[idx].cantidad_c = null
+ LET arrprtb08[idx].descrip_esp_c = null
END FOR
FOR idx = 1 TO 5
- DISPLAY prtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
- DISPLAY prtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
- DISPLAY prtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
- DISPLAY prtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
- DISPLAY prtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
+ DISPLAY arrprtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
+ DISPLAY arrprtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
+ DISPLAY arrprtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
+ DISPLAY arrprtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
+ DISPLAY arrprtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
- DISPLAY prtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
+ DISPLAY arrprtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
ATTRIBUTE(BLUE)
- DISPLAY prtb08[idx].unidad_c TO s_orden[idx].unidad_c
+ DISPLAY arrprtb08[idx].unidad_c TO s_orden[idx].unidad_c
ATTRIBUTE(BLUE)
END FOR
@@ -565,28 +576,28 @@ FUNCTION busca_detalle()
WHERE a.num_oc = numero_oc
LET idx = 1
- FOREACH busca_d INTO prtb08[idx].*
+ FOREACH busca_d INTO arrprtb08[idx].*
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp_c,unidad_c
FROM intb00001 a
- WHERE a.cod_n = prtb08[idx].cod_n_c AND
- a.cod_grupo = prtb08[idx].cod_grupo_c AND
- a.cod_tipo = prtb08[idx].cod_tipo_c AND
- a.cod_sec = prtb08[idx].cod_sec_c AND
+ WHERE a.cod_n = arrprtb08[idx].cod_n_c AND
+ a.cod_grupo = arrprtb08[idx].cod_grupo_c AND
+ a.cod_tipo = arrprtb08[idx].cod_tipo_c AND
+ a.cod_sec = arrprtb08[idx].cod_sec_c AND
a.status_t IS NULL
IF idx > 5 THEN
EXIT FOREACH
END IF
- LET prtb08[idx].descrip_esp_c = descrip_esp_c
- LET prtb08[idx].unidad_c = unidad_c
- DISPLAY prtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
- DISPLAY prtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
- DISPLAY prtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
- DISPLAY prtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
- DISPLAY prtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
+ LET arrprtb08[idx].descrip_esp_c = descrip_esp_c
+ LET arrprtb08[idx].unidad_c = unidad_c
+ DISPLAY arrprtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
+ DISPLAY arrprtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
+ DISPLAY arrprtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
+ DISPLAY arrprtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
+ DISPLAY arrprtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
- DISPLAY prtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
+ DISPLAY arrprtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
ATTRIBUTE(BLUE)
- DISPLAY prtb08[idx].unidad_c TO s_orden[idx].unidad_c
+ DISPLAY arrprtb08[idx].unidad_c TO s_orden[idx].unidad_c
ATTRIBUTE(BLUE)
LET idx = idx + 1
END FOREACH
diff --git a/PROYECTO/PRDIR/prprmt011.4gl b/PROYECTO/PRDIR/prprmt011.4gl
index 693b54c..ec806e4 100644
--- a/PROYECTO/PRDIR/prprmt011.4gl
+++ b/PROYECTO/PRDIR/prprmt011.4gl
@@ -140,6 +140,7 @@ FUNCTION prprmt011()
--fechaSolDespacho
OPEN WINDOW prfmmt011 AT 10,10 WITH FORM "prfmmt011"
+ CALL ui.Window.getCurrent().setText("Administracion Ordenes")
#WHENEVER ERROR CONTINUE
LET w = ui.Window.getCurrent()
@@ -201,7 +202,7 @@ FUNCTION prprmt011()
IF busqueda IS NULL THEN
LET selec1 =
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.estado_producto,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
- " CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,x1.fecha_llegada, x1.fecha_disp_entrega, ",
+ " x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,x1.fecha_llegada, x1.fecha_disp_entrega, ",
" x1.fecha_solic_despacho, x1.fecha_instalacion, x.cotizacion_no, x.num_oc,x5.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) ,x4.descripcion, CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
" + '-' + CAST(x1.cod_tipo AS VARCHAR(4)) + '-' + CAST(x1.cod_sec AS VARCHAR(7)) + ' ' + RTRIM(x2.descrip_esp), ",
@@ -243,7 +244,7 @@ FUNCTION prprmt011()
END IF
LET selec1 =
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.estado_producto,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
- " CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,
+ " x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,
x1.fecha_llegada,x1.fecha_disp_entrega, ",
" x1.fecha_solic_despacho, x1.fecha_instalacion, x.cotizacion_no, x.num_oc,x5.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) ,x4.descripcion, CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
@@ -281,7 +282,7 @@ FUNCTION prprmt011()
IF actualiza_log_produccion="SI" THEN
LET selec1=
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
- " CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,' ', x.cotizacion_no, x.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
+ " x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,' ', x.cotizacion_no, x.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) , CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
" + '-' + CAST(x1.cod_tipo AS VARCHAR(4)) + '-' + CAST(x1.cod_sec AS VARCHAR(4)) + ' ' + RTRIM(x2.descrip_esp), ",
" SUM(x1.cantidad), '0' , '0' , '0' , x.sec_vend, x1.cod_n, x1.cod_grupo, x1.cod_tipo, x1.cod_Sec, e.tipo_cliente, e.sec_cliente, ",
@@ -440,7 +441,7 @@ FUNCTION prprmt011()
IF veces > 1 THEN
LET att[idx].col7 = 'blue reverse'
ELSE
- SELECT CONVERT(CHAR(10),a.fecha_llegada,103) INTO arr_ordenes[idx].fecha_llegada
+ SELECT a.fecha_llegada INTO arr_ordenes[idx].fecha_llegada
FROM cctb00026 a
WHERE a.num_oc = arr_ordenes[idx].num_oc AND
a.cod_n = arr_ordenes[idx].cod_n AND
@@ -1091,7 +1092,7 @@ FUNCTION fparciales(xnum_oc,xcodn,xcodgrupo,xcodtipo,xcodsec,xfecha,xproducto)
DECLARE busca_parcial CURSOR FOR
- SELECT CONVERT(CHAR(10),a.fecha_compromiso,103),a.cantidad FROM prtb00028 a
+ SELECT a.fecha_compromiso,a.cantidad FROM prtb00028 a
WHERE a.num_oc = xnum_oc AND
a.cod_n = xcodn AND
a.cod_grupo = xcodgrupo AND
@@ -1313,7 +1314,7 @@ FUNCTION vepcmf008(num_cotizacion)
LET SELEC = " SELECT DISTINCT a.cod_cia,a.ventas,a.cotizacion_no,a.tipo_cliente,a.sec_cliente,a.nombre_cliente, " ||
" a.rnc,a.nombre_proyecto,a.direccion_cliente,a.cod_provincia,a.direccion_proyecto, " ||
" a.telefono_r,a.telefono_o,a.email,a.tipo_precio,a.beeper,a.celular,a.prima,a.fax1,a.celular1, " ||
- " a.fax, CONVERT(CHAR(10),a.fecha,103),CONVERT(CHAR(10),a.fecha_entrega,103), " ||
+ " a.fax, a.fecha,a.fecha_entrega, " ||
" a.plazo_entrega,a.comentario,a.contacto, a.cond_pago,a.sec_Vend,a.porc_itbi," ||
" a.total_bruto,a.sub_total,a.monto_Desc,a.monto_itbi,a.total_neto,a.monto_dolar,a.num_emp_inst, " ||
" a.codigo_dgii,a.tipo_ncf,a.cliente_generico,a.sec_vend_aux,a.codigo,a.cod_zona,a.sincronizado, "||
diff --git a/PROYECTO/PRDIR/prprrp021.4rp b/PROYECTO/PRDIR/prprrp021.4rp
index 7c11701..3eaef14 100644
--- a/PROYECTO/PRDIR/prprrp021.4rp
+++ b/PROYECTO/PRDIR/prprrp021.4rp
@@ -18,7 +18,7 @@