Sie sind auf Seite 1von 9

/

*----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
VALIDACION QUE COMPRUEBA SI EL SOCIO DE NEGOCIO NO TIENE EL NOMBRE
-----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
*/

IF (@transaction_type = 'A' AND @object_type = '2') OR (@transaction_type = 'U'


AND @object_type = '2')
BEGIN

IF @transaction_type = 'A'
BEGIN
SET @TIPO='creado'
END
ELSE
BEGIN
SET @TIPO='modificado'
END

SET @CLIENTE=(SELECT TOP 1 CardCode FROM ocrd WHERE isnull (CardName,'')=''


AND CardCode=@list_of_cols_val_tab_del)

IF @cliente<>''
BEGIN
SET @error = 90000
SET @error_message = 'El Cliente ' + @cliente + ' no puede ser ' +
@TIPO + '. Indicar el Nombre'

END
END

/
*----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
VALIDACION QUE COMPRUEBA SI EL SOCIO DE NEGOCIO NO TIENE SELECCIONADA UNA
PROPIEDAD
-----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
*/

IF (@transaction_type = 'A' AND @object_type = '2') OR (@transaction_type = 'U'


AND @object_type = '2')
BEGIN

IF @transaction_type = 'A'
BEGIN
SET @TIPO='creado'
END
ELSE
BEGIN
SET @TIPO='modificado'
END

SET @CLIENTE=(SELECT TOP 1 CardCode FROM ocrd WHERE QryGroup1='N' AND


QryGroup2='N' AND CARDTYPE in ('C','L') AND CardCode=@list_of_cols_val_tab_del)
IF @cliente<>''
BEGIN
SET @error = 90000
SET @error_message = 'El Cliente ' + @cliente + ' no puede ser ' +
@TIPO + '. Debe seleccionar una Propiedad'

END
END

/
*----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
VALIDACION QUE COMPRUEBA SI EL CLIENTE TIENE SELECCIONADA MAS DE UNA PROPIEDAD
-----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
*/
IF (@transaction_type = 'A' AND @object_type = '2') OR (@transaction_type = 'U'
AND @object_type = '2')
BEGIN

IF @transaction_type = 'A'
BEGIN
SET @TIPO='creado'
END
ELSE
BEGIN
SET @TIPO='modificado'
END

SET @CLIENTE=(SELECT TOP 1 CardCode FROM ocrd WHERE CARDTYPE in ('C','L')


AND CardCode=@list_of_cols_val_tab_del)

SET @PROPIEDAD=(SELECT TOP 1


Columna1+Columna2+Columna3+Columna4+Columna5+Columna6+Columna7+Columna8+Columna9+Co
lumna10+Columna11+Columna12

+Columna13+Columna14+Columna15+Columna16+Columna17+Columna18+Columna19+Columna20+Co
lumna21+Columna22+Columna23+Columna24

+Columna37+Columna38+Columna39+Columna40+Columna41+Columna42+Columna43+Columna44+Co
lumna45+Columna46+Columna47+Columna48

+Columna49+Columna50+Columna51+Columna52+Columna53+Columna54+Columna55+Columna56+Co
lumna57+Columna58+Columna59+Columna60
+Columna61+Columna62+Columna63+Columna64
AS Propiedades_Seleccionadas
FROM
(SELECT CASE WHEN QryGroup1='N' THEN 0 ELSE 1
END Columna1, CASE WHEN QryGroup2='N' THEN 0 ELSE 1 END Columna2, CASE WHEN
QryGroup3='N' THEN 0 ELSE 1 END Columna3, CASE WHEN QryGroup4='N' THEN 0 ELSE 1 END
Columna4,
CASE WHEN QryGroup5='N' THEN 0 ELSE 1 END
Columna5, CASE WHEN QryGroup6='N' THEN 0 ELSE 1 END Columna6, CASE WHEN
QryGroup7='N' THEN 0 ELSE 1 END Columna7, CASE WHEN QryGroup8='N' THEN 0 ELSE 1 END
Columna8,
CASE WHEN QryGroup9='N' THEN 0 ELSE 1 END
Columna9, CASE WHEN QryGroup10='N' THEN 0 ELSE 1 END Columna10, CASE WHEN
QryGroup11='N' THEN 0 ELSE 1 END Columna11, CASE WHEN QryGroup12='N' THEN 0 ELSE 1
END Columna12,
CASE WHEN QryGroup13='N' THEN 0 ELSE 1
END Columna13, CASE WHEN QryGroup14='N' THEN 0 ELSE 1 END Columna14, CASE WHEN
QryGroup15='N' THEN 0 ELSE 1 END Columna15, CASE WHEN QryGroup16='N' THEN 0 ELSE 1
END Columna16,
CASE WHEN QryGroup17='N' THEN 0 ELSE 1
END Columna17, CASE WHEN QryGroup18='N' THEN 0 ELSE 1 END Columna18, CASE WHEN
QryGroup19='N' THEN 0 ELSE 1 END Columna19, CASE WHEN QryGroup20='N' THEN 0 ELSE 1
END Columna20,
CASE WHEN QryGroup21='N' THEN 0 ELSE 1
END Columna21, CASE WHEN QryGroup22='N' THEN 0 ELSE 1 END Columna22, CASE WHEN
QryGroup23='N' THEN 0 ELSE 1 END Columna23, CASE WHEN QryGroup24='N' THEN 0 ELSE 1
END Columna24,
CASE WHEN QryGroup25='N' THEN 0 ELSE 1
END Columna25, CASE WHEN QryGroup26='N' THEN 0 ELSE 1 END Columna26, CASE WHEN
QryGroup27='N' THEN 0 ELSE 1 END Columna27, CASE WHEN QryGroup28='N' THEN 0 ELSE 1
END Columna28,
CASE WHEN QryGroup29='N' THEN 0 ELSE 1
END Columna29, CASE WHEN QryGroup30='N' THEN 0 ELSE 1 END Columna30, CASE WHEN
QryGroup31='N' THEN 0 ELSE 1 END Columna31, CASE WHEN QryGroup32='N' THEN 0 ELSE 1
END Columna32,
CASE WHEN QryGroup33='N' THEN 0 ELSE 1
END Columna33, CASE WHEN QryGroup34='N' THEN 0 ELSE 1 END Columna34, CASE WHEN
QryGroup35='N' THEN 0 ELSE 1 END Columna35, CASE WHEN QryGroup36='N' THEN 0 ELSE 1
END Columna36,
CASE WHEN QryGroup37='N' THEN 0 ELSE 1
END Columna37, CASE WHEN QryGroup38='N' THEN 0 ELSE 1 END Columna38, CASE WHEN
QryGroup39='N' THEN 0 ELSE 1 END Columna39, CASE WHEN QryGroup40='N' THEN 0 ELSE 1
END Columna40,
CASE WHEN QryGroup41='N' THEN 0 ELSE 1
END Columna41, CASE WHEN QryGroup42='N' THEN 0 ELSE 1 END Columna42, CASE WHEN
QryGroup43='N' THEN 0 ELSE 1 END Columna43, CASE WHEN QryGroup44='N' THEN 0 ELSE 1
END Columna44,
CASE WHEN QryGroup45='N' THEN 0 ELSE 1
END Columna45, CASE WHEN QryGroup46='N' THEN 0 ELSE 1 END Columna46, CASE WHEN
QryGroup47='N' THEN 0 ELSE 1 END Columna47, CASE WHEN QryGroup48='N' THEN 0 ELSE 1
END Columna48,
CASE WHEN QryGroup49='N' THEN 0 ELSE 1
END Columna49, CASE WHEN QryGroup50='N' THEN 0 ELSE 1 END Columna50, CASE WHEN
QryGroup51='N' THEN 0 ELSE 1 END Columna51, CASE WHEN QryGroup52='N' THEN 0 ELSE 1
END Columna52,
CASE WHEN QryGroup53='N' THEN 0 ELSE 1
END Columna53, CASE WHEN QryGroup54='N' THEN 0 ELSE 1 END Columna54, CASE WHEN
QryGroup55='N' THEN 0 ELSE 1 END Columna55, CASE WHEN QryGroup56='N' THEN 0 ELSE 1
END Columna56,
CASE WHEN QryGroup57='N' THEN 0 ELSE 1
END Columna57, CASE WHEN QryGroup58='N' THEN 0 ELSE 1 END Columna58, CASE WHEN
QryGroup59='N' THEN 0 ELSE 1 END Columna59, CASE WHEN QryGroup60='N' THEN 0 ELSE 1
END Columna60,
CASE WHEN QryGroup61='N' THEN 0 ELSE 1
END Columna61, CASE WHEN QryGroup62='N' THEN 0 ELSE 1 END Columna62, CASE WHEN
QryGroup63='N' THEN 0 ELSE 1 END Columna63, CASE WHEN QryGroup64='N' THEN 0 ELSE 1
END Columna64
FROM
OCRD
WHERE
CardCode=@list_of_cols_val_tab_del)
Propiedades)

IF @PROPIEDAD>1
BEGIN
SET @error = 80000
SET @error_message = 'El cliente ' + @CLIENTE + ' no puede ser ' +
@TIPO + ', tiene seleccionada ' + CONVERT(NVARCHAR(10),@PROPIEDAD) + ' propiedades.
Debe seleccionar una sola Propiedad'

END
END

/
*----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------

--/*-------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---
-- VALIDACION PARA VENDEDOR EN CLIENTES
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
--IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U'
AND @object_type = '2')
--BEGIN
-- IF EXISTS (SELECT CardCode FROM OCRD WHERE ISNULL(SlpCode,'')='' OR SlpCode=-
1 AND CARDTYPE in ('C','L') and CardCode=@list_of_cols_val_tab_del)
-- BEGIN
-- SET @error = 80000
-- SET @error_message = 'El Cliente ' + @list_of_cols_val_tab_del + ' no
puede ser creado. Debe Indicar el Vendedor'
-- END
--END

--/*-------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---
-- VALIDACION PARA COBRADOR EN CLIENTE
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U' AND
@object_type = '2')
BEGIN
IF EXISTS (SELECT CardCode FROM OCRD WHERE ISNULL(U_INX_COBRADOR,'')='' AND
CARDTYPE in ('C','L') and CardCode=@list_of_cols_val_tab_del)
BEGIN
SET @error = 80000
SET @error_message = 'El Cliente ' + @list_of_cols_val_tab_del + ' no
puede ser creado. Debe Indicar el Cobrador'
END
END
--/*-------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---
-- VALIDACION PARA GIRO CLIENTE
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U' AND
@object_type = '2')
BEGIN
IF EXISTS (SELECT CardCode FROM OCRD WHERE ISNULL(U_INX_GIRO,'')='' AND
CardCode=@list_of_cols_val_tab_del)
BEGIN
SET @error = 80000
SET @error_message = 'El Socio de Negocio' + @list_of_cols_val_tab_del
+ ' no puede ser creado. Debe Indicar el Giro del Socio de Negocio'
END
END

--/*-------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---

--SOCIOS DE NEGOCIOS.
/***************************************************************
** Asunto : Control del RUN del Socio de negocio
****************************************************************/

IF @object_type = '2' --oSocios de negocios


BEGIN
IF @transaction_type = 'A' or @transaction_type = 'U'
BEGIN

declare @valor int


declare @ruti char(15)
declare @dv char

set @ruti=''
set @ruti = (select right('0000000000'+T0.LictradNum,10) from OCRD T0
where T0.cardcode=@list_of_cols_val_tab_del)
set @valor = 0
if (len(@ruti))=10 and substring(@ruti,len(@ruti)-1,1)='-' and
charindex('.',@ruti,1)=0
begin
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
2,1))*2
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
3,1))*3
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
4,1))*4
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
5,1))*5
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
6,1))*6
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
7,1))*7
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
8,1))*2
set @valor = @valor + convert(int,substring(@ruti,len(@ruti)-
9,1))*3
set @valor = @valor % 11
if (@valor = 1)
begin
set @dv='K'
end
if @valor = 0
begin
set @dv='0'
end
if @valor>1 and @valor<11
begin
set @dv=str(11-@valor,1)
end
if @dv<>substring(@ruti,len(@ruti),1)
BEGIN
SELECT @error = 101
SELECT @error_message = N'El Rut esta incorrecto'
end
if ASCII(substring(@ruti,len(@ruti),1)) = '107'
begin
SELECT @error = 101
SELECT @error_message = N'La K del RUT debe ser con mayuscula'
end
end
else
begin
SELECT @error = 101
if charindex('.',@ruti,1)>0
begin
SELECT @error_message = N'El Rut no debe tener puntos (.) '
end
if substring(@ruti,len(@ruti)-1,1)<>'-'
begin
SELECT @error_message = N'El Rut debe tener (-) '
end
if (len(@ruti))<>10
begin
SELECT @error_message = N'El Rut esta incompleto '
end
end
end
END

----CONTROL DIRECCIONES SOCIOS DE NEGOCIOS-DOCUMENTOS DE MARKETING

IF @object_type = '2' AND (@transaction_type = 'A' OR @transaction_type = 'U')


BEGIN

IF @transaction_type = 'A'
BEGIN
SET @TIPO='crear'
END
ELSE
BEGIN
SET @TIPO='modificar'
END

IF @transaction_type = 'A' or @transaction_type = 'U'


BEGIN

SET @Num=( SELECT COUNT(*) AS Contador


FROM OCRD T0
WHERE (T0.BillToDef IS NULL OR T0.BillToDef='') and T0.CardCode
=@list_of_cols_val_tab_del)
IF (@Num>0)
BEGIN
SELECT @error = 101
SELECT @error_message = N'Debe Ingresar Direccion de Facturacion
de Socio de Negocio, No Es Posible ' + @TIPO
END
END
END

--IF @object_type = '2' AND (@transaction_type = 'A' OR @transaction_type = 'U')


--BEGIN

----IF @transaction_type = 'A'


---- BEGIN
---- SET @TIPO='crear'
---- END
---- ELSE
---- BEGIN
---- SET @TIPO='modificar'
---- END

---- IF @transaction_type = 'A' or @transaction_type = 'U'


---- BEGIN
---- SET @Num=( SELECT COUNT(*) AS Contador
---- FROM OCRD T0
---- WHERE (T0.ShipToDef IS NULL OR T0.ShipToDef='')and T0.CardCode
=@list_of_cols_val_tab_del)
---- IF (@Num>0)
---- BEGIN
---- SELECT @error = 101
---- SELECT @error_message = N'Debe Ingresar Direccion de Despacho de
Socio de Negocio, No Es Posible'+ @TIPO
---- END
---- END
--END

-- VALIDACION DE CLIENTS TIPO EMPLEADO CON LA CUENTA EMPLEADO


-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U' AND
@object_type = '2')
BEGIN
IF EXISTS (SELECT CardCode FROM OCRD WHERE SUBSTRING(CardCode,1,1)='E' AND
CardType IN ('C','L') AND DebPayAcct!='1.1.16.001' and
CardCode=@list_of_cols_val_tab_del)
BEGIN
SET @error = 80000
SET @error_message = 'El Socio de Negocio' + @list_of_cols_val_tab_del
+ ' no puede ser creado. Debe Ingresar la cuenta 1.1.16.001 para el Cliente en la
pestaña de finanzas'
END
END

-- VALIDACION DE PROVEEDOR TIPO EMPLEADO CON LA CUENTA EMPLEADO


-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U' AND
@object_type = '2')
BEGIN
IF EXISTS (SELECT CardCode FROM OCRD WHERE SUBSTRING(CardCode,1,1)='E' AND
CardType IN ('S') AND DebPayAcct!='2.1.12.006' and
CardCode=@list_of_cols_val_tab_del)
BEGIN
SET @error = 80000
SET @error_message = 'El Socio de Negocio' + @list_of_cols_val_tab_del
+ ' no puede ser creado. Debe colocar la cuenta 2.1.12.006 en la pestaña de
finanzas'
END
END

-- VALIDACION PRIMER CARACTER DEBE SER LETRA


-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U' AND
@object_type = '2')
BEGIN
IF EXISTS (SELECT CardCode FROM OCRD WHERE SUBSTRING(CardCode,1,1) not in
('E','H','C','P','S','B') and CardCode=@list_of_cols_val_tab_del)
BEGIN
SET @error = 80000
SET @error_message = 'El Socio de Negocio' + @list_of_cols_val_tab_del
+ ' no puede ser creado. El codigo debe iniciar con una de las siguientes letras:
E,H,C,P,S,B'
END
END

-- VALIDACION PRIMER CARACTER DEBE SER EN MAYUSCULA


-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/
IF (@transaction_type = 'A' AND @object_type = '2') or (@transaction_type = 'U' AND
@object_type = '2')
BEGIN
IF EXISTS (SELECT CardCode FROM OCRD WHERE ASCII(SUBSTRING(CardCode,1,1)) IN
('101','104','99','112','115') and CardCode=@list_of_cols_val_tab_del)
BEGIN
SET @error = 80000
SET @error_message = 'El Socio de Negocio' + @list_of_cols_val_tab_del
+ ' no puede ser creado. La primera letra del codigo del socio de negocio debe ser
mayuscula'
END
END

--/*-------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---
-- VALIDACION PARA QUE USUARIOS DE VENTAS NO MODIFIQUEN SOCIOS DE NEGOCIOS
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-*/

IF @transaction_type In ('U') and @object_type = '2'


Begin
Declare @user int
Begin
Set @user = (Select Usersign2 from OCRD where CardCode = @list_of_cols_val_tab_del)
IF @user in (6,7,8,11)
begin
Select @error = 234
Select @error_message = 'No Tiene permiso para modificar Socio de Negocios '
end
end
End

-----------------------------------------------------------------------------------
---------------------------------------------

Das könnte Ihnen auch gefallen