464 lines
20 KiB
Plaintext
464 lines
20 KiB
Plaintext
IMPORT util
|
|
IMPORT os
|
|
IMPORT security
|
|
SCHEMA mbs
|
|
DEFINE
|
|
correcto STRING,
|
|
descripcion_cond VARCHAR(60),
|
|
xfecha_vence DATE
|
|
|
|
FUNCTION factura(pdata)
|
|
DEFINE scliente,dataorden STRING
|
|
DEFINE orden RECORD
|
|
encabezado RECORD
|
|
num_oc,cotizacion_no,factura,tipo_cliente,sec_cliente,cond_pago,sec_vend INT,
|
|
nombre,direccion_linea1,direccion_linea2,ciudad,codigo_postal,pais_region,region_provincia,
|
|
telefono1,telefono2,correo_electronico,contacto VARCHAR(100),
|
|
orden_externa VARCHAR(30),
|
|
fecha_orden DATE,
|
|
metodo_pago,referencia STRING,
|
|
tipo_envio VARCHAR(100),
|
|
total_bruto,monto_descuento,sub_total,monto_itbis,total_neto,itbis,valor_envio FLOAT,
|
|
codigo_dgii,titulo_ncf string,num_rnc VARCHAR(11),
|
|
ventas VARCHAR(1),
|
|
cod_zona VARCHAR(3),
|
|
conexion ,
|
|
usuario,clave STRING,
|
|
contacto_obra,telefono_contacto_obra STRING
|
|
END RECORD,
|
|
detalle DYNAMIC ARRAY OF RECORD
|
|
ultima_cotizacion,codid,cod_n,cod_grupo,cod_tipo,cod_sec INT,
|
|
precio,cantidad1,cantidad,descuento FLOAT,
|
|
titulo STRING
|
|
|
|
END RECORD
|
|
END RECORD
|
|
DEFINE cliente RECORD
|
|
nombre,cond_pago,rnc,tipo_doc STRING,
|
|
limite_cr FLOAT,
|
|
tipo_negocio INT,
|
|
direccion,urbanizacion,sector,pais,zona,provincia, telefono_casa,telefono_celular,
|
|
email,url,contacto STRING,
|
|
tipo_cliente INT
|
|
|
|
END RECORD,
|
|
ult_ncf,localidad INT
|
|
DEFINE pdata STRING
|
|
DEFINE factura RECORD
|
|
gral RECORD
|
|
cod_cia LIKE vetb00002.cod_cia, #DEJAR EN BLANCO
|
|
ventas LIKE vetb00002.ventas,
|
|
zona CHAR(3),
|
|
factura LIKE vetb00002.factura,
|
|
conduce LIKE vetb00002.conduce,
|
|
fecha_conduce DATE,
|
|
fecha_factura DATE,
|
|
tipo_cliente LIKE vetb00002.tipo_cliente,
|
|
sec_cliente LIKE vetb00002.sec_cliente,
|
|
nombre CHAR(30),
|
|
direccion CHAR(170),
|
|
ciudad CHAR(20),
|
|
prima_us LIKE vetb00002.prima_us,
|
|
porc_desc LIKE vetb00002.porc_desc,
|
|
cond_pago LIKE vetb00002.cond_pago, # AUTOMATICO
|
|
num_req INT, # AUTOMATICO
|
|
orden INT,
|
|
orden_externa STRING,
|
|
fecha_orden DATE,
|
|
porc_itbi LIKE vetb00002.porc_itbi,
|
|
sec_vend LIKE vetb00002.sec_vend,
|
|
nombre_vend CHAR(60),
|
|
cod_transp LIKE iptb00006.cod_transp,
|
|
sec_transp LIKE iptb00006.sec_transp,
|
|
cod_tarifa LIKE iptb00006.cod_tarifa,
|
|
nombre_tran CHAR(30),
|
|
fecha_embarque DATE,
|
|
placa_transp LIKE iptb00006.placa,
|
|
sub_total DECIMAL(12,2),
|
|
desc_valor DECIMAL(12,2),
|
|
itbis DECIMAL(12,2),
|
|
total_fact DECIMAL(12,2),
|
|
valor_envio FLOAT,
|
|
correo_electronico STRING,
|
|
metodo_pago STRING,
|
|
num_rnc,pais,telefono_casa,telefono_cel,strncf,codigo_dgii,usuario,clave,tipo_envio,referencia,contacto
|
|
STRING,
|
|
provincia INT,
|
|
contacto_obra,telefono_contacto_obra STRING
|
|
END RECORD,
|
|
detalle DYNAMIC ARRAY OF RECORD
|
|
area SMALLINT, #AUTOMATICO
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
descrip_esp CHAR(50),
|
|
unidad_med CHAR(5),
|
|
cantidad1,
|
|
cantidad DEC(12,5),
|
|
precio LIKE vetb00003.precio,
|
|
cantidad_2 LIKE vetb00003.cantidad_2,
|
|
monto_fact DECIMAL(12,2),
|
|
cantidad_orden DEC(12,5),
|
|
facturada DEC(12,5),
|
|
pendiente DEC(12,5),
|
|
id_kit INT,
|
|
codid INT
|
|
END RECORD
|
|
|
|
END RECORD
|
|
|
|
DEFINE respuesta RECORD
|
|
cod_msg INT,
|
|
descripcion STRING,
|
|
ncf_string STRING,
|
|
factura,orden INT
|
|
END RECORD,
|
|
idx,borrar,kncf,xult_factura,xult_recibo,i INT,
|
|
selec STRING,
|
|
fecha,p_fecha_ven DATE
|
|
DEFINE respuesta_orden RECORD
|
|
cod_msg,descripcion STRING,
|
|
orden INT
|
|
END RECORD
|
|
|
|
TRY
|
|
CALL util.JSON.parse(pdata,factura)
|
|
CATCH
|
|
LET respuesta.cod_msg=404
|
|
LET respuesta.descripcion = 'ERROR EN JSON ',SQLCA.sqlerrm
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END TRY
|
|
|
|
DISPLAY "<NCF>USUARIO: ",factura.gral.usuario," pass ",factura.gral.clave
|
|
|
|
CONNECT TO "marmotech" USER factura.gral.usuario USING factura.gral.clave
|
|
IF STATUS < 0 THEN
|
|
LET respuesta.cod_msg=STATUS
|
|
LET respuesta.descripcion = 'ERROR EN CONEXION DB ',SQLCA.sqlerrm
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END IF
|
|
IF factura.gral.nombre IS NULL THEN
|
|
LET respuesta.cod_msg=404
|
|
LET respuesta.descripcion = 'ERROR NOMBRE DE CLIENTE EN BLANCO '
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END IF
|
|
|
|
LET fecha = TODAY
|
|
IF factura.gral.num_rnc IS NULL THEN
|
|
IF factura.gral.codigo_dgii = 'B01' THEN
|
|
LET respuesta.cod_msg=404
|
|
LET respuesta.descripcion = 'RNC ESTA EN BLANCO, NO PUEDES HACER FACTURAS CON CREDITO FISCAL'
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(respuesta)
|
|
END IF
|
|
LET factura.gral.codigo_dgii='B02'
|
|
END IF
|
|
|
|
LET selec = "SELECT cod_n,cod_grupo,cod_tipo,cod_sec FROM marmotech.dbo.iptb00002 WHERE codid = ?"
|
|
PREPARE buscaprod FROM selec
|
|
|
|
LET selec =
|
|
"SELECT a.ncf_final,a.tipo_ncf,a.fecha_vencimiento FROM vetb00071 a WHERE a.codigo_dgii = ? AND a.disponible = 'S' "
|
|
|
|
PREPARE cmd_ncf FROM selec
|
|
EXECUTE cmd_ncf INTO ult_ncf,orden.encabezado.titulo_ncf,xfecha_vence USING factura.gral.codigo_dgii
|
|
IF STATUS =NOTFOUND THEN
|
|
LET respuesta.cod_msg=404
|
|
LET respuesta.descripcion = 'NO EXISTE SECUENCIA NCF PARA ESTE ID'
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END IF
|
|
|
|
|
|
|
|
LET selec =
|
|
"SELECT a.ncf FROM vetb00073 a WHERE a.codigo_dgii = ? "
|
|
|
|
PREPARE cmd_ncf1 FROM selec
|
|
EXECUTE cmd_ncf1 INTO kncf USING factura.gral.codigo_dgii
|
|
|
|
IF STATUS =NOTFOUND THEN
|
|
LET respuesta.cod_msg=404
|
|
LET respuesta.descripcion = 'PROBLEMA EN LA SECUENCIA DE LOS NCF, CONTACTE A FINANZAS'
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END IF
|
|
LET kncf = kncf + 1
|
|
|
|
IF kncf > ult_ncf THEN
|
|
LET respuesta.cod_msg=404
|
|
LET respuesta.descripcion = 'PROBLEMA EN LA SECUENCIA DE LOS NCF, CONTACTE A FINANZAS'
|
|
LET respuesta.ncf_string = 'NO TIENE'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END IF
|
|
|
|
LET factura.gral.tipo_cliente =25
|
|
|
|
|
|
LET cliente.cond_pago = 4
|
|
SELECT a.descrip INTO descripcion_cond FROM vetb00012 a WHERE a.cond_pago = cliente.cond_pago
|
|
|
|
LET cliente.direccion = factura.gral.direccion
|
|
LET cliente.email = factura.gral.correo_electronico
|
|
LET cliente.nombre = factura.gral.nombre
|
|
LET cliente.pais = factura.gral.pais
|
|
LET cliente.provincia = factura.gral.provincia
|
|
LET cliente.zona = factura.gral.zona
|
|
LET cliente.rnc = factura.gral.num_rnc
|
|
LET cliente.telefono_casa = factura.gral.telefono_casa
|
|
LET cliente.telefono_celular = factura.gral.telefono_cel
|
|
LET localidad = 20
|
|
LET cliente.tipo_cliente = factura.gral.tipo_cliente
|
|
LET cliente.contacto = factura.gral.contacto
|
|
|
|
|
|
LET scliente = UTIL.JSON.stringify(cliente)
|
|
CALL crearcliente(scliente) RETURNING factura.gral.tipo_cliente,factura.gral.sec_cliente
|
|
|
|
LET orden.encabezado.conexion = "ACTIVA"
|
|
LET orden.encabezado.sec_vend =9
|
|
LET orden.encabezado.nombre = factura.gral.nombre
|
|
LET orden.encabezado.direccion_linea1 = factura.gral.direccion
|
|
LET orden.encabezado.tipo_envio = factura.gral.tipo_envio
|
|
LET orden.encabezado.contacto_obra = factura.gral.contacto_obra
|
|
LET orden.encabezado.telefono_contacto_obra = factura.gral.telefono_contacto_obra
|
|
|
|
LET orden.encabezado.telefono1 = factura.gral.telefono_casa
|
|
LET orden.encabezado.telefono2 = factura.gral.telefono_cel
|
|
LET orden.encabezado.valor_envio = factura.gral.valor_envio
|
|
|
|
LET orden.encabezado.referencia = factura.gral.referencia
|
|
LET orden.encabezado.contacto = factura.gral.contacto
|
|
|
|
LET orden.encabezado.ventas = factura.gral.ventas
|
|
LET orden.encabezado.cond_pago = factura.gral.cond_pago
|
|
LET orden.encabezado.direccion_linea1 = factura.gral.direccion
|
|
LET orden.encabezado.correo_electronico = factura.gral.correo_electronico
|
|
LET orden.encabezado.metodo_pago = factura.gral.metodo_pago
|
|
LET orden.encabezado.pais_region = factura.gral.pais
|
|
LET orden.encabezado.region_provincia = factura.gral.provincia
|
|
LET orden.encabezado.total_bruto = factura.gral.sub_total
|
|
LET orden.encabezado.itbis = factura.gral.porc_itbi
|
|
LET orden.encabezado.monto_itbis = factura.gral.itbis
|
|
LET orden.encabezado.sub_total = factura.gral.sub_total
|
|
LET orden.encabezado.monto_descuento = factura.gral.desc_valor
|
|
LET orden.encabezado.total_neto = factura.gral.total_fact
|
|
LET orden.encabezado.codigo_dgii = factura.gral.codigo_dgii
|
|
LET orden.encabezado.tipo_cliente = factura.gral.tipo_cliente
|
|
LET orden.encabezado.sec_cliente = factura.gral.sec_cliente
|
|
|
|
LET orden.encabezado.nombre = factura.gral.nombre
|
|
LET orden.encabezado.sec_vend = factura.gral.sec_vend
|
|
LET orden.encabezado.cod_zona = factura.gral.zona
|
|
LET orden.encabezado.orden_externa = factura.gral.orden_externa
|
|
|
|
|
|
LET orden.encabezado.tipo_cliente = factura.gral.tipo_cliente
|
|
|
|
LET orden.encabezado.sec_cliente = factura.gral.sec_cliente
|
|
LET orden.encabezado.correo_electronico = factura.gral.correo_electronico
|
|
LET ORDEN.encabezado.direccion_linea1 = factura.gral.direccion
|
|
|
|
LET orden.encabezado.metodo_pago = factura.gral.metodo_pago
|
|
LET orden.encabezado.monto_descuento = factura.gral.desc_valor
|
|
LET orden.encabezado.monto_itbis = factura.gral.itbis
|
|
LET orden.encabezado.nombre = factura.gral.nombre
|
|
LET orden.encabezado.num_rnc = cliente.rnc
|
|
|
|
LET factura.gral.cod_cia = 1
|
|
LET factura.gral.cond_pago = 4
|
|
LET factura.gral.ventas = 3
|
|
|
|
DISPLAY "DETALLE FACTURA ",factura.detalle.getLength()
|
|
FOR i =1 TO factura.detalle.getLength()
|
|
DISPLAY "DETALLE FACTURA ",factura.detalle[i].codid
|
|
LET orden.detalle[i].codid = factura.detalle[i].codid
|
|
LET orden.detalle[i].cod_n = factura.detalle[i].cod_n
|
|
LET orden.detalle[i].cod_grupo = factura.detalle[i].cod_grupo
|
|
LET orden.detalle[i].cod_tipo = factura.detalle[i].cod_tipo
|
|
LET orden.detalle[i].cod_sec = factura.detalle[i].cod_sec
|
|
LET orden.detalle[i].cantidad = factura.detalle[i].cantidad
|
|
LET orden.detalle[i].cantidad1 = factura.detalle[i].cantidad1
|
|
LET orden.detalle[i].precio = factura.detalle[i].precio
|
|
LET orden.detalle[i].titulo = factura.detalle[i].descrip_esp
|
|
END FOR
|
|
|
|
LET dataorden= util.JSON.stringify(orden)
|
|
|
|
CALL orden_e(dataorden) RETURNING dataorden
|
|
CALL util.JSON.parse(dataorden,respuesta_orden)
|
|
|
|
|
|
LET factura.gral.orden = respuesta_orden.orden
|
|
LET factura.gral.fecha_orden = TODAY
|
|
|
|
LET factura.gral.cod_cia = 1
|
|
# SECUENCIA FACTURA
|
|
BEGIN WORK
|
|
SELECT a.ult_factura INTO xult_factura FROM vetb00001 a WHERE a.sucid =localidad
|
|
IF STATUS = NOTFOUND THEN
|
|
INSERT INTO vetb00001(ult_factura,sucid,us_crea,fech_crea)
|
|
VALUES (0,20,factura.gral.usuario,getdate())
|
|
LET xult_factura = 0
|
|
END IF
|
|
LET xult_factura = xult_factura + 1
|
|
|
|
UPDATE vetb00073 SET ncf = kncf WHERE codigo_dgii =factura.gral.codigo_dgii
|
|
|
|
UPDATE vetb00001 SET ult_factura = xult_factura WHERE sucid = localidad
|
|
|
|
LET factura.gral.cond_pago = 4
|
|
LET factura.gral.sec_vend = 9
|
|
LET factura.gral.factura = xult_factura
|
|
# LET factura.gral.orden = orden.encabezado.num_oc
|
|
|
|
SELECT a.nom1_Emp||' '|| a.apell1_emp INTO factura.gral.nombre_vend
|
|
FROM adtb00003 a WHERE a.num_emp = factura.gral.sec_vend
|
|
|
|
LET respuesta.ncf_string=factura.gral.codigo_dgii CLIPPED,kncf USING "&&&&&&&&"
|
|
|
|
INSERT INTO vetb00002 (cod_cia, factura, fecha_factura,ventas, zona, orden,
|
|
fecha_orden,
|
|
tipo_cliente, sec_cliente, sec_vend, cond_pago, porc_itbi,
|
|
porc_desc,prima_us,sub_total,monto_desc,monto_itbi,
|
|
neto,fecha_embarque,status_impresion,us_crea,
|
|
fech_crea, sucid,documento,nombre_cliente,direccion_cliente,valor_envio,rnc,ncf,titulo_ncf,
|
|
fecha_vencimiento_ncf)
|
|
VALUES (factura.gral.cod_cia, xult_factura, factura.gral.fecha_factura,
|
|
factura.gral.ventas,factura.gral.zona,factura.gral.orden,
|
|
factura.gral.fecha_orden,
|
|
factura.gral.tipo_cliente,factura.gral.sec_cliente,factura.gral.sec_vend,
|
|
factura.gral.cond_pago,factura.gral.porc_itbi,factura.gral.porc_desc,
|
|
factura.gral.prima_us,factura.gral.sub_total,factura.gral.desc_valor,
|
|
factura.gral.itbis,factura.gral.total_fact,factura.gral.fecha_embarque,
|
|
'S',factura.gral.usuario,getdate(),localidad,factura.gral.orden_externa,
|
|
factura.gral.nombre,factura.gral.direccion,factura.gral.valor_envio,factura.gral.num_rnc,
|
|
respuesta.ncf_string,
|
|
orden.encabezado.titulo_ncf,xfecha_vence)
|
|
|
|
#NCF
|
|
INSERT INTO vetb00072 VALUES
|
|
(xult_factura,"FT",factura.gral.codigo_dgii,kncf,factura.gral.usuario,getdate(),localidad)
|
|
|
|
|
|
# FACTURA EN CUENTAS POR COBRAR, ESTO FUE SUGERENCIA DE LA ENC. DE FINANZAS
|
|
LET p_fecha_ven = factura.gral.fecha_factura + 1
|
|
|
|
INSERT INTO cctb00001 (cod_cia,tipo_doc,num_doc,tipo_cliente,sec_cliente,cod_emp_sec,fecha_orig,
|
|
fecha_ven,aplica_a,localidad_aplica_a,valor,monto_desc,
|
|
us_crea,fech_crea,bodega,sucid,documento_ref,banco,num_oc)
|
|
VALUES (factura.gral.cod_cia,'FT',factura.gral.factura,
|
|
factura.gral.tipo_cliente,factura.gral.sec_cliente,
|
|
9,factura.gral.fecha_factura,p_fecha_ven,
|
|
factura.gral.factura, localidad,factura.gral.total_fact,
|
|
0, factura.gral.usuario,getdate(),
|
|
localidad,localidad,'0',factura.gral.conduce,factura.gral.orden)
|
|
|
|
# RECIBO DE PAGO FACTURA
|
|
SELECT a.ult_recibo INTO xult_recibo FROM cctb00003 a WHERE tipo_doc = 'PC'
|
|
|
|
LET xult_recibo = xult_recibo + 1
|
|
INSERT INTO cctb00001 (cod_cia, tipo_doc, num_doc, tipo_cliente, sec_cliente, cod_emp_sec, fecha_orig,
|
|
fecha_ven,aplica_a,localidad_aplica_a,valor,monto_desc,
|
|
us_crea,fech_crea,sucid,num_oc)
|
|
VALUES (factura.gral.cod_cia,'PC',xult_recibo,
|
|
factura.gral.tipo_cliente,factura.gral.sec_cliente,
|
|
factura.gral.sec_vend,factura.gral.fecha_factura,factura.gral.fecha_factura,
|
|
factura.gral.factura, localidad,factura.gral.total_fact,
|
|
0, factura.gral.usuario,getdate(),
|
|
localidad,factura.gral.orden)
|
|
|
|
#----------------------------------------------------------------------------------------------------
|
|
|
|
LET correcto = "SI"
|
|
FOR idx = 1 TO factura.detalle.getLength()
|
|
|
|
IF factura.detalle[idx].codID IS NOT NULL THEN
|
|
|
|
EXECUTE buscaprod INTO factura.detalle[idx].cod_n,factura.detalle[idx].cod_grupo,
|
|
factura.detalle[idx].cod_tipo,factura.detalle[idx].cod_sec
|
|
USING factura.detalle[idx].codid
|
|
|
|
IF factura.detalle[idx].cod_n IS NULL THEN
|
|
ROLLBACK WORK
|
|
LET correcto = "NO"
|
|
EXIT FOR
|
|
END IF
|
|
IF factura.detalle[idx].cantidad_2 IS NULL THEN
|
|
LET factura.detalle[idx].cantidad_2 =0
|
|
END IF
|
|
|
|
INSERT INTO vetb00003 (cod_cia, factura, area, cod_n, cod_grupo, cod_tipo, cod_Sec,
|
|
cantidad,cantidad_2,precio,us_crea,fech_crea,sucid,id_kit,descripcion)
|
|
VALUES (factura.gral.cod_cia, factura.gral.factura,factura.detalle[idx].area,
|
|
factura.detalle[idx].cod_n,
|
|
factura.detalle[idx].cod_grupo,factura.detalle[idx].cod_tipo,
|
|
factura.detalle[idx].cod_sec,factura.detalle[idx].cantidad,factura.detalle[idx].cantidad_2,
|
|
factura.detalle[idx].precio,factura.gral.usuario,getdate(),localidad,
|
|
factura.detalle[idx].id_kit,
|
|
factura.detalle[idx].descrip_esp)
|
|
|
|
# Actualizando la tabla de movimientos de inventario cuando la factura es
|
|
# normal o Tiene Cantidad a despachar
|
|
|
|
LET factura.detalle[idx].cantidad = factura.detalle[idx].cantidad * -1
|
|
|
|
# IF fact_det[idx].cod_n != 5 THEN
|
|
|
|
INSERT INTO iptb00006 (cod_cia,num_doc,fact_no,fecha,cod_transp,sec_transp,
|
|
cod_sp,cod_sp_sec,placa,cod_tarifa,cod_mov,cod_n,
|
|
cod_grupo,cod_tipo,cod_sec,cantidad_2,
|
|
bodega,us_crea,fech_crea,cotizacion_no,num_oc)
|
|
VALUES (factura.gral.cod_cia,factura.gral.factura,factura.gral.factura,
|
|
factura.gral.fecha_factura,factura.gral.cod_transp,factura.gral.sec_transp,
|
|
factura.gral.tipo_cliente,factura.gral.sec_cliente,factura.gral.placa_transp,
|
|
factura.gral.cod_tarifa,30,factura.detalle[idx].cod_n,
|
|
factura.detalle[idx].cod_grupo,factura.detalle[idx].cod_tipo,
|
|
factura.detalle[idx].cod_sec,factura.detalle[idx].cantidad,localidad,
|
|
factura.gral.usuario,getdate(),
|
|
factura.gral.conduce,
|
|
factura.gral.orden)
|
|
|
|
|
|
LET factura.detalle[idx].cantidad = factura.detalle[idx].cantidad * -1
|
|
|
|
|
|
END IF
|
|
END FOR
|
|
IF correcto = "SI" THEN
|
|
COMMIT WORK
|
|
END IF
|
|
DISCONNECT CURRENT
|
|
IF correcto = "SI" THEN
|
|
LET respuesta.cod_msg = 200
|
|
LET respuesta.descripcion='ADICION EXITOSA EL NUMERO DE FACTURA INTERNO ES ',factURA.gral.factura USING "&&&&&&",
|
|
" LA ORDEN ",factura.gral.orden USING "&&&&&&&&"
|
|
LET respuesta.orden = factura.gral.orden
|
|
LET respuesta.factura = factura.gral.factura
|
|
ELSE
|
|
LET respuesta.cod_msg = 404
|
|
LET respuesta.descripcion='NO ES POSIBLE ADICIONAR EL REGISTRO, UNO DE LOS ITEMS VINO EN BLANCO'
|
|
|
|
LET respuesta.orden = factura.gral.orden
|
|
LET respuesta.factura = factura.gral.factura
|
|
END IF
|
|
RETURN util.JSON.stringify(respuesta)
|
|
|
|
END FUNCTION
|