Histórico da Página
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 | Microsiga Protheus | Módulo | SIGATEC |
Segmento Executor |
| ||
Projeto1 | M_SER_SER014 | IRM1 | PCREQ-4366 |
Requisito1 | PCREQ-4482 | Subtarefa1 | PDR_SER_TEC001-165 |
Chamado2 |
| ||
Release de Entrega Planejada |
| Réplica | Não |
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Permitir Permitir que seja realizado o planejamento das escalas de cobertura através das rotas para coberturas de almoço/janta em diversos almocistas e/ou jantistas nos postos de trabalho.
Definição da
Regraregra de
Negócionegócio
Durante a prestação de um serviço o atendente possui sua jornada de trabalho e dentro da jornada de trabalho é concedido um intervalo para almoço/janta do atendente, porém, alguns postos tais como vigilante e porteiro necessitam que seja realizada a cobertura do horário de almoço/janta para que neste período o posto de trabalho não fique vago. Desta forma, é necessário que seja desenvolvida uma nova funcionalidade no módulo de Gestão de Serviços onde será possível configurar a rota e cobertura. Nesta configuração será definida uma determinada rota indicando todos os postos de trabalho que o profissional será alocado para a realização da cobertura do intervalo do efetivo do posto.
- Será desenvolvida nova funcionalidade de Rota de Cobertura onde será possível configurar como será a alocação considerando uma determinada rota de almoço/janta. Nesta funcionalidade será possível incluir um conjunto de locais de prestação de serviços que tenha cobertura de almoço ou janta configurado na Gestão de Escalas.
- Esta funcionalidade será acessada através do menu SIGATEC > Atualizações > Alocação > Rota de Cobertura. Nesta funcionalidade será criada uma configuração sendo possível informar o título da Rota de Cobertura e quais os locais e itens da escala que estarão contemplados na rota. (Protótipo 01)
- No Grid referente aos itens de RH de cobertura, os campos: local, descrição do local, escala, descrição da escala, supervisor, nome do supervisor não estarão disponíveis para edição, somente estará disponível para edição os campos item de RH, Item cobertura, Grupo, Hora inicial, Hora final.
- Para o preenchimento do item de RH, será disponibilizada consulta padrão que irá apresentar os itens de RH que tenha configurado almocista ou jantista em sua escala. Ao preencher o item de RH, os campos: local, descrição do local, escala, descrição da escala, supervisor e nome do supervisor serão preenchidos automaticamente.
- Será realizada validação no campo “Cobertura” para que seja informado um item existente na escala do item de RH.
- Será realizada validação no campo “Grupo” para que seja informado um grupo válido na escala do item de RH.
- Em outras opções será disponibilizada a funcionalidade de filtro por região, este filtro será aplicado na consulta padrão de itens de RH, desta forma será apresentado somente os itens de RH que estão em um local de atendimento de uma determinada região. (Protótipo 2)
- Com o item de RH preenchido no Grid de Coberturas será disponibilizada a visualização do cadastro de posto x funcionário.
- Para as rotas de cobertura que tiverem um atendente associado a ela não será permitida realizar alterações em seus itens. Para realizar este procedimento deverá ser realizada a remoção do atendente da rota e posteriormente a manipulação da rota. Os campos Hora Inicial e Hora Final poderão ser alterados a qualquer momento.
- O procedimento de movimentar o atendente para a rota de cobertura será realizado através do requisito de alocação e movimentação ágil (PCREQ-4484 – Alocação e movimentação ágil). Para que seja realizada a movimentação do atendente na rota de cobertura, será disponibilizada uma função para este procedimento. Desta forma, o requisito (PCREQ-4484 – Alocação e movimentação ágil) irá realizar a chamada função desenvolvida neste requisito que realizar as devidas movimentações do atendente.
- O horário definido no cadastro de rota de cobertura será repassado para os itens de cobertura da Gestão de Escalas através da movimentação ágil e consequentemente a agenda do atendente relacionado a cobertura será gerada considerando o horário inicial e final definido no cadastro de rota de cobertura.
- Além da movimentação do atendente para a rota do cobertura através da Alocação e movimentação ágil, será disponibilizada rotina através das “Outras Opções > Movimentar” e “Outras Opções > Remover” da listagem das rotas de cobertura. Nesta rotina será possível movimentar ou remover determinado atendente para a rota de cobertura.
Definição Técnica
PROJETO E MENU
Incluir no projeto SIGAWTEC.prj o fonte TECA581.PRW.
Criar nova rotina MVC para a realização do cadastro de rota de cobertura utilizando o fonte TECA581.
Criar menu SIGATEC > Atualizações > Alocação > Rota de Cobertura e chamar a rotina TECA581.
ROTA DE COBERTURA – TECA581
Ao acessar a rotina TECA581 deverá ser apresentado browser as rotas já existentes (TW0).
Deverá ser construída rotina em MVC, onde será deverá ser apresentada tela conforme protótipo 1.
Esta rotina deverá ser construída utilizando o model e view considerando as tabelas (TW0 Cabeçalho e TW1 Itens)
Os seguintes campos deverão ser carregados ao preencher o campo item de RH
Nome | Campo |
Local | TFF_LOCAL |
Desc. Local | ABS_DESCRI* |
Escala | TFF_ESCALA |
Desc. Escala | TDW_DESC** |
Supervisor | TGS_SUPERV** |
Nome do Supervisor | AA1_NOMTEC |
*O relacionamento com a tabela ABS a partir da tabela TFF do campo TFF_LOCAL com ABS_LOCAL.
**O relacionamento com a tabela TDW a partir da tabela TFF se dá através do campo TFF_ESCALA com TDW_COD.
**O relacionamento com a tabela TGS a partir da tabela ABS se dá através do campo ABS_REGIAO com TGS_REGIAO.
Criar função at581GtSup(cLocal) que será responsável por retornar o código do supervisor. Esta função será chamada através do inicializador padrão do campo TW1_CODSUP
Somente os campos Item RH (TW1_CODTFF), Cobertura (TW1_CODTGX), Grupo (TW1_GRUPO), Hora Inicial(TW1_HORINI), Hora Final (TW1_HORFIM) deverão estar habilitados para edição. O restante dos campos não deverá estar disponível para alteração.
Deverá ser aplicada validação no campo TW1_CODTGX para que não seja informada uma cobertura inexistente para a escala.
Deverá ser aplicada validação no campo TW1_GRUPO para que não seja informado um grupo divergente da escala.
Para verificar a divergência do grupo deverá ser observado se o valor informado é inferior ou igual a quantidade campo TFF_QTDVEN. Caso o valor seja superior deverá ser apresentada a mensagem “A quantidade de atendentes (Grupos) ultrapassou o permitido no contrato! ”.
Deverá ser incluído um novo botão na rotina para executar o filtro por região, deverá ser utilizado o mesmo conceito de filtros existente atualmente na mesa de operação – visão contrato. Para apresentar a tela de filtro deverá ser chamada a rotina TECA670(<aParam>, lUseCombo), onde:
Parâmetro | Valor |
aParam | { 'SX5', 'A2_', 'Região', 1,'X5_FILIAL+X5_TABELA+X5_CHAVE', 'A2', { {'SX5', 1, 'X5_DESCRI'} }, {}, {||.F.}, 'A2', /*VldExtra*/ } |
lUseCombo | .F. |
Para realizar a consulta do item de RH no campo TW1_CODTFF deverá ser implementada consulta especifica, nesta consulta deverá ser criada função At581F3TFF para apresentar o browser com os itens da TFF filtrados e a função At581GF3TFF para retornar o código do item selecionado no browser. Os registros deverão estar ordenados por local de atendimento (TFF_LOCAL).
No Browser da consulta especifica deverá ser apresentada as seguintes informações:
Descrição | Campo |
Código | TFF_COD |
Local | TFF_LOCAL |
Descrição do Local | ABS_DESCRI |
Produto | TFF_PRODUT |
Descrição do produto | B1_DESC |
Escala | TFF_ESCALA |
Descrição da escala | TDW_DESC |
realização da jornada de trabalho de um ou mais atendentes que foram alocados em um posto de trabalho para a prestação de serviço, pode ser concedido um intervalo para que eles almocem ou jantem. Porém, existem algumas situações, como por exemplo nos casos dos porteiros e vigilantes, onde é necessário que sempre haja algum outro prestador cobrindo esse tal horário do almoço ou da janta, de modo a não permitir que o local sempre esteja com alguém trabalhando, sem interrupções entre os turnos de trabalho. O controle dessas situações é tido como cobertura. E, como o mesmo prestador de serviço pode ser alocado para cobrir vários horários em locais diferentes num mesmo dia de trabalho, daremos o nome de “Rota de Cobertura”.
Sendo assim, será desenvolvida uma rotina para facilitar a manutenção desse controle da jornada de trabalho desses tais prestadores de serviço que irão participar da cobertura do horário de outros em vários locais e escalas de trabalho.
A utilização da nova rotina permitirá que seja realizada a configuração da alocação de um prestador de serviço, considerando que o mesmo irá atuar como almocista e/ou jantista em um ou mais locais de trabalho, desde que tais postos necessitem da tal cobertura na sua jornada de trabalho. Para tanto, a existência destes intervalos necessitarão estar previamente mencionados na rotina de Gestão de Escadas.
O usuário do módulo poderá cadastrar várias rotas de cobertura através da nova funcionalidade. Cada uma delas receberá um nome, e em sua composição poderão ser relacionados mais de uma configuração de escala / local de trabalho (Protótipo 02).
Na parte inferior da tela de manutenção de cada rota de cobertura, na forma de um grid, estarão relacionadas as seguintes informações:
- Código do recurso humano (Código RH)
- Configuração da escala de trabalho (Conf. Escala)
- Grupo de trabalho (Grupo)
- Horário de entrada da cobertura do local de trabalho (Entrada)
- Horário de saída da cobertura do local de trabalho (Saída)
- Código do local de trabalho (Local)
- Descrição do local de trabalho (Desc.Local)
- Código da escala (Cód.Escala)
- Descrição da escala (Descr.Escala)
- Código do supervisor (Supervisor)
- Nome do supervisor (Nome Sup.)
a) Quando for executada a opção “incluir” da rotina, apenas os campos “Código RH”, “Conf.Escala”, “Grupo”, “Entrada” e “Saída” estarão disponíveis para edição do usuário.
b) Se for acionada a opção de alteração da rota de cobertura e ela não possuir um atendente associado, então será permitida a inclusão de novos “Códigos RH” / “Conf.Escalas”, bem como a alteração dos horários de entrada e saída dos “Códigos RH” / “Conf.Escalas” já relacionados a ela.
c) Se a rota de cobertura possuir um atendente associado a ela, então não será permitida a inclusão de novos “Códigos RH” / “Conf.Escalas”. Porém, será permitida a alteração dos horários de entrada e saída dos “Códigos RH” / “Conf.Escalas” já existentes.
O campo do nome da rota de cobertura estará sempre disponível para edição / alteração por parte do usuário.
Para o preenchimento do campo “Código RH” será disponibilizada uma tela de seleção na forma de uma consulta específica (Protótipo 03) que apresentará os itens de RH que possuam a escala de almocista e/ou jantista configurada. Ao preencher o conteúdo do campo “Código RH”, a rotina irá exibir automaticamente as informações referentes ao local, à escala e ao supervisor associadas a ele.
O dado informado no campo “Conf.Escala” será validado de forma a garantir que tal código seja válido perante o “Código RH”. Esta informação deverá constar como sendo uma escala de almocista ou jantista.
Será realizada a validação do conteúdo do campo “Grupo” de modo que o mesmo seja válido na “Conf.Escala” do “Código RH”.
Dentro das opções a serem disponibilizadas em “Outras ações” da rotina de manutenção da rota de cobertura existirão as chamadas para as seguintes funcionalidades:
a) “Filtro por região” (Protótipo 04): Este filtro, se informado, será aplicado na consulta padrão do campo “Código RH”, de forma a apresentar apenas os locais de atendimento que estejam localizados numa determinada região configurada como filtro dessa funcionalidade (Protótipo 05).
b) “Visualização do posto x funcionário” (Protótipo 04): Se estiver preenchida a informação do campo “Código RH” e o usuário acionar esta ação, então a tela de visualização do cadastro de “Posto x Funcionário” a ele associado será exibida.
Para associar ou remover a associação de um atendente a uma rota de cobertura, o usuário deverá acionar as funcionalidades de “Movimentar” (Protótipo 07) ou “Remover” (Protótipo 08) que estarão disponíveis através do acionamento do botão “Outras ações” da tela principal da rotina (Protótipo 06). Tais processamentos de movimentar ou remover um atendente de uma rota de cobertura serão também consumidos pelo requisito responsável pela “Alocação e Movimentação Ágil” (PCREQ-4484). Para tanto, será disponibilizada uma função que será responsável por realizar tais processos de associar e desassociar o atendente a uma rota de cobertura.
Os horários de entrada e saída informados na rota de cobertura para cada “Código RH”/”Conf.Escala” serão repassados aos itens de cobertura da rotina de Gestão de Escalas através da movimentação ágil, e consequentemente, a agenda do respectivo atendente ora associado à rota de cobertura será gerada.
Definição técnica
Projeto e menu
Incluir no projeto SIGAWTEC.prj o fonte TECA581.PRW.
Criar o acesso à rotina no menu do módulo SIGATEC através do caminho Atualizações à Alocação à Rota de Cobertura, chamando a função TECA581.
TECA581 – Rota de cobertura
Ao acessar a rotina TECA581, as rotas de cobertura que já estiverem cadastradas (Tabela TW0) deverão ser apresentadas na forma de um browse (Protótipo 01).
Criar uma rotina em MVC que será responsável pelo cadastro das rotas de cobertura. O nome do programa fonte desta rotina será TECA581.PRW.
Para a construção / configuração do Model e da View da rotina deverão ser consideradas as tabelas TW0 e TW1 para cabeçalho e itens da rotina, respectivamente.
Deverá ser criado um botão que acionará tela de filtro por região. Para isso, deverá ser utilizado o mesmo conceito dos filtros existentes atualmente na rotina de mesa de operação (visão Contrato). Para que seja apresentada a tela do filtro por região, a rotina TECA670(<aParam>, lUseCombo) deverá ser chamada. A seguir, são apresentados os conteúdos esperados quando da sua chamada:
Parâmetro | Valor |
aParam | { 'SX5', 'A2_', 'Região', 1,'X5_FILIAL+X5_TABELA+X5_CHAVE', 'A2', { {'SX5', 1, 'X5_DESCRI'} }, {}, {||.F.}, 'A2', /*VldExtra*/ } |
lUseCombo | .F. |
Na execução da opção “Incluir”, ao apresentar a tela de manutenção, na sua área superior destinada às informações de cabeçalho da rota de cobertura, apenas o campo do seu nome (TW0_DESC) deverá estar disponível para edição do usuário. Enquanto que na área inferior referente aos detalhes da rota, os campos a seguir serão editáveis: “Código RH” (TW1_CODTFF), “Conf.Escala” (TW1_CODTGX), “Grupo” (TW1_GRUPO), “Entrada” (TW1_HORINI) e “Saída” (TW1_HORFIM). Os demais campos apresentados na tela deverão estar com a sua edição bloqueada.
Na execução da opção “Alterar”
a) O campo do nome da rota de cobertura (TW0_DESC) estará sempre disponível para edição do usuário.
b) Se a rota de cobertura não possuir um atendente associado a ela (TW0_ATEND sem conteúdo):
1. Será permitida a inclusão de novos “Códigos RH” (TW1_CODTFF) / “Conf.Escalas” (TW1_CODTGX).
2. Será permitida a alteração dos horários de entrada (TW1_HORINI) e saída (TW1_HORFIM) referentes aos “Códigos RH” (TW1_CODTFF) / “Conf.Escalas” (TW1_CODTGX) já relacionados à respectiva rota de cobertura.
Para o campo “Código RH” (TW1_CODTFF) deverá ser criada uma consulta específica. Para construí-la, deve-se criar a função At581F3TFF. Ela será apresentada na forma de um browser com os registros da tabela TFF filtrados pela região caso este filtro esteja previamente ativo. Para recuperar a expressão com os dados do filtro da região, deverá ser utilizado a chamada para Nesta consulta especifica deverá ser aplicado o filtro por região conforme o selecionado através das ações relacionadas, para recuperar a expressão com os dados de filtro deverá ser utilizado a função At670FilSql( __cUserId, .F., 'SX5', 'A2_' ). Somente deverá ser apresentado itens de RH que tenham almocista ou jantista configurado na escala do item. Para verificar o almocista e jantista configurado Além desse filtro da região, os “Códigos RH” apresentados neste browser da consulta específica também devem estar associados às configurações de escalas de almocistas ou jantistas. Para verificar se o “Código RH” está associado a uma configuração de escala de almocista ou jantista deverá ser verificado o campo TGX_TIPO com valor igual a 2 =Almocista ou 3=Jantista.Para acessar , almocista ou jantista, respectivamente. Para encontrar o registro da tabela TGX a partir da TFF deverá ser utilizado os seguintes correspondente ao “Código RH”, seguir os relacionamentos TFF_ESCALA == TDW_COD, e então TDW_COD == TGX_CODTDW.
Com o item de RH preenchido no Grid, deverá ser incluído um novo botão para que seja executada a VIEW da rotina TECA580E (posto x funcionário).
Deverá ser realizada validação para que não seja permitida a inclusão de novos e nem a alteração dos campos TW1_CODTFF TW1_CODTGX, TW1_GRUPO quando existir um atendente atrelado a ela (TW0_ATEND != “”). Os campos Hora Inicial e Hora Final poderão ser alterados.
Para que o requisito de movimentação ágil interaja com a rota de cobertura deverá ser disponibilizada a função At581Efet.
At581Efet(cRota, cAtend, dData)
Esta função será responsável por realizar a efetivação do atendente em uma rota de cobertura.
Deverá ser recebido os seguintes parâmetros:
Parâmetro | Descrição |
cRota | Rota em que o atendente estará alocado |
cAtend | Código do Atendente |
dData | Data de efetivação do atendente na Rota de Cobertura |
Com base nas informações passadas deverá ser realizada a configuração do atendente na Escala x Funcionário Cobertura (TGZ) configurados no cadastro de rota de cobertura. Deverá ser criado um novo registro na TGZ para cada registro nos itens da rota de cobertura. Deverá ser incluída as seguintes informações:
Campo | Dado |
TGZ_ESCALA | TFF_ESCALA |
TGZ_CODTDX | TW1_CODTGX |
TGZ_ATEND | cAtend |
TGZ_DTINI | Conforme Regras |
TGZ_DTFIM | Branco |
TGZ_GRUPO | TW1_GRUPO |
TGZ_CODTFF | TW1_CODTFF |
TGZ_HORINI | TW1_HORINI |
TGZ_HORFIM | TW1_HORFIM |
TGZ_ROTA | cRota |
*Para a manipulação da tabela TGZ deverá ser utilizado a rotina MVC TECA580E.
Ao realizar a efetivação do atendente na rota de cobertura deverá ser atualizado o campo TW0_ATEND com o código do atendente informado pelo parâmetro.
Para realizar a efetivação do atendente em um item da escala de cobertura (TGZ) com atendentes já configurados, deverá ser realizado as seguintes consistências:
- Caso o período de configuração da TGZ esteja vigente (Data de efetivação Anterior à Data Final TGZ_DTFIM), preencher a data final para o atendente anterior (Data de Efetivação - 1) e incluir a nova linha na TGZ para o atendente a ser efetivado considerando a data de efetivação como a data inicial.
- Caso já existir agenda do atendente anterior em um período superior a data de efetivação do novo atendente, deverá ser realizado a troca do atendente na agenda (Substituir ABB_CODTEC). Se for identificado que as agendas posteriores estejam atendidas (ABB_ATEND==’1’) ou com manutenção (ABB_MANUT==’1’), deverá ser gerada a mensagem “Existe agenda atendida ou com manutenção no Local de Atendimento da Rota de Cobertura com data posterior a data de efetivação. Não foi possível realizar a efetivação da cobertura”.
- O Código do atendente informado no parâmetro da função não será de preenchimento obrigatório. Quando o código do atendente estiver em branco, deverá ser realizado processamento considerando a remoção do atendente na Rota de Cobertura. Para realizar a remoção do atendente na rota de cobertura deverá ser colocada data final (Data Efetivação -1) nos itens da TGZ relacionados a rota de cobertura. Se for identificado agendas com manutenção ou atendida para o atendente vinculado na TGZ deverá ser gerada a mesma mensagem do item anterior. Caso as agendas posteriores não estiverem atendidas deverá ser realizada a exclusão da Agenda (ABB). Para a exclusão da agenda deverá ser utilizada a função At330GvDes.
- Para verificar a existência de algum atendente configurado na TGZ, deverá ser considerado os campos TGZ_CODTFF, TGZ_ESCALA , TGZ_CODTDX e TGZ_GRUPO.
- Alterar a rotina TECA580E para permitir gravação em branco das datas de inicio e das datas de finalização da rota, respeitando sempre as regras já contidas e já validadas de grupos de atendentes.
MOVIMENTAÇÃO PARA ROTA DE COBERTURA
No browser da rota de cobertura TECA581 deverá ser incluído novo botão “Movimentar” que irá chamar tela conforme protótipo 3. E deverá ser adicionado também a opção Remover.
Nesta tela será informado o código do atendente. Ao confirmar, deverá ser chamado função At581Efet(cRota, cAtend, dData), onde:
Parâmetro | Informação |
cRota | Rota posicionada |
cAtend | Código do atendente a ser incluído |
dData | dDatabase do sistema |
Caso já existir atendente na rota de cobertura, o campo do atendente deverá ser iniciado com o código correspondente.
Para retirar o atendente da rota de cobertura deverá ser acessada a opção “Remover”. Nesta opção deverá ser realizada a chamada da função At581Efet com o código do atendente em branco. Desta forma o atendente será removido da rota de cobertura.
Caso ocorra algum erro no processamento da função deverá ser apresentada mensagem informativa.
ALOCAÇÃO POR ESCALA - TECA330A
Para que o horário definido nas configurações de coberturas (TGZ_HORINI, TGZ_HORFIM), seja considerado na alocação por escalas, deverá ser realizado alteração na rotina At330AAgAt, afim de que seja considerado o horário definido na tabela TGZ para a realização da geração de agenda de cobertura. Caso o horário da TGZ esteja em branco deverá ser considerado da configuração de cobertura (TGW) que é utilizado atualmente.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[TECA330A – Alocação por escala] | [Alteração] | [SIGATEC > Atualizações > Gestão de Contrato > Gestão de Escalas > Alocação por Escala] | 11 |
[TECA581 – Rota de Cobertura] | [Criação] | [SIGATEC > Atualizações -> Alocação -> Rota de Cobertura] | 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |
[TECA580E - Posto x funcionário] | [Alteração] | [SIGATEC > Atualizações > Gestão de Contrato > Gestão de Escalas > Posto x Funcionário] | 8 |
[TECA670 - Filtros] | [Envolvida] | Rotina Genérica | 7 |
Tabelas Utilizadas
- AA1 – Atendentes
- ABB - Agendas
- ABS – Local de Atendimento
- TDW - Escalas
- TFF – Recursos humanos
- TGS – Área de Supervisão
- TGZ – Escala x Funcionário Cobertura
- TW0 – Grupo de Cobertura
- TW1 – Itens do Grupo de Cobertura
- SB1 – Produtos
Protótipo de Tela
Protótipo 01 - Cadastro de Rota de Cobertura
Protótipo 02 - Filtro Região
Protótipo 03 - Movimentação
Fluxo do Processo
1. Diagrama – Casos de Uso
Especificação de caso de uso
CASO DE USO | Realizar a cadastro da rota de cobertura. |
Descrição | Este caso de uso descreve a realização do cadastro de rota de cobertura |
Atores | Usuário |
Pré Condições |
|
Pós Condições | Rota do cobertura. |
Fluxo Básico |
|
Fluxo Alternativo | (A1) ALTERAÇÃO DO ITEM DE RH (Alternativo ao passo 5)
(A2) REALIZAÇÃO DE FILTRO POR REGIÃO (Alternativo ao passo 7)
(A3) ITEM PREENCHIDO INVÁLIDO (Alternativo ao passo 10)
(A4) GRUPO INVÁLIDO (Alternativo ao passo 10)
(A5) VISUALIZAÇÃO DO POSTO X FUNCIONÁRIO (Alternativo ao passo 10)
|
O retorno da informação do “Código RH” escolhido deverá ocorrer através da função At581GF3TFF, que também deverá ser construída. Os registros apresentados nesta tela da consulta específica deverão estar ordenados por local de atendimento (TFF_LOCAL). As informações a serem disponibilizadas no browser dessa consulta específica são as seguintes:
Campo | Descrição |
TFF_COD | Código |
TFF_LOCAL | Local |
ABS_DESCRI | Descrição do local |
TFF_PRODUT | Produto |
B1_DESC | Descrição do produto |
TFF_ESCALA | Escala |
TDW_DESC | Descrição da escala |
Quando ocorrer o preenchimento do campo “Código RH” (TW1_CODTFF), o mesmo deverá ser validado contra o seu cadastro, e se o mesmo for considerado válido, então os campos abaixo relacionados deverão ser automaticamente preenchidos conforme relacionamentos:
Coluna | Campo | Relacionamentos |
Local | TFF_LOCAL | “Código RH” x Tabela TFF: TW1_CODTFF = TFF_COD |
Desc. Local | ABS_DESCRI | Tabelas ABS x TFF: ABS_LOCAL = TFF_LOCAL. |
Cód. Escala | TFF_ESCALA | “Código RH” x Tabela TFF: TW1_CODTFF = TFF_COD |
Desc. Escala | TDW_DESC | Tabelas TDW x TFF: TDW_COD = TFF_ESCALA. |
Supervisor | TGS_SUPERV | Tabelas TGS x ABS: TGS_REGIAO = ABS_REGIAO |
Nome Sup. | AA1_NOMTEC | Tabelas TGS x AA1: TGS_SUPERV = AA1_CODTEC |
Criar um novo botão dentro de “Outras ações” da tela de manutenção da rota de cobertura, que deverá disponibilizar a view do Posto x Funcionário (TECA580E), caso o campo “Código RH” esteja preenchido.
No preenchimento do campo “Conf.Escala” (TW1_CODTGX), o seu conteúdo deverá ser validado de forma a não permitir que uma configuração de escala não esteja previamente cadastrada.
A informação digitada no campo “Grupo” (TW1_GRUPO) deverá ser validada, de forma a não permitir que seja informado um grupo não previsto para a escala daquele “Código RH”. Para construir tal validação, o conteúdo desse campo deverá ser consistido contra o campo “Quantidade de Venda” (TFF_QTDVEN) pertencente ao “Código RH” (TW1_CODTFF = TFF_COD). Caso o valor informado no campo do grupo seja superior ao conteúdo da quantidade de venda, o usuário deverá ser alertado, e a informação será considerada como inválida.
Para que o requisito que irá controlar a “Movimentação ágil” interaja com esta rotina (Rota de Cobertura), deverá ser criada a função At581Efet(<cTpOper>, <cRota>, <dData>, <cAtdMvRmv>). Esta função será responsável por realizar a efetivação (movimentação) ou a troca do atendente associado à rota de cobertura selecionada, e até mesmo a remoção da tal associação do seu atendente. Os parâmetros a serem passados a esta nova função são os seguintes:
Parâmetro | Descrição | Default |
cTpOper | Tipo de operação ("MV"=Movimentar; "RE"=Remover") | “MV” |
cRota | Código da rota de cobertura desejada | TW0->TW0_COD |
dData | Data da efetivação do atendente na rota de cobertura | dDataBase |
cAtdMvRmv | Código do atendente que será associado ou removido da associação | TW0->TW0_ATEND |
a) Com base nestes parâmetros, a função realizará a leitura das informações da rota de cobertura em questão, e deverá atualizar a tabela responsável pelo relacionamento entre a escala e o funcionário de cobertura (Tabela TGZ) com as seus dados pertinentes.
b) Para cada item da rota de cobertura será criado um novo registro na tabela TGZ, tendo em vista os seguintes relacionamentos:
Campos da tabela TGZ (Relacionamento Escala x Funcionário) | Origem das informações |
TGZ_ESCALA – Código da escala | TFF_ESCALA |
TGZ_CODTDX – Código da configuração da escala de cobertura | TW1_CODTGX |
TGZ_ATEND – Código do atendente da cobertura | <cAtdMvRmv> |
TGZ_DTINI – Data inicial do período de atendimento da cobertura | Conforme as regras |
TGZ_DTFIM – Data final do período de atendimento da cobertura | Em branco |
TGZ_GRUPO – Código do grupo de atendimento | TW1_GRUPO |
TGZ_CODTFF – Código RH | TW1_CODTFF |
TGZ_HORINI – Horário inicial de atendimento da cobertura | TW1_HORINI |
TGZ_HORFIM – Horário final de atendimento da cobertura | TW1_HORFIM |
TGZ_ROTA – Código da rota de cobertura que originou a gravação do registro | TW0_COD |
c) Para a manipulação dos dados a serem levados à tabela TGZ, deverá ser utilizada a rotina MVC TECA580E.
d) Regras para a gravação do registro na tabela TGZ quando da efetivação de um atendente a uma rota de cobertura:
- Se não existir um atendente anterior na cobertura do período/grupo/local de trabalho na tabela TGZ, um novo registro será criado com o código do atendente que está sendo efetivado, tendo como a data inicial do período igual à data da efetivação, enquanto que a data de final do período não será mencionada.
- Caso exista uma agenda do atendente anterior em um período superior à data de efetivação do novo atendente, então deverá ser realizada a troca do atendente, substituindo a informação do campo ABB_CODTEC dos registros pertencentes à agenda de atendimento.
- Se for identificado que o atendente anterior possua agendas posteriores à data de efetivação com manutenção (ABB_MANUT==’1’) ou atendidas (ABB_ATEND==’1’), o usuário deverá ser alertado através de uma mensagem, e tal efetivação da cobertura não deverá prosseguir para a referida configuração de rota, independentemente do tipo de processamento que estiver ocorrendo (movimentação ou remoção do atendente).
- Os parâmetros da função At581Efet são os seguintes:
<cTpOper>: Informar o tipo de processamento que deverá ser realizado, onde “MV” = Movimentar (efetivar) o atendente na rota de cobertura, e “RE” = Remover a associação do atendente.
<cRota>: Identificará a rota de cobertura em que se deseja realizar o procedimento de movimentar ou remover um atendente.
<dData>: É esperado que seja passada a data a ser considerada como efetivação da associação do novo atendente à rota de cobertura. Caso esta data não seja informada, deverá ser assumida a data base do sistema.
<cAtdMvRmv>: Deve conter o código do atendente que será associado à rota de cobertura ou removido da tal associação. - Para realizar a remoção da associação entre um atendente e a rota de cobertura, a função deverá encerrar o período de atendimento do atendente anterior, gravando a sua data final do período (TGZ_DTFIM) com a informação da data de execução da efetivação da tal remoção – 1 dia, desde que este registro da tabela TGZ referente ao atendente anterior também tenha sido gerado a partir da associação com a rota de cobertura. Deverá ser utilizada a chamada da função At330GvDes para que seja realizada a exclusão da agenda (na tabela ABB) pertencente ao atendente anterior.
- Para verificar a existência ou não de um registro na tabela TGZ referente à associação de um atendente de cobertura deverão ser utilizados os campos TGZ_CODTFF, TGZ_ESCALA, TGZ_CODTGX, TGZ_GRUPO, e TGZ_ATEND.
- Caso o período compreendido pela TGZ_DTINI e TGZ_DTFIM esteja vigente, então se deve preencher a data final com o conteúdo passado como sendo a data de efetivação – 1 dia, e um novo registro deverá ser incluído na tabela TGZ para o novo atendente que passará a realizar a cobertura do local de trabalho, tendo como a sua data inicial do período, a própria data de efetivação.
O campo do código do atendente existente na tabela TW0 (TW0_ATEND) deverá sempre ser gravado com a informação do atendente cuja associação fora efetivada à respectiva rota de cobertura. O código do atendente que será gravado neste campo da tabela TW0 é o mesmo que a nova função recebeu através do seu parâmetro <cAtdMvRmv>.
Rota de cobertura – “Movimentar”:
a) Na tela inicial da rotina deverá ser criado um botão “Movimentar” (Protótipo 06). Ao acioná-lo, uma tela deverá ser apresentada ao usuário, solicitando que seja informado o código do atendente ao qual a rota de cobertura selecionada será associada (Protótipo 07). Portanto, ao confirmar esta informação, a ação deste botão será responsável por realizar a efetivação da associação do atendente a uma rota de cobertura, executando a nova função desenvolvida (At581Efet), passando os parâmetros necessários para tal processamento.
b) Caso já exista um atendente associado à rota de cobertura, o mesmo deverá ser exibido ao usuário, permitindo que o mesmo seja trocado por um novo código de atendente, que neste caso, estaria assumindo aquela rota de cobertura a partir da data base vigente do sistema.
Rota de cobertura – “Remover”:
a) Na tela inicial da rotina deverá ser criado um botão “Remover” (Protótipo 06). Ao acioná-lo, uma tela deverá ser apresentada ao usuário com a informação do atendente que naquele momento se encontra associado à rota de cobertura ora selecionada (Protótipo 08). Portanto, ao confirmar esta informação, a ação deste botão será responsável por realizar a efetivação da remoção do atendente àquela rota de cobertura, executando a nova função desenvolvida (At581Efet), passando os parâmetros necessários para tal processamento.
TECA580E – Escala x Funcionário
Alterar a rotina TECA580E para que seja permitida a gravação das datas de inicio e final da rota de cobertura em branco, respeitando sempre as regras já contidas e já validadas de grupos de atendentes.
TECA330A – Alocação por escala
Para que o horário que fora definido nas configurações de cobertura da tabela TGZ (TGZ_HORINI e TGZ_HORFIM) seja levado a alocação por escalas, a função At330AAgAt deverá sofrer uma alteração de modo a utilizar a configuração dos horários ora definidos nos campos citados para a geração da sua respectiva agenda de cobertura (Tabela TGW).
Rotina | Tipo de Operação | Opção de Menu |
---|---|---|
[TECA330A – Alocação por escala] | [Alteração] | [SIGATEC > Atualizações > Gestão de Contrato > Gestão de Escalas > Alocação por Escala] |
[TECA581 – Rota de Cobertura] | [Criação] | [SIGATEC > Atualizações -> Alocação -> Rota de Cobertura] |
[TECA580E - Posto x funcionário] | [Alteração] | [SIGATEC > Atualizações > Gestão de Contrato > Gestão de Escalas > Posto x Funcionário] |
[TECA670 - Filtros] | [Envolvida] | Rotina Genérica |
Tabelas utilizadas
· AA1 – Atendentes
· ABB - Agendas
· ABS – Local de Atendimento
· TDW – Escalas
· TFF – Recursos humanos
· TGS – Área de Supervisão
· TGW – Alocação por escalas
· TGZ – Escala x Funcionário Cobertura
· TW0 – Grupo de Cobertura
· TW1 – Itens do Grupo de Cobertura
· SB1 – Produtos
Protótipos de tela
Protótipo 01 – Tela inicial da rota de cobertura
Protótipo 02 – Tela da manutenção da rota de cobertura
Protótipo 03 – Consulta específica dos “Códigos RH”
Protótipo 04 – Outras ações da tela de manutenção da rota de cobertura
Protótipo 05 – Tela de filtro da região
Protótipo 06 – Outras ações da tela inicial da rota de cobertura
Protótipo 07 – Tela de “Movimentar” atendente (Efetivando um atendente à rota de cobertura)
Protótipo 08 – Tela de “Remover” atendente da rota de cobertura
Fluxo do Processo
Diagrama – Casos de Uso
Especificação de caso de uso
Caso de uso | Realizar a cadastro da rota de cobertura |
Descrição | Realização do cadastro de rota de cobertura |
Atores | Usuário |
Pré condições |
|
Pós condições | Rota do cobertura. |
Fluxo básico |
|
Fluxos alternativos | (A1) Alteração do item de RH (Alternativo ao passo 5)
(A2) Realização de filtro por região (Alternativo ao passo 7)
(A3) Item preenchido inválido (Alternativo ao passo 10)
(A4) Grupo inválido (Alternativo ao passo 10)
(A5) Visualização do Posto x Funcionário (Alternativo ao passo 10)
|
Dicionário de dados
Tabela | TW0 - Rota de cobertura |
---|---|
Owner | SIGATEC |
Path | DadosAdv |
Arquivo | TW0990 |
Modo | Exclusivo |
Modo Unidade | Exclusivo |
Modo Empresa | Exclusivo |
Chave única | TW0_FILIAL+TW0_COD |
Display | TW0_FILIAL+TW0_COD |
Índices | TW0 - Rota de cobertura |
---|---|
Ordem | 1 |
Chave | TW0_FILIAL+TW0_COD |
Propriedade | S |
Nickname | |
Template | |
Virtualizado | Não |
Exibe no AxPesqui | Sim |
Estrutura | TW0 - Rota de cobertura |
---|---|
Campo | TW0_FILIAL |
Tipo | Caracter |
Tamanho | 2 |
Decimais | 0 |
Grupo de campos | 033 |
Título | Filial |
Descrição | Filial do Sistema |
Usado | Não |
Obrigatório | Não |
Picture | |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Visualiza |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Filial do sistema |
Campo | TW0_COD |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Código |
Descrição | Cód.Rota de cobertura |
Usado | Sim |
Obrigatório | Sim |
Picture | @! |
Validação | |
Inicializador padrão | GetSXENum("TW0", "TW0_COD") |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código da rota de cobertura |
Campo | TW0_DESC |
Tipo | Caracter |
Tamanho | 60 |
Decimais | 0 |
Grupo de campos | |
Título | Descrição |
Descrição | Descrição |
Usado | Sim |
Obrigatório | Sim |
Picture | @! |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Informe a descrição da rota de cobertura |
Campo | TW0_ATEND |
Tipo | Caracter |
Tamanho | 14 |
Decimais | 0 |
Grupo de campos | 116 |
Título | Atendente |
Descrição | Atendente |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | Vazio() .OR. ExistCpo("AA1") |
Inicializador padrão | |
Browse | Sim |
Visual | Visualiza |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código do atendente associado à rota de cobertura |
Campo | TW0_NOME |
Tipo | Caracter |
Tamanho | 60 |
Decimais | 0 |
Grupo de campos | |
Título | Nome |
Descrição | Nome |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | IIF(!INCLUI .AND. !EMPTY(M->TW0_ATEND),ALLTRIM( POSICIONE("AA1",1,XFILIAL("AA1")+M->TW0_ATEND,"AA1_NOMTEC") ),"") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | Posicione("AA1",1,xFilial("AA1")+TW0->TW0_ATEND,"AA1_NOMTEC") |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Nome do atendente associado à rota de cobertura |
Relacionamentos | TW0 - Rota de cobertura |
---|---|
Contra-domínio | TW0_ATEND |
Tabela domínio (pai) | AA1 |
Expressão domínio (pai) | AA1_CODTEC |
Tp.ligação (Domínio) | 1 |
Tp.ligação (Contra-domínio) | N |
Usar filial | Sim |
Condição SQL | |
Habilitar | Sim |
Vincular filial | Sim |
Chave forte | Não |
Tabela | TW1 - Itens da rota de cobertura |
---|---|
Owner | SIGATEC |
Path | DadosAdv |
Arquivo | TW1990 |
Modo | Exclusivo |
Modo Unidade | Exclusivo |
Modo Empresa | Exclusivo |
Chave única | TW1_FILIAL+TW1_COD |
Display | TW1_FILIAL+TW1_COD |
Índices | TW1 - Itens da rota de cobertura |
---|---|
Ordem | 1 |
Chave | TW1_FILIAL+TW1_COD |
Propriedade | S |
Nickname | |
Template | |
Virtualizado | Não |
Exibe no AxPesqui | Sim |
Estrutura | TW1 - Itens da rota de cobertura |
---|---|
Campo | TW1_FILIAL |
Tipo | Caracter |
Tamanho | 2 |
Decimais | 0 |
Grupo de campos | 033 |
Título | Filial |
Descrição | Filial do Sistema |
Usado | Não |
Obrigatório | Não |
Picture | |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Visualiza |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Filial do sistema |
Campo | TW1_COD |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Código |
Descrição | Código |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | GetSXENum("TW1", "TW1_COD") |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código único dos itens da rota de cobertura |
Campo | TW1_CODTW0 |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Cd.Rota Cob. |
Descrição | Cód.Rota de cobertura |
Usado | Usado |
Obrigatório | Sim |
Picture | @! |
Validação | |
Inicializador padrão | |
Browse | Não |
Visual | Visualiza |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código da rota de cobertura |
Campo | TW1_CODTFF |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Código RH |
Descrição | Código recursos humanos |
Usado | Sim |
Obrigatório | Sim |
Picture | @! |
Validação | ExistCpo("TFF") |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | TFFTGZ |
Pasta | |
Help | Informar o código do item de recursos humanos que se deseja relacionar à rota de cobertura |
Campo | TW1_CODTGX |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Conf. Escala |
Descrição | Configuração da Escala |
Usado | Sim |
Obrigatório | Sim |
Picture | @! |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | TGXTFF |
Pasta | |
Help | Informar o código da configuração da escala |
Campo | TW1_GRUPO |
Tipo | Numérico |
Tamanho | 3 |
Decimais | 0 |
Grupo de campos | |
Título | Grupo |
Descrição | Grupo |
Usado | Sim |
Obrigatório | Sim |
Picture | @E 999 |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Informar o grupo de atendimento da escala |
Campo | TW1_HORINI |
Tipo | Numérico |
Tamanho | 5 |
Decimais | 2 |
Grupo de campos | |
Título | Entrada |
Descrição | Hora Entrada |
Usado | Sim |
Obrigatório | Não |
Picture | @E 99.99 |
Validação | Vazio() .or. VldHora(FwFldGet("TW1_HORINI")) |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Informar o horário de entrada para a programação da agenda na rota de cobertura referente ao item de recursos humanos |
Campo | TW1_HORFIM |
Tipo | Numérico |
Tamanho | 5 |
Decimais | 2 |
Grupo de campos | |
Título | Saída |
Descrição | Hora Saída |
Usado | Sim |
Obrigatório | Não |
Picture | @E 99.99 |
Validação | Vazio() .OR. VldHora(FwFldGet("TW1_HORFIM")) |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Informar o horário de saída para a programação da agenda na rota de cobertura referente ao item de recursos humanos |
Campo | TW1_CODABS |
Tipo | Caracter |
Tamanho | 8 |
Decimais | 0 |
Grupo de campos | |
Título | Local |
Descrição | Código do local |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | If( !INCLUI .AND. !ALTERA, AllTrim(Posicione("TFF",1,xFilial("TFF")+TW1->TW1_CODTFF,"TFF_LOCAL")), "") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código do local |
Campo | TW1_LOCAL |
Tipo | Caracter |
Tamanho | 60 |
Decimais | 0 |
Grupo de campos | |
Título | Desc.Local |
Descrição | Descrição do Local |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | If( !INCLUI .AND. !ALTERA, At581GInit("TW1_LOCAL"), "") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Descrição do local |
Campo | TW1_CODTDW |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Cód.Escala |
Descrição | Còdigo da Escala |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | If( !INCLUI .AND. !ALTERA, AllTrim(Posicione("TFF",1,xFilial("TFF")+TW1->TW1_CODTFF,"TFF_ESCALA")), "") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código da escala |
Campo | TW1_ESCALA |
Tipo | Caracter |
Tamanho | 60 |
Decimais | 0 |
Grupo de campos | |
Título | Desc.Escala |
Descrição | Descrição da Escala |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | If( !INCLUI .AND. !ALTERA, At581GInit("TW1_ESCALA"), "") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Descrição da escala |
Campo | TW1_CODSUP |
Tipo | Caracter |
Tamanho | 14 |
Decimais | 0 |
Grupo de campos | 116 |
Título | Supervisor |
Descrição | Cód.Supervisor |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | If( !INCLUI .AND. !ALTERA, At581GInit("TW1_CODSUP"), "") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código do supervisor |
Campo | TW1_SUPERV |
Tipo | Caracter |
Tamanho | C |
Decimais | 30 |
Grupo de campos | |
Título | Nome Sup. |
Descrição | Nome Supervisor |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | If( !INCLUI .AND. !ALTERA, At581GInit("TW1_SUPERV"), "") |
Browse | Sim |
Visual | Visualiza |
Contexto | Virtual |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Nome do supervisor |
Relacionamentos | TW1 - Itens da rota de cobertura |
---|---|
Contra-domínio | TW1_CODTW0 |
Tabela domínio (pai) | TW0 |
Expressão domínio (pai) | TW0_COD |
Tp.ligação (Domínio) | 1 |
Tp.ligação (Contra-domínio) | N |
Usar filial | Sim |
Condição SQL | |
Habilitar | Sim |
Vincular filial | Sim |
Chave forte | Não |
| |
Contra-domínio | TW1_CODTFF |
Tabela domínio (pai) | TFF |
Expressão domínio (pai) | TFF_COD |
Tp.ligação (Domínio) | 1 |
Tp.ligação (Contra-domínio) | N |
Usar filial | Sim |
Condição SQL | |
Habilitar | Sim |
Vincular filial | Sim |
Chave forte | Não |
Contra-domínio | TW1_CODTGX |
Tabela domínio (pai) | TGX |
Expressão domínio (pai) | TGX_COD |
Tp.ligação (Domínio) | 1 |
Tp.ligação (Contra-domínio) | N |
Usar filial | Sim |
Condição SQL | |
Habilitar | Sim |
Vincular filial | Sim |
Chave forte | Não |
Gatilhos | TW1 - Itens da rota de cobertura | ||
---|---|---|---|
Campo | TW1_CODTFF | ||
Sequencia | 001 | ||
Contradomínio | TW1_CODABS | ||
Regra | TFF->TFF_LOCAL | ||
Tipo | Primário | ||
Posiciona (Seek) | Sim | ||
Alias da pesquisa | TFF | ||
Ordem da pesquisa | 1 | ||
Chave | xFilial("TFF")+FwFldGet("TW1_CODTFF") | ||
Propriedade | S | ||
Condição de execução | |||
Template | |||
Campo | TW1_CODTFF | ||
Sequencia | 002 | ||
Contradomínio | TW1_LOCAL | ||
Regra | ABS->ABS_DESCRI | ||
Tipo | Primário | ||
Posiciona (Seek) | Sim | ||
Alias da pesquisa | ABS | ||
Ordem da pesquisa | 1 | ||
Chave | xFilial("ABS")+FwFldGet("TW1_CODABS") | ||
Propriedade | S | ||
Condição de execução | |||
Template | |||
Campo | TW1_CODTFF | ||
Sequencia | 003 | ||
Contradomínio | TW1_CODTDW | ||
Regra | TFF->TFF_ESCALA | ||
Tipo | Primário | ||
Posiciona (Seek) | Sim | ||
Alias de pesquisa | TFF | ||
Ordem de pesquisa | 1 | ||
Chave | xFilial("TFF")+FwFldGet("TW1_CODTFF") | ||
Propriedade | S | ||
Condição de execução | |||
Template | |||
Campo | TW1_CODTFF | ||
Sequencia | 004 | ||
Contradomínio | TW1_ESCALA | ||
Regra | TDW->TDW_DESC | ||
Tipo | Primário | ||
Posiciona (Seek) | Sim | ||
Alias de pesquisa | TDW | ||
Ordem de pesquisa | 1 | ||
Chave | xFilial("TDW")+FwFldGet("TW1_CODTDW") | ||
Propriedade | S | ||
Condição de execução | |||
Template | |||
Campo | TW1_CODTFF | ||
Sequencia | 005 | ||
Contradomínio | TW1_CODSUP | ||
Regra | Posicione("TGS",3,xFilial("TGS")+ABS->ABS_REGIAO,"TGS_SUPERV") | ||
Tipo | Primário | ||
Posiciona (Seek) | Sim | ||
Alias de pesquisa | ABS | ||
Ordem de pesquisa | 1 | ||
Chave | xFilial("ABS")+FwFldGet("TW1_CODABS") | ||
Propriedade | S | ||
Condição de execução | |||
Template | |||
Campo | TW1_CODTFF | ||
Sequencia | 006 | ||
Contradomínio | TW1_SUPERV | ||
Regra | AA1->AA1_NOMTEC | ||
Tipo | Primário | ||
Posiciona (Seek) | Sim | ||
Alias de pesquisa | AA1 | ||
Ordem de pesquisa | 1 | ||
Chave | xFilial("AA1")+FwFldGet("TW1_CODSUP") | ||
Propriedade | S | ||
Condição de execução | |||
Template |
Estrutura | TGZ - Escala x Funcionário de Cobertura (Novos campos criados na tabela) |
---|---|
Campo | TGZ_CODTW0 |
Tipo | Caracter |
Tamanho | 6 |
Decimais | 0 |
Grupo de campos | |
Título | Rota de Cob. |
Descrição | Rota de Cobertura |
Usado | Sim |
Obrigatório | Não |
Picture | @! |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Visualiza |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Código da rota de cobertura utilizada |
Dicionário de Dados
Arquivo ou Código do Script: Arquivo: TW0 – Rota de Cobertura
Índice | Chave |
01 | TW0_FILIAL+TW0_CODIGO |
Campo | TW0_FILIAL |
Tipo | C |
Tamanho | 2 |
Decimal | 0 |
Picture | @! |
Contexto | Real |
Propriedade | Alterar |
Titulo | Filial |
Descrição | Filial |
Help de Campo | Preencher com a Filial |
Opções |
|
Validação |
|
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Não |
Browse | Não |
Modulos | Todos |
Inic. Padrão |
|
Grupo SXG | 033 |
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW0_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 | 0 |
Consul. Padrão | Não |
When |
|
Obrigatório | Sim |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | GETSXENUM("TW0", "TW0_COD") |
Grupo SXG |
|
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW0_DESC |
Tipo | C |
Tamanho | 60 |
Decimal | 0 |
Picture | @! |
Contexto | Real |
Propriedade | Alterar |
Titulo | Descrição |
Descrição | Descrição |
Help de Campo | Preencher com a descrição |
Opções |
|
Validação | |
Consul. Padrão | Não |
When |
|
Obrigatório | Sim |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão |
|
Grupo SXG |
|
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW0_ATEND |
Tipo | C |
Tamanho | 6 |
Decimal | 0 |
Picture | @! |
Contexto | Real |
Propriedade | Visualizar |
Titulo | Atendente |
Descrição | Atendente |
Help de Campo | Código do Atendente |
Opções |
|
Validação | Vazio() .OR. ExistCpo("AA1") |
Consul. Padrão | AA1 |
When |
|
Obrigatório | Não |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | |
Grupo SXG | 116 |
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW0_NOME |
Tipo | C |
Tamanho | 30 |
Decimal | 0 |
Picture | @! |
Contexto | Virtual |
Propriedade | Visualizar |
Titulo | Nome |
Descrição | Nome |
Help de Campo | Nome do Atendente |
Opções |
|
Validação |
|
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | IIF(!INCLUIR .AND. !EMPTY(M->TW0_ATEND),ALLTRIM( POSICIONE("AA1",1,XFILIAL("AA1")+M->TW0_ATEND,"AA1_NOMTEC") ),"") |
Grupo SXG |
|
Alt. Ordem | Não |
Alt. Tamanho | Não |
Arquivo ou Código do Script: TW1 – Itens da Rota de Cobertura
Índice
Chave
01
TW1_FILIAL+TW1_CODIGO
Campo | TW1_FILIAL |
Tipo | C |
Tamanho | 2 |
Decimal | 0 |
Picture | @! |
Contexto | Real |
Propriedade | Alterar |
Titulo | Filial |
Descrição | Filial |
Help de Campo | Preencher com a Filial |
Opções |
|
Validação |
|
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Não |
Browse | Não |
Modulos | Todos |
Inic. Padrão |
|
Grupo SXG | 033 |
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW1_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 |
|
Consul. Padrão | Não |
When |
|
Obrigatório | Sim |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | GETSXENUM("TW1", "TW1_COD") |
Grupo SXG |
|
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW1_CODTFF |
Tipo | C |
Tamanho | 6 |
Decimal | 0 |
Picture | @! |
Contexto | Real |
Propriedade | Alterar |
Titulo | Codigo RH |
Descrição | Codigo recursos humanos |
Help de Campo | Preencher com o Codigo do item de recursos humanos |
Opções |
|
Validação | ExistCpo("TFF") |
Consul. Padrão | Não |
When |
|
Obrigatório | Sim |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | ExistCpo("TFF") |
Grupo SXG |
|
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW1_CODTGX |
Tipo | C |
Tamanho | 6 |
Decimal | 0 |
Picture | @! |
Contexto | Real |
Propriedade | Alterar |
Titulo | Conf. Escala |
Descrição | Configuração da Escala |
Help de Campo | Preencher com o Codigo da Configuração da Escala |
Opções |
|
Validação | ExistCpo("TGX") |
Consul. Padrão | Não |
When |
|
Obrigatório | Sim |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | ExistCpo("TGX") |
Grupo SXG |
|
Alt. Ordem | Não |
Alt. Tamanho | Não |
Campo | TW1_GRUPO |
Tipo | N |
Tamanho | 3 |
Decimal | 0 |
Picture | @E999 |
Contexto | Real |
Propriedade | Alterar |
Titulo | Grupo |
Descrição | Grupo |
Help de Campo | Preencher com o Grupo |
Opções |
|
Validação |
|
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Sim |
Browse | Não |
Modulos | Todos |
Inic. Padrão |
|
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Campo | TW1_HORINI |
Tipo | N |
Tamanho | 5 |
Decimal | 2 |
Picture | @E99.99 |
Contexto | Real |
Propriedade | Alterar |
Titulo | Entrada |
Descrição | Hora Entrada |
Help de Campo | Preencher com a Hora Entrada |
Opções |
|
Validação | VAZIO() .OR. VldHora(FwFldGet("TW1_HORINI")) |
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão |
|
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Campo | TW1_HORFIM |
Tipo | N |
Tamanho | 5 |
Decimal | 2 |
Picture | @E99.99 |
Contexto | Real |
Propriedade | Alterar |
Titulo | Saída |
Descrição | Hora Saída |
Help de Campo | Preencher com a Hora Saída |
Opções |
|
Validação | VAZIO() .OR. VldHora(FwFldGet("TW1_HORFIM")) |
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão |
|
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Campo | TW1_CODABS |
Tipo | C |
Tamanho | 8 |
Decimal | 0 |
Picture | @! |
Contexto | Virtual |
Propriedade | Visualizar |
Titulo | Local |
Descrição | Código do Local |
Help de Campo | Código do Local |
Opções |
|
Validação |
|
Consul. Padrão | Não |
When |
|
Obrigatório | Não |
Usado | Sim |
Browse | Sim |
Modulos | Todos |
Inic. Padrão | IIF(!INCLUI .AND. !EMPTY(M->TW1_CODTFF),ALLTRIM( POSICIONE("TFF",1,XFILIAL("TFF")+M->TW1_CODTFF,"TFF_LOCAL) ),"") |
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Campo | TW1_LOCAL |
Tipo | C |
Tamanho | 50 |
Decimal | 0 |
Picture | @! |
Contexto | Virtual |
Propriedade | Visualizar |
Titulo | Desc.Local |
Descrição | Descrição do Local |
Help de Campo | Descrição do Local |
Opções | |
Validação |
|
Consul. Padrão | Não |
When | |
Obrigatório | Não |
Usado | Sim |
Browse | Não |
Modulos | Todos |
Inic. Padrão | IIF(!INCLUI .AND. !EMPTY(M->TW1_CODABS),ALLTRIM( POSICIONE("ABS",1,XFILIAL("ABS")+M->TW1_CODABS,"ABS_DESCRI) ),"") |
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Campo | TW1_CODTDW |
Tipo | C |
Tamanho | 6 |
Decimal | 0 |
Picture | @! |
Contexto | Virtual |
Propriedade | Visualizar |
Titulo | Escala |
Descrição | Código da Escala |
Help de Campo | Código da Escala |
Opções | |
Validação |
|
Consul. Padrão | Não |
When | |
Obrigatório | Não |
Usado | Sim |
Browse | Não |
Modulos | Todos |
Inic. Padrão | IIF(!INCLUI .AND. !EMPTY(M->TW1_CODTFF),ALLTRIM( POSICIONE("TFF",1,XFILIAL("TFF")+M->TW1_CODTFF,"TFF_ESCALA") ),"") |
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Campo | TW1_ESCALA |
Tipo | C |
Tamanho | 60 |
Decimal | 0 |
Picture | @! |
Contexto | Virtual |
Propriedade | Visualizar |
Titulo | Desc.Escala |
Descrição | Escala |
Help de Campo | Descrição da Escala |
Opções | |
Validação |
|
Consul. Padrão | Não |
When | |
Obrigatório | Não |
Usado | Sim |
Browse | Não |
Modulos | Todos |
Inic. Padrão | IIF(!INCLUI .AND. !EMPTY(M->TW1_CODTDW),ALLTRIM( POSICIONE("TDW",1,XFILIAL("TDW")+M->TW1_CODTDW,"TDW_DESC") ),"") |
Grupo SXG |
|
Alt. Ordem | Sim |
Alt. Tamanho | Não |
Arquivo ou Código do Script: TGZ – Escala x Funcionário Cobertura
Campo | TGZ_CODTW0 | ||||
Tipo | C | ||||
Tamanho | 6 | ||||
Decimal | 0 | ||||
Picture | @! | ||||
Contexto | Real | ||||
Propriedade | Visualizar | ||||
Titulo | Rota de Cob. | ||||
Descrição | Rota de Cobertura | ||||
Help de Campo | Preencher com a rota de cobertura | ||||
Opções |
| ||||
Validação |
| ||||
Consul. Padrão | Não | ||||
When |
| ||||
Obrigatório | Não | ||||
Usado | Sim | ||||
Browse | Não | ||||
Modulos | Todos | ||||
Inic. Padrão |
| ||||
Grupo SXG |
| ||||
Alt. Ordem | Sim | ||||
Alt. Tamanho | Não | ||||
Campo | TGZ_ROTA | ||||
Tipo | CCaracter | ||||
Tamanho | 60 | ||||
Decimais | 0 | ||||
Picture | @! | ||||
Contexto | Virtual | ||||
Propriedade | Visualizar | ||||
Grupo de campos | |||||
Título | Titulo | Desc. Rota | |||
Descrição | Desc. Rota de Cobertura | ||||
Help de Campo | Descrição da Rota de Cobertura | ||||
Opções |
| ||||
Validação |
| ||||
Consul. Padrão | Não | ||||
When |
| ||||
Usado | Sim | ||||
Obrigatório | Não | Usado||||
Picture | Sim@! | ||||
Browse | Não | ||||
Modulos | Todos | ||||
Validação | |||||
Inicializador padrão | If( !INCLUI, AllTrim(Posicione | Inic. Padrão | IIF(!INCLUI .AND. !EMPTY(M->TGZ_CODTW0),ALLTRIM( POSICIONE("TW0",1, | XFILIALxFilial("TW0")+ | MTGZ->TGZ_CODTW0,"TW0_DESC")), "" | )
Grupo SXG |
| ||||
Alt. Ordem | Sim | ||||
) | |||||
Browse | Sim | ||||
Visual | Visualiza | ||||
Contexto | Virtual | ||||
Opções (Combobox) | |||||
Picture Variável | |||||
Modo de edição (When) | |||||
Inicializador de browse | |||||
Condição SQL | |||||
Check SQL | |||||
Template | |||||
Consulta padrão | |||||
Pasta | |||||
Help | Descrição da Rota de Cobertura | Alt. Tamanho | Não|||
Campo | TGZ_HORINI | ||||
Tipo | NNumérico | ||||
Tamanho | 5 | ||||
Decimais | 2 | ||||
Picture | @E99.99 | ||||
Contexto | Real | ||||
Propriedade | Alterar | ||||
Grupo de campos | |||||
Título | TituloEntrada | ||||
Descrição | Hora de | Entrada||||
Help de Campo | Preencher com a Hora de Entrada | ||||
Opções |
| ||||
Validação |
| ||||
Consul. Padrão | Não | ||||
When |
| ||||
Obrigatório | Não | ||||
entrada | |||||
Usado | Sim | ||||
Obrigatório | Não | ||||
Modulos | Todos | ||||
Inic. Padrão |
| ||||
Grupo SXG |
| ||||
Alt. Ordem | Sim | ||||
Alt. Tamanho | Não | ||||
Campo | TGZ_HORFIM | ||||
Tipo | N | ||||
Tamanho | 5 | ||||
Decimal | 2 | ||||
Picture | @E99.99 | ||||
Contexto | Real | ||||
Propriedade | Alterar | ||||
Titulo | Saída | ||||
Descrição | Hora de Saída | ||||
Help de Campo | Preencher com a Hora de Saída | ||||
Opções |
| ||||
Validação |
| ||||
Consul. Padrão | Não | ||||
When |
| ||||
Obrigatório | Não | ||||
Usado | Sim | ||||
Browse | Não | ||||
Modulos | Todos | ||||
Inic. Padrão |
| ||||
Grupo SXG |
| ||||
Alt. Ordem | Sim | ||||
Alt. Tamanho | Não |
Grupo de Perguntas
Não se aplica
Picture | @E 99.99 |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Hora de entrada |
Campo | TGZ_HORFIM |
Tipo | Numérico |
Tamanho | 5 |
Decimais | 2 |
Grupo de campos | |
Título | Saída |
Descrição | Hora de saída |
Usado | Sim |
Obrigatório | Não |
Picture | @E 99.99 |
Validação | |
Inicializador padrão | |
Browse | Sim |
Visual | Alterar |
Contexto | Real |
Opções (Combobox) | |
Picture Variável | |
Modo de edição (When) | |
Inicializador de browse | |
Condição SQL | |
Check SQL | |
Template | |
Consulta padrão | |
Pasta | |
Help | Hora de saída |
Consulta Padrão
Consulta: TFFTGZ
Descrição
Item de RH Coberturas
Tipo
Consulta Especifica
Tabela
“TFF”
Expressão
At581F3TFF
Retorno
At581GF3TFF
Consulta: TGXTFF
Descrição
Item de RH Coberturas
Tipo
Consulta Padrão
Tabela
“TGX”
Índice
TGX_FILIAL+TGX_CODTDW+TGX_ITEM
Campo
“TGX_ITEM ”; ”TGX_TIPO”
Filtro
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|