---
title: "Exemplo de PromptFunctions para Desktop - Geração de Insights com Cegid Pulse"
slug: "1783351391"
updated: 2026-07-09T08:19:50Z
published: 2026-07-09T08:19:50Z
canonical: "help.ila.cegid.com/1783351391"
stale: true
---
> ## Documentation Index
> Fetch the complete documentation index at: https://help.ila.cegid.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Exemplo de PromptFunctions para Desktop - Geração de Insights com Cegid Pulse
- [x] PT
- [ ] AO
- [ ] MZ
- [ ] CV
- [ ] CS
- [ ] Evolution
- [ ] Web
- [ ] Desktop
---
**Prompt Function para Geração de Insights com Cegid Pulse**
A *Prompt Function* de insights é uma funcionalidade que permite gerar automaticamente análises inteligentes sobre dados apresentados em ecrãs de análise do Cegid PHC, recorrendo ao **Cegid Pulse**.
Esta funcionalidade transforma listagens e dados operacionais em **insights claros, objetivos e acionáveis**, apresentados diretamente no ecrã da análise, sem necessidade de intervenção manual por parte do utilizador.
Vantagens de utilização:
- Interpretar dados de uma análise (ex: listagens, relatórios)
- Identificar padrões, tendências ou concentrações relevantes
- Gerar um **insight principal (Insight do dia)**
- Apresentar um **racional associado**, explicando o significado do insight
Desta forma, o sistema deixa de ser apenas um repositório de informação, passando a atuar como um **apoio à decisão**.
---
## **Criação da Prompt Function**
1. Aceder ao ecrã de Funções de utilizador - Menu Supervisor » Framework » Funções de utilizador )
2. Introduzir um novo registo e no campo **Nome da função**, definir um identificador claro, por exemplo:`promptinsight`
3. No campo **Expressão da função em XBASE**, inserir o seguinte código:
lparameters lcegidpulsemath, lcUserCriteria
lcRetVal = alltrim(tempsql.descricao) && * Obtém a descrição da análise atual e remove espaços em branco no início/fim lcPrompt = "Esta é uma análise de " + lcRetVal && * Cria o contexto inicial para identificar o tipo de análise ao modelo AI
if used("sqltmp") and !eof("sqltmp") lcContextData = "" && * Inicializa a variável que irá guardar os dados CSV
*** Converter o cursor para CSV (em Desktop, os dados devem ser enviados para Cegid Pulse em CSV) lcFileDir = tmp_dir + "sqltmp.csv" && * O ficheiro csv deve ter o nome do cursor e é colocado na tmp_dir
if LISTtoCSV("sqltmp") and file(lcFileDir) && * A nova função LISTtoCSV permite exportar os dados de cursor para CSV lcContextData = filetostr(lcFileDir) delete file (lcFileDir) endif if !empty(lcContextData)
*** Prompt #1 *** Este prompt é agnóstico, e pede ao Cegid Pulse para sugerir um prompt para AI *** Explicamos que ele deve analisar os dados, e ter em conta o âmbito (que sabe porque inicializamos o prompt com o título da análise) *** Com base nisso o Cegid Pulse deve inferir um cálculo relevante para o que seria a persona alvo desta análise **** E explicamos que esse prompt será usado para gerar o melhor insight para este tipo de análise
lcPrompt = lcPrompt + "Faz uma análise profunda aos dados (em CSV), interpreta possíveis conceitos e classificações discretas no âmbito da análise." lcPrompt = lcPrompt + "O teu objetivo é sugerir um prompt para AI que permita obter cálculos a serem realizados sobre os dados." lcPrompt = lcPrompt + "O prompt deve solicitar o cálculo que permita o melhor insight, relevante e acionável, não vago, para a persona target deste tipo de análise numa empresa."
if !empty(lcUserCriteria) lcPrompt = lcPrompt + "O prompt devera focar-se na preferencia do user: " + lcUserCriteria endif
*** Adicionamos instruções para garantirmos narrow da resposta, de forma a ser curta, para reduzir o tempo de resposta lcPrompt = lcPrompt + "/r/n/r/n" + "O texto da tua resposta deve conter única e exclusivamente o prompt com um único cálculo a efetuar." *** Usamos a função PromptFunction passando o prompt e o contexto lcPrompt = promptfunction(lcPrompt, lcContextData)
*** Prompt #2 *** Começando pelo prompt obtido na chamada anterior *** Adicionamos o pedido para que efetue o cálculo e elabore o Insight do dia lcPrompt = lcPrompt + "/r/n/r/n" lcPrompt = lcPrompt + "Efetua o cálculo solicitado e com base nisso gera um insight, relevante e acionável, não vago, num texto sem markdown, " lcPrompt = lcPrompt + "com o formato html puro simples Insight do dia (by Cegid Pulse): (...)
Racional: (...)"
*** Adicionamos instruções para garantirmos narrow da resposta, de forma a ser curta, para reduzir o tempo de resposta lcContext = "O texto da tua resposta ao utilizador deve conter única e exclusivamente o insight e racional. Sem texto ou explicações ou tabelas antes ou depois." lcPrompt = lcPrompt + lcContext
_cliptext = lcPrompt
*** Há duas hipóteses para essa segunda chamada: com o Cegid Pulse a usar cálculo matemático ou não (ou seja, passando 3 parametros com o CSV no último, ou não). if lcegidpulsemath lcRetVal = promptfunction(lcPrompt, lcContext , lcContextData) && ativar a skill de cálculo analítico/matemático (importante para cálculos ou dados complexos; usar em chamadas separadas de geração de texto, quando ocorre alucinação) else lcRetVal = promptfunction(lcPrompt, lcContextData) && Mais rápido, recorrendo apenas a GenaI. endif endif endif
* Devolve o insight final gerado return lcRetVal
Após a criação da função, é necessário associá-la às análises onde se pretende apresentar insights.
### **Passos:**
A utilização de Prompt Functions com Cegid Pulse permite automatizar a análise de dados e gerar insights relevantes diretamente no sistema, aumentando a eficiência operacional e apoiando a tomada de decisão.
###
1. Aceder a: **Supervisor » Configuração de Análises » Análises Avançadas de Utilizador**
2. Selecionar a análise pretendida
3. No separador **Outra informação**, preencher o campo: **Expressão para título**, com a chamada da função. Por exmeplo: *return user_promptinsight(.t., #18#)*
4. Após a configuração, executar a análise avançada
5. O sistema irá automaticamente gerar e apresentar o insight, que está visível na parte superior do ecrã da análise