<td width=5%> </td>
<th>| . $locale->text('From') . qq|</th>
$button1
- <th>| . $locale->text('To') . qq|</th>
+ <th>| . $locale->text('To (time)') . qq|</th>
$button2
</tr>
</table>
<tr>
<th>| . $locale->text('From') . qq|</th>
$button1
- <th>| . $locale->text('To') . qq|</th>
+ <th>| . $locale->text('To (time)') . qq|</th>
$button2
</tr>
</table>
<tr>
<th align=right nowrap>| . $locale->text('Part Number') . qq|</th>
<td><input name=partnumber size=20></td>
+ <th align=right nowrap>| . $locale->text('EAN') . qq|</th>
+ <td><input name=ean size=20></td>
</tr>
<tr>
<th align=right nowrap>|
<td colspan=3>
<table>
<tr>
- <td><input name=l_partnumber class=checkbox type=checkbox value=Y> |
+ <td><input name=l_partnumber class=checkbox type=checkbox value=Y checked> |
. $locale->text('Part Number') . qq|</td>
<td><input name=l_description class=checkbox type=checkbox value=Y checked> |
. $locale->text('Part Description') . qq|</td>
$callback .= "&partnumber=$form->{partnumber}";
$option .= $locale->text('Part Number') . qq| : $form->{partnumber}<br>|;
}
+ if ($form->{ean}) {
+ $callback .= "&partnumber=$form->{ean}";
+ $option .= $locale->text('EAN') . qq| : $form->{ean}<br>|;
+ }
if ($form->{partsgroup}) {
$callback .= "&partsgroup=$form->{partsgroup}";
$option .= $locale->text('Group') . qq| : $form->{partsgroup}<br>|;
}
@columns = $form->sort_columns(
- qw(number partnumber description partsgroup bin onhand rop unit listprice linetotallistprice sellprice linetotalsellprice lastcost linetotallastcost priceupdate weight image drawing microfiche invnumber ordnumber quonumber name serialnumber soldtotal)
+ qw(number partnumber ean description partsgroup bin onhand rop unit listprice linetotallistprice sellprice linetotalsellprice lastcost linetotallastcost priceupdate weight image drawing microfiche invnumber ordnumber quonumber name serialnumber soldtotal)
);
if ($form->{l_linetotal}) {
$column_data{number} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{number}, '', " ")
+ . $form->format_amount(\%myconfig, $ref->{number})
. "</td>";
$column_data{partnumber} =
"<td align=$align>$ref->{partnumber} </a></td>";
$column_data{onhand} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand}, '', " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand})
. "</td>";
$column_data{sellprice} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{sellprice}, 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{sellprice})
. "</td>";
$column_data{listprice} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{listprice}, 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{listprice})
. "</td>";
$column_data{lastcost} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{lastcost}, 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{lastcost})
. "</td>";
$column_data{linetotalsellprice} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{sellprice},
- 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{sellprice}, 2)
. "</td>";
$column_data{linetotallastcost} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{lastcost},
- 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{lastcost}, 2)
. "</td>";
$column_data{linetotallistprice} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{listprice},
- 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{listprice}, 2)
. "</td>";
if (!$ref->{assemblyitem}) {
$column_data{rop} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{rop}, '', " ") . "</td>";
+ . $form->format_amount(\%myconfig, $ref->{rop}) . "</td>";
$column_data{weight} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{weight}, '', " ")
+ . $form->format_amount(\%myconfig, $ref->{weight})
. "</td>";
$column_data{unit} = "<td>$ref->{unit} </td>";
$column_data{bin} = "<td>$ref->{bin} </td>";
map { $column_data{$_} = "<td> </td>" } @column_index;
$column_data{linetotalsellprice} =
"<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totalsellprice, 2, " ")
+ . $form->format_amount(\%myconfig, $totalsellprice, 2)
. "</th>";
$column_data{linetotallastcost} =
"<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totallastcost, 2, " ")
+ . $form->format_amount(\%myconfig, $totallastcost, 2)
. "</th>";
$column_data{linetotallistprice} =
"<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totallistprice, 2, " ")
+ . $form->format_amount(\%myconfig, $totallistprice, 2)
. "</th>";
print "<tr class=listtotal>";
<input type=hidden name=ndxs_counter value="$form->{ndxs_counter}">
<input class=submit type=submit name=action value="|
- . $locale->text('choice') . qq|">|;
-
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
+ . $locale->text('choice') . qq|">
- print qq|
</form>
</body>
if ($form->{transdateto}) {
$callback .= "&transdateto=$form->{transdateto}";
$option .= "\n<br>"
- . $locale->text('To')
+ . $locale->text('To (time)')
. " "
. $locale->date(\%myconfig, $form->{transdateto}, 1);
}
$column_data{onhand} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand}, '', " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand})
. "</td>";
$column_data{sellprice} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{sellprice}, 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{sellprice}, -2)
. "</td>";
$column_data{listprice} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{listprice}, 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{listprice}, -2)
. "</td>";
$column_data{lastcost} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{lastcost}, 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{lastcost}, -2)
. "</td>";
$column_data{linetotalsellprice} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{sellprice},
- 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{sellprice}, 2)
. "</td>";
$column_data{linetotallastcost} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{lastcost},
- 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{lastcost}, 2)
. "</td>";
$column_data{linetotallistprice} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{listprice},
- 2, " ")
+ . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{listprice}, 2)
. "</td>";
if (!$ref->{assemblyitem}) {
$column_data{rop} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{rop}, '', " ") . "</td>";
+ . $form->format_amount(\%myconfig, $ref->{rop}) . "</td>";
$column_data{weight} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{weight}, '', " ")
+ . $form->format_amount(\%myconfig, $ref->{weight})
. "</td>";
$column_data{unit} = "<td>$ref->{unit} </td>";
$column_data{bin} = "<td>$ref->{bin} </td>";
$column_data{soldtotal} =
"<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{soldtotal}, '', " ")
+ . $form->format_amount(\%myconfig, $ref->{soldtotal})
. "</td>";
$column_data{deliverydate} = "<td>$ref->{deliverydate}</td>";
map { $column_data{$_} = "<td> </td>" } @column_index;
$column_data{linetotalsellprice} =
"<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totalsellprice, 2, " ")
+ . $form->format_amount(\%myconfig, $totalsellprice, 2)
. "</th>";
$column_data{linetotallastcost} =
"<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totallastcost, 2, " ")
+ . $form->format_amount(\%myconfig, $totallastcost, 2)
. "</th>";
$column_data{linetotallistprice} =
"<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totallistprice, 2, " ")
+ . $form->format_amount(\%myconfig, $totallistprice, 2)
. "</th>";
print "<tr class=listtotal>";
print qq|
<input class=submit type=submit name=action value="|
- . $locale->text('Add') . qq|">|;
+ . $locale->text('Add') . qq|">
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
-
- print qq|
</form>
</body>
$column_data{onhand} =
"<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotalonhand, '', " ")
+ . $form->format_amount(\%myconfig, $subtotalonhand)
. "</th>";
$column_data{linetotalsellprice} =
"<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotalsellprice, 2, " ")
+ . $form->format_amount(\%myconfig, $subtotalsellprice, 2)
. "</th>";
$column_data{linetotallistprice} =
"<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotallistprice, 2, " ")
+ . $form->format_amount(\%myconfig, $subtotallistprice, 2)
. "</th>";
$column_data{linetotallastcost} =
"<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotallastcost, 2, " ")
+ . $form->format_amount(\%myconfig, $subtotallastcost, 2)
. "</th>";
$subtotalonhand = 0;
IC->get_part(\%myconfig, \%$form);
+ $form->{"original_partnumber"} = $form->{"partnumber"};
+
$form->{title} = $locale->text('Edit ' . ucfirst $form->{item});
&link_part;
IC->create_links("IC", \%myconfig, \%$form);
# currencies
- map { $form->{selectcurrency} .= "<option>$_\n" } split /:/,
- $form->{currencies};
+ map({ $form->{selectcurrency} .= "<option>$_\n" }
+ split(/:/, $form->{currencies}));
# parts and assemblies have the same links
$item = $form->{item};
sub form_header {
$lxdebug->enter_sub();
- my $dec = '';
-
- #decimalplaces for listprice
- ($dec) = ($form->{listprice} =~ /\.(\d+)/);
- $dec = length $dec;
- my $decimalplaces = ($dec == 2) ? $dec : 2;
- $form->{listprice} =
- $form->format_amount(\%myconfig, $form->{listprice}, $decimalplaces);
-
- #decimalplaces for sellprice and gv
- ($dec) = ($form->{sellprice} =~ /\.(\d+)/);
- $dec = length $dec;
- my $decimalplaces = ($dec == 2) ? $dec : 2;
-
- map {
- $form->{$_} =
- $form->format_amount(\%myconfig, $form->{$_}, $decimalplaces)
- } qw(sellprice gv);
-
- ($dec) = ($form->{lastcost} =~ /\.(\d+)/);
- $dec = length $dec;
- my $decimalplaces = ($dec == 2) ? $dec : 2;
-
- $form->{lastcost} =
- $form->format_amount(\%myconfig, $form->{lastcost}, $decimalplaces);
+ map({ $form->{$_} = $form->format_amount(\%myconfig, $form->{$_}, -2) }
+ qw(sellprice listprice lastcost gv));
map { $form->{$_} = $form->format_amount(\%myconfig, $form->{$_}) }
qw(weight rop stock);
}
$notes =
- qq|<textarea name=notes rows=$rows cols=60 wrap=soft>$form->{notes}</textarea>|;
+ qq|<textarea name=notes rows=$rows cols=45 wrap=soft>$form->{notes}</textarea>|;
if (($rows = $form->numtextrows($form->{description}, 40)) > 1) {
$description =
qq|<textarea name="description" rows=$rows cols=40 wrap=soft>$form->{description}</textarea>|;
qq|<input name=description size=40 value="$form->{description}">|;
}
+ $ean = qq|<input name=ean size=40 value="$form->{ean}">|;
+
foreach $item (split / /, $form->{taxaccounts}) {
$form->{"IC_tax_$item"} = ($form->{"IC_tax_$item"}) ? "checked" : "";
}
</tr>|;
- $form->{selectadr} = "<option></option>";
- if (@{ $form->{ADR} }) {
- foreach $item (@{ $form->{ADR} }) {
- if ($item->{id} == $form->{adr_id}) {
- $form->{selectadr} .=
- "<option value=$item->{id} selected>$item->{adr_code}\n";
- } else {
- $form->{selectadr} .=
- "<option value=$item->{id}>$item->{adr_code}\n";
- }
-
- }
- }
-
- $adr = qq|
- <tr>
- <th align=right>| . $locale->text('ADR') . qq|</th>
- <td><select name=adr_id>$form->{selectadr}</select></td>
- </tr>|;
-
-
# set option
foreach $item (qw(IC IC_income IC_expense)) {
if ($form->{$item}) {
<td>
<input name=weight size=10 value=$form->{weight}>
</td>
- <th>
-
- $form->{weightunit}
- <input type=hidden name=weightunit value=$form->{weightunit}>
- </th>
</tr>
</table>
</td>
$form->{weight}
<input type=hidden name=weight value=$form->{weight}>
</td>
- <th>
-
- $form->{weightunit}
- <input type=hidden name=weightunit value=$form->{weightunit}>
- </th>
</tr>
</table>
</td>
<td><input name=gv size=10 value=$form->{gv}></td>
</tr>
|;
- $aluok = $form->{alu} == 1 ? "checked" : "";
-
- $alu .= qq|
- <tr>
- <th align=right nowrap>|
- . $locale->text('Aluartikel') . qq|</th>
- <td><input class=checkbox type=checkbox name=alu value=1 $aluok></td>
- </tr>|;
-
$notdiscountableok = ($form->{not_discountable}) == 1 ? "checked" : "";
$notdiscountable .= qq|
<tr>
|;
$formel =
- qq|<ilayer><layer onmouseover="this.T_STICKY=true;this.T_STATIC=true;return escape('| . $locale->text('The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br><br>For alu article:<br>Length:<br>Weight/m:<br>Length ist total length of article and weight/m ist the weight pro meter') . qq|')"><textarea name=formel rows=4 cols=60 wrap=soft>$form->{formel}</textarea></layer><ilayer>|;
+ qq|<ilayer><layer onmouseover="this.T_STICKY=true;this.T_STATIC=true;return escape('| . $locale->text('The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>') . qq|')"><textarea name=formel rows=4 cols=30 wrap=soft>$form->{formel}</textarea></layer><ilayer>|;
$imagelinks = qq|
<tr>
<td>
<input name=rowcount type=hidden value=$form->{rowcount}>
<input name=eur type=hidden value=$eur>
<input name=language_values type=hidden value="$form->{language_values}">
+<input name="original_partnumber" type="hidden" value="| . $form->quote($form->{"original_partnumber"}) . qq|">
<table width="100%">
<tr>
<table>
$buchungsgruppe
$linkaccounts
- $adr
</table>
</td>
<tr>
</td>
</tr>
<tr>
- <td colspan=2>
+ <th align="left"></th>
+ <th align="left">| . $locale->text('EAN-Code') . qq|</th>
+ </tr>
+ <tr>
+ <td>
<button type="button" onclick="parts_language_selection_window('language_values')">| . $locale->text('Set Language Values') . qq|</button>
</td>
+ <td>
+ $ean
+ </td>
</tr>
<tr>
<td colspan=2>
$notdiscountable
$vegv
$shop
- $alu
$obsolete
</table>
</td>
}
}
- if (!$form->{previousform}) {
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
- }
-
print qq|
</form>
$locale->text(
"Inventory quantity must be zero before you can set this $form->{item} obsolete!"
))
- if ($form->{onhand});
+ if ($form->{onhand} * 1);
}
if (!$form->{buchungsgruppen_id}) {
$lxdebug->enter_sub();
$form->{id} = 0;
+ if ($form->{"original_partnumber"} &&
+ ($form->{"partnumber"} eq $form->{"original_partnumber"})) {
+ $form->{partnumber} = "";
+ }
&save;
$lxdebug->leave_sub();
$lxdebug->leave_sub();
}
-sub stock_assembly {
- $lxdebug->enter_sub();
-
- $form->{title} = $locale->text('Stock Assembly');
-
- $form->header;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<table width="100%">
- <tr>
- <th class=listtop>$form->{title}</th>
- </tr>
- <tr height="5"></tr>
- <tr valign=top>
- <td>
- <table>
- <tr>
- <th align="right" nowrap="true">|
- . $locale->text('Part Number') . qq|</th>
- <td><input name=partnumber size=20></td>
- <td> </td>
- </tr>
- <tr>
- <th align="right" nowrap="true">|
- . $locale->text('Part Description') . qq|</th>
- <td><input name=description size=40></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr><td><hr size=3 noshade></td></tr>
-</table>
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<input type=hidden name=nextsub value=list_assemblies>
-
-<br>
-<input class=submit type=submit name=action value="|
- . $locale->text('Continue') . qq|">
-</form>
-
-</body>
-</html>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub list_assemblies {
- $lxdebug->enter_sub();
-
- IC->retrieve_assemblies(\%myconfig, \%$form);
-
- $column_header{partnumber} =
- qq|<th class=listheading>| . $locale->text('Part Number') . qq|</th>|;
- $column_header{description} =
- qq|<th class=listheading>| . $locale->text('Part Description') . qq|</th>|;
- $column_header{bin} =
- qq|<th class=listheading>| . $locale->text('Bin') . qq|</th>|;
- $column_header{onhand} =
- qq|<th class=listheading>| . $locale->text('Qty') . qq|</th>|;
- $column_header{rop} =
- qq|<th class=listheading>| . $locale->text('ROP') . qq|</th>|;
- $column_header{stock} =
- qq|<th class=listheading>| . $locale->text('Add') . qq|</th>|;
-
- @column_index = (qw(partnumber description bin onhand rop stock));
-
- $form->{title} = $locale->text('Stock Assembly');
-
- $form->{callback} =
- "$form->{script}?action=stock_assembly&path=$form->{path}&login=$form->{login}&password=$form->{password}";
-
- $form->header;
-
- $colspan = $#column_index + 1;
-
- print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-<table width=100%>
- <tr>
- <th class=listtop colspan=$colspan>$form->{title}</th>
- </tr>
- <tr size=5></tr>
- <tr class=listheading>|;
-
- map { print "\n$column_header{$_}" } @column_index;
-
- print qq|
- </tr>
-|;
-
- $i = 1;
- foreach $ref (@{ $form->{assembly_items} }) {
-
- map { $ref->{$_} =~ s/\"/"/g } qw(partnumber description);
-
- $column_data{partnumber} = qq|<td width=20%>$ref->{partnumber}</td>|;
- $column_data{description} =
- qq|<td width=50%>$ref->{description} </td>|;
- $column_data{bin} = qq|<td>$ref->{bin} </td>|;
- $column_data{onhand} =
- qq|<td align=right>|
- . $form->format_amount(\%myconfig, $ref->{onhand}, '', " ")
- . qq|</td>|;
- $column_data{rop} =
- qq|<td align=right>|
- . $form->format_amount(\%myconfig, $ref->{rop}, '', " ")
- . qq|</td>|;
- $column_data{stock} = qq|<td width=10%><input name="qty_$i" size=10></td>|;
-
- $j++;
- $j %= 2;
- print
- qq|<tr class=listrow$j><input name="id_$i" type=hidden value=$ref->{id}>\n|;
-
- map { print "\n$column_data{$_}" } @column_index;
-
- print qq|
- </tr>
-|;
-
- $i++;
-
- }
-
- $i--;
- print qq|
- <tr>
- <td colspan=6><hr size=3 noshade>
- </tr>
-</table>
-<input name=rowcount type=hidden value="$i">
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<input name=callback type=hidden value="$form->{callback}">
-
-<input type=hidden name=nextsub value=restock_assemblies>
-
-<br>
-<input class=submit type=submit name=action value="|
- . $locale->text('Continue') . qq|">
-
-</form>
-
-</body>
-</html>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub restock_assemblies {
- $lxdebug->enter_sub();
-
- $form->redirect($locale->text('Assemblies restocked!'))
- if (IC->restock_assemblies(\%myconfig, \%$form));
- $form->error($locale->text('Cannot stock assemblies!'));
-
- $lxdebug->leave_sub();
-}
-
sub price_row {
$lxdebug->enter_sub();