Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
HTML
<style>
  /* Início estilo banner */

  .compositiondani-banner {
    position: relative;
    min-height: 220px;
    border-radius: 5px;
    margin-bottom: 5px;
    overflow: hidden;
  }

  .compositiondani-banner-image {
    background-image: url("https://totvscrm.com/wp-content/uploads/2023/08/capa-com-fundo-e-sem-icone-TDN21.png");
    background-size: cover;
    min-height: inherit;
    width: 100%;
  }

  .compositiondani-banner-overlay {
    min-height: inherit;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    pointer-events: none;
  }

  .compositiondani-banner-logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -50%);
  }

  .compositiondani-banner-logo {
    width: 350px;
    height: 180px;
    background-image: url("https://totvscrm.com/wp-content/uploads/2023/08/logo.png");
    background-size: contain;
    background-repeat: no-repeat;
  }

  .compositiondani-banner-title {
    margin-bottom: 10px !important;
    padding: 10px !important;
    background: rgba(0, 0, 0, 0.5) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    max-height: 133px !important;
    font-family: "Roboto", sans-serif !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: #ffffff !important;
    position: relative !important;
    margin-top: 130px !important;
    border-radius: 10px !important;
  }

  .compositiondani-banner-content {
    position: absolute;
    padding: 30px;
    max-width: 60%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: white;
    text-align: center;
  }

  .custom-header h1 {
    font-size: 16px;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px;
    border-radius: 5px;
    margin: 0;
  }

  .negrito-materialize {
    font-weight: bold;
  }

  .custom-margin-justified {
    margin: 0 20px;
    text-align: justify;
  }
    /* Final estilo banner */

       /* Final estilo banner */

      #content.page.view {
    padding-right: 0 !important;
}   /* impedir vermelho no nav */

#breadcrumb-section > nav {
    background-color: initial !important;
    box-shadow: none !important;
}

@media only screen and (min-width: 601px) {
    nav, 
    nav .nav-wrapper i, 
    nav a.sidenav-trigger, 
    nav a.sidenav-trigger i {
        height: auto !important;
        line-height: normal !important;
    }
}
/* final vermelho no nav */   </style>

<header>
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap" rel="stylesheet"/>

  <div class="compositiondani-banner">
    <div class="compositiondani-banner-image"></div>
    <div class="compositiondani-banner-overlay"></div>
    <div class="compositiondani-banner-logo-container">
      <div class="compositiondani-banner-logo"></div>
    </div>
    <div class="compositiondani-banner-content">
      <h1 class="compositiondani-banner-title">PROVAÇÃO>CAMPOS DEADICIONAIS PEDIDOSDINÂMICOS POR(SQL) BLOQUEIOEM DE CLIENTES<FORMULÁRIOS</h1>
</header>
  </div>
</div>
HTML
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"/>
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap" rel="stylesheet"/>

<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
/>
<link
  href="https://fonts.googleapis.com/icon?family=Material+Icons"
  rel="stylesheet"
/>
<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<!-- Inclua o estilo do tema Monokai -->



  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/monokai.min.css"/>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
  

  <style>
  /* ==============================
    =       CONFIGURAÇÕES GERAIS      =
    =============================== */

* {
  font-family: "Roboto", sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}

a {
  color: #42526e;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  color: white;
}

li {  font-size: 14px !important;
}

h3 {  font-size: 14px !important;
  font-weight: bold;  

}

h1 {  font-size: 13px !important;
  

}

h2 {  font-size: 15px !important;
  font-weight: bold;  

}

td, th {
    padding: 4px;
}


/* ==============================
      =        ESTILOS DE TÍTULOS       =
      =============================== */

#title-text {
  display: none !important;
}

.wiki-content h1,
.wiki-content h2 {
  font-family: "Roboto", sans-serif !important;
  font-size: 13px!important;
 
}

.wiki-content h1 {
  font-size: 13px !important;
}

.wiki-content h2 {
  font-size: 14px !important;
  color: #42526e !important;
  border-bottom: 2px solid #dfe1e5;
   padding-bottom: 5px;
  font-weight: bold;  
}

.custom-heading,
h3.custom-h3 {
  font-size: 16px;
  color: #42526e;
  margin-bottom: 20px;
}

.custom-h1 {
  color: #feac0e;
}

.explanation h2 {
  font-weight: bold;
}

/* ==============================
      =        ESTILOS DE TEXTO         =
      =============================== */

.wiki-content p {
  font-size: 14px !important;
}

.justificado,
.custom-justified {
  text-align: justify;
  margin: 10px 0;
}

/* ==============================
      =       ESTILOS DE LINKS         =
      =============================== */

.wiki-content a,
.wiki-content a:link,
.wiki-content a:visited,
.wiki-content a:focus,
.wiki-content a:active {
  text-decoration: none;
  color: #42526e;
  font-size: 14px;


}

.wiki-content a:hover {
  color: white;
}

/* ==============================
      =       ESTILOS DE CONTAINER     =
      =============================== */



.custom-content {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 8px;
  margin: 0 10px;
  max-width: 100%;
  overflow: hidden;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

/* ==============================
      =       ESTILOS DE CARDS         =
      =============================== */

.card {
  border: 2px solid #9aa1ad;
  padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background-color: #f4f5f7;
  color: #42526e;
  overflow-x: hidden;
   top: 0;
  
}



/* ==============================
      =       ESTILOS DE TABS          =
      =============================== */

.tabs {
  background-color: #dfe1e5;
}

.tabs .tab a {
  color: rgb(66, 82, 110);
}

.tabs .tab a:hover,
.tabs .tab a.active,
.tabs .tab a:focus.active {
  color: #6B48FF;
  background-color: transparent;
}

.tabs .tab a:focus {
  background-color: rgba(82, 97, 232, 0.25);
}

.tabs .tab.disabled a,
.tabs .tab.disabled a:hover {
  color: rgba(16, 148, 184, 0.24);
}

.tabs .indicator {
  background-color: #6B48FF;
}

.tab-content {
   gap: 0;
  padding: 10px;
}

.tab-content pre {
  max-width: 100%;
  overflow-x: hidden;
}

/* ==============================
      =        ESTILOS DE ÍCONES        =
      =============================== */

.icon-list,
.icon {
  padding-left: 0;
  list-style-type: none;
}

.icon {
  display: inline-block;
  width: 24px;
  vertical-align: middle;
  margin-right: 45px;
  position: relative;
  left: -25px;
}

.item .label i {
  margin-right: 10px;
}

/* ==============================
      =    ESTILOS DE COMPONENTES      =
      =============================== */

.collapsible,
.collapsible-header,
.collapsible-body {
  box-shadow: none !important;
}

.faq-question {
  font-weight: bold;
  margin-bottom: 5px;
}

.faq-answer {
  margin-bottom: 20px;
}

.custom-list {
  padding-left: 0;
  margin-left: 1.5em;
}

.custom-list li {
  position: relative;
  padding-left: 1em;
}

ul.custom-list {
  padding-left: 10px;
}

ul.custom-list li {
  position: relative;
  list-style-type: disc;
  padding-left: 30px;
  margin-bottom: 10px;
}

.item {
  display: flex;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.item:last-child {
  border-bottom: none;
}

.item .label {
  flex: 1;
  font-weight: bold;
}

.item .value {
  flex: 1;
  text-align: right;
}
.item {
  border-bottom: 1px solid #e0e0e0;
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.item:last-child {
  border-bottom: none;
}

/* Estilos para o label */
.label {
  font-weight: bold;
  display: flex;
  align-items: center;
}

.item .label i {
  margin-right: 10px; /* Adiciona espaço depois dos ícones */
}

/* ==============================
      =     ESTILOS DE IMAGENS         =
      =============================== */

.imagem-responsiva {
  max-width: 100%;
  height: auto;
}

.custom-header-bg img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==============================
      =     ESTILOS DE VÍDEO           =
      =============================== */

#youtube-video-container iframe {
  width: 100%;
  height: auto;
  display: block;
}

.video-container {
    max-width: 800px;
    margin: 0 auto;
  }

.ytp-cued-thumbnail-overlay-image {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
}

/* ==============================
      =    OUTROS ESTILOS PERSONALIZADOS =
      =============================== */
.custom-content {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 8px;
  margin: 0 10px;
  max-width: 100%;
  overflow: hidden;
}

.custom-heading {
  font-size: 16px;
  color: #42526e;
  margin: 10px 0;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 5px;
  font-weight: bold;  
}

#indice {
  border-radius: 5px;
  padding: 20px;
  max-width: 100%;
  overflow: hidden;
}

#indice h2 {
  text-align: center;
  margin-bottom: 16px;
}

#indice ul {
  list-style-type: none;
  padding-left: 0;
}

#indice li {
  padding: 10px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

#indice li:last-child {
  border-bottom: none;
}

#indice li:hover {
  background-color: #6B48FF;
  color: white;
}

/* ==============================
  =      ESTILOS DE TABELAS        =
  ============================== */
.custom-grey {
  background-color: #ffffff;
}

.custom-grey th,
.custom-grey td {
  border: 1px solid #42526e;
  padding: 10px;
}

.custom-grey th {
  color: #fff;
  background-color: #42526e;
}



.custom-grey td {
  font-size: 13px;
}

.custom-grey tr:nth-child(odd) {
  background-color: #e4e4e6;
}

.custom-grey tr:nth-child(even) {
  background-color: #dfdfdf;
}

/* ========== FIM DO ESTILO ========= */
/* Estilo para o bloco de código */

/* Estilo para blocos de código dentro de .tab-content */


           .highlight-container pre code {
            background-color: #2d2d2d; /* Cor de fundo escuro */
            color: #f8f8f2; /* Cor do texto claro */
            padding: 10px; /* Espaçamento interno */
            border-radius: 5px; /* Bordas arredondadas */
            overflow-x: auto; /* Barra de rolagem horizontal se necessário */
            font-family: 'Courier New', Courier, monospace; /* Fonte do código */
        }

        /* Estilo para a tag <pre> dentro do contêiner */
        .highlight-container pre {
            margin: 20px 0; /* Margem acima e abaixo do bloco de código */
            padding: 0; /* Sem preenchimento extra */
        }
 

  </style>
  






  <!-- Tabs e conteúdo das guias -->
  <div class="card">
    <ul class="tabs">
      <li class="tab col s4"><a href="#tab1">DETALHES FUNCIONAIS</a></li>
      <li class="tab col s4"><a href="#tab2">DETALHES TÉCNICOS</a></li>
      <li class="tab col s4"><a href="#tab3">FAQ</a></li>
    </ul>
     <!-- Tab Content -->
 
      <div id="tab1" class="col s12">
        <div class="tab-content">
          <div style="background-color: #f4f5f7; padding: 10px; margin-left: 50px; margin-right: 50px;">
            <section id="section1" style="margin-top: 40px;">
               <!-- Tab 70 conteúdo -->
  <!-- Segundo Card -->

    <!-- Primeiro Card -->
  <!-- Primeiro Card -->
  <div class="card">
    <div class="item">
      <span class="label">
        <table border="1">
          <tr>
              <td><i class="fas fa-tags"></i> Produto:</td>
              <td>Automação da Força de Vendas</td>
          </tr>
          <tr>
              <td><i class="fas fa-link"></i> Linha de Produto:</td>
              <td>TOTVS CRM</td>
          </tr>
          <tr>
              <td><i class="fas fa-chart-pie"></i> Segmento:</td>
              <td>Cross Segmentos</td>
          </tr>
          <tr>
              <td><i class="fas fa-desktop"></i> Módulo:</td>
              <td>Venda<td>Formulário/AprovaçãoCampos adicionais
            </td>
          </tr>
          <tr>
              <td><i class="fas fa-globe"></i> Aplicação:</td>
              <td>Web/app móvel</td>
          </tr>
          <tr>
              <td><i class="fas fa-hashtag"></i> Identificador:</td>
              <td>DTSFAPD-23992616 </td>
          </tr>
      </table>
      </span>
    </div>
    </div>
 

      <br>

       <!-- Segundo Card -->

       <h2 class="custom-heading">
        <i class="fa-solid fa-eye"></i>&nbsp &nbsp VISÃO GERAL
      </h2>
      <p class="justificado">
        AAgora, últimaé atualizaçãopossível introduziuincluir o"Campos parâmetroAdicionais" deem aprovaçãoformulários, deutilizando pedidosconsultas mediante o bloqueio de clientesSQL personalizadas. EstaIsso inovaçãopermite possibilitauma quemaior osflexibilidade bloqueios,e anteriormenteadaptação associadosàs aosnecessidades cadastrosespecíficas dedo clientesusuário, sejamutilizando automaticamentedados validadosdiretamente durantedo obanco processo de vendadados.

 Assim, quando um pedido de um cliente com bloqueio cadastrado é feito, ele é automaticamente encaminhado para um processo de aprovação, exigindo a análise de um usuário autorizado antes de ser finalizado.
        

        
      
      </p>
<br>

    <h2 class="custom-heading">
      <i class="fa-solid fa-rocket"></i>&nbsp &nbsp OBJETIVO
    </h2>
    <p class="justificado">
        O objetivo desta atualização é aprimoraroferecer omaior controleversatilidade de vendas, especialmentee customização em casosformulários dedo clientesTOTVS comCRM restriçõesSFA, cadastradas.permitindo Aque funcionalidadeos buscausuários garantircriem queperguntas pedidospersonalizadas realizadoscom parabase clientesem bloqueadosinformações passemespecíficas por um processo de verificação e aprovação adicional, aumentando a segurança e a conformidade nas transações comerciaisdo sistema, acessadas por consultas SQL.
    </p>
    <br>

  <!-- ... (seu conteúdo existente) ... -->

               <h2 class="custom-heading">
                <i class="fa-solid fa-book"></i> &nbsp ANTES DE COMEÇAR
            </h2>section>

            <h3>Requisitos</h3>
            <p>Essencial realizar a configuração do bloqueio no cadastro de clientes para ativar a funcionalidade.</p>
            
          </section>

          <section id=<section id="section2" style="margin-top: 40px;">
            <h2 class="custom-heading"><i class="fa-solid fa-star"></i>&nbsp DETALHES FUNCIONAIS</h2>
            <h3>Funções </h3>
        
            <ol>
                <li>Implementação de um"Campos parâmetroAdicionais" para vincular o cadastrocontexto de bloqueios de clientes à aprovação de pedidos.</li>
formulários.</li>
                <li>Nova busca para tipo de campo <li>A"Pesquisa funcionalidadeem éEntidade", ativadapermitindo marcandouso ade opçãoConsulta "RequerSQL aprovação"em como "sim" no cadastro de bloqueios dos clientesbanco de dados.</li>
        
        <li>Configuração de campos adicionais </ol>
na tela de cadastro de campos adicionais (Cadastro -> Geral -> Campos 
Adicionais), com opções para Base de Dados e Consulta  SQL.</section>li>
         
      
 <li>Integração dos campos adicionais nas perguntas dos formulários.</li>  <section      
            </ol>
            
          </section>
         
      
          <section id="section3" style="margin-top: 40px;">
            <h2 class="custom-heading"><i class="fa-solid fa-shoe-prints"></i>&nbsp COMO USAR?</h2>
            <h3> Passo a Passo</h3>

            <ol><li><p><b>Ativar 'PEDIDO_BLOQUEIO' no Cadastro de Venda<ol><li><p><b>Configuração de Campos Adicionais:</b></p><ul><li>Acesse a'Cadastro seçãoGeral' "Tipo> de Aprovação" e ative o registro <code>PEDIDO_BLOQUEIO</code>.</li></ul></li><li><p><b>Configurar Tipos de Bloqueio:</b></p><ul><li>Em "Tipo Bloqueio", adicione os bloqueios que serão aplicados aos clientes'Campos Adicionais' no TOTVS CRM SFA.</li><li>Crie ou edite campos, definindo o contexto como "Formulário" e tipo como "Pesquisa em Entidade".</li></ul></li><li><p><b>Aplicarli><li><p><b>Definição Bloqueioda aoConsulta ClienteSQL:</b></p><ul><li>Nop><ul><li>Escolha cadastrouma do cliente, vá à aba "Bloqueio" e adicione o bloqueio configuradoconsulta pré-cadastrada ou insira uma consulta SQL personalizada em 'Consulta SQL'.</li></ul></li></ol>
li><li><p><b>Integração com Formulários:</b></p><ul><li>Em 'Cadastro de Formulários', adicione perguntas selecionando "Campo Adicional" e escolha o campo personalizado.</li></ul></li><li><p><b>Responder e Visualizar Formulários:</b></p><ul><li>Responda aos formulários na Web ou no Android, utilizando as opções dos campos adicionais.</li></ul></li></ol>
            <br>

          <p>
            <video autoplay loop muted style="width: 100%; height: auto; max-width: 100%; display: block;">
              <source src="https://totvscrm.com/wp-content/uploads/2024/01/tdnbloqueiootimizadoSQLcompressaomp4.mp4" type="video/mp4">
            </video>
          </p><br>   
         

          </section>

          <section id="section4" style="margin-top: 40px;">
            <h2 class="custom-heading"><i class="fa-solid fa-signs-post"></i> &nbspEXEMPLO PRÁTICO</h2>
                       

             
              <b>Desafio Antigo:</b>
              <p>Dificuldade<p>Limitação emna controlarpersonalização vendasde para clientes com restrições, formulários devido à ausênciafalta de umopções mecanismopara automatizadoincluir dedados aprovaçãoespecíficos dedo pedidossistema.
                
                </p>
              
              <br>
              
              <b>Solução Atualizada:</b>
              <p>Com oa novonova recursofuncionalidade, pedidosos parausuários clientespodem comagora bloqueioscriar quecampos exigemadicionais aprovaçãoem sãoformulários automaticamentecom enviadosdados paradinâmicos umobtidos processoatravés de verificaçãoconsultas e autorizaçãoSQL, proporcionandomelhorando uma controlepersonalização maise efetivoa erelevância segurodas nasinformações transações comerciaiscoletadas.
                </p>
              
              <br>
              
              
              </p>
          </section>
      
         
          </div>
          
            <!-- Tab 30 fim -->
          
            <!-- Tab 30 fim -->
          
          </div>
        </div>
    


      <div id="tab2" class="col s12">
        <div class="tab-content">
          <div style="background-color: #f4f5f7; padding: 20px; margin-left: 50px; margin-right: 50px;">
            <section id="section5" style="margin-top: 40px;">
            <!-- Primeira coluna do conteúdo da guia 2 -->
            <h2 class="custom-heading"><i class="fa-solid fa-gear"></i>&nbsp DETALHES TÉCNICOS</h2>

<ol>
<b> <p>Banco   <li><p><strong>Toolsde Dados</p></b>

<b><p>Tools, Opção 3</strong>: Adicionar campo 'idtipoaprovacao' (FK para a tabela 'tipoaprovacao', nullable) na tabela 'tipobloqueio'.</p></li>

    <li><p><strong>Tools, Opção 18</strong>: Criar tipo de aprovação conforme configuração abaixo:</p></li>


    <div style="background-color: #2d2d2d; padding: 10px; border-radius: 5px;">
    <pre style="margin: 0; overflow-x: auto;"><code class="language-xml" style="color: #f8f8f2; font-family: 'Courier New', Courier, monospace;">
        &lt;changeSet author="systemScript" failOnError="false" id="" runOnChange="true"&gt;
        &lt;preConditions onError="HALT" onFail="MARK_RAN" onSqlOutput="IGNORE"&gt;
            &lt;customPrecondition className="com.wealthsystems.sim3g.dao.hibernate.api.liquibase.custom.precondition.RegisterExistsPrecondition"&gt;
     /p></b>
            <ol><li>Na tabela 'campo', adicionar:<ul><li>'idconsulta': integer, nullable, FK para 'consulta'</li><li>'idconexao': integer, nullable, FK para 'conexao'</li><li>'sql': bytea, nullable</li></ul></li><li>Na tabela 'pesquisapergunta', adicionar:<ul><li>'idcampo': integer, nullable, FK para 'campo'</li></ul></li><li>Na tabela 'pesquisapergresulopcao', adicionar:<ul><li>'respostacodigo': varchar(200), nullable</li></ul></li>
<br>

<b> <p>Menu Consulta:</p></b>


            <li><b>Alteração de Endereço do Menu</b>:<ul><li>Modificar endereço de "Cadastro > Dashboard > Consulta" para "Cadastro > Geral > Consulta".</li></ul></li>

            <br>
            <b> <p>Cadastro de Campos Adicionais:</p></b>

            <li><b>Tela de Cadastro de Campos Adicionais</b>:<ul><li>Na tela "Cadastro > Geral > Campos adicionais":<ul><li>Em "Contexto", incluir nova opção "Formulário" (valor "FORM").</li><li>Se "Contexto" = "Formulário" e "Tipo de campo" = "Pesquisa em entidade":<ul><li>Adicionar opção "Entidade genérica" (valor "GENERICO") em "Busca".</li><li>Mostrar campos adicionais após "Busca" para "Consulta" e opções avançadas.</li></ul></li><li>Em "Opções Avançadas", inserir "Base de dados", "Consulta SQL" e botão "Confirmar" para validação da consulta SQL.</li></ul></li></ul></li>
           &lt;param name="table" value="TipoAprovacao"/&gt;
 <br>
            <b><p>Cadastro de Formulário:</p></b>
    &lt;param name="column" value="sglTipoAprovacao"/&gt;
      <li><b>Tela de Cadastro de Formulários</b>:<ul><li>No campo "Tipo da pergunta",  &lt;param name="value" value="'PEDIDO_BLOQUEIO'"/&gt;
            &lt;/customPrecondition&gt;
        &lt;/preConditions&gt;
adicionar "Campo adicional" (valor "ADIC").</li><li>Quando "Tipo da pergunta" = "Campo adicional", exibir dropdown "Campo adicional" com seleções da consulta especificada.</li></ul></li> </ol>
         &lt;insert tableName="tipoaprovacao"&gt;
  <br>
          &lt;column name="idtipoaprovacao" valueSequenceNext="SEQPKTIPOAPROVACAO"/&gt;
<b><p>Cadastro de Formulário:</p></b>

          <li><b>Tela de  &lt;column name="descricao" valueComputed="'Aprovação vinculada a tipos de bloqueios que requerem aprovação'"/&gt;
            &lt;column name="sgltipoaprovacao" valueComputed="'PEDIDO_BLOQUEIO'"/&gt;
    Cadastro de Formulários</b>:<ul><li>No campo "Tipo da pergunta", adicionar "Campo adicional" (valor "ADIC").</li><li>Quando "Tipo da pergunta" = "Campo adicional", exibir dropdown "Campo adicional" com seleções da consulta especificada.</li></ul></li>
        &lt;column name="idnativo" valueComputed="1"/&gt; <br>

        <b><p>Responder Formulário:</p></b>

   &lt;column name="codigoerp" valueComputed="null"/&gt;
   <li><b>Implementação de Novos Tipos  de Pergunta</b>:<ul><li>Aplicar perguntas do &lt;column name="codigo" valueComputed="null"/&gt;
            &lt;column name="observacao" valueComputed="null"/&gt;
            &lt;column name="wsversao" valueComputed="null"/&gt;
        &lt;/insert&gt;tipo "Campo adicional" ("PESENT") como pesquisa (Chave e valor).</li><li>As opções virão das consultas em 'campo.idconsulta > sql' ou 'campo.sql'.</li><li>No Android, sincronizar view 'ventidadegenerica' para uso offline.</li><li>Seleções em perguntas serão salvas em 'pesquisapergresulopcao', com chaves e valores apropriados.</li></ul></li>
        &lt;comment&gt;&lt;/comment&gt;<br>

    
  <b><p>Visualizar  Formulário:</code><p></pre>
</div>

<br>
<li><p><b>Interface Web - "Cadastro > Geral > Tipo bloqueio"</b>:</p><ul><li>Remover coluna "Requer autorização".</li><li>Adicionar coluna "Tipo aprovação", editável somente se "Requer aprovação" = Sim. Associar à 'tipobloqueio.idtipoaprovacaob>
      <li><b>Tela de Visualização de Formulários Respondidos</b>:<ul><li>Exibir respostas de campos adicionais do tipo pesquisa em entidade genérica, usando o valor de 'pesquisapergresulopcao.respostadescricao'.</li></ul></li>
</ol>

<!-- Second Card -->

           


              </div>

        </div>
    </div> 

    <div id="tab3" class="col s12">
      <div class="tab-content">
        <div style="background-color: #f4f5f7; padding: 20px; margin-left: 50px; margin-right: 50px;">
              <!-- Primeira coluna do conteúdo da guia 2 -->
              <div class="container">
                <h2 class="custom-heading"><i class="fa-solid fa-circle-question"></i> PERGUNTAS FREQUENTES</h2>
                <ul class="collapsible">
                  <li>
                    <div class="collapsible-header"><i class="material-icons">question_answer</i>Oi>Existe quelimite épara a funcionalidadequantidade 'Aprovação de PedidosCampos porAdicionais Bloqueioque deposso Clientes'criar?</div>
                    <div class="collapsible-body"><span>É><span>Não uma atualizaçãoum nolimite TOTVSespecífico, CRMmas queé permiterecomendável quemanter pedidosum denúmero clientesgerenciável compara bloqueiosgarantir cadastradosa sejameficiência automaticamentee enviadosa parausabilidade aprovação antes da finalizaçãodos formulários.
                      </span></div>
                </li> 
                   
                    <!-- Adicione mais perguntas e respostas aqui conforme necessário -->
                </ul>
            </div>

            
                            <!-- Primeira coluna do conteúdo da guia 2 -->

            
            </div>
             
      </div>
  </div>

    
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script>
  // Inicialização das tabs
  document.addEventListener("DOMContentLoaded", function () {
    var tabs = document.querySelectorAll(".tabs");
    M.Tabs.init(tabs);
  });
</script>

<script>
  const items = document.querySelectorAll("#indice li");

  items.forEach(item => {
      item.addEventListener('click', (e) => {
          const targetId = e.target.getAttribute('data-target');
          const targetElement = document.getElementById(targetId);
          window.scrollTo({
              top: targetElement.offsetTop - 10,
              behavior: "smooth"
          });
      });
  });
</script>   <script src="https://kit.fontawesome.com/c97d4c197a.js" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
   
  
  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script> 
  
  <script>hljs.highlightAll();</script>
    
  
  
  <script src="scripts.js"></script>
  
  <script>
    document.addEventListener('DOMContentLoaded', function() {
        var elems = document.querySelectorAll('.collapsible');
        var instances = M.Collapsible.init(elems);
    });
  </script>
    <script>
    document.addEventListener('DOMContentLoaded', (event) => {
        hljs.highlightAll();
    });
</script>