Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
{=====================================================
|
||||
FUNCION : RELACION ORDENES TRANSPORTADAS
|
||||
OBJETIVO : ***************************
|
||||
PROGRAMADOR : Juan Soto
|
||||
FECHA : 17/05/2021
|
||||
=====================================================}
|
||||
SCHEMA "smarmotech"
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE datos RECORD
|
||||
fecha_inicial DATE,
|
||||
fecha_final DATE
|
||||
END RECORD,
|
||||
pcompanias RECORD LIKE companias.*,
|
||||
valorOrden FLOAT
|
||||
|
||||
DEFINE despachos RECORD
|
||||
desc_tranporte LIKE vetb00051.descripcion,
|
||||
orden LIKE iptb00006.num_oc,
|
||||
movimiento LIKE iptb00006.cod_mov,
|
||||
conduce LIKE iptb00006.num_doc,
|
||||
orden_externa VARCHAR(50),
|
||||
cliente LIKE vetb00050.nombre_cliente,
|
||||
placa LIKE iptb00006.placa,
|
||||
tipo_orden VARCHAR(50),
|
||||
bodega LIKE intb00009.descripcion,
|
||||
direccion LIKE vetb00050.direccion_cliente,
|
||||
telefono,celular VARCHAR(50),
|
||||
ubicacion,referencia_dir,pais,provincia VARCHAR(100),
|
||||
cantidad_bultos INT,
|
||||
contacto_obra,telefono_contacto_obra,tipo_empaque VARCHAR(100)
|
||||
|
||||
END RECORD
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT * INTO pcompanias.* FROM companias
|
||||
CALL despachoTransporte()
|
||||
END MAIN
|
||||
|
||||
FUNCTION despachoTransporte()
|
||||
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER, -- TRUE/FALSE, to set preview option
|
||||
criterio STRING
|
||||
|
||||
OPEN WINDOW HOME_FRM WITH FORM 'prfmrp020'
|
||||
DIALOG ATTRIBUTE(UNBUFFERED)
|
||||
INPUT BY NAME datos.*
|
||||
|
||||
--AFTER FIELD fecha_inicial
|
||||
--IF datos.fecha_inicial IS NULL THEN
|
||||
--CALL fgl_winmessage("INFO", "DEBE INDICAR UNA FECHA INICIAL DE BUSQUEDA", "INFO")
|
||||
--NEXT FIELD fecha_inicial
|
||||
--END IF
|
||||
|
||||
AFTER FIELD fecha_final
|
||||
--IF datos.fecha_final IS NULL THEN
|
||||
--CALL fgl_winmessage("INFO", "DEBE INDICAR UNA FECHA FINAL DE BUSQUEDA", "INFO")
|
||||
--NEXT FIELD fecha_final
|
||||
--END IF
|
||||
IF datos.fecha_inicial IS NULL AND DATOS.fecha_final IS NOT NULL THEN
|
||||
CALL fgl_winmessage("INFO", "SI ESPECIFICA UN RANGO DE FECHA DEBE INDICAR FECHA INICIAL", "INFO")
|
||||
NEXT FIELD fecha_inicial
|
||||
END IF
|
||||
|
||||
IF datos.fecha_final < datos.fecha_inicial THEN
|
||||
CALL fgl_winmessage("INFO", "LA FECHA FINAL DEBE SER MAS RECIENTE A LA INICIAL", "INFO")
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
END INPUT
|
||||
CONSTRUCT BY NAME criterio ON
|
||||
b.bodega,d.tipo_orden,b.num_oc, b.num_doc
|
||||
BEFORE CONSTRUCT
|
||||
CALL bodegas('1')
|
||||
ON ACTION mostrar
|
||||
|
||||
LET selec =
|
||||
" select distinct cast(a.cod_transp as varchar(4))+'-'+cast(a.sec_transp as varchar(10))+' '+
|
||||
a.nombre,b.num_oc,b.cod_mov,b.num_doc,d.orden_sustituta,c.nombre,b.placa,d.tipo_orden,
|
||||
k1.descripcion,d.direccion,d.telefono,d.fax,d.ubicacion,d.observacion,
|
||||
k2.nombre,k3.nombre_provincia,k4.cantidad_bultos,d.contacto_obra,
|
||||
d.telefono_contacto_obra,k4.tipo
|
||||
from vetb00015 a,iptb00006 b,vetb00004 c,prtb00012 d LEFT OUTER JOIN iptb00056 k4 ON k4.num_oc = d.num_oc,iptb00005 k,intb00009 k1,
|
||||
vetb00017 k2,vetb00020 k3
|
||||
WHERE (a.cod_transp = b.cod_transp and a.sec_transp = b.sec_transp) and (d.tipo_cliente = c.tipo_cliente and d.sec_cliente = c.sec_cliente) and
|
||||
(b.cod_mov = k.cod_mov) and k.control_clientes ='SI' AND (b.bodega = k1.cod_bodega) AND
|
||||
c.codigo = k3.codigo AND
|
||||
c.codigo = k2.codigo AND
|
||||
C.cod_provincia = k3.cod_provincia AND
|
||||
(b.fecha between '",datos.fecha_inicial USING "mm/dd/yyyy","' and '",datos.fecha_final USING "mm/dd/yyyy","') and b.status_t is null and
|
||||
b.num_oc = d.num_oc and ",criterio clipped
|
||||
PREPARE comando FROM selec
|
||||
DECLARE reservas CURSOR FOR comando
|
||||
|
||||
LET idx = 1
|
||||
FOREACH reservas INTO despachos.*
|
||||
|
||||
IF idx = 1 THEN
|
||||
|
||||
|
||||
LET r_filename ="prprrp020.4rp"
|
||||
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
--LET r_output='SVG'
|
||||
LET preview=1
|
||||
CALL seleccionarsalida() RETURNING r_output
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
START REPORT reserva_rpt TO XML HANDLER HANDLER
|
||||
END IF
|
||||
LET idx = 2
|
||||
END IF
|
||||
OUTPUT TO REPORT reserva_rpt(despachos.*)
|
||||
END FOREACH
|
||||
|
||||
IF idx > 1 THEN
|
||||
FINISH REPORT reserva_rpt
|
||||
ELSE
|
||||
CALL fgl_winmessage("INFO", "NO HAY REGISTROS EN ESTE RANGO DE FECHA Y CON LOS PARAMETROS INDICADOS", "INFO")
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
END CONSTRUCT
|
||||
ON ACTION CANCEL
|
||||
CALL msg(2)
|
||||
LET INT_FLAG = FALSE
|
||||
EXIT PROGRAM
|
||||
END DIALOG
|
||||
CLOSE WINDOW HOME_FRM
|
||||
END FUNCTION
|
||||
|
||||
REPORT reserva_rpt(x)
|
||||
|
||||
DEFINE x RECORD
|
||||
desc_tranporte LIKE vetb00051.descripcion,
|
||||
orden LIKE iptb00006.num_oc,
|
||||
movimiento LIKE iptb00006.cod_mov,
|
||||
conduce LIKE iptb00006.num_doc,
|
||||
orden_externa VARCHAR(50),
|
||||
cliente LIKE vetb00050.nombre_cliente,
|
||||
placa LIKE iptb00006.placa,
|
||||
tipo_orden VARCHAR(50),
|
||||
bodega LIKE intb00009.descripcion,
|
||||
direccion LIKE vetb00050.direccion_cliente,
|
||||
telefono,celular VARCHAR(50),
|
||||
ubicacion,referencia_dir,pais,provincia VARCHAR(100),
|
||||
cantidad_bultos INT,
|
||||
contacto_obra,telefono_contacto_obra,tipo_empaque VARCHAR(100)
|
||||
END RECORD,
|
||||
fecha_reporte, rango_fecha CHAR(30),
|
||||
total_orden, vOrden FLOAT,
|
||||
dir_cliente VARCHAR(100),
|
||||
cond_mov CHAR(35),
|
||||
Scosto VARCHAR(20),
|
||||
ScostoT VARCHAR(20),
|
||||
encabezado2 STRING
|
||||
|
||||
ORDER BY x.desc_tranporte
|
||||
FORMAT
|
||||
|
||||
BEFORE GROUP OF x.desc_tranporte
|
||||
PRINTX x.desc_tranporte
|
||||
|
||||
BEFORE GROUP OF x.orden
|
||||
LET total_orden = 0
|
||||
LET ScostoT = ""
|
||||
|
||||
|
||||
ON EVERY ROW
|
||||
LET fecha_reporte = CURRENT
|
||||
LET dir_cliente = x.direccion CLIPPED,',','(',x.provincia CLIPPED,')'
|
||||
LET rango_fecha = datos.fecha_inicial,'--',datos.fecha_final
|
||||
LET cond_mov = x.bodega,'-',x.conduce USING "<<<<<<",'-',
|
||||
x.movimiento USING "<<<<<"
|
||||
LET Scosto = 'RD$',vOrden USING "<<<,<<<.##" CLIPPED
|
||||
LET encabezado2 = "Rango de fechas:",rango_fecha CLIPPED," Reporte Mercancia Despachada por Transportista ",fecha_Reporte
|
||||
PRINTX cond_mov, x.cliente, dir_cliente, x.placa,
|
||||
pcompanias.nombre, fecha_reporte, rango_fecha,x.orden,x.direccion,x.telefono,x.referencia_dir,
|
||||
x.cantidad_bultos, x.movimiento,encabezado2,x.contacto_obra,x.telefono_contacto_obra
|
||||
|
||||
AFTER GROUP OF x.orden
|
||||
LET total_orden = GROUP SUM(vOrden)
|
||||
LET ScostoT = total_orden USING "<<<,<<<.##" CLIPPED
|
||||
PRINTX ScostoT
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user