Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision df52f0a4

Von Bernd Bleßmann vor mehr als 5 Jahren hinzugefügt

Kundenartikelnummern in Vorlagen verwenden können

Einsortierung in das template array wie Lieferantenartikelnummern als
customer_make und customer_model.

Standard-Druckvorlagen Angebot/Auftrag/Lieferschein/Rechnung für Verkauf
exemplarisch angepasst.

Unterschiede anzeigen:

SL/IC.pm
$sth->finish();
$query = qq|SELECT
cp.parts_id,
cp.customer_partnumber AS customer_model,
c.name AS customer_make
FROM part_customer_prices cp
LEFT JOIN customer c ON (cp.customer_id = c.id)
WHERE cp.parts_id IN ($placeholders)|;
my %customermodel = ();
$sth = prepare_execute_query($form, $dbh, $query, @part_ids);
while (my $ref = $sth->fetchrow_hashref()) {
$customermodel{$ref->{parts_id}} ||= [];
push @{ $customermodel{$ref->{parts_id}} }, $ref;
}
$sth->finish();
my @columns = qw(ean image microfiche drawing);
$query = qq|SELECT id, | . join(', ', @columns) . qq|
......
my %data = selectall_as_map($form, $dbh, $query, 'id', \@columns, @part_ids);
my %template_arrays;
map { $template_arrays{$_} = [] } (qw(make model), @columns);
map { $template_arrays{$_} = [] } (qw(make model customer_make customer_model), @columns);
foreach my $i (1 .. $rowcount) {
my $id = $form->{"${prefix}${i}"};
......
push @{ $template_arrays{make} }, [];
push @{ $template_arrays{model} }, [];
next if (!$makemodel{$id});
if ($makemodel{$id}) {
foreach my $ref (@{ $makemodel{$id} }) {
map { push @{ $template_arrays{$_}->[-1] }, $ref->{$_} } qw(make model);
}
}
push @{ $template_arrays{customer_make} }, [];
push @{ $template_arrays{customer_model} }, [];
foreach my $ref (@{ $makemodel{$id} }) {
map { push @{ $template_arrays{$_}->[-1] }, $ref->{$_} } qw(make model);
if ($customermodel{$id}) {
foreach my $ref (@{ $customermodel{$id} }) {
push @{ $template_arrays{$_}->[-1] }, $ref->{$_} for qw(customer_make customer_model);
}
}
}
my $parts = SL::DB::Manager::Part->get_all(query => [ id => \@part_ids ]);
templates/print/RB/deutsch.tex
\newcommand{\position} {Pos.}
\newcommand{\artikelnummer} {Art.-Nr.}
\newcommand{\kundenartnr} {Ihre Art.-Nr.}
\newcommand{\bild} {Bild}
\newcommand{\keinbild} {kein Bild}
\newcommand{\menge} {Menge}
templates/print/RB/english.tex
\newcommand{\position} {Pos.}
\newcommand{\artikelnummer} {Part No.}
\newcommand{\kundenartnr} {Your Part No.}
\newcommand{\bild} {Picture}
\newcommand{\keinbild} {n/a}
\newcommand{\menge} {Qty}
templates/print/RB/invoice.tex
<%if serialnumber%> && \scriptsize \seriennummer: <%serialnumber%>\\<%end serialnumber%>
<%if ean%> && \scriptsize \ean: <%ean%>\\<%end ean%>
<%if projectnumber%> && \scriptsize \projektnummer: <%projectnumber%>\\<%end projectnumber%>
<%if customer_make%>
<%foreach customer_make%>
\ifthenelse{\equal{<%customer_make%>}{<%name%>}}{&& \kundenartnr: <%customer_model%>\\}{}
<%end foreach%>
<%end if%>
\\[-0.8em]
<%end number%>
templates/print/RB/sales_delivery_order.tex
<%if serialnumber%> && \scriptsize \seriennummer: <%serialnumber%>\\<%end serialnumber%>
<%if ean%> && \scriptsize \ean: <%ean%>\\<%end ean%>
<%if projectnumber%> && \scriptsize \projektnummer: <%projectnumber%>\\<%end projectnumber%>
<%if customer_make%>
<%foreach customer_make%>
\ifthenelse{\equal{<%customer_make%>}{<%name%>}}{&& \kundenartnr: <%customer_model%>\\}{}
<%end foreach%>
<%end if%>
<%foreach si_number%><%if si_chargenumber%> && \scriptsize \charge: <%si_chargenumber%> <%if si_bestbefore%> \mhd: <%si_bestbefore%><%end if%> <%si_qty%>~<%si_unit%><%end si_chargenumber%>\\<%end si_number%>
\\[-0.8em]
templates/print/RB/sales_order.tex
<%if serialnumber%> && \scriptsize \seriennummer: <%serialnumber%>\\<%end serialnumber%>
<%if ean%> && \scriptsize \ean: <%ean%>\\<%end ean%>
<%if projectnumber%> && \scriptsize \projektnummer: <%projectnumber%>\\<%end projectnumber%>
<%if customer_make%>
<%foreach customer_make%>
\ifthenelse{\equal{<%customer_make%>}{<%name%>}}{&& \kundenartnr: <%customer_model%>\\}{}
<%end foreach%>
<%end if%>
\\[-0.8em]
<%end number%>
templates/print/RB/sales_quotation.tex
<%if serialnumber%> && \scriptsize \seriennummer: <%serialnumber%>\\<%end serialnumber%>
<%if ean%> && \scriptsize \ean: <%ean%>\\<%end ean%>
<%if projectnumber%> && \scriptsize \projektnummer: <%projectnumber%>\\<%end projectnumber%>
<%if customer_make%>
<%foreach customer_make%>
\ifthenelse{\equal{<%customer_make%>}{<%name%>}}{&& \kundenartnr: <%customer_model%>\\}{}
<%end foreach%>
<%end if%>
\\[-0.8em]
<%end number%>

Auch abrufbar als: Unified diff