use SL::AM;
use SL::CVar;
use SL::IC;
+use SL::Helper::Flash;
use SL::ReportGenerator;
#use SL::PE;
# $form->header;
#
# print qq|
-#<body>
# <form method=post action=ic.pl>
# <table width=100%>
# <tr>
# . $locale->text('TOP100') . qq|">
#
#</form>
-#</body>
-#</html>
#|;
# $lxdebug->leave_sub();
#} #end list()
my $colspan = $#column_index + 1;
print qq|
-<body>
-
<table width=100%>
<tr>
<th class=listtop colspan=$colspan>$form->{title}</th>
. $locale->text('choice') . qq|">
</form>
-
-</body>
-</html>
|;
$lxdebug->leave_sub();
'bin' => { 'text' => $locale->text('Bin'), },
'deliverydate' => { 'text' => $locale->text('deliverydate'), },
'description' => { 'text' => $locale->text('Part Description'), },
+ 'notes' => { 'text' => $locale->text('Notes'), },
'drawing' => { 'text' => $locale->text('Drawing'), },
'ean' => { 'text' => $locale->text('EAN'), },
'image' => { 'text' => $locale->text('Image'), },
IC->all_parts(\%myconfig, \%$form);
my @columns = qw(
- partnumber description partsgroup bin onhand rop soldtotal unit listprice
+ partnumber description notes partsgroup bin onhand rop soldtotal unit listprice
linetotallistprice sellprice linetotalsellprice lastcost linetotallastcost
priceupdate weight image drawing microfiche invnumber ordnumber quonumber
transdate name serialnumber deliverydate ean projectnumber projectdescription
$row->{description}->{link} = $edit_link;
foreach (qw(sellprice listprice lastcost)) {
- $row->{$_}{data} = $form->format_amount(\%myconfig, $ref->{$_}, -2);
+ $row->{$_}{data} = $form->format_amount(\%myconfig, $ref->{$_}, 2);
$row->{"linetotal$_"}{data} = $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{$_}, 2);
}
foreach ( @pricegroup_columns ) {
- $row->{$_}{data} = $form->format_amount(\%myconfig, $ref->{"$_"}, -2);
+ $row->{$_}{data} = $form->format_amount(\%myconfig, $ref->{"$_"}, 2);
};
$idx++;
}
- if ($form->{"l_linetotal"}) {
+ if ($form->{"l_linetotal"} && !$form->{report_generator_csv_options_for_import}) {
my $row = { map { $_ => { 'class' => 'listtotal', } } @columns };
map { $row->{"linetotal$_"}->{data} = $form->format_amount(\%myconfig, $totals{$_}, 2) } @subtotal_columns;
IC->retrieve_buchungsgruppen(\%myconfig, $form);
@{ $form->{BUCHUNGSGRUPPEN} } = grep { $_->{id} eq $form->{buchungsgruppen_id} || ($form->{id} && $form->{orphaned}) || !$form->{id} } @{ $form->{BUCHUNGSGRUPPEN} };
+ if (($form->{partnumber} ne '') && !SL::TransNumber->new(number => $form->{partnumber}, type => $form->{item}, id => $form->{id})->is_unique) {
+ flash('info', $::locale->text('This partnumber is not unique. You should change it.'));
+ }
+
# use JavaScript Calendar or not (yes!)
$form->{jsscript} = 1;
$form->{defaults} = AM->get_defaults();
- $form->{fokus} = "ic.partnumber";
+ $::request->{layout}->focus("#partnumber");
$form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'IC', 'trans_id' => $form->{id});
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
$linetotal = $form->format_amount(\%myconfig, $linetotal, 2);
$line_purchase_price = $form->format_amount(\%myconfig, $line_purchase_price, 2);
- $href = qq|$form->{script}?action=edit&id=$form->{"id_$i"}&rowcount=$i&previousform=$previousform|;
+ $href = build_std_url("action=edit", qq|id=$form->{"id_$i"}|, "rowcount=$numrows", "currow=$i", "previousform=$previousform");
map { $row{$_}{data} = "" } qw(qty unit partnumber description bom partsgroup runningnumber);
# last row
$row{bom}{data} = $form->{"bom_$i"} ? "x" : " ";
$row{qty}{align} = 'right';
} else {
- $row{partnumber}{data} = qq|<a href=$href>$form->{"partnumber_$i"}</a>|;
+ $row{partnumber}{data} = qq|$form->{"partnumber_$i"}|;
+ $row{partnumber}{link} = $href;
$row{qty}{data} = qq|<input name="qty_$i" size=5 value="$form->{"qty_$i"}">|;
$row{runningnumber}{data} = qq|<input name="runningnumber_$i" size=3 value="$i">|;
$row{bom}{data} = sprintf qq|<input name="bom_$i" type=checkbox class=checkbox value=1 %s>|,
}
push @row_hiddens, qw(unit description partnumber partsgroup);
$row{unit}{data} = $form->{"unit_$i"};
- $row{description}{data} = $form->{"description_$i"};
- $row{partsgroup}{data} = $form->{"partsgroup_$i"};
- $row{bom}{align} = 'center';
+ #Bei der Artikelbeschreibung und Warengruppe können Sonderzeichen verwendet
+ #werden, die den HTML Code stören. Daher sollen diese im Template escaped werden
+ #dies geschieht, wenn die Variable escape gesetzt ist
+ $row{description}{data} = $form->{"description_$i"};
+ $row{description}{escape} = 1;
+ $row{partsgroup}{data} = $form->{"partsgroup_$i"};
+ $row{partsgroup}{escape} = 1;
+ $row{bom}{align} = 'center';
}
$row{lastcost}{data} = $line_purchase_price;
$form->error($locale->text('Partnumber must not be set to empty!')) if $form->{id} && !$form->{partnumber};
# save part
- $lxdebug->message($LXDebug::DEBUG1, "ic.pl: sellprice in save = $form->{sellprice}\n");
if (IC->save(\%myconfig, \%$form) == 3) {
$form->error($locale->text('Partnumber not unique!'));
}
qw(weight listprice sellprice rop);
$form->{assembly_rows}--;
- $i = $form->{assembly_rows};
+ if ($newform{currow}) {
+ $i = $newform{currow};
+ } else {
+ $i = $form->{assembly_rows};
+ }
$form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
$form->{sellprice} -= $form->{"sellprice_$i"} * $form->{"qty_$i"};
$form->{"sellprice_$i"} /= $form->{exchangerate};
}
- $lxdebug->message($LXDebug::DEBUG1, qq|sellprice_$i in previousform 2 = | . $form->{"sellprice_$i"} . qq|\n|);
-
map { $form->{"taxaccounts_$i"} .= "$_ " } split / /, $newform{taxaccount};
chop $form->{"taxaccounts_$i"};
foreach my $item (qw(description rate taxnumber)) {
}
$form->{callback} = $callback;
}
- $lxdebug->message($LXDebug::DEBUG1, qq|ic.pl: sellprice_$i nach sub save = | . $form->{"sellprice_$i"} . qq|\n|);
# redirect
$form->redirect;