Forum Replies Created
-
AuthorPosts
-
RRowleyParticipant
Are you saying that you replicated this problem with the current master_2020 version of SI?
If so, can you please give me detailed steps so I can replicate and fix?
RRowleyParticipantIt would be interesting to see the “quick view” for this invoice. This shows the detail and the amount paid on it. If you can include a picture with Customer and Biller redacted. Also, if you could display the data base records for the invoice. These are in the tables: SI_INVOICES, SI_INVOICE_ITEMS, SI_INVOICE_ITEM_TAX and SI_PAYMENTS.
In SimpleInvoices, not the invoice number you want to get records for. Use this value to Search the si_invoices table via the index_id field.
Get the si_invoices record. Note the id value. Use the id of the invoice to select si_invoice_items via the index_id.
Use the si_invoice_items id value to get si_invoice_item_tax records via the invoice_item_id field.
Use the si_invoices id value to get si_payment record via the ac_inv_id field.
If you are using phpMyAdmin, select the table you want to get records from and then us the Search menu to do your selection.
If you screen show each selection and show it here, we’ll see what the offending record is.
- This reply was modified 2 years, 3 months ago by RRowley.
RRowleyParticipantAlso note that once the precision is set, you can access the invoice in EDIT mode and save it to cause the OWING field to be updated. This should hopefully correct that decimal setting.
RRowleyParticipantWhat is the localPrecision set to in the config/custom.config.ini file? If this is set to 2, the numeric amount values should be trimmed to 2 decimal places.
RRowleyParticipantI suspect the issue is with attempt to render the two amount fields where data is bad. One thing to try is to print the fields without rendering. This isn’t too difficult. Make a copy of the file “templates/default/invoices/manage.tpl”. Now change the original file from:
{ "data": "total", "render": function (data, type, row) { let formatter = new Intl.NumberFormat(row['locale'], { 'style': 'currency', 'currency': row['currency_code'] }); return formatter.format(data); } }, { "data": "owing", "render": function (data, type, row) { let formatter = new Intl.NumberFormat(row['locale'], { 'style': 'currency', 'currency': row['currency_code'] }); return formatter.format(data); } },
to:
{"data": "total"}, {"data": "owing"},
Now try it an see what the data looks like. Look for any oddities in these two fields. You might have to page past the first screen.
- This reply was modified 2 years, 3 months ago by RRowley.
August 1, 2022 at 5:56 am in reply to: Something went wrong, please try saving the invoice again #1780RRowleyParticipantThis is actually the 2019.2 update and this stop is not unexpected. The issue is likely an orphaned record in the database that prevents the foreign key update from applying. You need to look at the error information in the tmp/logs/php.log file. It details what record(s) are at issue. If you want to display that information here or zip and attach the log file, I will look at it and let you know what can be done.
You can also look at the “Unable to set Foreign Keys Error Handling” topic in the “Version Update Process” menu option on the left.
NOTE: The php.log file might contain secure information. Be sure to scrub it before attaching/publishing it.
- This reply was modified 2 years, 3 months ago by RRowley.
July 29, 2022 at 7:09 am in reply to: Something went wrong, please try saving the invoice again #1777RRowleyParticipantSorry that you feel you need to move on. Do you recall the SqlPatchManager error you encountered? And have you tried to update recently?
July 28, 2022 at 10:47 am in reply to: Something went wrong, please try saving the invoice again #1773RRowleyParticipantIt appears you running SI version master_2019.2. Is there any reason you can’t updated to master_2020?
July 26, 2022 at 3:06 am in reply to: Something went wrong, please try saving the invoice again #1768RRowleyParticipantFirst, check the web server (Apache?) log files to see is anything is reported there. Next check the PHP error log file. The next step would be to set the SI logger lever to DEBUG (custom.config.ini loggerLevel = DEBUG). Recreate the error and look at the tmp/log/si.log file and see where it ends. That is where the process stopped. Hopefully that guides you to the problem.
I did check out the mysql 8 vs mariadb which I use and they are SQL compatible. So I don’t suspect an issue there.
RRowleyParticipantUnfortunately making an extension requires PHP and Smarty knowledge. Details on setting an extension up can be found in the Extensions topic in the menu list on the left.
RRowleyParticipantThe problem is the PDF logic on a localhost server cannot handle an absolute URL path to the icon image. It does work with a relative path.
I just update the files on github to change the logo path to a relative path on all export template. This is version 2020.3.20. If you have your own template, you can remove the holiday_logo function from it as the logo value passed to the template is correctly modified and any holiday logo resolved before it is passed to the template.
The holiday_logo function in the template still exists but does not change anything. It will generate an entry in the error_log file indicating that the template should be updated. This is done so that your template will process correctly even with this function still in it.
RRowleyParticipantTurn on tracing to see if there are any places that processing stops. Do this by setting these values in the confgi/custom.config.ini file:
debugLevel = All
debugErrorReporting = E_ERRORThis will report information in the tmp/log/si.log file.
Note that secure information is reported in this file, so make sure any is obscured if you show this info in this forum.
Normally, when the unresolved loading happens, something is wrong with the data table information. Do make sure that you have the both the gdt and the intl extensions enabled in your php.ini file. You can verify this via the SI phpinfo.php file. To use this, modify the $secure setting to false. Then access this file by specifying /phpinfo.php after the SI https entry.
RRowleyParticipantThe attribute error has nothing to do with the logo. I have the same issue on my windows system that you do. However, on my live website, hosted on a Linux domain server, I do not have a problem. So while I haven’t resolved the issue, I think it has to do more with PDF generation on my XAMPP setup; possibly because it doesn’t have an SSL implementation. That is, the logo URL used, uses https and not http. This is something I’ll test later to see if that is the case.
RRowleyParticipantThe issue is that your data base is not set up. Make sure you can read it via your phpMyAdmin app (or whatever app you use to setup and view your database). For the master_2019.2 version, the database information is in the config/custom.config.php file. For the master_2020 version it is in the config/custom.config.ini file. If it is the master_2020 version you are loading, it is possible that the databasePassword value needs to enclosed in quotes. Once this information is properly set up, the application will proceed to the update screen.
RRowleyParticipantIf you want to deploy on another system with a version of PHP 7.4x, it shouldn’t be difficult provided you can get a full extract of your existing database. You can create a new database on the new system, upload the extracted contact. You will need to download the master_2019.2 version. Make sure this is the version you down load. It needs to be used to update the database content before you can change to the master_2020 version. You will need to update the information in the config/config.php file for the database. You can get this info from the config/config.ini file on your existing system, It might be necessary to enclose the database password in double quotes if it has special characters.
Once this setup is in place you can access SI from your browser. If it is set up correctly for database access, you will get the update screen that shows you a list of updates to apply. If not set up correctly, you will get a message that you need to create your database. In this case, check the settings in config/config.php file and try again.
The master_2019.2 update is important. It contains a change to add foreign key support to the database. All updates prior to this one will apply but the foreign key update can stop if it encounters orphaned records. This situation needs to be handled on a case by case basis.
For example, one user had multiple domain ID’s in his setup and this caused the the update to stop reporting records with orphaned ID’s. Other examples are orphaned si_invoice_items records or orphaned si_cron or si_cron_log records. The domain required the missing domain record to be added to the si_user_domain table. The later issues probably need to orphaned records to be deleted. Whatever is required, you need to address the issues and then access SI again so the update process completes.
Once he master_2019.2 update completes, you can update to master_2020. You can get all the needed update information via the Version Update Process link on the left menu.
Hope this all works out for you.
-
AuthorPosts
Recent Comments