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
map { $column_defs{$_}->{visible} ||= $form->{"l_$_"} ? 1 : 0 } @columns;
map { $column_defs{$_}->{align} = 'right' } qw(onhand sellprice listprice lastcost linetotalsellprice linetotallastcost linetotallistprice rop weight soldtotal), @pricegroup_columns;
- my @hidden_variables = (qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups), @itemstatus_keys, @callback_keys,
- map({ "cvar_$_->{name}" } @searchable_custom_variables), map { "l_$_" } @columns);
+ my @hidden_variables = (
+ qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups),
+ @itemstatus_keys,
+ @callback_keys,
+ map({ "cvar_$_->{name}" } @searchable_custom_variables),
+ map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)),
+ map({ "l_$_" } @columns),
+ );
my $callback = build_std_url('action=generate_report', grep { $form->{$_} } @hidden_variables);
$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);
};
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;