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/09/logo-com-descricao-totvsgc.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 */
#content.page.view {
padding-right: 0 !important;
}
</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">
REGRAS DE OCULTAÇÃO E EDIÇÃO CONDICIONAIS NA TELA DE CLIENTES
</h1>
</header>
</div>
</div>
<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"/>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- FontAwesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css" />
<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: 6px;
}
* p {
margin-bottom: 0 !important;
}
/* ==============================
= ESTILOS DE TÍTULOS =
=============================== */
#title-text {
display: none !important;
}
#content > div.page-metadata > div {
float: none !important;
line-height: normal !important;
width: auto !important;
display: none !important; /* ou outra propriedade de display que você deseja usar */
margin: 0 !important; /* ou outra propriedade de margin que você deseja usar */
}
#section2 > ol > li:nth-child(2) > p {
margin-bottom: 0;
}
.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;
}
.label b {
color: #42526e;
}
td th {
color: #42526e;
}
/* ==============================
= 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 #362194;
padding: 10px;
color:#362194
}
.custom-grey tr:nth-child(even) td {
background-color: #e6e0f7;
}
.custom-grey tr:nth-child(odd) td {
background-color: #f4f5f7;
}
.custom-grey th {
color: #fff;
background-color: #443391;
}
.custom-grey td {
font-size: 13px;
}
.custom-grey tr:nth-child(odd) {
background-color: #e4e4e6;
}
.custom-grey tr:nth-child(even) {
background-color: #dfdfdf;
}
.custom-alert-warning {
background-color: #fdf1dc; /* ou qualquer outra cor que preferir */
color: #5c4225; /* cor do texto */
border: 1px solid #d6800f; /* adicionando borda da mesma cor que o ícone */
padding: 10px; /* adicione padding conforme necessário */
}
.custom-alert-warning .fas {
color: #5c4225; /* cor do ícone no alerta de aviso */
margin-right: 10px; /* espaço extra entre o ícone e o texto */
}
.custom-alert-danger {
background-color: #ffe7ec; /* ou qualquer outra cor que preferir */
color: #9e1d3b; /* cor do texto */
border: 1px solid #eb7893; /* adicionando borda da mesma cor que o ícone */
padding: 10px; /* adicione padding conforme necessário */
}
.custom-alert-danger .fas {
color: #f34b72; /* cor do ícone no alerta de perigo */
margin-right: 10px; /* espaço extra entre o ícone e o texto */
}
.alert-secondary-custom {
background-color: #F2EEFF; /* Cor de fundo do alerta */
color: #3217a7; /* Cor do texto */
border: 1px solid #9475f7; /* adicionando borda da mesma cor que o ícone */
padding: 10px; /* adicione padding conforme necessário */
}
.alert-secondary-custom .fas {
color: #6B48FF; /* Cor dos ícones FontAwesome */
margin-right: 10px; /* Espaço extra entre o ícone e o texto */
}
/* ========== FIM DO ESTILO ========= */
</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="#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> <b>Produto:</b></td>
<td>Gestão de Clientes</td>
</tr>
<tr>
<td><i class="fas fa-link"></i> <b>Linha de Produto:</b></td>
<td>TOTVS CRM</td>
</tr>
<tr>
<td><i class="fas fa-chart-pie"></i> <b>Segmento:</b></td>
<td>Cross Segmentos</td>
</tr>
<tr>
<td><i class="fas fa-desktop"></i> <b>Módulo:</b></td>
<td>Personalização</td>
</tr>
<tr>
<td><i class="fas fa-globe"></i> <b>Aplicação:</b></td>
<td>Web/app móvel</td>
</tr>
<tr>
<td><i class="fas fa-hashtag"></i> <b>Identificador:</b></td>
<td>
ME260520220840</td>
</tr>
</table>
</span>
</div>
</div>
<br>
<h2 class="custom-heading">
<i class="fa-solid fa-eye"></i>    VISÃO GERAL
</h2>
<p class="justificado">
Agora, na tela de cadastro, você tem a liberdade de personalizar a visibilidade
e a editabilidade dos campos de acordo com critérios específicos, além de poder
validar as informações inseridas através de regras definidas. Este
aperfeiçoamento representa uma gestão de dados mais inteligente e eficiente,
alinhando-se perfeitamente às necessidades e preferências da sua empresa.
</p>
<br>
<h2 class="custom-heading">
<i class="fa-solid fa-rocket"></i>    OBJETIVO
</h2>
<p class="justificado">
O principal objetivo desta atualização é otimizar a gestão de clientes, proporcionando uma tela mais adaptável e dinâmica que responde de forma mais alinhada às suas necessidades específicas.
</p>
<br>
<!-- ... (seu conteúdo existente) ... -->
<h2 class="custom-heading">
<i class="fa-solid fa-book"></i>   ANTES DE COMEÇAR
</h2>
<h3>Requisitos</h3>
<p>Para aproveitar ao máximo este novo recurso, recomendamos que esteja
familiarizado com o módulo Personalização.</p> <br>
<h3> Atributos padrões do formulário</h3>
<p>A maioria dos atributos do formulário são suportados para as funções, porém,
existem algumas exceções que foram detalhadas logo abaixo. </p> <br>
<table class="striped custom-grey">
<thead>
<tr>
<th>Nome Técnico</th>
<th>Nome em Tela</th>
<th>Tipo do Dado</th>
<th>É Suportado?</th>
</tr>
<tr>
<td>active</td>
<td>Ativo</td>
<td>Booleano</td>
<td>Sim</td>
</tr>
<tr>
<td>name</td>
<td>Nome</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>tradingName</td>
<td>Apelido/Nome Fantasia</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>code</td>
<td>Código</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>customerPersonType</td>
<td>Tipo de Pessoa</td>
<td>Relacionamento</td>
<td>Sim</td>
</tr>
<tr>
<td>birthday</td>
<td>Data de Nascimento/Data de Fundação</td>
<td>Data</td>
<td>Sim</td>
</tr>
<tr>
<td>parentAccount</td>
<td>Conta Pai</td>
<td>Relacionamento</td>
<td>Sim</td>
</tr>
<tr>
<td>contacts</td>
<td>Contatos</td>
<td>Relacionamento Multivalorado</td>
<td>Não</td>
</tr>
<tr>
<td>professionalId</td>
<td>Responsável</td>
<td>Relacionamento</td>
<td>Sim</td>
</tr>
<tr>
<td>phones</td>
<td>Telefone</td>
<td>Indefinido</td>
<td>Não</td>
</tr>
<tr>
<td>emails</td>
<td>E-mail</td>
<td>Indefinido</td>
<td>Não</td>
</tr>
<tr>
<td>leadSituation</td>
<td>Tipo</td>
<td>Relacionamento</td>
<td>Sim</td>
</tr>
<tr>
<td>leadOrigin</td>
<td>Origem</td>
<td>Relacionamento</td>
<td>Sim</td>
</tr>
<tr>
<td>location</td>
<td>Ramos de Atividade</td>
<td>Relacionamento Multivalorado</td>
<td>Não</td>
</tr>
<tr>
<td>customerGroups</td>
<td>Grupos</td>
<td>Relacionamento Multivalorado</td>
<td>Não</td>
</tr>
<tr>
<td>customerClassification</td>
<td>Classificação</td>
<td>Relacionamento</td>
<td>Sim</td>
</tr>
<tr>
<td>companies</td>
<td>Empresas</td>
<td>Relacionamento Multivalorado</td>
<td>Não</td>
</tr>
<tr>
<td>note</td>
<td>Observação</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>addresses</td>
<td>Endereços</td>
<td>Indefinido</td>
<td>Não</td>
</tr>
<tr>
<td>facebook</td>
<td>Facebook</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>instagram</td>
<td>Instagram</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>twitter</td>
<td>Twitter</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>linkedin</td>
<td>LinkedIn</td>
<td>Texto</td>
<td>Sim</td>
</tr>
<tr>
<td>website</td>
<td>Website</td>
<td>Texto</td>
<td>Sim</td>
</tr>
</table>
<br>
<h3>Atributos personalizados</h3>
<p>Antes de começar a construir regras utilizando atributos personalizados, é importante
conferir se os tipos de atributos selecionados são permitidos. Consulte a lista abaixo para identificar quais
tipos de campos são suportados:</p><br>
<table class="striped custom-grey">
<thead>
<tr>
<th>Tipo do Atributo Personalizado</th>
<th>É Suportado?</th>
</tr>
<tr>
<td>Booleano</td>
<td>Sim</td>
</tr>
<tr>
<td>Fórmula</td>
<td>Não</td>
</tr>
<tr>
<td>Indefinido</td>
<td>Não</td>
</tr>
<tr>
<td>Lista de Opções</td>
<td>Não</td>
</tr>
<tr>
<td>Número</td>
<td>Sim</td>
</tr>
<tr>
<td>Relacionamento</td>
<td>Sim *</td>
</tr>
<tr>
<td>Relacionamento Remoto</td>
<td>Não</td>
</tr>
<tr>
<td>SubObjeto</td>
<td>Não **</td>
</tr>
<tr>
<td>Texto</td>
<td>Sim</td>
</tr>
</table>
<br>
<div class="alert custom-alert-warning" role="alert" style="padding-left: 20px;">
<i class="fas fa-info-circle"></i>
Os campos de relacionamento multivalorados não são suportados no momento e é obrigatório ter ao menos um campo configurado para exibição. A criação de subobjetos em objetos padrões não está disponível atualmente.
</div>
</section>
<section id="section2" style="margin-top: 40px;">
<h2 class="custom-heading"><i class="fa-solid fa-star"></i>  DETALHES FUNCIONAIS</h2>
<h3>Funções </h3>
<ol>
<li>
<p><b>Regras de Ocultação e Edição Condicional</b>:</p>
<ul class="browser-default">
<li>Habilita a definição de critérios específicos para a exibição ou ocultação de
campos na tela, proporcionando uma visão mais focada e relevante.
</li>
</ul>
</li>
<li>
<p><b>Validação de Campos de Cadastro</b>:</p>
<ul class="browser-default">
<li>Assegura que os dados inseridos estejam corretos e consistentes, minimizando
erros e otimizando processos subsequentes.
</li>
</ul>
</li>
<li>
<p><b>Opção de Cadastro de Mensagem Condicional</b>:</p>
<ul class="browser-default">
<li>Permite o registro de mensagens customizadas que serão apresentadas quando
condições atribuídas forem atendidas ou não, auxiliando na orientação e
notificação aos usuários durante o processo de cadastro ou edição de informações
de cliente.</li>
</ol>
</section>
<section id="section3" style="margin-top: 40px;">
<h2 class="custom-heading"><i class="fa-solid fa-shoe-prints"></i>  COMO USAR?</h2>
<h3> Passo a Passo</h3>
<p><b>Para utilizar a regra de exibição/edição condicional:</b> </p>
<br>
<ol>
<li>
<p>
<b>Inicie a Personalização</b>: Acesse o módulo de
personalização.
</p>
</li>
<li>
<p>
<b>Acessando Funcionalidades</b>: Vá até a seção
"Funcionalidades".
</p>
</li>
<li>
<p>
<b>Iniciando a Edição</b>: Clique no ícone de lápis para editar.
</p>
</li>
<li>
<p>
<b>Editando o Formulário</b>: No card do formulário, clique em
'editar' e selecione o campo ou a seção que deseja modificar.
</p>
</li>
<li>
<p>
<b>Definindo Configurações Dinâmicas</b>: Escolha a opção
"dinâmico" para ajustar as configurações de visibilidade ou edição.
</p>
</li>
<li>
<p>
<b>Adicionando Regras</b>: Clique em 'adicionar regra' e
descreva a regra que deseja implementar no campo 'Descrição'.
</p>
</li>
<li>
<p>
<b>Criando a Expressão Lógica</b>: No campo "Expressão",
estabeleça as condições para que as ações sejam executadas.
</p>
</li>
<li>
<p>
<b>Estabelecendo Ações</b>: Em 'Ações', selecione a ação
desejada (como "ocultar" ou "exibir") e identifique o elemento alvo.
</p>
</li>
<li>
<p>
<b>Finalizando</b>: Adicione mais ações se necessário e depois
clique em 'salvar' para finalizar as alterações.
</p>
</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/2023/09/condicionalcliente.mp4" type="video/mp4">
</video>
</p>
<br />
<h3>Regra de Validação no formulário "Clientes"</h3>
<ol>
<li>
<p><b>Início da Configuração</b>:</p>
<ul>
<li>Abra o módulo de objetos e selecione "Customers".</li>
</ul>
</li>
<li>
<p><b>Edição</b>:</p>
<ul>
<li>Clique no ícone de lápis para iniciar a edição.</li>
</ul>
</li>
<li>
<p><b>Acessando as Regras</b>:</p>
<ul>
<li>Na aba "REGRAS", clique em "Adicionar".</li>
<li>
Escolha "Regra Avançada" para configurar usando expressões complexas.
</li>
</ul>
</li>
<li>
<p><b>Configuração Detalhada da Regra</b>:</p>
<ul>
<li>No campo "Descrição", explique brevemente a regra.</li>
<li>
Utilize "Observação" para fornecer detalhes adicionais sobre a regra.
</li>
</ul>
</li>
<li>
<p><b>Estabelecendo a Expressão</b>:</p>
<ul>
<li>
No campo "Expressão", determine as condições necessárias para ativar as
ações programadas.
</li>
</ul>
</li>
<li>
<p><b>Configuração da Mensagem de Alerta</b>:</p>
<ul>
<li>
Selecione quando a mensagem deve ser mostrada: se as condições foram
atendidas ou não.
</li>
<li>
Escreva o texto que será exibido na tela no campo de texto
correspondente.
</li>
<li>
Especifique onde a mensagem será exibida: no topo da tela ou abaixo do
campo correspondente.
</li>
</ul>
</li>
<li>
<p><b>Finalização</b>:</p>
<ul>
<li>
Após configurar todos os detalhes, clique em "Salvar" para aplicar as
alterações feitas.
</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/2023/09/validacaocampo.mp4" type="video/mp4">
</video>
</p>
</section>
<section id="section4" style="margin-top: 40px;">
<h2 class="custom-heading"><i class="fa-solid fa-signs-post"></i>  EXEMPLO PRÁTICO</h2>
<h3>Caso de uso</h3>
<p>
<b>Cenário:</b>
<p>Maria lida diariamente com uma grande quantidade de dados de clientes, buscando constante otimização e fiabilidade na base de dados.
</p>
<br>
<b>Desafio Antigo:</b>
<p>Antes da atualização do TOTVS CRM, Maria enfrentava desafios
na gestão de dados. O processo de entrada de dados
era inconsistente, com falta de validação de preenchimento, o que
levava a erros. A incapacidade de personalizar a
visibilidade e editabilidade dos campos do formulário também limitava a
eficiência do processo, forçando a equipe a navegar através de campos
irrelevantes e desperdiçar tempo precioso.
</p>
<br>
<b>Solução Atualizada:</b>
<p>Agora, eles podem não apenas personalizar a visibilidade e a editabilidade dos
campos, mas também implementar regras condicionais que validam o preenchimento
dos campos no momento do preenchimento do formulário, garantindo dados mais
precisos e confiáveis.</p>
<br>
</p>
</section>
</div>
<!-- Tab 30 fim -->
<!-- Tab 30 fim -->
</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>Existe uma limitação no número de regras condicionais que podem ser criadas?</div>
<div class="collapsible-body"><span>Não, no entanto, é importante notar que a criação de um grande número de regras pode complicar a gestão e potencialmente desacelerar o sistema.
</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">question_answer</i>Os campos que foram ocultados através da personalização são completamente removidos do banco de dados?</div>
<div class="collapsible-body"><span>Não, não são removidos do banco de dados; eles são apenas ocultados da interface do usuário para simplificar a entrada de dados e a visualização.
</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">question_answer</i>Quais são os operadores disponíveis para usar em uma expressão?</div>
<div class="collapsible-body"><span><h3>Operadores Matemáticos:</h3> <br>
<ol>
<li><b>"+" (Soma)</b></li>
<li><b>"-" (Subtração)</b></li>
<li><b>"*" (Multiplicação)</b></li>
<li><b>"/" (Divisão)</b></li>
<li>
<b>"()" (Parênteses) -</b> Usado para definir a ordem de operações
em uma expressão.
</li>
</ol>
<br>
<h3>Operadores Lógicos:</h3>
<br>
<ol>
<li>
<b>"AND" (E) -</b> Retorna verdadeiro se ambas as expressões forem
verdadeiras.
</li>
<li>
<b>"OR" (OU) -</b> Retorna verdadeiro se pelo menos uma das
expressões for verdadeira.
</li>
<li>
<b>"!=" (Diferente) -</b> Retorna verdadeiro se os valores
comparados forem diferentes.
</li>
<li>
<b>"==" (Igual) -</b> Retorna verdadeiro se os valores comparados
forem iguais.
</li>
<li>
<b>">" (Maior que) -</b> Retorna verdadeiro se o valor à
esquerda for maior que o valor à direita.
</li>
<li>
<b>"<" (Menor que) -</b> Retorna verdadeiro se o valor à
esquerda for menor que o valor à direita.
</li>
<li>
<b>">=" (Maior ou igual a) -</b> Retorna verdadeiro se o valor
à esquerda for maior ou igual ao valor à direita.
</li>
<li>
<b>"<=" (Menor ou igual a) -</b> Retorna verdadeiro se o valor
à esquerda for menor ou igual ao valor à direita.
</li>
</ol>
<br>
<h3>Funções de Utilidade:</h3>
<br>
<ol>
<li>
<b>"IN" -</b> Verifica se um valor está presente em uma lista de
valores.
</li>
<li>
<b>"IS_EMPTY" -</b> Verifica se um valor está vazio, e retorna
verdadeiro se estiver vazio.
</li>
<li><b>"IS_NUMBER" -</b> Verifica se um valor é um número.</li>
<li>
<b>"COALESCE" -</b> Retorna o primeiro valor não nulo em uma lista
de valores (essa função não foi detalhada no seu texto, mas é uma explicação
geral do que ela faz).
</li>
</ol>
</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>
<!-- ... (conteudo video) ... -->
<script src="https://www.youtube.com/iframe_api"></script>
<script>
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '315',
width: '560',
videoId: 'FvsuBOvyyro',
playerVars: {
start: 1238, // 20:38 em segundos
end: 1356 // 22:36 em segundos
}
});
}
</script> |