'; 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 ) { $Ledger=new Acc_Ledger_Sold($cn,0); // Check privilege if ( isset($_REQUEST['p_jrn']) && $User->check_jrn($_REQUEST['p_jrn']) != 'W' ) { NoAccess(); exit -1; } /* if a new invoice is encoded, we display a form for confirmation */ if ( isset ($_POST['view_invoice'] ) ) { $Ledger=new Acc_Ledger_Sold($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','ven'); 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']) ){ // Check privilege if ( $User->check_jrn($_REQUEST['p_jrn']) != 'W' ) { NoAccess(); exit -1; } $Ledger=new Acc_Ledger_Sold($cn,$_POST['p_jrn']); try { $Ledger->verify($_POST); } catch (AcException $e){ echo ''; $correct=1; } if ( ! isset($correct)) { echo '
'; $Ledger=new Acc_Ledger_Sold($cn,$_POST['p_jrn']); $internal=$Ledger->insert($_POST); /* Save the predefined operation */ if ( isset($_POST['opd_save'])) { $opd=new Pre_op_ven($cn); $opd->get_post(); $opd->save(); } /* Show button */ echo '

'.$Ledger->get_name().'

'; echo "

Opération sauvée $internal "; if ( $Ledger->pj != '') echo ' Piece : '.h($Ledger->pj); echo "

"; if ( strcmp($Ledger->pj,$_POST['e_pj']) != 0 ) { echo '

Attention numéro pièce existante, elle a du être adaptée

'; } /* Here you need to generate the invoice */ if ( isset($_REQUEST['gen_invoice']) ) { $doc=new Document($cn); $doc->f_id=$_REQUEST['e_client']; $doc->md_id=$_REQUEST['gen_doc']; $doc->ag_id=0; $str_file=$doc->Generate(); $doc->MoveDocumentPj($internal); $sql="update jrn set jr_comment=jr_comment ||'Facture ".$doc->d_number."' where jr_internal='$internal'"; ExecSql($cn,$sql); /* Save the additional information into jrn_info */ $obj=new Acc_Ledger_Info($cn); $jr_id=$obj->search_id_internal($internal); if (strlen(trim($_POST['bon_comm'] )) != 0 ) { $obj->set_type('BON_COMMANDE'); $obj->set_value($_POST['bon_comm']); $obj->insert(); } if (strlen(trim($_POST['other_info'] )) != 0 ) { $obj->set_type('OTHER'); $obj->set_value($_POST['other_info']); $obj->insert(); } echo $str_file; } echo widget::button_href('Nouvelle vente',$href.'?p_action=ven&sa=n&'.dossier::get()); echo '
'; exit(); } } // ------------------------------ /* Display a blank form or a form with predef operation */ // ------------------------------ echo '
'; echo JS_PROTOTYPE; echo "
"; $array=(isset($_POST['correct'])||isset ($correct))?$_POST:null; $Ledger=new Acc_Ledger_Sold($cn,0); // // pre defined operation // if ( !isset($_REQUEST ['p_jrn'])) { $def_ledger=$Ledger->get_first('ven'); $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_ven($cn); $op->set_od_id($_REQUEST['pre_def']); $p_post=$op->compute_array(); $Ledger->id=$_REQUEST ['p_jrn_predef']; echo $Ledger->display_form($p_post); echo ''; } else { echo widget::hidden("p_action","ven"); echo widget::hidden("sa","p"); echo $Ledger->display_form($array); } echo "
"; echo '
'; echo widget::hidden("sa","p"); echo widget::hidden("p_action","ven"); echo dossier::hidden(); echo widget::hidden('p_jrn_predef',$Ledger->id); $op=new Pre_op_ven($cn); $op->set('ledger',$Ledger->id); $op->set('ledger_type',"VEN"); $op->set('direct','f'); echo $op->form_get(); $own=new Own($cn); /* if we suggest the pj n# the run the script */ if ( $own->MY_PJ_SUGGEST=='Y') { echo ''; } echo '
'; echo '
'; echo JS_CALC_LINE; echo '
'; echo '
'; exit(); } //------------------------------------------------------------------------------- // Listing //-------------------------------------------------------------------------------- if ( $def == 2 ) { echo '
'; // Check privilege if ( isset($_REQUEST['p_jrn']) && $User->check_jrn($_REQUEST['p_jrn']) == 'X') { NoAccess(); exit -1; } $Ledger=new Acc_Ledger_Sold($cn,0); if ( !isset($_REQUEST['p_jrn'])) { $def_ledger=$Ledger->get_first('ven'); $Ledger->id=$def_ledger['jrn_def_id']; } else $Ledger->id=$_REQUEST['p_jrn']; //------------------------------ // UPdate the payment //------------------------------ if ( isset ( $_GET ['paid'])) { $Ledger->update_paid($_GET); } echo '
'; echo widget::hidden("sa","l"); echo widget::hidden("p_action","ven"); echo dossier::hidden(); $Ledger->show_ledger(); echo '
'; echo '
'; exit(); } //--------------------------------------------------------------------------- // Listing unpaid //--------------------------------------------------------------------------- if ( $def==3 ) { // Check privilege if ( isset($_REQUEST['p_jrn']) && $User->check_jrn($_REQUEST['p_jrn']) == 'X') { NoAccess(); exit -1; } $Ledger=new Acc_Ledger_Sold($cn,0); if ( !isset($_REQUEST['p_jrn'])) { $def_ledger=$Ledger->get_first('ven'); $Ledger->id=$def_ledger['jrn_def_id']; } else $Ledger->id=$_REQUEST['p_jrn']; // Ask to update payment if ( isset ( $_GET['paid'])) { $Ledger->update_paid($_GET); } echo '
'; echo '
'; $wLedger=$Ledger->select_ledger('VEN',3); if ( $wLedger == null ) { alert('aucun journal de disponible'); exit(); } $wLedger->javascript="onChange=submit()"; echo "Journal ".$wLedger->IOValue(); echo widget::submit ('search','Recherche'); echo widget::hidden("p_action","ven"); echo widget::hidden('sa','lnp'); echo dossier::hidden(); $Ledger->show_unpaid(); echo '
'; echo '
'; exit(); } if ( $p_action == 'client') { $User->can_request(GECUST,1); require_once ('client.inc.php'); }