Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
GLOBALS "ccprgb000.4gl"
|
||||
DEFINE balancesCE RECORD
|
||||
cliente CHAR(50),
|
||||
tipo_cliente,
|
||||
sec_cliente INT,
|
||||
email VARCHAR(100),
|
||||
valor,
|
||||
valor2 DEC(12,2),
|
||||
diferencia DEC(12,2),
|
||||
fecha_factura DATE
|
||||
END RECORD,
|
||||
tipoconection VARCHAR(10)
|
||||
|
||||
FUNCTION VariacionBalances(xtipocliente,xseccliente)
|
||||
|
||||
DEFINE selec STRING,
|
||||
fecha_final DATE,
|
||||
idx,idz,impresas,iguales,diferentes,xtipocliente,xseccliente INT,
|
||||
valortemp1,valortemp2 DEC(12,2),
|
||||
estadoEnvio VARCHAR(100),
|
||||
fechaEnvio DATETIME YEAR TO MINUTE,
|
||||
enviar BOOLEAN
|
||||
|
||||
LET fecha_final = TODAY
|
||||
LET selec = "select rtrim(a.nombre)+ '('+cast(a.tipo_cliente as varchar(5))+'-'+cast(a.sec_cliente as varchar(5))+')', a.tipo_cliente, a.sec_cliente,
|
||||
a.patente as email
|
||||
from vetb00004 a
|
||||
|
||||
where a.tipo_cliente = ? and a.sec_cliente = ? ",
|
||||
" and a.status_t is null"
|
||||
|
||||
|
||||
PREPARE comando FROM selec
|
||||
DECLARE variaciones CURSOR FOR comando
|
||||
OPEN variaciones USING xtipocliente,xseccliente
|
||||
LET idx = 1
|
||||
LET idz = 0
|
||||
LET impresas = 0
|
||||
LET diferentes = 0
|
||||
LET iguales = 0
|
||||
--LET estados.porciento10 = 0
|
||||
-- LET estados.cond_pago = ''
|
||||
-- LET estados.estilo = 0
|
||||
|
||||
|
||||
LET estadoEnvio = 'NO ENVIADO'
|
||||
LET fechaEnvio = NULL
|
||||
FOREACH variaciones INTO balancesCE.*
|
||||
|
||||
CALL verificaEnviar(balancesCE.tipo_cliente,balancesCE.sec_cliente) RETURNING enviar
|
||||
IF enviar THEN
|
||||
CALL busca_be(balancesCE.tipo_cliente,balancesCE.sec_cliente,fecha_final) RETURNING balancesCE.valor2
|
||||
|
||||
|
||||
CALL busca_bc(balancesCE.tipo_cliente,balancesCE.sec_cliente,fecha_final) RETURNING balancesCE.valor
|
||||
-- CALL fecha_factura(balancesCE.tipo_cliente, balancesCE.sec_cliente) RETURNING balancesCE.fecha_factura
|
||||
|
||||
IF balancesCE.valor = balancesCE.valor2 AND balancesCE.valor > 0 THEN
|
||||
|
||||
LET valortemp1 = balancesCE.valor
|
||||
LET valortemp2 = balancesCE.valor2
|
||||
|
||||
CALL ccprrp014(balancesCE.tipo_cliente,balancesCE.sec_cliente)
|
||||
LET fechaEnvio = CURRENT
|
||||
LET estadoEnvio = 'ENVIADO'
|
||||
END IF
|
||||
END IF
|
||||
INSERT INTO envioestados_log (tipo_cliente,sec_cliente,balance1,balance2,fecha_envio,usuario_envio,estado_envio)
|
||||
VALUES (balancesCE.tipo_cliente,balancesCE.sec_cliente, balancesCE.valor,balancesCE.valor2,fechaEnvio,SUSER_SNAME(),estadoEnvio)
|
||||
END FOREACH
|
||||
|
||||
END FUNCTION
|
||||
|
||||
#----------------------------------
|
||||
#BUSCAMOS EL BALANCE EN CONSOLIDADO
|
||||
#----------------------------------
|
||||
FUNCTION busca_bc(t_cliente,s_cliente,fecha_lim)
|
||||
DEFINE sbalance,sbalance1 DEC(12,2)
|
||||
DEFINE t_cliente,s_cliente SMALLINT
|
||||
DEFINE fecha_lim DATE
|
||||
|
||||
# BUSCA BALANCE DEL CLIENTE PARA IMPRIMIRLO
|
||||
LET selec = "
|
||||
SELECT SUM(a.valor+a.monto_desc)
|
||||
FROM marmotech.dbo.cctb00001 a
|
||||
WHERE (a.tipo_cliente = ? AND
|
||||
a.sec_cliente = ?) AND
|
||||
(a.fecha_orig <=?) AND
|
||||
a.tipo_doc NOT IN ('AV','AP') AND
|
||||
a.status_t IS NULL
|
||||
"
|
||||
PREPARE balance1 FROM SELEC
|
||||
EXECUTE balance1 INTO sbalance USING t_cliente,s_cliente,fecha_lim
|
||||
|
||||
LET selec = "
|
||||
SELECT SUM(a.valor+a.monto_desc)
|
||||
FROM marmotech.dbo.cctb00001 a
|
||||
WHERE (a.tipo_cliente = ? AND
|
||||
a.sec_cliente = ?) AND
|
||||
(a.fecha_orig <=?) AND
|
||||
(a.tipo_doc IN ('AV') AND
|
||||
a.num_doc=a.aplica_a) AND
|
||||
a.status_t IS NULL
|
||||
"
|
||||
PREPARE balance2 FROM selec
|
||||
EXECUTE balance2 INTO sbalance1 USING t_cliente,s_cliente,fecha_lim
|
||||
|
||||
IF sbalance IS NULL THEN
|
||||
LET sbalance = 0
|
||||
END IF
|
||||
|
||||
IF sbalance1 IS NULL THEN
|
||||
LET sbalance1 = 0
|
||||
END IF
|
||||
|
||||
LET sbalance = sbalance - sbalance1
|
||||
RETURN sbalance
|
||||
END FUNCTION
|
||||
|
||||
#----------------------------------
|
||||
#BUSCAMOS EL BALANCE EN FINANZAS
|
||||
#----------------------------------
|
||||
FUNCTION busca_be(t_cliente,s_cliente,fecha_lim)
|
||||
DEFINE sbalance,sbalance1 DEC(12,2)
|
||||
DEFINE t_cliente,s_cliente SMALLINT
|
||||
DEFINE fecha_lim DATE
|
||||
|
||||
|
||||
# BUSCA BALANCE DEL CLIENTE PARA IMPRIMIRLO
|
||||
SELECT SUM(a.valor+a.monto_desc) INTO sbalance
|
||||
FROM cctb00001 a
|
||||
WHERE (a.tipo_cliente = t_cliente AND
|
||||
a.sec_cliente = s_cliente) AND
|
||||
(a.fecha_orig <= fecha_lim) AND
|
||||
a.tipo_doc NOT IN ("AV","PC","AP") AND
|
||||
a.status_t IS NULL
|
||||
|
||||
SELECT SUM(a.valor+a.monto_desc) INTO sbalance1
|
||||
FROM cctb00001 a
|
||||
WHERE (a.tipo_cliente = t_cliente AND
|
||||
a.sec_cliente = s_cliente) AND
|
||||
(a.fecha_orig <= fecha_lim) AND
|
||||
(a.tipo_doc IN ("AV") AND
|
||||
a.num_doc=a.aplica_a) AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF sbalance IS NULL THEN
|
||||
LET sbalance = 0
|
||||
END IF
|
||||
|
||||
IF sbalance1 IS NULL THEN
|
||||
LET sbalance1 = 0
|
||||
END IF
|
||||
|
||||
LET sbalance = sbalance - sbalance1
|
||||
RETURN sbalance
|
||||
END FUNCTION
|
||||
{
|
||||
FUNCTION fecha_factura(tCliente,sCliente)
|
||||
DEFINE tcliente, sCliente INT,
|
||||
fecha_fact DATE
|
||||
|
||||
SET CONNECTION "SQL_C"
|
||||
|
||||
SELECT MAX(fecha_factura) INTO fecha_fact
|
||||
FROM vetb00002
|
||||
WHERE tipo_cliente = tCliente AND sec_cliente = sCliente
|
||||
|
||||
IF fecha_fact IS NULL OR fecha_fact == '' THEN
|
||||
LET fecha_fact= '01/01/1990'
|
||||
END IF
|
||||
|
||||
RETURN fecha_fact
|
||||
END FUNCTION
|
||||
}
|
||||
Reference in New Issue
Block a user