Merge branch 'aspangaro-9.0_accountancy' into develop
This commit is contained in:
commit
ff7640bb3a
@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
|
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2016-2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2016-2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -79,6 +79,7 @@ $search_direction = GETPOST('search_direction', 'alpha');
|
|||||||
$search_debit = GETPOST('search_debit', 'alpha');
|
$search_debit = GETPOST('search_debit', 'alpha');
|
||||||
$search_credit = GETPOST('search_credit', 'alpha');
|
$search_credit = GETPOST('search_credit', 'alpha');
|
||||||
$search_ledger_code = GETPOST('search_ledger_code', 'alpha');
|
$search_ledger_code = GETPOST('search_ledger_code', 'alpha');
|
||||||
|
$search_lettering_code = GETPOST('search_lettering_code', 'alpha');
|
||||||
|
|
||||||
// Load variable for pagination
|
// Load variable for pagination
|
||||||
$limit = GETPOST('limit','int')?GETPOST('limit', 'int'):(empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)?$conf->liste_limit:$conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
|
$limit = GETPOST('limit','int')?GETPOST('limit', 'int'):(empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)?$conf->liste_limit:$conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
|
||||||
@ -138,11 +139,14 @@ $arrayfields=array(
|
|||||||
't.label_operation'=>array('label'=>$langs->trans("Label"), 'checked'=>1),
|
't.label_operation'=>array('label'=>$langs->trans("Label"), 'checked'=>1),
|
||||||
't.debit'=>array('label'=>$langs->trans("Debit"), 'checked'=>1),
|
't.debit'=>array('label'=>$langs->trans("Debit"), 'checked'=>1),
|
||||||
't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1),
|
't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1),
|
||||||
|
't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1),
|
||||||
't.code_journal'=>array('label'=>$langs->trans("Codejournal"), 'checked'=>1),
|
't.code_journal'=>array('label'=>$langs->trans("Codejournal"), 'checked'=>1),
|
||||||
't.date_creation'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0),
|
't.date_creation'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0),
|
||||||
't.tms'=>array('label'=>$langs->trans("DateModification"), 'checked'=>0),
|
't.tms'=>array('label'=>$langs->trans("DateModification"), 'checked'=>0),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.lettering_code']);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
@ -176,6 +180,7 @@ if (GETPOST('button_removefilter_x','alpha') || GETPOST('button_removefilter.x',
|
|||||||
$search_date_modification_end = '';
|
$search_date_modification_end = '';
|
||||||
$search_debit = '';
|
$search_debit = '';
|
||||||
$search_credit = '';
|
$search_credit = '';
|
||||||
|
$search_lettering_code = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Must be after the remove filter action, before the export.
|
// Must be after the remove filter action, before the export.
|
||||||
@ -272,6 +277,10 @@ if (! empty($search_credit)) {
|
|||||||
$filter['t.credit'] = $search_credit;
|
$filter['t.credit'] = $search_credit;
|
||||||
$param .= '&search_credit=' . urlencode($search_credit);
|
$param .= '&search_credit=' . urlencode($search_credit);
|
||||||
}
|
}
|
||||||
|
if (! empty($search_lettering_code)) {
|
||||||
|
$filter['t.lettering_code'] = $search_lettering_code;
|
||||||
|
$param .= '&search_lettering_code=' . urlencode($search_lettering_code);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($action == 'delbookkeeping') {
|
if ($action == 'delbookkeeping') {
|
||||||
@ -548,6 +557,13 @@ if (! empty($arrayfields['t.credit']['checked']))
|
|||||||
print '<input type="text" class="flat" name="search_credit" size="4" value="'.dol_escape_htmltag($search_credit).'">';
|
print '<input type="text" class="flat" name="search_credit" size="4" value="'.dol_escape_htmltag($search_credit).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
// Lettering code
|
||||||
|
if (! empty($arrayfields['t.lettering_code']['checked']))
|
||||||
|
{
|
||||||
|
print '<td class="liste_titre center">';
|
||||||
|
print '<input type="text" size="3" class="flat" name="search_lettering_code" value="' . $search_lettering_code . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
// Code journal
|
// Code journal
|
||||||
if (! empty($arrayfields['t.code_journal']['checked']))
|
if (! empty($arrayfields['t.code_journal']['checked']))
|
||||||
{
|
{
|
||||||
@ -597,6 +613,7 @@ if (! empty($arrayfields['t.subledger_account']['checked'])) print_liste_field_t
|
|||||||
if (! empty($arrayfields['t.label_operation']['checked'])) print_liste_field_titre($arrayfields['t.label_operation']['label'], $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
|
if (! empty($arrayfields['t.label_operation']['checked'])) print_liste_field_titre($arrayfields['t.label_operation']['label'], $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['t.debit']['checked'])) print_liste_field_titre($arrayfields['t.debit']['label'], $_SERVER['PHP_SELF'], "t.debit", "", $param, 'align="right"', $sortfield, $sortorder);
|
if (! empty($arrayfields['t.debit']['checked'])) print_liste_field_titre($arrayfields['t.debit']['label'], $_SERVER['PHP_SELF'], "t.debit", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['t.credit']['checked'])) print_liste_field_titre($arrayfields['t.credit']['label'], $_SERVER['PHP_SELF'], "t.credit", "", $param, 'align="right"', $sortfield, $sortorder);
|
if (! empty($arrayfields['t.credit']['checked'])) print_liste_field_titre($arrayfields['t.credit']['label'], $_SERVER['PHP_SELF'], "t.credit", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||||
|
if (! empty($arrayfields['t.lettering_code']['checked'])) print_liste_field_titre($arrayfields['t.lettering_code']['label'], $_SERVER['PHP_SELF'], "t.lettering_code", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['t.code_journal']['checked'])) print_liste_field_titre($arrayfields['t.code_journal']['label'], $_SERVER['PHP_SELF'], "t.code_journal", "", $param, 'align="center"', $sortfield, $sortorder);
|
if (! empty($arrayfields['t.code_journal']['checked'])) print_liste_field_titre($arrayfields['t.code_journal']['label'], $_SERVER['PHP_SELF'], "t.code_journal", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['t.date_creation']['checked'])) print_liste_field_titre($arrayfields['t.date_creation']['label'], $_SERVER['PHP_SELF'], "t.date_creation", "", $param, 'align="center"', $sortfield, $sortorder);
|
if (! empty($arrayfields['t.date_creation']['checked'])) print_liste_field_titre($arrayfields['t.date_creation']['label'], $_SERVER['PHP_SELF'], "t.date_creation", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['t.tms']['checked'])) print_liste_field_titre($arrayfields['t.tms']['label'], $_SERVER['PHP_SELF'], "t.tms", "", $param, 'align="center"', $sortfield, $sortorder);
|
if (! empty($arrayfields['t.tms']['checked'])) print_liste_field_titre($arrayfields['t.tms']['label'], $_SERVER['PHP_SELF'], "t.tms", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
@ -682,6 +699,13 @@ if ($num > 0)
|
|||||||
$totalarray['totalcredit'] += $line->credit;
|
$totalarray['totalcredit'] += $line->credit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Lettering code
|
||||||
|
if (! empty($arrayfields['t.lettering_code']['checked']))
|
||||||
|
{
|
||||||
|
print '<td align="center">' . $line->lettering_code . '</td>';
|
||||||
|
if (! $i) $totalarray['nbfield']++;
|
||||||
|
}
|
||||||
|
|
||||||
// Journal code
|
// Journal code
|
||||||
if (! empty($arrayfields['t.code_journal']['checked']))
|
if (! empty($arrayfields['t.code_journal']['checked']))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -22,12 +22,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file accountancy/bookkeeping/thirdparty_lettrage.php
|
* \file htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php
|
||||||
* \ingroup Advanced accountancy
|
* \ingroup accountancy
|
||||||
* \brief Onglet de gestion de parametrages des ventilations
|
* \brief Tab to manage customer lettering
|
||||||
*/
|
*/
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/lettering.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/lettering.class.php';
|
||||||
@ -35,7 +34,7 @@ require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php';
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("compta"));
|
$langs->loadLangs(array("compta","accountancy"));
|
||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$massaction = GETPOST('massaction', 'alpha');
|
$massaction = GETPOST('massaction', 'alpha');
|
||||||
@ -62,11 +61,10 @@ $search_year = GETPOST("search_year", 'int');
|
|||||||
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
||||||
$search_doc_ref = GETPOST("search_doc_ref", 'alpha');
|
$search_doc_ref = GETPOST("search_doc_ref", 'alpha');
|
||||||
|
|
||||||
$lettering = GETPOST('lettering');
|
$lettering = GETPOST('lettering', 'alpha');
|
||||||
if (! empty($lettering)) {
|
if (! empty($lettering)) {
|
||||||
$action = $lettering;
|
$action = $lettering;
|
||||||
}
|
}
|
||||||
$toselect = GETPOST('toselect', 'array');
|
|
||||||
|
|
||||||
// Did we click on purge search criteria ?
|
// Did we click on purge search criteria ?
|
||||||
// All tests are required to be compatible with all browsers
|
// All tests are required to be compatible with all browsers
|
||||||
@ -80,6 +78,7 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x'
|
|||||||
$socid = GETPOST("socid", 'int');
|
$socid = GETPOST("socid", 'int');
|
||||||
// if ($user->societe_id) $socid=$user->societe_id;
|
// if ($user->societe_id) $socid=$user->societe_id;
|
||||||
|
|
||||||
|
$lettering = new Lettering($db);
|
||||||
$object = new Societe($db);
|
$object = new Societe($db);
|
||||||
$object->id = $socid;
|
$object->id = $socid;
|
||||||
$result = $object->fetch($socid);
|
$result = $object->fetch($socid);
|
||||||
@ -88,9 +87,6 @@ if ($result < 0)
|
|||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
$BookKeeping = new Lettering($db);
|
|
||||||
$formaccounting = new FormAccounting($db);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Action
|
* Action
|
||||||
@ -98,82 +94,49 @@ $formaccounting = new FormAccounting($db);
|
|||||||
|
|
||||||
if ($action == 'lettering') {
|
if ($action == 'lettering') {
|
||||||
|
|
||||||
$result = $BookKeeping->updateLettrage($toselect);
|
$result = $lettering->updateLettering($toselect);
|
||||||
|
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages('', $BookKeeping->errors, 'errors');
|
setEventMessages('', $lettering->errors, 'errors');
|
||||||
$error ++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'autolettrage') {
|
if ($action == 'autolettrage') {
|
||||||
|
|
||||||
$result = $BookKeeping->lettrageTiers($socid);
|
$result = $lettering->letteringThirdparty($socid);
|
||||||
|
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages('', $BookKeeping->errors, 'errors');
|
setEventMessages('', $lettering->errors, 'errors');
|
||||||
$error ++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
llxHeader('', 'Compta - Grand Livre');
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Affichage onglets
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
$formaccounting = new FormAccounting($db);
|
||||||
|
|
||||||
|
$title=$object->name." - ".$langs->trans('TabLetteringCustomer');
|
||||||
|
$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
|
||||||
|
llxHeader('',$title,$help_url);
|
||||||
|
|
||||||
$head = societe_prepare_head($object);
|
$head = societe_prepare_head($object);
|
||||||
|
|
||||||
dol_htmloutput_mesg(is_numeric($error) ? '' : $error, $errors, 'error');
|
dol_htmloutput_mesg(is_numeric($error) ? '' : $error, $errors, 'error');
|
||||||
|
|
||||||
dol_fiche_head($head, 'accounting', $langs->trans("ThirdParty"), 0, 'company');
|
dol_fiche_head($head, 'lettering_customer', $langs->trans("ThirdParty"), 0, 'company');
|
||||||
|
|
||||||
print '<table width="100%" class="border">';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
||||||
print '<tr><td width="30%">' . $langs->trans("ThirdPartyName") . '</td><td width="70%" colspan="3">';
|
|
||||||
$object->next_prev_filter = "te.fournisseur = 1";
|
|
||||||
print $form->showrefnav($object, 'socid', '', ($user->societe_id ? 0 : 1), 'rowid', 'nom', '', '');
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
dol_banner_tab($object, 'socid', $linkback, ($user->societe_id?0:1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom');
|
||||||
{
|
|
||||||
print '<tr><td>' . $langs->trans('Prefix') . '</td><td colspan="3">' . $object->prefix_comm . '</td></tr>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<tr>';
|
dol_fiche_end();
|
||||||
print '<td class="nowrap">' . $langs->trans("CustomerCode") . '</td><td colspan="3">';
|
|
||||||
print $object->code_client;
|
|
||||||
if ($object->check_codeclient() != 0)
|
|
||||||
print ' <font class="error">(' . $langs->trans("WrongCustomerCode") . ')</font>';
|
|
||||||
print '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
print '<tr>';
|
print '<br>';
|
||||||
print '<td>';
|
|
||||||
print $form->editfieldkey("CustomerAccountancyCode", 'customeraccountancycode', $object->code_compta, $object, $user->rights->societe->creer);
|
|
||||||
print '</td><td colspan="3">';
|
|
||||||
print $form->editfieldval("CustomerAccountancyCode", 'customeraccountancycode', $object->code_compta, $object, $user->rights->societe->creer);
|
|
||||||
print '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
// Address
|
|
||||||
print '<tr><td valign="top">' . $langs->trans("Address") . '</td><td colspan="3">';
|
|
||||||
dol_print_address($object->address, 'gmap', 'thirdparty', $object->id);
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
// Zip / Town
|
|
||||||
print '<tr><td class="nowrap">' . $langs->trans("Zip") . ' / ' . $langs->trans("Town") . '</td><td colspan="3">' . $object->zip . (($object->zip && $object->town) ? ' / ' : '') . $object->town . '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
// Country
|
|
||||||
print '<tr><td>' . $langs->trans("Country") . '</td><td colspan="3">';
|
|
||||||
// $img=picto_from_langcode($object->country_code);
|
|
||||||
$img = '';
|
|
||||||
if ($object->isInEEC())
|
|
||||||
print $form->textwithpicto(($img ? $img . ' ' : '') . $object->country, $langs->trans("CountryIsInEEC"), 1, 0);
|
|
||||||
else
|
|
||||||
print ($img ? $img . ' ' : '') . $object->country;
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
print '</table>';
|
|
||||||
|
|
||||||
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, ";
|
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, ";
|
||||||
$sql .= " bk.subledger_account, bk.numero_compte , bk.label_compte, bk.debit, ";
|
$sql .= " bk.subledger_account, bk.numero_compte , bk.label_compte, bk.debit, ";
|
||||||
@ -210,7 +173,7 @@ while ( $obj = $db->fetch_object($resql) ) {
|
|||||||
|
|
||||||
$sql .= $db->plimit($limit + 1, $offset);
|
$sql .= $db->plimit($limit + 1, $offset);
|
||||||
|
|
||||||
dol_syslog("/accountancy/bookkeeping/thirdparty_lettrage.php", LOG_DEBUG);
|
dol_syslog("/accountancy/bookkeeping/thirdparty_lettering_customer.php", LOG_DEBUG);
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if (! $resql) {
|
if (! $resql) {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
@ -219,7 +182,7 @@ if (! $resql) {
|
|||||||
|
|
||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
|
|
||||||
dol_syslog("/accountancy/bookkeeping/thirdparty_lettrage.php", LOG_DEBUG);
|
dol_syslog("/accountancy/bookkeeping/thirdparty_lettering_customer.php", LOG_DEBUG);
|
||||||
if ($resql) {
|
if ($resql) {
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
@ -233,21 +196,19 @@ if ($resql) {
|
|||||||
print_liste_field_titre("Doctype", $_SERVER["PHP_SELF"], "bk.doc_type", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Doctype", $_SERVER["PHP_SELF"], "bk.doc_type", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Docdate", $_SERVER["PHP_SELF"], "bk.doc_date", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Docdate", $_SERVER["PHP_SELF"], "bk.doc_date", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Docref", $_SERVER["PHP_SELF"], "bk.doc_ref", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Docref", $_SERVER["PHP_SELF"], "bk.doc_ref", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Labelcompte", $_SERVER["PHP_SELF"], "bk.label_compte", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("LabelAccount", $_SERVER["PHP_SELF"], "bk.label_compte", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "bk.debit", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "bk.debit", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "bk.credit", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "bk.credit", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "bk.montant", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Balancing", $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Sens", $_SERVER["PHP_SELF"], "bk.sens", "", $param, "", $sortfield, $sortorder);
|
|
||||||
print_liste_field_titre("Codejournal", $_SERVER["PHP_SELF"], "bk.code_journal", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Codejournal", $_SERVER["PHP_SELF"], "bk.code_journal", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Solde", $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("LetteringCode", $_SERVER["PHP_SELF"], "bk.lettering_code", "", $param, "", $sortfield, $sortorder);
|
||||||
print '<td></td>';
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td><input type="text" name="search_doc_type" value="' . $search_doc_type . '"></td>';
|
print '<td><input type="text" name="search_doc_type" value="' . $search_doc_type . '"></td>';
|
||||||
print '<td><input type="text" name="search_year" value="' . $search_year . '"></td>';
|
print '<td><input type="text" name="search_year" value="' . $search_year . '"></td>';
|
||||||
print '<td><input type="text" name="search_doc_refe" value="' . $search_doc_ref . '"></td>';
|
print '<td><input type="text" name="search_doc_refe" value="' . $search_doc_ref . '"></td>';
|
||||||
print '<td colspan="7"> </td>';
|
print '<td colspan="5"> </td>';
|
||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
$searchpicto = $form->showFilterButtons();
|
$searchpicto = $form->showFilterButtons();
|
||||||
print $searchpicto;
|
print $searchpicto;
|
||||||
@ -258,12 +219,8 @@ if ($resql) {
|
|||||||
$tmp = '';
|
$tmp = '';
|
||||||
while ( $obj = $db->fetch_object($resql) ) {
|
while ( $obj = $db->fetch_object($resql) ) {
|
||||||
|
|
||||||
if ($tmp != $obj->lettering_code || empty($tmp))
|
if ($tmp != $obj->lettering_code || empty($tmp)) $tmp = $obj->lettering_code;
|
||||||
$tmp = $obj->lettering_code;
|
/*if ($tmp != $obj->lettering_code || empty($obj->lettering_code))*/ $solde += ($obj->credit - $obj->debit);
|
||||||
|
|
||||||
if ($tmp != $obj->lettering_code || empty($obj->lettering_code))
|
|
||||||
|
|
||||||
$solde += ($obj->credit - $obj->debit);
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
@ -271,44 +228,44 @@ if ($resql) {
|
|||||||
print '<td><a href="' . dol_buildpath('/accountancy/bookkeeping/card.php', 1) . '?piece_num=' . $obj->piece_num . '">';
|
print '<td><a href="' . dol_buildpath('/accountancy/bookkeeping/card.php', 1) . '?piece_num=' . $obj->piece_num . '">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a> ' . $obj->doc_type . '</td>' . "\n";
|
print '</a> ' . $obj->doc_type . '</td>' . "\n";
|
||||||
} else
|
} else {
|
||||||
print '<td>' . $obj->doc_type . '</td>' . "\n";
|
print '<td>' . $obj->doc_type . '</td>' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
print '<td>' . dol_print_date($db->jdate($obj->doc_date), 'day') . '</td>';
|
print '<td>' . dol_print_date($db->jdate($obj->doc_date), 'day') . '</td>';
|
||||||
print '<td>' . $obj->doc_ref . '</td>';
|
print '<td>' . $obj->doc_ref . '</td>';
|
||||||
print '<td>' . $obj->label_compte . '</td>';
|
print '<td>' . $obj->label_compte . '</td>';
|
||||||
print '<td>' . price($obj->debit) . '</td>';
|
print '<td align="right">' . price($obj->debit) . '</td>';
|
||||||
print '<td>' . price($obj->credit) . '</td>';
|
print '<td align="right">' . price($obj->credit) . '</td>';
|
||||||
print '<td>' . price($obj->montant) . '</td>';
|
print '<td align="right">' . price(round($solde, 2)) . '</td>';
|
||||||
print '<td>' . $obj->sens . '</td>';
|
print '<td align="center">' . $obj->code_journal . '</td>';
|
||||||
print '<td>' . $obj->code_journal . '</td>';
|
|
||||||
print '<td>' . round($solde, 2) . '</td>';
|
|
||||||
|
|
||||||
if (empty($obj->lettering_code)) {
|
if (empty($obj->lettering_code)) {
|
||||||
print '<td class="nowrap" align="center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="' . $obj->rowid . '" /></td>';
|
print '<td class="nowrap" align="center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="' . $obj->rowid . '" /></td>';
|
||||||
} else
|
} else
|
||||||
print '<td>' . $obj->lettering_code . '</td>';
|
print '<td align="center">' . $obj->lettering_code . '</td>';
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td colspan="4">Mouvement totaux</td>' . "\n";
|
print '<td align="right" colspan="4">'.$langs->trans("Total").':</td>' . "\n";
|
||||||
print '<td><strong>' . price($debit) . '</strong></td>';
|
print '<td align="right"><strong>' . price($debit) . '</strong></td>';
|
||||||
print '<td><strong>' . price($credit) . '</strong></td>';
|
print '<td align="right"><strong>' . price($credit) . '</strong></td>';
|
||||||
print '<td colspan="5"></td>';
|
print '<td colspan="5"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td colspan="9">Solde Comptable</td>' . "\n";
|
print '<td align="right" colspan="4">'.$langs->trans("Balancing").':</td>' . "\n";
|
||||||
print '<td><strong>' . price($credit - $debit) . '</strong></td>';
|
print '<td colspan="2"> </td>';
|
||||||
print '<td colspan="5"></td>';
|
print '<td align="right"><strong>' . price($credit - $debit) . '</strong></td>';
|
||||||
|
print '<td colspan="3"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
print '<input class="butAction" type="submit" value="lettering" name="lettering" id="lettering">';
|
print '<input class="butAction" type="submit" value="lettering" name="lettering" id="lettering">';
|
||||||
print '<a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?socid=' . $object->id . '&action=autolettrage">' . $langs->trans('AccountancyAutoLettering') . '</a>';
|
//print '<a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?socid=' . $object->id . '&action=autolettering">' . $langs->trans('AccountancyAutoLettering') . '</a>';
|
||||||
print "</form>";
|
print "</form>";
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
} else {
|
} else {
|
||||||
@ -318,4 +275,3 @@ if ($resql) {
|
|||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
@ -3,8 +3,8 @@
|
|||||||
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -22,14 +22,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php
|
* \file htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php
|
||||||
* \ingroup Advanced accountancy
|
* \ingroup Advanced accountancy
|
||||||
* \brief Tab to setup lettering
|
* \brief Tab to setup lettering
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Dolibarr environment
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/lettering.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/lettering.class.php';
|
||||||
@ -37,7 +34,7 @@ require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php';
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("compta"));
|
$langs->loadLangs(array("compta","accountancy"));
|
||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$massaction = GETPOST('massaction', 'alpha');
|
$massaction = GETPOST('massaction', 'alpha');
|
||||||
@ -64,11 +61,10 @@ $search_year = GETPOST("search_year",'int');
|
|||||||
$search_doc_type = GETPOST("search_doc_type",'alpha');
|
$search_doc_type = GETPOST("search_doc_type",'alpha');
|
||||||
$search_doc_ref = GETPOST("search_doc_ref",'alpha');
|
$search_doc_ref = GETPOST("search_doc_ref",'alpha');
|
||||||
|
|
||||||
$lettering = GETPOST('lettering');
|
$lettering = GETPOST('lettering', 'alpha');
|
||||||
if (!empty($lettering)) {
|
if (!empty($lettering)) {
|
||||||
$action=$lettering;
|
$action=$lettering;
|
||||||
}
|
}
|
||||||
$toselect = GETPOST('toselect','array');
|
|
||||||
|
|
||||||
// Did we click on purge search criteria ?
|
// Did we click on purge search criteria ?
|
||||||
// All tests are required to be compatible with all browsers
|
// All tests are required to be compatible with all browsers
|
||||||
@ -84,6 +80,7 @@ if (GETPOST('button_removefilter_x','alpha') || GETPOST('button_removefilter.x',
|
|||||||
$socid = GETPOST("socid", 'int');
|
$socid = GETPOST("socid", 'int');
|
||||||
// if ($user->societe_id) $socid=$user->societe_id;
|
// if ($user->societe_id) $socid=$user->societe_id;
|
||||||
|
|
||||||
|
$lettering = new Lettering($db);
|
||||||
$object = new Societe($db);
|
$object = new Societe($db);
|
||||||
$object->id = $socid;
|
$object->id = $socid;
|
||||||
$result = $object->fetch($socid);
|
$result = $object->fetch($socid);
|
||||||
@ -92,104 +89,53 @@ if ($result<0)
|
|||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
$BookKeeping = new Lettering($db);
|
|
||||||
$formaccounting = new FormAccounting($db);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Action
|
* Action
|
||||||
*/
|
*/
|
||||||
if ($action == 'lettering') {
|
if ($action == 'lettering') {
|
||||||
|
|
||||||
$result = $BookKeeping->updateLettrage($toselect);
|
$result = $lettering->updateLettering($toselect);
|
||||||
|
|
||||||
// var_dump($result);
|
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages('', $BookKeeping->errors, 'errors');
|
setEventMessages('', $lettering->errors, 'errors');
|
||||||
$error ++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'autolettrage') {
|
if ($action == 'autolettrage') {
|
||||||
|
|
||||||
$result = $BookKeeping->lettrageTiers($socid);
|
$result = $lettering->letteringThirdparty($socid);
|
||||||
|
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages('', $BookKeeping->errors, 'errors');
|
setEventMessages('', $lettering->errors, 'errors');
|
||||||
$error ++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$title = 'AccountancyLettrage';
|
|
||||||
|
|
||||||
llxHeader('', $title);
|
|
||||||
|
|
||||||
|
|
||||||
$param='';
|
|
||||||
if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
|
|
||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
|
|
||||||
if (!empty($search_year)) $param.='&search_year='.$search_year;
|
|
||||||
if (!empty($socid)) $param.='&socid='.$socid;
|
|
||||||
if (!empty($search_doc_type)) $param.='&search_doc_type='.$search_doc_type;
|
|
||||||
if (!empty($search_doc_ref)) $param.='&search_doc_ref='.$search_doc_ref;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Display tabs
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
$formaccounting = new FormAccounting($db);
|
||||||
|
|
||||||
|
$title=$object->name." - ".$langs->trans('TabLetteringSupplier');
|
||||||
|
$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
|
||||||
|
llxHeader('',$title,$help_url);
|
||||||
|
|
||||||
$head = societe_prepare_head($object);
|
$head = societe_prepare_head($object);
|
||||||
|
|
||||||
dol_htmloutput_mesg(is_numeric($error) ? '' : $error, $errors, 'error');
|
dol_htmloutput_mesg(is_numeric($error) ? '' : $error, $errors, 'error');
|
||||||
|
|
||||||
dol_fiche_head($head, 'accounting_supplier', $langs->trans("ThirdParty"), 0, 'company');
|
dol_fiche_head($head, 'lettering_supplier', $langs->trans("ThirdParty"), 0, 'company');
|
||||||
|
|
||||||
print '<table width="100%" class="border">';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
||||||
print '<tr><td width="30%">' . $langs->trans("ThirdPartyName") . '</td><td width="70%" colspan="3">';
|
|
||||||
$object->next_prev_filter = "te.fournisseur = 1";
|
|
||||||
print $form->showrefnav($object, 'socid', '', ($user->societe_id ? 0 : 1), 'rowid', 'nom', '', '');
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
dol_banner_tab($object, 'socid', $linkback, ($user->societe_id?0:1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom');
|
||||||
{
|
|
||||||
print '<tr><td>' . $langs->trans('Prefix') . '</td><td colspan="3">' . $object->prefix_comm . '</td></tr>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<tr>';
|
dol_fiche_end();
|
||||||
print '<td class="nowrap">' . $langs->trans("SupplierCode") . '</td><td colspan="3">';
|
|
||||||
print $object->code_fournisseur;
|
|
||||||
if ($object->check_codefournisseur() != 0)
|
|
||||||
print ' <font class="error">(' . $langs->trans("WrongSupplierCode") . ')</font>';
|
|
||||||
print '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
print '<tr>';
|
|
||||||
print '<td>';
|
|
||||||
print $form->editfieldkey("SupplierAccountancyCode", 'supplieraccountancycode', $object->code_compta_fournisseur, $object, $user->rights->societe->creer);
|
|
||||||
print '</td><td colspan="3">';
|
|
||||||
print $form->editfieldval("SupplierAccountancyCode", 'supplieraccountancycode', $object->code_compta_fournisseur, $object, $user->rights->societe->creer);
|
|
||||||
print '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
// Address
|
|
||||||
print '<tr><td valign="top">' . $langs->trans("Address") . '</td><td colspan="3">';
|
|
||||||
dol_print_address($object->address, 'gmap', 'thirdparty', $object->id);
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
// Zip / Town
|
|
||||||
print '<tr><td class="nowrap">' . $langs->trans("Zip") . ' / ' . $langs->trans("Town") . '</td><td colspan="3">' . $object->zip . (($object->zip && $object->town) ? ' / ' : '') . $object->town . '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
// Country
|
|
||||||
print '<tr><td>' . $langs->trans("Country") . '</td><td colspan="3">';
|
|
||||||
// $img=picto_from_langcode($object->country_code);
|
|
||||||
$img = '';
|
|
||||||
if ($object->isInEEC())
|
|
||||||
print $form->textwithpicto(($img ? $img . ' ' : '') . $object->country, $langs->trans("CountryIsInEEC"), 1, 0);
|
|
||||||
else
|
|
||||||
print ($img ? $img . ' ' : '') . $object->country;
|
|
||||||
print '</td></tr>';
|
|
||||||
|
|
||||||
print '</table>';
|
|
||||||
|
|
||||||
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, ";
|
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, ";
|
||||||
$sql .= " bk.subledger_account, bk.numero_compte , bk.label_compte, bk.debit, ";
|
$sql .= " bk.subledger_account, bk.numero_compte , bk.label_compte, bk.debit, ";
|
||||||
@ -253,21 +199,19 @@ if ($resql) {
|
|||||||
print_liste_field_titre("Doctype", $_SERVER["PHP_SELF"], "bk.doc_type","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Doctype", $_SERVER["PHP_SELF"], "bk.doc_type","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Docdate", $_SERVER["PHP_SELF"], "bk.doc_date","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Docdate", $_SERVER["PHP_SELF"], "bk.doc_date","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Docref", $_SERVER["PHP_SELF"], "bk.doc_ref","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Docref", $_SERVER["PHP_SELF"], "bk.doc_ref","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Labelcompte", $_SERVER["PHP_SELF"], "bk.label_compte","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("LabelAccount", $_SERVER["PHP_SELF"], "bk.label_compte","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "bk.debit","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "bk.debit","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "bk.credit","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "bk.credit","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "bk.montant","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Balancing", $_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Sens", $_SERVER["PHP_SELF"], "bk.sens","",$param,"",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("Codejournal", $_SERVER["PHP_SELF"], "bk.code_journal","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("Codejournal", $_SERVER["PHP_SELF"], "bk.code_journal","",$param,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre("Solde", $_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder);
|
print_liste_field_titre("LetteringCode", $_SERVER["PHP_SELF"], "bk.lettering_code", "", $param, "", $sortfield, $sortorder);
|
||||||
print '<td></td>';
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td><input type="text" name="search_doc_type" value="' . $search_doc_type . '"></td>';
|
print '<td><input type="text" name="search_doc_type" value="' . $search_doc_type . '"></td>';
|
||||||
print '<td><input type="text" name="search_year" value="' . $search_year . '"></td>';
|
print '<td><input type="text" name="search_year" value="' . $search_year . '"></td>';
|
||||||
print '<td><input type="text" name="search_doc_refe" value="' . $search_doc_ref . '"></td>';
|
print '<td><input type="text" name="search_doc_refe" value="' . $search_doc_ref . '"></td>';
|
||||||
print '<td colspan="7"> </td>';
|
print '<td colspan="6"> </td>';
|
||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
$searchpicto=$form->showFilterButtons();
|
$searchpicto=$form->showFilterButtons();
|
||||||
print $searchpicto;
|
print $searchpicto;
|
||||||
@ -278,12 +222,8 @@ if ($resql) {
|
|||||||
$tmp = '';
|
$tmp = '';
|
||||||
while ($obj = $db->fetch_object($resql)) {
|
while ($obj = $db->fetch_object($resql)) {
|
||||||
|
|
||||||
if ($tmp != $obj->lettering_code || empty($tmp))
|
if ($tmp != $obj->lettering_code || empty($tmp)) $tmp = $obj->lettering_code;
|
||||||
$tmp = $obj->lettering_code;
|
/*if ($tmp != $obj->lettering_code || empty($obj->lettering_code))*/ $solde += ($obj->credit - $obj->debit);
|
||||||
|
|
||||||
if ($tmp != $obj->lettering_code || empty($obj->lettering_code))
|
|
||||||
|
|
||||||
$solde += ($obj->credit - $obj->debit);
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
@ -291,45 +231,44 @@ if ($resql) {
|
|||||||
print '<td><a href="' . dol_buildpath('/accountancy/bookkeeping/card.php', 1) . '?piece_num=' . $obj->piece_num . '">';
|
print '<td><a href="' . dol_buildpath('/accountancy/bookkeeping/card.php', 1) . '?piece_num=' . $obj->piece_num . '">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a> ' . $obj->doc_type . '</td>' . "\n";
|
print '</a> ' . $obj->doc_type . '</td>' . "\n";
|
||||||
} else
|
} else {
|
||||||
print '<td>' . $obj->doc_type . '</td>' . "\n";
|
print '<td>' . $obj->doc_type . '</td>' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
print '<td>' . dol_print_date($db->jdate($obj->doc_date), 'day') . '</td>';
|
print '<td>' . dol_print_date($db->jdate($obj->doc_date), 'day') . '</td>';
|
||||||
print '<td>' . $obj->doc_ref . '</td>';
|
print '<td>' . $obj->doc_ref . '</td>';
|
||||||
print '<td>' . $obj->label_compte . '</td>';
|
print '<td>' . $obj->label_compte . '</td>';
|
||||||
print '<td>' . price($obj->debit) . '</td>';
|
print '<td align="right">' . price($obj->debit) . '</td>';
|
||||||
print '<td>' . price($obj->credit) . '</td>';
|
print '<td align="right">' . price($obj->credit) . '</td>';
|
||||||
print '<td>' . price($obj->montant) . '</td>';
|
print '<td align="right">' . price(round($solde, 2)) . '</td>';
|
||||||
print '<td>' . $obj->sens . '</td>';
|
print '<td align="center">' . $obj->code_journal . '</td>';
|
||||||
print '<td>' . $obj->code_journal . '</td>';
|
|
||||||
print '<td>' . round($solde, 2) . '</td>';
|
|
||||||
|
|
||||||
if (empty($obj->lettering_code)) {
|
if (empty($obj->lettering_code)) {
|
||||||
print '<td class="nowrap" align="center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="' . $obj->rowid . '" /></td>';
|
print '<td class="nowrap" align="center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="' . $obj->rowid . '" /></td>';
|
||||||
} else
|
} else
|
||||||
print '<td>' . $obj->lettering_code . '</td>';
|
print '<td align="center">' . $obj->lettering_code . '</td>';
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
print '<td align="right" colspan="4">'.$langs->trans("Total").':</td>' . "\n";
|
||||||
print '<td colspan="4">Mouvement totaux</td>' . "\n";
|
print '<td align="right"><strong>' . price($debit) . '</strong></td>';
|
||||||
print '<td><strong>' . price($debit) . '</strong></td>';
|
print '<td align="right"><strong>' . price($credit) . '</strong></td>';
|
||||||
print '<td><strong>' . price($credit) . '</strong></td>';
|
|
||||||
print '<td colspan="5"></td>';
|
print '<td colspan="5"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td colspan="9">Solde Comptable</td>' . "\n";
|
print '<td align="right" colspan="4">'.$langs->trans("Balancing").':</td>' . "\n";
|
||||||
print '<td><strong>' . price($credit - $debit) . '</strong></td>';
|
print '<td colspan="2"> </td>';
|
||||||
print '<td colspan="5"></td>';
|
print '<td align="right"><strong>' . price($credit - $debit) . '</strong></td>';
|
||||||
|
print '<td colspan="3"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
print '<input class="butAction" type="submit" value="lettering" name="lettering" id="lettering">';
|
print '<input class="butAction" type="submit" value="' . $langs->trans('AccountancyLettering') . '" name="lettering" id="lettering">';
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?socid=' . $object->id . '&action=autolettrage">'.$langs->trans('AccountancyAutoLettering').'</a>';
|
//print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?socid=' . $object->id . '&action=autolettrage">'.$langs->trans('AccountancyAutoLettering').'</a>';
|
||||||
print "</form>";
|
print "</form>";
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
} else {
|
} else {
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2014-2017 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2014-2017 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com>
|
* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2015-2017 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2015-2017 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -19,9 +19,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/accountancy/class/bookkeeping.class.php
|
* \file htdocs/accountancy/class/bookkeeping.class.php
|
||||||
* \ingroup Advanced accountancy
|
* \ingroup Advanced accountancy
|
||||||
* \brief File of class to manage Ledger (General Ledger and Subledger)
|
* \brief File of class to manage Ledger (General Ledger and Subledger)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -865,6 +865,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= " t.label_operation,";
|
$sql .= " t.label_operation,";
|
||||||
$sql .= " t.debit,";
|
$sql .= " t.debit,";
|
||||||
$sql .= " t.credit,";
|
$sql .= " t.credit,";
|
||||||
|
$sql .= " t.lettering_code,";
|
||||||
$sql .= " t.montant,";
|
$sql .= " t.montant,";
|
||||||
$sql .= " t.sens,";
|
$sql .= " t.sens,";
|
||||||
$sql .= " t.fk_user_author,";
|
$sql .= " t.fk_user_author,";
|
||||||
@ -938,6 +939,7 @@ class BookKeeping extends CommonObject
|
|||||||
$line->credit = $obj->credit;
|
$line->credit = $obj->credit;
|
||||||
$line->montant = $obj->montant;
|
$line->montant = $obj->montant;
|
||||||
$line->sens = $obj->sens;
|
$line->sens = $obj->sens;
|
||||||
|
$line->lettering_code = $obj->lettering_code;
|
||||||
$line->fk_user_author = $obj->fk_user_author;
|
$line->fk_user_author = $obj->fk_user_author;
|
||||||
$line->import_key = $obj->import_key;
|
$line->import_key = $obj->import_key;
|
||||||
$line->code_journal = $obj->code_journal;
|
$line->code_journal = $obj->code_journal;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013 Alexandre Spangaro <alexandre.spangaro@gmail.com>
|
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -19,10 +19,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/accountancy/class/lettering.class.php
|
* \file htdocs/accountancy/class/lettering.class.php
|
||||||
* \ingroup Advanced accountancy
|
* \ingroup Advanced accountancy
|
||||||
* \brief File of class for lettering
|
* \brief File of class for lettering
|
||||||
*/
|
*/
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT . "/accountancy/class/bookkeeping.class.php";
|
include_once DOL_DOCUMENT_ROOT . "/accountancy/class/bookkeeping.class.php";
|
||||||
include_once DOL_DOCUMENT_ROOT . "/societe/class/societe.class.php";
|
include_once DOL_DOCUMENT_ROOT . "/societe/class/societe.class.php";
|
||||||
include_once DOL_DOCUMENT_ROOT . "/core/lib/date.lib.php";
|
include_once DOL_DOCUMENT_ROOT . "/core/lib/date.lib.php";
|
||||||
@ -33,12 +34,12 @@ include_once DOL_DOCUMENT_ROOT . "/core/lib/date.lib.php";
|
|||||||
class Lettering extends BookKeeping
|
class Lettering extends BookKeeping
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* lettrageTiers
|
* letteringThirdparty
|
||||||
*
|
*
|
||||||
* @param int $socid Thirdparty id
|
* @param int $socid Thirdparty id
|
||||||
* @return int 1 OK, <0 error
|
* @return int 1 OK, <0 error
|
||||||
*/
|
*/
|
||||||
public function lettrageTiers($socid)
|
public function letteringThirdparty($socid)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
@ -231,7 +232,7 @@ class Lettering extends BookKeeping
|
|||||||
* @param boolean $notrigger no trigger
|
* @param boolean $notrigger no trigger
|
||||||
* @return number
|
* @return number
|
||||||
*/
|
*/
|
||||||
public function updateLettrage($ids = array(), $notrigger = false)
|
public function updateLettering($ids = array(), $notrigger = false)
|
||||||
{
|
{
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$lettre = 'AAA';
|
$lettre = 'AAA';
|
||||||
|
|||||||
@ -6,11 +6,11 @@
|
|||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2013-2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2013 Christophe Battarel <contact@altairis.fr>
|
* Copyright (C) 2013 Christophe Battarel <contact@altairis.fr>
|
||||||
* Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2015-2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2015-2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
||||||
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -154,18 +154,18 @@ function societe_prepare_head(Societe $object)
|
|||||||
// Tab to accountancy
|
// Tab to accountancy
|
||||||
if (! empty($conf->accounting->enabled) && $object->client>0)
|
if (! empty($conf->accounting->enabled) && $object->client>0)
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettrage.php?socid='.$object->id;
|
$head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettering_customer.php?socid='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("TabAccountingCustomer");
|
$head[$h][1] = $langs->trans("TabLetteringCustomer");
|
||||||
$head[$h][2] = 'accounting';
|
$head[$h][2] = 'lettering_customer';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tab to accountancy
|
// Tab to accountancy
|
||||||
if (! empty($conf->accounting->enabled) && $object->fournisseur>0)
|
if (! empty($conf->accounting->enabled) && $object->fournisseur>0)
|
||||||
{
|
{
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettrage_supplier.php?socid='.$object->id;
|
$head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettering_supplier.php?socid='.$object->id;
|
||||||
$head[$h][1] = $langs->trans("TabAccountingSupplier");
|
$head[$h][1] = $langs->trans("TabLetteringSupplier");
|
||||||
$head[$h][2] = 'accounting_supplier';
|
$head[$h][2] = 'lettering_supplier';
|
||||||
$h++;
|
$h++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,6 +160,7 @@ Docref=Reference
|
|||||||
LabelAccount=Label account
|
LabelAccount=Label account
|
||||||
LabelOperation=Label operation
|
LabelOperation=Label operation
|
||||||
Sens=Sens
|
Sens=Sens
|
||||||
|
LetteringCode=Lettering code
|
||||||
Codejournal=Journal
|
Codejournal=Journal
|
||||||
NumPiece=Piece number
|
NumPiece=Piece number
|
||||||
TransactionNumShort=Num. transaction
|
TransactionNumShort=Num. transaction
|
||||||
@ -225,6 +226,7 @@ AutomaticBindingDone=Automatic binding done
|
|||||||
|
|
||||||
ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used
|
ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used
|
||||||
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s
|
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s
|
||||||
|
Balancing=Balancing
|
||||||
FicheVentilation=Binding card
|
FicheVentilation=Binding card
|
||||||
GeneralLedgerIsWritten=Transactions are written in the Ledger
|
GeneralLedgerIsWritten=Transactions are written in the Ledger
|
||||||
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized.
|
GeneralLedgerSomeRecordWasNotRecorded=Some of the transactions could not be journalized. If there is no other error message, this is probably because they were already journalized.
|
||||||
|
|||||||
@ -870,6 +870,8 @@ NewLeadOrProject=New lead or project
|
|||||||
Rights=Permissions
|
Rights=Permissions
|
||||||
LineNb=Line no.
|
LineNb=Line no.
|
||||||
IncotermLabel=Incoterms
|
IncotermLabel=Incoterms
|
||||||
|
TabLetteringCustomer=Customer lettering
|
||||||
|
TabLetteringSupplier=Supplier lettering
|
||||||
# Week day
|
# Week day
|
||||||
Monday=Monday
|
Monday=Monday
|
||||||
Tuesday=Tuesday
|
Tuesday=Tuesday
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user