Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
|---|
(Obrigatório)
|
|---|
Informações Gerais
Especificação | |||
Produto | SARA | Módulo | Portaria |
Segmento Executor |
| ||
Projeto1 | L_DL_SARA01 | IRM1 | PCREQ-2696 |
Requisito1 | PCREQ7581 | Subtarefa1XXXXX | PDRDL-1949 |
Chamado2 |
| ||
Release de Entrega Planejada |
| Réplica |
|
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).
(Obrigatório)
Objetivo
<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.
Objetivo
Permitir pesagem manual caso a máquina possua autorização mesmo a conexão com a balança estando em correto funcionamento.
(Obrigatório)
Definição da Regra de Negócio
<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações -> Acadêmico-> Cadastros] | - |
Exemplo de Aplicação:
- Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
- Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades como a referência mínima para calcular o débito total do aluno.
- Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
- O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
Criar parâmetro (tab_parametro) PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA. O valor padrão para este parâmetro deverá ser 'N'.
if not exists (select 1
from tab_parametro
where param_desc = 'PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA')
begin
exec proc_diu_parametro
'I',
'PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA',
'N',
1,
'Permitir pesagem manual caso a máquina possua autorização mesmo a conexão com a balança estando em correto funcionamento.'
PRINT 'Parametro incluido com sucesso...'
end
else
PRINT 'Parametro ja existente...'
MENU - Portaria
- Realizar leitura do novo parâmetro PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA (getParam).
vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA := getparam('PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA ')='S';
MENU - Portaria - Pesagem (frm_cad_balanca2)
- Criar novo componente do tipo checkbox (chkRealizarPesagemManual) conforme abaixo:
- Por padrão este campo deverá estar não visível. Este novo campo só deverá estar visível caso o parâmetro PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'S' e a máquina possua uma autorização de pesagem manual cadastrada (tab_permissao_pesagem). Para isso realizar a seguinte alteração:
- Alterar a função VerificaBalanca, quando o TipoCapturaPeso <> 0 e ConectadoComaBalanca = true. Verificar se o parâmetro vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA está habilitado e se existe autorização de pesagem para a máquina através da procedure SPConsiste. Caso o retorno do parâmetro output @w_liberado seja igual a 1, então tornar o novo componente chkRealizarPesagemManual visível.
if vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA then
begin
SPConsiste.close;
SPConsiste.ParamByName('@w_equipamento').Value:= RetornaCampo('select host_name()');
SPConsiste.ExecProc;
if (SPConsiste.ParamByName('@w_liberado').AsInteger = 1) then
chkRealizarPesagemManual.Visible := true;
end;
- Alterar a função VerificaBalanca, quando o TipoCapturaPeso <> 0 e ConectadoComaBalanca = true. Verificar se o parâmetro vPERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA está habilitado e se existe autorização de pesagem para a máquina através da procedure SPConsiste. Caso o retorno do parâmetro output @w_liberado seja igual a 1, então tornar o novo componente chkRealizarPesagemManual visível.
- Ao clicar em "Realizar pesagem manual" ( evento chkRealizarPesagemManualClick) , "desligar" a leitura de peso da balança, limpar o campo peso (edtPeso) e permitir informar o peso manualmente. Para isso, realizar a seguinte alteração:
// simula clica no componente rxswBalanca para "desligar " a captura da balança
if rxswBalanca.StateOn then
begin
rxswBalanca.Perform(WM_LBUTTONDOWN, 0, 0); //Simula apertar o botão
rxswBalanca.Perform(WM_LBUTTONUP, 0, 0); //Simula soltar o botão
end;edtPeso.Enabled := true;
edtPeso.ReadOnly := false;
edtPeso.Clear;
edtPeso.SetFocus;
- Por padrão este campo deverá estar não visível. Este novo campo só deverá estar visível caso o parâmetro PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'S' e a máquina possua uma autorização de pesagem manual cadastrada (tab_permissao_pesagem). Para isso realizar a seguinte alteração:
- Ao clicar em "ligar" a leitura de peso da balança, tornar o campo de peso somente leitura novamente. Para isso, realizar a seguinte alteração:
Alterar a função rxswBalancaOn para que caso o tipo de captura (TipoCapturaPeso) seja igual a 0 (SARA), além dos procedimentos já implementados, deixe o campo peso somente leitura.
if rxswBalanca.StateOn then
edtPeso.ReadOnly := rxswBalanca.StateOn;
- Ao clicar em "ligar" a leitura de peso da balança, tornar o campo de peso somente leitura novamente. Para isso, realizar a seguinte alteração:
- Ao gravar pesagem com o checkbox "Realizar pesagem manual", registrar que o peso foi gravado manualmente. Para isso, realizar a seguinte alteração:
Substituir os locais onde encontra-se o código:
de:
if rxswBalanca.Visible then
w_bal_tipo := 'MN'
else
w_bal_tipo := 'AT'
- Ao gravar pesagem com o checkbox "Realizar pesagem manual", registrar que o peso foi gravado manualmente. Para isso, realizar a seguinte alteração:
para:
if rxswBalanca.Visible then
begin
if chkRealizarPesagemManual.Checked then
w_bal_tipo := 'MN'
else
w_bal_tipo := 'AT'
end
else
w_bal_tipo := 'MN';
- O novo campo deve respeitar o comportamento dos demais com relação a estar disponível para edição somente enquanto o registro estiver em modo de edição.
- O novo campo deve ter seu valor limpo após cancelamento, inclusão, e exclusão de registro.
- Criar atalho (ALT + M) para que o campo possa ser acionado diretamente do teclado. Para isso, adicionar o caracter & antes da palavra Manual na propriedade do componente Caption (Realizar pesagem &manual).
- Quando a pesagem manual, obrigar usuário informar observação. Ou seja, quando o componente rxswBalanca estiver invisível ou o chkRealizarPesagemManual.Checked, verificar se o campo observação está vazio. Estando vazio, informar ao usuário "Observação obrigatória para pesagem manual."
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
| mdi_mod_portaria | [Alteração] | Portaria |
|
frm_cad_balanca2 | [Alteração] | Portaria - Pesagem |
|
CENÁRIOS DE TESTE
COM PARÂMETRO PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'N'
Cenário 1
- No SARA - Portaria, criar um CESV. Operação = DESCARGA;
- Sem nenhuma permissão de pesagem cadastrada para a máquina (Conferir em Portaria - Permissão de Pesagem);
- Acessar SARA - Portaria Pesagem - Novo - Informar placa do veículo do CESV criado anteriormente.
- O sistema não deve exibir o novo campo "Realizar pesagem manual".
- Tentar realizar a gravação da pesagem. O sistema não permitir permitir pois não existe permissão para pesagem manual.
Cenário 2
- No SARA - Portaria, criar um CESV. Operação = DESCARGA;
- Acessar Portaria - Permissão de Pesagem e cadastrar uma nova permissão de pesagem para o veículo;
- Acessar SARA - Portaria Pesagem - Novo - Informar placa do veículo do CESV criado anteriormente.
- Informar um peso e realizar a gravação da pesagem. O campo Peso deve ser gravado conforme informado pelo usuário e o tipo de pesagem deve ser gravado como MN - Manual.
- O sistema não deve exibir o novo campo "Realizar pesagem manual".
COM PARÂMETRO PERMITE_PESAGEM_MANUAL_CONECTADO_BALANCA = 'S'
- Instalar e configurar programa para simular paridade entre as portas COM: \\totvsjoi-fs01\Sara\Util\SetupVSPE. Acessar o menu Device -> Create -> Device Type = Pair. Deixe o programa aberto;
- Gerar executável do projeto simulador de balança $/SARA/Fontes_Doc/Sustentacao/VS11.00/Delphi7/BalancaEmulador. Abrir o simulador de balança EmulaBAL.exe -> Porta = COM2 -> Peso a enviar = 20000 -> Variar peso automaticamente = Marcado -> Auto Enviar = Marcado.
- Acessar o SARA - Portaria - Pesagem. Ao lado esquerdo do botão OK existe a opção de configuração da balança (botão com engrenagem). Clicar neste botão e configurar para comunicar com a porta COM4. Confirmar as demais informações.
Cenário 1
- No SARA - Portaria, criar um CESV. Operação = DESCARGA;
- Sem nenhuma permissão de pesagem cadastrada para a máquina (Conferir em Portaria - Permissão de Pesagem);
- Acessar SARA - Portaria Pesagem - Novo - Informar placa do veículo do CESV criado anteriormente. O sistema deve ler o peso da balança e possibilitar gravação. O novo campo criado "Realizar pesagem manual" deve estar invisível, e o campo Peso não deve permitir alteração.
- Realizar a gravação da pesagem. O campo Peso deve ser gravado conforme capturado pelo simulador de balança, e o "Tipo" de pesagem deve ser gravado como AT - Automático;
- Excluir a pesagem para reutilizar o veículo.
Cenário 2
- Ainda utilizando o simular de balança, acessar Portaria - Permissão de Pesagem - Cadastrar uma permissão de pesagem para a máquina;
- Acessar SARA - Portaria - Pesagem - Novo - informar placa do veículo do CESV criado no cenário 1. O sistema deve ler o peso da balança e possibilitar gravação (não gravar ainda);
- O sistema deve exibir o novo campo criado "Realizar pesagem manual".
- Marcar o novo campo "Realizar pesagem manual". O sistema deve interromper a captura de peso da balança, e colocar o foco no campo Peso permitindo que seja informado manualmente.
- Informar um Peso manualmente e gravar. O campo Peso deve ser gravado conforme informado pelo usuário e o tipo de pesagem deve ser gravado como MN - Manual.
- Excluir a pesagem para reutilizar o veículo.
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
|---|
