Factory: service comme composant d'une fabrication

Bonjour,

je suis en train de tester Factory, et j’ai essayé de créer un produit fabriqué à partir notamment d’un service (ne me demandez pas pourquoi, je ne fais que des tests, c’est peut etre un non sens, merci de me le dire dans ce cas là !)
et j’ai alors une erreur lors d’un OF :

Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic:
Date: 20141108143142
Dolibarr: 3.6.1
Niveau de fonctionnalités: 0
PHP: 5.3.5
Server: Apache/2.2.17 (Win32) PHP/5.3.5

Url sollicitée: /dolibarr/dolibarr-3.5.4/htdocs/factory/product/fiche.php?id=13
Referer: http://127.0.0.1/dolibarr/dolibarr-3.5.4/htdocs/factory/product/fiche.php?id=13
Gestionnaire de menu: eldy_menu.php

Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: INSERT INTO llx_factorydet (fk_factory, fk_product, qty_unit, qty_planned, pmp, price, fk_mvtstockplanned) VALUES (12, 14, 1, 1, 0.00000000, 0.00000000, )
Code retour dernier accès en base en erreur: DB_ERROR_SYNTAX
Information sur le dernier accès en base en erreur: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

XDebug informations:
File: C:\wamp\www\dolibarr\dolibarr-3.5.4\htdocs\factory\class\factory.class.php
Line: 139
Function: createof_component

Est-ce dû au service ? (je n’ai pas le probleme pour une fabrication avec des produits)
merci

En effet :
Factory récupère la valeur de retour de la fonction « livraison » ( dans le fichier « htdocs/product/stock/class/mouvementstock.class.php »), et utilise cette valeur pour écrire dans la table " llx_factorydet"
mais pour un service, la fonction livraison (en fait « _create » car c’est celle ci qui fait le boulot) gère mal la valeur de retour (variable $mvid) et on recupere alors la valeur Null.
Factory ne fait pas de controle (faute !) et donc la requete SQL comporte une erreur à cause de cette valeur NULL

mais je pense que sur le principe, un service n’a rien à faire dans une fabrication (votre avis ?). Si on veut faire un produit comportant un service (de la main d’oeuvre par exemple), il faut utiliser un produit virtuel ?

merci

Effectivement je pense que la valeur retourné par la fonction livraison n’est pas correct dans le cas d’un service. De mémoire, j’avais fait un correctif dans le core pour que cela se passe mieux et mis une « rustine » dans mon code en attendant que le correctif soit diffusé.
Par contre je n’avais pas du faire de tests dans ce cas avec d’un service.
Pour ce qui est d’un service qui rentre dans une fabrication, c’est en fait tout à fait légitime si l’on souhaite comptabiliser dans le cout de fabrication du temps passé.
Je précise enfin que la fabrication et le produit virtuel sont deux notions bien différentes

OK merci
mais alors pour les services dans Factory, il y aura une correction ?

bonjour
Je profite du long week-end pour faire des tests et je n’ai pas l’anomalie décrite
d’ailleurs en regardant le mon code, j’ai bien retrouvé la rustine dont je parlais ligne 116
if ($idmv == 1 || !$idmv)
mais il est possible que ce soit lié à d’autres correctifs que j’ai réalisé entre-temps.
pouvez-vous me contacter par mail (charles point fr chez benke point fr) afin que je vous transmettre la dernière version du module afin de me dire si elle règle votre soucis