svn+ssh://ns352270.ovh.net/svn/phpcompta/branches/rel600-dynamic-menu ........ r4209 | danydb | 2011-10-13 22:06:13 +0200 (Thu, 13 Oct 2011) | 1 line Add new files ........ r4229 | danydb | 2011-10-23 20:51:09 +0200 (Sun, 23 Oct 2011) | 1 line Dynamic menu: impress works ........ r4230 | danydb | 2011-10-24 22:38:15 +0200 (Mon, 24 Oct 2011) | 2 lines #241 : modularity for SALE ledger ........ r4231 | danydb | 2011-10-24 22:47:02 +0200 (Mon, 24 Oct 2011) | 2 lines #241 : modularity for PURCHASE ledger ........ r4232 | danydb | 2011-10-25 23:03:53 +0200 (Tue, 25 Oct 2011) | 2 lines #241 : modularity for FINANCIAL ledger ........ r4234 | danydb | 2011-10-26 01:09:02 +0200 (Wed, 26 Oct 2011) | 2 lines #241 : modularity for CARD ledger + alphanum prob ........ r4237 | danydb | 2011-10-27 20:59:39 +0200 (Thu, 27 Oct 2011) | 2 lines #241 : modularity for lettering ........ r4238 | danydb | 2011-10-27 21:10:19 +0200 (Thu, 27 Oct 2011) | 3 lines #241 :adapt width submenu ........ r4239 | danydb | 2011-10-27 21:40:42 +0200 (Thu, 27 Oct 2011) | 3 lines #241 : modularity : old user_advanced.php ........ r4240 | danydb | 2011-10-27 21:44:27 +0200 (Thu, 27 Oct 2011) | 3 lines #241 : modularity : deprecated function ........ r4241 | danydb | 2011-10-27 21:46:26 +0200 (Thu, 27 Oct 2011) | 3 lines #241 : modularity : remove obsolete files ........ r4242 | danydb | 2011-10-27 21:54:39 +0200 (Thu, 27 Oct 2011) | 3 lines #241 : modularity : gestion card + gestion IMP ........ r4243 | danydb | 2011-10-27 22:28:36 +0200 (Thu, 27 Oct 2011) | 3 lines #241 : modularity : gestion customer + supplier + forecast + follow up ........ r4244 | danydb | 2011-10-28 00:47:55 +0200 (Fri, 28 Oct 2011) | 5 lines #241 : modularity : parameter company periode misc : tva , card attr, middle of payment, accounting,cat of doc, cat of card ........ r4245 | danydb | 2011-10-28 00:51:43 +0200 (Fri, 28 Oct 2011) | 1 line update menu_ref, profile_menu ........ r4246 | danydb | 2011-10-28 00:52:13 +0200 (Fri, 28 Oct 2011) | 1 line rewriting : change ShowMenuPcmn by menu_acc_plan ........ r4247 | danydb | 2011-10-28 20:04:01 +0200 (Fri, 28 Oct 2011) | 1 line #241 : modularity : parameter Document ........ r4248 | danydb | 2011-10-28 22:00:42 +0200 (Fri, 28 Oct 2011) | 1 line #241 : modularity : préférence ........ r4249 | danydb | 2011-10-28 22:16:44 +0200 (Fri, 28 Oct 2011) | 1 line last fix ........
198 lines
6.3 KiB
PHP
198 lines
6.3 KiB
PHP
<?php
|
|
/*
|
|
* This file is part of PhpCompta.
|
|
*
|
|
* PhpCompta is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* PhpCompta is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with PhpCompta; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
/* $Revision$ */
|
|
|
|
// Copyright Author Dany De Bontridder ddebontridder@yahoo.fr
|
|
require_once 'user_menu.php';
|
|
/*!\file
|
|
* \brief The opening of the exercices. it takes the saldo of the
|
|
* choosen foolder / exercice and import it as a misc operation in the
|
|
* current folder
|
|
*/
|
|
$sa=(isset($_REQUEST['sa']))?$_REQUEST['sa']:'';
|
|
$User=new User(new Database(dossier::id()));
|
|
$User->Check();
|
|
$User->can_request(PAREO,1);
|
|
require_once("class_iselect.php");
|
|
require_once('class_acc_ledger.php');
|
|
/* --------------------------------------------------
|
|
* step 1 if nothing is asked we show the available folders
|
|
*/
|
|
if ($sa == '')
|
|
{
|
|
echo '<div class="content">';
|
|
echo '<fieldset><legend> Etape 1 </legend>';
|
|
|
|
echo 'Choississez le dossier où sont les soldes à importer';
|
|
$avail=GetAvailableFolder($User->id,$User->Admin());
|
|
|
|
if ( empty( $avail) )
|
|
{
|
|
echo '*** Aucun dossier ***';
|
|
exit();
|
|
}
|
|
echo '<form class="print" method="post">';
|
|
echo HtmlInput::hidden('ac',$_REQUEST['ac']);
|
|
echo HtmlInput::hidden('sa','step2');
|
|
echo dossier::hidden();
|
|
$wAvail=new ISelect();
|
|
/* compute select list */
|
|
$array=array();
|
|
$i=0;
|
|
foreach ($avail as $r)
|
|
{
|
|
$array[$i]['value']=$r['dos_id'];
|
|
$array[$i]['label']=$r['dos_name'];
|
|
$i++;
|
|
}
|
|
|
|
$wAvail->value=$array;
|
|
echo 'Choix du dossier :'.$wAvail->input('f');
|
|
echo HtmlInput::submit('ok','Continuer');
|
|
|
|
echo '</form>';
|
|
echo '</fieldset>';
|
|
echo '</div>';
|
|
exit();
|
|
}
|
|
/* --------------------------------------------------
|
|
* Step 2 choose now the exercice of this folder
|
|
*/
|
|
$back='do.php?ac='.$_REQUEST['ac'].'&'.dossier::get();
|
|
if ( $sa=='step2')
|
|
{
|
|
echo '<div class="content">'.
|
|
'<fieldset><legend>Etape 2</legend>'.
|
|
'<h2 class="info">'.dossier::name($_REQUEST['f']).'</h2>'.
|
|
'<form class="print" method="post">'.
|
|
' Choississez l\'exercice du dossier ';
|
|
echo dossier::hidden();
|
|
echo HtmlInput::hidden('ac',$_REQUEST['ac']);
|
|
echo HtmlInput::hidden('sa','step3');
|
|
echo HtmlInput::hidden('f',$_REQUEST['f']);
|
|
$cn=new Database($_REQUEST['f']);
|
|
$periode=$cn->make_array("select distinct p_exercice,p_exercice from parm_periode order by p_exercice");
|
|
$w=new ISelect();
|
|
$w->table=0;
|
|
$w->label='Periode';
|
|
$w->readonly=false;
|
|
$w->value=$periode;
|
|
$w->name="p_periode";
|
|
echo 'Période : '.$w->input();
|
|
echo HtmlInput::submit('ok','Continuer');
|
|
echo dossier::hidden();
|
|
echo "</form>";
|
|
echo HtmlInput::button_anchor('Retour',$back);
|
|
exit(0);
|
|
}
|
|
/* --------------------------------------------------
|
|
* select the ledger where we will import the data
|
|
*/
|
|
if ( $sa == 'step3')
|
|
{
|
|
echo '<div class="content">'.
|
|
'<fieldset><legend>Etape 3</legend>'.
|
|
'<h2 class="info">'.dossier::name($_REQUEST['f']).'</h2>'.
|
|
'<form class="print" method="post">'.
|
|
' Choississez le journal qui contiendra l\'opération d\'ouverture ';
|
|
echo dossier::hidden();
|
|
echo HtmlInput::hidden('p_action','ouv');
|
|
echo HtmlInput::hidden('sa','step4');
|
|
echo HtmlInput::hidden('f',$_REQUEST['f']);
|
|
echo HtmlInput::hidden('p_periode',$_REQUEST['p_periode']);
|
|
$wLedger=new ISelect();
|
|
$User=new User(new Database(dossier::id()));
|
|
$avail=$User->get_ledger('ODS');
|
|
/* compute select list */
|
|
$array=array();
|
|
$i=0;
|
|
foreach ($avail as $r)
|
|
{
|
|
$array[$i]['value']=$r['jrn_def_id'];
|
|
$array[$i]['label']=$r['jrn_def_name'];
|
|
$i++;
|
|
}
|
|
$wLedger->value=$array;
|
|
echo $wLedger->input('p_jrn');
|
|
echo HtmlInput::submit('ok','Continuer');
|
|
echo HtmlInput::hidden('ac',$_REQUEST['ac']);
|
|
echo dossier::hidden();
|
|
echo "</form>";
|
|
echo HtmlInput::button_anchor('Retour',$back.'&sa=step2&f='.$_REQUEST['f']);
|
|
exit(0);
|
|
|
|
}
|
|
/* --------------------------------------------------
|
|
* Step 4 we import data from the selected folder and year and
|
|
* transform it into a misc operation
|
|
*/
|
|
if ( $sa=='step4')
|
|
{
|
|
echo '<div class="content">';
|
|
echo '<fieldset><legend> Dernière étape</legend>';
|
|
$cn_target=new Database($_REQUEST['f']);
|
|
$saldo=new Acc_Ledger($cn_target,0);
|
|
$array=$saldo->get_saldo_exercice($_REQUEST['p_periode']);
|
|
/* we need to transform the array into a Acc_Ledger array */
|
|
$result=array();
|
|
$result['desc']='Ecriture d\'ouverture';
|
|
$result['nb_item']=sizeof($array);
|
|
$result['p_jrn']=$_REQUEST['p_jrn'];
|
|
$idx=0;
|
|
|
|
foreach ($array as $row )
|
|
{
|
|
$qcode='qc_'.$idx;
|
|
$poste='poste'.$idx;
|
|
$amount='amount'.$idx;
|
|
$ck='ck'.$idx;
|
|
$result[$qcode] = $row['j_qcode'];
|
|
if ( trim($row['j_qcode'])=='')
|
|
$result[$poste] = $row['j_poste'];
|
|
$result[$amount] = abs($row['solde']);
|
|
if ( $row['solde'] > 0 ) $result[$ck]='on';
|
|
$idx++;
|
|
}
|
|
$cn=new Database(dossier::id());
|
|
$User=new User($cn);
|
|
$jrn=new Acc_Ledger($cn,$_REQUEST['p_jrn']);
|
|
echo '<form class="print" method="post" action="do.php">';
|
|
echo HtmlInput::hidden('ac',$_REQUEST['ac']);
|
|
echo HtmlInput::hidden('sa','step5');
|
|
echo dossier::hidden();
|
|
echo HtmlInput::hidden('p_jrn',$_REQUEST['p_jrn']);
|
|
echo $jrn->show_form($result,0);
|
|
echo '<hr>';
|
|
echo '<h2 class="notice">Ne corrigez pas encore, cliquez continuer pour passer à l\'étape suivante</h2>';
|
|
echo HtmlInput::submit('correct_it','Continuer');
|
|
echo '</form>';
|
|
echo HtmlInput::button_anchor('Retour',$back);
|
|
|
|
echo '</div>';
|
|
}
|
|
// if sa=step4 then record it
|
|
//
|
|
/*
|
|
* @todo finir les ouvertures d'année
|
|
*/
|
|
if ( $_REQUEST['sa']=='step5')
|
|
{
|
|
echo "<h2> A ENREGISTRER</H2>";
|
|
|
|
}
|