module paiement.php

bonjour à tous,
j’ai installé Dolibarr 7.0.2 sur un serveur mutualisé tournant sous Php 7.1.13
aucun soucis sur l’ensemble des fonctionnalités, sauf pour le paiement des factures clients.
quand je valide la dernière étape, j’ai une error 500

retour des logs :
PHP Warning: A non-numeric value encountered in /home/XXXXX/doli-compta/compta/ajaxpayment.php on line 69
PHP Warning: A non-numeric value encountered in /home/XXXXX/doli-compta/compta/ajaxpayment.php on line 69
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function getLocalTaxesFromRate(), 3 passed in /home/XXXXX/doli-compta/core/modules/facture/doc/pdf_factures.modules.php on line 382 and at least 4 expected in /home/XXXXX/doli-compta/core/lib/functions.lib.php:4472

quelqu’un peut il m’aider ?

as-tu un printscreen?

non, juste page blanche et Http error 500
j’ai fait des tests et cela fonctionne avec php 7.0.x
mais pas sous php 7.1
il faut que je regarde pour modifier le code sur ces lignes afin des les rendre compatibles

pouvez vous m’aiguiller sur le changement à effectuer ?

Bonjour :happy:
pdf_factures.modules.php est un fichier perso ?
Je ne le vois pas dans :

oui, j’ai repris un modèle facture de base et juste retiré la génération du logo. mais l’erreur se produit aussi sur les autres modèles non modifiés

je pense que la syntaxe entre le Php7 et le 7.1 à légèrement changée.

Visiblement un souci $mysoc je pens

DSL j’étais loin de la civilisation, en effet certaines choses ont changés notamment :

Backward incompatible changes ¶
Throw on passing too few function arguments ¶
Previously, a warning would be emitted for invoking user-defined functions with too few arguments. Now, this warning has been promoted to an Error exception. This change only applies to user-defined functions, not internal functions. For example:

<?php function test($param){} test(); L'exemple ci-dessus va afficher quelque chose de similaire à : Fatal error: Uncaught ArgumentCountError: Too few arguments to function test(), 0 passed in %s on line %d and exactly 1 expected in %s:%d

c’est ce que j’ai vu comme changements.
bon maintenant il faut que je réécrive les lignes posant problème…