110 |
110 |
};
|
111 |
111 |
|
112 |
112 |
if ( $form->{customer} =~ /--/ ) {
|
113 |
|
# field data comes from dropdown box
|
114 |
|
($form->{customername}, $form->{customer_id}) = split(/--/, $form->{customer});
|
115 |
|
} elsif ($form->{customer}) {
|
116 |
|
|
117 |
|
# a value was added in the input box, we only want to filter for one
|
118 |
|
# customer, so check that a unique customer can be found
|
119 |
|
|
120 |
|
# check_name is executed with no_select => 1, if the result isn't unique
|
121 |
|
# quit with an error message, the user has to enter a new name
|
122 |
|
|
123 |
|
# Without no_select selecting a customer causes an update which doesn't
|
124 |
|
# return anything, which is the reason for this workaround
|
125 |
|
|
126 |
|
&check_name('customer', no_select => 1);
|
127 |
|
|
128 |
|
# $form->{customer_id} was already set by check_name
|
129 |
|
$form->{customername} = $form->{customer};
|
130 |
|
};
|
|
113 |
# Felddaten kommen aus Dropdownbox
|
|
114 |
my $dummy;
|
|
115 |
($dummy, $form->{customer_id}) = split(/--/, $form->{customer});
|
|
116 |
}
|
131 |
117 |
# if $form->{customer} is empty nothing further happens here
|
132 |
118 |
|
133 |
119 |
# test for decimalplaces or set to default of 2
|
... | ... | |
168 |
154 |
# pass hidden variables for pdf/csv export
|
169 |
155 |
# first with l_ to determine which columns to show
|
170 |
156 |
# then with the options for headings (such as transdatefrom, partnumber, ...)
|
171 |
|
my @hidden_variables = (qw(l_headers_mainsort l_headers_subsort l_subtotal_mainsort l_subtotal_subsort l_total l_parts l_customername l_customernumber transdatefrom transdateto decimalplaces customer customername customer_id department partnumber partsgroup country business description project_id customernumber salesman employee salesman_id employee_id business_id partsgroup_id mainsort subsort),
|
|
157 |
my @hidden_variables = (qw(l_headers_mainsort l_headers_subsort l_subtotal_mainsort l_subtotal_subsort l_total l_parts l_customername l_customernumber transdatefrom transdateto decimalplaces customer customer_id department partnumber partsgroup country business description project_id customernumber salesman employee salesman_id employee_id business_id partsgroup_id mainsort subsort),
|
172 |
158 |
"$form->{db}number",
|
173 |
159 |
map({ "cvar_$_->{name}" } @searchable_custom_variables),
|
174 |
160 |
map { "l_$_" } @columns
|
... | ... | |
222 |
208 |
my @options;
|
223 |
209 |
|
224 |
210 |
push @options, $locale->text('Description') . " : $form->{description}" if $form->{description};
|
225 |
|
push @options, $locale->text('Customer') . " : $form->{customername}" if $form->{customer};
|
|
211 |
push @options, $locale->text('Customer') . " : $form->{customer}" if $form->{customer};
|
226 |
212 |
push @options, $locale->text('Customer Number') . " : $form->{customernumber}" if $form->{customernumber};
|
227 |
213 |
# TODO: only customer id is passed
|
228 |
214 |
push @options, $locale->text('Department') . " : " . (split /--/, $form->{department})[0] if $form->{department};
|
Kundenfilter im Verkaufsbericht nicht mit check_name implementieren.
Sondern einfach nach dem Teilstring in der Abfarge suchen. Oder nach
der id, wenn der Name aus der Drop-Down-Box kommt.
Hintergrund: check_name überschreibt einige form-Variablen (z.B.
country und salesman_id) und dann ist der Bericht falsch.
Behebt #2468.