Merged changes up to version 2.3.4 into unstable.
[fa-stable.git] / includes / types.inc
index 86dd7d72c936a93b0f1997b86141b7d51cb90326..70fb7f0cc08e285cd4b9782c37c4f472243f0045 100644 (file)
@@ -42,30 +42,35 @@ define('ST_SALESQUOTE', 32);
 define('ST_COSTUPDATE', 35);
 define('ST_DIMENSION', 40);
 
-$systypes_array = array (
-       ST_JOURNAL => _("Journal Entry"),
-       ST_BANKPAYMENT => _("Bank Payment"),
-       ST_BANKDEPOSIT => _("Bank Deposit"),
-       ST_BANKTRANSFER => _("Funds Transfer"),
-       ST_SALESINVOICE => _("Sales Invoice"),
-       ST_CUSTCREDIT => _("Customer Credit Note"),
-       ST_CUSTPAYMENT => _("Customer Payment"),
-       ST_CUSTDELIVERY => _("Delivery Note"),
-       ST_LOCTRANSFER => _("Location Transfer"),
-       ST_INVADJUST => _("Inventory Adjustment"),
-       ST_PURCHORDER => _("Purchase Order"),
-       ST_SUPPINVOICE => _("Supplier Invoice"),
-       ST_SUPPCREDIT => _("Supplier Credit Note"),
-       ST_SUPPAYMENT => _("Supplier Payment"),
-       ST_SUPPRECEIVE => _("Purchase Order Delivery"),
-       ST_WORKORDER => _("Work Order"),
-       ST_MANUISSUE => _("Work Order Issue"),
-       ST_MANURECEIVE => _("Work Order Production"),
-       ST_SALESORDER => _("Sales Order"),
-       ST_SALESQUOTE => _("Sales Quotation"),
-       ST_COSTUPDATE => _("Cost Update"),
-       ST_DIMENSION => _("Dimension")
-       );
+// Don't include these defines in the $systypes_array.
+// They are used for documents only.
+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
@@ -75,31 +80,10 @@ define('BT_CHEQUE', 1);
 define('BT_CREDIT', 2);
 define('BT_CASH', 3);
 
-$bank_account_types = array (
-       BT_TRANSFER => _("Savings Account"),
-               _("Chequing Account"),
-               _("Credit Account"),
-               _("Cash Account")
-       );
-
-$bank_transfer_types = array(
-       BT_TRANSFER => _("Transfer"),
-                       _("Cheque"),
-                       _("Credit"),
-                       _("Cash")
-       );
-
-//----------------------------------------------------------------------------------
-// Core FA menu tabs (modules)
-//
-$tabs = array('orders'=>_("Sales"), 
-                       'AP'=>_("Purchases"),
-                       'stock'=>_("Items and Inventory"),
-                       'manuf'=>_("Manufacturing"), 
-                       'proj'=>_("Dimensions"),
-                       'GL'=>_("Banking and General Ledger"),
-                       'system'=>_("Setup"));
-
+include_once($path_to_root . "/manufacturing/includes/manufacturing_db.inc");
+include_once($path_to_root . "/purchasing/includes/purchasing_db.inc");
+include_once($path_to_root . "/sales/includes/sales_db.inc");
+include_once($path_to_root . "/dimensions/includes/dimensions_db.inc");
 //----------------------------------------------------------------------------------
 //     Payment types
 //
@@ -110,14 +94,6 @@ define('PT_SUPPLIER', 3);
 define('PT_QUICKENTRY', 4);
 define('PT_DIMESION', 5);
 
-$payment_person_types = array (
-       PT_MISC => _("Miscellaneous"),
-                               _("Work Order"),
-                               _("Customer"),
-                               _("Supplier"),
-                               _("Quick Entry")
-       );
-
 function payment_person_currency($type, $person_id)  {
        switch ($type)
        {
@@ -179,6 +155,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
@@ -187,19 +169,9 @@ define('WO_ASSEMBLY', 0);
 define('WO_UNASSEMBLY', 1);
 define('WO_ADVANCED', 2);
 
-$wo_types_array = array (
-       WO_ASSEMBLY => _("Assemble"),
-       WO_UNASSEMBLY => _("Unassemble"),
-       WO_ADVANCED => _("Advanced Manufacture")
-       );
-
 define('WO_LABOUR', 0);
 define('WO_OVERHEAD', 1);
-
-$wo_cost_types = array(
-               WO_LABOUR => _("Labour Cost"),
-               WO_OVERHEAD => _("Overhead Cost"),
-);
+define('WO_MATERIALS', 2);
 
 //----------------------------------------------------------------------------------
 //     GL account classes
@@ -212,15 +184,6 @@ define('CL_INCOME', 4);
 define('CL_COGS', 5);
 define('CL_EXPENSE', 6);
 
-$class_types = array(
-               CL_ASSETS => _("Assets"),
-               CL_LIABILITIES => _("Liabilities"),
-               CL_EQUITY => _("Equity"),
-               CL_INCOME => _("Income"),
-               CL_COGS => _("Cost of Goods Sold"),
-               CL_EXPENSE => _("Expense"),
-);
-
 function get_class_type_convert($ctype)
 {
        global $use_oldstyle_convert;
@@ -232,34 +195,11 @@ function get_class_type_convert($ctype)
 //----------------------------------------------------------------------------------
 //     Quick entry types
 //
-$quick_actions = array(
-       '=' => _('Remainder'), // post current base amount to GL account
-       'a' => _('Amount'), // post amount to GL account
-       'a+' => _('Amount, increase base'), // post amount to GL account and increase base
-       'a-' => _('Amount, reduce base'), // post amount to GL account and reduce base
-       '%' => _('% amount of base'),   // store acc*amount% to GL account
-       '%+' => _('% amount of base, increase base'),   // ditto & increase base amount
-       '%-' => _('% amount of base, reduce base'),     // ditto & reduce base amount
-       'T' => _('Taxes added'), // post taxes calculated on base amount
-       'T+' => _('Taxes added, increase base'), // ditto & increase base amount
-       'T-' => _('Taxes added, reduce base'), // ditto & reduce base amount
-       't' => _('Taxes included'), // post taxes calculated on base amount
-       't+' => _('Taxes included, increase base'), // ditto & increase base amount
-       't-' => _('Taxes included, reduce base') // ditto & reduce base amount
-);
-
 define('QE_PAYMENT', '1');
 define('QE_DEPOSIT', '2');
 define('QE_JOURNAL', '3');
 define('QE_SUPPINV', '4');
 
-$quick_entry_types = array(
-               QE_DEPOSIT => _("Bank Deposit"),
-               QE_PAYMENT => _("Bank Payment"),
-               QE_JOURNAL => _("Journal Entry"),
-               QE_SUPPINV => _("Supplier Invoice/Credit")
-);
-
 //----------------------------------------------------------------------------------
 //     Special option values for various list selectors.
 //
@@ -268,13 +208,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);
 
 //----------------------------------------------------------------------------------
-// Types of stock items
-$stock_types = array(
-               'M' => _("Manufactured"),
-               'B' => _("Purchased"),
-               'D' => _("Service")
-);
+
+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