🗄️ Rotinas Participantes de App

Tabela auxiliar que armazena rotinas participantes dos apps.
🔗 Tabela relacionada: apps

📋 9 colunas 🔗 3 relacionamentos 🎮 6 controles 👁️ view_apps_rotinas_participantes 🔑 PRIMARY KEY

📋 Estrutura da Tabela

A tabela apps_rotinas_participantes possui 9 colunas.

🔑 Id PRIMARY KEY
🔑 PRIMARY KEY🔒 Somente leitura💾 Grava
Campo Tabela id
Campo VIEW / Exibido id
Tipo number (readonly - PRIMARY KEY)
Data Table apps_rotinas_participantes
Descrição

Campo id

🔑 PRIMARY KEY

Campo na tabela: id

Readonly: ✅ Gerado automaticamente pelo sistema

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id
  • Tabela OndeVou apps_rotinas_participantes
  • Tabelas: apps_rotinas_participantes ✅
  • 🔑 PRIMARY KEY
📋 Participante
✅ Obrigatório🔒 Somente leitura💾 Grava
Campo Tabela participante
Campo VIEW / Exibido participante
Tipo number
Data Table apps_rotinas_participantes
Descrição

Campo participante

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou participante
  • ID Default OndeVou 1
  • Tabela OndeVou apps_rotinas_participantes
  • Tabelas: apps_rotinas_participantes ✅
  • Default: 1
📋 Membro
✅ Obrigatório🔒 Somente leitura💾 Grava🔗 getdata
Campo Tabela id_membro
Campo VIEW / Exibido nome_membro (ID: id_membro)
Tipo number (getdata)
Data Table apps_rotinas_participantes
Descrição

Campo membro

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_membro
  • ID OndeVou id_membro
  • Tabela OndeVou apps_rotinas_participantes
🔗 Getdata
  • {
      "view": "view_membros_participantes",
      "data": "view_membros_participantes",
      "text-empty-search": "sim",
      "campo-data-id": "id_membro",
      "campo-data-value-input": "nome_membro",
      "campo-data-input-select-view": "nome_membro,email_membro,nome_situacao",
      "query": {
        "select": "* from view_membros_participantes",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(concat(id_membro,` `,nome_membro,` `,email_membro))) ilike `%",
              "right": "%`) and (id_participante=`1`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_membro
  • Tabelas: apps_rotinas_participantes ✅
  • FormSearch: ✓
📋 Id apps rotina
🔒 Somente leitura💾 Grava
Campo Tabela id_apps_rotina
Campo VIEW / Exibido id_apps_rotina
Tipo number
Data Table apps_rotinas_participantes
Descrição

Campo id apps rotina

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_apps_rotina
  • Tabela OndeVou apps_rotinas_participantes
  • Tabelas: apps_rotinas_participantes ✅
📋 Id app
🔒 Somente leitura💾 Grava
Campo Tabela id_app
Campo VIEW / Exibido id_app
Tipo number
Data Table apps_rotinas_participantes
Descrição

Campo id app

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_app
  • Tabela OndeVou apps_rotinas_participantes
  • Tabelas: apps_rotinas_participantes ✅
📋 App
✅ Obrigatório📋 Somente view🔗 getdata
Campo Tabela id_app
Campo VIEW / Exibido nome_app ⚠️ (somente view)
Tipo number (getdata)
Data Table view_apps_rotinas_participantes
Descrição

Campo app

Getdata🔗 apps
📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
📊 Dados
  • Campo OndeVou nome_app
  • ID OndeVou id_app
  • Tabela OndeVou view_apps_rotinas_participantes
🔗 Getdata
  • {
      "view": "view_apps",
      "data": "view_apps",
      "text-empty-search": "sim",
      "campo-data-id": "id_app",
      "campo-data-value-input": "nome_app",
      "campo-data-input-select-view": "nome_app",
      "query": {
        "select": "* from view_apps",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(nome_app)) ilike `%",
              "right": "%`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_app
  • Tabelas: view_apps_rotinas_participantes (só view)
  • FormSearch: ✓
📋 Id rotina
🔒 Somente leitura💾 Grava
Campo Tabela id_rotina
Campo VIEW / Exibido id_rotina
Tipo number
Data Table apps_rotinas_participantes
Descrição

Campo id rotina

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_rotina
  • Tabela OndeVou apps_rotinas_participantes
  • Tabelas: apps_rotinas_participantes ✅
📋 Rotina
✅ Obrigatório📋 Somente view🔗 getdata
Campo Tabela id_rotina
Campo VIEW / Exibido nome_rotina ⚠️ (somente view)
Tipo number (getdata)
Data Table view_apps_rotinas_participantes
Descrição

Campo rotina

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
📊 Dados
  • Campo OndeVou nome_rotina
  • ID OndeVou id_rotina
  • Tabela OndeVou view_apps_rotinas_participantes
🔗 Getdata
  • {
      "view": "view_rotinas",
      "data": "view_rotinas",
      "text-empty-search": "sim",
      "campo-data-id": "id_rotina",
      "campo-data-value-input": "nome_rotina",
      "campo-data-input-select-view": "id_rotina,nome_rotina",
      "query": {
        "select": "* from view_rotinas",
        "where": {
          "and": {
            "texto_digitado": {
              "left": "(unaccent(LOWER(concat(id_rotina,` `,nome_rotina))) ilike `%",
              "right": "%`)"
            }
          }
        }
      }
    }
🔍 Formsearch
  • {
      "required": ""
    }
  • ID: id_rotina
  • Tabelas: view_apps_rotinas_participantes (só view)
  • FormSearch: ✓
📋 Ativo
🔒 Somente leitura💾 Grava
Campo Tabela ativo
Campo VIEW / Exibido ativo
Tipo text
Data Table apps_rotinas_participantes
Descrição

Campo ativo

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou ativo
  • Tabela OndeVou apps_rotinas_participantes
  • Tabelas: apps_rotinas_participantes ✅
📌 Legenda: 🔑 PRIMARY KEY ✅ Obrigatório 🔒 Somente leitura 👁️ Oculto 💾 Grava 📋 Somente view 🔗 getdata 📝 putdata 🔢 AutoInc 📱 QR Code 📋 Auditoria 📱 GetCollector

🔗 Relacionamentos

Tabelas relacionadas via getdata.

membros_participantes · Auxiliar: Membro 📄
apps · Principal: App 📄
rotinas · Principal: Rotina 📄

🔍 Filtros (formsearch)

Campos disponíveis para filtragem na busca.

Nenhum filtro disponível.

🎮 Controles Disponíveis

Ações que o usuário pode realizar na tabela.

📂 Controle
🔘 Add add 🔘 Copy copy 🔘 Edit edit 💾 Salvar save 🔘 Delete delete 🔘 Remove remove

👁️ View Associada

Nome: view_apps_rotinas_participantes

🔑 PRIMARY KEY - Campo Id

O campo Id é a chave primária da tabela apps_rotinas_participantes.

Configuração

'Id': {
    'input': {
        'readonly': 'readonly',
        'data-type-ondevou': 'number',
        'data-field-ondevou': 'id',
        
        'data-table-ondevou': 'apps_rotinas_participantes'
    }
}

Comportamento

  • 🔒 Readonly: Campo não editável
  • 📊 Tipo: number

💾 JSON da Tabela

Estrutura completa em JSON para integração com APIs e IAs.

code Clique para ver o JSON completo 4 KB
{
  "table-id": "apps_rotinas_participantes",
  "data-table-ondevou": "apps_rotinas_participantes",
  "table-class": "highlight",
  "controls": [
    "add",
    "copy",
    "edit",
    "save",
    "delete",
    "remove"
  ],
  "html": {
    "div": {
      "before": "",
      "after": ""
    }
  },
  "pdf": {
    "format": "a4",
    "orientation": "portrait",
    "columns-remove": [
      "Participante"
    ]
  },
  "headers": {
    "Id": {
      "width": "8%"
    },
    "Participante": {
      "width": "10%"
    },
    "Membro": {
      "width": "20%"
    },
    "Id apps rotina": {
      "width": "8%"
    },
    "Id app": {
      "width": "7%"
    },
    "App": {
      "width": "20%"
    },
    "Id rotina": {
      "width": "7%"
    },
    "Rotina": {
      "width": "25%"
    },
    "Ativo": {
      "width": "6%"
    }
  },
  "columns": {
    "Id": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id",
        "data-table-ondevou": "apps_rotinas_participantes"
      }
    },
    "Participante": {
      "input": {
        "data-type-ondevou": "number",
        "readonly": "readonly",
        "required": "required",
        "data-id-field-ondevou-default": "1",
        "data-field-ondevou": "participante",
        "data-table-ondevou": "apps_rotinas_participantes"
      }
    },
    "Membro": {
      "input": {
        "data-type-ondevou": "number",
        "readonly": "readonly",
        "required": "required",
        "data-id-field-ondevou": "id_membro",
        "data-field-ondevou": "nome_membro",
        "data-table-ondevou": "apps_rotinas_participantes",
        "getdata": "{\"view\":\"view_membros_participantes\",\"data\":\"view_membros_participantes\",\"text-empty-search\":\"sim\",\"campo-data-id\":\"id_membro\",\"campo-data-value-input\":\"nome_membro\",\"campo-data-input-select-view\":\"nome_membro,email_membro,nome_situacao\",\"query\":{\"select\":\"* from view_membros_participantes\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_membro,` `,nome_membro,` `,email_membro))) ilike `%\",\"right\":\"%`) and (id_participante=`1`)\"}}}}}",
        "formsearch": {
          "required": ""
        }
      }
    },
    "Id apps rotina": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_apps_rotina",
        "data-table-ondevou": "apps_rotinas_participantes"
      }
    },
    "Id app": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_app",
        "data-table-ondevou": "apps_rotinas_participantes"
      }
    },
    "App": {
      "input": {
        "data-type-ondevou": "number",
        "required": "required",
        "data-id-field-ondevou": "id_app",
        "data-field-ondevou": "nome_app",
        "data-table-ondevou": "view_apps_rotinas_participantes",
        "getdata": "{\"view\":\"view_apps\",\"data\":\"view_apps\",\"text-empty-search\":\"sim\",\"campo-data-id\":\"id_app\",\"campo-data-value-input\":\"nome_app\",\"campo-data-input-select-view\":\"nome_app\",\"query\":{\"select\":\"* from view_apps\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(nome_app)) ilike `%\",\"right\":\"%`)\"}}}}}",
        "formsearch": {
          "required": ""
        }
      }
    },
    "Id rotina": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_rotina",
        "data-table-ondevou": "apps_rotinas_participantes"
      }
    },
    "Rotina": {
      "input": {
        "data-type-ondevou": "number",
        "required": "required",
        "data-id-field-ondevou": "id_rotina",
        "data-field-ondevou": "nome_rotina",
        "data-table-ondevou": "view_apps_rotinas_participantes",
        "getdata": "{\"view\":\"view_rotinas\",\"data\":\"view_rotinas\",\"text-empty-search\":\"sim\",\"campo-data-id\":\"id_rotina\",\"campo-data-value-input\":\"nome_rotina\",\"campo-data-input-select-view\":\"id_rotina,nome_rotina\",\"query\":{\"select\":\"* from view_rotinas\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_rotina,` `,nome_rotina))) ilike `%\",\"right\":\"%`)\"}}}}}",
        "formsearch": {
          "required": ""
        }
      }
    },
    "Ativo": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "ativo",
        "data-table-ondevou": "apps_rotinas_participantes"
      }
    }
  },
  "formsearch": {
    "data-table-ondevou": "view_apps_rotinas_participantes",
    "data-where-fixed": "participante=`1` and ativo=`S`",
    "data-where-order": "order by id asc",
    "input": {}
  },
  "url_documentacao": "/docs/ondevou-db-apps_rotinas_participantes.html",
  "nome_tabela": "apps_rotinas_participantes"
}

📝 SQL CREATE TABLE - Estrutura Completa

Comando SQL COMPLETO para criar a tabela apps_rotinas_participantes no PostgreSQL. Esta estrutura foi extraída DIRETAMENTE do banco de dados.

🏗️ Estrutura Completa

📋 5 colunas 🔗 12 constraints 📑 4 índices ⚡ 0 triggers
code Clique para ver o SQL completo ✅ COMPLETO
-- ============================================================
-- ESTRUTURA COMPLETA DA TABELA apps_rotinas_participantes
-- Fonte: PostgreSQL - 12/08/2026 10:23:45
-- ============================================================

CREATE TABLE public.apps_rotinas_participantes (
    id integer NOT NULL DEFAULT nextval('apps_rotinas_participantes_id_seq'::regclass),
    participante integer NOT NULL,
    id_membro integer,
    id_apps_rotina integer,
    ativo varchar(1),
    CONSTRAINT apps_rotinas_participantes_pkey PRIMARY KEY (id),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (id_apps_rotina),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (id_apps_rotina),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (id_apps_rotina),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (id_membro),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (id_membro),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (id_membro),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (participante),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (participante),
    CONSTRAINT apps_rotinas_participantes_unique_participante_id_membro_id_app UNIQUE (participante),
    CONSTRAINT 2200_220524_1_not_null CHECK (id IS NOT NULL),
    CONSTRAINT 2200_220524_2_not_null CHECK (participante IS NOT NULL)
);

-- ============================================================
-- ÍNDICES
-- ============================================================
CREATE UNIQUE INDEX apps_rotinas_participantes_pk_id ON public.apps_rotinas_participantes USING btree (id);
CREATE UNIQUE INDEX apps_rotinas_participantes_unique_participante_id_membro_id_app ON public.apps_rotinas_participantes USING btree (participante, id_membro, id_apps_rotina);
CREATE INDEX idx_apps_rotinas_participantes_p_id ON public.apps_rotinas_participantes USING btree (participante, id DESC);
CREATE INDEX idx_apps_rotinas_participantes_participante ON public.apps_rotinas_participantes USING btree (participante);

SQL extraído DIRETAMENTE do banco de dados

📊 Comparação: JSON Config vs Banco Real

Verifique se a configuração JSON está sincronizada com a estrutura do banco de dados.

Campo Tipo (JSON) Tipo (Banco) Status
ativo text character varying ✅ OK
id number integer ✅ OK
id_app number - ⚠️ Só no JSON
id_apps_rotina number integer ✅ OK
id_membro - integer ❌ Só no banco
id_rotina number - ⚠️ Só no JSON
nome_app number - ⚠️ Só no JSON
nome_membro number - ⚠️ Só no JSON
nome_rotina number - ⚠️ Só no JSON
participante number integer ✅ OK

💡 Dica: Use esta comparação para garantir que a configuração JSON está atualizada com a estrutura do banco.
📌 Legenda: ✅ OK = presente em ambos | ⚠️ Só no JSON = pode ser um campo virtual | ❌ Só no banco = falta adicionar ao JSON

💡 Como Popular a Tabela

Exemplo prático usando o padrão OndeVou.

📋 Fluxo completo padrão

// 1. Buscar dados com getData
var dados_retorno = getData({
    'query': `SELECT * FROM view_apps_rotinas_participantes WHERE participante = ${globais.dados_fixo.participante}`,
    'view': 'view_apps_rotinas_participantes'
});

// 2. Definir painel e slide
var painel = globais.dados_pagina.visivel.painel;
var slide = globais.dados_pagina.visivel.slide;

// 3. Encontrar a tabela no DOM
var idTable = getIdTableFromSlide({ 'table-id': 'apps_rotinas_participantes' });

// 4. Resetar a tabela
setTableControlsReset(idTable);

// 5. Popular a tabela
setTableControlsSetValue(idTable, dados_retorno);

🏆 Propriedade Intelectual

OndeVou.com Marca Registrada

Marca Registrada

OndeVou.com®

Propriedade Intelectual Assegurada

Processo INPI:
908765967
Titular:
ONDEVOU.COM TECNOLOGIA LTDA
CNPJ:
17.058.605/0001-36
Classificação:
Classe 42 - Serviços de TI