la Table llx_product_fournisseur_price_log

dolibarr 2.6.0

Bonsoir,

à quoi sert la table llx_product_fournisseur_price_log vu que les infos stockées sont inclues dans la table llx_product_fournisseur_price ?

lors d’un import sur les prix fournisseurs , puis je me contenter d’alimenter uniquement
-llx_product_fournisseur
-llx_product_fournisseur_price
ou dois je obligatoirement alimenter les trois suivantes
- llx_product_fournisseur
- llx_product_fournisseur_price
- llx_product_fournisseur_price_log

merci .:sunglasses:

je connais pas la réponse, mais quand j’ai des doutes comme ca, je testerais en rajoutant un prix fournisseur manuellement, et voir ce que ca alimente dans les tables.

la table sert a conserver un historique des changements de prix

  CREATE TABLE IF NOT EXISTS `llx_product_fournisseur` (
  `rowid` int(11) NOT NULL AUTO_INCREMENT,
  `datec` datetime DEFAULT NULL,
  `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `fk_product` int(11) DEFAULT NULL,
  `fk_soc` int(11) DEFAULT NULL,
  `ref_fourn` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
  `fk_user_author` int(11) DEFAULT NULL,
  PRIMARY KEY (`rowid`),
  KEY `idx_product_fourn_fk_product` (`fk_product`),
  KEY `idx_product_fourn_fk_soc` (`fk_soc`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1811 ;

--
-- Contenu de la table `llx_product_fournisseur`
--

INSERT INTO `llx_product_fournisseur` ( `fk_product`, `fk_soc`, `ref_fourn`) VALUES

fk_product = rowid du produit dans la table llx_product
fk_soc = rowid dans la table llx_societe

CREATE TABLE IF NOT EXISTS `llx_product_fournisseur_price` (
  `rowid` int(11) NOT NULL AUTO_INCREMENT,
  `datec` datetime DEFAULT NULL,
  `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `fk_product_fournisseur` int(11) NOT NULL,
  `price` double(24,8) DEFAULT '0.00000000',
  `quantity` double DEFAULT NULL,
  `unitprice` double(24,8) DEFAULT '0.00000000',
  `fk_user` int(11) DEFAULT NULL,
  PRIMARY KEY (`rowid`),
  KEY `idx_product_fournisseur_price_fk_user` (`fk_user`),
  KEY `idx_product_fournisseur_price_fk_product_fournisseur` (`fk_product_fournisseur`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;

--
-- Contenu de la table `llx_product_fournisseur_price`
--

INSERT INTO `llx_product_fournisseur_price` ( `fk_product_fournisseur`, `price`, `quantity`, `unitprice`) VALUES

fk_product_fournisseur = rowid dans la table llx_product_fournisseur

  REATE TABLE IF NOT EXISTS `llx_product_fournisseur_price_log` (
  `rowid` int(11) NOT NULL AUTO_INCREMENT,
  `datec` datetime DEFAULT NULL,
  `fk_product_fournisseur` int(11) NOT NULL,
  `price` double(24,8) DEFAULT '0.00000000',
  `quantity` double DEFAULT NULL,
  `fk_user` int(11) DEFAULT NULL,
  PRIMARY KEY (`rowid`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;

--
-- Contenu de la table `llx_product_fournisseur_price_log`
--

INSERT INTO `llx_product_fournisseur_price_log` (`datec`, `fk_product_fournisseur`, `price`, `quantity`) VALUES

datec = mettre une date , car par défaut c’est null (**)
fk_product_fournisseur = rowid dans la table llx_product_fournisseur

les trois imports se sont passés sans problème :sunglasses:

(**) juste par curiosité . l’évolution des prix (dans dolibarr) est elle determinée seulement sur le rowid de llx_product_fournisseur_price_log , où a t elle besoin aussi de datec ?