Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crodriguesmg

Despesas Fixas

Recommended Posts

Bom dia, eu estou desenvolvendo um sistema de gerenciamento financeiro e estou em um impasse, vamos criar  o cadastro de despesa fixa.
A minha dúvida é, se alguém ja desenvolveu qual seria a regra de negocio e do banco para gerar a despesa fixa, pois não tem tempo para a acabar, e se for editar ou excluir todas são alteradas!
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rodrigues, tudo bem? Espero que sim!

 

Eu não entendi muito bem sua dúvida, mas, se é uma despesa fixa, ela deve ser gerada a cada determinado período, supondo:

conta de luz é gerada a cada um mês, deste modo, basta registrar a data da última cobrança e a próxima será um mês depois.

 

Se conseguir explicar melhor, talvez possamos ajudar!

 

Abraços, Wictor Pamplona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, WictorP, desde já muito obrigado por responder.
Na verdade isso eu fiz com uma despesa que se repete.

Vou explicar melhor, desculpe por não ser tão claro rsrs.
- Exemplo: Tenho uma conta de Aluguel ou energia que ela Fixa, ela não tem data de fim ou seja, não sei quantos registros serão no sistema, enquanto ela estiver cadastrada vai ter que gerar. A Minha dúvida entra aqui, pois se eu cadastrasse uma conta que se repetiria 10x eu lançaria 10 registros com datas de mes diferentes.
Mas nesse caso que é fixa, como que ficaria os lançamentos?

Ficou claro?
Obrigado
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da para fazer da mesma forma.

Vamos lá...

 

Vamos supor que você pague o aluguel todo dia 05 de cada mês, então todo dia 05 será necessário um novo registro na tabela.

Criando uma tabela com despesas fixas, você pode registrar nela a data do último pagamento e comparar com a data atual para verificar se é ou não inferior ao período de cobrança.

 $conta = "Aluguel";

 $ultimaCobranca = strtotime("01/05/2019"); // Última cobrança feita no dia 05 de janeiro de 2019.

 $proximaCobranca = strtotime("+1 month", $ultimaCobranca); // Coloca a próxima cobrança para o mês seguinte: dia 05 de fevereiro de 2019.

 $dataAtual = strtotime(date("d/m/Y")); // pega o strtotime do dia de hoje

// Compara se a data atual é maior (já passou do dia) ou igual à próxima cobrança
 if($dataAtual >= $proximaCobranca) {

  // Insere novo registro

 }

Dessa forma irá dar certo.

Caso queira fazer à longo prazo, da para utilizar a mesma lógica para registrar 1 ano de tabela fixas ou ir registrando a cada mês para ficar sempre um ano na frente...

 

Abraços, Wictor Pamplona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão a postagem, só corrigindo uma linha do código que está errada:

$dataAtual = strtotime(date("m/d/Y")); // pega o strtotime do dia de hoje

A função strtotime gera com padrão da data em inglês, então o mês vem antes do dia.

 

Abraços, Wictor Pamplona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito, Victor entendi sua linha de pensamento.
Mas na verdade eu preciso que isso ocorra sem o usuário fazer o cadastro, ser algo automático, o sistema gerar automaticamente todos os meses.
Eu até pensei em fazer um Cron para verificar a data e lançar o novo registro, mas ai me deparei com a situação da pesquisa e dos relatórios, pois se o usuário pesquisar por exemplo 3 meses de contas a vencer, como o sistema iria puxar, sendo que o registro ainda não foi lançado com o cron.
O que você pensa sobre isso?

Obrigado por enquanto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu informei você pode fazer o CRON e gerar com o intervalo de um ano, basta modificar o ultimo lançamento para daqui um ano, exemplo:

$ultimoLancamento = strtotime('01/31/2020');

Assim teria uma tabela de registro maior, e sempre ficaria com um ano de registro adiantado.

 

Outra ideia seria criar um array em javascript e descompactar conforme o ID da tabela, inserindo o conteúdo.

Não acho que seja o ideal, mas procure pela função append no jQuery, pode ajudar.

Pode usar a mesma metodologia com uma função PHP, mandando um array para ser executado cada mês, e lançando as a despesa fixa a cada array.

 

$meses = array("01","02","03");

function chamaDespesas($meses) {

 foreach($meses AS $key => $value) {

  // Consulta com o banco se há uma despesa fixa e a lança

  // Lança demais despesas

 }

}

 

E ai para lançar a procura basta chamar a função.

 

Abraços, Wictor Pamplona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Tudo bem pessoal?
       
      No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
      Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
      O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
       
      $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
      $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
      while($busca= mysqli_fetch_array($banner)){
          print $busca['cidade'].'<br>';
      };
       
      Alguém consegue me ajudar?
    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.