diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index e87c9b22aee..4a4630edfa5 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -1,8 +1,8 @@ - * Copyright (C) 2013-2016 Florian Henry - * Copyright (C) 2013-2017 Alexandre Spangaro - * Copyright (C) 2016-2017 Laurent Destailleur +/* Copyright (C) 2013-2016 Olivier Geffroy + * Copyright (C) 2013-2016 Florian Henry + * Copyright (C) 2013-2018 Alexandre Spangaro + * Copyright (C) 2016-2017 Laurent Destailleur * Copyright (C) 2018 Frédéric France * * 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_credit = GETPOST('search_credit', 'alpha'); $search_ledger_code = GETPOST('search_ledger_code', 'alpha'); +$search_lettering_code = GETPOST('search_lettering_code', 'alpha'); // 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); @@ -138,11 +139,14 @@ $arrayfields=array( 't.label_operation'=>array('label'=>$langs->trans("Label"), 'checked'=>1), 't.debit'=>array('label'=>$langs->trans("Debit"), '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.date_creation'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0), 't.tms'=>array('label'=>$langs->trans("DateModification"), 'checked'=>0), ); +if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.lettering_code']); + /* * Actions @@ -176,6 +180,7 @@ if (GETPOST('button_removefilter_x','alpha') || GETPOST('button_removefilter.x', $search_date_modification_end = ''; $search_debit = ''; $search_credit = ''; + $search_lettering_code = ''; } // Must be after the remove filter action, before the export. @@ -272,6 +277,10 @@ if (! empty($search_credit)) { $filter['t.credit'] = $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') { @@ -548,6 +557,13 @@ if (! empty($arrayfields['t.credit']['checked'])) print ''; print ''; } +// Lettering code +if (! empty($arrayfields['t.lettering_code']['checked'])) +{ + print ''; + print ''; + print ''; +} // Code journal 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.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.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.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); @@ -682,6 +699,13 @@ if ($num > 0) $totalarray['totalcredit'] += $line->credit; } + // Lettering code + if (! empty($arrayfields['t.lettering_code']['checked'])) + { + print '' . $line->lettering_code . ''; + if (! $i) $totalarray['nbfield']++; + } + // Journal code if (! empty($arrayfields['t.code_journal']['checked'])) { diff --git a/htdocs/accountancy/bookkeeping/thirdparty_lettrage.php b/htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php similarity index 61% rename from htdocs/accountancy/bookkeeping/thirdparty_lettrage.php rename to htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php index 88087882233..3fdda686eab 100644 --- a/htdocs/accountancy/bookkeeping/thirdparty_lettrage.php +++ b/htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php @@ -3,8 +3,8 @@ * Copyright (C) 2005 Laurent Destailleur * Copyright (C) 2013 Olivier Geffroy * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013 Alexandre Spangaro - * Copyright (C) 2018 Frédéric France + * Copyright (C) 2013-2018 Alexandre Spangaro + * Copyright (C) 2018 Frédéric France * * 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 @@ -22,12 +22,11 @@ */ /** - * \file accountancy/bookkeeping/thirdparty_lettrage.php - * \ingroup Advanced accountancy - * \brief Onglet de gestion de parametrages des ventilations + * \file htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php + * \ingroup accountancy + * \brief Tab to manage customer lettering */ require '../../main.inc.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/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'; // Load translation files required by the page -$langs->loadLangs(array("compta")); +$langs->loadLangs(array("compta","accountancy")); $action = GETPOST('action', 'aZ09'); $massaction = GETPOST('massaction', 'alpha'); @@ -62,11 +61,10 @@ $search_year = GETPOST("search_year", 'int'); $search_doc_type = GETPOST("search_doc_type", 'alpha'); $search_doc_ref = GETPOST("search_doc_ref", 'alpha'); -$lettering = GETPOST('lettering'); +$lettering = GETPOST('lettering', 'alpha'); if (! empty($lettering)) { $action = $lettering; } -$toselect = GETPOST('toselect', 'array'); // Did we click on purge search criteria ? // 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'); // if ($user->societe_id) $socid=$user->societe_id; +$lettering = new Lettering($db); $object = new Societe($db); $object->id = $socid; $result = $object->fetch($socid); @@ -88,9 +87,6 @@ if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } -$form = new Form($db); -$BookKeeping = new Lettering($db); -$formaccounting = new FormAccounting($db); /* * Action @@ -98,82 +94,49 @@ $formaccounting = new FormAccounting($db); if ($action == 'lettering') { - $result = $BookKeeping->updateLettrage($toselect); + $result = $lettering->updateLettering($toselect); if ($result < 0) { - setEventMessages('', $BookKeeping->errors, 'errors'); - $error ++; + setEventMessages('', $lettering->errors, 'errors'); + $error++; } } if ($action == 'autolettrage') { - $result = $BookKeeping->lettrageTiers($socid); + $result = $lettering->letteringThirdparty($socid); if ($result < 0) { - setEventMessages('', $BookKeeping->errors, 'errors'); - $error ++; + setEventMessages('', $lettering->errors, 'errors'); + $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); 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 ''; -print ''; +$linkback = ''.$langs->trans("BackToList").''; -if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field -{ - print ''; -} +dol_banner_tab($object, 'socid', $linkback, ($user->societe_id?0:1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom'); -print ''; -print ''; -print ''; +dol_fiche_end(); -print ''; -print ''; -print ''; - -// Address -print ''; - -// Zip / Town -print ''; -print ''; - -// Country -print ''; - -print '
' . $langs->trans("ThirdPartyName") . ''; -$object->next_prev_filter = "te.fournisseur = 1"; -print $form->showrefnav($object, 'socid', '', ($user->societe_id ? 0 : 1), 'rowid', 'nom', '', ''); -print '
' . $langs->trans('Prefix') . '' . $object->prefix_comm . '
' . $langs->trans("CustomerCode") . ''; -print $object->code_client; -if ($object->check_codeclient() != 0) - print ' (' . $langs->trans("WrongCustomerCode") . ')'; -print '
'; -print $form->editfieldkey("CustomerAccountancyCode", 'customeraccountancycode', $object->code_compta, $object, $user->rights->societe->creer); -print ''; -print $form->editfieldval("CustomerAccountancyCode", 'customeraccountancycode', $object->code_compta, $object, $user->rights->societe->creer); -print '
' . $langs->trans("Address") . ''; -dol_print_address($object->address, 'gmap', 'thirdparty', $object->id); -print '
' . $langs->trans("Zip") . ' / ' . $langs->trans("Town") . '' . $object->zip . (($object->zip && $object->town) ? ' / ' : '') . $object->town . '
' . $langs->trans("Country") . ''; -// $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 '
'; +print '
'; $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, "; @@ -210,7 +173,7 @@ while ( $obj = $db->fetch_object($resql) ) { $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); if (! $resql) { dol_print_error($db); @@ -219,7 +182,7 @@ if (! $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) { $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("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("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("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("Sens", $_SERVER["PHP_SELF"], "bk.sens", "", $param, "", $sortfield, $sortorder); + print_liste_field_titre("Balancing", $_SERVER["PHP_SELF"], "", "", $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 ''; + print_liste_field_titre("LetteringCode", $_SERVER["PHP_SELF"], "bk.lettering_code", "", $param, "", $sortfield, $sortorder); print "\n"; print ''; print ''; print ''; print ''; - print ' '; + print ' '; print ''; $searchpicto = $form->showFilterButtons(); print $searchpicto; @@ -258,12 +219,8 @@ if ($resql) { $tmp = ''; while ( $obj = $db->fetch_object($resql) ) { - if ($tmp != $obj->lettering_code || empty($tmp)) - $tmp = $obj->lettering_code; - - if ($tmp != $obj->lettering_code || empty($obj->lettering_code)) - - $solde += ($obj->credit - $obj->debit); + if ($tmp != $obj->lettering_code || empty($tmp)) $tmp = $obj->lettering_code; + /*if ($tmp != $obj->lettering_code || empty($obj->lettering_code))*/ $solde += ($obj->credit - $obj->debit); print ''; @@ -271,44 +228,44 @@ if ($resql) { print ''; print img_edit(); print ' ' . $obj->doc_type . '' . "\n"; - } else + } else { print '' . $obj->doc_type . '' . "\n"; + } print '' . dol_print_date($db->jdate($obj->doc_date), 'day') . ''; print '' . $obj->doc_ref . ''; print '' . $obj->label_compte . ''; - print '' . price($obj->debit) . ''; - print '' . price($obj->credit) . ''; - print '' . price($obj->montant) . ''; - print '' . $obj->sens . ''; - print '' . $obj->code_journal . ''; - print '' . round($solde, 2) . ''; + print '' . price($obj->debit) . ''; + print '' . price($obj->credit) . ''; + print '' . price(round($solde, 2)) . ''; + print '' . $obj->code_journal . ''; if (empty($obj->lettering_code)) { print ''; } else - print '' . $obj->lettering_code . ''; + print '' . $obj->lettering_code . ''; print "\n"; } print ''; - print 'Mouvement totaux' . "\n"; - print '' . price($debit) . ''; - print '' . price($credit) . ''; + print ''.$langs->trans("Total").':' . "\n"; + print '' . price($debit) . ''; + print '' . price($credit) . ''; print ''; print "\n"; print ''; - print 'Solde Comptable' . "\n"; - print '' . price($credit - $debit) . ''; - print ''; + print ''.$langs->trans("Balancing").':' . "\n"; + print ' '; + print '' . price($credit - $debit) . ''; + print ''; print "\n"; print ""; print ''; - print '' . $langs->trans('AccountancyAutoLettering') . ''; + //print '' . $langs->trans('AccountancyAutoLettering') . ''; print ""; $db->free($resql); } else { @@ -318,4 +275,3 @@ if ($resql) { // End of page llxFooter(); $db->close(); - diff --git a/htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php b/htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php similarity index 59% rename from htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php rename to htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php index 197c71b3123..8cd51847b1e 100644 --- a/htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php +++ b/htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php @@ -3,8 +3,8 @@ * Copyright (C) 2005 Laurent Destailleur * Copyright (C) 2013 Olivier Geffroy * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013 Alexandre Spangaro - * Copyright (C) 2018 Frédéric France + * Copyright (C) 2013-2018 Alexandre Spangaro + * Copyright (C) 2018 Frédéric France * * 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 @@ -22,14 +22,11 @@ */ /** - * \file htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php - * \ingroup Advanced accountancy - * \brief Tab to setup lettering + * \file htdocs/accountancy/bookkeeping/thirdparty_lettrage_supplier.php + * \ingroup Advanced accountancy + * \brief Tab to setup lettering */ - -// Dolibarr environment require '../../main.inc.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/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'; // Load translation files required by the page -$langs->loadLangs(array("compta")); +$langs->loadLangs(array("compta","accountancy")); $action = GETPOST('action', 'aZ09'); $massaction = GETPOST('massaction', 'alpha'); @@ -64,11 +61,10 @@ $search_year = GETPOST("search_year",'int'); $search_doc_type = GETPOST("search_doc_type",'alpha'); $search_doc_ref = GETPOST("search_doc_ref",'alpha'); -$lettering = GETPOST('lettering'); +$lettering = GETPOST('lettering', 'alpha'); if (!empty($lettering)) { $action=$lettering; } -$toselect = GETPOST('toselect','array'); // Did we click on purge search criteria ? // 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'); // if ($user->societe_id) $socid=$user->societe_id; +$lettering = new Lettering($db); $object = new Societe($db); $object->id = $socid; $result = $object->fetch($socid); @@ -92,104 +89,53 @@ if ($result<0) setEventMessages($object->error, $object->errors, 'errors'); } -$form = new Form($db); -$BookKeeping = new Lettering($db); -$formaccounting = new FormAccounting($db); /* * Action */ if ($action == 'lettering') { - $result = $BookKeeping->updateLettrage($toselect); + $result = $lettering->updateLettering($toselect); - // var_dump($result); if ($result < 0) { - setEventMessages('', $BookKeeping->errors, 'errors'); - $error ++; + setEventMessages('', $lettering->errors, 'errors'); + $error++; } } if ($action == 'autolettrage') { - $result = $BookKeeping->lettrageTiers($socid); + $result = $lettering->letteringThirdparty($socid); if ($result < 0) { - setEventMessages('', $BookKeeping->errors, 'errors'); - $error ++; + setEventMessages('', $lettering->errors, 'errors'); + $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); 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 ''; -print ''; +$linkback = ''.$langs->trans("BackToList").''; -if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field -{ - print ''; -} +dol_banner_tab($object, 'socid', $linkback, ($user->societe_id?0:1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom'); -print ''; -print ''; -print ''; - -print ''; -print ''; -print ''; - -// Address -print ''; - -// Zip / Town -print ''; -print ''; - -// Country -print ''; - -print '
' . $langs->trans("ThirdPartyName") . ''; -$object->next_prev_filter = "te.fournisseur = 1"; -print $form->showrefnav($object, 'socid', '', ($user->societe_id ? 0 : 1), 'rowid', 'nom', '', ''); -print '
' . $langs->trans('Prefix') . '' . $object->prefix_comm . '
' . $langs->trans("SupplierCode") . ''; -print $object->code_fournisseur; -if ($object->check_codefournisseur() != 0) - print ' (' . $langs->trans("WrongSupplierCode") . ')'; -print '
'; -print $form->editfieldkey("SupplierAccountancyCode", 'supplieraccountancycode', $object->code_compta_fournisseur, $object, $user->rights->societe->creer); -print ''; -print $form->editfieldval("SupplierAccountancyCode", 'supplieraccountancycode', $object->code_compta_fournisseur, $object, $user->rights->societe->creer); -print '
' . $langs->trans("Address") . ''; -dol_print_address($object->address, 'gmap', 'thirdparty', $object->id); -print '
' . $langs->trans("Zip") . ' / ' . $langs->trans("Town") . '' . $object->zip . (($object->zip && $object->town) ? ' / ' : '') . $object->town . '
' . $langs->trans("Country") . ''; -// $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 '
'; +dol_fiche_end(); $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, "; @@ -253,21 +199,19 @@ if ($resql) { 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("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("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("Sens", $_SERVER["PHP_SELF"], "bk.sens","",$param,"",$sortfield,$sortorder); + print_liste_field_titre("Balancing", $_SERVER["PHP_SELF"], "","",$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 ''; + print_liste_field_titre("LetteringCode", $_SERVER["PHP_SELF"], "bk.lettering_code", "", $param, "", $sortfield, $sortorder); print "\n"; print ''; print ''; print ''; print ''; - print ' '; + print ' '; print ''; $searchpicto=$form->showFilterButtons(); print $searchpicto; @@ -278,12 +222,8 @@ if ($resql) { $tmp = ''; while ($obj = $db->fetch_object($resql)) { - if ($tmp != $obj->lettering_code || empty($tmp)) - $tmp = $obj->lettering_code; - - if ($tmp != $obj->lettering_code || empty($obj->lettering_code)) - - $solde += ($obj->credit - $obj->debit); + if ($tmp != $obj->lettering_code || empty($tmp)) $tmp = $obj->lettering_code; + /*if ($tmp != $obj->lettering_code || empty($obj->lettering_code))*/ $solde += ($obj->credit - $obj->debit); print ''; @@ -291,45 +231,44 @@ if ($resql) { print ''; print img_edit(); print ' ' . $obj->doc_type . '' . "\n"; - } else + } else { print '' . $obj->doc_type . '' . "\n"; + } print '' . dol_print_date($db->jdate($obj->doc_date), 'day') . ''; print '' . $obj->doc_ref . ''; print '' . $obj->label_compte . ''; - print '' . price($obj->debit) . ''; - print '' . price($obj->credit) . ''; - print '' . price($obj->montant) . ''; - print '' . $obj->sens . ''; - print '' . $obj->code_journal . ''; - print '' . round($solde, 2) . ''; + print '' . price($obj->debit) . ''; + print '' . price($obj->credit) . ''; + print '' . price(round($solde, 2)) . ''; + print '' . $obj->code_journal . ''; if (empty($obj->lettering_code)) { print ''; } else - print '' . $obj->lettering_code . ''; + print '' . $obj->lettering_code . ''; print "\n"; } print ''; - - print 'Mouvement totaux' . "\n"; - print '' . price($debit) . ''; - print '' . price($credit) . ''; + print ''.$langs->trans("Total").':' . "\n"; + print '' . price($debit) . ''; + print '' . price($credit) . ''; print ''; print "\n"; print ''; - print 'Solde Comptable' . "\n"; - print '' . price($credit - $debit) . ''; - print ''; + print ''.$langs->trans("Balancing").':' . "\n"; + print ' '; + print '' . price($credit - $debit) . ''; + print ''; print "\n"; print ""; - print ''; - print ''.$langs->trans('AccountancyAutoLettering').''; + print ''; + //print ''.$langs->trans('AccountancyAutoLettering').''; print ""; $db->free($resql); } else { diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index fe3ef196d1b..0ce49e76f51 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -1,7 +1,7 @@ - * Copyright (C) 2015-2017 Alexandre Spangaro - * Copyright (C) 2015-2017 Florian Henry +/* Copyright (C) 2014-2017 Olivier Geffroy + * Copyright (C) 2015-2017 Alexandre Spangaro + * Copyright (C) 2015-2017 Florian Henry * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -19,9 +19,9 @@ */ /** - * \file htdocs/accountancy/class/bookkeeping.class.php - * \ingroup Advanced accountancy - * \brief File of class to manage Ledger (General Ledger and Subledger) + * \file htdocs/accountancy/class/bookkeeping.class.php + * \ingroup Advanced accountancy + * \brief File of class to manage Ledger (General Ledger and Subledger) */ // Class @@ -865,6 +865,7 @@ class BookKeeping extends CommonObject $sql .= " t.label_operation,"; $sql .= " t.debit,"; $sql .= " t.credit,"; + $sql .= " t.lettering_code,"; $sql .= " t.montant,"; $sql .= " t.sens,"; $sql .= " t.fk_user_author,"; @@ -938,6 +939,7 @@ class BookKeeping extends CommonObject $line->credit = $obj->credit; $line->montant = $obj->montant; $line->sens = $obj->sens; + $line->lettering_code = $obj->lettering_code; $line->fk_user_author = $obj->fk_user_author; $line->import_key = $obj->import_key; $line->code_journal = $obj->code_journal; diff --git a/htdocs/accountancy/class/lettering.class.php b/htdocs/accountancy/class/lettering.class.php index 78b555fcce5..3122526061b 100644 --- a/htdocs/accountancy/class/lettering.class.php +++ b/htdocs/accountancy/class/lettering.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2013 Olivier Geffroy - * Copyright (C) 2013 Alexandre Spangaro + * Copyright (C) 2013-2018 Alexandre Spangaro * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -19,10 +19,11 @@ */ /** - * \file htdocs/accountancy/class/lettering.class.php - * \ingroup Advanced accountancy - * \brief File of class for lettering + * \file htdocs/accountancy/class/lettering.class.php + * \ingroup Advanced accountancy + * \brief File of class for lettering */ + 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 . "/core/lib/date.lib.php"; @@ -33,12 +34,12 @@ include_once DOL_DOCUMENT_ROOT . "/core/lib/date.lib.php"; class Lettering extends BookKeeping { /** - * lettrageTiers + * letteringThirdparty * * @param int $socid Thirdparty id * @return int 1 OK, <0 error */ - public function lettrageTiers($socid) + public function letteringThirdparty($socid) { global $conf; @@ -231,7 +232,7 @@ class Lettering extends BookKeeping * @param boolean $notrigger no trigger * @return number */ - public function updateLettrage($ids = array(), $notrigger = false) + public function updateLettering($ids = array(), $notrigger = false) { $error = 0; $lettre = 'AAA'; diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 0e2401434d7..46e3922a0d0 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -6,11 +6,11 @@ * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2013-2014 Juanjo Menent * Copyright (C) 2013 Christophe Battarel - * Copyright (C) 2013 Alexandre Spangaro + * Copyright (C) 2013-2018 Alexandre Spangaro * Copyright (C) 2015-2018 Frédéric France * Copyright (C) 2015 Raphaël Doursenaud - * Copyright (C) 2017 Rui Strecht - * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2017 Rui Strecht + * Copyright (C) 2018 Ferran Marcet * * 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 @@ -154,18 +154,18 @@ function societe_prepare_head(Societe $object) // Tab to accountancy if (! empty($conf->accounting->enabled) && $object->client>0) { - $head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettrage.php?socid='.$object->id; - $head[$h][1] = $langs->trans("TabAccountingCustomer"); - $head[$h][2] = 'accounting'; + $head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettering_customer.php?socid='.$object->id; + $head[$h][1] = $langs->trans("TabLetteringCustomer"); + $head[$h][2] = 'lettering_customer'; $h++; } // Tab to accountancy 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][1] = $langs->trans("TabAccountingSupplier"); - $head[$h][2] = 'accounting_supplier'; + $head[$h][0] = DOL_URL_ROOT.'/accountancy/bookkeeping/thirdparty_lettering_supplier.php?socid='.$object->id; + $head[$h][1] = $langs->trans("TabLetteringSupplier"); + $head[$h][2] = 'lettering_supplier'; $h++; } } diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 0e59bf9a5a3..e2f6083e6a6 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -160,6 +160,7 @@ Docref=Reference LabelAccount=Label account LabelOperation=Label operation Sens=Sens +LetteringCode=Lettering code Codejournal=Journal NumPiece=Piece number TransactionNumShort=Num. transaction @@ -225,6 +226,7 @@ AutomaticBindingDone=Automatic binding done ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s +Balancing=Balancing FicheVentilation=Binding card 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. diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index fb2f2a8e9fb..03d65917a97 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -870,6 +870,8 @@ NewLeadOrProject=New lead or project Rights=Permissions LineNb=Line no. IncotermLabel=Incoterms +TabLetteringCustomer=Customer lettering +TabLetteringSupplier=Supplier lettering # Week day Monday=Monday Tuesday=Tuesday