Modification du fonctionnement du module codes barres
This commit is contained in:
parent
22ccdb3ac1
commit
f2f4855d42
@ -31,21 +31,20 @@
|
|||||||
require("./pre.inc.php");
|
require("./pre.inc.php");
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("bills");
|
|
||||||
|
|
||||||
if (!$user->admin)
|
if (!$user->admin)
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
|
|
||||||
$barcode_encode_type_set = BARCODE_ENCODE_TYPE;
|
if ($_POST["action"] == 'setcoder' && $user->admin)
|
||||||
|
|
||||||
$typeconst=array('yesno','texte','chaine');
|
|
||||||
|
|
||||||
if ($_GET["action"] == 'settype' && $user->admin)
|
|
||||||
{
|
{
|
||||||
if (dolibarr_set_const($db, "BARCODE_ENCODE_TYPE",$_GET["value"]))
|
$sqlp = "UPDATE ".MAIN_DB_PREFIX."c_barcode";
|
||||||
$barcode_encode_type_set = $_GET["value"];
|
$sqlp.= " SET coder = " . $_POST["coder"];
|
||||||
|
$sqlp.= " WHERE rowid = ". $_POST["code_id"];
|
||||||
|
$resql=$db->query($sqlp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$html = new Form($db);
|
||||||
|
|
||||||
llxHeader('',$langs->trans("BarcodeSetup"),'BarcodeConfiguration');
|
llxHeader('',$langs->trans("BarcodeSetup"),'BarcodeConfiguration');
|
||||||
|
|
||||||
print_fiche_titre($langs->trans("BarcodeSetup"),'','setup');
|
print_fiche_titre($langs->trans("BarcodeSetup"),'','setup');
|
||||||
@ -58,43 +57,46 @@ print '<br>';
|
|||||||
print_titre($langs->trans("BarcodeEncodeModule"));
|
print_titre($langs->trans("BarcodeEncodeModule"));
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
print '<td>'.$langs->trans("Name").'</td>';
|
print '<td>'.$langs->trans("Name").'</td>';
|
||||||
print '<td>'.$langs->trans("Description").'</td>';
|
print '<td>'.$langs->trans("Description").'</td>';
|
||||||
print '<td>'.$langs->trans("Example").'</td>';
|
print '<td width="200">'.$langs->trans("Example").'</td>';
|
||||||
print '<td align="center" width="60">'.$langs->trans("Default").'</td>';
|
print '<td align="center" width="60">'.$langs->trans("Default").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
clearstatcache();
|
$sql = "SELECT rowid, code, libelle, coder, example";
|
||||||
$var=true;
|
$sql .= " FROM ".MAIN_DB_PREFIX."c_barcode";
|
||||||
|
$resql=$db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($resql);
|
||||||
|
$i = 0;
|
||||||
|
$var=true;
|
||||||
|
|
||||||
//EAN8
|
while ($i < $num)
|
||||||
$var=!$var;
|
{
|
||||||
print '<tr '.$bc[$var].'><td width="100">';
|
$obj = $db->fetch_object($resql);
|
||||||
print "EAN8";
|
|
||||||
print "</td><td>\n";
|
|
||||||
|
|
||||||
print "L'EAN se compose de 8 caractères, 7 chiffres plus une clé de contrôle.<br>";
|
print '<tr '.$bc[$var].'><td width="100">';
|
||||||
print "L'utilisation des symbologies EAN8 impose la souscription et l'abonnement auprès d'organisme tel que GENCOD.<br>";
|
print $obj->libelle;
|
||||||
print "Codes numériques utilisés exclusivement à l'identification des produits susceptibles d'être vendus au grand public.";
|
print "</td><td>\n";
|
||||||
print '</td>';
|
print $langs->trans('BarcodeDesc'.$obj->code);
|
||||||
|
//print "L'EAN se compose de 8 caractères, 7 chiffres plus une clé de contrôle.<br>";
|
||||||
|
//print "L'utilisation des symbologies EAN8 impose la souscription et l'abonnement auprès d'organisme tel que GENCOD.<br>";
|
||||||
|
//print "Codes numériques utilisés exclusivement à l'identification des produits susceptibles d'être vendus au grand public.";
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
// Affiche exemple
|
// Affiche exemple
|
||||||
print '<td align="center"><img src="'.dol_genbarcode('1234567','EAN',2).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode($obj->example,$obj->code,$obj->coder).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
|
||||||
if ($barcode_encode_type_set == "EAN8")
|
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=EAN8">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
|
||||||
|
|
||||||
|
print '<td align="center">';
|
||||||
|
print $html->setBarcodeEncoder($obj->coder,$obj->rowid,'form'.$i);
|
||||||
|
print "</td></tr>\n";
|
||||||
|
$var=!$var;
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
//EAN13
|
//EAN13
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td width="100">';
|
print '<tr '.$bc[$var].'><td width="100">';
|
||||||
@ -110,15 +112,9 @@ $var=true;
|
|||||||
print '<td align="center"><img src="'.dol_genbarcode('123456789012','EAN',1).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode('123456789012','EAN',1).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
if ($barcode_encode_type_set == "EAN13")
|
print $html->setBarcodeEncoder('EAN13','form'.$i);
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=EAN13">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
|
||||||
//UPC
|
//UPC
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
@ -135,15 +131,9 @@ $var=true;
|
|||||||
print '<td align="center"><img src="'.dol_genbarcode('123456789012','UPC',1).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode('123456789012','UPC',1).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
if ($barcode_encode_type_set == "UPC")
|
print $html->setBarcodeEncoder('UPC','form'.$i);
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=UPC">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
|
||||||
//ISBN
|
//ISBN
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
@ -157,15 +147,9 @@ $var=true;
|
|||||||
print '<td align="center"><img src="'.dol_genbarcode('123456789','ISBN',1).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode('123456789','ISBN',1).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
if ($barcode_encode_type_set == "ISBN")
|
print $html->setBarcodeEncoder('ISBN','form'.$i);
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=ISBN">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
|
||||||
//code 39
|
//code 39
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
@ -183,15 +167,9 @@ $var=true;
|
|||||||
print '<td align="center"><img src="'.dol_genbarcode('1234567890','39',1).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode('1234567890','39',1).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
if ($barcode_encode_type_set == "code39")
|
print $html->setBarcodeEncoder('C39','form'.$i);
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=code39">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
|
||||||
|
|
||||||
//code 128
|
//code 128
|
||||||
@ -210,15 +188,9 @@ $var=true;
|
|||||||
print '<td align="center"><img src="'.dol_genbarcode('ABCD1234567890','128',1).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode('ABCD1234567890','128',1).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
if ($barcode_encode_type_set == "code128")
|
print $html->setBarcodeEncoder('C128','form'.$i);
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=code128">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
|
||||||
//I25
|
//I25
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
@ -232,16 +204,10 @@ $var=true;
|
|||||||
print '<td align="center"><img src="'.dol_genbarcode('1234567890','I25',1).'"></td>';
|
print '<td align="center"><img src="'.dol_genbarcode('1234567890','I25',1).'"></td>';
|
||||||
|
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
if ($barcode_encode_type_set == "I25")
|
print $html->setBarcodeEncoder('I25','form'.$i);
|
||||||
{
|
|
||||||
print img_tick();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<a href="barcode.php?action=settype&value=I25">'.$langs->trans("Default").'</a>';
|
|
||||||
}
|
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
$i++;
|
||||||
|
*/
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
print "<br>";
|
print "<br>";
|
||||||
|
|||||||
@ -3506,6 +3506,24 @@ class Form
|
|||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function setBarcodeEncoder($selected=0,$code_id,$formName='formbarcode')
|
||||||
|
{
|
||||||
|
global $langs;
|
||||||
|
|
||||||
|
$select_encoder = '<form action="barcode.php" method="post" id="'.$formName.'">';
|
||||||
|
$select_encoder.= '<input type="hidden" name="action" value="update">';
|
||||||
|
$select_encoder.= '<input type="hidden" name="code_id" value="'.$code_id.'">';
|
||||||
|
$select_encoder.= '<select class="flat" name="coder" onChange="barcode_coder_save(\''.$formName.'\')">';
|
||||||
|
$select_encoder.= '<option value="0"'.($selected==0?' selected="true"':'').'>'.$langs->trans('Disable').'</option>';
|
||||||
|
$select_encoder.= '<option value="1"'.($selected==1?' selected="true"':'').'>php-barcode</option>';
|
||||||
|
$select_encoder.= '<option value="2"'.($selected==2?' selected="true"':'').'>pi_barcode</option>';
|
||||||
|
$select_encoder.= '</select></form>';
|
||||||
|
return $select_encoder;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -3571,8 +3571,11 @@ function viewExcelFileContent($file_to_include='',$max_rows=0,$max_cols=0)
|
|||||||
*/
|
*/
|
||||||
function dol_genbarcode($code,$encoding,$generator=1,$readable='Y')
|
function dol_genbarcode($code,$encoding,$generator=1,$readable='Y')
|
||||||
{
|
{
|
||||||
|
if ($encoding == 'EAN8' || $encoding == 'EAN13') $encoding = 'EAN';
|
||||||
|
|
||||||
if ($generator == 1)
|
if ($generator == 1)
|
||||||
{
|
{
|
||||||
|
if ($encoding == 'C39' || $encoding == 'C128') $encoding = substr($encoding,1);
|
||||||
$url = DOL_URL_ROOT.'/includes/barcode/php-barcode/genbarcode.php?code='.$code.'&encoding='.$encoding.'&scale=1';
|
$url = DOL_URL_ROOT.'/includes/barcode/php-barcode/genbarcode.php?code='.$code.'&encoding='.$encoding.'&scale=1';
|
||||||
}
|
}
|
||||||
else if ($generator == 2)
|
else if ($generator == 2)
|
||||||
|
|||||||
@ -16,6 +16,13 @@ function dolibarr_type_reload(param)
|
|||||||
document.formsoc.submit();
|
document.formsoc.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function barcode_coder_save(formNameID)
|
||||||
|
{
|
||||||
|
var formName = document.getElementById(formNameID);
|
||||||
|
formName.action.value='setcoder';
|
||||||
|
formName.submit();
|
||||||
|
}
|
||||||
|
|
||||||
/*=================================================================
|
/*=================================================================
|
||||||
Purpose: Pour la fonction de saisie auto des villes
|
Purpose: Pour la fonction de saisie auto des villes
|
||||||
Input: postalcode,objectville
|
Input: postalcode,objectville
|
||||||
|
|||||||
@ -1575,3 +1575,13 @@ INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`
|
|||||||
INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`, `fk_pays`, `active`) VALUES (36, 'ES-A-F', 'Jouets et équipements de loisirs et de sports < 0,5 kg', 0.04200000, 'Eco-systèmes', 1, 1);
|
INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`, `fk_pays`, `active`) VALUES (36, 'ES-A-F', 'Jouets et équipements de loisirs et de sports < 0,5 kg', 0.04200000, 'Eco-systèmes', 1, 1);
|
||||||
INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`, `fk_pays`, `active`) VALUES (37, 'ES-A-G', 'Jouets et équipements de loisirs et de sports > 0,5 kg', 0.17000000, 'Eco-systèmes', 1, 1);
|
INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`, `fk_pays`, `active`) VALUES (37, 'ES-A-G', 'Jouets et équipements de loisirs et de sports > 0,5 kg', 0.17000000, 'Eco-systèmes', 1, 1);
|
||||||
INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`, `fk_pays`, `active`) VALUES (38, 'ES-A-H', 'Jouets et équipements de loisirs et de sports > 10 kg', 1.25000000, 'Eco-systèmes', 1, 1);
|
INSERT INTO `llx_c_ecotaxe` (`rowid`, `code`, `libelle`, `price`, `organization`, `fk_pays`, `active`) VALUES (38, 'ES-A-H', 'Jouets et équipements de loisirs et de sports > 10 kg', 1.25000000, 'Eco-systèmes', 1, 1);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Codes barres
|
||||||
|
--
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (1, 'EAN8', 'EAN8', 0, '1234567');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (2, 'EAN13', 'EAN13', 0, '123456789012');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (3, 'UPC', 'UPC', 0, '123456789012');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (4, 'ISBN', 'ISBN', 0, '123456789');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (5, 'C39', 'Code 39', 0, '1234567890');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (6, 'C128', 'Code 128', 0, 'ABCD1234567890');
|
||||||
@ -881,3 +881,19 @@ ALTER TABLE llx_element_contact ADD INDEX idx_element_contact_fk_socpeople (fk_s
|
|||||||
-- V4 DELETE llx_fichinter FROM llx_fichinter LEFT JOIN llx_societe ON llx_fichinter.fk_soc = llx_societe.rowid WHERE llx_societe.rowid IS NULL;
|
-- V4 DELETE llx_fichinter FROM llx_fichinter LEFT JOIN llx_societe ON llx_fichinter.fk_soc = llx_societe.rowid WHERE llx_societe.rowid IS NULL;
|
||||||
|
|
||||||
ALTER TABLE llx_societe ADD COLUMN supplier_account varchar(32) after fournisseur;
|
ALTER TABLE llx_societe ADD COLUMN supplier_account varchar(32) after fournisseur;
|
||||||
|
|
||||||
|
create table llx_c_barcode
|
||||||
|
(
|
||||||
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
code varchar(16) NOT NULL,
|
||||||
|
libelle varchar(50) NOT NULL,
|
||||||
|
coder integer NOT NULL DEFAULT 0,
|
||||||
|
example varchar(16) NOT NULL
|
||||||
|
)type=innodb;
|
||||||
|
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (1, 'EAN8', 'EAN8', 0, '1234567');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (2, 'EAN13', 'EAN13', 0, '123456789012');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (3, 'UPC', 'UPC', 0, '123456789012');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (4, 'ISBN', 'ISBN', 0, '123456789');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (5, 'C39', 'Code 39', 0, '1234567890');
|
||||||
|
INSERT INTO llx_c_barcode (rowid, code, libelle, coder, example) VALUES (6, 'C128', 'Code 128', 0, 'ABCD1234567890');
|
||||||
30
mysql/tables/llx_c_barcode.sql
Normal file
30
mysql/tables/llx_c_barcode.sql
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
-- ========================================================================
|
||||||
|
-- Copyright (C) 2007 Regis Houssin <regis.houssin@cap-networks.com>
|
||||||
|
--
|
||||||
|
-- $Id$
|
||||||
|
-- $Source$
|
||||||
|
--
|
||||||
|
-- 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
|
||||||
|
-- the Free Software Foundation; either version 2 of the License, or
|
||||||
|
-- (at your option) any later version.
|
||||||
|
--
|
||||||
|
-- This program is distributed in the hope that it will be useful,
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
-- GNU General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU General Public License
|
||||||
|
-- along with this program; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
--
|
||||||
|
-- ========================================================================
|
||||||
|
|
||||||
|
create table llx_c_barcode
|
||||||
|
(
|
||||||
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
code varchar(16) NOT NULL,
|
||||||
|
libelle varchar(50) NOT NULL,
|
||||||
|
coder integer NOT NULL DEFAULT 0,
|
||||||
|
example varchar(16) NOT NULL
|
||||||
|
)type=innodb;
|
||||||
Loading…
Reference in New Issue
Block a user