Dolibarr ERP & CRM » Bugs » bug #1406 Impossible de modifier une facture fournisseurDernières modifications
Répondre
État Détails |
Submitted by: | damien clochard (daamien) | | Submitted on: | 21/05/2014 12:41 |
Last Modified On: | 26/05/2014 15:34 | |
Summary: | Impossible de modifier une facture fournisseur |
Description: | -------------------------
Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic:
Date: 20140521123141
Dolibarr: 3.5.2
Niveau de fonctionnalités: 0
PHP: 5.4.4-14+deb7u9
Server: Apache/2.2.22 (Debian)
Url sollicitée: /fourn/facture/fiche.php?id=3761
Referer: https://erp.dalibo.info/fourn/facture/fiche.php?action="">
Gestionnaire de menu: eldy_menu.php
Type gestionnaire de base de données: pgsql
Requête dernier accès en base en erreur: UPDATE llx_facture_fourn SET ref='(PROV3761)', ref_supplier='Frais transfert etranger', entity=1, type=0, fk_soc=377, datec='2014-05-21 11:02:14', datef='2014-05-22 12:00:00', tms='2014-05-21 12:31:32', libelle='Frais tenue compte trimestriel', paye=0, amount=0.00000000, remise=0.00000000, close_code=null, close_note=null, tva=0.00000000, localtax1=null, localtax2=null, total=0.00000000, total_ht=35.00000000, total_tva=0.00000000, total_ttc=35.00000000, fk_statut=0, fk_user_author=16, fk_user_valid=null, fk_facture_source=null, fk_projet=null, fk_cond_reglement=null, date_lim_reglement=null, note_private='', note_public='', model_pdf=null, import_key=null WHERE rowid=3761
Code retour dernier accès en base en erreur: DB_ERROR_23502
Information sur le dernier accès en base en erreur: ERROR: 23502: null value in column "fk_cond_reglement" violates not-null constraint DETAIL: Failing row contains (3761, Frais transfert etranger, 1, null, 0, 377, 2014-05-21 11:02:14, 2014-05-22, 2014-05-21 12:31:41.527045, Frais tenue compte trimestriel, 0, 0.00000000, 0.00000000, null, null, 0.00000000, null, null, 0.00000000, 35.00000000, 0.00000000, 35.00000000, 0, 16, null, null, null, null, null, , , null, null, null, (PROV3761), 2). LOCATION: ExecConstraints, execMain.c:1611
Message: Error ERROR: 23502: null value in column "fk_cond_reglement" violates not-null constraint DETAIL: Failing row contains (3761, Frais transfert etranger, 1, null, 0, 377, 2014-05-21 11:02:14, 2014-05-22, 2014-05-21 12:31:41.527045, Frais tenue compte trimestriel, 0, 0.00000000, 0.00000000, null, null, 0.00000000, null, null, 0.00000000, 35.00000000, 0.00000000, 35.00000000, 0, 16, null, null, null, null, null, , , null, null, null, (PROV3761), 2). LOCATION: ExecConstraints, execMain.c:1611 |
Step to reproduce bug: | 1- créer une facture fournisseur
2- modifier un champs (par exemple la date)
3- cliquer sur modifier |
Detected in version: | 3.5.2 | | Category: | Module: Supplier Invoice |
Severity: | 9 - Blocking - Critical | | OS Type/Version: | |
PHP version: | | | Database type and version: | pgsql |
Etat |
Status: | Open | | Assigned to: | HENRY Florian (fhenry) |
Resolution: | Aucun | |
Commentaires- damien clochard 26/05/2014 15:37
I think you mean :
ALTER TABLE llx_facture_fourn ALTER COLUMN fk_mode_reglement SET DEFAULT NULL;- damien clochard 26/05/2014 15:34
These 2 lines are not compatible with PostgreSQL
The following line fix the issue:
ALTER TABLE llx_facture_fourn ALTER COLUMN fk_cond_reglement DROP NOT NULL;
- HENRY Florian 26/05/2014 15:33
- This is a know bug of transform MySQL to PgSQL (function convertSQLFromMysql of htdocs/core/db/pgsql.class.php) ALTER TABLE instruction.
This MySQL
ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_mode_reglement integer NULL;
Is not transform to convert to
ALTER TABLE llx_facture_fourn ALTER COLUMN fk_mode_reglement DROP NOT NULL;
ALTER TABLE llx_facture_fourn ALTER COLUMN fk_mode_reglement SET NULL;
- HENRY Florian 26/05/2014 15:20
- There is this script into migration from 3.4 to 3.5
ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_mode_reglement integer NULL;
ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_cond_reglement integer NULL;
So I confirm this column accept null values. I will check why this SQL request was not exected during migration with PgSQL. |
|
|
|
|
|
I think you mean :
ALTER TABLE llx_facture_fourn ALTER COLUMN fk_mode_reglement SET DEFAULT NULL;