+ /*
+ Transition function
+ */
+ function SetCommonData($myrow, $branch, $sales_order, $bankaccount, $doctype, $contacts)
+ {
+// $this->formData = array_merge($myrow, $branch, $sales_order,
+// $bank_account, array('doctype' => $doctype));
+
+ $this->formData = array();
+ $datnames = array(
+ 'myrow' => array('ord_date', 'date_', 'tran_date',
+ 'order_no','reference', 'id', 'trans_no', 'name', 'location_name',
+ 'delivery_address', 'supp_name', 'address',
+ 'DebtorName', 'supp_account_no', 'wo_ref', 'debtor_ref','type', 'trans_no',
+ 'StockItemName', 'tax_id', 'order_', 'delivery_date', 'units_issued',
+ 'due_date', 'required_by', 'payment_terms', 'curr_code',
+ 'ov_freight', 'ov_gst', 'ov_amount', 'prepaid', 'requisition_no', 'contact'),
+ 'branch' => array('br_address', 'br_name', 'salesman', 'disable_branch'),
+ 'sales_order' => array('deliver_to', 'delivery_address', 'customer_ref'),
+ 'bankaccount' => array('bank_name', 'bank_account_number', 'payment_service')
+ );
+
+ foreach($datnames as $var => $fields) {
+ if (isset($$var)) {
+ foreach($fields as $locname) {
+ if (isset(${$var}[$locname]) && (${$var}[$locname]!==null)) {
+ $this->formData[$locname] = ${$var}[$locname];
+ }
+ }
+ }
+ }
+ $this->formData['doctype'] = $doctype;
+ $this->formData['document_amount'] = @$this->formData['ov_amount']+@$this->formData['ov_freight']+@$this->formData['ov_gst'];
+ if (count($contacts)) {
+ if (!is_array($contacts[0]))
+ $contacts = array($contacts); // change to array when single contact passed
+ $this->contactData = $contacts;
+ // as report is currently generated once despite number of email recipients
+ // we select language for the first recipient as report language
+ $this->formData['rep_lang'] = $contacts[0]['lang'];
+ }
+ }
+ /*
+ Set header handler
+ */
+ function SetHeaderType($name) {
+ $this->headerTmpl = $name;
+ }
+ /*
+ Header for sales/purchase documents
+ */
+ function Header2()