Scripts
1. Criação de Variáveis:
Na plataforma Madrix, os usuários podem criar variáveis para armazenar dados temporários. Por exemplo, int idade = 30; cria uma variável de tipo inteiro chamada "idade" e atribui a ela o valor 30.
Script Texto:
int idade = 30;
Script Bloco:

2. Estruturas Condicionais:
Os scripts C# permitem a execução condicional de blocos de código usando estruturas if-else. Por exemplo:
Script Texto:
if (idade >= 18) {
// Código maiores de 18 anos
}
else {
// Código menores de 18 anos
}
Script Bloco:

3. Laços de Repetição:
Os usuários podem criar laços para executar tarefas repetitivas usando for, while ou foreach. Por exemplo, um laço for para imprimir números de 1 a 10 seria:
Script Texto:
for (int i = 1; i <= 10; i++) {
// Imprime o valor de i
}
Script Bloco:

4. Tratamento de Erros:
Os scripts podem incluir tratamento de erros usando blocos try-catch. Isso permite que a aplicação lide com falhas de maneira elegante. Por exemplo:
Script Texto:
try {
// Código que pode gerar um erro
} catch (Exception ex) {
// Código para tratar o erro
}
Script Bloco:

5. Envio de E-mail:
5.1 Função SendMail
Descrição: A função SendMail é utilizada para enviar uma mensagem de e-mail para um ou mais destinatários.
Parâmetros:
body (string): Corpo da mensagem de e-mail.
subject (string): Assunto da mensagem de e-mail.
recipients (string): Lista de endereços de e-mail dos destinatários.
attachments (array de objetos): Lista de arquivos que serão anexados ao e-mail.
isBodyHtml (Boolean): Indica se o corpo da mensagem é em formato HTML (true) ou texto simples (false).
asynchronous (Boolean): Indica se o envio do e-mail deve ser realizado de forma assíncrona (true) ou síncrona (false).
Retorno: A função retorna uma mensagem em caso de falha da operação de envio do e-mail.
Exemplo de Uso:
Script Texto:
string corpoEmail = "<p>Olá,</p><p>Segue em anexo os relatórios solicitados.</p>";
string assunto = "Relatórios Solicitados";
string destinatarios = "[email protected];[email protected]";
string anexos = new List<dynamic> {"/caminho/para/relatorio1.pdf","/caminho/para/relatorio2.pdf"};
Boolean corpoHtml = true;
Boolean envioAssincrono = true;
SendMail(corpoEmail, assunto, destinatarios, anexos, corpoHtml, envioAssincrono);
Script Bloco:

Script Texto:
string assunto = "Olá! Esta é uma mensagem de teste.";
string mensagem = "Teste de envio de e-mail";
string destinatarios = "[email protected];[email protected]";
string urlPDF = ExportApplicationReportToPdfFile("Pacientes por Sexo", currentItem);
List<dynamic> anexos = new List<dynamic> {urlPDF, null, null};
Boolean corpoHTML = false;
Boolean envioAssincrono = true;
SendMail(mensagem, assunto, destinatarios, anexos, corpoHTML, envioAssincrono);
Script Bloco:

5.2 Função SendMailByTemplate
Descrição: A função SendMailByTemplate é utilizada para enviar uma mensagem de e-mail para um ou mais destinatários, utilizando um template predefinido para o corpo da mensagem.
Parâmetros:
templateName (string): Nome do template que será utilizado para compor o corpo da mensagem.
componentName (string): Nome do componente responsável pelo envio do e-mail.
recipients (string): Lista de endereços de e-mail dos destinatários.
dict (objeto): Dicionário contendo as chaves e valores que serão substituídos no template para personalizar a mensagem.
extraAttachments (array de objetos): Lista adicional de arquivos que serão anexados ao e-mail.
isBodyHtml (Boolean): Indica se o corpo da mensagem é em formato HTML (true) ou texto simples (false).
asynchronous (Boolean): Indica se o envio do e-mail deve ser realizado de forma assíncrona (true) ou síncrona (false).
Retorno: A função retorna uma mensagem em caso de falha da operação de envio do e-mail.
Exemplo de Uso:
Script Texto:
string nomeTemplate = "Nova Ocorrência";
string nomeComponente = "Ocorrências";
string destinatarios = "[email protected]; "[email protected]";
List<dynamic> anexosExtras = new List<dynamic> {null, null, null};
Boolean corpoHtml = true;
Boolean envioAssincrono = true;
SendMailByTemplate(nomeTemplate, nomeComponente, destinatarios, currentItem, anexosExtras, corpoHtml, envioAssincrono);
Script Bloco:

6. Envio de Mensagem:
6.1 Função SendPushMessageToUser
Descrição: A função SendPushMessageToUser é utilizada para enviar uma notificação push para um usuário específico.
Parâmetros:
title (string): Título da notificação push.
summary (string): Resumo ou subtítulo da notificação.
message (string): Mensagem completa a ser enviada na notificação push.
user (Int64): ID do usuário para o qual a notificação será enviada.
Retorno: A função retorna uma mensagem em caso de falha da operação de envio da notificação push.
Exemplo de Uso:
Script Texto:
string titulo = "Atualização de Status";
string resumo = "Seu pedido foi atualizado";
string mensagem = "Olá, seu pedido #1234 foi atualizado para o status 'Enviado'. Obrigado por comprar conosco!";
Int64 usuario = 1;
SendPushMessageToUser(titulo, resumo, mensagem, usuario);
Script Bloco:

6.2 Função ShowExceptionMessage
Descrição: A função ShowExceptionMessage é utilizada para exibir uma mensagem de erro ou exceção de forma padronizada e amigável ao usuário.
Parâmetros:
message (string): Mensagem de erro ou exceção a ser exibida.
Retorno: A função não retorna um valor específico, mas garante que a mensagem fornecida é exibida adequadamente ao usuário.
Exemplo de Uso:
Script Texto:
ShowExceptionMessage("Ocorreu um erro ao carregar os dados. Por favor, tente novamente mais tarde.");
Script Bloco:

6.3 Função Alert
Descrição: A função Alert é utilizada para exibir uma mensagem de alerta ao usuário e permitir que uma ação seja executada quando o alerta for fechado.
Parâmetros:
message (string): Mensagem de alerta a ser exibida ao usuário.
CloseFunction (script): Função callback que será executada quando o usuário fechar a mensagem de alerta. Este parâmetro é opcional.
Retorno: A função não retorna um valor específico, mas garante que a mensagem de alerta é exibida adequadamente ao usuário e que a função CloseFunction, se fornecida, é executada ao fechar o alerta.
Exemplo de Uso:
Script Texto:
Alert("Os dados foram salvos com sucesso!");
Script Bloco:

6.4 Função AlertYesNo
Descrição: A função AlertYesNo é utilizada para exibir uma caixa de diálogo com as opções "Sim" e "Não" ao usuário, permitindo que diferentes ações sejam executadas com base na escolha do usuário.
Parâmetros:
message (string): Mensagem de alerta a ser exibida na caixa de diálogo.
YesFunction (script): Função callback que será executada quando o usuário clicar em "Sim".
NoFunction (script): Função callback que será executada quando o usuário clicar em "Não". Este parâmetro é opcional.
Retorno: A função não retorna um valor específico, mas garante que a caixa de diálogo é exibida corretamente e que as funções YesFunction e NoFunction, se fornecidas, são executadas de acordo com a escolha do usuário.
Exemplo de Uso:
Script Texto:
AlertYesNo("Deseja salvar as alterações?", funcaoSim, funcaoNao);
Script Bloco:

6.5 Função AlertOkCancel
Descrição: A função AlertOkCancel é utilizada para exibir uma caixa de diálogo com as opções "OK" e "Cancelar" ao usuário, permitindo que diferentes ações sejam executadas com base na escolha do usuário.
Parâmetros:
message (string): Mensagem de alerta a ser exibida na caixa de diálogo.
OkFunction (script): Função callback que será executada quando o usuário clicar em "OK".
CancelFunction (script): Função callback que será executada quando o usuário clicar em "Cancelar". Este parâmetro é opcional.
Retorno:
A função não retorna um valor específico, mas garante que a caixa de diálogo é exibida corretamente e que as funções OkFunction e CancelFunction, se fornecidas, são executadas de acordo com a escolha do usuário.
Exemplo de Uso:
Script Texto:
AlertOkCancel("Deseja confirmar a operação?", funcaoOk, funcaoCancelar);
Script Bloco:

6.6 Função AlertCustomButton
Descrição: A função AlertCustomButton é utilizada para exibir uma caixa de diálogo ao usuário contendo uma mensagem de alerta e dois botões customizáveis. Diferentes ações podem ser executadas com base no botão clicado pelo usuário.
Parâmetros:
message (string): Mensagem de alerta a ser exibida na caixa de diálogo.
button1 (string): Texto a ser exibido no primeiro botão.
button2 (string): Texto a ser exibido no segundo botão.
button1Function (script): Função callback que será executada quando o usuário clicar no primeiro botão (button1).
button2Function (script): Função callback que será executada quando o usuário clicar no segundo botão (button2). Este parâmetro é opcional.
Retorno: A função não retorna um valor específico, mas garante que a caixa de diálogo é exibida corretamente e que as funções button1Function e button2Function, se fornecidas, são executadas de acordo com o botão clicado pelo usuário.
Exemplo de Uso:
Script Texto:
AlertCustomButton("Deseja prosseguir com a operação?","Prosseguir","Cancelar","funcaoButton1","funcaoButton2");
Script Bloco:
6.7 Função Log
Descrição: A função Log é utilizada para registrar mensagens no console do browser, como informações de depuração ou logs de eventos.
Parâmetros:
text (string): A mensagem de texto que será registrada.
Retorno: A função não retorna um valor específico, mas garante que a mensagem fornecida será registrada no no console do browser.
Exemplo de Uso:
Script Texto:
Log("A operação foi realizada com sucesso.");
Script Bloco:

7. Relatórios:
7.1 Função PrintComponentReport
Descrição: A função PrintComponentReport é utilizada para imprimir um relatório específico relacionado a um componente, enviando-o diretamente para a impressora escolhida.
Parâmetros:
reportName (string): Nome do relatório que deve ser impresso.
printerName (string): Nome da impressora de rede, instalada no servidor da aplicação, para a qual o relatório será enviado para impressão.
currentItem (Object): Objeto representando o item ou componente atual que está sendo processado e para o qual o relatório se refere.
Retorno: A função não retorna um valor específico, mas garante que o relatório é enviado para a impressora correta e impresso com os dados do currentItem.
Exemplo de Uso:
Script Texto:
PrintComponentReport("pedido_comida", "impressora_cozinha", currentItem);
Script Bloco:

7.2 Função PrintApplicationReport
Descrição: A função PrintApplicationReport é utilizada para imprimir um relatório de um aplicativo, enviando-o diretamente para a impressora designada.
Parâmetros:
reportName (string): Nome do relatório que deve ser impresso.
printerName (string): Nome da impressora de rede, instalada no servidor da aplicação, para a qual o relatório será enviado para impressão.
currentItem (objeto): Objeto representando o item atual que está sendo processado para o qual o relatório se refere.
Retorno: A função não retorna um valor específico, mas garante que o relatório é enviado para a impressora correta.
Exemplo de Uso:
Script Texto:
PrintApplicationReport("Order", "impressora_vendas", currentItem);
Script Bloco:

7.3 Função ExportComponentReportToFile
Descrição: A função ExportComponentReportToFile é utilizada para exportar um relatório específico relacionado a um componente para um arquivo, permitindo que o usuário escolha o formato desejado para a exportação.
Parâmetros:
reportName (string): Nome do relatório que deve ser exportado.
currentItem (Object): Objeto representando o item atual que está sendo processado e para o qual o relatório se refere.
format (string): Formato desejado para a exportação do relatório: "PDF", "CSV", "XLSX" ou "DOCX".
Retorno: A função retorna um caminho (string) para o arquivo exportado.
Exemplo de Uso:
Script Texto:
ExportComponentReportToFile("pedido", currentItem, "pdf");
Script Bloco:

7.4 Função ExportApplicationReportToFile
Descrição: A função ExportApplicationReportToFile é utilizada para exportar um relatório do aplicativo para um arquivo, permitindo que o usuário escolha o formato desejado para a exportação.
Parâmetros:
reportName (string): Nome do relatório que deve ser exportado.
currentItem (objeto): Objeto representando o item atual que está sendo processado.
format (string): Formato desejado para a exportação do relatório: "PDF", "CSV", "XLSX" ou "DOCX".
Retorno: A função retorna um caminho (string) para o arquivo exportado.
Exemplo de Uso:
Script Texto:
ExportApplicationReportToFile("pedido", currentItem, "pdf");
Script Bloco:

7.5 Função ExportApplicationReportToPdfFile
Descrição: A função ExportApplicationReportToPdfFile é utilizada para exportar um relatório de um aplicativo para um arquivo no formato PDF.
Parâmetros:
reportName (string): Nome do relatório que deve ser exportado.
currentItem (objeto): Objeto representando o item atual que está sendo processado.
Retorno: A função retorna um caminho (string) para o arquivo PDF exportado.
Exemplo de Uso:
Script Texto:
ExportApplicationReportToPdfFile("Order", currentItem);
Script Bloco:

7.6 Função ExportComponentReportToPdfStream
Descrição: A função ExportComponentReportToPdfStream é utilizada para exportar um relatório específico relacionado a um componente diretamente para um fluxo de dados (stream) no formato PDF.
Parâmetros:
reportName (string): Nome do relatório que deve ser exportado.
currentItem (objeto): Objeto representando o item ou componente atual que está sendo processado e para o qual o relatório se refere.
Retorno: A função retorna um fluxo de dados (stream) contendo o relatório exportado em formato PDF, que pode ser utilizado para enviar o relatório por uma rede, salvar em um arquivo, ou outras operações que envolvem fluxos de dados.
Exemplo de Uso:
ExportApplicationReportToPdfStream("Pacientes por Sexo", currentItem);
ExportComponentReportToStream(reportName,currentItem,format):
7.7 Função ExportApplicationReportToStream
(reportName,currentItem,format):
7.8 Função TryPrintComponentReport
(reportName,printerName,currentItem):
7.9 Função TryPrintApplicationReport
(reportName,printerName,currentItem):
7.10 Função OpenReport
(reportName,parameters):
8. Componentes:
8.1 Função GetAttributeValue
(name,itemID,componentName):
Setar o valor de um campo do registro atual - currentItem["Nome do Campo"] = valor:
Pegar o valor de um campo do registro atual - variável = currentItem["Nome do Campo"]:
InsertItem
(item,componenteName):
UpdateItem
(id,item,componenteName):
RemoveItem
(itemID,componenteName):
AttributeHasChange
(currentItem, attributeName):
GetPicklistItemValue
(listName,itemName):
GetStatusValue
(componente,workflow,statusName):
GetActionValue
(componente,workflow,actionName):
RepplyAttachments
(sourceItemId,sourceComponent,sourceFolder,destinyItemId,destinyComponent,destinyFolder):
9. Formulários:
OpenComponentInsert
(component,formName,parameters,CloseFunction):
OpenComponentUpdate
(component,ID,formName,parameters,CloseFunction):
CloseWindow
():
OpenForm
(formName,parameters,OnCloseFunction):
OpenDocumentView
(projectId,folderFormName,fileFormName):
SetFocus
(control):
OpenURL
(url,target):
OpenImageGallery
(itemID,folder):
GetAttachmentLink
(itemID,name,componentName,folder):
GetDownloadAttachmentsLink
(itemID,componentName):
SetControlProperty
(propertyName,controlID,value):
GetControlProperty
(propertyName,controlID):
Save
(closeFormAfterSave,showMessage):
RefreshItemForm
():
FinishWizard
():
OpenComponentBulkInsert
(message,items,component,cancelable,CloseFunction):
OpenComponentBulkUpdate
(message,items,component,cancelable,CloseFunction):
OpenComponentBulkDelete
(message,items,component,cancelable,CloseFunction):
OpenBulk
(message,items,cancelable,CloseFunction):
10. Usuários:
10.1 Função GetLoggedUser
Descrição: A função GetLoggedUser é utilizada para obter ID do usuário que está atualmente autenticado e logado no sistema.
Parâmetros:
A função GetLoggedUser não recebe parâmetros.
Retorno: A função retornar o ID (Int64) do usuário logado.
Exemplo de Uso:
Script Texto:
Int64 usuario_id = Convert.ToInt64(GetLoggedUser());
Script Bloco:

10.2 Função GetFieldFromUser
Descrição: A função GetFieldFromUser é utilizada para obter o valor de um atributo específico de um usuário fornecido.
Parâmetros:
attributeName (string): Nome do atributo cujo valor se deseja obter (por exemplo, "Nome", "Login", "Email", etc.).
user (Int64): ID do usuário do qual se deseja obter a informação.
Retorno: A função retorna o valor (string) do atributo especificado para o usuário fornecido. Se o atributo ou o usuário não existirem, a função retorna um valor nulo.
Exemplo de Uso:
Script Texto:
string login = GetFieldFromUser("Login",1);
Script Bloco:

10.3 Função InsertUser
Descrição: A função InsertUser é utilizada para inserir um novo usuário na plataforma.
Parâmetros:
name (string): Nome completo do usuário.
email (string): Endereço de e-mail do usuário.
registration (string): Número de matrícula ou identificação do usuário.
companyName (string): Nome da empresa à qual o usuário pertence.
area (string): Área ou departamento na empresa onde o usuário trabalha.
license (int): Tipo de licença atribuída ao usuário (por exemplo, 2 para "administrador", 1 para "usuário comum").
login (string): Nome de usuário para autenticação no sistema.
password (string): Senha para autenticação no sistema.
passwordLastModify (DateTime): Data da última modificação da senha do usuário.
activeDirectory (Boolean): Indica se o usuário deve ser autenticado usando o Active Directory (true) ou não (false).
groups (array de Int64): Lista de grupos aos quais o usuário pertence (por exemplo, [1, 2]).
aditionalFields (Object): Campos adicionais específicos para o usuário, representados como pares chave-valor (por exemplo, { "campoAdicional1": "valor1", "campoAdicional2": "valor2" }).
Retorno: A função retorna o ID (Int64) do usuário inserido e em caso de falha retorna uma mensagem de exceção.
Exemplo de uso:
Script Texto:
string nome = "João Silva";
string email = "[email protected]";
string registration = "";
string empresa = "Empresa XYZ";
string area = "";
string license = 2;
string login = "joaosilva";
string senha = "senha123";
DateTime passwordLastModify = DateTime.Now;
Boolean activeDirectory = false;
Int64[] User_Group = new Int64[2];
User_Group[0] = Convert.ToInt64(1);
User_Group[1] = Convert.ToInt64(2);
Object aditionalFields = null;
Int64 user_id = InsertUser(nome,email,registration,empresa,area,2,login,senha,passwordLastModify,activeDirectory,User_Group,aditionalFields);
Script Bloco:

10.4 Função UpdateUser
Descrição: A função UpdateUser é utilizada para atualizar as informações de um usuário existente na plataforma.
Parâmetros:
ID (Int64): Identificador único do usuário que será atualizado.
name (string): Nome completo do usuário.
email (string): Endereço de e-mail do usuário.
registration (string): Número de matrícula ou identificação do usuário.
companyName (string): Nome da empresa à qual o usuário pertence.
area (string): Área ou departamento na empresa onde o usuário trabalha.
license (int): Tipo de licença atribuída ao usuário (por exemplo, 2 para "administrador", ' para "usuário comum").
login (string): Nome de usuário para autenticação no sistema.
password (string): Senha para autenticação no sistema.
active (Boolean): Indica se a conta do usuário está ativa (true) ou inativa (false).
activeDirectory (Boolean): Indica se o usuário deve ser autenticado usando o Active Directory (true) ou não (false).
groups (array de Int64): Lista de grupos aos quais o usuário pertence (por exemplo, [1, 2]).
aditionalFields (Object): Campos adicionais específicos para o usuário, representados como pares chave-valor (por exemplo, { "campoAdicional1": "valor1", "campoAdicional2": "valor2" }).
Retorno: A função retorna o ID (Int64) do usuário atualizado e em caso de falha retorna uma mensagem de exceção.
Exemplo de Uso:
Script Texto:
Int64 retorno = UpdateUser(1, "Administrador", "", "", "", "", 2, "admin", "123", true, false, null, null);
Script Bloco:

10.5 Função RemoveUser
Descrição: A função RemoveUser é utilizada para remover um usuário existente da plataforma.
Parâmetros:
UserID (Int64): Identificador único do usuário que será removido.
Retorno: A função retorna o ID (Int64) do usuário atualizado e em caso de falha retorna uma mensagem de exceção.
Exemplo de Uso:
Script Texto:
RemoveUser(Convert.ToInt64(2));
Script Bloco:

11. Adaptadores:
11.1 Função RunWebServices
(serviceAddress,methodName,args):
11.2 Função RunDbCommandNonQuery
(dbAdapter,SqlCommand,parameters):
11.3 Função RunDbCommandEscalar
(dbAdapter,SqlCommand,parameters):
11.4 Função RunDbCommandDataSet
(dbAdapter,SqlCommand,parameters):
11.5 Função RunDbCommandDataTable
(dbAdapter,SqlCommand,parameters):
11.6 Função RunDbCommandToDataProvider
(dbAdapter,SqlCommand,parameters):
11.7 Função CreateConnection
(dbAdapter):
11.8 Função RunFile
(fileAdapter,fileParameters):
12. Classes:
Executar um método de uma classe - Nome_da_Classe.Método(parâmetros):
Script Texto:
MadrixAI.Perguntar("Qual a capital do Brasil?");
Script Bloco:

Classe para Integrações: Rest API, DBs..
13. Scripts:
Executar um script a partir de outro script - Nome_do_Script(currentItem):
Script Texto:
Form0_button0_click(currentItem);
Script Bloco:

14. Funções C# mais utilizadas:
- Convert
- DateFormat
Last updated
Was this helpful?