'Close Flash' => 'Schließen',
'Close SEPA exports' => 'SEPA-Export abschließen',
'Close Window' => 'Fenster Schließen',
+ 'Close window' => 'Fenster schließen',
'Closed' => 'Geschlossen',
'Collective Orders only work for orders from one customer!' => 'Sammelaufträge funktionieren nur für Aufträge von einem Kunden!',
'Column name' => 'Spaltenname',
'Filter date by' => 'Datum filtern nach',
'Filter for customer variables' => 'Filter für benutzerdefinierte Kundenvariablen',
'Filter for item variables' => 'Filter für benutzerdefinierte Artikelvariablen',
+ 'Filter parts' => 'Artikel filtern',
'Finish' => 'Abschließen',
'First 20 Lines' => 'Nur erste 20 Datensätze',
'Fix transaction' => 'Buchung korrigieren',
'Parts must have an entry type.' => 'Waren müssen eine Buchungsgruppe haben.',
'Parts with existing part numbers' => 'Artikel mit existierender Artikelnummer',
'Parts, services and assemblies' => 'Waren, Dienstleistungen und Erzeugnisse',
+ 'Parts:' => 'Artikel:',
'Partsgroup (database ID)' => 'Warengruppe (Datenbank-ID)',
'Partsgroup (name)' => 'Warengruppe (Name)',
'Password' => 'Passwort',
'Service unit' => 'Dienstleistungseinheit',
'Service, assembly or part' => 'Dienstleistung, Erzeugnis oder Ware',
'Services' => 'Dienstleistungen',
+ 'Services, assemblies or parts' => 'Dienstleistungen, Erzeugnisse oder Waren',
'Set Language Values' => 'Spracheinstellungen',
'Set eMail text' => 'eMail Text eingeben',
'Settings' => 'Einstellungen',
'Show TODO list' => 'Aufgabenliste anzeigen',
'Show Transfer via default' => 'Ein- / Auslagern über Standardlagerplatz anzeigen',
'Show administration link' => 'Link zur Administration anzeigen',
+ 'Show all parts' => 'Alle Artikel anzeigen',
'Show by default' => 'Standardmäßig anzeigen',
'Show custom variable search inputs' => 'Suchoptionen für Benutzerdefinierte Variablen verstecken',
'Show delete button in purchase delivery orders?' => 'Soll der "Löschen"-Knopf bei Einkaufslieferscheinen angezeigt werden?',
'Valid' => 'Gültig',
'Valid from' => 'Gültig ab',
'Valid until' => 'gültig bis',
+ 'Valid/Obsolete' => 'Gültig/ungültig',
'Value' => 'Wert',
'Variable' => 'Variable',
'Variable Description' => 'Datenfeldbezeichnung',
sub run {
my ($self) = @_;
+ if ($::form->{upgrade_action} eq 'filter_parts') {
+ return $self->filter_parts($self);
+ }
+
if ( $::form->{'continued'} ) {
my $update_query;
foreach my $i (1 .. $::form->{rowcount}) {
print $::form->parse_html_template("dbupgrade/erzeugnisnummern");
}
+sub filter_parts {
+ my $self = shift;
+
+ my $where = 'TRUE';
+ my @values;
+
+ if ( $::form->{filter_partnumber} ) {
+ $where .= ' AND partnumber ILIKE ?';
+ push(@values, $::form->like( $::form->{filter_partnumber} ));
+ }
+
+ if ($::form->{filter_description}) {
+ $where .= ' AND description ILIKE ?';
+ push(@values, $::form->like($::form->{filter_description}));
+ }
+
+ if ($::form->{filter_notes}) {
+ $where .= ' AND notes ILIKE ?';
+ push(@values, $::form->like($::form->{filter_notes}));
+ }
+
+ if ($::form->{filter_ean}) {
+ $where .= ' AND ean ILIKE ?';
+ push(@values, $::form->like($::form->{filter_ean}));
+ }
+
+ if ($::form->{filter_type} eq 'assembly') {
+ $where .= ' AND assembly';
+ }
+
+ if ($::form->{filter_type} eq 'service') {
+ $where .= ' AND inventory_accno_id IS NULL AND NOT assembly';
+ }
+
+ if ($::form->{filter_type} eq 'part') {
+ $where .= ' AND inventory_accno_id IS NOT NULL';
+ $where .= ' AND NOT assembly';
+ }
+
+ if ($::form->{filter_obsolete} eq 'obsolete') {
+ $where .= ' AND obsolete';
+ }
+
+ if ($::form->{filter_obsolete} eq 'valid') {
+ $where .= ' AND NOT obsolete';
+ }
+
+ my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id, obsolete
+ FROM parts
+ WHERE $where
+ ORDER BY partnumber|;
+
+ $::form->{ALL_PARTS} = [ selectall_hashref_query($::form, $self->dbh, $query, @values) ];
+
+ print $::form->parse_html_template("dbupgrade/show_partlist");
+ return 2;
+}
+
1;
[%- USE T8 %]
[% USE HTML %][%- USE LxERP -%]<div class="listtop">[% 'Double partnumbers' | $T8 %]</div>
+<script type="text/javascript">
+<!--
+function show_parts(vc) {
+ var width = 750;
+ var height = 550;
+ var parm = centerParms(width, height) + ",width=" + width + ",height=" + height + ",status=yes,scrollbars=yes";
+ url = "controller.pl?action=LoginScreen/login&upgrade_action=filter_parts&no_layout=1"
+ //alert(url);
+ window.open(url, "_new_generic", parm);
+}
+//-->
+</script>
<form name="Form" method="post" action="login.pl">
<input type="hidden" name="action" value="login">
<input type="hidden" name="rowcount" value="[% rowcount %]">
</table>
+<input type="button" value="[% 'Show all parts' | $T8 %]" onclick="show_parts('customer')">
+<br>
+<br>
<input type="submit" value="[% 'Continue' | $T8 %]">
</form>