cancel
Showing results for 
Search instead for 
Did you mean: 

Bloqueio de campo

Former Member
0 Kudos

Como faço para bloqueia para alteração no valor do desconto por item  no pedido de venda e também só permite desconto no valor total do documento se o cliente não tiver desconto cadastrado por item/grupo/fornecedor?

Accepted Solutions (1)

Accepted Solutions (1)

fbio_bilicki
Active Contributor
0 Kudos

Boa tarde,

Eu tive um problema série em desconto, tive que travar usando "transaction" no banco de dados, o pessoal aqui não pode dar desconto em nada no detalhe, talvez isso ajude você.


-- FBS - TRAVA DESCONTO NO DETALHE DE ALGUNS DOCUMENTOS

       IF (@error = 0) AND @sObjTyp IN ('13', '14', '15', '16', '17', '20', '21') AND @sTraTyp IN ('A', 'U')

       BEGIN

         SET @vTmp = 0

         SET @vTmp = (

                SELECT ABS(max(desconto)) from (        

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[INV1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp UNION  --13

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[RIN1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp UNION  --14

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[DLN1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp UNION  --15

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[RDN1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp UNION  --16

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[RDR1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp AND T0.LineStatus = 'O' UNION  --17

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[PDN1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp UNION  --20

                    SELECT max(T0.DiscPrcnt) as Desconto FROM [dbo].[RPD1] T0 WHERE isnull(T0.DiscPrcnt,0) <> 0 and T0.DocEntry = @sKeyVal and T0.[ObjType] = @sObjTyp --21

                    ) G0                  

                )                

         IF isnull(@vTmp,0) > 0

         BEGIN

            SET @error=1

            SET @error_message = 'TI: Proibido qualquer tipo de desconto, verifique documento - detalhe ' + ltrim(str(@sKeyVal))

         END            

       END

Abraço

Fabio

SAP 8.82 PL14 / SAP 9.0 PL10

Addon: BrOne, Skill Triple One, BankSync.

Former Member
0 Kudos

Ajuda muito.

Agora só preciso incrementar a codigo para ele checar se ah desconto cadastro na tabela de grupo de desconto.

Muito Obrigado pela juda.

Answers (1)

Answers (1)

Former Member
0 Kudos

Boa tarde !

Nas permissões do usuário você deverá parametrizar o item destacado abaixo com "Sem Autorização", com isso o mesmo não irá conseguir mudar o preço e também o desconto na linha.

Depois verifique a parametrização abaixo, onde o usuário conseguirá aplicar o desconto no total do documento de acordo com o percentual definido.

Espero ter ajudado.

Marcos Leite

Former Member
0 Kudos

Marcos,

Justamente este é o problema  pois preciso permitir  a alteração no preço  mais não no campo de desconto por este motivo preciso de um procedimento para o campo desconto.

Former Member
0 Kudos

Se entendi, você quer bloquear o desconto total e permitir o desconto na linha, isso?

Former Member
0 Kudos

Não, ao contrario permitir o desconto total e bloqueia o desconto na linha, só permitir o desconto na linha dos clientes que tiverem o desconto cadastrado  no grupo de desconto