Skip to content

Instantly share code, notes, and snippets.

View brunogasparetto's full-sized avatar

Bruno Gasparetto brunogasparetto

View GitHub Profile
@brunogasparetto
brunogasparetto / fluig_notificacao_personalizada.md
Last active April 24, 2024 13:00
Fluig: Exemplo de Notificações Personalizadas

Notificações Personalizadas

Recentemente precisei disparar algumas notificações aos usuários, mas não queria o simples envio por e-mail, então percebi que o Fluig possuí opções "ocultas" para criar notificações personalizadas.

Vou mostrar como fiz para disparar notificações referentes a vencimento de CNH.

Com a intenção de organização foi criado o módulo Personalizadas às notificações com o seguinte código:

@brunogasparetto
brunogasparetto / ds_process_attachments_files.js
Last active March 26, 2024 12:41
Fluig: Pega os anexos de um processo juntamente com a sua URL de download
/**
* Pega os documentos anexos a um processo
*
* Deve informar o processId na Constraint (e só ele será usado para filtrar dados).
*
* @param {string[]} fields
* @param {Constraint[]} constraints
* @param {string[]} sortFields
*/
function createDataset(fields, constraints, sortFields) {
@brunogasparetto
brunogasparetto / fluig_send_email.js
Created June 25, 2022 14:13
Fluig: Envio de e-mail com todos anexos do processo
/*
* Super contribuição do vinny.silveira no fórum Fluiggers
* URL: https://fluiggers.com.br/t/envio-de-e-mail-com-anexos/545
*/
/**
* Método para enviar os anexos de uma solicitação anexadas em um e-mail
*
* @param {string} assunto Assunto do e-mail
* @param {string} conteudo Corpo do e-mail escrito em HTML
@brunogasparetto
brunogasparetto / fluig_gerar_pdf_anexar_processo.js
Last active January 24, 2024 21:46
Fluig: exemplo de como utilizar um serviço externo para gerar um PDF e então anexá-lo ao processo em uma atividade de serviço
/*
* Necessário criar um serviço SOAP no Fluig (Painel de controle -> Desenvolvimento -> Serviços)
* com o nome ECMDocumentService apontando para o /webdesk/ECMDocumentService?wsdl
*
* Mais informações: https://tdn.totvs.com/pages/releaseview.action?pageId=73084007
*/
/**
* Cria o PDF do formulário
*
@brunogasparetto
brunogasparetto / ds_create_folder.js
Created January 22, 2024 21:47
Fluig: Exemplo de criação de pasta utilizando o serviço ECMFolderService
// Deve-se cadastrar o serviço ECMFolderService pelo painel de controle
/**
* Cria uma pasta
*
* Deve-se passar as constraints:
* - parentId: ID da pasta pai;
* - folderName: Nome da pasta a ser criada;
*
* O Dataset retorna o ID da pasta criada.
@brunogasparetto
brunogasparetto / fluig_copiar_grupos_usuario.js
Last active November 9, 2023 12:24
Fluig: exemplo de como copiar os grupos de um usuário para outro
/**
* Copia os grupos de um usuário para outros usuários
*
* Obrigatório passar a constraint "from" com o login do usuário a ser copiado.
* Obrigatório passar a constraint "to" com o login do usuário a adicionar nos grupos.
*
* Pode-se indicar vários usuários "to".
*
* @param {string[]} fields Campos Solicitados
* @param {Constraint[]} constraints Filtros
@brunogasparetto
brunogasparetto / ds_usuarios_ativos.js
Created August 8, 2023 14:55
Fluig: dataset para pegar os usuários ativos permitindo filtrar por Grupos e Papeis
/**
* Usuários ativos no Fluig
*
* Dataset para facilitar a busca por usuários ativos que possam ser utilizados
* como responsáveis/destinatários de tarefas.
*
* Se informar uma constraint para groupId (indiferente do tipo, pois sempre vai considerar SHOULD)
* ele filtrará somente os usuários desse grupo. Pode-se enviar essa constraint para vários grupos
* ao mesmo tempo.
*
@brunogasparetto
brunogasparetto / importar_widget_fluig.md
Last active September 20, 2023 13:51
Fluig: Como importar uma Widget do Fluig para o Eclipse

Importar Widget do Fluig no Eclipse (Fluig Studio)

Você pode baixar a Widget pelo Painel de Controle exportando a página onde a Widget está ou indo no diretório do Fluig (no computador onde ele está instalado) e copiar o .war da pasta appserver/apps.

O arquivo .war nada mais é do que um arquivo compactado. Você pode usar qualquer descompactador (e se quiser até renomear pra .zip pro Windows reconhecer).

Pra editar eu aconselho a fazer o seguinte procedimento:

@brunogasparetto
brunogasparetto / criar_documento_fluig.js
Last active January 30, 2023 19:41
Fluig - Exemplo de Gerar e Enviar um PDF à uma pasta GED do Fluig
// Foram usadas as bibliotecas blob-stream e pdfkit
async function generatePdf() {
const usuario = "login",
senha = "senha",
matricula_usuario = 'admin',
pdf = new PDFDocument(),
stream = pdf.pipe(blobStream()),
fileName = 'Nome_Do_Arquivo.pdf',
folderId = await findOrCreateFolderId("nova_pasta");
@brunogasparetto
brunogasparetto / send_file_webservice.js
Last active December 14, 2022 22:54
Fluig: enviar um documento do GED para um WS externo como chunked post
var fluigUsername = "username";
var fluigPassword = "password";
var fluigEmpresa = 1;
var documentId = 0;
var documentVersion = "1000";
var documentDescription = "arquivo.pdf";
var mimeType = "application/pdf";
var ECMDocumentServiceProvider = ServiceManager.getServiceInstance("ECMDocumentService");
var ECMDocumentServiceLocator = ECMDocumentServiceProvider.instantiate("com.totvs.technology.ecm.dm.ws.ECMDocumentServiceService");