Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGAJURI |
Segmento Executor | Gestão Jurídica | ||
Projeto1 | M_JUR_JUR001 | IRM1 |
|
Requisito1 | PCREQ-5641 | Subtarefa1 |
|
Release de Entrega Planejada | 12.1.7 | Réplica | 12.1.7 |
País | (X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros |
|
Permitir que usuários incluam fórmulas como opções de campos na Exportação Personalizada.
Criação de um novo cadastro de fórmulas que deverá ser relacionado a tabela da configuração da exportação personalizada (NQ2), na rotina JURA023, conforme protótipo 01.
Desta forma, além de vincular campos, será possível vincular campos cuja informação é retornada executando uma fórmula, que envolve os campos da tabela.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
JURA023 | Alteração | Atualizações -> Configuração -> Exportação personalizada |
|
JURA108 | Alteração | Atualizações -> Assuntos Jurídicos -> Pesquisa |
|
JURXFUN | Alteração | Atualizações -> Assuntos Jurídicos -> Pesquisa |
|
Alterações no fonte JURA023
Criação de um FormGrid no modelo do fonte JURA023 para utilizar a tabela NZJ que relaciona as fórmulas às tabelas da exportação (NQ2). O novo Grid deve ter relação de mestre-detalhe com o field NQ2DETAIL.
Como a fórmula deve ser cadastrada
A fórmula deve ser uma Function ou User Function dentro do RPO do Protheus e lembramos que seu nome não pode exceder 09 caracteres.
Para que seja possível executar a fórmula, a mesma deve ser incluída na seguinte forma:
Cadastro de Fórmulas | ||
Descrição | Function | Parâmetros |
Envolvidos Concatenados | FEXP_ENVC | NUQ_CAJURI, ‘1’ |
Descrição: Nome do campo que aparecerá na planilha
Fórmula: Nome da Function ou User Function
Parâmetros: Lista de parâmetros separados por vírgula. Para campos, basta informar o nome do mesmo, sem aspas. Para texto, colocar as informações utilizando aspas simples.
Alterações no fonte JURA108
O fonte responsável pela exportação personalizada deve ser alterado para que as fórmulas sejam exibidas na lista de campos relacionadas a tabela NQ2. Ver função JA108Camps.
Alterar a função JA108EXPOR e JA108GSQL para tratar os itens que são fórmulas separadamente.
Criar uma função para analisar as informações da fórmula, executar a mesma e retornar a cadeida de caracteres resultante da fórmula.
Alterações no fonte JURXFUN
Criação de function de exemplo.
Functions que deverão ser desenvolvidas e entregues no padrão
Criar as seguintes funções abaixo para que os clientes possam usar por padrão:
Cadastro de Fórmulas | ||
Function | Parâmetros | Descrição |
FEXP_ENVC | NUQ_CAJURI, ‘1’ | Função que vai receber o código do assunto jurídico e o tipo de envolvimento de envolvidos. O tipo de envolvimento não é obrigatório. Caso seja informado, a função deve retornar o nome concatenado de todos os envolvidos no processo para aquele tipo de envolvimento (Pólo Ativo/Pólo Passivo/Terceiro Interessado). Caso o parâmetro seja informado, deve ser retornado apenas o nome das partes condizentes com o mesmo. |
FEXP_PEDC | NUQ_CAJURI | Função que vai receber o código do assunto jurídico e retorna a descrição dos pedidos concatenados. A descrição deverá ser obtida através do código gravado no campo NSY_CPEVLR que faz referência a tabela NSP. |
Como a Function deve ser escrita
Além dos parâmetros cadastrados para a fórmula, será enviada a função um parâmetro padrão com os filtros que deverão ser analisados e aplicados na operação realizada, conforme necessidade. A função deve retornar sempre um valor do tipo caracter.
USER FUNCTION FEXP_ENVC (aFiltros, cCajuri, cTipo)
/*
Parâmetros recebidos no exemplo
aFiltros {{“NSZ”,”AND NSZ001.NSZ_SITUAC = ‘1’”},{“NT4”,”NT4990.NT4_CATO=’001’”}}}
cCajuri “000000141”
cTipo “1”
*/
Local cRet := ‘’
Local aArea := GetArea()
Local cLista := GetNextAlias()
Local cSQL
cSQL := “SELECT NT9.NT9_NOME FROM “ + RetSQLName(“NT9”) + “ NT9 ”
cSQL += “ WHERE NT9.NT9_CAJURI = ‘” + cCajuri + “’”
cSQL += “ AND NT9.NT9_FILIAL = ‘” + xFilial(‘NT9’) + “’”
cSQL += “ AND NT9.D_E_L_E_T_ = ‘ ‘”
//Inclui os filtros da tela na consulta da fórmula
aEval(aFiltros,{|x| IIF( x[1] == “NT9”,cSQL+= StrTran(x[2],RetSQLName(‘NT9’),’NT9’),)})
cSQL := ChangeQuery(cSQL)
dbUseArea(.T., 'TOPCONN', TcGenQry( ,, cSQL ) , cLista, .T., .F.)
dbSelectArea(cLista)
(cLista)->(dbGoTop())
While (cLista)->(!Eof())
cRet += (cLista)->NT9_NOME
if ((cLista)->(!Eof())
cRet += “/”
Endif
(cLista)->(dbSkip())
End
(cLista)->( dbcloseArea() )
RestArea( aArea )
Return cRet
Exemplo de Aplicação:
Tabelas Utilizadas
<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
<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>.
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> |
<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
[6] 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. |
---|