+
+ if ($form->{delivery_customer_id}) {
+ $query = qq|SELECT name FROM customer WHERE id=$form->{delivery_customer_id}|;
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
+ ($form->{delivery_customer_string}) = $sth->fetchrow_array();
+ $sth->finish;
+ }
+
+ if ($form->{delivery_vendor_id}) {
+ $query = qq|SELECT name FROM customer WHERE id=$form->{delivery_vendor_id}|;
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
+ ($form->{delivery_vendor_string}) = $sth->fetchrow_array();
+ $sth->finish;
+ }
+
+ # shipto and pinted/mailed/queued status makes only sense for single id retrieve
+ if (!@ids) {
+ $query = qq|SELECT s.* FROM shipto s
+ WHERE s.trans_id = $form->{id} AND s.module = 'OE'|;
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
+
+ $ref = $sth->fetchrow_hashref(NAME_lc);
+ delete($ref->{id});
+ map { $form->{$_} = $ref->{$_} } keys %$ref;
+ $sth->finish;
+
+ # get printed, emailed and queued
+ $query = qq|SELECT s.printed, s.emailed, s.spoolfile, s.formname
+ FROM status s
+ WHERE s.trans_id = $form->{id}|;
+ $sth = $dbh->prepare($query);
+ $sth->execute || $form->dberror($query);
+
+ while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
+ $form->{printed} .= "$ref->{formname} " if $ref->{printed};
+ $form->{emailed} .= "$ref->{formname} " if $ref->{emailed};
+ $form->{queued} .= "$ref->{formname} $ref->{spoolfile} "
+ if $ref->{spoolfile};
+ }
+ $sth->finish;
+ map { $form->{$_} =~ s/ +$//g } qw(printed emailed queued);
+ } # if !@ids