PrestaPricing 7.1 & 7.2 : faster, support of warehouses, CKEditor...
Note : now available version 7.2, bringing in addition the compatibility with PrestaShop 1.7.
Power and speed
As we did with PrestaCategories about 6 months ago, the majority of the most complex scripts of PrestaPricing have been rewritten to accelerate its execution time.
The launching phase :
If with the small bases of less than 500 categories this step was painless, those managing sites of 5000 to 50000 famillies had to wait several minutes for the entire tree to be read and displayed. Now only the first level of the tree is loaded at launch, the other levels are loaded on the fly when the needed.
But even on very small databases, you will enjoy the comfort of running categories refresh in seconds.
Test scale, connecting on a site of 40,000 categories:
The mode of operation for this launch speed and all other accelerations described below is called "progressive loading".
Is chosen at the time of connection and can be changed from the main interface at any time:
Check "Select reading mode" to open this window and select this new method or the old one (preserved for old versions of PrestaShop 1.3):
We also advise you to turn on "Do not ask again..."
Once connected, you can switch from one mode to another (it is recommended to stay in the new mode as much as possible):
Some of the others features running 10 to 100 faster :
-Creation and deletion of products
ex : bulk creation of 10 products in 80 categories (800 new products) : 0.7 s instead of 1min 30 s with v7.0.
-Reading of accessoires.
-More globally all features acting on a large number of products in one single operation.
New HTML editor (CKEditor)
As for PrestaCatégories 6.1, the internal HTML editor has been replaced by the very popular CKEditor :
You can switch at any time between thre version of CKEditor (basic, standard, complete). You can even install your own customized version.
Bonus : it is capable of reading and using the CSS classes of your PrestaShop template. A 100% WYSIWYG editor.
More than one hundred of available (most are free) pluggins on the site of CKEditor. Ex : advanced bulk images upload pluggins.
For more information on customization possibilities, please consult the online help of CKEditor at www.ckeditor.com .
Note : the three versions of CKEditor are coming with Sitolog Application Connect from version 7.2.c (installed automatically in the same directory on your server).
The most demanded : management of the warehouses and stock movements (PRO version only)
If you ever tried the advanced stock management mode in PrestaShop, you already know that the idea was promosing but the implementation really bad and buggy, to a point it is not usable. So many of you have asked Sitolog to think and implement in PrestaPricing an interface to managed quantities in warehouses.
Was not easy, but after many months of design and coding, we are pleased to announced that you'll now be able to managed products-warehouses associations and quantities movement in bulk via PrestaPricing.
The setting :
Features:
-Turning on or off globally the advanced stock management mode. With a major difference with doing it in the back office : turning the mode off is not resetting to 0 all quantities, you are not loosing your inventory.
-Selection of the warehouses to display and work on. Either all of them, only those of the shop or only one.
-Choice of the period used to compute the quantity sold, used to compute the coverage (number of days before facing out of stock situation)
-Choice of the quantity type (reel, available, usable) used to compute the coverage.
-Cells in the coverage colums are color coded/ REd if the number of remaining days reach a limit that you can define youself.
New columns to display and edit warehouses associations and quantities :
All fields used and dispaly in the back office warehouse tabs are included in PrestaPricing. With major difference : they are all present in the same table to make the work much more easy and intuitive.
You can bulk associate product and combinations to warehouses, configure they management mode (manual or automatic), their location and indeed their quantities (physical and usable for orders).
It also provides useful informations like the real, available, back order quantities and the stock coverage, the stock valorisation, the weighted average price...
Stock movements :
A right clic in any of the warehouses quantities colums, open the stock movement windows. It acts on all the selected lines in the products or combinations tables.
You can increment stock, decrease it (partially or completly), make transfers (partially or completly) between warehouses :
When adding stock, the wholesale price can be determined automatically, using the same than for the previous adding, or the price defined for the default supplier of the product or any other supplier, the basic wholesale price, a defined price...
When the selected price is not yet defined and/or null, the program can automatically pick up the next one in the option list.
On top of this you can apply a discount rate.
The tool is capable to automatically convert the manual quantities or items into physical stock in warehouses (turning on the advanced mode on products in the warehouse with PrestaShop back office is reseting all quantities to 0).
You can easily convert or transfer physical quantities to usable quantities in the same or another warehouse.
Current limits (V beta 7.1) :
-Quantity removal is possible only in WA type of warehouses (not in LIFO and FIFO type of warehouses).
-The CSV/XLS import is not yet compatible with the advanced stock management mode.
New "Suppliers" tab and table
Since stocks advanced management uses the concept of supplier prices, and as a product can have multiple suppliers, it had become necessary to also provide an interface to make mass-associations between product and suppliers and to choose for a batch the default provider. Alos required to to easily create and modify prices, currencies and supplierreferences on product and / or variations:
Note that MagicEdit tool is available in the supplier reference column (for example to generate series of references).
It is also available in the supplier price column, allowing for example to copy the wholesale price column into the supplier price column.
Notice the small button to copy with one click hundreds of product's reference and / or prices into their combinations. Casually, it's another hundreds of hours saved.
New richer interface for bulk adding of new products
Now allows you to pre-fill the names and references with a pre-defined value (concatenation with the name of the category or brand), prices and all the important parameters (activation, quantity, weight, manufacturer, default supplier, status , online, on sale, taxes, ...). Another huge time saving when filling your articles catalog:
Many other new features. Here are the main ones:
The "Warehouse associate" column of the table of products in three States (Yes, no and partially). Partially indicating that some of its combinations are associated with the warehouse, without being associated to the current shop |
The addition of specific price does not refresh automatically table of combinations in order to keep the selection of common lines and to chain generations. Instead the refresh button flashes (but only if necessary, IE if the table contains columns relate to the price discounts). |
The size of the fields of the pre-filters from the tables is no longer limited in number of characters (instead of 1024) |
The HTML editor is replaced by the famous CKEditor. True WYSIIWYG. Reading the site CSS files. Choice of the version of the HTML editor and its plugins. |
PHP 7.0 support |
The movement of stock allows to transfer the amounts managed manually, in stock in warehouses (while Prestashop strives to 0 by default when it goes into advanced management mode). |
Table of suppliers, a new button to copy data from the product to its declinations (reference provider, provider purchase price, currency) (bulk: several products, suppliers and combinations with one click). |
Bulk stock movements (add, remove, and transfer of the stock). Option to remove all or transfer all stock. |
New tab and table to associate products and declinations to suppliers, edit of the supplier reference for each linked supplier, the price of purchase per supplier, choice of currency, choice of the default provider. Many filters to list only default providers, others, all, one alone, those associated with or not. View products list or combinations list. |
The change of the default provider in the product table, creates a line for each of the variations in the product suppliers table if it does not exist |
Change of the provider by default via the import, create a line for each of the variations in the product_supplier table if it does not exist (to be consistent with the behavior of the back office of PS) |
Support of FTPES (explicit TLS) connections on servers without authentication (encryption only) or certificate invalid. |
Removal of stock in warehouses, of deleted combinations when the product is no longer in advanced mode of managing stocks. |
In all tables, by default search tool is now a "contains" search instead of a "start by" search. |
The default language for the update of the products or categories via the import, when column id_lang away, can now be defined in step 2 rather than using the language defined in the "Display" tab of the main window (was not at all intuitive). |
Passage of the current (excluding warehouse) stock at the same amount in a warehouse |
Column "Has some combinations" ignores the shops. |
Generator of combinations on products managed in warehouses, is automatically transfering the stock, assocaitions and location in warehouses, to the new default combination. |
Advanced management of stocks from the main window |
Magic Edit on columns "warehouse location" |
The activation of "Advanced Stock management" and "Qantites based on inventory in warehouses" applies automatically to all shops of the same group (if this group shares quantities) |
Amount of discount renamed "Amount or discount rate" in the import mapping. |
Save the changes made on the form tab when we turn off the display of the from data, if auto save is on |
New column quantity pending delivery by warehouse |
Three types of coverage are possible, either according to the real quantity (as PrestaShop is doing) or according to the quantity available for sale (more relevant stock if the products are not associated with warehouses) or according the usable quantity |
New columns quantities sold, real quantity, coverage |
Automatic switch "Active" FTP mode when "Passive" is unchecked. |
Support of tables memorizing the information of stock movements for products for which the quantities are managed in the warehouse. Add a line for each change of stock in warehouses. |
Possibility to use MagicEdit tool on the column supplier price. This allows here for example to copy another column in the price column (or a selection of rows), like the basic purchase price. Or even to copy paste provider X prices into provider Y prices. |
Two new items managed by the xls/csv import: supplier price and its currency. |
The transfer of inventory between warehouses also works to and from a same warehouse, to convert the stock available for sale in stock not available and vice versa. |
Bulk decrease of stock of products or combinations in the warehouses. Note: for now only supports the warehouses of type WA (average price). |
Bulk adding of stock of products or combinations in warehouse. |
Buk transfer of stock of products or combinations between warehouses. With the possibility to transfer all or a portion of it. With option to include or not the quantities available for sale. With the possibility of select how much will be available for sale in the warehouse of destination. Note: can transfert out only from warehouses of type WA. |
Detecting the presence of CKEditor on the server |
When adding stock in mass (products or combinations in the warehouses), you have a great choices for the automatic or manual selection of the purchase price. Either the one of the latest addition, the one set for the default product provider or another provider, eitherthe default wholesale price of the product, or a manually entered price. In addition two options take the following in the list if one of them is either not defined or equal to zero. |
When adding stock in warehouses, you have an option to automatically apply a % discount on the selected price. |
PDO support (alternative to mySQLi) |
Bubble help added to the button "Show all categories" (single vs double click) |
Stickers: support of currencies made of two or more characters like the R$ Brazilian or the US$ |
Cover, PP calculation is based on the actual qt, or the available qts, but on the qt usable warehouse => offer this mode of calculation |
Filters '' products with or without variations '' did not take into account shops. However a product can have variations in one and not in another. |
Improvement: only columns of characteristics associated with selected products appear when changing selection of products. Same for the attributes columns and selected combinations. Previously, the columns displayed once remained present even though they were empty. |
Prohibit bulck changes of quantity of products if the "Stock advanced management mode" is on |
The fonts, objects and windows keep the same size even if the display mode of Windows is different from 100% (some fields were overlapping) |
From PS 1540, we got a unique compound key in stock available. Use it to optimize queries to update quantities. Made in: requete_recup_id_del_insert_quantite_produit_pour_shop |
Memorization of the option to display pictures of the categories in the tree |
Optimization of the code changing in mass quantity of products |
Edition of the locations in the warehouses |
Reactivation of the button of minimization of the main windows. Removal of the button "Hide window" |
The HTML editor is set to WYSIWYG mode by default |
Removal of combinations from the generator is more complete (cleaned other tables linked to the combinations removed) |
Column "Has attributes" now has a third possible state (square checkmark), indicating that the variations in another store, the same product group shop, that this group is shared amount, but there are not variations associated with the shop of the line. In such a case, although the product has no variation in this shop, it is not possible to change its quantity. |
The language used for the mapping is now defined in step 2 (instead of using the language chosen in the control panel of the main window). When you change language in step 2, the existing values of attributes and features list is rebuilt. Easier way to map the characteristics and attributes provided in various languages. |
Bulk or individual association between products/combinations and warehouses. Automatic computation of the quantities available, coverage etc... Multi shops support |
Quotation marks can now be used in lists of keywords used in filters. |
Adding images in HTML editor > code of transfer to server + chg of the url |
Column date_add of products is now editable |
Adding a warning with explanation when you mapped the id_lang column, while having characteristics or attributes columns. |
MagicEdit is simpler to use. Removal of the step 1 and 2 confirmations. The window can be closed with step 2 (2 actions less in the process). |
7-Complete list of improvements or corrected bugs:
(Sorry fro the bad English, has been translated from French to English by Bing translator)
Update product via the import in a language different from the language in court does not logically, the default language field is ignored, it is the language that is set in the main window that priority. |
Crash when closing the window of import, if the main window is minimized |
Several inconsistencies in the creation or update of categories with key - id, in forcing or not the ids (V7.0.1). 1 - If you uncheck force ids, he created a new category with the new name instead of using the id that you provided. 2. If we check force the id he ignores the new name. Happens after you create an orphan, as this to created a category with an auto_id but has not updated the table gtabId_category_existants |
When you click on the 'New' button which flashes this puts the selection of 1 to 50 of 50 to 100 because the arrow is underneath So we should change place the button |
In the export Excel table, images are duplicated in the URL of all the photos column |
With PS 1.5, crash (more memory) to the creation of a specific price + columns empty price in specific price (resolved by displaying the declensions) table |
Import dec, if the key is chosen on "product name", it becomes impossible to check the options to remove lines of products without dec, options get drunk. |
Execution of an empty SQL query (for example if the conditions are that no product is to change), did show an error message (only Red Cross), which could be confused with the duent to micro cuts network errors. Now uen empty requet generates error. |
Crash type memory saturated at adding features to products whose ID is very large (1 billion) |
Tab sheet don't be refreshed not well when changing its tail on the screen |
Import, price range of purchase, default margin rate and table of increments and margin rates do not keep the decimals |
Each planning we have a "pop-up window" that we need to validate a "OK" (Message saying that the import is finished and that he must look at the status column) |
View one line of product by store, when we check a switch type column, on a topic common to the shop (ex: virtual product), it must be that it update the other lines of the same product. |
Error at line 475 of the treatment Procedure local mass_update_combinations_selectionnes. The 'TableauSupprimeDoublon' function should return a value. Then copy paste in impact weight column. PS 1.4.1 |
Delete in pratim in the script to add a photo, sql error due to an alias atim written instead of pratim in a join |
Crash the app during import with suppliers on server OVH shared surcharches creation and who cut the connection after 15 minutes. (Error on line 69 of the treatment Procedure local Creation_nouveau_fournisseur_ou_nouveau_fabricant) Dimensions of an array must be positive. ) |
'Check all columns' tick two lists of props, that of ids and of the UPC. That's the column list accessories don't is not filled. |
Treatment of ' Procedure local mise_a_jour_1_ligne_colonne_status_import_product_attribute' (FEN_Import_product. PROCEDURE.mise_a_jour_1_ligne_colonne_status_import_product_attribute), line 26, t |
encryption of sent requests, regardless of how you chose secure pou ELA data back |
Import can't seem to get very big csv files from FTP |
function round. The safety mechanism has detected an error in the Prestapricing call WL application: ' Click on BTN_Valider' (FEN_Arrondir.BTN_Valider), line 84, thread 0 |
New products created appear twice in the store (two rows in table stock available) |
Change default category => force visible in new, like PrestShop |
Impossible to capture a ref or ref four any other text column with dashes as 010 - 00701-01, it is not stored to the rafrichissement. Reproduced at home on test site (dashes are removed from reading data) |
Adding image under PS1.5 in multi shops, creation of duplicates of cover in table image |
Lack column mpr_pp_date_update (versions 7.0.2.a and .b only bug) |
Date of availability non-zero when adding products manually in version1.5 or 1.6 |
Bug, not detected more duplicates on ref and ref provider. In fact it is y duplicates apas, it is the implementation of unique key ALTER command that is present twice and produces an error doing thinking about the presence of duplicates during the import of declensions. |
sql_mode = only_full_group_by at OVH SQL private, blocking queries SQL using Group by, in particular the quantity column |
Manual creation produced in 1.5 or 1.6, lack value id_shop_defaut |
Latest version of PP and PS 1.3.7 Mass change in a variation in the weight column. Same thing in the purchase price of a declination column. Error at line 475 of the treatment Procedure local mass_update_combinations_selectionnes. The 'TableauSupprimeDoublon' function should return a value. |
Table product_comment does not exist if it has not activated the module comment produced. However the routine deletion of products trying to truncate this table, this generates a SQL erreru. Add a test for presence of this table. |
MagicEdit is present in the context menu of the price column HT |
Bug rounded price before delivery of the decinaisons (gives a false result to display, the new price in the base is correct, so ok after refresh of the table) when you select several, not necessarily of the same product. |
The selection of a single product by several already selected don't rafraichait no other tables or the lite selected products in-house. |
Seen on a PS 14017, reads PS_LEGACY_IMAGES and can't find it (normal car is missing in the first versions of PS1.4) so use 0 and can't find the images. Put 1 by default when PS_LEGACY_IMAGES is not found. |
rounding the final price before fitness multi stores, taken into account in the selected shop last modif. |
Crash see screenshot by clicking on a categories in recursive mode, l àtable categ accessories |
Error on line 29 of the treatment Procedure local copie_ligne_produit_dans_fichier. You called the operator [] on the TABLE_ps_product field. The specified index [-1] is invalid. |
At launch, list accessory categories, red rectangle down but not the green guys |
Transfer images HTTP no longer works since 7.0.0.f |
MagicEdit on the entire column, does not recalculate chaine_id_product_in-online table supplier and other under table not updated. |
Failed to import category with ps 1.2 to 1.4, when only the name of the category column is present |
The creation of price variations specific did not if asked at the same time as the creation of declination. OK when updating only. |
For accessory afficahge, replace Filtre_de_jointure_lecture_categories_for_products with its equivalent 3? Line 378, 396, 420 Affichage_Product. NOT because Filtre_de_jointure_lecture_categories_for_products is common to both tables of categories because independent of them, it is a filter on the shops and customer groups |
7.0.2: Qd x products are selected, with the dec, qt fall line-by-line does not work well. Re - test on version 7.1 |
Read photo or url coverage on a category with a very large number of products, takes a lot of time with possible error time out, even if the pager was limited to 10 products. |
More visible declinations. Occurs if it is not encrypted mode and attributes contain () or, |
The provider of the ABC window table does not contain the ref suppliers or prices => replaced by new tab |
Multi shops, PS 1.6.1 Manual association of an image no cover at a store, use 0 instead of NULL value in the image table, in the column cover. This can then create SQL errors when the association mass of other pictures. |
With PS 1.5, if we only check % discount in l àtable of products, we have an SQL error that sppr.from is unknown. SQL join is missing. Work around the problem: also check the id_prix_specifique column. |
"Unknown column HAS_DEC" SQL error when changing mass quantity of products, with the filter only without variations |
Tab sheet, not automatically selected language |
Out Of Stock (value 0,1 or 2) must be saved in all lines of a product and its variations and not just stock_available in the stock of the product line. Similarly, the addition of a dec (with qt non-zero) should take as value out-of-stock than its parent product. Via the main interface, line by line (v) or mass (v), generator of dec (v), via the update produced by import (v) and creation of dec by import (v). PS 1.5 and 1.6 |
With characteristic CSV file, mapping ok but columns are not displayed. See sample file sent model plaquettes.csv |
SQL error Column "date_upd" is ambiguous, while generating declensions. |
column "Has the variations" is ticked (7.0.2.d) |
New import products with HA and PV price columns, if more choice of application of a margin => failure (seen with key reference and ref beg). OK if we take back the application of a margin. |
Very intermittent crash on launch on a table index no (setting the maximum number of characters of the text column code) |
Bug when exporting, characteristics of the first selected row columns fill with the data of another line. If the option to export the contents of the columns is not Wysiwig mode. |
Always with the WISIWIG, I wanted to switch the font size to 1 before you enter the text (it is by default 2) and plant Prestapricing. |
Bug in retrieving the names of files containing a focus in the window of adding photos to the list by choice and search for a folder. Focus e gives Windows badly coded characters and that's the search of images does not then. |
Delete list of image slower than before (left table). Probably to cause missing thumbnail |
Import of new categories of new products using force the id or not, with just an id column for the categories (no name)-online orphan products, categories are not created-online mode now blocked as long as it does not include the category name column |
replace chaine_product_in everywhere (with the new string chaine_product_condition or at least by optimisation_chaine_condition_id_items_selectionnes) |
height of rows not stored |
Trace mode on or off evil memorized |
SQL error in the marking of the duplicates then the copy paste vertical list of tags in the products table |
When you set up a filter to a table column, it is refreshed and only the first line remains selected, so de-pressed the red rectangle button corresponding. This was true for some tables and not others. |
Default language for wrong saved import supply |
Change 'active' status in table accessories, Flash refresh products |
If the products to be imported do not exist, the key is supplier reference and that we do not check 'Create non-existing products', we find in the trace this type of errors, which could be avoided by adding a IGNORE: 02:50:31:72 ERROR MYSQL: 0 TABLE: ps_product / SQLi: Column 'id_product' cannot be null INSERT INTO ps_product_supplier (id_product, id_product_attribute, id_supplier, product_supplier_reference, id_currency) VALUES (@mon_id_product, 0, 4, '10518MAK', 2) ON DUPLICATE KEY UPDATE i |
at launch, if filters unchecked, gray field A1 and A2 |
HTML editor, the choice of well H2 or H3 need to click again on the size to see the result |