2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 //----------------------------------------------------------------------------------
14 $systypes_array = array (
15 0=> array ('name' => _("Journal Entry")),
16 1=> array ('name' => _("Bank Payment")),
17 2=> array ('name' => _("Bank Deposit")),
18 4=> array ('name' => _("Funds Transfer")),
19 10=> array ('name' => _("Sales Invoice")),
20 11=> array ('name' => _("Customer Credit Note")),
21 12=> array ('name' => _("Customer Payment")),
22 13=> array ('name' => _("Delivery Note")),
23 16=> array ('name' => _("Location Transfer")),
24 17=> array ('name' => _("Inventory Adjustment")),
25 18=> array ('name' => _("Purchase Order")),
26 20=> array ('name' => _("Supplier Invoice")),
27 21=> array ('name' => _("Supplier Credit Note")),
28 22=> array ('name' => _("Supplier Payment")),
29 25=> array ('name' => _("Purchase Order Delivery")),
30 26=> array ('name' => _("Work Order")),
31 28=> array ('name' => _("Work Order Issue")),
32 29=> array ('name' => _("Work Order Production")),
33 30=> array ('name' => _("Sales Order")),
34 32=> array ('name' => _("Sales Quotations")),
35 35=> array ('name' => _("Cost Update")),
36 40=> array ('name' => _("Dimension"))
41 function journal_entry()
46 function bank_payment()
51 function bank_deposit()
56 function bank_transfer()
61 function cust_payment()
66 function cust_dispatch()
71 function location_transfer()
76 function inventory_adjustment()
86 function supp_payment()
96 function sales_order()
101 function sales_quotation()
106 function cost_update()
116 function name($index)
118 global $systypes_array;
121 return $systypes_array[$index]['name'];
125 //----------------------------------------------------------------------------------
127 $bank_account_types_array = array (
128 0=> array ('id' => 0, 'name' => _("Savings Account"), 'ptype' => _("Transfer")),
129 1=> array ('id' => 1, 'name' => _("Chequing Account"),'ptype' => _("Cheque")),
130 2=> array ('id' => 2, 'name' => _("Credit Account"), 'ptype' => _("Credit")),
131 3=> array ('id' => 3, 'name' => _("Cash Account"), 'ptype' => _("Cash"))
134 class bank_account_types
139 global $bank_account_types_array;
140 return $bank_account_types_array;;
143 function name($index)
145 global $bank_account_types_array;
146 return $bank_account_types_array[$index]['name'];
149 function transfer_type($index)
151 global $bank_account_types_array;
152 return $bank_account_types_array[$index]['ptype'];
157 $tabs = array('orders'=>_("Sales"), 'AP'=>_("Purchases"), 'stock'=>_("Items and Inventory"), 'manuf'=>_("Manufacturing"),
158 'proj'=>_("Dimensions"), 'GL'=>_("Banking and General Ledger"), 'system'=>_("Setup"));
160 //----------------------------------------------------------------------------------
162 include_once($path_to_root . "/manufacturing/includes/manufacturing_db.inc");
163 include_once($path_to_root . "/purchasing/includes/purchasing_db.inc");
164 include_once($path_to_root . "/sales/includes/sales_db.inc");
165 include_once($path_to_root . "/dimensions/includes/dimensions_db.inc");
167 $payment_person_types_array = array (
168 0=> array ('id' => 0, 'name' => _("Miscellaneous")),
169 1=> array ('id' => 1, 'name' => _("Work Order")),
170 2=> array ('id' => 2, 'name' => _("Customer")),
171 3=> array ('id' => 3, 'name' => _("Supplier")),
172 4=> array ('id' => 4, 'name' => _("Quick Entry"))
175 class payment_person_types
180 global $payment_person_types_array;
181 return $payment_person_types_array;
204 function QuickEntry()
214 function type_name($type)
216 global $payment_person_types_array;
217 return $payment_person_types_array[$type]['name'];
220 function person_name($type, $person_id, $full=true)
224 case payment_person_types::misc() :
226 case payment_person_types::QuickEntry() :
227 $qe = get_quick_entry($person_id);
228 return ($full?payment_person_types::type_name($type) . " ":"") . $qe["description"];
229 case payment_person_types::WorkOrder() :
230 global $wo_cost_types;
231 return $wo_cost_types[$person_id];
232 case payment_person_types::customer() :
233 return ($full?payment_person_types::type_name($type) . " ":"") . get_customer_name($person_id);
234 case payment_person_types::supplier() :
235 return ($full?payment_person_types::type_name($type) . " ":"") . get_supplier_name($person_id);
237 //DisplayDBerror("Invalid type sent to person_name");
243 function person_currency($type, $person_id)
247 case payment_person_types::misc() :
248 case payment_person_types::QuickEntry() :
249 case payment_person_types::WorkOrder() :
250 return get_company_currency();
252 case payment_person_types::customer() :
253 return get_customer_currency($person_id);
255 case payment_person_types::supplier() :
256 return get_supplier_currency($person_id);
259 return get_company_currency();
263 function has_items($type)
267 case payment_person_types::misc() :
269 case payment_person_types::QuickEntry() :
270 return db_has_quick_entries();
271 case payment_person_types::WorkOrder() : // 070305 changed to open workorders JH
272 return db_has_open_workorders();
273 case payment_person_types::customer() :
274 return db_has_customers();
275 case payment_person_types::supplier() :
276 return db_has_suppliers();
278 display_db_error("Invalid type sent to has_items", "");
284 //----------------------------------------------------------------------------------
286 $wo_types_array = array (
287 0=> array ('id' => 0, 'name' => _("Assemble")),
288 1=> array ('id' => 1, 'name' => _("Unassemble")),
289 2=> array ('id' => 2, 'name' => _("Advanced Manufacture"))
300 function unassemble()
312 global $wo_types_array;
313 return $wo_types_array;;
316 function name($index)
318 global $wo_types_array;
319 return $wo_types_array[$index]['name'];
323 define('CL_NONE', 0); // for backward compatibility
324 define('CL_ASSETS', 1);
325 define('CL_LIABILITIES', 2);
326 define('CL_EQUITY', 3);
327 define('CL_INCOME', 4);
328 define('CL_COGS', 5);
329 define('CL_EXPENSE', 6);
331 $class_types = array(
332 CL_ASSETS => _("Assets"),
333 CL_LIABILITIES => _("Liabilities"),
334 CL_EQUITY => _("Equity"),
335 CL_INCOME => _("Income"),
336 CL_COGS => _("Cost of Goods Sold"),
337 CL_EXPENSE => _("Expense"),
340 function get_class_type_convert($ctype)
342 global $use_oldstyle_convert;
343 if (isset($use_oldstyle_convert) && $use_oldstyle_convert == 1)
344 return (($ctype >= CL_INCOME || $ctype == CL_NONE) ? -1 : 1);
346 return ((($ctype >= CL_LIABILITIES && $ctype <= CL_INCOME) || $ctype == CL_NONE) ? -1 : 1);
348 define('WO_LABOUR', 0);
349 define('WO_OVERHEAD', 1);
351 $wo_cost_types = array(
352 WO_LABOUR => _("Labour Cost"),
353 WO_OVERHEAD => _("Overhead Cost"),
356 $quick_actions = array(
357 '=' => _('Remainder'), // post current base amount to GL account
358 'a' => _('Amount'), // post amount to GL account
359 'a+' => _('Amount, increase base'), // post amount to GL account and increase base
360 'a-' => _('Amount, reduce base'), // post amount to GL account and reduce base
361 '%' => _('% amount of base'), // store acc*amount% to GL account
362 '%+' => _('% amount of base, increase base'), // ditto & increase base amount
363 '%-' => _('% amount of base, reduce base'), // ditto & reduce base amount
364 'T' => _('Taxes added'), // post taxes calculated on base amount
365 'T+' => _('Taxes added, increase base'), // ditto & increase base amount
366 'T-' => _('Taxes added, reduce base'), // ditto & reduce base amount
367 't' => _('Taxes included'), // post taxes calculated on base amount
368 't+' => _('Taxes included, increase base'), // ditto & increase base amount
369 't-' => _('Taxes included, reduce base') // ditto & reduce base amount
372 define('QE_PAYMENT', '1');
373 define('QE_DEPOSIT', '2');
374 define('QE_JOURNAL', '3');
375 define('QE_SUPPINV', '4');
377 $quick_entry_types = array(
378 QE_DEPOSIT => _("Bank Deposit"),
379 QE_PAYMENT => _("Bank Payment"),
380 QE_JOURNAL => _("Journal Entry"),
381 QE_SUPPINV => _("Supplier Invoice/Credit")
384 // Types of stock items
385 $stock_types = array(
386 'M' => _("Manufactured"),
387 'B' => _("Purchased"),