Version 17 form Setup, champ de type "yesno" (setAsYesNo) ne s'enregistre pas en BDD

Bonjour à tous,
je suis entrain de développer un module. Je rencontre des difficultés avec la création d’une page d’admin :
$item = $formSetup->newItem('MYPARAM1');

Tous les types de champs fonctionnent, par exemple setAsColor, mais setAsYesNo() ne fonctionne pas : la valeur n’est pas enregistrée. Je m’arrache les cheveux !

Bonjour adlmr,

Avez vous respecter cette syntaxe ?
$formSetup->newItem(‹ NomModule_Param ›)->setAsYesNo();

Si oui, avez vous essayer de refaire un autre module grâce au générateur de module ?

Bonjour PragmArnaud, c’est plus simple que ça, le champ de type yesno « ne fonctionne pas de base » :

En 17.0.1, je crée un module de test :

Je me rends dans le setup :

Je donne une valeur à chaque variable :

Toutes les valeurs sont enregistrées SAUF le PARAM 4 de type yesno :

Le debug affiche bien un DELETE pour le PARAM4 mais pas de INSERT :

SELECT transkey, transvalue FROM llx_overwrite_trans where lang='fr_FR' OR lang IS NULL AND entity IN (0, 1) ORDER BY lang DESC0.16
SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.prefix, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid0.23
DELETE FROM llx_const WHERE name = 'NO_PARAM_JUST_TEXT' AND entity = 10.36
DELETE FROM llx_const WHERE name = 'TEST1701_MYPARAM1' AND entity = 10.31
INSERT INTO llx_const(name, value, type, visible, note, entity) VALUES ('TEST1701_MYPARAM1', 'mon param 1', 'chaine', 0, '', 1)0.26
DELETE FROM llx_const WHERE name = 'TEST1701_MYPARAM2' AND entity = 10.22
INSERT INTO llx_const(name, value, type, visible, note, entity) VALUES ('TEST1701_MYPARAM2', 'mon param 2', 'chaine', 0, '', 1)0.23
DELETE FROM llx_const WHERE name = 'TEST1701_MYPARAM3' AND entity = 10.21
INSERT INTO llx_const(name, value, type, visible, note, entity) VALUES ('TEST1701_MYPARAM3', '2', 'chaine', 0, '', 1)0.2
DELETE FROM llx_const WHERE name = 'TEST1701_MYPARAM4' AND entity = 10.24

-- IL MANQUE UN INSERT ICI POUR MYPARAM4 --

DELETE FROM llx_const WHERE name = 'TEST1701_MYPARAM5' AND entity = 10.24
INSERT INTO llx_const(name, value, type, visible, note, entity) VALUES ('TEST1701_MYPARAM5', '-1', 'chaine', 0, '', 1)

Je constate le même bug en 17.0.1 et 17.0.2.
Je vais tester des versions plus anciennes.