32 if (!defined(
'NOREQUIREMENU')) define(
'NOREQUIREMENU',
'1');
33 if (!defined(
'NOBROWSERNOTIF')) define(
'NOBROWSERNOTIF',
'1');
35 require
'../../main.inc.php';
36 require_once DOL_DOCUMENT_ROOT.
'/compta/cashcontrol/class/cashcontrol.class.php';
37 require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
38 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
39 require_once DOL_DOCUMENT_ROOT.
'/compta/cashcontrol/class/cashcontrol.class.php';
41 $langs->loadLangs(array(
"bills",
"banks"));
45 $_GET[
'optioncss'] =
"print";
48 $cashcontrol->fetch($id);
52 $sortfield =
'b.datev,b.dateo,b.rowid';
55 'b.rowid'=>array(
'label'=>$langs->trans(
"Ref"),
'checked'=>1),
56 'b.dateo'=>array(
'label'=>$langs->trans(
"DateOperationShort"),
'checked'=>1),
57 'b.num_chq'=>array(
'label'=>$langs->trans(
"Number"),
'checked'=>1),
58 'ba.ref'=>array(
'label'=>$langs->trans(
"BankAccount"),
'checked'=>1),
59 'cp.code'=>array(
'label'=>$langs->trans(
"PaymentMode"),
'checked'=>1),
60 'b.debit'=>array(
'label'=>$langs->trans(
"Debit"),
'checked'=>1,
'position'=>600),
61 'b.credit'=>array(
'label'=>$langs->trans(
"Credit"),
'checked'=>1,
'position'=>605),
64 $syear = $cashcontrol->year_close;
65 $smonth = $cashcontrol->month_close;
66 $sday = $cashcontrol->day_close;
68 $posmodule = $cashcontrol->posmodule;
69 $terminalid = $cashcontrol->posnumber;
78 llxHeader(
'', $langs->trans(
"CashControl"),
'',
'', 0, 0, array(), array(), $param);
107 $sql =
"SELECT f.rowid as facid, f.ref, f.datef as do, pf.amount as amount, b.fk_account as bankid, cp.code";
108 $sql .=
" FROM ".MAIN_DB_PREFIX.
"paiement_facture as pf, ".MAIN_DB_PREFIX.
"facture as f, ".MAIN_DB_PREFIX.
"paiement as p, ".MAIN_DB_PREFIX.
"c_paiement as cp, ".MAIN_DB_PREFIX.
"bank as b";
109 $sql .=
" WHERE pf.fk_facture = f.rowid AND p.rowid = pf.fk_paiement AND cp.id = p.fk_paiement AND p.fk_bank = b.rowid";
110 $sql .=
" AND f.module_source = '".$db->escape($posmodule).
"'";
111 $sql .=
" AND f.pos_source = '".$db->escape($terminalid).
"'";
112 $sql .=
" AND f.paye = 1";
113 $sql .=
" AND p.entity = ".$conf->entity;
123 elseif ($syear && $smonth && !$sday) $sql .= " AND datef BETWEEN '".$db->idate(
dol_get_first_day($syear, $smonth))."' AND '".$db->idate(
dol_get_last_day($syear, $smonth))."'";
124 elseif ($syear && $smonth && $sday) $sql .= " AND datef BETWEEN '".$db->idate(
dol_mktime(0, 0, 0, $smonth, $sday, $syear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $smonth, $sday, $syear))."'";
127 $resql = $db->query($sql);
129 $num = $db->num_rows($resql);
132 print "<!-- title of cash fence -->\n";
133 print "<center><h2>";
134 if ($cashcontrol->status != $cashcontrol::STATUS_DRAFT)
print $langs->trans(
"CashControl").
" ".$cashcontrol->id;
135 else print $langs->trans(
"CashControl").
" - ".$langs->trans(
"Draft");
136 print "<br>".$langs->trans(
"DateCreationShort").
": ".
dol_print_date($cashcontrol->date_creation,
'dayhour');
137 print "</h2></center>";
139 $invoicetmp =
new Facture($db);
141 print "<div style='text-align: right'><h2>";
142 print $langs->trans(
"InitialBankBalance").
' - '.$langs->trans(
"Cash").
" : ".
price($cashcontrol->opening);
145 print '<div class="div-table-responsive">';
146 print '<table class="tagtable liste">'.
"\n";
151 print '<tr class="liste_titre">';
162 $cash = $bank = $cheque = $other = 0;
164 $totalarray = array();
165 $cachebankaccount = array();
166 $amountpertype = array();
168 $objp = $db->fetch_object($resql);
170 if (empty($cachebankaccount[$objp->bankid])) {
171 $bankaccounttmp =
new Account($db);
172 $bankaccounttmp->fetch($objp->bankid);
173 $cachebankaccount[$objp->bankid] = $bankaccounttmp;
174 $bankaccount = $bankaccounttmp;
176 $bankaccount = $cachebankaccount[$objp->bankid];
179 $invoicetmp->fetch($objp->facid);
190 print '<tr class="oddeven">';
193 print '<td class="nowrap left">';
194 print $invoicetmp->getNomUrl(1);
196 if (!$i) $totalarray[
'nbfield']++;
199 print '<td class="nowrap left">';
200 print '<span id="dateoperation_'.$objp->rowid.
'">'.
dol_print_date($db->jdate($objp->do),
"day").
"</span>";
202 if (!$i) $totalarray[
'nbfield']++;
205 print
'<td class="nowrap right">';
206 print $bankaccount->getNomUrl(1);
207 if ($cashcontrol->posmodule ==
"takepos") {
208 $var1 =
'CASHDESK_ID_BANKACCOUNT_CASH'.$cashcontrol->posnumber;
210 $var1 =
'CASHDESK_ID_BANKACCOUNT_CASH';
212 if ($objp->code ==
'CHQ') {
213 $cheque += $objp->amount;
214 } elseif ($objp->code ==
'CB') {
215 $bank += $objp->amount;
217 if ($conf->global->$var1 == $bankaccount->id) $cash += $objp->amount;
220 else $other += $objp->amount;
223 if (!$i) $totalarray[
'nbfield']++;
226 print
'<td class="right">';
228 if (empty($amountpertype[$objp->code])) $amountpertype[$objp->code] = 0;
230 if (!$i) $totalarray[
'nbfield']++;
233 print
'<td class="right">';
234 if ($objp->amount < 0) {
235 print
price($objp->amount * -1);
236 $totalarray[
'val'][
'totaldebfield'] += $objp->amount;
237 $amountpertype[$objp->code] += $objp->amount;
240 if (!$i) $totalarray[
'nbfield']++;
241 if (!$i) $totalarray[
'pos'][$totalarray[
'nbfield']] =
'totaldebfield';
244 print
'<td class="right">';
245 if ($objp->amount > 0) {
246 print
price($objp->amount);
247 $totalarray[
'val'][
'totalcredfield'] += $objp->amount;
248 $amountpertype[$objp->code] -= $objp->amount;
251 if (!$i) $totalarray[
'nbfield']++;
252 if (!$i) $totalarray[
'pos'][$totalarray[
'nbfield']] =
'totalcredfield';
260 include DOL_DOCUMENT_ROOT.
'/core/tpl/list_print_total.tpl.php';
265 $cash =
price2num($cash + $cashcontrol->opening,
'MT');
267 print
"<div style='text-align: right'><h2>";
268 print $langs->trans(
"Cash").
": ".
price($cash);
269 if ($cashcontrol->status == $cashcontrol::STATUS_VALIDATED && $cash != $cashcontrol->cash) {
270 print
' <> <span class="amountremaintopay">'.$langs->trans(
"Declared").
': '.
price($cashcontrol->cash).
'</span>';
275 print $langs->trans(
"PaymentTypeCHQ").
": ".
price($cheque);
276 if ($cashcontrol->status == $cashcontrol::STATUS_VALIDATED && $cheque != $cashcontrol->cheque) {
277 print
' <> <span class="amountremaintopay">'.$langs->trans(
"Declared").
': '.
price($cashcontrol->cheque).
'</span>';
282 print $langs->trans(
"PaymentTypeCB").
": ".
price($bank);
283 if ($cashcontrol->status == $cashcontrol::STATUS_VALIDATED && $bank != $cashcontrol->card) {
284 print
' <> <span class="amountremaintopay">'.$langs->trans(
"Declared").
': '.
price($cashcontrol->card).
'</span>';
290 print
'<br>'.$langs->trans(
"Other").
": ".
price($other).
"<br><br>";
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm= 'auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
Class to manage cash fence.
dol_get_first_day($year, $month=1, $gm=false)
Return GMT time for first day of a month or year.
Class to manage bank accounts.
price($amount, $form=0, $outlangs= '', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code= '')
Function to format a value into an amount for visual output Function used into PDF and HTML pages...
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
price2num($amount, $rounding= '', $option=0)
Function that return a number with universal decimal format (decimal separator is '...
if(!GETPOST('transkey', 'alphanohtml')&&!GETPOST('transphrase', 'alphanohtml')) else
View.
print $_SERVER["PHP_SELF"]
Edit parameters.
dol_get_last_day($year, $month=12, $gm=false)
Return GMT time for last day of a month or year.
print
Draft customers invoices.
dol_print_date($time, $format= '', $tzoutput= 'auto', $outputlangs= '', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
Class to manage invoices.
if(!defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN'
Draft customers invoices.