Skip to Content
Author's profile photo Rodrigo da Costa Feula

Criando novas restrições de acesso no SAP Business One

Prezados, gostaria de compartilhar…

 

O SAP Business One possui recursos para bloquear acesso a telas que não possuem esta restrição por standard.

O mesmo vale para criar autorizações a telas criadas pelo usuário (UDO).

 

Situação exemplo:

 

O cliente gostaria que usuários específicos, não tenham autorização para apropriar/sacar um adiantamento em uma nota fiscal de saída e para liberar chamar um usuário com a devida autorização.

 

Passo 1:

No local do SAP Business One onde é necessário implementar o “bloqueio”, verifique o número do formulário.

Para obter esta informação, ative no menu: Visão => Informação do Sistema

Acesse a transação e a tela que deseja-se implementar a restrição, posicione o mouse sobre a tela e visualize no rodapé o número do formulário.

Neste exemplo 60511

Adiant.jpg

 

 

Passo 2:

Acessar Administração => Inicialização do Sistema => Autorizações => Autorização adicional do criador

AutAdic02.jpg

 

Passo 3:

Clicar no botão “Inserir mesmo nível” para criar uma nova linha de autorização

No campo “ID da autorização” informar um código para identificar a autorização criada, no exemplo foi informado: “AUT-001”

No campo “Nome” informar o nome que deverá ser visível na tela de “Autorizações Gerais”

No campo “Opção” definir as opções de autorização: “Completo/Lido/Nenhum” ou “Completo/Nenhum”
AutAdic08.jpg

Depois clicar no botão processar

Será carregada uma nova tela, onde deverá ser informado o número do formulário que deseja-se implementar a autorização:

Informar o código do formulário, onde neste exemplo é 60511

Clicar em atualizar em todas as telas.

AutAdic03.jpg

 

Passo 4:

Acessar Administração => Inicialização do sistema => Autorizações => Autorizações gerais

Selecionar o usuário

Localizar o assunto “Autorização do usuário” abrir a árvore e localizar a nova autorização.

Neste caso é possível visualizar a opção “Documento marketing – Adiantamento” onde deverá ser definida a autorização para o usuário selecionado.

Para o exemplo configurado: “Sem autorização”

Atualizar as novas autorizações definidas.

/wp-content/uploads/2013/11/autadic04_312751.jpg

 

Passo 5:

Verificando a funcionalidade…

Acessar a nota fiscal de saída, lançar todos os dados pertinentes ao documento.

Ao clicar no […] Adiantamento total

Será exibida a tela informando que o usuário não possui autorização, onde em negrito é informado o nome da restrição criada.

AutAdic06.jpg

Nesta situação o usuário tem a opção de solicitar ao seu supervisor a liberação. Clicando no botão “Autorizado por um outro usuário”, será solicitado o login de liberação.

Obs.: Para esta liberação o outro usuário precisa possuir a respectiva autorização, em “Autorizações gerais”

O supervisor informa seu usuário e senha.

Clicando em ok, a tela é liberada.

AutAdic07.jpg

 

 

Ao final da sua leitura, registre seu feedback, possibilitando a melhoria do documento.

Obrigado.

Abraços,
Rodrigo da Costa Feula
#SBOBR #B1BR

Assigned Tags

      23 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Augustus Pinto
      Augustus Pinto

      Muito útil seu roteiro para novas Permissões.

      Author's profile photo Rodrigo da Costa Feula
      Rodrigo da Costa Feula
      Blog Post Author

      Obrigado Augustus!

      Espero colaborar com outros conteúdos.

      Author's profile photo Former Member
      Former Member

      Muito bom o conteúdo Rodrigo, parabéns!

      Author's profile photo Rodrigo da Costa Feula
      Rodrigo da Costa Feula
      Blog Post Author

      Obrigado.

      Author's profile photo Former Member
      Former Member

      Parabens ótimas colaborações para o grupo.

      Author's profile photo Rodrigo da Costa Feula
      Rodrigo da Costa Feula
      Blog Post Author

      Obrigado Jean.

      Author's profile photo Former Member
      Former Member

      Parabéns...

      Author's profile photo Rodrigo da Costa Feula
      Rodrigo da Costa Feula
      Blog Post Author

      Obrigado Marcos

      Author's profile photo Leonel Barretto Junior
      Leonel Barretto Junior

      Obrigado Rodrigo

      Author's profile photo Former Member
      Former Member

      Bom dia Rodrigo!

      Otima documentação! fiquei apenas com a dúvida se é possível fazer isso pra um campo de usuário especifico criado dentro do formulário. fiz alguns testes e não obtive sucesso, conhece alguma forma de fazer?

      Author's profile photo Rodrigo da Costa Feula
      Rodrigo da Costa Feula
      Blog Post Author

      Olá Rebecka.

      Fico muito feliz que tenha gostado. Obrigado!

      No SAP Business One 9.1 é possível restringir o acesso a campos de determinados formulários. Escrevi um outro artigo sobre isto: SAP Business One - Funcionalidade de Configuração/Personalização da UI (interface do usuário) dá uma olhada, quem sabe atende sua necessidade.

      Em último caso, se a sua versão do SAP Business One for inferior a 9.1 é possível fazer através de uma customização (addon).

      Espero ter colaborado.

      Att,

      Rodrigo da Costa Feula

      Author's profile photo Former Member
      Former Member

      Obrigada Rodrigo!

      Conheci  esse recurso na 9.1 mas ainda não atualizei minha base,  queria resolver sem customização. Vou tentar atualizar  logo será melhor!

      Att,

      Rebecka

      Author's profile photo Jair Oliveira
      Jair Oliveira

      Muito bom Rodrigo. Parabéns !!!

      O B1 tem muitos recursos interessantes que nos permite usa-los sem precisar de customização. Obrigado por mostrar mais esse.

      Att,

      Jair Oliveira

      Author's profile photo Paulo Dias
      Paulo Dias

      Obrigado Rodrigo.

      Seu post foi de grande valia.

      Att.

      Paulo

      Author's profile photo Former Member
      Former Member

      Obrigado Rodrigo!
      Seu artigo foi uma luz.

      Author's profile photo Former Member
      Former Member

      Feula, excelente material como sempre! Existe uma forma de criar restrições especificas a campos, por exemplo, o comercial cria o cadastro do PN e somente o financeiro teria autorização para incluir ou modificar o limite de crédito. É possível?

      Author's profile photo Paulo Dias
      Paulo Dias

      Olá Andrea.
      Para este seu caso, tratamos com Transaction.
      Você pode bloquear a alteração dos campos específicos diretamente no banco de dados.

      Atte.,

      Paulo Dias

      Author's profile photo Former Member
      Former Member

      Oi Paulo! Tem esta transaction para me passar? Obrigada!!!

      Author's profile photo Paulo Dias
      Paulo Dias

      Andrea.

      A transaction você encontra na listagem de Procedures do Banco de dados.

      O nome dela é SBO_SP_TransactionNotification.

      Não tenho uma regra criada especificamente para o campo que você deseja.
      Mas o código ficaria mais ou menos desta forma. Não testei, só escrevi para lhe auxiliar ok?

      --Condição para o objeto de Cadastro de PN

      IF @object_type = '2'

      BEGIN

           --Condição da ação. Inclusões (A) / Alterações (U) / Cancelamentos (C)

        --Caso queira apenas limitar alterações, deixe apenas o 'U'. Neste caso a regra é para alterações apenas

           IF @transaction_type in ('A','U')

           BEGIN

        --##REGRA ------------ Não permitir que usuário diferentes dos liberados efetuem a modificação

        IF (SELECT COUNT (*) FROM OCRD T0

        inner join (select TOP 1 CardCode, CreditLine from ACRD WHERE CardCode = @list_of_cols_val_tab_del order by LogInstanc desc) T1 on T0.CardCode = T1.CardCode

        WHERE T0.CardCode = @list_of_cols_val_tab_del

        AND (T0.CreditLine <> T1.CreditLine)

        and T0.UserSign2 not in (1, 2, 3) --Aqui são os códigos dos usuários que contêm permissão

        ) > 0

        BEGIN

        --código do erro que aparecerá no log

        SET @error = 9999

        --Mensagem de erro para os usuários sem permissão para alteração

        SET @error_message = 'Você não têm permissão para alterar o limite de crédito.'

        END

           END

      END

      Para saber os códigos dos usuários, você pode pesquisar na tabela OUSR

      select * from OUSR

      Você pode evoluir isso com um campo de usuário "Permissão financeira" por exemplo na tela de Cadastro de Usuários e alterar a transaction para bloquear usuários que não estejam com Y neste campo invés de colocar cada código que pode alterar.
      Desta forma não teria mais necessidade de ir até a transaction para liberar.

      Esta é minha sugestão. Criamos vários bloqueios na transaction.

      Author's profile photo Former Member
      Former Member

      Obrigada por compartilhar! Fico a disposição para qualquer coisa também.

      Author's profile photo Paulo Dias
      Paulo Dias

      Não tem de quê. Espero que a ajude.

      Author's profile photo Rodrigo da Costa Feula
      Rodrigo da Costa Feula
      Blog Post Author

      Olá Andrea, a partir de agora é possível você implementar esta restrição.

      SAP Business One - Funcionalidade de Configuração/Personalização da UI (interface do usuário)

      Como vai funcionar:

      - Você define um template para o cadastro de PN por exemplo, onde o campo do limite de crédito não esteja editável.

      - Vincula os usuários que não podem editar aquele campo.

      Espero ter ajudado.

      Abraços,

      Rodrigo da Costa Feula

      Author's profile photo Cuti klein
      Cuti klein

      Excelente informação. Muito obrigada por compartilhar.