Jump to content

caciorenato

Members
  • Content count

    16
  • Joined

  • Last visited

Community Reputation

0 Comum

About caciorenato

Informações Pessoais

  • Sexo
    Masculino

Contato

  • Skype
    caciorenatoo
  • Twitter
    @caciorenato

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Estou tentando gerar uma sugestão do proximo código do plano de contas mas a minha função não esta fazendo corretamente e não estou conseguindo ter o código correto, no caso abaixo quando eu clicar em uma conta 2.1 ele deve me sugerir 2.1.1 se ja tiver ele sugere o proximo disponivel naquela hierarquia e assim para os de mais , alguem ja vez isso ou e tem uma dica vou disponibilizar meu codigo ele faz uma coisa semelhamente mas ele incrementa mais um depois e não ta fazendo correto 2 Passivo 2.1 Passivo Circulante 2.1.1 Impostos 2.1.1.1 FUNRURAL 2.1.1.2 ICMS ST 2.1.2 Contas a Pagar 2.1.2.1 Fornecedores 2.1.2.2 Produtores 2.1.2.3 Compradores 2.1.2.4 Motoristas 2.2 Passivo Não Circulante 2.2.1 Empréstimo bancário (longo prazo) 2.2.1.1 Empréstimo banco ``` <script> // Obtém a lista de contas const contas = document.querySelectorAll('.conta'); // Adiciona um ouvinte de evento para cada conta contas.forEach(conta => { conta.addEventListener('click', () => { // Obtém o código da conta clicada const codigoAtual = conta.getAttribute('data-codigo'); // Calcula o próximo código considerando o nível const proximoCodigo = calcularProximoCodigo(codigoAtual); // Verifica se o próximo código já existe no mesmo nível const proximoCodigoExiste = verificarExistenciaCodigo(proximoCodigo); if (proximoCodigoExiste) { alert(`O próximo código ${proximoCodigo} já existe no mesmo nível.`); } else { // Exibe o próximo código //document.getElementById('proximo-codigo').innerText = `Próximo código: ${proximoCodigo}`; $('#codestrutural').val(proximoCodigo); $('#cadcontasmodal').modal('show'); var set = setInterval(function(){ $('#desc').focus(); clearInterval(set); },600); } }); }); // Função para calcular o próximo código com base no código atual e nível function calcularProximoCodigo(codigoAtual) { // Quebra o código atual em partes const partes = codigoAtual.split('.'); if(partes.length == 1){ // Se for o primeiro nível, adiciona '.1' const proximoCodigo = partes[0]+'.1'; return proximoCodigo; }else{ const ultimoNumero = parseInt(partes.pop(), 10) + 1; // Adiciona o novo número à lista partes.push(ultimoNumero); // Junta as partes para formar o novo código const proximoCodigo = partes.join('.'); return proximoCodigo; } // Incrementa o último número } // Função para verificar se um código já existe no mesmo nível function verificarExistenciaCodigo(proximoCodigo) { // Obtém todos os elementos da tabela com a classe 'conta' const contas = document.querySelectorAll('.conta'); // Extrai o nível do próximo código const nivelProximoCodigo = proximoCodigo.split('.').length; // Verifica se o código já existe no mesmo nível for (const conta of contas) { const codigoExistente = conta.getAttribute('data-codigo'); const nivelCodigoExistente = codigoExistente.split('.').length; if (nivelProximoCodigo === nivelCodigoExistente && codigoExistente.startsWith(proximoCodigo)) { return true; } } return false; } </script> ```
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.