Revision 7712480e
Von Moritz Bunkus vor etwa 18 Jahren hinzugefügt
SL/AR.pm | ||
---|---|---|
|
||
$query = qq|INSERT INTO ar (id, invnumber, employee_id) VALUES (?, 'dummy', ?)|;
|
||
do_query($form, $dbh, $query, $form->{id}, $form->{employee_id});
|
||
|
||
if (!$form->{invnumber}) {
|
||
$form->{invnumber} = $form->update_defaults($myconfig, "invnumber", $dbh);
|
||
}
|
||
}
|
||
|
||
# update department
|
SL/Form.pm | ||
---|---|---|
sub update_defaults {
|
||
$main::lxdebug->enter_sub();
|
||
|
||
my ($self, $myconfig, $fld) = @_;
|
||
my ($self, $myconfig, $fld, $provided_dbh) = @_;
|
||
|
||
my $dbh = $self->dbconnect_noauto($myconfig);
|
||
my $dbh;
|
||
if ($provided_dbh) {
|
||
$dbh = $provided_dbh;
|
||
} else {
|
||
$dbh = $self->dbconnect_noauto($myconfig);
|
||
}
|
||
my $query = qq|SELECT $fld FROM defaults FOR UPDATE|;
|
||
my $sth = $dbh->prepare($query);
|
||
|
||
... | ... | |
SET $fld = '$var'|;
|
||
$dbh->do($query) || $self->dberror($query);
|
||
|
||
$dbh->commit;
|
||
$dbh->disconnect;
|
||
if (!$provided_dbh) {
|
||
$dbh->commit;
|
||
$dbh->disconnect;
|
||
}
|
||
|
||
$main::lxdebug->leave_sub();
|
||
|
SL/IS.pm | ||
---|---|---|
|
||
($form->{id}) = $sth->fetchrow_array;
|
||
$sth->finish;
|
||
|
||
if (!$form->{invnumber}) {
|
||
$form->{invnumber} =
|
||
$form->update_defaults($myconfig, $form->{type} eq "credit_note" ?
|
||
"cnnumber" : "invnumber", $dbh);
|
||
}
|
||
}
|
||
|
||
map { $form->{$_} =~ s/\'/\'\'/g }
|
bin/mozilla/ar.pl | ||
---|---|---|
|
||
$form->{AR}{receivables} = $form->{ARselected};
|
||
|
||
$form->{invnumber} = $form->update_defaults(\%myconfig, "invnumber")
|
||
unless $form->{invnumber};
|
||
|
||
$form->{id} = 0 if $form->{postasnew};
|
||
if (AR->post_transaction(\%myconfig, \%$form)) {
|
||
# saving the history
|
bin/mozilla/io.pl | ||
---|---|---|
|
||
# assign number
|
||
$form->{what_done} = $form->{formname};
|
||
if (!$form->{"${inv}number"} && !$form->{preview}) {
|
||
if (!$form->{"${inv}number"} && !$form->{preview} && !$form->{id}) {
|
||
$form->{"${inv}number"} = $form->update_defaults(\%myconfig, $numberfld);
|
||
if ($form->{media} ne 'email') {
|
||
|
bin/mozilla/is.pl | ||
---|---|---|
$form->{id} = 0 if $form->{postasnew};
|
||
|
||
# get new invnumber in sequence if no invnumber is given or if posasnew was requested
|
||
if (!$form->{invnumber} || $form->{postasnew}) {
|
||
if ($form->{postasnew}) {
|
||
if ($form->{type} eq "credit_note") {
|
||
$form->{invnumber} = $form->update_defaults(\%myconfig, "cnnumber");
|
||
undef($form->{cnnumber});
|
||
} else {
|
||
$form->{invnumber} = $form->update_defaults(\%myconfig, "invnumber");
|
||
undef($form->{invnumber});
|
||
}
|
||
}
|
||
|
||
relink_accounts();
|
||
if ($print_post) {
|
||
if (!(IS->post_invoice(\%myconfig, \%$form))) {
|
Auch abrufbar als: Unified diff
Rechnungs- und Gutschriftsnummern werden nun direkt innerhalb der Backend-Routinen innerhalb der gleichen Transaktion vergeben, in der auch die eigentliche Rechnung etc gespeichert wird. Damit soll besser verhindert werden, dass sich Löcher in den Nummernkreisen ergeben.