33require_once NOALYSS_INCLUDE.
'/lib/ac_common.php';
40 parent::__construct($p_cn, $p_init);
41 $this->ledger_type=
'FIN';
54 throw new Exception(
"Array empty");
62 if (isset($mt)&&$this->
db->count_sql(
'select jr_mt from jrn where jr_mt=$1', array($mt))!=0)
63 throw new Exception(
_(
'Double Encodage'), 5);
67 throw new Exception(
_(
'Accès interdit'), 20);
72 if ($this->
db->count()==0)
73 throw new Exception(
"Ce journal n'a pas de compte en banque, allez dans paramètre->journal pour régler cela");
75 $fBank=
new Fiche($this->
db, $bank_id);
77 if (trim($bank_accounting)==
'')
78 throw new Exception(
'Le poste comptable du compte en banque de ce journal est invalide');
83 throw new Exception(
'Le poste comptable du compte en banque de ce journal est invalide');
84 if ($chdate!=1&&$chdate!=2)
85 throw new Exception(
'Le choix de date est invalide');
91 throw new Exception(
'Date invalide', 2);
104 throw new Exception(
_(
'Date et periode ne correspondent pas'), 6);
110 throw new Exception(
_(
'Periode fermee'), 6);
120 throw new Exception(
_(
'Vous utilisez le mode strict la dernière operation est à la date du ')
121 .$last_date._(
' vous ne pouvez pas encoder à une date antérieure'), 15);
132 for (
$i=0;
$i<$nb_item;
$i++)
138 $fiche->get_by_qcode(${
'e_other'.$i});
139 if (
$fiche->get_f_enable() ==
'0')
140 throw new Exception(sprintf(
_(
"La fiche %s n'est plus utilisée"),${
'e_other'.$i}), 50);
142 if (
isNumber(${
'e_other'.$i.
'_amount'})==0)
143 throw new Exception(
'La fiche '.${
'e_other'.$i}.
'a un montant invalide ['.${
'e_other'.$i.
'_amount'}.
']',
150 throw new Exception(
'La fiche '.${
'e_other'.$i}.
'n\'a pas de poste comptable', 8);
154 if (strpos($sposte,
',')!=0)
156 $array=explode(
',', $sposte);
165 if (
$poste->load()==
false)
167 throw new Exception(
'Pour la fiche '.${
'e_other'.$i}.
' le poste comptable ['.
$poste->id.
'n\'existe pas',
172 $fiche->get_by_qcode(${
'e_other'.$i});
174 throw new Exception(
'La fiche '.${
'e_other'.$i}.
'n\'est pas accessible à ce journal', 10);
178 if (
isDate(${
'dateop'.$i})==
null)
180 throw new Exception(
'Date invalide', 2);
193 throw new Exception(
_(
'Date et periode ne correspondent pas'), 6);
199 throw new Exception(
_(
'Periode fermee'), 6);
208 if ($last_date!=
null&&
cmpDate(${
'dateop'.$i}, $last_date)<0)
209 throw new Exception(
_(
'Vous utilisez le mode strict la dernière operation est à la date du ')
210 .$last_date._(
' vous ne pouvez pas encoder à une date antérieure'), 15);
217 throw new Exception(
'Il n\'y a aucune opération', 12);
223 $diff=bcsub($last_sold,$first_sold,2);
226 if ($first_sold!=0||$last_sold!=0)
230 throw new Exception(sprintf(
_(
'Le montant de l\'extrait est incorrect,'.
231 " solde donné [ %s ]".
232 " solde calculé [%s] , différence de [%s]"), $last_sold, $calc,
256 $str_add_button_tiers=
"";
265 list ($l_date_start, $l_date_end)=
$pPeriode->get_date_limit(
$g_user->get_periode());
273 $r.=dossier::hidden();
274 $f_legend=
'Banque, caisse';
277 $Date=
new IDate(
"e_date", $op_date);
278 $Date->setReadOnly($pview_only);
279 $f_date=$Date->input();
289 $period->value=$l_user_per;
291 $period->name=
'periode';
294 $l_form_per=$period->input();
298 if (
$e->getCode()==1)
300 throw new Exception(
_(
"Aucune période ouverte"));
304 $f_period=
"Période comptable $label".$l_form_per;
309 $onchange=
"update_bank();ajax_saldo('first_sold');update_name();update_row('fin_item');show_ledger_fin_currency();";
312 $onchange.=
'get_last_date();';
314 $onchange.=
'update_receipt();';
316 $add_js=
'onchange="'.$onchange.
'"';
319 throw new Exception(
_(
'Pas de journal disponible'));
327 $f_bank=
'<span id="bkname">'.$this->get_bank_name().
'</span>';
328 if ($this->bank_id==
"")
330 echo
h2(
"Journal de banque non configuré ".$this->
get_name(),
' class="error"');
331 echo
'<span class="error"> vous devez donner à ce journal un compte en banque (fiche), modifiez dans C0JRN</span>';
335 $f_legend_detail=
'Opérations financières';
345 $wPJ=
new IText(
'e_pj');
346 $wPJ->readonly=
false;
348 $wPJ->value=(isset($e_pj))?$e_pj:$default_pj;
350 $f_extrait=$wPJ->input().HtmlInput::hidden(
'e_pj_suggest', $default_pj);
353 $first_sold=(isset($first_sold))?$first_sold:
"";
354 $wFirst=
new INum(
'first_sold', $first_sold);
356 $last_sold=isset($last_sold)?$last_sold:
"";
357 $wLast=
new INum(
'last_sold', $last_sold);
359 $max=(isset($nb_item))?$nb_item:$min_article;
361 $r.=HtmlInput::hidden(
'nb_item',
$max);
370 $tiers=(isset(${
"e_other".$i}))?${
"e_other".$i}:
"";
372 $tiers_amount=(isset(${
"e_other$i".
"_amount"}))?round(${
"e_other$i".
"_amount"}, 2):0;
374 $tiers_comment=(isset(${
"e_other$i".
"_comment"}))?${
"e_other$i".
"_comment"}:
"";
376 $operation_date=
new IDate(
"dateop".
$i);
377 $operation_date->value=(isset(${
'dateop'.$i}))?${
'dateop'.$i}:
"";
378 $array[
$i][
'dateop']=$operation_date->input();
379 ${
"e_other$i".
"_amount"}=(isset(${
"e_other$i".
"_amount"}))?${
"e_other$i".
"_amount"}:0;
383 $W1->name=
"e_other".$i;
384 $W1->id=
"e_other".$i;
388 $W1->set_dblclick(
"fill_ipopcard(this);");
389 $W1->set_attribute(
'ipopup',
'ipopcard');
392 $W1->set_attribute(
'label',
'e_other_name'.
$i);
394 $W1->set_attribute(
'typecard',
'filter');
396 $W1->set_callback(
'filter_card');
397 $W1->set_function(
'fill_data');
398 $W1->javascript=sprintf(
' onchange="fill_data_onchange(\'%s\');" ', $W1->name);
399 $W1->readonly=$pview_only;
402 $array[
$i][
'card_add']=($add_card==TRUE)?$this->
add_card(
"deb", $W1->id):
"";
410 $card_name=$this->
db->get_value(
"Select ad_value from fiche_detail where ad_id=$1 and f_id=$2",
414 $wcard_name=
new IText(
"e_other_name".
$i, $card_name);
415 $wcard_name->id=$wcard_name->name;
416 $wcard_name->readOnly=
true;
417 $array[
$i][
'cname']=$wcard_name->input();
420 $wComment=
new IText(
"e_other$i".
"_comment", $tiers_comment);
421 $wComment->style=
'class="input_text label_item"';
423 $wComment->setReadOnly($pview_only);
424 $array[
$i][
'comment']=$wComment->input();
426 $wAmount=
new INum(
"e_other$i".
"_amount", $tiers_amount);
429 $wAmount->setReadOnly($pview_only);
430 $array[
$i][
'amount']=$wAmount->input();
432 ${
"e_concerned".$i}=(isset(${
"e_concerned".$i}))?${
"e_concerned".$i}:
""
434 $wConcerned=
new IConcerned(
"e_concerned".
$i, ${
"e_concerned".$i});
435 $wConcerned->tiers=
"e_other".$i;
437 $wConcerned->amount_id=
"e_other".$i.
"_amount";
439 $wConcerned->paid=
'paid';
440 $array[
$i][
'concerned']=$wConcerned->input();
444 require_once NOALYSS_TEMPLATE.
'/form_ledger_fin.php';
445 $r.=ob_get_contents();
485 list ($l_date_start, $l_date_end)=
$pPeriode->get_date_limit();
488 $r.=
'<fieldset><legend>'._(
"Banque, caisse").
' </legend>';
489 $r.=
'<div id="jrn_name_div">';
490 $r.=
'<h1 id="jrn_name" style="display:inline">'.$this->get_name().
'</h1>';
492 $r.=
'<TABLE width="100%">';
497 $r.=
'<td> Date : </td><td>'.$e_date;
501 $r.=
"Période comptable </td><td>";
502 $r.=$l_date_start.
' - '.$l_date_end;
508 $r.=
'<td> Journal </td>';
518 $fBank=
new Fiche($this->
db, $bk_id);
521 $filter_year=
" j_tech_per in (select p_id from parm_periode where p_exercice='".$exercice.
"')";
525 $deb=$asolde[
'debit'];
526 $cred=$asolde[
'credit'];
530 $r.=
"<TR><td colspan=\"4\"> Banque ";
531 $r.=$e_bank_account_label;
537 $r.=
'<div class="myfieldset"><h1 class="legend">'._(
"Extrait de compte").
'</h1>';
545 $r.=
tr(
'<td>'.
_(
"Numéro d'extrait").
' </td>'.
td(
h($e_pj)));
546 $r.=
'<tr><td >'._(
"Solde début extrait").
' </td>';
547 $r.=
'<td style="num">'.nbm($first_sold).
'</td></tr>';
548 $r.=
'<tr><td>'._(
"Solde fin extrait").
' </td>';
549 $r.=
'<td style="num">'.nbm($last_sold).
'</td></tr>';
552 $r.=
'<h1 class="legend">Opérations financières</h1>';
556 $r.=
'<TABLE style="width:100%" id="fin_item">';
559 $r.=
'<th>'._(
"Date").
'</th>';
560 $r.=
"<th style=\"width:auto;text-align:left\" colspan=\"2\">"._(
"Nom").
"</th>";
561 $r.=
"<th style=\"text-align:left\" >"._(
"Commentaire").
"</th>";
562 $r.=
"<th style=\"text-align:right\">"._(
"Montant").
"</th>";
563 $r.=
'<th colspan="2">'._(
"Op. Concernée(s)").
'</th>';
569 $a_anc=
$anc->get_list();
572 $r.=
'<th colspan="'.$x.
'">'.
_(
'Compt. Analytique').
'</th>';
583 for (
$i=0;
$i<$nb_item;
$i++)
586 $tiers=(isset(${
"e_other".$i}))?${
"e_other".$i}:
""
592 $tiers_amount=round(${
"e_other$i".
"_amount"}, 2);
594 $tiers_comment=
h(${
"e_other$i".
"_comment"});
597 $fTiers->get_by_qcode(
$tiers);
603 $r.=
td(${
"dateop".$i});
604 $r.=
"<td>".${
'e_other'.$i}.
"</TD>";
606 $r.=
'<TD style="width:25%;border-bottom:1px dotted grey;">';
610 $r.=
'<td style="width:40%">'.$tiers_comment.
'</td>';
612 $r.=
'<td class="num">'.nbm($tiers_amount).
'</td>';
614 $r.=
'<td style="text-align:center">';
615 if (${
"e_concerned".$i}!=
'')
617 $jr_internal=$this->
db->get_array(
"select jr_internal from jrn where jr_id in (".${
"e_concerned".$i}.
")");
619 for ($x=0; $x<count($jr_internal); $x++)
621 $r.=$comma.HtmlInput::detail_op(${
"e_concerned".$i}, $jr_internal[$x][
'jr_internal']);
636 $r.=HtmlInput::hidden(
'op[]=',
$i);
637 $r.=$anc_op->display_form_plan(
$p_array, $null, $p_mode,
$i, $tiers_amount);
647 if ($acc_currency->get_id()!=0)
650 $solde=$fBank->get_bk_balance_currency();
651 $cur=$acc_currency->get_code();
652 $cur_rate=$acc_currency->get_rate_date(
$e_date);
657 td(
_(
"Ancien solde")).
662 td(
_(
"Nouveau solde")).
663 td(
nbm($new_solde).$cur,
' class="num"')
674 td(
_(
"Nouveau solde")).
682 $cur=$acc_currency->get_code();
686 td(
_(
"Ancien solde")).
691 td(
_(
"Nouveau solde")).
692 td(
nbm($new_solde).$cur,
' class="num"')
703 $file->setAlertOnSize(
true);
704 $r.=
"<br>"._(
"Ajoutez une pièce justificative").
" ";
711 $r.=dossier::hidden();
712 $r.=HtmlInput::hidden(
'p_jrn', $this->
id);
713 $r.=HtmlInput::hidden(
'nb_item', $nb_item);
714 $r.=HtmlInput::hidden(
'last_sold', $last_sold);
715 $r.=HtmlInput::hidden(
'first_sold', $first_sold);
716 $r.=HtmlInput::hidden(
'e_pj', $e_pj);
717 $r.=HtmlInput::hidden(
'e_pj_suggest', $e_pj_suggest);
718 $r.=HtmlInput::hidden(
'e_date',
$e_date);
720 $r.=HtmlInput::hidden(
'mt', $mt);
724 $r.=dossier::hidden();
725 $r.=HtmlInput::hidden(
'sa',
'n',
'chdate');
726 for (
$i=0;
$i<$nb_item;
$i++)
728 $tiers=(isset(${
"e_other".$i}))?${
"e_other".$i}:
"";
731 $r.=HtmlInput::hidden(
'e_other'.
$i.
'_comment', ${
'e_other'.$i.
'_comment'});
732 $r.=HtmlInput::hidden(
'e_other'.
$i.
'_amount', ${
'e_other'.$i.
'_amount'});
733 $r.=HtmlInput::hidden(
'e_concerned'.
$i, ${
'e_concerned'.$i});
734 $r.=HtmlInput::hidden(
'dateop'.
$i, ${
'dateop'.$i});
735 $r.=HtmlInput::hidden(
'chdate', $chdate);
761 $fBank=
new Fiche($this->
db, $bank_id);
767 if (strpos($sposte,
',')!=0)
769 $array=explode(
',', $sposte);
791 $filter_year=
" j_tech_per in (select p_id from parm_periode where p_exercice='".$exercice.
"')";
793 $deb=$asolde[
'debit'];
794 $cred=$asolde[
'credit'];
807 $ret=
'<table class="result" >';
809 .
th(
_(
'Nom')).
th(
_(
'Libellé')).
th(
_(
'Montant'),
' style="text-align:right"'));
818 $currency_rate=$acc_currency->get_rate_date(
$e_date);
822 printf(
"<p> currency_id %s </p>",$this->currency_id);
823 printf(
"<p> rate %s </p>", $currency_rate);
826 for (
$i=0;
$i<$nb_item;
$i++)
837 $currency_rate=$acc_currency->get_rate_date(
$e_date);
840 if ($chdate==2&&$get_solde)
852 $filter_year=
" j_tech_per in (select p_id from parm_periode where p_exercice='".
858 $fPoste->get_by_qcode(${
"e_other$i"});
861 $amount_input=${
"e_other$i".
"_amount"}=round(${
"e_other$i".
"_amount"}, 2);
862 $amount_eur=bcdiv($amount_input, $currency_rate);
868 $seq=$this->
db->get_next_seq(
's_grpt');
874 if (strpos($sposte,
',')!=0)
876 $array=explode(
',', $sposte);
877 if (${
"e_other$i".
"_amount"}<0)
888 $acc_operation->poste=$poste_val;
889 $acc_operation->amount=bcmul($amount_eur, -1);
890 $acc_operation->grpt=
$seq;
891 $acc_operation->jrn=
$p_jrn;
892 $acc_operation->type=
'd';
898 $per=
new Periode($this->
db);
901 $acc_operation->periode=$tperiode;
902 $acc_operation->qcode=${
"e_other".$i};
903 $j_id_currency=$acc_operation->insert_jrnx();
907 $operation_currency->oc_amount=$amount_input;
908 $operation_currency->oc_vat_amount=0;
909 $operation_currency->oc_price_unit=0;
910 $operation_currency->j_id=$j_id_currency;
911 $operation_currency->insert();
918 if (strpos($sposte,
',')!=0)
920 $array=explode(
',', $sposte);
921 if (${
"e_other$i".
"_amount"}<0)
931 $acc_operation->poste=$poste_val;
932 $acc_operation->amount=$amount_eur;
933 $acc_operation->grpt=
$seq;
934 $acc_operation->jrn=
$p_jrn;
935 $acc_operation->type=
'd';
936 $acc_operation->periode=$tperiode;
937 $acc_operation->qcode=$e_bank_account;
938 $j_id=$acc_operation->insert_jrnx();
942 $operation_currency->oc_amount=$amount_input;
943 $operation_currency->oc_vat_amount=0;
944 $operation_currency->oc_price_unit=0;
945 $operation_currency->j_id=
$j_id;
946 $operation_currency->insert();
948 if (
sql_string(${
"e_other$i".
"_comment"})==
null)
951 $comment=sprintf(
_(
" compte : %s a %s "), $fBank->strAttribut(
ATTR_DEF_NAME),
957 $comment=strip_tags(${
'e_other'.$i.
'_comment'});
962 $acc_operation->jrn=
$p_jrn;
963 $acc_operation->amount=abs($amount_eur);
965 $acc_operation->desc=$comment;
966 $acc_operation->grpt=
$seq;
967 $acc_operation->periode=$tperiode;
968 $acc_operation->mt=$mt;
970 $acc_operation->pj=
'';
972 $acc_operation->currency_rate=$currency_rate;
973 $acc_operation->currency_rate_ref=$currency_rate;
976 $acc_operation->pj=$e_pj.str_pad($idx_operation, 3, 0, STR_PAD_LEFT);
979 $acc_operation->pj=$e_pj;
981 $jr_id=$acc_operation->insert_jrn();
983 throw new Exception (
_(
"Erreur de balance"),
EXC_BALANCE);
986 $this->
db->exec_sql(
'update jrn set jr_pj_number=$1 where jr_id=$2', array($acc_operation->pj,
$jr_id));
989 if (trim(${
"e_concerned".$i})!=
"")
991 if (strpos(${
"e_concerned".$i},
',')!=0)
993 $aRapt=explode(
',', ${
"e_concerned".$i});
994 foreach ($aRapt as $rRapt)
1003 $rec->insert($rRapt);
1007 $oppaid->set_id($rRapt);
1008 $oppaid->set_paid();
1010 catch (Exception
$ex)
1013 echo
_(
'Attention , erreur Acc_Ledger_Fin::insert , coche paiement');
1019 if (
isNumber(${
"e_concerned".$i})==1)
1023 $rec->insert(${
"e_concerned$i"});
1027 $oppaid->set_id(${
"e_concerned".$i});
1028 $conc_amount=$oppaid->get_amount();
1029 if ($conc_amount==$acc_operation->amount)
1031 $oppaid->set_paid();
1034 catch (Exception
$ex)
1037 echo
_(
'Attention , erreur Acc_Ledger_Fin::insert , coche paiement');
1043 $this->grpt_id=
$seq;
1053 $op->set_currency_rate($currency_rate);
1054 $op->oa_group=$this->
db->get_next_seq(
"s_oa_group");
1055 $op->j_id=$j_id_currency;
1071 .td(${
"e_other".$i.
"_comment"})
1072 .
td(
nbm(${
"e_other$i".
"_amount"}),
'class="num"');
1073 $class=(
$i%2==0)?
' class="even" ':
' class="odd" ';
1080 if (isset($_FILES[
'pj']))
1081 $oid=$this->
db->save_receipt(
$seq);
1087 $this->
db->exec_sql(
"update jrn set jr_pj=$1 , jr_pj_name=$2,
1088 jr_pj_type=$3 where jr_grpt_id=$4",
1089 array($oid, $_FILES[
'pj'][
'name'], $_FILES[
'pj'][
'type'],
$seq));
1100 catch (Exception
$e)
1103 $this->
db->rollback();
1107 $this->
db->commit();
1108 if ($acc_currency->get_id()==0)
1111 $r.=sprintf(
"<br>".
_(
"Ancien solde %s %s"),
nbm(
$solde), $acc_currency->get_code());
1112 $new_solde=bcadd($new_solde,
$amount);
1113 $r.=sprintf(
"<br>".
_(
"Nouveau solde %s %s"),
nbm($new_solde), $acc_currency->get_code());
1118 $solde_cur=$fBank->get_bk_balance_currency();
1120 $r.=sprintf(
"<br>".
_(
"Ancien solde %s %s"),
nbm($solde_cur), $acc_currency->get_code());
1121 $new_solde=bcadd($solde_cur,
$amount);
1122 $r.=sprintf(
"<br>".
_(
"Nouveau solde %s %s"),
nbm($new_solde), $acc_currency->get_code());
1133 $this->bank_id=$this->
db->get_value(
'select jrn_def_bank from jrn_def where jrn_def_id=$1', array($this->
id));
1134 $fBank=
new Fiche($this->
db, $this->bank_id);
1138 return $e_bank_qcode.$e_bank_name.$e_bank_account;
1146 $bank_id=$this->
db->get_value(
'select jrn_def_bank from jrn_def where jrn_def_id=$1', array($this->
id));
1147 if (empty($bank_id))
return -1;
1156 $a=$this->
db->get_value(
'select jrn_def_num_op from jrn_def where jrn_def_id=$1', array($this->
id));
1172 $sql=
"INSERT INTO quant_fin(qf_bank, jr_id, qf_other, qf_amount,j_id)
1173 VALUES ($1, $2, $3, $4,$5);";
1175 $this->
db->exec_sql(
$sql, array($p_bankid, $p_jrid, $p_otherid, round($p_amount, 2), $p_j_id_currency));
h2($p_string, $p_class="", $raw="")
th($p_string, $p_extra='', $raw='')
noalyss_strlentrim($p_string)
tr($p_string, $p_extra='')
record_log($p_message)
Record an error message into the log file of the server or in the log folder of NOALYSS Record also t...
sql_string($p_string)
Fix the problem with the quote char for the database.
td($p_string='', $p_extra='')
surround the string with td
nbm($p_number, $p_dec=2)
format the number with a sep.
cmpDate($p_date, $p_date_oth)
Compare 2 dates.
alert($p_msg, $buffer=false)
alert in javascript
global $g_user
if no group available , then stop
catch(Exception $exc) if(! $g_user->can_write_action($ag_id)) $r
h( $row[ 'oa_description'])
catch(Exception $e) $exercice
_("actif, passif,charge,...")
Manage the account from the table jrn, jrnx or tmp_pcmn.
display currency , convert to euro , and save them if used.
the class Acc_Ledger_Fin inherits from Acc_Ledger, this object permit to manage the financial ledger
input($p_array=null, $notused=0)
display a form to enter an FIN operation
verify_operation($p_array)
Verify that the data are correct before inserting or confirming.
get_bank_name()
return a string with the bank account, name and quick_code
__construct($p_cn, $p_init)
construct
insert_quant_fin($p_bankid, $p_jrid, $p_otherid, $p_amount, $p_j_id_currency)
insert into the quant_fin table
numb_operation()
return true is we numbere each operation
get_bank()
find and FICHE.F_ID of the bank or -1 if not found
confirm($p_array, $p_nothing=0)
show the result of the array to confirm before inserting
Class for jrn, class acc_ledger for manipulating the ledger AND some acc.
$currency_id
!< default number of rows by default 10
get_currency()
returns the code iso of the default currency for this ledger
$nb
!< type of the ledger ACH ODS FIN VEN or GL
inc_seq_pj()
increment the sequence for the pj
select_ledger($p_type="ALL", $p_access=3, $enable=TRUE)
Show a select list of the ledgers you can access in writing, reading or simply accessing.
get_name()
Return the name of a ledger.
compute_internal_code($p_grpt)
compute the internal code of the saved operation and set the $this->jr_internal to the computed value
$row
!< database connextion
is_closed($p_periode)
check if the current ledger is closed
add_card($p_filter, $p_id_update)
Return a button to create new card, depending of the ledger.
update_internal_code($p_internal)
get_last_date()
get the date of the last operation
check_periode()
Check if a Dossier is using the check on the periode, if true than the user has to enter the date and...
check_strict()
Check if a Dossier is using the strict mode or not.
guess_pj()
guess what the next pj should be
this file match the tables jrn & jrnx the purpose is to remove or save accountant writing to these ta...
new class for managing the reconciliation it must be used instead of the function InsertRapt,...
this class is used to show the form for entering an operation only FOR analytic operation to save it,...
Concerns the Analytic plan (table plan_analytique)
static hidden($p_array)
return an HTML string containing hidden input type to hold the differant PA_ID
define Class fiche and fiche def, those class are using class attribut. When adding or modifing new c...
Input HTML for the card show buttons, in the file, you have to add card.js How to use :
Html Input : Input a date format dd.mm.yyyy The property title should be set to indicate what it is e...
Html Input for uploading file, must be in a form with enctype="multipart/form-data".
This class handles only the numeric input, the input will call a javascript to change comma to period...
Generate the form for the periode Data Members.
static infobulle($p_comment)
Display a info in a bubble, text is in message_javascript.
ORM abstract of the table public.operation_currency.
if( $g_parameter->MY_PJ_SUGGEST=='Y') $e_date
if(sizeof($array)==0) $pPeriode
create_script($p_string)
create the HTML for adding the script tags around of the script
check_parameter($p_array, $p_needed)
Check that all the index are in the array, used by function to check if the array contains the needed...
for($i=0;$i< $nb_jrn;$i++) $deb