X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Ftypes.inc;h=460c51930dacebffddf49b1449c485ba229ca406;hb=50606312fee0bb0dbe984e2c08af53b7dab229bd;hp=352ddcc5e60ea4af6cd2b76ddaaed03b0e4d8d0f;hpb=16d7dec39f96cc26ebcf4b25f78d89e1b7c60ef8;p=fa-stable.git diff --git a/includes/types.inc b/includes/types.inc index 352ddcc5..460c5193 100644 --- a/includes/types.inc +++ b/includes/types.inc @@ -47,6 +47,31 @@ define('ST_DIMENSION', 40); define ('ST_STATEMENT', 91); define ('ST_CHEQUE', 92); +// document inheritance +$document_child_types = array( + ST_SALESQUOTE => ST_SALESORDER, + ST_SALESORDER => ST_CUSTDELIVERY, + ST_CUSTDELIVERY => ST_SALESINVOICE, + ST_SALESINVOICE => ST_CUSTCREDIT, + + ST_PURCHORDER => ST_SUPPRECEIVE, + ST_SUPPRECEIVE => ST_SUPPINVOICE, + ST_SUPPINVOICE => ST_SUPPCREDIT, +); + +function get_child_type($type) +{ + global $document_child_types; + return isset($document_child_types[$type]) ? $document_child_types[$type] : 0; +} + +function get_parent_type($type) +{ + global $document_child_types; + $child = array_search($type, $document_child_types); + return $child ? $child : 0; +} + //---------------------------------------------------------------------------------- // Bank transaction types // @@ -112,6 +137,80 @@ function payment_person_name($type, $person_id, $full=true) { } } +// +// Returns counterparty (supplier/customer) name for selected transaction. +// +function get_counterparty_name($trans_type, $trans_no, $full=true) +{ + switch($trans_type) + { + case ST_SALESORDER: + case ST_SALESQUOTE: + $sql = "SELECT order.customer_id as person_id, debtor.name as name + FROM ".TB_PREF."sales_orders order, ".TB_PREF."debtors_master debtor + WHERE order_no=".db_escape($trans_no)." AND trans_type=".db_escape($trans_type) + ." AND order.debtor_no=debtor.debtor_no"; + break; + + case ST_SALESINVOICE : + case ST_CUSTCREDIT : + case ST_CUSTPAYMENT : + case ST_CUSTDELIVERY : + $sql = "SELECT trans.debtor_no as person_id, debtor.name as name + FROM ".TB_PREF."debtor_trans trans, ".TB_PREF."debtors_master debtor + WHERE trans_no=".db_escape($trans_no)." AND type=".db_escape($trans_type) + ." AND trans.debtor_no=debtor.debtor_no"; + break; + + case ST_PURCHORDER : + $sql = "SELECT order.supplier_id as person_id, supp.supp_name as name + FROM ".TB_PREF."purch_orders order, ".TB_PREF."suppliers supp + WHERE order_no=".db_escape($trans_no) + ." AND order.supplier_id=supp.supplier_id"; + break; + + case ST_SUPPINVOICE : + case ST_SUPPCREDIT : + case ST_SUPPAYMENT : + $sql = "SELECT trans.supplier_id as person_id, supp.supp_name as name + FROM ".TB_PREF."supp_trans trans, ".TB_PREF."suppliers supp + WHERE trans_no=".db_escape($trans_no)." AND type=".db_escape($trans_type) + ." AND trans.supplier_id=supp.supplier_id"; + break; + + case ST_SUPPRECEIVE : + $sql = "SELECT trans.supplier_id as person_id, supp.supp_name as name + FROM ".TB_PREF."grn_batch trans, ".TB_PREF."suppliers supp + WHERE id=".db_escape($trans_no) + ." AND trans.supplier_id=supp.supplier_id"; + break; + + case ST_JOURNAL: // FIXME - this one can have multiply counterparties of various types depending on person_type_id + + default: + /* // internal operations + case ST_WORKORDER : + case ST_INVADJUST : // GRN/DN returns ? + case ST_BANKTRANSFER : + case ST_LOCTRANSFER : + case ST_MANUISSUE : + case ST_MANURECEIVE : + case ST_COSTUPDATE : + case ST_BANKPAYMENT : // generic bank transactions + case ST_BANKDEPOSIT :*/ + return null; + } + + $result = db_query($sql, 'cannot retrieve counterparty name'); + if (db_num_rows($result)) + { + $row = db_fetch($result); + return sprintf("[%05s] %s", $row['person_id'], $row['name']); + } + + return ''; +} + function payment_person_has_items($type) { switch ($type) { @@ -130,6 +229,12 @@ function payment_person_has_items($type) { return false; } } +//---------------------------------------------------------------------------------- +// Payment terms categories +// +define('PM_ANY', 0); +define('PM_CASH', 1); +define('PM_CREDIT', 2); //---------------------------------------------------------------------------------- // Manufacturing types @@ -140,6 +245,7 @@ define('WO_ADVANCED', 2); define('WO_LABOUR', 0); define('WO_OVERHEAD', 1); +define('WO_MATERIALS', 2); //---------------------------------------------------------------------------------- // GL account classes @@ -176,11 +282,31 @@ define('ANY_NUMERIC', -1); define('ALL_TEXT', ''); define('ALL_NUMERIC', -1); +//---------------------------------------------------------------------------------- +// Special class values for tables (start_table()) +define('TABLESTYLE', 1); +define('TABLESTYLE2', 2); +define('TABLESTYLE_NOBORDER', 3); + //---------------------------------------------------------------------------------- define('TAG_ACCOUNT', 1); define('TAG_DIMENSION', 2); +//---------------------------------------------------------------------------------- +// Payment term types + +define('PTT_PRE', 1); +define('PTT_CASH', 2); +define('PTT_DAYS', 3); +define('PTT_FOLLOWING', 4); + +//---------------------------------------------------------------------------------- +// Tax calculation algorithms used in als and purchase (depends on supplier's invoicing software) + +define('TCA_TOTALS', 1); // taxes are calculated from respective net totals for all lines +define('TCA_LINES', 2); // taxes calculated for every line, then summed + include_once($path_to_root . '/includes/sysnames.inc'); ?> \ No newline at end of file