Check();
$User->check_dossier($gDossier);
include_once ("user_menu.php");
$User->can_request(PARJRN);
if ( isset ($_POST["add"]) ) {
if ( !isset($_POST["p_jrn_name"]) || ! isset($_POST["p_jrn_type"] )) {
echo '
'._('Un paramètre manque').'
';
}
else {
/* if name already use we stop */
if ( $cn->count_sql("select * from jrn_def where upper(jrn_def_name)=upper($1)",array($_POST['p_jrn_name'])) >0 ) {
alert (_('Un journal de ce nom existe déjà'));
} else {
if (strlen(trim($_POST['p_jrn_deb_max_line'])) == 0 ||
(string) (int)$_POST['p_jrn_deb_max_line'] != (string)$_POST['p_jrn_deb_max_line'] )
$l_deb_max_line=1;
else
$l_deb_max_line=$_POST['p_jrn_deb_max_line'];
$p_jrn_name=$_POST["p_jrn_name"];
$p_jrn_class_deb=FormatString($_POST["p_jrn_class_deb"]);
if (strlen(trim($p_jrn_name))==0) return;
// compute the jrn_def.jrn_def_code
$p_code=sprintf("%s-%02d",trim($_POST['p_jrn_type']),Acc_Ledger::next_number($cn,$_POST['p_jrn_type']));
$p_jrn_fiche_deb="";
$p_jrn_fiche_cred="";
if ( isset ($_POST["FICHEDEB"])) {
$p_jrn_fiche_deb=join(",",$_POST["FICHEDEB"]);
}
if ( isset ($_POST["FICHECRED"])) {
$p_jrn_fiche_cred=join(",",$_POST["FICHECRED"]);
}
$l_cred_max_line=$l_deb_max_line;
$cn->start();
$Sql="insert into jrn_def(jrn_def_name,jrn_def_class_deb,jrn_def_class_cred,jrn_deb_max_line,jrn_cred_max_line,
jrn_def_type,jrn_def_fiche_deb,jrn_def_fiche_cred,jrn_def_code,jrn_def_pj_pref)
values ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)";
$sql_array=array(
$p_jrn_name,$p_jrn_class_deb,$p_jrn_class_deb,
$l_deb_max_line,$l_cred_max_line,$_POST['p_jrn_type'],
$p_jrn_fiche_deb,$p_jrn_fiche_cred,
$p_code,$_POST['jrn_def_pj_pref']);
$Res=$cn->exec_sql($Sql,$sql_array);
$ledger_id=$cn->get_current_seq('s_jrn_def');
$Res=$cn->create_sequence('s_jrn_pj'.$ledger_id);
$cn->commit();
}
}
echo '';
exit();
}
echo '';
echo '';
/* widget for searching an account */
$wSearch=new IPoste();
$wSearch->table=3;
$wSearch->set_attribute('ipopup','ipop_account');
$wSearch->set_attribute('account','p_jrn_class_deb');
$wSearch->set_attribute('no_overwrite','1');
$wSearch->set_attribute('noquery','1');
$wSearch->name="p_jrn_class_deb";
$wSearch->size=20;
$search=$wSearch->input();
/* construct all the hidden */
$hidden= HtmlInput::hidden('p_jrn',0);
$hidden.= HtmlInput::hidden('p_action','jrn');
$hidden.= HtmlInput::hidden('sa','add');
$hidden.= dossier::hidden();
$hidden.=HtmlInput::hidden('p_jrn_deb_max_line',10);
$hidden.=HtmlInput::hidden('p_ech_lib','echeance');
/* properties of the ledger */
$name="";
$code="";
$wType=new ISelect();
$wType->value=$cn->make_array('select jrn_type_id,jrn_desc from jrn_type');
$wType->name="p_jrn_type";
$type=$wType->input();
$rcred=$rdeb=array();
$wPjPref=new IText();
$wPjPref->name='jrn_def_pj_pref';
$pj_pref=$wPjPref->input();
$pj_seq='';
$last_seq=0;
echo '';
echo "
";
html_page_stop();
?>