on 11-27-2015 8:15 PM
Estimados expertos en SAP B1 una vez mas pidiendo de su gran ayuda, he bloqueado el campo de FECHA DE VENCIMIENTO ya que los usuarios juegan mucho con ello y por ello el bloqueo, pero ahora me piden que solo ciertos usuarios puedan modificar alguien que pueda ayudarme a completar la sintaxis, tengo la siguiente pero me aparece error de antemano les agradezco.
if @object_type='13' and @transaction_type in ('A','U')
begin
declare @Venc1 datetime
declare @Venc2 datetime
declare @Meses smallint
declare @Dias smallint
declare @VencUsuario INT
select @Meses=isnull(ExtraMonth,0), @Dias=isnull(ExtraDays,0)
from OCTG
where GroupNum=(select GroupNum from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc1 = (select DocDueDate from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc2 = dateadd(dd,@Dias,dateadd(mm,@Meses,(select DocDate from OINV where DocEntry=@list_of_cols_val_tab_del)))
if @Venc1<>@Venc2 and (@VencUsuario not in (1,5,11))
begin
set @error = 1
set @error_message = 'La fecha de vencimiento es diferente a la calculada por la condicion de pago'
end
end
Saludos,
Noé González
Te está faltando setear el usuario desde el documento
if @object_type='13' and @transaction_type in ('A','U')
begin
declare @Venc1 datetime
declare @Venc2 datetime
declare @Meses smallint
declare @Dias smallint
declare @VencUsuario INT
select @Meses=isnull(ExtraMonth,0), @Dias=isnull(ExtraDays,0)
from OCTG
where GroupNum=(select GroupNum from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc1 = (select DocDueDate from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc2 = dateadd(dd,@Dias,dateadd(mm,@Meses,(select DocDate from OINV where DocEntry=@list_of_cols_val_tab_del)))
set @VencUsuario=(select UserSign from OINV where DocEntry=@list_of_cols_val_tab_del)
if @Venc1<>@Venc2 and (@VencUsuario not in (1,5,11))
begin
set @error = 1
set @error_message = 'La fecha de vencimiento es diferente a la calculada por la condicion de pago'
end
end
Saludos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Estimado Felipe espero te encuentres bien, tengo un problema con esta consulta, cuando lo ejecuto por primera vez me respeta la condicion, solo 3 usuarios pueden modificar uan vez que la pase a mi base de productivo no me permite hacer cambios con los usuarios que solo pueden modificar.
de antemano agradezco por tu gran ayuda.
saludos.
Hola Mauricio espero haber entendido en lugar de:
set @VencUsuario=(select UserSign from OINV where DocEntry=@list_of_cols_val_tab_del)
debo de modificar el "UserSign" por UserSign2?
set @VencUsuario=(select UserSign2 from OINV where DocEntry=@list_of_cols_val_tab_del)
mil gracias por tu ayuda.
Saludos,
Noé González
gracias por tu ayuda y respuesta ya lo modifique y aun así me bloquea:
if @object_type='13' and @transaction_type in ('A','U')
begin
declare @Venc1 datetime
declare @Venc2 datetime
declare @Meses smallint
declare @Dias smallint
declare @VencUsuario INT
select @Meses=isnull(ExtraMonth,0), @Dias=isnull(ExtraDays,0)
from OCTG
where GroupNum=(select GroupNum from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc1 = (select DocDueDate from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc2 = dateadd(dd,@Dias,dateadd(mm,@Meses,(select DocDate from OINV where DocEntry=@list_of_cols_val_tab_del)))
set @VencUsuario=(select UserSign2 from OINV where DocEntry=@list_of_cols_val_tab_del)
if @Venc1<>@Venc2 and (@VencUsuario not in (1,5,11))
begin
set @error = 1
set @error_message = 'La fecha de vencimiento es diferente a la calculada por la condicion de pago'
end
end
listo encontré el error esta es la consulta:
if @object_type='13' and @transaction_type in ('A','U')
begin
declare @Venc1 datetime
declare @Venc2 datetime
declare @Meses smallint
declare @Dias smallint
declare @VencUsuario INT
select @Meses=isnull(ExtraMonth,0), @Dias=isnull(ExtraDays,0)
from OCTG
where GroupNum=(select GroupNum from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc1 = (select DocDueDate from OINV where DocEntry=@list_of_cols_val_tab_del)
set @Venc2 = dateadd(dd,@Dias,dateadd(mm,@Meses,(select DocDate from OINV where DocEntry=@list_of_cols_val_tab_del)))
set @VencUsuario=(select top 1 UserSign2 from OINV where DocEntry=@list_of_cols_val_tab_del)
if @Venc1<>@Venc2 and (@VencUsuario not in (1,5,11))
begin
set @error = 1
set @error_message = 'La fecha de vencimiento es diferente a la calculada por la condicion de pago'
end
end
mil gracias por la ayuda.
Saludos,
Noé González
User | Count |
---|---|
89 | |
7 | |
6 | |
3 | |
3 | |
3 | |
3 | |
3 | |
3 | |
2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.