{
$form->error("Access Denied");
}
-
&invoice_links;
&prepare_invoice;
+ $form->{format} = "pdf";
+
&display_form;
$lxdebug->leave_sub();
sub edit {
$lxdebug->enter_sub();
- print STDERR "is.pl-edit\n";
+
$form->{title} = $locale->text('Edit Sales Invoice');
if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR")
{
$form->error("Access Denied");
}
-
+ if ($form->{print_and_post}) {
+ $form->{action} = "print";
+ $form->{resubmit} = 1;
+ }
&invoice_links;
&prepare_invoice;
&display_form;
sub invoice_links {
$lxdebug->enter_sub();
- print STDERR "is.pl-invoice_links\n";
+
$form->{vc} = 'customer';
# create links
sub prepare_invoice {
$lxdebug->enter_sub();
- print STDERR "is.pl-prepare_invoice\n";
+
$form->{type} = "invoice";
$form->{formname} = "invoice";
- $form->{format} = "html";
$form->{media} = "screen";
if ($form->{id}) {
$form->{"sellprice_$i"} =
$form->format_amount(\%myconfig, $form->{"sellprice_$i"},
$decimalplaces);
- $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
+
+ (my $dec_qty) = ($form->{"qty_$i"} =~ /\.(\d+)/);
+ $dec_qty = length $dec_qty;
+
+ $form->{"qty_$i"} =
+ $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty);
map { $form->{"${_}_$i"} =~ s/\"/"/g }
qw(partnumber description unit partnotes);
sub form_header {
$lxdebug->enter_sub();
- print STDERR "is.pl-form_header\n";
# set option selected
foreach $item (qw(AR customer currency department employee contact)) {
<td width="4"><input type=button name=duedate id="trigger2" value=|
. $locale->text('button') . qq|></td></td>
|;
+ $button3 = qq|
+ <td width="13"><input name=deliverydate id=deliverydate size=11 title="$myconfig{dateformat}" value=$form->{deliverydate}></td>
+ <td width="4"><input type=button name=deliverydate id="trigger3" value=|
+ . $locale->text('button') . qq|></td></td>
+ |;
#write Trigger
$jsscript =
- Form->write_trigger(\%myconfig, "2", "invdate", "BL", "trigger1",
- "duedate", "BL", "trigger2");
+ Form->write_trigger(\%myconfig, "3",
+ "invdate", "BL",
+ "trigger1", "duedate",
+ "BL", "trigger2",
+ "deliverydate", "BL",
+ "trigger3");
} else {
# without JavaScript Calendar
$button2 =
qq|<td width="13"><input name=duedate size=11 title="$myconfig{dateformat}" value=$form->{duedate}></td>|;
}
- if ($form->{resubmit}) {
- $onload = "document.invoice.submit()";
+ if ($form->{resubmit} && ($form->{format} eq "html")) {
+ $onload =
+ qq|window.open('about:blank','Beleg'); document.invoice.target = 'Beleg';document.invoice.submit()|;
+ } elsif ($form->{resubmit}) {
+ $onload = qq|document.invoice.submit()|;
} else {
$onload = "fokus()";
}
<th align=right>| . $locale->text('Due Date') . qq|</th>
$button2
</tr>
+ <tr>
+ <th align=right>| . $locale->text('Delivery Date') . qq|</th>
+ $button3
+ </tr>
<tr>
<th align=right nowrap>| . $locale->text('Order Number') . qq|</th>
<td><input name=ordnumber size=11 value="$form->{ordnumber}"></td>
sub form_footer {
$lxdebug->enter_sub();
- print STDERR "is.pl-form_footer\n";
+
$form->{invtotal} = $form->{invsubtotal};
if (($rows = $form->numtextrows($form->{notes}, 26, 8)) < 2) {
<input type=hidden name=selectAR_paid value="$form->{selectAR_paid}">
<input type=hidden name=oldinvtotal value=$form->{oldinvtotal}>
<input type=hidden name=oldtotalpaid value=$totalpaid>
-<input type=hidden name=print_and_post value=$form->{print_and_post}>
-<input type=hidden name=second_run value=$form->{second_run}>
</table>
</td>
</tr>
$sellprice = $form->format_amount(\%myconfig, $form->{"sellprice_$i"});
- #print STDERR " SELLPRICE-111- $sellprice\n";
map { $form->{item_list}[$i]{$_} =~ s/\"/"/g }
qw(partnumber description unit);
map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} }
$form->{id} = 0 if $form->{postasnew};
- $form->{invnumber} = $form->update_defaults(\%myconfig, "invnumber")
- unless $form->{invnumber};
+ # get new invnumber in sequence if no invnumber is given or if posasnew was requested
+ if (!$form->{invnumber} || $form->{postasnew}) {
+ $form->{invnumber} = $form->update_defaults(\%myconfig, "invnumber");
+ }
if ($print_post) {
if (!(IS->post_invoice(\%myconfig, \%$form))) {
$form->error($locale->text('Cannot post invoice!'));
$form->{print_and_post} = 1;
&post();
- &display_form();
+ &edit();
$lxdebug->leave_sub();
}