Description: I am using EAN13 function since a lot of years without problems. On Ubuntu and Windows, I got Error 509, not the code with EAN13, after LibreOffice 7.4 upgrade. Steps to Reproduce: 1.use EAN13 function with 7.4 2. 3. Actual Results: Error 509 Expected Results: The ean code (13) Reproducible: Always User Profile Reset: No Additional Info: EAN13 is a function REM ***** BASIC ***** Function ean13$(chaine$) 'Cette fonction est régie par la Licence Générale Publique Amoindrie GNU (GNU LGPL) 'This function is governed by the GNU Lesser General Public License (GNU LGPL) 'V 1.1.1 'Paramètres : une chaine de 12 chiffres 'Parameters : a 12 digits length string 'Retour : * une chaine qui, affichée avec la police EAN13.TTF, donne le code barre ' * une chaine vide si paramètre fourni incorrect 'Return : * a string which give the bar code when it is dispayed with EAN13.TTF font ' * an empty string if the supplied parameter is no good Dim i%, checksum%, first%, CodeBarre$, tableA As Boolean ean13$ = "" 'Vérifier qu'il y a 12 caractères 'Check for 12 characters If Len(chaine$) = 12 Then 'Et que ce sont bien des chiffres 'And they are really digits For i% = 1 To 12 If Asc(Mid$(chaine$, i%, 1)) < 48 Or Asc(Mid$(chaine$, i%, 1)) > 57 Then i% = 0 Exit For End If Next If i% = 13 Then 'Calcul de la clé de contrôle 'Calculation of the checksum For i% = 12 To 1 Step -2 checksum% = checksum% + Val(Mid$(chaine$, i%, 1)) Next checksum% = checksum% * 3 For i% = 11 To 1 Step -2 checksum% = checksum% + Val(Mid$(chaine$, i%, 1)) Next chaine$ = chaine$ & (10 - checksum% Mod 10) Mod 10 'Le premier chiffre est pris tel quel, le deuxième vient de la table A 'The first digit is taken just as it is, the second one come from table A CodeBarre$ = Left$(chaine$, 1) & Chr$(65 + Val(Mid$(chaine$, 2, 1))) first% = Val(Left$(chaine$, 1)) For i% = 3 To 7 tableA = False Select Case i% Case 3 Select Case first% Case 0 To 3 tableA = True End Select Case 4 Select Case first% Case 0, 4, 7, 8 tableA = True End Select Case 5 Select Case first% Case 0, 1, 4, 5, 9 tableA = True End Select Case 6 Select Case first% Case 0, 2, 5, 6, 7 tableA = True End Select Case 7 Select Case first% Case 0, 3, 6, 8, 9 tableA = True End Select End Select If tableA Then CodeBarre$ = CodeBarre$ & Chr$(65 + Val(Mid$(chaine$, i%, 1))) Else CodeBarre$ = CodeBarre$ & Chr$(75 + Val(Mid$(chaine$, i%, 1))) End If Next CodeBarre$ = CodeBarre$ & "*" 'Ajout séparateur central / Add middle separator For i% = 8 To 13 CodeBarre$ = CodeBarre$ & Chr$(97 + Val(Mid$(chaine$, i%, 1))) Next CodeBarre$ = CodeBarre$ & "+" 'Ajout de la marque de fin / Add end mark ean13$ = CodeBarre$ End If End If End Function
Please attach test file. Thank you.
Created attachment 182699 [details] program with defective Function
[Automated Action] NeedInfo-To-Unconfirmed
Created attachment 182836 [details] LO 7.5 Looks correct with Version: 7.5.0.0.alpha0+ / LibreOffice Community Build ID: a0bc0cc81b597aa81189355a8125753d6b873cce CPU threads: 4; OS: Linux 5.15; UI render: default; VCL: gtk3 Locale: cs-CZ (cs_CZ.UTF-8); UI: en-US Calc: threaded
Robert , please update your LibreOffice to 7.4.2 and try retest your problem
Dear robert.bassimon@free.fr, This bug has been in NEEDINFO status with no change for at least 6 months. Please provide the requested information as soon as possible and mark the bug as UNCONFIRMED. Due to regular bug tracker maintenance, if the bug is still in NEEDINFO status with no change in 30 days the QA team will close the bug as INSUFFICIENTDATA due to lack of needed information. For more information about our NEEDINFO policy please read the wiki located here: https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/NEEDINFO If you have already provided the requested information, please mark the bug as UNCONFIRMED so that the QA team knows that the bug is ready to be confirmed. Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-NeedInfo-Ping
Dear robert.bassimon@free.fr, Please read this message in its entirety before proceeding. Your bug report is being closed as INSUFFICIENTDATA due to inactivity and a lack of information which is needed in order to accurately reproduce and confirm the problem. We encourage you to retest your bug against the latest release. If the issue is still present in the latest stable release, we need the following information (please ignore any that you've already provided): a) Provide details of your system including your operating system and the latest version of LibreOffice that you have confirmed the bug to be present b) Provide easy to reproduce steps – the simpler the better c) Provide any test case(s) which will help us confirm the problem d) Provide screenshots of the problem if you think it might help e) Read all comments and provide any requested information Once all of this is done, please set the bug back to UNCONFIRMED and we will attempt to reproduce the issue. Please do not: a) respond via email b) update the version field in the bug or any of the other details on the top section of our bug tracker Warm Regards, QA Team MassPing-NeedInfo-FollowUp
OP pointed out the problem occured after LibreOffice 7.4 upgrade. As of 7.4 the maximum number of columns is 16384 (from A to XFD). The name of the function seems to conflict with the cell coordinates EAN13 See the topic on the AskLibreOffice "Err.509 calc when running a macro with single cell input" https://ask.libreoffice.org/t/err-509-calc-when-running-a-macro-with-single-cell-input/84687