Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

Protheus

Módulo

SIGATEC

Segmento Executor

 

Projeto1

M_SER_SER014

IRM1

PCREQ-4375

Requisito1

PCREQ-4472

Subtarefa1

PDR_SER_TEC001-237

Chamado2

 

Release de Entrega Planejada

12.1.8

Réplica

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

 

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 


Objetivo

Permitir que seja realizado o cadastro de restrições operacionais do atendente em determinados clientes ou locais de atendimento.


Definição da Regra de Negócio

 Para que seja possível realizar controle de restrições para a alocação dos atendentes em determinados clientes e/ou locais de atendimento, será criado nova rotina no menu (SIGATEC > Atualizações > Atendentes > Restrições). Ao acessar este menu serão listados os atendentes. Ao selecionar o atendente será possível realizar as devidas manutenções das restrições.

Neste cadastro será apresentado tela conforme Protótipo 1, Protótipo 2. Será apresentada aba para cliente e local de atendimento onde será possível realizar o cadastro da restrição para a respectiva entidade (Cliente / Local de atendimento). Para cada aba serão disponibilizados para preenchimento os seguintes campos:

  • Identificação Cliente / Local de Atendimento: Será informado o código de identificação da entidade de acordo com a aba selecionada;
  • Tempo: Será possível informar se a restrição é por um tempo determinado ou indeterminado;
  • Data: Este campo será carregado por padrão com a data do sistema, indicando a data em que foi incluída a restrição;
  • Data fim: Caso o campo “Tempo” esteja preenchido como indeterminado este campo ficará em branco. Caso esteja preenchido como “Determinado” deverá ser preenchida uma data superior a data atual do sistema;
  • Tipo de Restrição: Neste campo será informado o tipo de restrição de “Aviso” ou “Bloqueio”. Para a restrição de aviso, ao realizar a alocação do atendente no cliente ou local será apresentado somente uma mensagem de alerta e poderá ser possível prosseguir com a alocação. Para a restrição de “Bloqueio” não será possível realizar a alocação do atendente;
  • Observações: Neste campo poderá ser informado o motivo do cadastro de restrição do atendente;

Não será permitido incluir uma restrição para o atendente que possuir uma agenda ativa e não atendida no cliente/local em questão. Essa validação irá verificar somente agendas em datas superiores ou igual a data de início da restrição e inferior ou igual a data fim da restrição.

Na rotina de Grupo/Perfil de acesso, será incluída regra de permissão para realização das manutenções das restrições. Caso o grupo do usuário não estiver com a devida permissão este cadastro será aberto somente para visualização.

Na mesa operacional poderá ser acessado o cadastro de restrições por cliente ou local de atendimento. Serão apresentados os atendentes que possuem restrições para o cliente ou local de atendimento posicionado. (Protótipo 3, Protótipo 4).

 

Definição tecnica

Criar novos fontes e inclui-los no arquivo PRJ do módulo.

Deverá ser criado os seguintes fontes para cadastro das restrições:

  • TECA012 – Cadastro de Restrições (Protótipo 1, Protótipo 2)
  • TECA012A – Cadastro de Restrições por Cliente. (Protótipo 3)
  • TECA012B – Cadastro de Restrições por Local de Atendimento. (Protótipo 4)

A codificação deverá utilizar o padrão MVC. Como os 3 cadastros irão utilizar a mesma tabela, funções de validações deverão ser chamadas a partir do dicionário de dados.

 

TECA560 TECA680 – GRUPO DE ACESSO/PERFIL

 Na rotina TECA680 deverá ser adicionada na estrutura de permissões (Variável estática aAcessoaPermissao), a nova opção “021” com a descrição “Define Restrição Operacional?”.

  

TECA012 – CADASTRO DE RESTRIÇÕES

Criar novo menu SIGATEC > Atualizações > Atendentes > Restrições.

Ao acessar a rotina deverá ser listado os atendentes atendente (AA1).

Deverá ser disponibilizada os botões Manutenção e Visualização.

A opção de manutenção poderá ser acessada somente se o usuário logado possuir a permissão de Manutenção de Restrições (021) do cadastro de “Grupo de Acesso/ Perfil”.

A opção de visualização poderá ser acessada por qualquer usuário.

Deverá ser apresentada tela de cadastro conforme Protótipo 1.

O campo TW2_TIPO não deverá ser apresentado em tela, pois será um controle para identificar o tipo de restrição por cliente ou local de atendimento. Assim ao ser preenchido as informações referente a aba de cliente este campo deverá ser salvo conforme opções (1=Cliente;2=Local de Atendimento)

O cabeçalho da tela deverá ser o código (AA1_CODTEC) e nome (AA1_NOME) do atendente posicionado no browser.

A grid da aba de clientes deverá ser a tabela TWSTW2, considerando o campo AA1_CODTEC e o campo TW2_TIPO = ‘1’

A grid da aba de Local de Atendimento deverá ser a tabela TWSTW2, considerando o campo AA1_CODTEC e o campo TW2_TIPO = ‘2’

Ao ser incluído um atendente na restrição deverá ser verificado se o atendente possui agenda no cliente ou local em questão. Deverá ser considerada agendas ativas (ABB_ATIVO = ‘1’) e não atendida (ABB_ATENDE = ‘2’) verificando sempre a agenda superior a data inicial da restrição. Caso o tempo de restrição seja determinado deverá ser verificado agendas dentro do período da restrição. Caso o tempo de restrição seja indeterminado deverá ser verificado agendas superior superiores a data inicial da restrição. Ao identificar a existência de agenda deverá ser apresentada mensagem “Atendente com alocação no período de restrição”.

Para verificar agenda para o local deverá ser considerado o campo ABB_LOCAL

Para verificar agenda para o cliente deverá ser considerado o campo ABS_CODIGO e ABS_LOJA. Para chegar na ABS através da Agenda (ABB) deverá ser utilizado o campo ABB_LOCAL

O campo TW2_DTFIM deverá ser habilitado para edição somente quando o campo TW2_TEMPO estiver como 2=Determinado.

Ao ser alterado o campo TW2_TEMPO para 1=Indeterminado deverá ser alterado o conteúdo do campo TW2_DTFIM para vazio.

 

TECA012A – CADASTRO DE RESTRIÇÕES POR CLIENTES

Deverá ser incluída nas “Outras opções” da rotina TECA190A (Mesa Operacional – Visão Contratos) a chamada para “Restrições do cliente” (TECA012BTECA012A)

Deverá ser criada rotina TECA012A conforme Protótipo 3.

O cabeçalho dessa tela deverá ser o cliente (SA1) do local de atendimento posicionado na grid da mesa operacional – Visão Contratos.

A Grid deverá ser as informações da tabela TW2, do respectivo cliente (TW2_CLIENT+TW2_LOJA).

Somente poderá editar as informações dessa tela o usuário que tiver permissão 020 cadastrada no Grupo/Perfil de Acesso (TECA560). Caso não tenha permissão a tela deverá ser aberta somente como visualização.

As regras e validações dos campos deverão obedecer o dicionário de dados.

 

TECA012B – CADASTRO DE RESTRIÇÕES POR LOCAL DE ATENDIMENTO

Deverá ser incluída nas “Outras opções” da rotina TECA190A (Mesa Operacional – Visão Contratos) a chamada para “Restrições do local de atendimento” (TECA012B)

Deverá ser criada rotina TECA012B conforme Protótipo 4.

O cabeçalho dessa tela deverá ser o local de atendimento posicionado (ABS) NA grid da mesa operacional – Visão Contratos.

A Grid deverá ser as informações da tabela TW2, do respectivo local de atendimento (TW2_LOCAL).

Somente poderá editar as informações dessa tela o usuário que tiver permissão 020 cadastrada no Grupo/Perfil de Acesso (TECA560). Caso não tenha permissão a tela deverá ser aberta somente como visualização.

As regras e validações dos campos deverão obedecer o dicionário de dados.

 

 

 

Rotina

Tipo de Operação

Opção de Menu

[TECA012 - Restrições por atendente]

[Criação]

[SIGATEC > Atualizações > Atendente > Restrições]

[TECA012A – Restrições por cliente]

[Criação]

[SIGATEC > Atualizações > Alocação > Mesa Operacional – Visão de Contratos]

[TECA012B – Restrições por local de atendimento]

[Criação]

[SIGATEC > Atualizações > Alocação > Mesa Operacional – Visão de Contratos]

[TECA680 – Grupo de acesso/perfil ]

[Alteração]

[SIGATEC > Atualizações > Alocação > Grupo de Acesso/Perfil]

[TECA190A – Mesa operacional por contrato]

[Alteração]

[SIGATEC > Atualizações > Alocação > Mesa operacional - visão de contratos]

 

 

Tabelas Utilizadas

  • AA1 - Atendentes
  • ABB - Agendas
  • ABS – Local de Atendimento
  • SA1 - Clientes
  • TW2 – Restrições


Protótipo de Tela

Protótipo 01 – Restrições Aba Clientes


Protótipo 02 – Restrições Aba Locais de Atendimento


Protótipo 03 – Restrições Cliente


Protótipo 04 – Restrições Local de Atendimento


 

 

 

 

 

 

 

 

 

Dicionário de Dados

 

Arquivo ou Código do Script: TW2 – Restrições  

Índice

Chave

01

TW2_FILIAL+TW2_COD

 

v

  

Campo

TW2_COD

Tipo

C

Tamanho

6

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Código

Descrição

Código

Help de Campo

Preencher com o código

Opções

 

Validação

ExistChav()

Consul. Padrão

 

When

 

Obrigatório

Sim

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

GETSXENUM("TW2", "TW2_COD")

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_TIPO

Tipo

C

Tamanho

1

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Visualizar

Titulo

Tipo

Descrição

Tipo de Restric.

Help de Campo

Tipo de Restrição

Opções

1=Cliente;2=Local de Atendimento

Validação

Pertence("12")

Consul. Padrão

 

When

 

Obrigatório

Sim

Usado

Sim

Browse

Não

Modulos

Todos

Inic. Padrão

 

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Sim

Alt. Tamanho

Não

  

Campo

TW2_CODTEC

Tipo

C

Tamanho

14

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Atendente

Descrição

Atendente

Help de Campo

Preencher com o código do atendente

Opções

 

Validação

ExistCpo("AA1")

Consul. Padrão

AA1

When

 

Obrigatório

Sim

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

 

Inic. Browse

 

Grupo SXG

116

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_NOME

Tipo

C

Tamanho

30

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Nome

Descrição

Nome Atendente

Help de Campo

Nome do atendente

Opções

 

Validação

 

Consul. Padrão

 

When

 

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

IIF(!EMPTY(M->TW2_CODTEC),POSICIONE("AA1",1,XFILIAL("AA1")+M->TW2_CODTEC,"AA1_CODTEC") ,"")   

Inic. Browse

POSICIONE("AA1",1,XFILIAL("AA1")+TW2->TW2_CODTEC,"AA1_CODTEC")

Grupo SXG

 

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_CLIENT

Tipo

C

Tamanho

6

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Cod. Cli.

Descrição

Cod. Cliente

Help de Campo

Código do Cliente

Opções

 

Validação

Vazio() .OR. ExistCPO("SA1")

Consul. Padrão

SA1

When

 

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

 

Inic. Browse

 

Grupo SXG

001

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_LOJA

Tipo

C

Tamanho

2

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Loja Cli.

Descrição

Loja Cliente

Help de Campo

Loja do cliente

Opções

 

Validação

Vazio() .OR. Existcpo("SA1",M->TW2_CLIENT+M->TW2_LOJA)                                                                      

Consul. Padrão

 

When

 

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

 

Inic. Browse

 

Grupo SXG

002

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_NOMCLI

Tipo

C

Tamanho

40

Decimal

0

Picture

@!

Contexto

Virtual

Propriedade

Visualizar

Titulo

Cliente

Descrição

Cliente

Help de Campo

Cliente

Opções

 

Validação

 

Consul. Padrão

 

When

 

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

IIF(!EMPTY(M->TW2_CLIENT),POSICIONE("SA1",1,XFILIAL("SA1")+M->TW2_CLIENT+M->TW2_LOJA,"A1_NOME") ,"")   

Inic. Browse

POSICIONE("SA1",1,XFILIAL("SA1")+SA1->A1_CLIENT,"A1_NOME")

Grupo SXG

 

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_LOCAL

Tipo

C

Tamanho

8

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Local

Descrição

Local de Atend

Help de Campo

Local de Atendimento

Opções

 

Validação

Vazio() .OR. ExsitCpoExistCpo("ABS")

Consul. Padrão

ABS

When

 

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

 

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_DESLOC

Tipo

C

Tamanho

50

Decimal

0

Picture

@!

Contexto

Virtual

Propriedade

Visualizar

Titulo

Descr. Local

Descrição

Descrição Local

Help de Campo

Descrição do Local de Atendimento

Opções

 

Validação

 

Consul. Padrão

 

When

 

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

IIF(!EMPTY(M->TW2_LOCAL),POSICIONE("ABS",1,XFILIAL("ABS")+M->TW2_LOCAL,"ABS_DESCRI") ,"")   

Inic. Browse

POSICIONE("AA1",1,XFILIAL("AA1")+TW2->TW2_CODTEC,"AA1_CODTEC")

Grupo SXG

 

Alt. Ordem

Não

Alt. Tamanho

Não

  

Campo

TW2_TEMPO

Tipo

C

Tamanho

1

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Tempo

Descrição

Tempo da Restr.

Help de Campo

Tempo de Restrição

Opções

1=Indeterminado;2=Determinado

Validação

Pertence("12")

Consul. Padrão

 

When

 

Obrigatório

Sim

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

"1"

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Sim

Alt. Tamanho

Não

  

Campo

TW2_DTINI

Tipo

D

Tamanho

8

Decimal

0

Picture

 

Contexto

Real

Propriedade

Alterar

Titulo

Data

Descrição

Data

Help de Campo

Data de início da restrição

Opções

 

Validação

 

Consul. Padrão

 

When

 

Obrigatório

Sim

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

dDataBase

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Sim

Alt. Tamanho

Não

  

Campo

TW2_DTFIM

Tipo

D

Tamanho

8

Decimal

0

Picture

 

Contexto

Real

Propriedade

Alterar

Titulo

Data Final

Descrição

Data Final

Help de Campo

Data Final da Restrição

Opções

 

Validação

 

Consul. Padrão

 

When

FwFldGetM->("TW2_TEMPO") == "2"

Obrigatório

Não

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

 

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Sim

Alt. Tamanho

Não

  

Campo

TW2_RESTRI

Tipo

C

Tamanho

1

Decimal

0

Picture

@!

Contexto

Real

Propriedade

Alterar

Titulo

Restrição

Descrição

Restrição

Help de Campo

Restrição

Opções

1=Aviso;2=Bloqueio

Validação

Pertence("12")

Consul. Padrão

 

When

 

Obrigatório

Sim

Usado

Sim

Browse

Sim

Modulos

Todos

Inic. Padrão

"2"

Inic. Browse

 

Grupo SXG

 

Alt. Ordem

Sim

Alt. Tamanho

Não

 

 

(Opcional)

Gatilho

 

Campo

TW2_CODTEC

Sequencia

001

Regra

POSICIONE("AA1",1,XFILIAL("AA1")+M->TW2_CODTEC,”AA1_CODTEC”)

Contra Dominio

TW2_NOME

Tipo

Primário

Posiciona

Não

 

 

 

Campo

TW2_CLIENT

Sequencia

001

Regra

POSICIONE("SA1",1,XFILIAL("SA1")+M->TW2_CLIENT+if(!Empty(M->TW2_LOJA), M->TW2_LOJA, “”),”A1_LOJA”)

Contra Dominio

TW2_LOJA

Tipo

Primário

Posiciona

Não

 

 

 

Campo

TW2_CLIENT

Sequencia

002

Regra

POSICIONE("SA1",1,XFILIAL("SA1")+M->TW2_CLIENT+if(!Empty(M->TW2_LOJA), M->TW2_LOJA, “”),”A1_NOME”)

Contra Dominio

TW2_NOMCLI

Tipo

Primário

Posiciona

Não

 

 

 

Campo

TW2_LOJA

Sequencia

001

Regra

POSICIONE("SA1",1,XFILIAL("SA1")+M->TW2_CLIENT+M->TW2_LOJA, ”A1_NOME”)

Contra Dominio

TW2_NOMCLI

Tipo

Primário

Posiciona

Não

 

 

 

Campo

TW2_LOCAL

Sequencia

001

Regra

POSICIONE("ABS",1,XFILIAL("ABS")+M->TW2_LOCAL,”ABS_DESCRI”)

Contra Dominio

TW2_DESLOC

Tipo

Primário

Posiciona

Não

 

 

 

Campo

TW2_TEMPO

Sequencia

001

Regra

“”

Contra Dominio

TW2_DTFIM

Tipo

Primário

Posiciona

Não

Condição

M->TW2_TEMPO == “1”

 

Relacionamento (X9)

Arquivo: TW2 - Restrições

País

ALL

Tab.Dom-Pai

AA1

Exp.Dominio

AA1_CODTEC

Exp.CDominio

TW2_CODTEC

Tp.Lig.Dom.

1

Tp.LigCDom.

N

Usar Filial

Sim

Habilitar

Sim

Vinc. Filial

Não

Chave Forte

Não

País

ALL

Tab.Dom-Pai

SA1

Exp.Dominio

A1_CLIENTE+A1_LOJA

Exp.CDominio

TW2_CLIENT+TW2_LOJA

Tp.Lig.Dom.

1

Tp.LigCDom.

N

Usar Filial

Sim

Habilitar

Sim

Vinc. Filial

Não

Chave Forte

Não

País

ALL

Tab.Dom-Pai

ABS

Exp.Dominio

ABS_LOCAL

Exp.CDominio

TW2_LOCAL

Tp.Lig.Dom.

1

Tp.LigCDom.

N

Usar Filial

Sim

Habilitar

Sim

Vinc. Filial

Não

Chave Forte

Não

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.