dolibarr 19.0.3
|
Class to manage products or services. More...
Public Member Functions | |
__construct ($db) | |
Constructor. | |
check () | |
Check that ref and label are ok. | |
create ($user, $notrigger=0) | |
Insert product into database. | |
verify () | |
Check properties of product are ok (like name, barcode, ...). | |
check_barcode ($valuetotest, $typefortest) | |
Check barcode. | |
update ($id, $user, $notrigger=false, $action='update', $updatetype=false) | |
Update a record into database. | |
delete (User $user, $notrigger=0) | |
Delete a product from database (if not used) | |
setMultiLangs ($user) | |
Update or add a translation for a product. | |
delMultiLangs ($langtodelete, $user) | |
Delete a language for this product. | |
setAccountancyCode ($type, $value) | |
Sets an accountancy code for a product. | |
getMultiLangs () | |
Load array this->multilangs. | |
log_price_delete ($user, $rowid) | |
Delete a price line. | |
getSellPrice ($thirdparty_seller, $thirdparty_buyer, $pqp=0) | |
Return price of sell of a product for a seller/buyer/product. | |
get_buyprice ($prodfournprice, $qty, $product_id=0, $fourn_ref='', $fk_soc=0) | |
Read price used by a provider. | |
updatePrice ($newprice, $newpricebase, $user, $newvat='', $newminprice=0, $level=0, $newnpr=0, $newpbq=0, $ignore_autogen=0, $localtaxes_array=array(), $newdefaultvatcode='', $notrigger=0) | |
Modify customer price of a product/Service for a given level. | |
setPriceExpression ($expression_id) | |
Sets the supplier price expression. | |
fetch ($id='', $ref='', $ref_ext='', $barcode='', $ignore_expression=0, $ignore_price_load=0, $ignore_lang_load=0) | |
Load a product in memory from database. | |
load_stats_mo ($socid=0) | |
Charge tableau des stats OF pour le produit/service. | |
load_stats_bom ($socid=0) | |
Charge tableau des stats OF pour le produit/service. | |
load_stats_propale ($socid=0) | |
Charge tableau des stats propale pour le produit/service. | |
load_stats_proposal_supplier ($socid=0) | |
Charge tableau des stats propale pour le produit/service. | |
load_stats_commande ($socid=0, $filtrestatut='', $forVirtualStock=0) | |
Charge tableau des stats commande client pour le produit/service. | |
load_stats_commande_fournisseur ($socid=0, $filtrestatut='', $forVirtualStock=0, $dateofvirtualstock=null) | |
Charge tableau des stats commande fournisseur pour le produit/service. | |
load_stats_sending ($socid=0, $filtrestatut='', $forVirtualStock=0, $filterShipmentStatus='') | |
Charge tableau des stats expedition client pour le produit/service. | |
load_stats_reception ($socid=0, $filtrestatut='', $forVirtualStock=0, $dateofvirtualstock=null) | |
Charge tableau des stats réception fournisseur pour le produit/service. | |
load_stats_inproduction ($socid=0, $filtrestatut='', $forVirtualStock=0, $dateofvirtualstock=null) | |
Charge tableau des stats production pour le produit/service. | |
load_stats_contrat ($socid=0) | |
Charge tableau des stats contrat pour le produit/service. | |
load_stats_facture ($socid=0) | |
Charge tableau des stats facture pour le produit/service. | |
load_stats_facturerec ($socid=0) | |
Charge tableau des stats facture recurrentes pour le produit/service. | |
load_stats_facture_fournisseur ($socid=0) | |
Charge tableau des stats facture pour le produit/service. | |
get_nb_vente ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units or customers invoices in which product is included. | |
get_nb_achat ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units or supplier invoices in which product is included. | |
get_nb_propal ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units in proposals in which product is included. | |
get_nb_propalsupplier ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units in proposals in which product is included. | |
get_nb_order ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units in orders in which product is included. | |
get_nb_ordersupplier ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units in orders in which product is included. | |
get_nb_contract ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units in orders in which product is included. | |
get_nb_mos ($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') | |
Return nb of units in orders in which product is included. | |
add_sousproduit ($id_pere, $id_fils, $qty, $incdec=1, $notrigger=0) | |
Link a product/service to a parent product/service. | |
update_sousproduit ($id_pere, $id_fils, $qty, $incdec=1, $notrigger=0) | |
Modify composed product. | |
del_sousproduit ($fk_parent, $fk_child, $notrigger=0) | |
Remove a link between a subproduct and a parent product/service. | |
is_sousproduit ($fk_parent, $fk_child) | |
Check if it is a sub-product into a kit. | |
add_fournisseur ($user, $id_fourn, $ref_fourn, $quantity) | |
Add a supplier price for the product. | |
list_suppliers () | |
Return list of suppliers providing the product or service. | |
clone_price ($fromId, $toId) | |
Recopie les prix d'un produit/service sur un autre. | |
clone_associations ($fromId, $toId) | |
Clone links between products. | |
clone_fournisseurs ($fromId, $toId) | |
Recopie les fournisseurs et prix fournisseurs d'un produit/service sur un autre. | |
fetch_prod_arbo ($prod, $compl_path='', $multiply=1, $level=1, $id_parent=0, $ignore_stock_load=0) | |
Function recursive, used only by get_arbo_each_prod(), to build tree of subproducts into ->res Define value of this->res. | |
get_arbo_each_prod ($multiply=1, $ignore_stock_load=0) | |
Build the tree of subproducts and return it. | |
hasFatherOrChild ($mode=0) | |
Count all parent and children products for current product (first level only) | |
hasVariants () | |
Return if a product has variants or not. | |
isVariant () | |
Return if loaded product is a variant. | |
getFather () | |
Return all parent products for current product (first level only) | |
getChildsArbo ($id, $firstlevelonly=0, $level=1, $parents=array()) | |
Return childs of product $id. | |
get_sousproduits_arbo () | |
getTooltipContentArray ($params) | |
getTooltipContentArray | |
getNomUrl ($withpicto=0, $option='', $maxlength=0, $save_lastsearch_value=-1, $notooltip=0, $morecss='', $add_label=0, $sep=' - ') | |
Return clickable link of object (with eventually picto) | |
generateDocument ($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) | |
Create a document onto disk according to template module. | |
getLibStatut ($mode=0, $type=0) | |
Return label of status of object. | |
LibStatut ($status, $mode=0, $type=0) | |
Return label of a given status. | |
getLibFinished () | |
Retour label of nature of product. | |
correct_stock ($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $inventorycode='', $origin_element='', $origin_id=null, $disablestockchangeforsubproduct=0, $extrafields=null) | |
Adjust stock in a warehouse for product. | |
correct_stock_batch ($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='', $lot='', $inventorycode='', $origin_element='', $origin_id=null, $disablestockchangeforsubproduct=0, $extrafields=null, $force_update_batch=false) | |
Adjust stock in a warehouse for product with batch number. | |
load_stock ($option='', $includedraftpoforvirtual=null, $dateofvirtualstock=null) | |
Load information about stock of a product into ->stock_reel, ->stock_warehouse[] (including stock_warehouse[idwarehouse]->detail_batch for batch products) This function need a lot of load. | |
load_virtual_stock ($includedraftpoforvirtual=null, $dateofvirtualstock=null) | |
Load value ->stock_theorique of a product. | |
loadBatchInfo ($batch) | |
Load existing information about a serial. | |
add_photo ($sdir, $file) | |
Move an uploaded file described into $file array into target directory $sdir. | |
is_photo_available ($sdir) | |
Return if at least one photo is available. | |
liste_photos ($dir, $nbmax=0) | |
Return an array with all photos of product found on disk. | |
delete_photo ($file) | |
Delete a photo and its thumbs. | |
get_image_size ($file) | |
Load size of image file. | |
load_state_board () | |
Load indicators this->nb for the dashboard. | |
isProduct () | |
Return if object is a product. | |
isService () | |
Return if object is a product. | |
isStockManaged () | |
Return if object need to have its stock managed. | |
isMandatoryPeriod () | |
Return if object have a constraint on mandatory_period. | |
hasbatch () | |
Return if object has a sell-by date or eat-by date. | |
get_barcode ($object, $type='') | |
Get a barcode from the module to generate barcode values. | |
initAsSpecimen () | |
Initialise an instance with random values. | |
getLabelOfUnit ($type='long') | |
Returns the text label from units dictionary. | |
min_recommended_price () | |
Return minimum product recommended price. | |
setCategories ($categories) | |
Sets object to supplied categories. | |
generateMultiprices (User $user, $baseprice, $price_type, $price_vat, $npr, $psq) | |
Generates prices for a product based on product multiprice generation rules. | |
getRights () | |
Returns the rights used for this class. | |
info ($id) | |
Load information for tab info. | |
getProductDurationHours () | |
Return the duration in Hours of a service base on duration fields. | |
getKanbanView ($option='', $arraydata=null) | |
Return clicable link of object (with eventually picto) | |
Public Member Functions inherited from CommonObject | |
setErrorsFromObject ($object) | |
setErrorsFromObject | |
getTooltipContent ($params) | |
getTooltipContent | |
errorsToString () | |
Method to output saved errors. | |
getFormatedCustomerRef ($objref) | |
Return customer ref for screen output. | |
getFormatedSupplierRef ($objref) | |
Return supplier ref for screen output. | |
getFullAddress ($withcountry=0, $sep="\n", $withregion=0, $extralangcode='') | |
Return full address of contact. | |
getLastMainDocLink ($modulepart, $initsharekey=0, $relativelink=0) | |
Return the link of last main doc file for direct public download. | |
add_contact ($fk_socpeople, $type_contact, $source='external', $notrigger=0) | |
Add a link between element $this->element and a contact. | |
copy_linked_contact ($objFrom, $source='internal') | |
Copy contact from one element to current. | |
update_contact ($rowid, $statut, $type_contact_id=0, $fk_socpeople=0) | |
Update a link to contact line. | |
delete_contact ($rowid, $notrigger=0) | |
Delete a link to contact line. | |
delete_linked_contact ($source='', $code='') | |
Delete all links between an object $this and all its contacts in llx_element_contact. | |
liste_contact ($statusoflink=-1, $source='external', $list=0, $code='', $status=-1, $arrayoftcids=array()) | |
Get array of all contacts for an object. | |
swapContactStatus ($rowid) | |
Update status of a contact linked to object. | |
liste_type_contact ($source='internal', $order='position', $option=0, $activeonly=0, $code='') | |
Return array with list of possible values for type of contacts. | |
listeTypeContacts ($source='internal', $option=0, $activeonly=0, $code='', $element='', $excludeelement='') | |
Return array with list of possible values for type of contacts. | |
getIdContact ($source, $code, $status=0) | |
Return id of contacts for a source and a contact code. | |
fetch_contact ($contactid=null) | |
Load object contact with id=$this->contact_id into $this->contact. | |
fetch_thirdparty ($force_thirdparty_id=0) | |
Load the third party of object, from id $this->socid or $this->fk_soc, into this->thirdparty. | |
fetchOneLike ($ref) | |
Looks for an object with ref matching the wildcard provided It does only work when $this->table_ref_field is set. | |
fetch_barcode () | |
Load data for barcode into properties ->barcode_type* Properties ->barcode_type that is id of barcode. | |
fetch_project () | |
Load the project with id $this->fk_project into this->project. | |
fetch_projet () | |
Load the project with id $this->fk_project into this->project. | |
fetch_product () | |
Load the product with id $this->fk_product into this->product. | |
fetch_user ($userid) | |
Load the user with id $userid into this->user. | |
fetch_origin () | |
Read linked origin object. | |
fetchObjectFrom ($table, $field, $key, $element=null) | |
Load object from specific field. | |
getValueFrom ($table, $id, $field) | |
Getter generic. | |
setValueFrom ($field, $value, $table='', $id=null, $format='', $id_field='', $fuser=null, $trigkey='', $fk_user_field='fk_user_modif') | |
Setter generic. | |
load_previous_next_ref ($filter, $fieldid, $nodbprefix=0) | |
Load properties id_previous and id_next by comparing $fieldid with $this->ref. | |
getListContactId ($source='external') | |
Return list of id of contacts of object. | |
setProject ($projectid, $notrigger=0) | |
Link element with a project. | |
setPaymentMethods ($id) | |
Change the payments methods. | |
setMulticurrencyCode ($code) | |
Change the multicurrency code. | |
setPaymentTerms ($id, $deposit_percent=null) | |
Change the payments terms. | |
setTransportMode ($id) | |
Change the transport mode methods. | |
setRetainedWarrantyPaymentTerms ($id) | |
Change the retained warranty payments terms. | |
setDeliveryAddress ($id) | |
Define delivery address. | |
setShippingMethod ($shipping_method_id, $notrigger=false, $userused=null) | |
Change the shipping method. | |
setWarehouse ($warehouse_id) | |
Change the warehouse. | |
setDocModel ($user, $modelpdf) | |
Set last model used by doc generator. | |
setBankAccount ($fk_account, $notrigger=false, $userused=null) | |
Change the bank account. | |
line_order ($renum=false, $rowidorder='ASC', $fk_parent_line=true) | |
Save a new position (field rang) for details lines. | |
getChildrenOfLine ($id, $includealltree=0) | |
Get children of line. | |
line_up ($rowid, $fk_parent_line=true) | |
Update a line to have a lower rank. | |
line_down ($rowid, $fk_parent_line=true) | |
Update a line to have a higher rank. | |
updateRangOfLine ($rowid, $rang) | |
Update position of line (rang) | |
line_ajaxorder ($rows) | |
Update position of line with ajax (rang) | |
updateLineUp ($rowid, $rang) | |
Update position of line up (rang) | |
updateLineDown ($rowid, $rang, $max) | |
Update position of line down (rang) | |
getRangOfLine ($rowid) | |
Get position of line (rang) | |
getIdOfLine ($rang) | |
Get rowid of the line relative to its position. | |
line_max ($fk_parent_line=0) | |
Get max value used for position of line (rang) | |
update_ref_ext ($ref_ext) | |
Update external ref of element. | |
update_note ($note, $suffix='', $notrigger=0) | |
Update note of element. | |
update_note_public ($note) | |
Update public note (kept for backward compatibility) | |
update_price ($exclspec=0, $roundingadjust='none', $nodatabaseupdate=0, $seller=null) | |
Update total_ht, total_ttc, total_vat, total_localtax1, total_localtax2 for an object (sum of lines). | |
add_object_linked ($origin=null, $origin_id=null, $f_user=null, $notrigger=0) | |
Add an object link into llx_element_element. | |
fetchObjectLinked ($sourceid=null, $sourcetype='', $targetid=null, $targettype='', $clause='OR', $alsosametype=1, $orderby='sourcetype', $loadalsoobjects=1) | |
Fetch array of objects linked to current object (object of enabled modules only). | |
clearObjectLinkedCache () | |
Clear the cache saying that all linked object were already loaded. | |
updateObjectLinked ($sourceid=null, $sourcetype='', $targetid=null, $targettype='', $f_user=null, $notrigger=0) | |
Update object linked of a current object. | |
deleteObjectLinked ($sourceid=null, $sourcetype='', $targetid=null, $targettype='', $rowid=0, $f_user=null, $notrigger=0) | |
Delete all links between an object $this. | |
setStatut ($status, $elementId=null, $elementType='', $trigkey='', $fieldstatus='fk_statut') | |
Set status of an object. | |
getCanvas ($id=0, $ref='') | |
Load type of canvas of an object if it exists. | |
getSpecialCode ($lineid) | |
Get special code of a line. | |
isObjectUsed ($id=0, $entity=0) | |
Function to check if an object is used by others (by children). | |
hasProductsOrServices ($predefined=-1) | |
Function to say how many lines object contains. | |
getTotalDiscount () | |
Function that returns the total amount HT of discounts applied for all lines. | |
getTotalWeightVolume () | |
Return into unit=0, the calculated total of weight and volume of all lines * qty Calculate by adding weight and volume of each product line, so properties ->volume/volume_units/weight/weight_units must be loaded on line. | |
setExtraParameters () | |
Set extra parameters. | |
formAddObjectLine ($dateSelector, $seller, $buyer, $defaulttpldir='/core/tpl') | |
Show add free and predefined products/services form. | |
printObjectLines ($action, $seller, $buyer, $selected=0, $dateSelector=0, $defaulttpldir='/core/tpl') | |
Return HTML table for object lines TODO Move this into an output class file (htmlline.class.php) If lines are into a template, title must also be into a template But for the moment we don't know if it's possible as we keep a method available on overloaded objects. | |
printObjectLine ($action, $line, $var, $num, $i, $dateSelector, $seller, $buyer, $selected=0, $extrafields=null, $defaulttpldir='/core/tpl') | |
Return HTML content of a detail line TODO Move this into an output class file (htmlline.class.php) | |
printOriginLinesList ($restrictlist='', $selectedLines=array()) | |
Return HTML table table of source object lines TODO Move this and previous function into output html class file (htmlline.class.php). | |
printOriginLine ($line, $var, $restrictlist='', $defaulttpldir='/core/tpl', $selectedLines=array()) | |
Return HTML with a line of table array of source object lines TODO Move this and previous function into output html class file (htmlline.class.php). | |
add_element_resource ($resource_id, $resource_type, $busy=0, $mandatory=0) | |
Add resources to the current object : add entry into llx_element_resources Need $this->element & $this->id. | |
delete_resource ($rowid, $element, $notrigger=0) | |
Delete a link to resource line. | |
__clone () | |
Overwrite magic function to solve problem of cloning object that are kept as references. | |
indexFile ($destfull, $update_main_doc_field) | |
Index a file into the ECM database. | |
addThumbs ($file) | |
Build thumb. | |
delThumbs ($file) | |
Delete thumbs. | |
getDefaultCreateValueFor ($fieldname, $alternatevalue=null, $type='alphanohtml') | |
Return the default value to use for a field when showing the create form of object. | |
call_trigger ($triggerName, $user) | |
Call trigger based on this instance. | |
fetchValuesForExtraLanguages () | |
Function to get alternative languages of a data into $this->array_languages This method is NOT called by method fetch of objects but must be called separately. | |
setValuesForExtraLanguages ($onlykey='') | |
Fill array_options property of object by extrafields value (using for data sent by forms) | |
fetchNoCompute ($id) | |
Function to make a fetch but set environment to avoid to load computed values before. | |
fetch_optionals ($rowid=null, $optionsArray=null) | |
Function to get extra fields of an object into $this->array_options This method is in most cases called by method fetch of objects but you can call it separately. | |
deleteExtraFields () | |
Delete all extra fields values for the current object. | |
insertExtraFields ($trigger='', $userused=null) | |
Add/Update all extra fields values for the current object. | |
insertExtraLanguages ($trigger='', $userused=null) | |
Add/Update all extra fields values for the current object. | |
updateExtraField ($key, $trigger=null, $userused=null) | |
Update 1 extra field value for the current object. | |
updateExtraLanguages ($key, $trigger=null, $userused=null) | |
Update an extra language value for the current object. | |
showInputField ($val, $key, $value, $moreparam='', $keysuffix='', $keyprefix='', $morecss=0, $nonewbutton=0) | |
Return HTML string to put an input field into a page Code very similar with showInputField of extra fields. | |
clearFieldError ($fieldKey) | |
clear validation message result for a field | |
setFieldError ($fieldKey, $msg='') | |
set validation error message a field | |
getFieldError ($fieldKey) | |
get field error message | |
validateField ($fields, $fieldKey, $fieldValue) | |
Return validation test result for a field. | |
showOptionals ($extrafields, $mode='view', $params=null, $keysuffix='', $keyprefix='', $onetrtd='', $display_type='card') | |
Function to show lines of extrafields with output datas. | |
getJSListDependancies ($type='_extra') | |
defineBuyPrice ($unitPrice=0.0, $discountPercent=0.0, $fk_product=0) | |
Get buy price to use for margin calculation. | |
show_photos ($modulepart, $sdir, $size=0, $nbmax=0, $nbbyrow=5, $showfilename=0, $showaction=0, $maxHeight=120, $maxWidth=160, $nolink=0, $overwritetitle=0, $usesharelink=0, $cache='', $addphotorefcss='photoref') | |
Show photos of an object (nbmax maximum), into several columns. | |
isDate ($info) | |
Function test if type is date. | |
isDuration ($info) | |
Function test if type is duration. | |
isInt ($info) | |
Function test if type is integer. | |
isFloat ($info) | |
Function test if type is float. | |
isText ($info) | |
Function test if type is text. | |
setVarsFromFetchObj (&$obj) | |
Function to load data from a SQL pointer into properties of current object $this. | |
emtpyObjectVars () | |
Sets all object fields to null. | |
getFieldList ($alias='', $excludefields=array()) | |
Function to concat keys of fields. | |
createCommon (User $user, $notrigger=false) | |
Create object into database. | |
fetchCommon ($id, $ref=null, $morewhere='', $noextrafields=0) | |
Load object in memory from the database. | |
fetchLinesCommon ($morewhere='', $noextrafields=0) | |
Load object in memory from the database. | |
updateCommon (User $user, $notrigger=false) | |
Update object into database. | |
deleteCommon (User $user, $notrigger=false, $forcechilddeletion=0) | |
Delete object in database. | |
deleteByParentField ($parentId=0, $parentField='', $filter=array(), $filtermode="AND") | |
Delete all child object from a parent ID. | |
deleteLineCommon (User $user, $idline, $notrigger=false) | |
Delete a line of object in database. | |
setStatusCommon ($user, $status, $notrigger=0, $triggercode='') | |
Set to a status. | |
initAsSpecimenCommon () | |
Initialise object with example values Id must be 0 if object instance is a specimen. | |
fetchComments () | |
Load comments linked with current task. | |
getNbComments () | |
Return nb comments already posted. | |
trimParameters ($parameters) | |
Trim object parameters. | |
getCategoriesCommon ($type_categ) | |
Sets object to given categories. | |
setCategoriesCommon ($categories, $type_categ='', $remove_existing=true) | |
Sets object to given categories. | |
cloneCategories ($fromId, $toId, $type='') | |
Copy related categories to another object. | |
deleteEcmFiles ($mode=0) | |
Delete related files of object in database. | |
Static Public Member Functions | |
static | replaceThirdparty (DoliDB $dbs, $origin_id, $dest_id) |
Function used to replace a thirdparty id with another one. | |
Static Public Member Functions inherited from CommonObject | |
static | isExistingObject ($element, $id, $ref='', $ref_ext='') |
Check an object id/ref exists If you don't need/want to instantiate object and just need to know if object exists, use this method instead of fetch. | |
static | getAllItemsLinkedByObjectID ($fk_object_where, $field_select, $field_where, $table_element) |
Function used to get an array with all items linked to an object id in association table. | |
static | getCountOfItemsLinkedByObjectID ($fk_object_where, $field_where, $table_element) |
Count items linked to an object id in association table. | |
static | deleteAllItemsLinkedByObjectID ($fk_object_where, $field_where, $table_element) |
Function used to remove all items linked to an object id in association table. | |
static | commonReplaceThirdparty (DoliDB $dbs, $origin_id, $dest_id, array $tables, $ignoreerrors=0) |
Function used to replace a thirdparty id with another one. | |
static | commonReplaceProduct (DoliDB $dbs, $origin_id, $dest_id, array $tables, $ignoreerrors=0) |
Function used to replace a product id with another one. | |
Public Attributes | |
$libelle | |
$multiprices = array() | |
Arrays for multiprices. | |
$price_by_qty | |
Price by quantity arrays. | |
$multilangs = array() | |
Array for multilangs. | |
$default_vat_code | |
Default VAT code for product (link to code into llx_c_tva but without foreign keys) | |
$tva_tx | |
Default VAT rate of product. | |
$tva_npr = 0 | |
int French VAT NPR is used (0 or 1) | |
$remise_percent | |
Default discount percent. | |
$localtax1_tx | |
Other local taxes. | |
$pmp | |
Average price value for product entry into stock (PMP) | |
$desiredstock = 0 | |
Ask for replenishment when $desiredstock < $stock_reel. | |
$duration_value | |
Service expiration. | |
$duration_unit | |
Serivce expiration unit. | |
$duration | |
Service expiration label (value + unit) | |
$fk_default_workstation | |
Service Workstation. | |
$weight | |
Metric of products. | |
$imgWidth | |
Size of image. | |
$product_fourn_id | |
Id du fournisseur. | |
$product_id_already_linked | |
Product ID already linked to a reference supplier. | |
$stock_warehouse = array() | |
Contains detail of stock of product into each warehouse. | |
$ref_fourn | |
$res | |
Path of subproducts. | |
const | TYPE_PRODUCT = 0 |
Regular product. | |
const | TYPE_SERVICE = 1 |
Service. | |
const | SELL_OR_EAT_BY_MANDATORY_ID_NONE = 0 |
Const sell or eat by mandatory id. | |
Public Attributes inherited from CommonObject | |
$fk_projet | |
$expedition | |
$livraison | |
$commandeFournisseur | |
$note | |
$date_modification | |
Protected Attributes | |
$table_ref_field = 'ref' | |
{} | |
Private Member Functions | |
getArrayForPriceCompare ($level=0) | |
used to check if price have really change to avoid log pollution | |
_log_price ($user, $level=0) | |
Insert a track that we changed a customer price. | |
_get_stats ($sql, $mode, $year=0) | |
Return an array formated for showing graphs. | |
Additional Inherited Members | |
Protected Member Functions inherited from CommonObject | |
commonGenerateDocument ($modelspath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams=null) | |
Common function for all objects extending CommonObject for generating documents. | |
isArray ($info) | |
Function test if type is array. | |
canBeNull ($info) | |
Function test if field can be null. | |
isForcedToNullIfZero ($info) | |
Function test if field is forced to null if zero or empty. | |
isIndex ($info) | |
Function test if is indexed. | |
setSaveQuery () | |
Function to return the array of data key-value from the ->fields and all the ->properties of an object. | |
quote ($value, $fieldsentry) | |
Add quote to field value if necessary. | |
Class to manage products or services.
Definition at line 48 of file product.class.php.
Product::__construct | ( | $db | ) |
|
private |
Return an array formated for showing graphs.
string | $sql | Request to execute |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $year | Year (0=current year, -1=all years) |
Definition at line 3849 of file product.class.php.
References dol_mktime(), dol_print_date(), dol_strlen(), and dol_trunc().
Referenced by get_nb_achat(), get_nb_contract(), get_nb_mos(), get_nb_order(), get_nb_ordersupplier(), get_nb_propal(), get_nb_propalsupplier(), and get_nb_vente().
|
private |
Insert a track that we changed a customer price.
Definition at line 1900 of file product.class.php.
References $tva_npr, dol_now(), dol_print_error(), dol_syslog(), price(), price2num(), and status.
Referenced by create(), and updatePrice().
Product::add_fournisseur | ( | $user, | |
$id_fourn, | |||
$ref_fourn, | |||
$quantity ) |
Add a supplier price for the product.
Note: Duplicate ref is accepted for different quantity only, or for different companies.
User | $user | User that make link |
int | $id_fourn | Supplier id |
string | $ref_fourn | Supplier ref |
float | $quantity | Quantity minimum for price |
Definition at line 4579 of file product.class.php.
References $ref_fourn, dol_now(), dol_syslog(), and price2num().
Product::add_photo | ( | $sdir, | |
$file ) |
Move an uploaded file described into $file array into target directory $sdir.
string | $sdir | Target directory |
string | $file | Array of file info of file to upload: array('name'=>..., 'tmp_name'=>...) |
Definition at line 5916 of file product.class.php.
References CommonObject\addThumbs(), dol_mkdir(), dol_move_uploaded_file(), dol_osencode(), getDolGlobalInt(), and ref.
Product::add_sousproduit | ( | $id_pere, | |
$id_fils, | |||
$qty, | |||
$incdec = 1, | |||
$notrigger = 0 ) |
Link a product/service to a parent product/service.
int | $id_pere | Id of parent product/service |
int | $id_fils | Id of child product/service |
int | $qty | Quantity |
int | $incdec | 1=Increase/decrease stock of child when parent stock increase/decrease |
int | $notrigger | Disable triggers |
Definition at line 4351 of file product.class.php.
References CommonObject\call_trigger(), del_sousproduit(), dol_print_error(), dol_syslog(), and price2num().
Product::check | ( | ) |
Check that ref and label are ok.
Definition at line 625 of file product.class.php.
References dol_sanitizeFileName(), dol_strlen(), getDolGlobalInt(), and ref.
Product::check_barcode | ( | $valuetotest, | |
$typefortest ) |
Check barcode.
string | $valuetotest | Value to test |
string | $typefortest | Type of barcode (ISBN, EAN, ...) |
Definition at line 1015 of file product.class.php.
References $res, dol_include_once(), dol_syslog(), and getDolGlobalString().
Referenced by verify().
Product::clone_associations | ( | $fromId, | |
$toId ) |
Clone links between products.
Definition at line 4794 of file product.class.php.
References dol_syslog().
Product::clone_fournisseurs | ( | $fromId, | |
$toId ) |
Recopie les fournisseurs et prix fournisseurs d'un produit/service sur un autre.
int | $fromId | Id produit source |
int | $toId | Id produit cible |
Definition at line 4821 of file product.class.php.
References dol_now(), and dol_syslog().
Product::clone_price | ( | $fromId, | |
$toId ) |
Recopie les prix d'un produit/service sur un autre.
int | $fromId | Id product source |
int | $toId | Id product target |
Definition at line 4708 of file product.class.php.
References dol_now(), and dol_syslog().
Product::correct_stock | ( | $user, | |
$id_entrepot, | |||
$nbpiece, | |||
$movement, | |||
$label = '', | |||
$price = 0, | |||
$inventorycode = '', | |||
$origin_element = '', | |||
$origin_id = null, | |||
$disablestockchangeforsubproduct = 0, | |||
$extrafields = null ) |
Adjust stock in a warehouse for product.
User | $user | user asking change |
int | $id_entrepot | id of warehouse |
double | $nbpiece | nb of units (should be always positive, use $movement to decide if we add or remove) |
int | $movement | 0 = add, 1 = remove |
string | $label | Label of stock movement |
double | $price | Unit price HT of product, used to calculate average weighted price (PMP in french). If 0, average weighted price is not changed. |
string | $inventorycode | Inventory code |
string | $origin_element | Origin element type |
int | $origin_id | Origin id of element |
int | $disablestockchangeforsubproduct | Disable stock change for sub-products of kit (usefull only if product is a subproduct) |
Extrafields | $extrafields | Array of extrafields |
Definition at line 5569 of file product.class.php.
Referenced by update().
Product::correct_stock_batch | ( | $user, | |
$id_entrepot, | |||
$nbpiece, | |||
$movement, | |||
$label = '', | |||
$price = 0, | |||
$dlc = '', | |||
$dluo = '', | |||
$lot = '', | |||
$inventorycode = '', | |||
$origin_element = '', | |||
$origin_id = null, | |||
$disablestockchangeforsubproduct = 0, | |||
$extrafields = null, | |||
$force_update_batch = false ) |
Adjust stock in a warehouse for product with batch number.
User | $user | user asking change |
int | $id_entrepot | id of warehouse |
double | $nbpiece | nb of units (should be always positive, use $movement to decide if we add or remove) |
int | $movement | 0 = add, 1 = remove |
string | $label | Label of stock movement |
double | $price | Price to use for stock eval |
integer | $dlc | eat-by date |
integer | $dluo | sell-by date |
string | $lot | Lot number |
string | $inventorycode | Inventory code |
string | $origin_element | Origin element type |
int | $origin_id | Origin id of element |
int | $disablestockchangeforsubproduct | Disable stock change for sub-products of kit (usefull only if product is a subproduct) |
Extrafields | $extrafields | Array of extrafields |
boolean | $force_update_batch | Force update batch |
Definition at line 5632 of file product.class.php.
Referenced by update().
Product::create | ( | $user, | |
$notrigger = 0 ) |
Insert product into database.
Definition at line 656 of file product.class.php.
References _log_price(), CommonObject\call_trigger(), dol_include_once(), dol_now(), dol_sanitizeFileName(), dol_string_nospecial(), dol_strlen(), dol_syslog(), get_barcode(), getDolGlobalInt(), getDolGlobalString(), price(), price2num(), ref, status, type, update(), and verify().
Product::del_sousproduit | ( | $fk_parent, | |
$fk_child, | |||
$notrigger = 0 ) |
Remove a link between a subproduct and a parent product/service.
int | $fk_parent | Id of parent product (child will no more be linked to it) |
int | $fk_child | Id of child product |
int | $notrigger | Disable triggers |
Definition at line 4476 of file product.class.php.
References CommonObject\call_trigger(), dol_print_error(), and dol_syslog().
Referenced by add_sousproduit().
Product::delete | ( | User | $user, |
$notrigger = 0 ) |
Delete a product from database (if not used)
Definition at line 1465 of file product.class.php.
References $res, CommonObject\call_trigger(), CommonObject\deleteEcmFiles(), CommonObject\deleteExtraFields(), dol_delete_dir_recursive(), dol_sanitizeFileName(), dol_syslog(), User\hasRight(), CommonObject\isObjectUsed(), ref, type, TYPE_PRODUCT, and TYPE_SERVICE.
Product::delete_photo | ( | $file | ) |
Delete a photo and its thumbs.
string | $file | Path to image file |
Definition at line 6064 of file product.class.php.
References dol_delete_file(), and dol_osencode().
Product::delMultiLangs | ( | $langtodelete, | |
$user ) |
Delete a language for this product.
string | $langtodelete | Language code to delete |
User | $user | Object user making delete |
Definition at line 1735 of file product.class.php.
References CommonObject\call_trigger(), and dol_syslog().
Product::fetch | ( | $id = '', | |
$ref = '', | |||
$ref_ext = '', | |||
$barcode = '', | |||
$ignore_expression = 0, | |||
$ignore_price_load = 0, | |||
$ignore_lang_load = 0 ) |
Load a product in memory from database.
int | $id | Id of product/service to load |
string | $ref | Ref of product/service to load |
string | $ref_ext | Ref ext of product/service to load |
string | $barcode | Barcode of product/service to load |
int | $ignore_expression | When module dynamicprices is on, ignores the math expression for calculating price and uses the db value instead |
int | $ignore_price_load | Load product without loading $this->multiprices... array (when we are sure we don't need them) |
int | $ignore_lang_load | Load product without loading $this->multilangs language arrays (when we are sure we don't need them) |
French VAT NPR
Local taxes
Definition at line 2463 of file product.class.php.
References description, dol_strlen(), dol_syslog(), CommonObject\fetch_optionals(), getCountry(), getDolGlobalInt(), getDolGlobalString(), getMultiLangs(), price(), price2num(), ref, status, and type.
Product::fetch_prod_arbo | ( | $prod, | |
$compl_path = '', | |||
$multiply = 1, | |||
$level = 1, | |||
$id_parent = 0, | |||
$ignore_stock_load = 0 ) |
Function recursive, used only by get_arbo_each_prod(), to build tree of subproducts into ->res Define value of this->res.
array | $prod | Products array |
string | $compl_path | Directory path of parents to add before |
int | $multiply | Because each sublevel must be multiplicated by parent nb |
int | $level | Init level |
int | $id_parent | Id parent |
int | $ignore_stock_load | Ignore stock load |
Definition at line 4872 of file product.class.php.
References fetch_prod_arbo(), and getDolGlobalString().
Referenced by fetch_prod_arbo(), and get_arbo_each_prod().
Product::generateDocument | ( | $modele, | |
$outputlangs, | |||
$hidedetails = 0, | |||
$hidedesc = 0, | |||
$hideref = 0 ) |
Create a document onto disk according to template module.
string | $modele | Force model to use ('' to not force) |
Translate | $outputlangs | Object langs to use for output |
int | $hidedetails | Hide details of lines |
int | $hidedesc | Hide description |
int | $hideref | Hide ref |
Definition at line 5403 of file product.class.php.
References CommonObject\commonGenerateDocument(), dol_strlen(), and getDolGlobalString().
Product::generateMultiprices | ( | User | $user, |
$baseprice, | |||
$price_type, | |||
$price_vat, | |||
$npr, | |||
$psq ) |
Generates prices for a product based on product multiprice generation rules.
User | $user | User that updates the prices |
float | $baseprice | Base price |
string | $price_type | Base price type |
float | $price_vat | VAT % tax |
int | $npr | NPR |
string | $psq | ¿? |
Definition at line 6392 of file product.class.php.
References getDolGlobalInt(), and updatePrice().
Referenced by updatePrice().
Product::get_arbo_each_prod | ( | $multiply = 1, | |
$ignore_stock_load = 0 ) |
Build the tree of subproducts and return it.
this->sousprods must have been loaded by this->get_sousproduits_arbo()
int | $multiply | Because each sublevel must be multiplicated by parent nb |
int | $ignore_stock_load | Ignore stock load |
Definition at line 4936 of file product.class.php.
References $res, and fetch_prod_arbo().
Product::get_barcode | ( | $object, | |
$type = '' ) |
Get a barcode from the module to generate barcode values.
Return value is stored into this->barcode
Product | $object | Object product or service |
string | $type | Barcode type (ean, isbn, ...) |
Definition at line 6209 of file product.class.php.
References $res, dol_include_once(), dol_syslog(), and getDolGlobalString().
Product::get_buyprice | ( | $prodfournprice, | |
$qty, | |||
$product_id = 0, | |||
$fourn_ref = '', | |||
$fk_soc = 0 ) |
Read price used by a provider.
We enter as input couple prodfournprice/qty or triplet qty/product_id/fourn_ref. This also set some properties on product like ->buyprice, ->fourn_pu, ...
int | $prodfournprice | Id du tarif = rowid table product_fournisseur_price |
double | $qty | Quantity asked or -1 to get first entry found |
int | $product_id | Filter on a particular product id |
string | $fourn_ref | Filter on a supplier price ref. 'none' to exclude ref in search. |
int | $fk_soc | If of supplier |
Definition at line 2090 of file product.class.php.
References dol_syslog(), and getDolGlobalString().
Product::get_image_size | ( | $file | ) |
Load size of image file.
string | $file | Path to file |
Definition at line 6098 of file product.class.php.
References dol_osencode().
Product::get_nb_achat | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units or supplier invoices in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 3981 of file product.class.php.
References _get_stats().
Product::get_nb_contract | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units in orders in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 4243 of file product.class.php.
References _get_stats().
Product::get_nb_mos | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units in orders in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 4298 of file product.class.php.
References _get_stats().
Product::get_nb_order | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units in orders in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 4139 of file product.class.php.
References _get_stats().
Product::get_nb_ordersupplier | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units in orders in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 4191 of file product.class.php.
References _get_stats().
Product::get_nb_propal | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units in proposals in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities, 'byamount'=amount |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 4034 of file product.class.php.
References _get_stats().
Product::get_nb_propalsupplier | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units in proposals in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 4086 of file product.class.php.
References _get_stats().
Product::get_nb_vente | ( | $socid, | |
$mode, | |||
$filteronproducttype = -1, | |||
$year = 0, | |||
$morefilter = '' ) |
Return nb of units or customers invoices in which product is included.
int | $socid | Limit count on a particular third party id |
string | $mode | 'byunit'=number of unit, 'bynumber'=nb of entities |
int | $filteronproducttype | 0=To filter on product only, 1=To filter on services only |
int | $year | Year (0=last 12 month, -1=all years) |
string | $morefilter | More sql filters |
Definition at line 3927 of file product.class.php.
References _get_stats().
Product::get_sousproduits_arbo | ( | ) |
Return tree of all subproducts for product. Tree contains array of array(0=prodid, 1=>qty, 2=>product type, 3=>label, 4=>incdec, 5=>product ref) Set this->sousprods
Definition at line 5156 of file product.class.php.
References getChildsArbo().
|
private |
used to check if price have really change to avoid log pollution
int | $level | price level to change |
Definition at line 1863 of file product.class.php.
Referenced by updatePrice().
Product::getChildsArbo | ( | $id, | |
$firstlevelonly = 0, | |||
$level = 1, | |||
$parents = array() ) |
Return childs of product $id.
int | $id | Id of product to search childs of |
int | $firstlevelonly | Return only direct child |
int | $level | Level of recursing call (start to 1) |
array | $parents | Array of all parents of $id |
Definition at line 5082 of file product.class.php.
References $res, dol_print_error(), dol_syslog(), and getChildsArbo().
Referenced by get_sousproduits_arbo(), and getChildsArbo().
Product::getFather | ( | ) |
Return all parent products for current product (first level only)
Definition at line 5041 of file product.class.php.
References $res, and dol_print_error().
Referenced by load_stats_commande(), load_stats_contrat(), load_stats_facture(), load_stats_facturerec(), load_stats_propale(), and load_stats_sending().
Product::getKanbanView | ( | $option = '', | |
$arraydata = null ) |
Return clicable link of object (with eventually picto)
string | $option | Where point the link (0=> main card, 1,2 => shipment, 'nolink'=>No link) |
array | $arraydata | Array of data |
Definition at line 6539 of file product.class.php.
References getLibStatut(), getNomUrl(), img_picto(), is_photo_available(), isProduct(), price(), CommonObject\show_photos(), status, type, TYPE_PRODUCT, and TYPE_SERVICE.
Product::getLabelOfUnit | ( | $type = 'long' | ) |
Returns the text label from units dictionary.
string | $type | Label type (long or short) |
Definition at line 6284 of file product.class.php.
References $res, and dol_syslog().
Product::getLibFinished | ( | ) |
Retour label of nature of product.
Definition at line 5528 of file product.class.php.
References $res, and dol_syslog().
Product::getLibStatut | ( | $mode = 0, | |
$type = 0 ) |
Return label of status of object.
int | $mode | 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto |
int | $type | 0=Sell, 1=Buy, 2=Batch Number management |
Reimplemented in ProductFournisseur.
Definition at line 5427 of file product.class.php.
References LibStatut(), and status.
Referenced by getKanbanView(), and getTooltipContentArray().
Product::getMultiLangs | ( | ) |
Load array this->multilangs.
Definition at line 1827 of file product.class.php.
References description.
Referenced by fetch().
Product::getNomUrl | ( | $withpicto = 0, | |
$option = '', | |||
$maxlength = 0, | |||
$save_lastsearch_value = -1, | |||
$notooltip = 0, | |||
$morecss = '', | |||
$add_label = 0, | |||
$sep = ' - ' ) |
Return clickable link of object (with eventually picto)
int | $withpicto | Add picto into link |
string | $option | Where point the link ('stock', 'composition', 'category', 'supplier', '') |
int | $maxlength | Maxlength of ref |
int | $save_lastsearch_value | -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values when clicking |
int | $notooltip | No tooltip |
string | $morecss | ''=Add more css on link |
int | $add_label | 0=Default, 1=Add label into string, >1=Add first chars into string |
string | $sep | ' - '=Separator between ref and label if option 'add_label' is set |
Reimplemented in ProductFournisseur.
Definition at line 5300 of file product.class.php.
References dol_trunc(), getDolGlobalInt(), getDolGlobalString(), getTooltipContentArray(), img_object(), type, TYPE_PRODUCT, and TYPE_SERVICE.
Referenced by getKanbanView().
Product::getProductDurationHours | ( | ) |
Return the duration in Hours of a service base on duration fields.
Definition at line 6499 of file product.class.php.
References $duration_value.
Product::getRights | ( | ) |
Returns the rights used for this class.
Reimplemented from CommonObject.
Definition at line 6449 of file product.class.php.
References isProduct().
Product::getSellPrice | ( | $thirdparty_seller, | |
$thirdparty_buyer, | |||
$pqp = 0 ) |
Return price of sell of a product for a seller/buyer/product.
Societe | $thirdparty_seller | Seller |
Societe | $thirdparty_buyer | Buyer |
int | $pqp | Id of product price per quantity if a selection was done of such a price |
Definition at line 1967 of file product.class.php.
References $tva_npr, $tva_tx, get_default_npr(), get_default_tva(), getDolGlobalString(), and price().
Product::getTooltipContentArray | ( | $params | ) |
getTooltipContentArray
array | $params | params to construct tooltip data |
Reimplemented from CommonObject.
Definition at line 5175 of file product.class.php.
References description, getDolGlobalString(), getLibStatut(), img_picto(), length_accountg(), measuringUnitString(), price(), ref, CommonObject\show_photos(), status, type, TYPE_PRODUCT, and TYPE_SERVICE.
Referenced by getNomUrl().
Product::hasbatch | ( | ) |
Return if object has a sell-by date or eat-by date.
Definition at line 6194 of file product.class.php.
Referenced by load_stock(), and update().
Product::hasFatherOrChild | ( | $mode = 0 | ) |
Count all parent and children products for current product (first level only)
int | $mode | 0=Both parent and child, -1=Parents only, 1=Children only |
Definition at line 4958 of file product.class.php.
Product::hasVariants | ( | ) |
Return if a product has variants or not.
Definition at line 4990 of file product.class.php.
Product::info | ( | $id | ) |
Load information for tab info.
int | $id | Id of thirdparty to load |
Definition at line 6466 of file product.class.php.
References dol_print_error(), and ref.
Product::initAsSpecimen | ( | ) |
Initialise an instance with random values.
Used to build previews or test instances. id must be 0 if object instance is a specimen.
Definition at line 6240 of file product.class.php.
References description, dol_now(), ref, and status.
Product::is_photo_available | ( | $sdir | ) |
Return if at least one photo is available.
string | $sdir | Directory to scan |
Definition at line 5962 of file product.class.php.
References dol_is_file(), dol_osencode(), getDolGlobalInt(), image_format_supported(), and utf8_check().
Referenced by getKanbanView().
Product::is_sousproduit | ( | $fk_parent, | |
$fk_child ) |
Check if it is a sub-product into a kit.
int | $fk_parent | Id of parent kit product |
int | $fk_child | Id of child product |
Definition at line 4539 of file product.class.php.
References dol_print_error().
Product::isMandatoryPeriod | ( | ) |
Return if object have a constraint on mandatory_period.
Definition at line 6184 of file product.class.php.
Product::isProduct | ( | ) |
Return if object is a product.
Definition at line 6154 of file product.class.php.
References type, and TYPE_PRODUCT.
Referenced by getKanbanView(), getRights(), isStockManaged(), and update().
Product::isService | ( | ) |
Return if object is a product.
Definition at line 6164 of file product.class.php.
References type, and TYPE_SERVICE.
Referenced by update().
Product::isStockManaged | ( | ) |
Return if object need to have its stock managed.
Definition at line 6174 of file product.class.php.
References getDolGlobalString(), and isProduct().
Product::isVariant | ( | ) |
Return if loaded product is a variant.
Definition at line 5013 of file product.class.php.
References dol_print_error(), and getEntity().
Product::LibStatut | ( | $status, | |
$mode = 0, | |||
$type = 0 ) |
Return label of a given status.
int | $status | Statut |
int | $mode | 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto |
int | $type | 0=Status "to sell", 1=Status "to buy", 2=Status "to Batch" |
Reimplemented in ProductFournisseur.
Definition at line 5451 of file product.class.php.
References LibStatut().
Referenced by getLibStatut(), and LibStatut().
Product::list_suppliers | ( | ) |
Return list of suppliers providing the product or service.
Definition at line 4674 of file product.class.php.
Product::liste_photos | ( | $dir, | |
$nbmax = 0 ) |
Return an array with all photos of product found on disk.
There is no sorting criteria.
string | $dir | Directory to scan |
int | $nbmax | Number maxium of photos (0=no maximum) |
Definition at line 6004 of file product.class.php.
References dol_is_file(), dol_osencode(), image_format_supported(), and utf8_check().
Product::load_state_board | ( | ) |
Load indicators this->nb for the dashboard.
Definition at line 6113 of file product.class.php.
References dol_print_error().
Product::load_stats_bom | ( | $socid = 0 | ) |
Charge tableau des stats OF pour le produit/service.
int | $socid | Id societe |
Definition at line 2933 of file product.class.php.
References price2num().
Product::load_stats_commande | ( | $socid = 0, | |
$filtrestatut = '', | |||
$forVirtualStock = 0 ) |
Charge tableau des stats commande client pour le produit/service.
int | $socid | Id societe pour filtrer sur une societe |
string | $filtrestatut | Id statut pour filtrer sur un statut |
int | $forVirtualStock | Ignore rights filter for virtual stock calculation. Set when load_stats_commande is used for virtual stock calculation. |
Definition at line 3133 of file product.class.php.
References dol_syslog(), getDolGlobalString(), getFather(), and Facture\STATUS_DRAFT.
Referenced by load_virtual_stock().
Product::load_stats_commande_fournisseur | ( | $socid = 0, | |
$filtrestatut = '', | |||
$forVirtualStock = 0, | |||
$dateofvirtualstock = null ) |
Charge tableau des stats commande fournisseur pour le produit/service.
int | $socid | Id societe pour filtrer sur une societe |
string | $filtrestatut | Id of status to filter on status |
int | $forVirtualStock | Ignore rights filter for virtual stock calculation. |
int | $dateofvirtualstock | Date of virtual stock |
Definition at line 3261 of file product.class.php.
References getDolGlobalString().
Referenced by load_virtual_stock().
Product::load_stats_contrat | ( | $socid = 0 | ) |
Charge tableau des stats contrat pour le produit/service.
int | $socid | Id societe |
Definition at line 3571 of file product.class.php.
References getDolGlobalString(), and getFather().
Product::load_stats_facture | ( | $socid = 0 | ) |
Charge tableau des stats facture pour le produit/service.
int | $socid | Id societe |
Definition at line 3645 of file product.class.php.
References getDolGlobalString(), and getFather().
Product::load_stats_facture_fournisseur | ( | $socid = 0 | ) |
Charge tableau des stats facture pour le produit/service.
int | $socid | Id societe |
Definition at line 3794 of file product.class.php.
Product::load_stats_facturerec | ( | $socid = 0 | ) |
Charge tableau des stats facture recurrentes pour le produit/service.
int | $socid | Id societe |
Definition at line 3720 of file product.class.php.
References getDolGlobalString(), and getFather().
Product::load_stats_inproduction | ( | $socid = 0, | |
$filtrestatut = '', | |||
$forVirtualStock = 0, | |||
$dateofvirtualstock = null ) |
Charge tableau des stats production pour le produit/service.
int | $socid | Id societe pour filtrer sur une societe |
string | $filtrestatut | Id statut pour filtrer sur un statut |
int | $forVirtualStock | Ignore rights filter for virtual stock calculation. |
int | $dateofvirtualstock | Date of virtual stock |
Definition at line 3469 of file product.class.php.
References getDolGlobalString().
Referenced by load_virtual_stock().
Product::load_stats_mo | ( | $socid = 0 | ) |
Charge tableau des stats OF pour le produit/service.
int | $socid | Id societe |
Definition at line 2873 of file product.class.php.
References price2num().
Product::load_stats_propale | ( | $socid = 0 | ) |
Charge tableau des stats propale pour le produit/service.
int | $socid | Id societe |
Definition at line 3002 of file product.class.php.
References getDolGlobalString(), and getFather().
Product::load_stats_proposal_supplier | ( | $socid = 0 | ) |
Charge tableau des stats propale pour le produit/service.
int | $socid | Id thirdparty |
Definition at line 3077 of file product.class.php.
Product::load_stats_reception | ( | $socid = 0, | |
$filtrestatut = '', | |||
$forVirtualStock = 0, | |||
$dateofvirtualstock = null ) |
Charge tableau des stats réception fournisseur pour le produit/service.
int | $socid | Id societe pour filtrer sur une societe |
string | $filtrestatut | Id statut pour filtrer sur un statut |
int | $forVirtualStock | Ignore rights filter for virtual stock calculation. |
int | $dateofvirtualstock | Date of virtual stock |
Definition at line 3408 of file product.class.php.
References getDolGlobalString().
Referenced by load_virtual_stock().
Product::load_stats_sending | ( | $socid = 0, | |
$filtrestatut = '', | |||
$forVirtualStock = 0, | |||
$filterShipmentStatus = '' ) |
Charge tableau des stats expedition client pour le produit/service.
int | $socid | Id societe pour filtrer sur une societe |
string | $filtrestatut | [=''] Ids order status separated by comma |
int | $forVirtualStock | Ignore rights filter for virtual stock calculation. |
string | $filterShipmentStatus | [=''] Ids shipment status separated by comma |
Definition at line 3322 of file product.class.php.
References getDolGlobalString(), and getFather().
Referenced by load_virtual_stock().
Product::load_stock | ( | $option = '', | |
$includedraftpoforvirtual = null, | |||
$dateofvirtualstock = null ) |
Load information about stock of a product into ->stock_reel, ->stock_warehouse[] (including stock_warehouse[idwarehouse]->detail_batch for batch products) This function need a lot of load.
If you use it on list, use a cache to execute it once for each product id. If ENTREPOT_EXTRA_STATUS is set, filtering on warehouse status is possible.
string | $option | '' = Load all stock info, also from closed and internal warehouses, 'nobatch' = do not load batch detail, 'novirtual' = do no load virtual detail You can also filter on 'warehouseclosed', 'warehouseopen', 'warehouseinternal' |
int | $includedraftpoforvirtual | Include draft status of PO for virtual stock calculation |
int | $dateofvirtualstock | Date of virtual stock |
Definition at line 5686 of file product.class.php.
References dol_syslog(), Productbatch\findAll(), getDolGlobalString(), hasbatch(), load_virtual_stock(), Entrepot\STATUS_CLOSED, Entrepot\STATUS_OPEN_ALL, and Entrepot\STATUS_OPEN_INTERNAL.
Referenced by update().
Product::load_virtual_stock | ( | $includedraftpoforvirtual = null, | |
$dateofvirtualstock = null ) |
Load value ->stock_theorique of a product.
Property this->id must be defined. This function need a lot of load. If you use it on list, use a cache to execute it one for each product id.
int | $includedraftpoforvirtual | Include draft status and not yet approved Purchase Orders for virtual stock calculation |
int | $dateofvirtualstock | Date of virtual stock |
Definition at line 5765 of file product.class.php.
References dol_print_error(), getDolGlobalString(), load_stats_commande(), load_stats_commande_fournisseur(), load_stats_inproduction(), load_stats_reception(), load_stats_sending(), Expedition\STATUS_CLOSED, and Expedition\STATUS_VALIDATED.
Referenced by load_stock().
Product::loadBatchInfo | ( | $batch | ) |
Load existing information about a serial.
string | $batch | Lot/serial number |
Definition at line 5883 of file product.class.php.
References dol_print_error(), and dol_syslog().
Product::log_price_delete | ( | $user, | |
$rowid ) |
Delete a price line.
User | $user | Object user |
int | $rowid | Line id to delete |
Definition at line 1939 of file product.class.php.
Product::min_recommended_price | ( | ) |
Return minimum product recommended price.
Definition at line 6320 of file product.class.php.
References getDolGlobalString().
|
static |
Function used to replace a thirdparty id with another one.
Reimplemented in ProductFournisseur.
Definition at line 6371 of file product.class.php.
References CommonObject\commonReplaceThirdparty().
Product::setAccountancyCode | ( | $type, | |
$value ) |
Sets an accountancy code for a product.
Also calls PRODUCT_MODIFY trigger when modified
string | $type | It can be 'buy', 'buy_intra', 'buy_export', 'sell', 'sell_intra' or 'sell_export' |
string | $value | Accountancy code |
Definition at line 1767 of file product.class.php.
References CommonObject\call_trigger(), and dol_syslog().
Product::setCategories | ( | $categories | ) |
Sets object to supplied categories.
Deletes object from existing categories not supplied. Adds it to non existing supplied categories. Existing categories are left untouch.
int[] | int | $categories | Category or categories IDs |
Definition at line 6357 of file product.class.php.
Product::setMultiLangs | ( | $user | ) |
Update or add a translation for a product.
User | $user | Object user making update |
Definition at line 1625 of file product.class.php.
References CommonObject\call_trigger(), description, dol_syslog(), and getDolGlobalString().
Referenced by update().
Product::setPriceExpression | ( | $expression_id | ) |
Sets the supplier price expression.
int | $expression_id | Expression |
Definition at line 2442 of file product.class.php.
References update().
Product::update | ( | $id, | |
$user, | |||
$notrigger = false, | |||
$action = 'update', | |||
$updatetype = false ) |
Update a record into database.
If batch flag is set to on, we create records into llx_product_batch
int | $id | Id of product |
User | $user | Object user making update |
int | $notrigger | Disable triggers |
string | $action | Current action for hookmanager ('add' or 'update') |
boolean | $updatetype | Update product type |
Definition at line 1051 of file product.class.php.
References $res, CommonObject\call_trigger(), correct_stock(), correct_stock_batch(), description, dol_clone(), dol_now(), dol_print_date(), dol_print_error(), dol_sanitizeFileName(), dol_string_nospecial(), dol_syslog(), get_barcode(), getDolGlobalInt(), getDolGlobalString(), hasbatch(), CommonObject\insertExtraFields(), isProduct(), isService(), load_stock(), measuring_units_cubed(), measuring_units_squared(), price2num(), ref, setMultiLangs(), status, type, and verify().
Referenced by create(), and setPriceExpression().
Product::update_sousproduit | ( | $id_pere, | |
$id_fils, | |||
$qty, | |||
$incdec = 1, | |||
$notrigger = 0 ) |
Modify composed product.
int | $id_pere | Id of parent product/service |
int | $id_fils | Id of child product/service |
int | $qty | Quantity |
int | $incdec | 1=Increase/decrease stock of child when parent stock increase/decrease |
int | $notrigger | Disable triggers |
Definition at line 4424 of file product.class.php.
References CommonObject\call_trigger(), dol_print_error(), and dol_syslog().
Product::updatePrice | ( | $newprice, | |
$newpricebase, | |||
$user, | |||
$newvat = '', | |||
$newminprice = 0, | |||
$level = 0, | |||
$newnpr = 0, | |||
$newpbq = 0, | |||
$ignore_autogen = 0, | |||
$localtaxes_array = array(), | |||
$newdefaultvatcode = '', | |||
$notrigger = 0 ) |
Modify customer price of a product/Service for a given level.
double | $newprice | New price |
string | $newpricebase | HT or TTC |
User | $user | Object user that make change |
double | $newvat | New VAT Rate (For example 8.5. Should not be a string) |
double | $newminprice | New price min |
int | $level | 0=standard, >0 = level if multilevel prices |
int | $newnpr | 0=Standard vat rate, 1=Special vat rate for French NPR VAT |
int | $newpbq | 1 if it has price by quantity |
int | $ignore_autogen | Used to avoid infinite loops |
array | $localtaxes_array | Array with localtaxes info array('0'=>type1,'1'=>rate1,'2'=>type2,'3'=>rate2) (loaded by getLocalTaxesFromRate(vatrate, 0, ...) function). |
string | $newdefaultvatcode | Default vat code |
int | $notrigger | Disable triggers |
Definition at line 2246 of file product.class.php.
References $tva_tx, _log_price(), CommonObject\call_trigger(), dol_syslog(), generateMultiprices(), get_localtax(), getArrayForPriceCompare(), getDolGlobalString(), price(), and price2num().
Referenced by generateMultiprices().
Product::verify | ( | ) |
Check properties of product are ok (like name, barcode, ...).
All properties must be already loaded on object (this->barcode, this->barcode_type_code, ...).
Definition at line 963 of file product.class.php.
References check_barcode(), and ref.
Product::$libelle |
Product::$ref_fourn |
Definition at line 484 of file product.class.php.
Referenced by add_fournisseur(), and ProductFournisseur\update_buyprice().
Product::$res |
Path of subproducts.
Build from ->sousprods with get_arbo_each_prod()
Definition at line 522 of file product.class.php.
Referenced by check_barcode(), delete(), get_arbo_each_prod(), get_barcode(), getChildsArbo(), getFather(), getLabelOfUnit(), getLibFinished(), update(), and ProductFournisseur\update_buyprice().