225 lines
8.8 KiB
Plaintext
225 lines
8.8 KiB
Plaintext
IMPORT util
|
|
IMPORT os
|
|
IMPORT com
|
|
|
|
TYPE t_sync_cmd RECORD
|
|
oper STRING,
|
|
data STRING
|
|
END RECORD
|
|
FUNCTION reporte(url)
|
|
DEFINE url STRING
|
|
|
|
DEFINE p RECORD
|
|
|
|
cotizaciones RECORD
|
|
cotizacion_no INT,
|
|
fecha DATE,
|
|
ventas VARCHAR(1),
|
|
tipo_cliente SMALLINT,
|
|
sec_cliente INT,
|
|
nombre VARCHAR(100),
|
|
rnc VARCHAR(11),
|
|
nombre_proyecto VARCHAR(60),
|
|
direccion_proyecto VARCHAR(60),
|
|
direccion_cliente VARCHAR(80),
|
|
cond_pago SMALLINT,
|
|
descripcion VARCHAR(50),
|
|
celular VARCHAR(15),
|
|
email VARCHAR(60),
|
|
sec_vend INT,
|
|
total_bruto DEC(12,2),
|
|
monto_desc DEC(12,2),
|
|
monto_itbis DEC(12,2),
|
|
total_cotizacion DEC(12,2),
|
|
contacto VARCHAR(60),
|
|
nombre_ciudad VARCHAR(60),
|
|
telefono_o VARCHAR(20),
|
|
telefono_r VARCHAR(20),
|
|
celular1 VARCHAR(20),
|
|
soporte VARCHAR(200),
|
|
instalador VARCHAR(200),
|
|
vendedor_aux VARCHAR(100),
|
|
sec_vend_aux INT,
|
|
cod_provincia SMALLINT,
|
|
nombre_vend VARCHAR(60),
|
|
porc_itbis DEC(8,2),
|
|
plazo_entrega VARCHAR(100),
|
|
comentario VARCHAR(100),
|
|
usuario VARCHAR(50),
|
|
clave VARCHAR(50),
|
|
etiqueta_cotizacion VARCHAR(60),
|
|
cod_zona SMALLINT,
|
|
codigo VARCHAR(10),
|
|
guiId STRING,
|
|
sincronizado BOOLEAN,
|
|
tipo_documento CHAR(10),
|
|
bodega INT,
|
|
titulo_bodega VARCHAR(100)
|
|
END RECORD,
|
|
detalles DYNAMIC ARRAY OF RECORD
|
|
secuencia INT,
|
|
area SMALLINT,
|
|
descripcion_area CHAR(50),
|
|
codid VARCHAR(25),
|
|
codigo VARCHAR(20),
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
# descripcion VARCHAR(100),
|
|
cantidad DEC(12,5),
|
|
cantidad1 DEC(12,5),
|
|
precio DEC(12,2),
|
|
porc_desc DEC(12,2),
|
|
itbis DEC(12,2),
|
|
valor DEC(12,2),
|
|
cantidad_reservada DEC(12,5),
|
|
fecha_inicio_reserva DATE,
|
|
fecha_vence_reserva DATE,
|
|
autorizada VARCHAR(10),
|
|
idkit INT
|
|
END RECORD,
|
|
pprima,pitbis DEC(12,8),
|
|
puser,pfecha_crea STRING
|
|
END RECORD
|
|
|
|
DEFINE rep_out RECORD
|
|
generales RECORD
|
|
cotizcion_no INT,
|
|
contenido STRING,
|
|
nomb_arch STRING,
|
|
cod_msg SMALLINT,
|
|
mensaje_out,valorBruto,valorDescuento,valorItbis,valorNeto STRING
|
|
END RECORD,
|
|
detalles DYNAMIC ARRAY OF RECORD
|
|
codid,area,cod_n,cod_grupo,cod_tipo,cod_sec INT,
|
|
titulo STRING,
|
|
cantidad1,cantidad,valorBruto,valorDescuento,valorItbis,valorTotal DEC(12,2)
|
|
|
|
END RECORD
|
|
END RECORD ,
|
|
detalles_out DYNAMIC ARRAY OF RECORD
|
|
codid,area,cod_n,cod_grupo,cod_tipo,cod_sec INT,
|
|
titulo STRING,
|
|
cantidad1,cantidad,valorBruto,valorDescuento,valorItbis,valorTotal DEC(12,2)
|
|
END RECORD DEFINE s,archivo,res,msg STRING,
|
|
r_cmd t_sync_cmd,
|
|
ret INT
|
|
# LET p.cotizaciones.cotizacion_no = 263010
|
|
LET p.cotizaciones.fecha =TODAY
|
|
LET p.cotizaciones.etiqueta_cotizacion='COTIZACION'
|
|
LET p.cotizaciones.ventas ='1'
|
|
LET p.cotizaciones.tipo_cliente =15
|
|
LET p.cotizaciones.sec_cliente=9729
|
|
LET p.cotizaciones.nombre ='CONSTRU IMPERMEABILIZADORA FURCAL modificada'
|
|
LET p.cotizaciones.rnc = '130387214'
|
|
LET p.cotizaciones.cod_provincia =1
|
|
LET p.cotizaciones.nombre_proyecto ='ESCALERAS'
|
|
LET p.cotizaciones.direccion_proyecto='CALLE PRIMEREA RES. SOL CRECIENTE MODIFICADA'
|
|
LET p.cotizaciones.direccion_cliente = 'RESIDENCIAL SOL CRECIENTE'
|
|
LET p.cotizaciones.telefono_o='(809)747-3187'
|
|
LET p.cotizaciones.telefono_r='(829)847-3878'
|
|
LET p.cotizaciones.cond_pago = 2
|
|
LET p.cotizaciones.descripcion = '30 DUAS'
|
|
LET p.cotizaciones.celular = '829-847-3878'
|
|
LET p.cotizaciones.email = 'juan.f.sotoc@gmail.com'
|
|
LET p.cotizaciones.sec_vend = 3555
|
|
LET p.cotizaciones.nombre_vend = 'JUAN SOTO'
|
|
LET p.cotizaciones.total_bruto =1
|
|
LET p.cotizaciones.monto_desc =0
|
|
LET p.cotizaciones.porc_itbis =18
|
|
LET p.cotizaciones.monto_itbis =0
|
|
LET p.cotizaciones.total_cotizacion = 0
|
|
LET p.cotizaciones.etiqueta_cotizacion= 'COTIZACION'
|
|
LET p.cotizaciones.plazo_entrega = '20 DIAS DESPUES'
|
|
LET p.cotizaciones.comentario = 'ESTE ES EL EJEMPLO DEL COMENTARIO'
|
|
LET p.cotizaciones.usuario = 'jsoto'
|
|
LET p.cotizaciones.clave='lmmjvsd2014'
|
|
LET p.cotizaciones.cod_zona=1
|
|
LET p.cotizaciones.codigo='DO'
|
|
LET p.cotizaciones.guiId = 'STR_GUIID'
|
|
LET p.cotizaciones.sincronizado=TRUE
|
|
LET p.cotizaciones.bodega = 1
|
|
LET p.cotizaciones.titulo_bodega = 'PLANTA'
|
|
# SELECT a.descrip_esp,a.imagen INTO p.detalles[1].descripcion ,p.detalles[1].imagen
|
|
# FROM iptb00002 a WHERE a.cod_n = 19 AND a.cod_grupo = 668 AND
|
|
# a.cod_tipo = 178 AND a.cod_Sec = 1079
|
|
LET p.detalles[1].secuencia=1
|
|
LET p.detalles[1].area=1
|
|
LET p.detalles[1].descripcion_area = 'AREA GENERAL'
|
|
LET p.detalles[1].codid = '132'
|
|
LET p.detalles[1].codigo ='1-104-2-78'
|
|
LET p.detalles[1].cod_n =1
|
|
LET p.detalles[1].cod_grupo=104
|
|
LET p.detalles[1].cod_tipo=2
|
|
LET p.detalles[1].cod_sec=78
|
|
# LET p.detalles[1].descripcion='KIT CUBRE MOCHETA: 80mm/ SP'
|
|
LET p.detalles[1].cantidad = 10
|
|
LET p.detalles[1].cantidad1=10
|
|
LET p.detalles[1].precio = 2433
|
|
LET p.detalles[1].porc_desc=30
|
|
LET p.detalles[1].itbis =18
|
|
LET p.detalles[1].valor =0
|
|
LET p.detalles[1].idkit=null
|
|
LET p.detalles[1].cantidad_reservada=1000
|
|
LET p.detalles[1].fecha_inicio_reserva='09/20/2019'
|
|
LET p.detalles[1].fecha_vence_reserva='09/26/2019'
|
|
LET p.detalles[1].autorizada='SI'
|
|
|
|
LET p.detalles[2].secuencia=2
|
|
LET p.detalles[2].area=1
|
|
LET p.detalles[2].descripcion_area = 'AREA GENERAL'
|
|
LET p.detalles[2].codid = '3891'
|
|
LET p.detalles[2].codigo ='33-668-62-758'
|
|
LET p.detalles[2].cod_n =33
|
|
LET p.detalles[2].cod_grupo=668
|
|
LET p.detalles[2].cod_tipo=62
|
|
LET p.detalles[2].cod_sec=758
|
|
# LET p.detalles[1].descripcion='KIT CUBRE MOCHETA: 80mm/ SP'
|
|
LET p.detalles[2].cantidad = 5
|
|
LET p.detalles[2].cantidad1=5
|
|
LET p.detalles[2].precio = 735
|
|
LET p.detalles[2].porc_desc=5
|
|
LET p.detalles[2].itbis =18
|
|
LET p.detalles[2].valor =0
|
|
LET p.detalles[2].idkit=null
|
|
LET p.detalles[2].cantidad_reservada=1
|
|
LET p.detalles[2].fecha_inicio_reserva='03/17/2023'
|
|
LET p.detalles[2].fecha_vence_reserva='03/23/2023'
|
|
LET p.detalles[2].autorizada='SI'
|
|
|
|
# LET p.detalles[2].descripcion='LAVAMANO SOHO LANTANA C/SEMI-PEDESTAL BLANCO 3048D'
|
|
|
|
{ LET p.detalles[2].cantidad = 2
|
|
LET p.detalles[2].cantidad1=2
|
|
LET p.detalles[2].precio = 500
|
|
LET p.detalles[2].porc_desc=0
|
|
LET p.detalles[2].itbis =18
|
|
LET p.detalles[2].valor =518
|
|
}
|
|
LET r_cmd.oper = 'rep_cotizacion'
|
|
LET r_cmd.data = util.JSON.stringify(p)
|
|
LET s = util.JSON.stringify(r_cmd)
|
|
|
|
CALL sync_send_command(url, s) RETURNING ret, res
|
|
|
|
IF ret == 0 THEN
|
|
CALL util.JSON.parse(res, rep_out)
|
|
# CALL util.JSON.parse(res,p.rep_out)
|
|
ELSE
|
|
LET msg=SFMT(%"Connection '%1' failed",r_cmd.oper),"\n",url,"\n",res
|
|
# CALL show_sync_err(msg)
|
|
|
|
END IF
|
|
IF rep_out.generales.nomb_arch="ERROR" THEN
|
|
ERROR "Se ha producido un error al generar el reporte"
|
|
|
|
ELSE
|
|
# CALL check_create_folder("ArchRecibidos")
|
|
LET archivo="ArchRecibidos/",rep_out.generales.nomb_arch
|
|
# DISPLAY "files ",archivo
|
|
# CALL b64_to_file(rep_out.contenido,archivo)
|
|
# CALL ver_archivo(archivo)
|
|
END IF
|
|
DISPLAY "COTIZACION ",res
|
|
END FUNCTION |