payments_changeable => { type => 'integer', default => '0', not_null => 1 },
pdonumber => { type => 'text' },
ponumber => { type => 'text' },
- precision => { type => 'numeric', default => '0.01', not_null => 1, precision => 15, scale => 5 },
profit_determination => { type => 'text' },
project_status_id => { type => 'integer' },
project_type_id => { type => 'integer' },
}
sub round_amount {
- my ($self, $amount, $places, $adjust) = @_;
+ my ($self, $amount, $places) = @_;
return 0 if !defined $amount;
$places //= 0;
- if ($adjust) {
- my $precision = $::instance_conf->get_precision || 0.01;
- return $self->round_amount( $self->round_amount($amount / $precision, 0) * $precision, $places);
- }
-
# We use Perl's knowledge of string representation for
# rounding. First, convert the floating point number to a string
# with a high number of places. Then split the string on the decimal
+++ /dev/null
--- @tag: defaults_add_precision
--- @description: adds new column 'precision' in table defaults, used to round amounts
--- @depends: release_3_0_0
-ALTER TABLE defaults ADD COLUMN precision NUMERIC(15,5) NOT NULL DEFAULT(0.01);
-