|
dolibarr 18.0.8
|
Class to manage customers orders. More...


Public Member Functions | |
| __construct ($db) | |
| Constructor. | |
| getNextNumRef ($soc) | |
| Returns the reference to the following non used Order depending on the active numbering module defined into COMMANDE_ADDON. | |
| valid ($user, $idwarehouse=0, $notrigger=0) | |
| Validate order. | |
| setDraft ($user, $idwarehouse=-1) | |
| Set draft status. | |
| set_reopen ($user) | |
| Tag the order as validated (opened) Function used when order is reopend after being closed. | |
| cloture ($user, $notrigger=0) | |
| Close order. | |
| cancel ($idwarehouse=-1) | |
| Cancel an order If stock is decremented on order validation, we must reincrement it. | |
| create ($user, $notrigger=0) | |
| Create order Note that this->ref can be set or empty. | |
| createFromClone (User $user, $socid=0) | |
| Load an object from its id and create a new one in database. | |
| createFromProposal ($object, User $user) | |
| Load an object from a proposal and create a new order into database. | |
| addline ($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $info_bits=0, $fk_remise_except=0, $price_base_type='HT', $pu_ttc=0, $date_start='', $date_end='', $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='', $array_options=0, $fk_unit=null, $origin='', $origin_id=0, $pu_ht_devise=0, $ref_ext='', $noupdateafterinsertline=0) | |
| Add an order line into database (linked to product/service or not) | |
| add_product ($idproduct, $qty, $remise_percent=0.0, $date_start='', $date_end='') | |
| Add line into array $this->client must be loaded. | |
| fetch ($id, $ref='', $ref_ext='', $notused='') | |
| Get object from database. | |
| insert_discount ($idremise) | |
| Adding line of fixed discount in the order in DB. | |
| fetch_lines ($only_product=0, $loadalsotranslation=0) | |
| Load array lines. | |
| getNbOfProductsLines () | |
| Return number of line with type product. | |
| getNbOfServicesLines () | |
| Return number of line with type service. | |
| getNbOfShipments () | |
| Count number of shipments for this order. | |
| loadExpeditions ($filtre_statut=-1, $fk_product=0) | |
| Load array this->expeditions of lines of shipments with nb of products sent for each order line Note: For a dedicated shipment, the fetch_lines can be used to load the qty_asked and qty_shipped. | |
| countNbOfShipments () | |
| Returns an array with expeditions lines number. | |
| stock_array ($filtre_statut=self::STATUS_CANCELED) | |
| Return a array with the pending stock by product. | |
| deleteline ($user=null, $lineid=0, $id=0) | |
| Delete an order line. | |
| set_remise ($user, $remise, $notrigger=0) | |
| Applique une remise relative. | |
| setDiscount ($user, $remise, $notrigger=0) | |
| Set a percentage discount. | |
| set_remise_absolue ($user, $remise, $notrigger=0) | |
| Set a fixed amount discount. | |
| set_date ($user, $date, $notrigger=0) | |
| Set the order date. | |
| set_date_livraison ($user, $delivery_date, $notrigger=0) | |
| Set delivery date. | |
| setDeliveryDate ($user, $delivery_date, $notrigger=0) | |
| Set the planned delivery date. | |
| liste_array ($shortlist=0, $draft=0, $excluser='', $socid=0, $limit=0, $offset=0, $sortfield='c.date_commande', $sortorder='DESC') | |
| Return list of orders (eventuelly filtered on a user) into an array. | |
| availability ($availability_id, $notrigger=0) | |
| Update delivery delay. | |
| demand_reason ($demand_reason_id, $notrigger=0) | |
| Update order demand_reason. | |
| set_ref_client ($user, $ref_client, $notrigger=0) | |
| Set customer ref. | |
| classifyBilled (User $user, $notrigger=0) | |
| Classify the order as invoiced. | |
| classifyUnBilled (User $user, $notrigger=0) | |
| Classify the order as not invoiced. | |
| updateline ($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $price_base_type='HT', $info_bits=0, $date_start='', $date_end='', $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_options=0, $fk_unit=null, $pu_ht_devise=0, $notrigger=0, $ref_ext='', $rang=0) | |
| Update a line in database. | |
| update (User $user, $notrigger=0) | |
| Update database. | |
| delete ($user, $notrigger=0) | |
| Delete the sales order. | |
| load_board ($user) | |
| Load indicators for dashboard (this->nbtodo and this->nbtodolate) | |
| getLabelSource () | |
| Return source label of order. | |
| getLibStatut ($mode) | |
| Return status label of Order. | |
| LibStatut ($status, $billed, $mode, $donotshowbilled=0) | |
| Return label of status. | |
| getTooltipContentArray ($params) | |
| getTooltipContentArray | |
| getNomUrl ($withpicto=0, $option='', $max=0, $short=0, $notooltip=0, $save_lastsearch_value=-1, $addlinktonotes=0, $target='') | |
| Return clicable link of object (with eventually picto) | |
| info ($id) | |
| Charge les informations d'ordre info dans l'objet commande. | |
| initAsSpecimen () | |
| Initialise an instance with random values. | |
| load_state_board () | |
| Charge indicateurs this->nb de tableau de bord. | |
| getLinesArray () | |
| Create an array of order lines. | |
| generateDocument ($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) | |
| Create a document onto disk according to template module. | |
| hasDelay () | |
| Is the sales order delayed? | |
| showDelay () | |
| Show the customer delayed info. | |
Public Member Functions inherited from CommonOrder | |
| 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='', $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=0, $display_type='card') | |
| Function to show lines of extrafields with output datas. | |
| getJSListDependancies ($type='_extra') | |
| getRights () | |
| Returns the rights used for this class. | |
| 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. | |
| getFieldList ($alias='', $excludefields=array()) | |
| Function to concat keys of fields. | |
| createCommon (User $user, $notrigger=false) | |
| Create object into database. | |
| fetchCommon ($id, $ref=null, $morewhere='') | |
| Load object in memory from the database. | |
| fetchLinesCommon ($morewhere='') | |
| 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 | replaceProduct (DoliDB $db, $origin_id, $dest_id) |
| Function used to replace a product 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 | 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 | |
| $remise_percent | |
| $module_source | |
| key of module source when order generated from a dedicated module ('cashdesk', 'takepos', ...) | |
| $pos_source | |
| key of pos source ('0', '1', ...) | |
| const | STOCK_NOT_ENOUGH_FOR_ORDER = -3 |
| ERR Not enough stock. | |
| const | STATUS_CANCELED = -1 |
| Canceled status. | |
| const | STATUS_DRAFT = 0 |
| Draft status. | |
| const | STATUS_VALIDATED = 1 |
| Validated status. | |
| const | STATUS_SHIPMENTONPROCESS = 2 |
| Shipment on process. | |
| const | STATUS_CLOSED = 3 |
| Closed (Sent, billed or not) | |
Public Attributes inherited from CommonObject | |
| $fk_projet | |
| $note | |
| $date_modification | |
Protected Attributes | |
| $table_ref_field = 'ref' | |
| {} | |
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 customers orders.
Definition at line 48 of file commande.class.php.
| Commande::__construct | ( | $db | ) |
Constructor.
Definition at line 419 of file commande.class.php.
| Commande::add_product | ( | $idproduct, | |
| $qty, | |||
| $remise_percent = 0.0, | |||
| $date_start = '', | |||
| $date_end = '' ) |
Add line into array $this->client must be loaded.
| int | $idproduct | Product Id |
| float | $qty | Quantity |
| float | $remise_percent | Product discount relative |
| int | $date_start | Start date of the line |
| int | $date_end | End date of the line |
TODO Remplacer les appels a cette fonction par generation objet Ligne
POUR AJOUTER AUTOMATIQUEMENT LES SOUSPRODUITS a LA COMMANDE if (!empty($conf->global->PRODUIT_SOUSPRODUITS)) { $prod = new Product($this->db); $prod->fetch($idproduct); $prod -> get_sousproduits_arbo(); $prods_arbo = $prod->get_arbo_each_prod(); if(count($prods_arbo) > 0) { foreach($prods_arbo as $key => $value) { print "id : ".$value[1].' :qty: '.$value[0].'
'; if not in lines { $this->add_product($value[1], $value[0]); } } }
Definition at line 1780 of file commande.class.php.
References $remise_percent, get_default_npr(), get_default_tva(), and get_localtax().
| Commande::addline | ( | $desc, | |
| $pu_ht, | |||
| $qty, | |||
| $txtva, | |||
| $txlocaltax1 = 0, | |||
| $txlocaltax2 = 0, | |||
| $fk_product = 0, | |||
| $remise_percent = 0, | |||
| $info_bits = 0, | |||
| $fk_remise_except = 0, | |||
| $price_base_type = 'HT', | |||
| $pu_ttc = 0, | |||
| $date_start = '', | |||
| $date_end = '', | |||
| $type = 0, | |||
| $rang = -1, | |||
| $special_code = 0, | |||
| $fk_parent_line = 0, | |||
| $fk_fournprice = null, | |||
| $pa_ht = 0, | |||
| $label = '', | |||
| $array_options = 0, | |||
| $fk_unit = null, | |||
| $origin = '', | |||
| $origin_id = 0, | |||
| $pu_ht_devise = 0, | |||
| $ref_ext = '', | |||
| $noupdateafterinsertline = 0 ) |
Add an order line into database (linked to product/service or not)
| string | $desc | Description of line |
| float | $pu_ht | Unit price (without tax) |
| float | $qty | Quantite |
| float | $txtva | Force Vat rate, -1 for auto (Can contain the vat_src_code too with syntax '9.9 (CODE)') |
| float | $txlocaltax1 | Local tax 1 rate (deprecated, use instead txtva with code inside) |
| float | $txlocaltax2 | Local tax 2 rate (deprecated, use instead txtva with code inside) |
| int | $fk_product | Id of product |
| float | $remise_percent | Percentage discount of the line |
| int | $info_bits | Bits of type of lines |
| int | $fk_remise_except | Id remise |
| string | $price_base_type | HT or TTC |
| float | $pu_ttc | Prix unitaire TTC |
| int | $date_start | Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) |
| int | $date_end | End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) |
| int | $type | Type of line (0=product, 1=service). Not used if fk_product is defined, the type of product is used. |
| int | $rang | Position of line |
| int | $special_code | Special code (also used by externals modules!) |
| int | $fk_parent_line | Parent line |
| int | $fk_fournprice | Id supplier price |
| int | $pa_ht | Buying price (without tax) |
| string | $label | Label |
| array | $array_options | extrafields array. Example array('options_codeforfield1'=>'valueforfield1', 'options_codeforfield2'=>'valueforfield2', ...) |
| string | $fk_unit | Code of the unit to use. Null to use the default one |
| string | $origin | Depend on global conf MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION can be 'orderdet', 'propaldet'..., else 'order','propal,'.... |
| int | $origin_id | Depend on global conf MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION can be Id of origin object (aka line id), else object id |
| double | $pu_ht_devise | Unit price in currency |
| string | $ref_ext | line external reference |
| int | $noupdateafterinsertline | No update after insert of line |
Les parametres sont deja cense etre juste et avec valeurs finales a l'appel de cette methode. Aussi, pour le taux tva, il doit deja avoir ete defini par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,produit) et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue)
Definition at line 1527 of file commande.class.php.
References $remise_percent, calcul_price_total(), dol_syslog(), getLocalTaxesFromRate(), CommonObject\line_max(), CommonObject\line_order(), price2num(), statut, STOCK_NOT_ENOUGH_FOR_ORDER, CommonObject\update_price(), and CommonObject\updateRangOfLine().
Referenced by create().
| Commande::availability | ( | $availability_id, | |
| $notrigger = 0 ) |
Update delivery delay.
| int | $availability_id | Id du nouveau mode |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2824 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), and statut.
Referenced by fetch().
| Commande::cancel | ( | $idwarehouse = -1 | ) |
Cancel an order If stock is decremented on order validation, we must reincrement it.
| int | $idwarehouse | Id warehouse to use for stock change. |
Definition at line 842 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), STATUS_CANCELED, and statut.
| Commande::classifyBilled | ( | User | $user, |
| $notrigger = 0 ) |
Classify the order as invoiced.
| User | $user | Object user making the change |
| int | $notrigger | 1=Does not execute triggers, 0=execute triggers |
Definition at line 3008 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), and STATUS_DRAFT.
| Commande::classifyUnBilled | ( | User | $user, |
| $notrigger = 0 ) |
Classify the order as not invoiced.
| User | $user | Object user making the change |
| int | $notrigger | 1=Does not execute triggers, 0=execute triggers |
Definition at line 3062 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), and STATUS_DRAFT.
| Commande::cloture | ( | $user, | |
| $notrigger = 0 ) |
Close order.
| User | $user | Objet user that close |
| int | $notrigger | 1=Does not execute triggers, 0=Execute triggers |
Definition at line 782 of file commande.class.php.
References CommonObject\call_trigger(), dol_now(), STATUS_CLOSED, STATUS_DRAFT, and statut.
| Commande::countNbOfShipments | ( | ) |
Returns an array with expeditions lines number.
Definition at line 2353 of file commande.class.php.
References dol_print_error().
Referenced by delete().
| Commande::create | ( | $user, | |
| $notrigger = 0 ) |
Create order Note that this->ref can be set or empty.
If empty, we will use "(PROV)"
| User | $user | Objet user that make creation |
| int | $notrigger | Disable all triggers |
Definition at line 915 of file commande.class.php.
References CommonObject\add_contact(), CommonObject\add_object_linked(), addline(), CommonObject\call_trigger(), dol_now(), dol_print_error(), dol_syslog(), MultiCurrency\getIdAndTxFromCode(), MultiCurrency\getIdFromCode(), CommonObject\insertExtraFields(), CommonObject\isExistingObject(), ref, and CommonObject\update_price().
Referenced by createFromClone(), and createFromProposal().
| Commande::createFromClone | ( | User | $user, |
| $socid = 0 ) |
Load an object from its id and create a new one in database.
Definition at line 1222 of file commande.class.php.
References CommonObject\copy_linked_contact(), create(), dol_now(), ref, CommonObject\setErrorsFromObject(), STATUS_DRAFT, and statut.
| Commande::createFromProposal | ( | $object, | |
| User | $user ) |
Load an object from a proposal and create a new order into database.
Definition at line 1333 of file commande.class.php.
References create(), dol_include_once(), dol_now(), fetch(), MultiCurrency\getIdAndTxFromCode(), MultiCurrency\getIdFromCode(), getMarginInfos(), CommonObject\setErrorsFromObject(), and valid().
| Commande::delete | ( | $user, | |
| $notrigger = 0 ) |
Delete the sales order.
Definition at line 3460 of file commande.class.php.
References CommonObject\call_trigger(), countNbOfShipments(), CommonObject\delete_linked_contact(), CommonObject\deleteEcmFiles(), CommonObject\deleteExtraFields(), CommonObject\deleteObjectLinked(), dol_delete_dir_recursive(), dol_delete_file(), dol_delete_preview(), dol_sanitizeFileName(), dol_syslog(), and ref.
| Commande::deleteline | ( | $user = null, | |
| $lineid = 0, | |||
| $id = 0 ) |
Delete an order line.
Definition at line 2421 of file commande.class.php.
References statut, and CommonObject\update_price().
| Commande::demand_reason | ( | $demand_reason_id, | |
| $notrigger = 0 ) |
Update order demand_reason.
| int | $demand_reason_id | Id of new demand |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2887 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), and statut.
| Commande::fetch | ( | $id, | |
| $ref = '', | |||
| $ref_ext = '', | |||
| $notused = '' ) |
Get object from database.
Get also lines.
| int | $id | Id of object to load |
| string | $ref | Ref of object |
| string | $ref_ext | External reference of object |
| string | $notused | Internal reference of other object |
Definition at line 1869 of file commande.class.php.
References availability(), dol_syslog(), fetch_lines(), CommonObject\fetch_optionals(), ref, and statut.
Referenced by createFromProposal().
| Commande::fetch_lines | ( | $only_product = 0, | |
| $loadalsotranslation = 0 ) |
Load array lines.
| int | $only_product | Return only physical products, not services |
| int | $loadalsotranslation | Return translation for products |
Definition at line 2105 of file commande.class.php.
References dol_syslog(), getDolGlobalInt(), and getMarginInfos().
Referenced by fetch(), and getLinesArray().
| Commande::generateDocument | ( | $modele, | |
| $outputlangs, | |||
| $hidedetails = 0, | |||
| $hidedesc = 0, | |||
| $hideref = 0, | |||
| $moreparams = null ) |
Create a document onto disk according to template module.
| string | $modele | Force template to use ('' to not force) |
| Translate | $outputlangs | objet lang a utiliser pour traduction |
| int | $hidedetails | Hide details of lines |
| int | $hidedesc | Hide description |
| int | $hideref | Hide ref |
| null | array | $moreparams | Array to provide more information |
Definition at line 4125 of file commande.class.php.
References CommonObject\commonGenerateDocument(), and dol_strlen().
| Commande::getLabelSource | ( | ) |
Return source label of order.
Definition at line 3650 of file commande.class.php.
| Commande::getLibStatut | ( | $mode | ) |
Return status label of Order.
| 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 |
Definition at line 3668 of file commande.class.php.
References LibStatut(), and statut.
| Commande::getLinesArray | ( | ) |
Create an array of order lines.
Definition at line 4109 of file commande.class.php.
References fetch_lines().
| Commande::getNbOfProductsLines | ( | ) |
Return number of line with type product.
Definition at line 2236 of file commande.class.php.
| Commande::getNbOfServicesLines | ( | ) |
Return number of line with type service.
Definition at line 2252 of file commande.class.php.
| Commande::getNbOfShipments | ( | ) |
Count number of shipments for this order.
Definition at line 2268 of file commande.class.php.
References dol_syslog().
| Commande::getNextNumRef | ( | $soc | ) |
Returns the reference to the following non used Order depending on the active numbering module defined into COMMANDE_ADDON.
| Societe | $soc | Object thirdparty |
Definition at line 431 of file commande.class.php.
References dol_buildpath(), and dol_print_error().
Referenced by valid().
| Commande::getNomUrl | ( | $withpicto = 0, | |
| $option = '', | |||
| $max = 0, | |||
| $short = 0, | |||
| $notooltip = 0, | |||
| $save_lastsearch_value = -1, | |||
| $addlinktonotes = 0, | |||
| $target = '' ) |
Return clicable link of object (with eventually picto)
| int | $withpicto | Add picto into link |
| string | $option | Where point the link (0=> main card, 1,2 => shipment, 'nolink'=>No link) |
| int | $max | Max length to show |
| int | $short | ??? |
| int | $notooltip | 1=Disable tooltip |
| int | $save_lastsearch_value | -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking |
| int | $addlinktonotes | Add link to notes |
| string | $target | attribute target for link |
Definition at line 3824 of file commande.class.php.
References dol_escape_htmltag(), dol_string_nohtmltag(), getDolGlobalInt(), getTooltipContentArray(), img_object(), and img_picto().
| Commande::getTooltipContentArray | ( | $params | ) |
getTooltipContentArray
| array | $params | params to construct tooltip data |
Reimplemented from CommonObject.
Definition at line 3756 of file commande.class.php.
References dol_print_date(), CommonObject\fetch_project(), CommonObject\fetch_thirdparty(), img_picto(), price(), and statut.
Referenced by getNomUrl().
| Commande::hasDelay | ( | ) |
Is the sales order delayed?
Definition at line 4189 of file commande.class.php.
References dol_now(), STATUS_CLOSED, STATUS_DRAFT, and statut.
| Commande::info | ( | $id | ) |
Charge les informations d'ordre info dans l'objet commande.
| int | $id | Id of order |
Definition at line 3940 of file commande.class.php.
References dol_print_error().
| Commande::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 3983 of file commande.class.php.
References dol_syslog(), and ref.
| Commande::insert_discount | ( | $idremise | ) |
Adding line of fixed discount in the order in DB.
| int | $idremise | Id de la remise fixe |
Definition at line 2035 of file commande.class.php.
References CommonObject\update_price().
| Commande::LibStatut | ( | $status, | |
| $billed, | |||
| $mode, | |||
| $donotshowbilled = 0 ) |
Return label of status.
| int | $status | Id status |
| int | $billed | If invoiced |
| 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 | $donotshowbilled | Do not show billed status after order status |
Definition at line 3683 of file commande.class.php.
Referenced by getLibStatut().
| Commande::liste_array | ( | $shortlist = 0, | |
| $draft = 0, | |||
| $excluser = '', | |||
| $socid = 0, | |||
| $limit = 0, | |||
| $offset = 0, | |||
| $sortfield = 'c.date_commande', | |||
| $sortorder = 'DESC' ) |
Return list of orders (eventuelly filtered on a user) into an array.
| int | $shortlist | 0=Return array[id]=ref, 1=Return array[](id=>id,ref=>ref,name=>name) |
| int | $draft | 0=not draft, 1=draft |
| User | $excluser | Objet user to exclude |
| int | $socid | Id third pary |
| int | $limit | For pagination |
| int | $offset | For pagination |
| string | $sortfield | Sort criteria |
| string | $sortorder | Sort order |
Definition at line 2757 of file commande.class.php.
References dol_print_error().
| Commande::load_board | ( | $user | ) |
Load indicators for dashboard (this->nbtodo and this->nbtodolate)
| User | $user | Object user |
Definition at line 3590 of file commande.class.php.
References getEntity(), and img_object().
| Commande::load_state_board | ( | ) |
Charge indicateurs this->nb de tableau de bord.
Definition at line 4072 of file commande.class.php.
References dol_print_error(), and getEntity().
| Commande::loadExpeditions | ( | $filtre_statut = -1, | |
| $fk_product = 0 ) |
Load array this->expeditions of lines of shipments with nb of products sent for each order line Note: For a dedicated shipment, the fetch_lines can be used to load the qty_asked and qty_shipped.
This function is use to return qty_shipped cumulated for the order
| int | $filtre_statut | Filter on shipment status |
| int | $fk_product | Add a filter on a product |
Definition at line 2304 of file commande.class.php.
References dol_syslog().
|
static |
Function used to replace a product id with another one.
Definition at line 4175 of file commande.class.php.
References CommonObject\commonReplaceProduct().
|
static |
Function used to replace a thirdparty id with another one.
| DoliDB | $dbs | Database handler, because function is static we name it $dbs not $db to avoid breaking coding test |
| int | $origin_id | Old thirdparty id |
| int | $dest_id | New thirdparty id |
Definition at line 4158 of file commande.class.php.
References CommonObject\commonReplaceThirdparty().
| Commande::set_date | ( | $user, | |
| $date, | |||
| $notrigger = 0 ) |
Set the order date.
| User | $user | Object user making change |
| int | $date | Date |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2621 of file commande.class.php.
References CommonObject\call_trigger(), and dol_syslog().
| Commande::set_date_livraison | ( | $user, | |
| $delivery_date, | |||
| $notrigger = 0 ) |
Set delivery date.
| User | $user | Object user that modify |
| int | $delivery_date | Delivery date |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2680 of file commande.class.php.
References setDeliveryDate().
| Commande::set_ref_client | ( | $user, | |
| $ref_client, | |||
| $notrigger = 0 ) |
Set customer ref.
| User | $user | User that make change |
| string | $ref_client | Customer ref |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2952 of file commande.class.php.
References CommonObject\call_trigger(), and dol_syslog().
| Commande::set_remise | ( | $user, | |
| $remise, | |||
| $notrigger = 0 ) |
Applique une remise relative.
| User | $user | User qui positionne la remise |
| float | $remise | Discount (percent) |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2476 of file commande.class.php.
References dol_syslog(), and setDiscount().
| Commande::set_remise_absolue | ( | $user, | |
| $remise, | |||
| $notrigger = 0 ) |
Set a fixed amount discount.
| User | $user | User qui positionne la remise |
| float | $remise | Discount |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2555 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), price2num(), STATUS_DRAFT, and CommonObject\update_price().
| Commande::set_reopen | ( | $user | ) |
Tag the order as validated (opened) Function used when order is reopend after being closed.
| User | $user | Object user that change status |
Definition at line 727 of file commande.class.php.
References CommonObject\call_trigger(), dol_print_error(), dol_syslog(), STATUS_VALIDATED, and statut.
| Commande::setDeliveryDate | ( | $user, | |
| $delivery_date, | |||
| $notrigger = 0 ) |
Set the planned delivery date.
| User | $user | Objet utilisateur qui modifie |
| int | $delivery_date | Delivery date |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2694 of file commande.class.php.
References CommonObject\call_trigger(), and dol_syslog().
Referenced by set_date_livraison().
| Commande::setDiscount | ( | $user, | |
| $remise, | |||
| $notrigger = 0 ) |
Set a percentage discount.
| User | $user | User setting the discount |
| float | $remise | Discount (percent) |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 2492 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), price2num(), and CommonObject\update_price().
Referenced by set_remise().
| Commande::setDraft | ( | $user, | |
| $idwarehouse = -1 ) |
Set draft status.
| User | $user | Object user that modify |
| int | $idwarehouse | Warehouse ID to use for stock change (Used only if option STOCK_CALCULATE_ON_VALIDATE_ORDER is on) |
Definition at line 641 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), STATUS_DRAFT, and statut.
| Commande::showDelay | ( | ) |
Show the customer delayed info.
Definition at line 4207 of file commande.class.php.
References dol_print_date().
| Commande::stock_array | ( | $filtre_statut = self::STATUS_CANCELED | ) |
Return a array with the pending stock by product.
| int | $filtre_statut | Filtre sur statut |
TODO FONCTION NON FINIE A FINIR
Definition at line 2383 of file commande.class.php.
| Commande::update | ( | User | $user, |
| $notrigger = 0 ) |
Update database.
Definition at line 3350 of file commande.class.php.
References CommonObject\call_trigger(), dol_syslog(), CommonObject\insertExtraFields(), ref, and statut.
| Commande::updateline | ( | $rowid, | |
| $desc, | |||
| $pu, | |||
| $qty, | |||
| $remise_percent, | |||
| $txtva, | |||
| $txlocaltax1 = 0.0, | |||
| $txlocaltax2 = 0.0, | |||
| $price_base_type = 'HT', | |||
| $info_bits = 0, | |||
| $date_start = '', | |||
| $date_end = '', | |||
| $type = 0, | |||
| $fk_parent_line = 0, | |||
| $skip_update_total = 0, | |||
| $fk_fournprice = null, | |||
| $pa_ht = 0, | |||
| $label = '', | |||
| $special_code = 0, | |||
| $array_options = 0, | |||
| $fk_unit = null, | |||
| $pu_ht_devise = 0, | |||
| $notrigger = 0, | |||
| $ref_ext = '', | |||
| $rang = 0 ) |
Update a line in database.
| int | $rowid | Id of line to update |
| string | $desc | Description of line |
| float | $pu | Unit price |
| float | $qty | Quantity |
| float | $remise_percent | Percent of discount |
| float | $txtva | Taux TVA |
| float | $txlocaltax1 | Local tax 1 rate |
| float | $txlocaltax2 | Local tax 2 rate |
| string | $price_base_type | HT or TTC |
| int | $info_bits | Miscellaneous informations on line |
| int | $date_start | Start date of the line |
| int | $date_end | End date of the line |
| int | $type | Type of line (0=product, 1=service) |
| int | $fk_parent_line | Id of parent line (0 in most cases, used by modules adding sublevels into lines). |
| int | $skip_update_total | Keep fields total_xxx to 0 (used for special lines by some modules) |
| int | $fk_fournprice | Id of origin supplier price |
| int | $pa_ht | Price (without tax) of product when it was bought |
| string | $label | Label |
| int | $special_code | Special code (also used by externals modules!) |
| array | $array_options | extrafields array |
| string | $fk_unit | Code of the unit to use. Null to use the default one |
| double | $pu_ht_devise | Amount in currency |
| int | $notrigger | disable line update trigger |
| string | $ref_ext | external reference |
| integer | $rang | line rank |
Definition at line 3138 of file commande.class.php.
References $remise_percent, calcul_price_total(), dol_syslog(), getLocalTaxesFromRate(), CommonObject\line_max(), CommonObject\line_order(), price2num(), STATUS_DRAFT, statut, STOCK_NOT_ENOUGH_FOR_ORDER, and CommonObject\update_price().
| Commande::valid | ( | $user, | |
| $idwarehouse = 0, | |||
| $notrigger = 0 ) |
Validate order.
| User | $user | User making status change |
| int | $idwarehouse | Id of warehouse to use for stock decrease |
| int | $notrigger | 1=Does not execute triggers, 0= execute triggers |
Definition at line 481 of file commande.class.php.
References CommonObject\call_trigger(), dol_dir_list(), dol_now(), dol_print_error(), dol_sanitizeFileName(), dol_syslog(), getNextNumRef(), ref, STATUS_VALIDATED, and statut.
Referenced by createFromProposal().
| Commande::$remise_percent |
Definition at line 228 of file commande.class.php.
Referenced by add_product(), addline(), and updateline().