39function is_empty($var, $allow_false =
false, $allow_ws =
false)
41 if (is_null($var) || !isset($var) || ($allow_ws ==
false && trim($var) ==
"" && !is_bool($var)) || ($allow_false ===
false && $var ===
false) || (is_array($var) && empty($var))) {
60 $head[$h][0] =
dolBuildUrl(DOL_URL_ROOT.
'/accountancy/admin/card.php', [
'id' =>
$object->id]);
61 $head[$h][1] = $langs->trans(
"AccountAccounting");
62 $head[$h][2] =
'card';
92 $head[$h][0] =
dolBuildUrl(DOL_URL_ROOT.
'/accountancy/bookkeeping/card.php', [
'piece_num' =>
$object->piece_num,
'mode' => $mode,
'type' => $type,
'backtopage' => $backtopage]);
93 $head[$h][1] = $langs->trans(
"Transaction");
94 $head[$h][2] =
'transaction';
116 $account = rtrim($account,
"0");
129 if ($account < 0 ||
is_empty($account)) {
140 $i = strlen($account);
167 if ($accounta < 0 ||
is_empty($accounta)) {
178 $i = strlen($accounta);
208 if (empty($auxiliary_account))
return true;
211 $sql =
"SELECT rowid, account_number, centralized";
212 $sql .=
" FROM ".MAIN_DB_PREFIX.
"accounting_account";
214 if ($general_account_id > 0) {
215 $sql .=
" rowid = ".((int) $general_account_id);
217 $sql .=
" account_number = '".$db->escape($general_account).
"'";
219 $sql .=
" AND entity = ". ((int) $conf->entity);
220 $sql .=
" AND fk_pcg_version IN (SELECT pcg_version FROM ".MAIN_DB_PREFIX.
"accounting_system WHERE rowid = ".((int)
getDolGlobalInt(
'CHARTOFACCOUNTS')).
")";
222 $resql = $db->query($sql);
224 $obj = $db->fetch_object($resql);
225 if ($obj && empty($obj->centralized)) {
250function journalHead($nom, $variant, $period, $periodlink, $description, $builddate, $exportlink =
'', $moreparam = array(), $calcmode =
'', $varlink =
'', $moreoptions = array())
254 print
"\n\n<!-- start banner journal -->\n";
257 $varlink =
'?'.$varlink;
262 $head[$h][0] = $_SERVER[
"PHP_SELF"].$varlink;
263 $head[$h][1] = $langs->trans(
"Journalization");
264 $head[$h][2] =
'journal';
266 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].$varlink.
'">';
267 print
'<input type="hidden" name="token" value="'.newToken().
'">';
271 foreach ($moreparam as $key => $value) {
272 print
'<input type="hidden" name="'.$key.
'" value="'.$value.
'">';
274 print
'<table class="border centpercent tableforfield">';
278 print
'<td class="titlefieldcreate">'.$langs->trans(
"Name").
'</td>';
279 print
'<td colspan="3">';
287 print
'<td>'.$langs->trans(
"CalculationMode").
'</td>';
289 print
'<td colspan="3">';
295 print
'</td><td colspan="2">'.$variant;
303 print
'<td>'.$langs->trans(
"ReportPeriod").
'</td>';
305 print
'<td colspan="3">';
313 print
'</td><td colspan="2">'.$periodlink;
320 print
'<td>'.$langs->trans(
"ReportDescription").
'</td>';
321 print
'<td colspan="3">'.$description.
'</td>';
326 foreach ($moreoptions as $key => $value) {
328 print
'<td>'.$langs->trans($key).
'</td>';
329 print
'<td colspan="3">'.$value.
'</td>';
337 print
'<div class="center"><input type="submit" class="button" name="submit" value="'.$langs->trans(
"Refresh").
'"></div>';
341 print
"\n<!-- end banner journal -->\n\n";
359 $periodbydefaultontransfer =
getDolGlobalInt(
'ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER', 0);
360 if ($periodbydefaultontransfer == 2) {
361 $sql =
"SELECT date_start, date_end FROM ".MAIN_DB_PREFIX.
"accounting_fiscalyear";
362 $sql .=
" WHERE date_start < '".$db->idate(
dol_now()).
"' AND date_end > '".$db->idate(
dol_now()).
"'";
363 $sql .= $db->plimit(1);
364 $res = $db->query($sql);
365 if ($db->num_rows($res) > 0) {
366 $obj = $db->fetch_object($res);
368 $date_start = $db->jdate($obj->date_start);
376 $year_end = $year_start + 1;
377 $month_end = $month_start - 1;
378 if ($month_end < 1) {
382 $date_start =
dol_mktime(0, 0, 0, $month_start, 1, $year_start);
386 } elseif ($periodbydefaultontransfer == 1) {
389 $pastmonthyear = $year_current;
390 if ($pastmonth == 0) {
397 $pastmonthyear = $year_current;
398 if ($pastmonth == 0) {
404 'date_start' => $date_start,
405 'date_end' => $date_end,
406 'pastmonthyear' => $pastmonthyear,
407 'pastmonth' => $pastmonth
425 if ($from_time ===
null) {
431 include_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
434 $sql =
"SELECT date_start, date_end FROM ".$db->prefix().
"accounting_fiscalyear";
435 $sql .=
" WHERE date_start <= '".$db->idate($from_time, $gm).
"'";
436 if ($withenddateonly) {
437 $sql .=
" AND (date_end >= '".$db->idate($from_time, $gm).
"')";
439 $sql .=
" AND (date_end >= '".$db->idate($from_time, $gm).
"' OR date_end IS NULL)";
442 $sql .=
" AND entity IN (".getEntity(
'accounting_fiscalyear').
")";
443 $sql .= $db->order(
'date_start',
'DESC');
444 $sql .= $db->plimit(1);
446 $res = $db->query($sql);
448 if ($db->num_rows($res) > 0) {
450 $obj = $db->fetch_object($res);
452 $date_start = $db->jdate($obj->date_start, $gm);
457 $conf_fiscal_month_start =
getDolGlobalInt(
'SOCIETE_FISCAL_MONTH_START');
458 if ($conf_fiscal_month_start >= 1 && $conf_fiscal_month_start <= 12) {
459 $month_start = $conf_fiscal_month_start;
461 $year_start = $now_arr[
'year'];
462 if ($conf_fiscal_month_start > $now_arr[
'mon']) {
465 $year_end = $year_start + 1;
466 $month_end = $month_start - 1;
467 if ($month_end < 1) {
471 $date_start =
dol_mktime(0, 0, 0, $month_start, 1, $year_start, $gm);
476 'date_start' => $date_start,
477 'date_end' => $date_end,
492 $sql =
"SELECT date_start, date_end FROM ".$db->prefix().
"accounting_fiscalyear";
493 $sql .=
" WHERE date_start > '".$db->idate($after_date, $gm).
"'";
494 $sql .=
" AND entity IN (".getEntity(
'accounting_fiscalyear').
")";
495 $sql .= $db->order(
'date_start',
'ASC');
496 $sql .= $db->plimit(1);
498 $res = $db->query($sql);
500 if ($res && $db->num_rows($res) > 0) {
501 $obj = $db->fetch_object($res);
503 $date_start = $db->jdate($obj->date_start, $gm);
504 $date_end = $db->jdate($obj->date_end, $gm);
507 'date_start' => $date_start,
508 'date_end' => $date_end,
if(! $sortfield) if(! $sortorder) $object
accounting_transaction_prepare_head(BookKeeping $object, $mode='', $type='', $backtopage='/accountancy/bookkeeping/listbyaccount.php')
Prepare array with list of tabs for accounting transaction.
length_accountg($account)
Return General accounting account with defined length (used for product and miscellaneous)
accounting_prepare_head(AccountingAccount $object)
Prepare array with list of tabs.
getCurrentPeriodOfFiscalYear($db, $conf, $from_time=null, $gm='tzserver', $withenddateonly=1)
Get current period of fiscal year?
journalHead($nom, $variant, $period, $periodlink, $description, $builddate, $exportlink='', $moreparam=array(), $calcmode='', $varlink='', $moreoptions=array())
Show header of a page used to transfer/dispatch data in accounting.
is_empty($var, $allow_false=false, $allow_ws=false)
Check if a value is empty with some options.
getDefaultDatesForTransfer()
Return Default dates for transfer based on periodicity option in accountancy setup.
clean_account($account)
Return accounting account without zero on the right.
length_accounta($accounta)
Return Auxiliary accounting account of thirdparties with defined length.
checkGeneralAccountAllowsAuxiliary($db, $general_account, $auxiliary_account, $general_account_id=0)
Check if a general accounting account allows the use of an auxiliary account.
getNextFiscalYear($db, $after_date, $gm='tzserver')
Get next fiscal year period after a given date.
Class to manage accounting accounts.
Class to manage Ledger (General Ledger and Subledger)
dol_get_last_hour($date, $gm='tzserver')
Return GMT time for last hour of a given GMT date (it replaces hours, min and second part to 23:59:59...
dol_get_last_day($year, $month=12, $gm=false)
Return GMT time for last day of a month or year.
dol_now($mode='gmt')
Return date for now.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
dolBuildUrl($url, $params=[], $addtoken=false)
Return path of url.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode='add', $filterorigmodule='')
Complete or removed entries into a head array (used to build tabs).
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
dol_getdate($timestamp, $fast=false, $forcetimezone='')
Return an array with locale date info.