- foreach $ref (@{ $form->{parts} }) {
-
- if ($form->{l_subtotal} eq 'Y' && !$ref->{assemblyitem}) {
- if ($sameitem ne $ref->{ $form->{sort} }) {
- &parts_subtotal;
- $sameitem = $ref->{ $form->{sort} };
- }
- }
-
- $ref->{exchangerate} = 1 unless $ref->{exchangerate};
- $ref->{sellprice} *= $ref->{exchangerate};
- $ref->{listprice} *= $ref->{exchangerate};
- $ref->{lastcost} *= $ref->{exchangerate};
-
- # use this for assemblies
- $onhand = $ref->{onhand};
-
- $align = "left";
- if ($ref->{assemblyitem}) {
- $align = "right";
- $onhand = 0 if ($form->{sold});
- }
-
- $ref->{description} =~ s/
-/<br>/g;
-
- $column_data{partnumber} =
- "<td align=$align><a href=$form->{script}?action=edit&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{partnumber} </a></td>";
- $column_data{description} = "<td>$ref->{description} </td>";
- $column_data{partsgroup} = "<td>$ref->{partsgroup} </td>";
-
- $column_data{onhand} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand}, '', " ")
- . "</td>";
- $column_data{sellprice} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{sellprice}, 2, " ")
- . "</td>";
- $column_data{listprice} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{listprice}, 2, " ")
- . "</td>";
- $column_data{lastcost} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{lastcost}, 2, " ")
- . "</td>";
-
- $column_data{linetotalsellprice} = "<td align=right>"
- . $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, " ")
- . "</td>";
- $column_data{linetotallistprice} = "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{onhand} * $ref->{listprice},
- 2, " ")
- . "</td>";
-
- if (!$ref->{assemblyitem}) {
- $totalsellprice += $onhand * $ref->{sellprice};
- $totallastcost += $onhand * $ref->{lastcost};
- $totallistprice += $onhand * $ref->{listprice};
-
- $subtotalonhand += $onhand;
- $subtotalsellprice += $onhand * $ref->{sellprice};
- $subtotallastcost += $onhand * $ref->{lastcost};
- $subtotallistprice += $onhand * $ref->{listprice};
- }
-
- $column_data{rop} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{rop}, '', " ") . "</td>";
- $column_data{weight} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{weight}, '', " ")
- . "</td>";
- $column_data{unit} = "<td>$ref->{unit} </td>";
- $column_data{bin} = "<td>$ref->{bin} </td>";
- $column_data{priceupdate} = "<td>$ref->{priceupdate} </td>";
-
- $column_data{invnumber} =
- ($ref->{module} ne 'oe')
- ? "<td><a href=$ref->{module}.pl?action=edit&type=invoice&id=$ref->{trans_id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{invnumber}</a></td>"
- : "<td>$ref->{invnumber}</td>";
- $column_data{ordnumber} =
- ($ref->{module} eq 'oe')
- ? "<td><a href=$ref->{module}.pl?action=edit&type=$ref->{type}&id=$ref->{trans_id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{ordnumber}</a></td>"
- : "<td>$ref->{ordnumber}</td>";
- $column_data{quonumber} =
- ($ref->{module} eq 'oe' && !$ref->{ordnumber})
- ? "<td><a href=$ref->{module}.pl?action=edit&type=$ref->{type}&id=$ref->{trans_id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{quonumber}</a></td>"
- : "<td>$ref->{quonumber}</td>";
-
- $column_data{name} = "<td>$ref->{name}</td>";
-
- $column_data{image} =
- ($ref->{image})
- ? "<td><a href=$ref->{image}><img src=$ref->{image} height=32 border=0></a></td>"
- : "<td> </td>";
- $column_data{drawing} =
- ($ref->{drawing})
- ? "<td><a href=$ref->{drawing}>$ref->{drawing}</a></td>"
- : "<td> </td>";
- $column_data{microfiche} =
- ($ref->{microfiche})
- ? "<td><a href=$ref->{microfiche}>$ref->{microfiche}</a></td>"
- : "<td> </td>";
-
- $column_data{serialnumber} = "<td>$ref->{serialnumber}</td>";
-
- $column_data{soldtotal} =
- "<td align=right>"
- . $form->format_amount(\%myconfig, $ref->{soldtotal}, '', " ")
- . "</td>";
-
- $i++;
- $i %= 2;
- print "<tr class=listrow$i>";
-
- map { print "\n$column_data{$_}" } @column_index;
-
- print qq|
- </tr>
-|;
-
- }
-
- if ($form->{l_subtotal} eq 'Y') {
- &parts_subtotal;
- }
-
- if ($form->{"l_linetotal"}) {
- map { $column_data{$_} = "<td> </td>" } @column_index;
- $column_data{linetotalsellprice} =
- "<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totalsellprice, 2, " ")
- . "</th>";
- $column_data{linetotallastcost} =
- "<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totallastcost, 2, " ")
- . "</th>";
- $column_data{linetotallistprice} =
- "<th class=listtotal align=right>"
- . $form->format_amount(\%myconfig, $totallistprice, 2, " ")
- . "</th>";
-
- print "<tr class=listtotal>";
-
- map { print "\n$column_data{$_}" } @column_index;
-
- print qq|</tr>
- |;
- }
-
- print qq|
- <tr><td colspan=$colspan><hr size=3 noshade></td></tr>
-</table>
-
-|;
-
- print qq|
-
-<br>
-
-<form method=post action=$form->{script}>
-
-<input name=callback type=hidden value="$form->{callback}">
-
-<input type=hidden name=item value=$form->{searchitems}>
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>|;
-
- print qq|
- <input class=submit type=submit name=action value="|
- . $locale->text('Add') . qq|">|;
-
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
-
- print qq|
- </form>
-
-</body>
-</html>
-|;
-
- $lxdebug->leave_sub();
-} #end generate_report
-
-sub parts_subtotal {
- $lxdebug->enter_sub();
-
- map { $column_data{$_} = "<td> </td>" } @column_index;
- $subtotalonhand = 0 if ($form->{searchitems} eq 'assembly' && $form->{bom});
-
- $column_data{onhand} =
- "<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotalonhand, '', " ")
- . "</th>";
-
- $column_data{linetotalsellprice} =
- "<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotalsellprice, 2, " ")
- . "</th>";
- $column_data{linetotallistprice} =
- "<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotallistprice, 2, " ")
- . "</th>";
- $column_data{linetotallastcost} =
- "<th class=listsubtotal align=right>"
- . $form->format_amount(\%myconfig, $subtotallastcost, 2, " ")
- . "</th>";
-
- $subtotalonhand = 0;
- $subtotalsellprice = 0;
- $subtotallistprice = 0;
- $subtotallastcost = 0;
-
- print "<tr class=listsubtotal>";
-
- map { print "\n$column_data{$_}" } @column_index;
-
- print qq|
- </tr>
-|;
-
- $lxdebug->leave_sub();
-}
-
-sub edit {
- $lxdebug->enter_sub();
-
- IC->get_part(\%myconfig, \%$form);
-
- $form->{title} = $locale->text('Edit ' . ucfirst $form->{item});
-
- &link_part;
- &display_form;
-
- $lxdebug->leave_sub();
-}