my ($self, $myconfig, $reference_date) = @_;
- my $reference_date = $reference_date ? conv_dateq($reference_date) . '::DATE' : 'current_date';
+ $reference_date = $reference_date ? conv_dateq($reference_date) . '::DATE' : 'current_date';
- my $dbh = $self->get_standard_dbh($myconfig);
- my $query = qq|SELECT ${reference_date} + terms_netto FROM payment_terms WHERE id = ?|;
- my ($duedate) = selectrow_query($self, $dbh, $query, $self->{payment_id});
+ my $dbh = $self->get_standard_dbh($myconfig);
+ my $query = qq|SELECT ${reference_date} + terms_netto FROM payment_terms WHERE id = ?|;
+ my ($duedate) = selectrow_query($self, $dbh, $query, $self->{payment_id});
$main::lxdebug->leave_sub();
my $transdate = quote_db_date($params->{transdate});
my $query =
- qq|SELECT c.id, c.accno, c.description, c.link, tk.taxkey_id, tk.tax_id | .
+ qq|SELECT c.id, c.accno, c.description, c.link, c.charttype, tk.taxkey_id, tk.tax_id | .
qq|FROM chart c | .
qq|LEFT JOIN taxkeys tk ON | .
qq|(tk.id = (SELECT id FROM taxkeys | .
}
}
- $form->{datepaid} = $form->{invdate};
-
# total payments, don't move we need it here
for my $i (1 .. $form->{paidaccounts}) {
if ($form->{type} eq "credit_note") {
my $application = ($attachment =~ /(^\w+$)|\.(html|text|txt|sql)$/) ? "text" : "application";
my $content_type = SL::MIME->mime_type_from_ext($filename);
- $content_type = "${application}/${self->{format}}" if (!$content_type && $self->{format});
+ $content_type = "${application}/$self->{format}" if (!$content_type && $self->{format});
$content_type ||= 'application/octet-stream';
open(IN, $attachment);
$auth->assert('customer_vendor_edit');
CT->get_delivery(\%myconfig, \%$form );
+ $form->{IS_CUSTOMER} = $form->{db} eq 'customer';
print $form->ajax_response_header(), $form->parse_html_template('ct/get_delivery');
}
$form->header();
+ # Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID'
+ $form->{department} .= '--' . $form->{department_id};
+
print $form->parse_html_template('do/form_header');
$lxdebug->leave_sub();
$form->{callback} = "gl.pl?action=add" unless $form->{callback};
# we use this only to set a default date
+ # yep. aber er holt hier auch schon ALL_CHARTS. Aufwand / Nutzen? jb
GL->transaction(\%myconfig, \%$form);
map {
my %charts = ();
my $taxchart_init;
foreach my $item (@{ $form->{ALL_CHARTS} }) {
+ if ($item->{charttype} eq 'H'){ #falls überschrift
+ next; #überspringen (Bug 1150)
+ }
my $key = $item->{accno} . "--" . $item->{tax_id};
$taxchart_init = $item->{tax_id} unless (@chart_values);
push(@chart_values, $key);
} else {
$sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"});
- $form->{"discount_$i"} = 0 if $form->{"not_discountable_$i"};
+ # hier werden parts (Artikeleigenschaften) aus item_list (retrieve_item aus IS.pm)
+ # (item wahrscheinlich synonym für parts) entsprechend in die form geschrieben ...
+
+ # Wäre dieses Mapping nicht besser in retrieve_items aufgehoben?
+ #(Eine Funktion bekommt Daten -> ARBEIT -> Rückgabe DATEN)
+ # Das quot sieht doch auch nach Überarbeitung aus ... (hmm retrieve_items gibt es in IS und IR)
map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } qw(partnumber description unit);
map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } keys %{ $form->{item_list}[0] };
+
+ # ... deswegen muss die prüfung, ob es sich um einen nicht rabattierfähigen artikel handelt später erfolgen (Bug 1136)
+ $form->{"discount_$i"} = 0 if $form->{"not_discountable_$i"};
$form->{payment_id} = $form->{"part_payment_id_$i"} if $form->{"part_payment_id_$i"} ne "";
$form->{"marge_price_factor_$i"} = $form->{item_list}->[0]->{price_factor};
[%- FOREACH row = DELIVERY %]
<tr class="listrow[% loop.count % 2 %]">
<td>[% HTML.escape(row.shiptoname) UNLESS loop.prev.shiptoname == row.shiptoname %] </td>
- <td>[% IF row.id %]<a href='is.pl?action=edit&id=[% HTML.escape(row.id) %]'>[% END %][% HTML.escape(row.invnumber) || ' ' %][% IF row.id %]</a>[% END %]</td>
+ <td>[% IF row.id %]<a href='[% IF IS_CUSTOMER %]is[% ELSE %]ir[% END %].pl?action=edit&id=[% HTML.escape(row.id) %]'>[% END %][% HTML.escape(row.invnumber) || ' ' %][% IF row.id %]</a>[% END %]</td>
<td>[% IF row.oe_id %]<a href='oe.pl?action=edit&type=sales_order&vc=customer&id=[% HTML.escape(row.oe_id) %]'>[% END %][% HTML.escape(row.ordnumber) || ' ' %][% IF row.oe_id %]</a>[% END %]</td>
<td>[% HTML.escape(row.transdate) || ' ' %]</td>
<td>[% HTML.escape(row.description) || ' ' %]</td>
[%- FOREACH row = DELIVERY %]
<tr class="listrow[% loop.count % 2 %]">
<td>[% HTML.escape(row.shiptoname) UNLESS loop.prev.shiptoname == row.shiptoname %] </td>
- <td>[% IF row.id %]<a href='is.pl?action=edit&id=[% HTML.escape(row.id) %]'>[% END %][% HTML.escape(row.invnumber) || ' ' %][% IF row.id %]</a>[% END %]</td>
+ <td>[% IF row.id %]<a href='[% IF IS_CUSTOMER %]is[% ELSE %]ir[% END %].pl?action=edit&id=[% HTML.escape(row.id) %]'>[% END %][% HTML.escape(row.invnumber) || ' ' %][% IF row.id %]</a>[% END %]</td>
<td>[% IF row.oe_id %]<a href='oe.pl?action=edit&type=sales_order&vc=customer&id=[% HTML.escape(row.oe_id) %]'>[% END %][% HTML.escape(row.ordnumber) || ' ' %][% IF row.oe_id %]</a>[% END %]</td>
<td>[% HTML.escape(row.transdate) || ' ' %]</td>
<td>[% HTML.escape(row.description) || ' ' %]</td>