Disponible Cliente Alerta: Venta solo por disponible del cliente

Parámetro: DisponibleClienteAlerta

Descripción: Indica si se valida que el cliente solo use el disponible que tiene y evitar exceder el monto a pagar a crédito, evitando el envió del vale a lista negra. la cantidad restante de importe por pagar debe ser saldada por otra forma de pago.

Creación del parámetro en servidor VISCOIDB.VISCOI.DBO.PARAMETROS_CONTROL

USE viscoi
GO

PRINT '01) DECLARACION DE VARIABLES'
DECLARE @ID_PARAMETRO AS VARCHAR(50) = 'DisponibleClienteAlerta'
DECLARE @DESCRIPCION AS VARCHAR(MAX) = 'VENTA SOLO POR DISPONIBLE DEL CLIENTE'
DECLARE @VALOR AS VARCHAR(50) = 'NO'
DECLARE @USUARIO AS VARCHAR(12) = 'JARREOLA'

PRINT '02) GENERAR BASE CON LAS SUCURSALES A LAS QUE SE LES CREARA EL PARAMETRO'
IF OBJECT_ID('tempdb..#suc') > 0
	DROP TABLE #suc

SELECT plaza,id_sucursal
INTO #suc
FROM sucursales
WHERE id_empresa = 'BHERMANOS'
AND curp = 'no'
AND subtipo <> 'credito'
AND id_sucursal NOT LIKE 'VM_%'
AND id_sucursal NOT LIKE 'OUTLET_%' 
AND id_sucursal NOT LIKE 'OFERTAZ_%'
--AND (plaza NOT IN ('01 TORREON','02 DURANGO','09 PARRAL','25 GOMEZ PALACIO','28 TEPIC','56 FCO I MADERO')
--AND zona <> 'PACIFICO')
ORDER BY plaza

PRINT '03) ACTUALIZAR EL CAMPO DE LA PLAZA'
UPDATE SUC SET SUC.PLAZA = S.plaza
FROM #suc SUC
JOIN SUCURSALES S WITH(NOLOCK)
ON S.id_sucursal = SUC.id_sucursal
AND S.id_empresa = 'BHERMANOS'

PRINT '04) CREAMOS LA TEMPORAL DE #PARAMETROS_CONTROL'
IF OBJECT_ID('tempdb..#TMP_PARAMETROS_CONTROL') > 0
	DROP TABLE #TMP_PARAMETROS_CONTROL

CREATE TABLE #TMP_PARAMETROS_CONTROL
(
id_parametro VARCHAR(50)
, llave VARCHAR(50)
, sistema VARCHAR(20)
, id_empresa VARCHAR(12)
, id_sucursal VARCHAR(12)
, usuario VARCHAR(12)
, nombre TEXT
, valor VARCHAR(50)
, fum DATETIME
, id_usuario VARCHAR(12)
)

PRINT '05) GENERAMOS EL PRIMER PARAMETRO: ' + @ID_PARAMETRO
INSERT INTO #TMP_PARAMETROS_CONTROL
SELECT id_parametro = @ID_PARAMETRO
,llave = 'BHERMANOS'+id_sucursal
,sistema = 'CAJA REGISTRADORA'
,id_empresa = 'BHERMANOS'
,id_sucursal
,usuario = ''
,nombre = @DESCRIPCION
,valor = @VALOR
,fum = GETDATE()
,id_usuario = @USUARIO
FROM #suc S WITH(NOLOCK)

PRINT '06) VERIFICAMOS SI YA EXISTE EL PARAMETRO Y ACTUALIZAMOS'
UPDATE PC SET PC.VALOR = TPC.VALOR, PC.FUM=TPC.FUM, PC.id_usuario = TPC.id_usuario
FROM #TMP_PARAMETROS_CONTROL TPC
JOIN PARAMETROS_CONTROL PC WITH(NOLOCK)
ON PC.ID_PARAMETRO = TPC.ID_PARAMETRO
AND PC.LLAVE = TPC.LLAVE

PRINT '07) SI NO EXISTE EL PARAMETRO LO INSERTAMOS'
INSERT INTO PARAMETROS_CONTROL
SELECT TPC.*
FROM #TMP_PARAMETROS_CONTROL TPC WITH(NOLOCK)
LEFT JOIN PARAMETROS_CONTROL PC WITH(NOLOCK)
ON PC.ID_PARAMETRO = TPC.ID_PARAMETRO
AND PC.LLAVE = TPC.LLAVE
WHERE PC.ID_PARAMETRO IS NULL

PRINT '08) VALIDAMOS QUE EL PARAMETRO VIAJE A CORPORATIVO, SI NO VIAJA LO AGREGAMOS'
IF NOT EXISTS(SELECT * FROM parametros_control_envio WHERE ID_PARAMETRO = @ID_PARAMETRO)
BEGIN
	INSERT INTO parametros_control_envio
	SELECT @ID_PARAMETRO,@DESCRIPCION
END

PRINT '09) PARAMETRO CREADO/ACTUALIZADO CON EXITO!!!'
SELECT * FROM parametros_control WHERE id_parametro = @ID_PARAMETRO

 

 

Documento Confidencial

También te podría gustar...