Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 991d16bb

Von Jan Büren vor etwa 10 Jahren hinzugefügt

  • ID 991d16bbbc32c05e2e30e00711a42ba20207a8db
  • Vorgänger 78912e55
  • Nachfolger 6934a717

Weitere Positionen verknüpft II

Gutschrift und Rückwartsverknüpfungen umgesetzt. Ferner für
OE.pm und IS.pm den Aufruf von RecordLinks in eine foreach
Schleife gesetzt (einfachere Codewartung).
Kleinigkeiten die mir hier nicht gefällt: converted_from_quotation,
die Variable ist jetzt noch drin und macht "nicht so viel Sinn",
da orderitems nicht zwischen Angebot und Auftrag (oe) unterscheidet.
Ansonsten ist die Positionsverknüpfung z.Z. genauer als die Beleg-Verknüpfung (s.a. #29)
und der nächste Schritt hiefür wäre die Visualisierung an der Oberfläche

Unterschiede anzeigen:

SL/IS.pm
name_postfix => "_$i",
dbh => $dbh);
}
# link oe items with invoice
if ($form->{"converted_from_orderitems_id_$i"}) {
RecordLinks->create_links('dbh' => $dbh,
'mode' => 'ids',
'from_table' => 'orderitems',
'from_ids' => $form->{"converted_from_orderitems_id_$i"},
'to_table' => 'invoice',
'to_id' => $form->{"invoice_id_$i"},
);
delete $form->{"converted_from_orderitems_id_$i"};
}
# link doi items with invoice
if ($form->{"converted_from_delivery_order_items_id_$i"}) {
RecordLinks->create_links('dbh' => $dbh,
'mode' => 'ids',
'from_table' => 'delivery_order_items',
'from_ids' => $form->{"converted_from_delivery_order_items_id_$i"},
'to_table' => 'invoice',
'to_id' => $form->{"invoice_id_$i"},
);
delete $form->{"converted_from_delivery_order_items_id_$i"};
# link previous items with invoice items
foreach (qw(delivery_order_items orderitems invoice)) {
if ($form->{"converted_from_${_}_id_$i"}) {
RecordLinks->create_links('dbh' => $dbh,
'mode' => 'ids',
'from_table' => $_,
'from_ids' => $form->{"converted_from_${_}_id_$i"},
'to_table' => 'invoice',
'to_id' => $form->{"invoice_id_$i"},
);
delete $form->{"converted_from_${_}_id_$i"};
}
}
}
SL/OE.pm
name_prefix => 'ic_',
name_postfix => "_$i",
dbh => $dbh);
# link quotation items with order items and delete entry (just one link)
if ($form->{"converted_from_quotation_orderitems_id_$i"}) {
RecordLinks->create_links('dbh' => $dbh,
'mode' => 'ids',
'from_table' => 'orderitems',
'from_ids' => $form->{"converted_from_quotation_orderitems_id_$i"},
'to_table' => 'orderitems',
'to_id' => $orderitems_id,
);
delete $form->{"converted_from_quotation_orderitems_id_$i"};
# link previous items with orderitems
foreach (qw(quotation_orderitems orderitems invoice)) {
if ($form->{"converted_from_${_}_id_$i"}) {
my $table = $_;
$table = 'orderitems' if $table eq 'quotation_orderitems';
RecordLinks->create_links('dbh' => $dbh,
'mode' => 'ids',
'from_table' => $table,
'from_ids' => $form->{"converted_from_${_}_id_$i"},
'to_table' => 'orderitems',
'to_id' => $orderitems_id,
);
delete $form->{"converted_from_${_}_id_$i"};
}
}
}
}
bin/mozilla/io.pl
my @hidden_vars;
# add hidden ids for persistent (item|invoice)_ids and previous (converted_from*) ids
if ($is_quotation) {
push @hidden_vars, qw(orderitems_id);
push @hidden_vars, qw(orderitems_id converted_from_orderitems_id);
}
if ($is_s_p_order) {
push @hidden_vars, qw(orderitems_id converted_from_quotation_orderitems_id);
push @hidden_vars, qw(orderitems_id converted_from_quotation_orderitems_id converted_from_invoice_id);
}
if ($is_invoice) {
push @hidden_vars, qw(invoice_id converted_from_orderitems_id converted_from_delivery_order_items_id);
......
stock_out stock_in has_sernumber reqdate orderitems_id
active_price_source active_discount_source delivery_order_items_id
invoice_id converted_from_quotation_orderitems_id
converted_from_orderitems_id converted_from_delivery_order_items_id);
converted_from_orderitems_id converted_from_delivery_order_items_id
converted_from_invoice_id);
my $ic_cvar_configs = CVar->get_configs(module => 'IC');
push @flds, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
......
map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"})
if ($form->{"${_}_${i}"}) }
qw(ship qty sellprice listprice basefactor discount));
$form->{"converted_from_invoice_id_$i"} = delete $form->{"invoice_id_$i"};
}
&prepare_order;
......
# we are coming from *_order and convert to quotation
# it seems that quotation is only called if we have a existing order
if ($form->{type} =~ /(sales|purchase)_order/) {
delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
$form->{"converted_from_orderitems_id_$_"} = delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
}
if ($form->{second_run}) {
$form->{print_and_post} = 0;
bin/mozilla/is.pl
$form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if $form->{"${_}_${i}"};
}
}
# set new persistent ids for credit note
delete $form->{"invoice_id_$_"} for 1 .. $form->{"rowcount"};
# set new persistent ids for credit note and link previous invoice id
$form->{"converted_from_invoice_id_$_"} = delete $form->{"invoice_id_$_"} for 1 .. $form->{"rowcount"};
my $currency = $form->{currency};
&invoice_links;
bin/mozilla/oe.pl
# reset
map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered ordnumber);
$form->{"converted_from_quotation_orderitems_id_$_"} = $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"}; # always reset orderitems_id
delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"}; # always reset orderitems_id
# this converted variable is also used for sales_order to purchase order and vice versa
$form->{"converted_from_quotation_orderitems_id_$_"} = delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"};
# if purchase_order was generated from sales_order, use lastcost_$i as sellprice_$i
# also reset discounts

Auch abrufbar als: Unified diff