Definição da Regra de Negócio
Criação de um novo cadastro de fórmulas que deverá ser relacionado à tabela da configuração da exportação personalizada (NQ2), na rotina JURA023, conforme protótipo 01.
Desta forma, além de fazer o vínculo, 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, coloque 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 relacionados com a tabela NQ2.
Ver função JA108Camps.
Altere 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, execute-a e retorne a cadeia 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 e 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 por meio do código gravado no campo NSY_CPEVLR que faz referência à tabela NSP. |
Como a Function deve ser escrita
Além dos parâmetros cadastrados para a fórmula, será enviada a função de 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
Tabelas Utilizadas
- NSZ – Assuntos Jurídicos
- NQ2 – Tabelas Exportação
- NZJ – Fórmulas Exportação
- NUQ – Assuntos Jurídicos
- NSY – Valores Processo
- NSP – Pedido Verba