Produto: TOTVS Incorporação
Versão: A partir 11.0
Introdução:
Criação de Mnemônicos por Consultas SQL e Fórmulas:
A utilização de mnemônicos será evoluída usando o novo gerador de relatórios em .NET e uma funcionalidade adicional para a geração de contratos para a 10.80.
Enquanto isso não acontece, e para outros clientes que estão em versões a partir de 10.40, foi criada uma funcionalidade adicional na geração de contratos usando a sintaxe _FRM_XXX_ (Ex. _FRM_001_ , _FRM_025_) para chamar uma fórmula e mostrar o resultado recebido.
Como Fazer
Dentro da fórmula é possível chamar uma sentença SQL, e com isso é possível buscar qualquer dado usando como base o contexto da venda.
Para ativar esta funcionalidade de chamada de fórmulas na geração de contratos no SGI, deve-se executar o seguinte script nas bases de dados onde ainda não existe o mnemônico _FRM_:
INSERT INTO XMNEMONICO (COD_MNEM, DSC_MNEM, COD_SIT_OPRL, COD_PESS_ULT_MNT, DAT_ULT_MNT, FUNC_MNEM)
VALUES(950, 'Executa Fórmula', 'A', 'ADMIN', GetDate(), '_FRM_')
INSERT INTO XMODELOMNEMONICO (COD_MNEM, COD_MODEL_CONTR, COD_SIT_OPRL, COD_PESS_ULT_MNT, DAT_ULT_MNT)
VALUES(950, 2, 'A', 'ADMIN', GetDate())
INSERT INTO XMODELOMNEMONICO (COD_MNEM, COD_MODEL_CONTR, COD_SIT_OPRL, COD_PESS_ULT_MNT, DAT_ULT_MNT)
VALUES(950, 3, 'A', 'ADMIN', GetDate())
Para facilitar o retorno das informações da condição da venda, foi criada a função de fórmula CONDVENDA para retornar qualquer um dos campos da condição da venda. Para isso é necessário usar a função CONDVENDA, passando para os parâmetros o código do grupo, o código do componente, o nome do campo e o tipo de retorno desejado.
Ex.: CONDVENDA ( 2 , 2 , 'VR_PARTE_COMPN' , 'V' )
Sintaxe: CONDVENDA ( PARAMETRO1 , PARAMETRO2 , 'PARAMETRO3' , 'PARAMETRO4' )
Parâmetro 1: Código do Grupo, tipo INTEIRO
Parâmetro 2: Código do Componente, tipo INTEIRO
Parâmetro 3: Nome do Campo, tipo STRING
Parâmetro 4: Tipo do retorno, tipo STRING que pode ser (V - Valor; I - Inteiro; S - Conjunto de Caracteres; D - Data e Hora)
Alem dessa função, também pode ser usado o resultado de sentenças SQL como mnemônicos.
Ex.:
1º - Cadastrar no TOTVS Incorporação a seguinte formula: tabvenda('num_venda','i')
Esta formula será usada como parâmetro para a consulta SQL que será usada.
2º - Deve ser cadastrada no TOTVS INCORPORAÇÃO uma consulta que irá retornar o dado que se deseja colocar no contrato. Ex: Esta consulta retornará o email do cliente do qual será gerado o contrato:
SELECT FCFO.EMAIL
FROM XVENDA
LEFT JOIN FCFO ON (FCFO.CODCOLIGADA IN (XVENDA.CODCOLIGADA,0)
AND FCFO.CODCFO = XVENDA.CODCFO)
WHERE NUM_VENDA = :FRM_001
OBS: FRM_ (chamada de formula) e 001 (código da formula que foi cadastrada para carregar a venda exata que estou gerando o contrato)
3º - Cadastrar a fórmula que será usada como mnemônico.
Ex:
execsql ('RM012'); resultsql ('RM012' , 'email')
OBS: execsql(‘RM012’) executa a sentença que cadastrei. Para isso devo informar por parâmetro o código da sentença (RM012 e o código da sentença que cadastrei).
Resultsql(‘RM012’, ‘email’) retorna o resultado da sentença. É necessário informar como parâmetro o código da sentença e o CAMPO que se deseja retornar.
4º - Por último, devo inserir, no contrato, a fórmula como se fosse um mnemônico. Ex:
_FRM_XXX_ (XXX e o código da formula que você cadastrou no passo 3)