'; echo ShowItem($array,'H','mtitle','mtitle',$def); echo ''; $href=basename($_SERVER['PHP_SELF']); //---------------------------------------------------------------------- // Encode a new invoice // empty form for encoding //---------------------------------------------------------------------- if ( $def==1 || $def == 4 ) { // Check privilege if ( isset($_REQUEST['p_jrn']) && CheckJrn($gDossier,$_SESSION['g_user'],$_REQUEST ['p_jrn']) != 2 ) { NoAccess(); exit -1; } /* if a new invoice is encoded, we display a form for confirmation */ if ( isset ($_POST['view_invoice'] ) ) { $Ledger=new Acc_Ledger_Purchase($cn,$_POST['p_jrn']); try { $Ledger->verify($_POST); } catch (AcException $e){ echo ''; $correct=1; } // if correct is not set it means it is correct if ( ! isset($correct)) { echo '
'; echo '
'; echo widget::hidden('sa','n'); echo widget::hidden('p_action','ach'); echo dossier::hidden(); echo $Ledger->confirm($_POST ); $chk=new widget('checkbox'); $chk->selected=false; echo "
Sauvez cette opération comme modèle ?"; echo $chk->IOValue('opd_save'); echo '
'; echo widget::submit("record","Enregistrement",'onClick="return verify_ca(\'error\');"'); echo widget::submit('correct',"Corriger"); echo '
'; echo '
'; exit(); } } //------------------------------ /* Record the invoice */ //------------------------------ if ( isset($_POST['record']) ){ $Ledger=new Acc_Ledger_Purchase($cn,$_POST['p_jrn']); try { $Ledger->verify($_POST); } catch (AcException $e){ echo ''; $correct=1; } if ( ! isset($correct)) { echo '
'; $Ledger=new Acc_Ledger_Purchase($cn,$_POST['p_jrn']); $internal=$Ledger->insert($_POST); /* Save the predefined operation */ if ( isset($_POST['opd_save'])) { echo_debug(__FILE__,__LINE__,'saving predefined op'); $opd=new Pre_op_ach($cn); $opd->get_post(); $opd->save(); } /* Show button */ echo "

Opération sauvée $internal

"; echo widget::button_href('Nouvelle dépense',$href.'?p_action=ach&sa=n&'.dossier::get()); echo '
'; exit(); } } // ------------------------------ /* Display a blank form or a form with predef operation */ /* or a form for correcting */ // ------------------------------ echo '
'; echo JS_PROTOTYPE; $array=(isset($_POST['correct'])||isset ($correct))?$_POST:null; $Ledger=new Acc_Ledger_Purchase($cn,0); // // pre defined operation // if ( !isset($_REQUEST ['p_jrn'])) { $def_ledger=$Ledger->get_first('ach'); $Ledger->id=$def_ledger['jrn_def_id']; } else $Ledger->id=$_REQUEST ['p_jrn']; /* request for a predefined operation */ if ( isset($use_predef) && $use_predef == 1 && isset($_REQUEST['pre_def']) ) { // used a predefined operation // $op=new Pre_op_ach($cn); $op->set_od_id($_REQUEST['pre_def']); $p_post=$op->compute_array(); $Ledger->id=$_REQUEST ['p_jrn_predef']; $p_post['p_jrn']=$Ledger->id; echo $Ledger->display_form($p_post); echo ''; } else { echo $Ledger->display_form($array); echo widget::hidden("p_action","ach"); echo widget::hidden("sa","p"); echo ''; } echo ""; echo '
'; echo widget::hidden("sa","p"); echo widget::hidden("p_action","ach"); echo dossier::hidden(); echo widget::hidden('p_jrn_predef',$Ledger->id); $op=new Pre_op_ach($cn); $op->set('ledger',$Ledger->id); $op->set('ledger_type',"ACH"); $op->set('direct','f'); echo $op->form_get(); echo '
'; echo '
'; exit(); } //------------------------------------------------------------------------------- // Listing //-------------------------------------------------------------------------------- if ( $def == 2 ) { // Check privilege if ( isset($_REQUEST['p_jrn']) && CheckJrn($gDossier,$_SESSION['g_user'],$_GET['p_jrn']) ==0 ) { NoAccess(); exit -1; } echo '
'; $Ledger=new Acc_Ledger_Purchase($cn,0); if ( !isset($_GET['p_jrn'])) { $def_ledger=$Ledger->get_first('ach'); $Ledger->id=$def_ledger['jrn_def_id']; } else $Ledger->id=$_GET['p_jrn']; //------------------------------ // UPdate the payment //------------------------------ if ( isset ( $_GET ['paid'])) { $Ledger->update_paid($_GET); } echo '
'; echo widget::hidden("sa","l"); echo widget::hidden("p_action","ach"); echo dossier::hidden(); $Ledger->show_ledger(); echo '
'; echo '
'; exit(); } //--------------------------------------------------------------------------- // Listing unpaid //--------------------------------------------------------------------------- if ( $def==3 ) { // Check privilege if ( isset($_REQUEST['p_jrn']) && CheckJrn($gDossier,$_SESSION['g_user'],$_GET['p_jrn']) ==0 ) { NoAccess(); exit -1; } $Ledger=new Acc_Ledger_Purchase($cn,0); if ( !isset($_GET['p_jrn'])) { $def_ledger=$Ledger->get_first('ach'); $Ledger->id=$def_ledger['jrn_def_id']; } else $Ledger->id=$_GET['p_jrn']; // Ask to update payment if ( isset ( $_GET['paid'])) { $Ledger->update_paid($_GET); } echo '
'; echo '
'; $wLedger=$Ledger->select_ledger('ACH',3); if ($wLedger == null) exit ('Pas de journal disponible'); $wLedger->javascript="onChange=submit()"; echo "Journal ".$wLedger->IOValue(); echo widget::submit ('search','Recherche'); echo widget::hidden("p_action","ach"); echo widget::hidden('sa','lnp'); echo dossier::hidden(); $Ledger->show_unpaid(); echo '
'; echo '
'; exit(); } if ( $p_action == 'fournisseur') { require_once ('supplier.inc.php'); }