41 require NOALYSS_TEMPLATE .
"/operation_exercice-input_source.php";
47 $date->id =
"exercice_date";
48 $date->value =
format_date($this->operation_exercice_sql->getp(
"oe_date"),
"DD.MM.YYYY");
50 $inplace_date->add_json_param(
"op",
"operation_exercice+date");
51 $inplace_date->add_json_param(
"gDossier",
Dossier::id());
52 $inplace_date->add_json_param(
"oe_id", $this->operation_exercice_sql->oe_id);
53 $inplace_date->set_callback(
"ajax_misc.php");
54 echo _(
"Date"), $inplace_date->input();
56 $text_operation =
new IText(
"text_operation");
57 $text_operation->id = uniqid(
"text");
58 $text_operation->size = 80;
59 $text_operation->value = $this->operation_exercice_sql->getp(
"oe_text");
61 $inplace_text->add_json_param(
"op",
"operation_exercice+text");
62 $inplace_text->add_json_param(
"gDossier",
Dossier::id());
63 $inplace_text->add_json_param(
"oe_id", $this->operation_exercice_sql->oe_id);
64 $inplace_text->set_callback(
"ajax_misc.php");
65 echo $inplace_text->input();
69 $a_data =
$cn->get_array(
"
77 FROM public.operation_exercice_detail
80 order by oed_debit desc,oed_poste,oed_qcode
82 ", [$this->operation_exercice_sql->oe_id]);
83 $aheader = array(_(
"Poste"), _(
"Fiche"), _(
"Libellé"), _(
"Montant"), _(
"Débit/Crédit"));
85 echo \HtmlInput::filter_table(
"operation_exercice_tb",
'0,1,2,3,4', 1);
86 echo \HtmlInput::button_action(_(
"Ajouter une ligne"), sprintf(
"operation_exercice.modify_row('-1','%s')", $this->operation_exercice_sql->oe_id));
87 echo
'<table class="result" id="operation_exercice_tb">';
91 foreach ($a_data as
$data) {
95 echo \HtmlInput::button_action(_(
"Ajouter une ligne"), sprintf(
"operation_exercice.modify_row('-1','%s')", $this->operation_exercice_sql->oe_id));
100 $$(
".op-exercice").forEach(item=>item.addEventListener(
"click",
function(event) {operation_exercice.click_modify_row(item)}));
114 with saldo_deb_cred as
117 case when oed_debit is true then oed_amount else 0-oed_amount end signed_amount ,
118 case when oed_debit is true then oed_amount end debit,
119 case when oed_debit is false then oed_amount end credit
120 from public.operation_exercice_detail
123select sum(signed_amount) delta,sum(debit) debit,sum(credit) credit from saldo_deb_cred
125 $total =
$cn->get_row($sql_total, [$this->operation_exercice_sql->oe_id]);
127 echo
'<span id="tot_ope_exe" style="margin-left:20%">';
129 $style =
'style="display:inline-block;padding:1rem;margin:1rem;border:1px solid navy;width:20%;text-align:center;font-size:140%"';
134 if (
$total[
'delta'] > 0) {
135 $s =
" Solde débiteur ";
137 if (
$total[
'delta'] < 0) {
138 $s =
" Solde créditeur ";
155 if ($row_tr) printf(
'<tr class="op-exercice even" id="oe_%s" oed_id="%s" oe_id="%s">',
$data[
'oed_id'],
$data[
'oed_id'],
$data[
'oe_id']);
159 echo
td(
nbm(
$data[
'oed_amount']),
'class="num"');
160 echo
td((
$data[
'oed_debit'] ==
'f' ? _(
"Crédit") : _(
"Débit")),
'style="text-align:center"');
164 if ($row_tr)
print (
'</tr >');
177 if (
$operation->getp(
"oe_transfer_date") !=
"") {
178 require_once NOALYSS_TEMPLATE .
"/operation_exercice-input_row-error.php";
182 require_once NOALYSS_TEMPLATE .
"/operation_exercice-input_row.php";
192 if (
$operation->getp(
"oe_transfer_date") !=
"") {
193 echo
'<span class="warning">';
194 printf(_(
"Opération transférée le %s")
199 require_once NOALYSS_TEMPLATE .
"/operation_exercice-input_transfer.php";
220 if ($this->operation_exercice_sql->getp(
"oe_transfer_date")!=
"")
throw new \Exception(
"duplicate",
EXC_DUPLICATE);
221 if ( empty($oe_data[
'e_date'] ) )
throw new \Exception (
"Date null",2);
222 $ledger->verify_operation($oe_data);
224 $oe_result=_(
"Détail opération");
225 $oe_result.=sprintf(
'<a class="detail" style="display:inline" href="javascript:modifyOperation(%d,%d)">%s</a><hr>',
228 $cn->exec_sql(
"update operation_exercice set oe_transfer_date=to_timestamp($1,'DD.MM.YY HH24:MI') , jr_internal=$2 where oe_id=$3",
229 [date(
'd.m.Y H:i'),
$ledger->internal,$this->operation_exercice_sql->oe_id]);
233 }
catch (\Exception
$e) {
234 $oe_result=
$e->getMessage();
257 $oe_data[
'p_currency_code'] = 0;
258 $oe_data[
'p_currency_rate'] = 1;
260 $oe_data[
'e_date'] = $this->operation_exercice_sql->oe_date;
261 $oe_data[
'desc']=$this->operation_exercice_sql->getp(
"oe_text");
263 $all_operation = $operation_detail_sql->collect_objects(
' where oe_id = $1',[$this->operation_exercice_sql->oe_id]);
265 foreach ($all_operation as $item) {
266 $oe_data[
'qc_' .
$nb] = $item->oed_qcode;
267 $oe_data[
'poste' .
$nb] = $item->oed_poste;
268 $oe_data[
'ld' .
$nb] = $item->oed_label;
269 $oe_data[
'amount' .
$nb] = $item->oed_amount;
271 if ($item->oed_debit ==
"t") $oe_data[
'ck' .
$nb] =
't';
274 $oe_data[
'nb_item']=
$nb;
275 $oe_data[
'e_pj']=$acc_ledger->guess_pj();
276 $oe_data[
'e_pj_suggest']=$acc_ledger->guess_pj();
277 $oe_data[
'mt']=microtime(
true);
278 $oe_data[
'jr_optype']=($this->operation_exercice_sql->getp(
'oe_type')==
'opening')?
'OPE':
'CLO';
285 require_once NOALYSS_TEMPLATE.
"/operation_exercice-list_draft.php";
289 public static function delete($aOperation_id)
292 foreach ($aOperation_id as $operation_id)
294 $cn->exec_sql(
"delete from operation_exercice where oe_id=$1",[$operation_id]);
format_date($p_date, $p_from_format='YYYY-MM-DD', $p_to_format='DD.MM.YYYY')
format the date, when taken from the database the format is MM-DD-YYYY
th($p_string, $p_extra='', $raw='')
span($p_string, $p_extra='')
td($p_string='', $p_extra='')
surround the string with td
nbm($p_number, $p_dec=2)
format the number with a sep.
h( $row[ 'oa_description'])
getp($p_string)
set the value thanks the alias name instead of the colum name
static id()
return the 'gDossier' value after a check
static hidden()
return a string to set gDossier into a FORM
Html Input : Input a date format dd.mm.yyyy The property title should be set to indicate what it is e...
static modify($p_id, $p_javascript)
Display the icon to modify a idem.
Inplace_edit class for ajax update of HtmlInput object.
static input_row(Operation_Exercice_Detail_SQL $operation_detail_sql)
input one row of operation_exercice
submit_transfer($ledger_id)
transfer to accountancy
transform($ledger_id)
Transform the data in table OPERATION_EXERCICE and OPERATION_EXERCICE_DETAIL into an array usable by ...
display_row($data, $row_tr=true)
let display one row
static input_source()
input the source of the data : folder, exercice, closing or opening operation
input_transfer()
input data for transfering
display_total($with_span=true)
display the balance (total) of the operation
get_operation_exercice_sql()
set_operation_exercice_sql(Operation_Exercice_SQL $operation_exercice_sql)
if( $t !=-1 &&isNumber($t)==1) $total
if(count($a_accounting)==0) $header
create_script($p_string)
create the HTML for adding the script tags around of the script