Merge pull request #23460 from Max13/ean13

Fix EAN13 prefix available for internal use
This commit is contained in:
Laurent Destailleur 2023-01-11 21:10:32 +01:00 committed by GitHub
commit 859628b297
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 138 additions and 105 deletions

View File

@ -10,8 +10,7 @@ Signification des chiffres.
- 1 chiffre pour la somme de controle - 1 chiffre pour la somme de controle
Cette regle subit de nombreuses entorses pour ameliorer l'usage des chiffres disponibles. Cette regle subit de nombreuses entorses pour ameliorer l'usage des chiffres disponibles.
Voici la liste des codes pays ou systeme : Voici la liste des codes pays ou systeme, les préfixes qui ne sont pas explicitement mentionnés sont réservés par GS1 :
EN EN
@ -25,105 +24,139 @@ Meaning of the numbers:
This rule has been twisted many times to improve the use of the available numbers. This rule has been twisted many times to improve the use of the available numbers.
Here is the list of country codes or system: Here is the list of country codes or system, prefixes not explicitly listed are reserved by GS1:
List List (https://www.gs1.org/prefixes)
==== ===================================
00 - 13 UCC (U.S.A / États-Unis & Canada) 0000000 Flag for internal numbering / Codification interne en magasin
20 - 29 Flag for internal numbering / Codification interne en magasin 00001–01999 GS1 US (U.S.A / États-Unis & Canada)
30 - 37 GENCOD-EAN France 020-029 Restricted / Restreint
380 BCCI (Bulgaria) 030-039 GS1 US (U.S.A / États-Unis & Canada)
383 SANA (Slovenia) 040-049 Flag for internal numbering / Codification interne en magasin
385 CRO-EAN (Croatia) 050-059 GS1 US (U.S.A / États-Unis & Canada)
387 EAN-BIH (Bosnia-Herzegovina) 060-139 GS1 US (U.S.A / États-Unis & Canada)
400-440 CCG (DE/Germany/Allemagne) 300-379 GS1 France
45 + 49 Distribution Code Center - DCC (Japan) 380 GS1 Bulgaria
460-469 UNISCAN - EAN Russia (Federation de Russie) 383 GS1 Slovenija
471 CAN Taiwan 385 GS1 Croatia
474 EAN Estonia 387 GS1 BIH (Bosnia-Herzegovina)
475 EAN Latvia 389 GS1 Montenegro
476 EAN Azerbaijan 400-440 GS1 Germany
477 EAN Lithuania 450-459 GS1 Japan
478 EAN Uzbekistan 460-469 GS1 Russia
479 EAN Sri Lanka 470 GS1 Kyrgyzstan
480 PANC Philippines 471 GS1 Chinese Taipei
481 EAN Belarus 474 GS1 Estonia
482 EAN Ukraine 475 GS1 Latvia
484 EAN Moldova 476 GS1 Azerbaijan
485 EAN Armenia 477 GS1 Lithuania
486 EAN Georgia 478 GS1 Uzbekistan
487 EAN Kazakhstan 479 GS1 Sri Lanka
489 HKANA Hong Kong 480 GS1 Philippines
50 E Centre UK - United Kingdom 481 GS1 Belarus
520 HELLCAN-EAN HELLAS - Greece 482 GS1 Ukraine
528 EAN Lebanon 483 GS1 Turkmenistan
529 EAN Cyprus 484 GS1 Moldova
531 EAN-MAC (FYR Macedonia) 485 GS1 Armenia
535 EAN Malta 486 GS1 Georgia
539 EAN Ireland 487 GS1 Kazakstan
54 ICODIF/EAN Belgium & Luxembourg 488 GS1 Tajikistan
560 CODIPOR (Portugal) 489 GS1 Hong Kong, China
569 EAN Iceland/Islande 490-499 GS1 Japan
57 EAN Denmark 500-509 GS1 UK
590 EAN Poland 520-521 GS1 Association Greece
594 EAN Romania 528 GS1 Lebanon
599 H.A.P.M.H. (Hungary) 529 GS1 Cyprus
600-601 EAN South Africa 530 GS1 Albania
609 EAN Mauritius Island 531 GS1 Macedonia
611 EAN Morocco 535 GS1 Malta
613 EAN Algeria 539 GS1 Ireland
619 Tunicode (Tunisia) 540-549 GS1 Belgium & Luxembourg
621 EAN Syria 560 GS1 Portugal
622 EAN Egypt 569 GS1 Iceland
625 EAN Jordan/Jordanie 570-579 GS1 Denmark
626 EAN Iran 590 GS1 Poland
628 EAN Saudi Arabia 594 GS1 Romania
64 EAN Finland 599 GS1 Hungary
690-693 ANCC - Article Numbering Centre of China 600-601 GS1 South Africa
70 EAN Norge (Norvege) 603 GS1 Ghana
729 Israeli Bar Code Association - EAN Israel 604 GS1 Senegal
73 EAN Suede 607 GS1 Oman
740 EAN Guatemala 608 GS1 Bahrain
741 EAN El Salvador 609 GS1 Mauritius
742 ICCC (Honduras) 611 GS1 Morocco
743 EAN Nicaragua 613 GS1 Algeria
744 EAN Costa Rica Panama 615 GS1 Nigeria
746 746 EAN Republique Dominicaine 616 GS1 Kenya
750 AMECE (Mexique) 617 GS1 Cameroon
759 EAN Venezuela 618 GS1 Côte d'Ivoire
76 EAN (Schweiz, Suisse, Svizzera) 619 GS1 Tunisia
770 IAC (Colombie) 620 GS1 Tanzania
773 EAN Uruguay 621 GS1 Syria
775 APC - EAN Peru (Perou) 622 GS1 Egypt
777 EAN Bolivie 624 GS1 Libya
779 CODIGO - EAN Argentine 625 GS1 Jordan
780 EAN Chili 626 GS1 Iran
784 EAN Paraguay 627 GS1 Kuwait
786 ECOP (Equateur) 628 GS1 Saudi Arabia
789 EAN Bresil 629 GS1 Emirates
80 - 83 INDICOD (Italy) 630 GS1 Qatar
84 AECOC (Espagne) 631 GS1 Namibia
850 Camera de Comercio de la Republica de Cuba (Cuba) 640-649 GS1 Finland
858 EAN Slovaquie 690-699 GS1 China
859 EAN Republique Tcheque 700-709 GS1 Norway
860 EAN YU (Yougoslavie) 729 GS1 Israel
867 EAN DPR Korea (Coree du Nord) 730-739 GS1 Sweden
869 Union of Chambers of Commerce of Turkey (Turquie) 740 GS1 Guatemala
87 EAN Nederland (Hollande) 741 GS1 El Salvador
880 EAN Korea (Coree du Sud) 742 GS1 Honduras
885 EAN Thailande 743 GS1 Nicaragua
888 SANC (Singapour) 744 GS1 Costa Rica
890 EAN Inde 745 GS1 Panama
893 EAN Vietnam 746 GS1 Republica Dominicana
899 EAN Indonesie 750 GS1 Mexico
90 - 91 EAN Autriche 754-755 GS1 Canada
93 EAN Australie 759 GS1 Venezuela
94 EAN Nouvelle Zelande 760-769 GS1 Schweiz, Suisse, Svizzera
955 Malaysian Article Numbering Council (MANC) - Malaisie 770-771 GS1 Colombia
977 Publications sirielles (ISSN) 773 GS1 Uruguay
978 - 979 Livres (ISBN) 775 GS1 Peru
980 Refus de remboursement 777 GS1 Bolivia
981 - 982 Coupons (monnaie courante) 778-779 GS1 Argentina
99 Coupons 780 GS1 Chile
784 GS1 Paraguay
786 GS1 Ecuador
789-790 GS1 Brasil
800-839 GS1 Italy
840-849 GS1 Spain
850 GS1 Cuba
858 GS1 Slovakia
859 GS1 Czech
860 GS1 Serbia
865 GS1 Mongolia
867 GS1 North Korea
868-869 GS1 Türkiye
870-879 GS1 Netherlands
880 GS1 South Korea
883 GS1 Myanmar
884 GS1 Cambodia
885 GS1 Thailand
888 GS1 Singapore
890 GS1 India
893 GS1 Vietnam
896 GS1 Pakistan
899 GS1 Indonesia
900-919 GS1 Austria
930-939 GS1 Australia
940-949 GS1 New Zealand
950 GS1 Global Office
955 GS1 Malaysia
958 GS1 Macao, China
960-969 Global Office - GTIN-8
977 Serial publications / Publications en série (ISSN)
978-979 Bookland / Livres (ISBN)
980 Refund receipts / Remboursements
981-983 GS1 Coupons
99 GS1 Coupons

View File

@ -52,7 +52,7 @@ if ($action == 'setbarcodeproducton') {
$barcodenumberingmodule = GETPOST('value', 'alpha'); $barcodenumberingmodule = GETPOST('value', 'alpha');
$res = dolibarr_set_const($db, "BARCODE_PRODUCT_ADDON_NUM", $barcodenumberingmodule, 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "BARCODE_PRODUCT_ADDON_NUM", $barcodenumberingmodule, 'chaine', 0, '', $conf->entity);
if ($barcodenumberingmodule == 'mod_barcode_product_standard' && empty($conf->global->BARCODE_STANDARD_PRODUCT_MASK)) { if ($barcodenumberingmodule == 'mod_barcode_product_standard' && empty($conf->global->BARCODE_STANDARD_PRODUCT_MASK)) {
$res = dolibarr_set_const($db, "BARCODE_STANDARD_PRODUCT_MASK", '020{000000000}', 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "BARCODE_STANDARD_PRODUCT_MASK", '04{0000000000}', 'chaine', 0, '', $conf->entity);
} }
} elseif ($action == 'setbarcodeproductoff') { } elseif ($action == 'setbarcodeproductoff') {
$res = dolibarr_del_const($db, "BARCODE_PRODUCT_ADDON_NUM", $conf->entity); $res = dolibarr_del_const($db, "BARCODE_PRODUCT_ADDON_NUM", $conf->entity);
@ -62,7 +62,7 @@ if ($action == 'setbarcodethirdpartyon') {
$barcodenumberingmodule = GETPOST('value', 'alpha'); $barcodenumberingmodule = GETPOST('value', 'alpha');
$res = dolibarr_set_const($db, "BARCODE_THIRDPARTY_ADDON_NUM", $barcodenumberingmodule, 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "BARCODE_THIRDPARTY_ADDON_NUM", $barcodenumberingmodule, 'chaine', 0, '', $conf->entity);
if ($barcodenumberingmodule == 'mod_barcode_thirdparty_standard' && empty($conf->global->BARCODE_STANDARD_THIRDPARTY_MASK)) { if ($barcodenumberingmodule == 'mod_barcode_thirdparty_standard' && empty($conf->global->BARCODE_STANDARD_THIRDPARTY_MASK)) {
$res = dolibarr_set_const($db, "BARCODE_STANDARD_THIRDPARTY_MASK", '020{000000000}', 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "BARCODE_STANDARD_THIRDPARTY_MASK", '04{0000000000}', 'chaine', 0, '', $conf->entity);
} }
} elseif ($action == 'setbarcodethirdpartyoff') { } elseif ($action == 'setbarcodethirdpartyoff') {
$res = dolibarr_del_const($db, "BARCODE_THIRDPARTY_ADDON_NUM", $conf->entity); $res = dolibarr_del_const($db, "BARCODE_THIRDPARTY_ADDON_NUM", $conf->entity);

View File

@ -100,7 +100,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode
$tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("BarCode"), $langs->transnoentities("BarCode")); $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("BarCode"), $langs->transnoentities("BarCode"));
$tooltip .= $langs->trans("GenericMaskCodes3EAN"); $tooltip .= $langs->trans("GenericMaskCodes3EAN");
$tooltip .= '<strong>'.$langs->trans("Example").':</strong><br>'; $tooltip .= '<strong>'.$langs->trans("Example").':</strong><br>';
$tooltip .= '020{000000000}? (for internal use)<br>'; $tooltip .= '04{0000000000}? (for internal use)<br>';
$tooltip .= '9771234{00000}? (example of ISSN code with prefix 1234)<br>'; $tooltip .= '9771234{00000}? (example of ISSN code with prefix 1234)<br>';
$tooltip .= '9791234{00000}? (example of ISMN code with prefix 1234)<br>'; $tooltip .= '9791234{00000}? (example of ISMN code with prefix 1234)<br>';
//$tooltip.=$langs->trans("GenericMaskCodes5"); //$tooltip.=$langs->trans("GenericMaskCodes5");

View File

@ -101,7 +101,7 @@ class mod_barcode_thirdparty_standard extends ModeleNumRefBarCode
$tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("BarCode"), $langs->transnoentities("BarCode")); $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("BarCode"), $langs->transnoentities("BarCode"));
$tooltip .= $langs->trans("GenericMaskCodes3EAN"); $tooltip .= $langs->trans("GenericMaskCodes3EAN");
$tooltip .= '<strong>'.$langs->trans("Example").':</strong><br>'; $tooltip .= '<strong>'.$langs->trans("Example").':</strong><br>';
$tooltip .= '020{000000000}? (for internal use)<br>'; $tooltip .= '04{0000000000}? (for internal use)<br>';
$tooltip .= '9771234{00000}? (example of ISSN code with prefix 1234)<br>'; $tooltip .= '9771234{00000}? (example of ISSN code with prefix 1234)<br>';
$tooltip .= '9791234{00000}? (example of ISMN code with prefix 1234)<br>'; $tooltip .= '9791234{00000}? (example of ISMN code with prefix 1234)<br>';
//$tooltip.=$langs->trans("GenericMaskCodes5"); //$tooltip.=$langs->trans("GenericMaskCodes5");