Si le montant de TVA est égal à 0, il sera automatiquement calculé'; // First we show the menu // If nothing is asked the propose a blank form // to enter a new invoice if ( ! isset ($_REQUEST['p_jrn'])) { // no journal are selected so we select the first one $p_jrn=GetFirstJrnIdForJrnType($_SESSION['g_dossier'],'ACH'); } else { $p_jrn=$_REQUEST['p_jrn']; } // for the back button $retour=""; $h_url=""; if ( isset ($_REQUEST['url'])) { $retour=sprintf('',urldecode($_REQUEST['url'])); $h_url=sprintf('',urldecode($_REQUEST['url'])); } $sub_action=(isset($_REQUEST['sa']))?$_REQUEST['sa']:""; //----------------------------------------------------- // If a list of depense is asked // if ( $sub_action == "list") { if ( CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) < 1 ) { NoAccess(); exit -1; } // show the menu with the list item selected echo '
'; echo ShowMenuJrnUser($_SESSION['g_dossier'],'ACH',0,'Liste'); echo '
'; // Ask to update payment if ( isset ( $_GET['paid'])) { // reset all the paid flag because the checkbox is post only // when checked foreach ($_GET as $name=>$paid) { list($ad) = sscanf($name,"set_jr_id%d"); if ( $ad == null ) continue; $sql="update jrn set jr_rapt='' where jr_id=$ad"; $Res=ExecSql($cn,$sql); } // set a paid flag for the checked box foreach ($_GET as $name=>$paid) { list ($id) = sscanf ($name,"rd_paid%d"); if ( $id == null ) continue; $paid=($paid=='on')?'paid':''; $sql="update jrn set jr_rapt='$paid' where jr_id=$id"; $Res=ExecSql($cn,$sql); } } echo '
'; echo '
'; $hid=new widget("hidden"); $hid->name="p_action"; $hid->value="depense"; echo $hid->IOValue(); $hid->name="sa"; $hid->value="list"; echo $hid->IOValue(); $w=new widget("select"); // filter on the current year $filter_year=" where p_exercice='".$User->getExercice()."'"; $periode_start=make_array($cn,"select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $filter_year order by p_start,p_end",1); // User is already set User=new cl_user($cn); $current=(isset($_GET['p_periode']))?$_GET['p_periode']:$User->GetPeriode(); $w->selected=$current; echo 'Période '.$w->IOValue("p_periode",$periode_start); $qcode=(isset($_GET['qcode']))?$_GET['qcode']:""; echo JS_SEARCH_CARD; $w=new widget('js_search_only'); $w->name='qcode'; $w->value=$qcode; $w->label=''; $w->extra='all'; $w->table=0; $sp= new widget("span"); echo $sp->IOValue("qcode_label","",$qcode); echo $w->IOValue(); echo $w->Submit('gl_submit','Rechercher'); echo '
'.$retour; // Show list of sell // Date - date of payment - Customer - amount if ( $current != -1 ) { $filter_per=" and jr_tech_per=".$current; } else { $filter_per=" and jr_tech_per in (select p_id from parm_periode where p_exercice=". $User->getExercice().")"; } $sql=SQL_LIST_ALL_INVOICE." $filter_per and jr_def_type='ACH'" ; $step=$_SESSION['g_pagesize']; $page=(isset($_GET['offset']))?$_GET['page']:1; $offset=(isset($_GET['offset']))?$_GET['offset']:0; $l=""; // check if qcode contains something if ( $qcode != "" ) { // add a condition to filter on the quick code $l=" and jr_grpt_id in (select j_grpt from jrnx where j_qcode='$qcode') "; } list($max_line,$list)=ListJrn($cn,0,"where jrn_def_type='ACH' $filter_per $l " ,null,$offset,1); $bar=jrn_navigation_bar($offset,$max_line,$step,$page); echo "
$bar"; echo $list; echo "$bar
"; if ( $max_line !=0 ) echo $hid->Submit('paid','Mise à jour paiement'); echo '
'; echo $retour; echo '
'; exit(); } //----------------------------------------------------- echo '
'; echo ShowMenuJrnUser($_SESSION['g_dossier'], 'ACH', $p_jrn, 'Liste'); echo '
'; //----------------------------------------------------- // if we request to add an item // the $_POST['add_item'] is set // or if we ask to correct the invoice if ( isset ($_POST['add_item']) || isset ($_POST["correct"]) ) { if ( CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) != 2 ) { NoAccess(); exit -1; } $nb_item=$_POST['nb_item']; if ( isset ($_POST['add_item'])) $nb_item++; // Submit button in the form $submit=' '; $form=FormAchInput($cn,$p_jrn,$User->GetPeriode(),$_POST,$submit,false,$nb_item); echo '
'; echo $form; echo $msg_tva; echo JS_CALC_LINE; echo '
'; exit(); } //----------------------------------------------------- // we want to save the invoice and to generate a invoice // if ( isset($_POST['save'])) { if ( CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) != 2 ) { NoAccess(); exit -1; } // we save the expense list ($internal,$c)=RecordSell($cn,$_POST,$User,$p_jrn); $form=FormAchView($cn,$p_jrn,$User->GetPeriode(),$_POST,"",$_POST['nb_item'],false); echo '
'; echo '

Opération '.$internal.' enregistré

'; echo $form; echo '
'; echo ''; echo ' '; exit(); } //----------------------------------------------------- // we show the confirmation screen // if ( isset ($_POST['view_invoice']) ) { // Check privilege if ( CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) < 1 ) { NoAccess(); exit -1; } $nb_number=$_POST["nb_item"]; $submit=''; $submit.=''; if ( form_verify_input ($cn,$p_jrn,$User->GetPeriode(),$_POST,$nb_number) == true ) { // Should use a read only view instead of FormAch // where we can check $form=FormAchView($cn,$p_jrn,$User->GetPeriode(),$_POST,$submit,$nb_number); } else { // if something goes wrong, correct it $submit=' '; $form=FormAchInput($cn,$p_jrn,$User->GetPeriode(),$_POST,$submit, false, $nb_number); } echo '
'; echo $form; echo '
'; exit(); } //----------------------------------------------------- // By default we add a new invoice if ( $p_jrn != -1 ) { if ( CheckJrn($_SESSION['g_dossier'],$_SESSION['g_user'],$p_jrn) != 2 ) { exit -1; } $jrn=new jrn($cn, $p_jrn); echo_debug('depense.inc.php',__LINE__,"Blank form"); // Submit button in the form $submit=' '; // Show an empty form of invoice $form=FormAchInput($cn,$p_jrn,$User->GetPeriode(),null,$submit,false,$jrn->getDefLine()); echo '
'; echo $form; echo $msg_tva; echo JS_CALC_LINE; echo '
'; }