X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fcart_class.inc;h=38ffeba76be1147b2bb0dc9bff49cb59e741dfdf;hb=cf015790b7363cfcf29b98c82d20787c8d703fc1;hp=9a730136fb4ed09806b210a394f71cf2fe264f2d;hpb=d34add5e762a470a52fade37173b4491462ee22a;p=fa-stable.git diff --git a/sales/includes/cart_class.inc b/sales/includes/cart_class.inc index 9a730136..38ffeba7 100644 --- a/sales/includes/cart_class.inc +++ b/sales/includes/cart_class.inc @@ -54,7 +54,7 @@ class cart var $tax_group_id; var $tax_group_name; var $tax_group_array = null; // saves db queries - + var $price_factor; // ditto for price calculations //------------------------------------------------------------------------- // // $trans_no==0 => open new/direct document @@ -67,7 +67,6 @@ class cart $this->sales_type = ""; $this->trans_type = 30; $this->read($type, $trans_no, $view ); - } //------------------------------------------------------------------------- @@ -85,6 +84,7 @@ class cart $line = &$this->line_items[$line_no]; $line->qty_dispatched = $line->quantity - $line->qty_done; } + $this->document_date = Today(); } } else { // derivative transaction read_sales_trans($type, $trans_no, $this); @@ -126,11 +126,20 @@ class cart $this->trans_type = $type; $this->trans_no = 0; // set new sales document defaults here - $this->customer_id = ''; + if (get_global_customer() != reserved_words::get_all()) + $this->customer_id = get_global_customer(); + else + $this->customer_id = ''; $this->document_date = Today(); if (!is_date_in_fiscalyear($this->document_date)) $this->document_date = end_fiscalyear(); $this->reference = references::get_next($this->trans_type); + if ($type == 10) + $this->due_date = + get_invoice_duedate($this->customer_id, $this->document_date); + else + $this->due_date = + add_days($this->document_date, 10); // FIX this should be in company prefs } } @@ -189,12 +198,12 @@ class cart $this->tax_group_array = get_tax_group_items_as_array($tax_group_id); } - function set_sales_type($sales_type, $sales_name, $tax_included=0) + function set_sales_type($sales_type, $sales_name, $tax_included=0, $factor=0) { - $old_tax_inc = $this->tax_included; $this->sales_type = $sales_type; $this->sales_type_name = $sales_name; $this->tax_included = $tax_included; + $this->price_factor = $factor; } function set_location($id, $name) @@ -227,7 +236,6 @@ class cart function update_cart_item($line_no, $qty, $price, $disc) { - $this->line_items[$line_no]->quantity = $qty; $this->line_items[$line_no]->qty_dispatched = $qty; $this->line_items[$line_no]->price = $price; @@ -335,6 +343,12 @@ class cart $taxes = get_tax_for_items($items, $prices, $shipping_cost, $this->tax_group_id, $this->tax_included, $this->tax_group_array); + // Adjustment for swiss franken, we always have 5 rappen = 1/20 franken + if ($this->customer_currency == 'CHF') { + $val = $taxes['1']['Value']; + $val1 = (floatval((intval(round(($val*20),0)))/20)); + $taxes['1']['Value'] = $val1; + } return $taxes; }