Hoofdmenu

Versie 8 Acumulus plugin voor WooCommerce (en andere webshops)

Gestart door erwin-burorader, 13 juli, 2023, 10:27:12

Vorige topic - Volgende topic

erwin-burorader

De nieuwste versie van de Acumulus voor WooCommerce plugin bevat een aantal grote veranderingen. Alhoewel de meeste veranderingen intern zijn, zijn er toch een paar zaken waar u op moet letten. Merk op dat deze veranderingen ook in de volgende versies van de Acumulus modules voor HikaShop, Magento, PrestaShop, OpenCart, en VirtueMart zullen verschijnen.

TL;DR
Controleer de "Acumulus instellingen"; controleer de "Acumulus Veldverwijzingen"; Meldt alle foutmeldingen, ook als u geen pro-support heeft.

Veranderingen:

Ondersteuning voor het verzenden van 2 adressen.
        ◦ Nieuw: de plugin zal nu zowel het factuuradres als het verzendadres naar Acumulus versturen. Als boekhoudpakket werkt Acumulus niet met de begrippen factuur en verzendadres, maar met een hoofd en een alternatief adres. Beide adressen kunnen in uw factuur en pakbon templates gebruikt worden. Het grote verschil is dat het hoofdadres gebruikt wordt voor btw berekeningen en controles. Daarom zal standaard het adres dat WooCommerce gebruikt voor het bepalen van btw-tarieven als hoofdadres verstuurd worden en het andere adres als alternatief adres. In de instellingen kunt u dit eventueel aanpassen.
        ◦ Oud: de plugin verstuurde (standaard) alleen het factuuradres.

Veldverwijzingen (NB: dit is alleen van belang voor u, als u bij de geavanceerde instellingen velden hebt overschreven die veldverwijzingen mogen bevatten):
        ◦ Nieuw: alle veldverwijzingen beginnen bij "source", gebruik :: om door het datamodel te navigeren naar ander objecten en hun eigenschappen.
        ◦ Oud: naast "source" waren er ook directe links naar "order", "refund", "refundedOrder' en nog wat andere objecten.

Strikter onderscheid tussen getallen en tekst.
        ◦ Nieuw: als er een getal verwacht wordt zal er een foutmelding komen als er een tekenreeks doorgegeven wordt. Voor de plugin is dus iets als 6,- niet acceptabel als prijs. Hierdoor is er meer zekerheid dat wat de plugin verstuurt ook correct is.
        ◦ Oud: in de recente versies was dit al meer en meer het geval. Dus in die zin is de verandering niet heel groot.
        ◦ Consequentie: Dit soort fouten presenteren zich meestal als een mail met als onderwerp "Je Acumulus plugin heeft een technisch probleem". Stuur deze fout naar support – ook als u geen pro-support heeft, en wij zullen kijken of dit een gevolg is van een iets te strikt onderscheid maken door de plugin en indien zo de code iets minder strikt maken.

Voorbereiden van de programmeercode op meerdere onafhankelijke acties. Denk aan het vesturen van de factuurgegevens, het op betaald zetten van de factuur, het versturen van de pdf van de factuur vanuit Acumulus naar de klant.
        ◦ Consequentie: voor de gebruiker zijn hier nog geen consequenties aan verbonden, maar dit stelt ons in staat om in volgende versies die acties aan te kunnen bieden, elke actie bij de daartoe door u ingestelde bestelstatus.

Verzameling van bestellingen en kredietnota's die als test zullen dienen voor alle nieuwe versies.
        ◦ Nieuw: bij elke vrijgave van een nieuwe versie zullen we deze verzameling van testbestellingen en retouren gebruiken om te kijken of er onverwachts toch ergens een fout in is geslopen.
        ◦ Oud: dit testen werd grotendeels handmatig gedaan, wat veel tijd koste en daarom wel eens werden overgeslagen als we niet verwachtten dat wijzigingen invloed hadden op het samenstellen van de factuurgegevens.

erwin-burorader

#1
Er zullen wat fouten voorkomen die niet in mijn testomgeving optraden. Ik zal dit hieronder proberen bij te houden, inclusief evt. oplossing.

De onderstaande 4 meldingen zijn nu opgelost in versie 8.0.1

Melding:
DomainException: type: not an allowed value: 0 in .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Data/AcumulusProperty.php:207
Stack trace:
#0 .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Data/AcumulusObject.php(217): Siel\Acumulus\Data\AcumulusProperty->setValue(0, 0)
#1 .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Data/AcumulusObject.php(106): Siel\Acumulus\Data\AcumulusObject->set('type', 0)
Oplossing:
Geef de instelling "Importeer klanten als" onder het kopje "Relatiebeheer" een waarde. In een volgende versie mag dit weer leeg gelaten worden waarmee de default ("Relatie") gekozen wordt.

Melding:
TypeError: Siel\Acumulus\Helpers\Countries::isNl(): Argument #1 ($countryCode) must be of type string, null given, called in .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Completors/Legacy/Completor.php on line 1531 and defined in .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Helpers/Countries.php:26
Stack trace:
#0 .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Completors/Legacy/Completor.php(1531): Siel\Acumulus\Helpers\Countries->isNl(NULL)
#1 ...
Oplossing:
Geef de instelling "Landcode" onder het kopje "Brongegevens voor het factuuradres" op het formulier "Acumulus veldverwijzingen" de volgende waarde:
    [source::getOrder()::getSource()::get_billing_country()|"NL"]

Melding:
TypeError: preg_replace(): Argument #3 ($subject) must be of type array|string, int given in .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Completors/Invoice/CompleteInvoiceNumber.php:51
Oplossing:
Je kunt 2 dingen doen om dit te voorkomen:

  • 1 Geef de instelling"Factuurnummer" onder het kopje "Uw factuurinstellingen" de waarde "Laat Acumulus het factuurnummer bepalen (aangeraden)." Dit verandert wel de nummering van de facturen in Acumulus.
  • 2 Pas het bestand "Completors/Invoice/CompleteInvoiceNumber.php" aan door regel 3 weg te halen, dat is de regel met:
        declare(strict_types=1);

Melding:
Error: Call to protected method Siel\Acumulus\Completors\Legacy\Completor::changeInvoiceToConcept() from context 'Siel\Acumulus\Completors\Legacy\CompletorInvoiceLines' in .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Completors/Legacy/CompletorInvoiceLines.php:262
Oplossing:
Pas regel 1898 van het bestand .../wp-content/plugins/acumulus/vendor/siel/acumulus/src/Completors/Legacy/Completor.php als volgt aan:
van:
    protected function changeInvoiceToConcept(&$array, string $messageKey, int $code, string ...$args): void
naar:
    public function changeInvoiceToConcept(&$array, string $messageKey, int $code, string ...$args): void

info@winkel-ondergoed.nl

Ik heb net mijn versie een update gegeven naar de nieuwste versie van wordpress en de nieuwste versie van de plugin.
bij de instellingen zie ik een aantal nieuwe opties mbt btw die ingevuld moeten worden.
Als ik deze invul en volgens op updaten druk, dan krijg ik een 403 forbidden pagina te zien en de informatie is niet opgeslagen.
Enig idee wat dit kan veroorzaken.

Ik ben ingelogd als admin, dus aan rechten kan het niet liggen.

Ik hoor het graag

erwin-burorader

#3
Die opties zijn er al even, dus je komt ws van een hele oude versie. Er zijn trouwens wel nieuwe instellingen op dit formulier: Hoofdadres en Landnaam, maar dit terzijde.

Een 403 forbidden kan ik niet verklaren. Komt die van WordPres, staat er een bericht op het scherm, bijv: Je hebt geen toestemming om deze pagina te bekijken. Zonder verdere melding komt het ws van de webserver, bijv de mod_security module wil nog wel eens te strak ingesteld worden door hosters.

Leeg de cache en probeer het opnieuw. Gaat het nog steeds fout? Wat is de url van het formulier en wat is de url van de foutpagina? Wat staat er op de foutpagina?

info@winkel-ondergoed.nl

Bedankt voor je reactie.

Ik heb de cache geleegd, maar het gaat nog steeds fout.

Url formulier: /wp-admin/options-general.php?page=acumulus_settings
url foutmelding: /wp-admin/admin.php?page=acumulus_settings
foutmelding:
Forbidden
You don't have permission to access this resource.

Ik heb bij geen enkele andere plugin dit probleem

erwin-burorader

Deze foutmelding komt (meestal) van Apache, bekijk de serverlogs om uit te vinden wat er fout gaat.

Onze plugin definieert zelf geen "capabilities" maar baseert toegang op de capabilities 'manage_options' en 'manage_woocommerce'. Als een user (een niet super administrator) die niet heeft komt er de foutmelding "You do not have sufficient permissions to access this page." (of "Je hebt onvoldoende rechten om deze pagina te bekijken."), maar in het WP kader, dus geen 403.

Ik kan je dus niet verder helpen.

info@winkel-ondergoed.nl

Bedankt voor je reactie.
Ik heb het op een andere omgeving geprobeerd en daar lukt het inderdaad wel, dus het heeft met mijn omgeving te maken op wat voor manier dan ook.

Nog 1 vraag. wat gebeurd er precies zodra ik op instelling opslaan druk?

De error is op pagina: https://huisjeboompjeboefje.nl/wp-admin/admin.php?page=acumulus_settings, maar als ik rechtsteeks naar deze url ga, dan is dat geen probleem. ik vermoed dus dat er iets fout gaat in de tijd tussen opslaan drukken de pagina zelf.

Alvast bedankt weer.

erwin-burorader

Dit versterkt mijn vermoeden dat het  een mod_security probleem op de server is. Bespreek het probleem dus met je hoster.

smithloo

bezoek onze website Professional Seo service company