Ontem eu consegui montar o balancete. Eu já tenho a consulta que monta o balancete no MySQL e eu chamei de vw_balancete, mas até ele aparecer na tela do navegador é bastante tempo, coisa de um minuto. Isso é muito tempo. Descobri que é bem mais rápido eu pedir para o PHP montar o balancete do que pegar um já pronto no MySQL. O código ficou assim:
<?php
// ...publicfunction balancete(){
$balancete=[];
$contas=$this->Conexao->select("* from tbconta");if(!isset($_SESSION['dia'])){$_SESSION['dia']=date('Y-m-d');}
$apuracao=apuracao($_SESSION['dia']);
$primeiroDia=$apuracao->primeiroDia;
$ultimoDia=$apuracao->ultimoDia;foreach($contas as $conta){
$debitoAnterior=$this->Conexao->select("sum(valor) as soma from
tbdiario where contad=$conta->conta and dia<'$primeiroDia'")[0]->soma;
$creditoAnterior=$this->Conexao->select("sum(valor) as soma from
tbdiario where contac=$conta->conta and dia<'$primeiroDia'")[0]->soma;
$inicio=$debitoAnterior-$creditoAnterior;
$debito=$this->Conexao->select("sum(valor) as soma from
tbdiario where contad=$conta->conta and
dia between '$primeiroDia' and '$ultimoDia'")[0]->soma;
$credito=$this->Conexao->select("sum(valor) as soma from
tbdiario where contac=$conta->conta and
dia between '$primeiroDia' and '$ultimoDia'")[0]->soma;
$debitoFim=$this->Conexao->select("sum(valor) as soma from
tbdiario where contad=$conta->conta and dia<='$ultimoDia'")[0]->soma;
$creditoFim=$this->Conexao->select("sum(valor) as soma from
tbdiario where contac=$conta->conta and dia<='$ultimoDia'")[0]->soma;
$fim=$debitoFim-$creditoFim;
array_push($balancete,['conta'=>$conta->conta,'descricao'=>$conta->descricao,'inicio'=>$inicio,'debito'=>$debito,'credito'=>$credito,'fim'=>$fim]);}
$balancete=json_decode(json_encode($balancete));
$_SESSION['balancete']=$balancete;
$this->view('balancete',['balancete'=>$balancete,'apuracao'=>$apuracao]);}
O problema foi pegar os valores correspondentes à conta selecionada nesse view:
Tentei criar um vetor, tentei montar um <form> com um monte de <input type=hidden>, nada deu certo. É uma péssima ideia tentar colocar um <form> no meio da tabela. Agora que eu vi que não tentei colocar toda a tabela dentro do <form>, talvez essa seja a melhor resposta. Mas, enfim, eu desisti. Ao invés de pegar os valores de uma view, achei melhor pegar uma cópia do $balancete e colocar dentro do $_SESSION['balancete'], e a rotina do razão ficou assim:
Pergunta
Frank K Hosaka
Ontem eu consegui montar o balancete. Eu já tenho a consulta que monta o balancete no MySQL e eu chamei de vw_balancete, mas até ele aparecer na tela do navegador é bastante tempo, coisa de um minuto. Isso é muito tempo. Descobri que é bem mais rápido eu pedir para o PHP montar o balancete do que pegar um já pronto no MySQL. O código ficou assim:
O problema foi pegar os valores correspondentes à conta selecionada nesse view:
Tentei criar um vetor, tentei montar um <form> com um monte de <input type=hidden>, nada deu certo. É uma péssima ideia tentar colocar um <form> no meio da tabela. Agora que eu vi que não tentei colocar toda a tabela dentro do <form>, talvez essa seja a melhor resposta. Mas, enfim, eu desisti. Ao invés de pegar os valores de uma view, achei melhor pegar uma cópia do $balancete e colocar dentro do $_SESSION['balancete'], e a rotina do razão ficou assim:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.