--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'mydberror' => 'mydberror',
+ 'mydoquery' => 'mydoquery',
+ 'update_contacts_add_columns' => 'update_contacts_add_columns',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'mydberror' => 'mydberror',
+ 'mydoquery' => 'mydoquery',
+ 'update_contacts_handle_department' => 'update_contacts_handle_department',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A unit with this name does already exist.' => 'A unit with this name does already exist.',
+ 'Database update error:' => 'Database update error:',
+ 'The base unit does not exist.' => 'The base unit does not exist.',
+ 'The factor is missing.' => 'The factor is missing.',
+ 'The name is missing.' => 'The name is missing.',
+ 'The unit has been saved.' => 'The unit has been saved.',
+};
+
+$self->{subs} = {
+ 'get_base_unit' => 'get_base_unit',
+ 'mydberror' => 'mydberror',
+ 'myshowerror' => 'myshowerror',
+ 'retrieve_units' => 'retrieve_units',
+ 'unit_select_data' => 'unit_select_data',
+ 'update_units' => 'update_units',
+ 'update_units_add_unit' => 'update_units_add_unit',
+ 'update_units_assign_known' => 'update_units_assign_known',
+ 'update_units_assign_units' => 'update_units_assign_units',
+ 'update_units_set_default' => 'update_units_set_default',
+ 'update_units_step_3' => 'update_units_step_3',
+ 'update_units_steps_1_2' => 'update_units_steps_1_2',
+ 'add_unit' => 'add_unit',
+ 'assign_units' => 'assign_units',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'look_for_accno' => 'look_for_accno',
+ 'mydberror' => 'mydberror',
+ 'myshowerror' => 'myshowerror',
+ 'update_defaults_add_coa' => 'update_defaults_add_coa',
+ 'update_defaults_set_coa' => 'update_defaults_set_coa',
+ 'update_guess_chart_of_accounts' => 'update_guess_chart_of_accounts',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'create_standard_buchungsgruppen' => 'create_standard_buchungsgruppen',
+ 'create_standard_buchungsgruppen_skr03' => 'create_standard_buchungsgruppen_skr03',
+ 'create_standard_buchungsgruppen_skr04' => 'create_standard_buchungsgruppen_skr04',
+ 'fix_skr03' => 'fix_skr03',
+ 'fix_skr04' => 'fix_skr04',
+ 'mydberror' => 'mydberror',
+ 'myshowerror' => 'myshowerror',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'mydberror' => 'mydberror',
+ 'myshowerror' => 'myshowerror',
+ 'update_steuersaetze' => 'update_steuersaetze',
+ 'update_steuersaetze_skr03' => 'update_steuersaetze_skr03',
+ 'update_steuersaetze_skr04' => 'update_steuersaetze_skr04',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'assign_buchungsgruppen_for_assemblies' => 'assign_buchungsgruppen_for_assemblies',
+ 'create_buchungsgruppen' => 'create_buchungsgruppen',
+ 'display_create_bgs_dialog' => 'display_create_bgs_dialog',
+ 'do_update' => 'do_update',
+ 'force_inventory_accno_id_for_parts' => 'force_inventory_accno_id_for_parts',
+ 'mydberror' => 'mydberror',
+ 'mydoquery' => 'mydoquery',
+ 'retrieve_accounts' => 'retrieve_accounts',
+ 'retrieve_buchungsgruppen' => 'retrieve_buchungsgruppen',
+ 'retrieve_std_inventory_accno_id' => 'retrieve_std_inventory_accno_id',
+ 'retrieve_unknown_accno_combinations' => 'retrieve_unknown_accno_combinations',
+ 'set_ic_links' => 'set_ic_links',
+ 'set_taxzone_ids' => 'set_taxzone_ids',
+ 'update_known_buchungsgruppen' => 'update_known_buchungsgruppen',
+ 'create_buchungsgruppen' => 'create_buchungsgruppen',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+};
+
+$self->{subs} = {
+ 'do_update' => 'do_update',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Could not copy %s to %s. Reason: %s' => 'Could not copy %s to %s. Reason: %s',
+ 'Could not open the file users/members.' => 'Could not open the file users/members.',
+ 'Could not rename %s to %s. Reason: %s' => 'Could not rename %s to %s. Reason: %s',
+};
+
+$self->{subs} = {
+ 'do_update' => 'do_update',
+ 'update_templates' => 'update_templates',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'create_tables' => 'create_tables',
+ 'do_copy' => 'do_copy',
+ 'do_query' => 'do_query',
+ 'mydberror' => 'mydberror',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'check_coa' => 'check_coa',
+ 'clear_tables' => 'clear_tables',
+ 'coa_is_empty' => 'coa_is_empty',
+ 'do_copy_tax_report_structure' => 'do_copy_tax_report_structure',
+ 'do_insert_buchungsgruppen' => 'do_insert_buchungsgruppen',
+ 'do_insert_chart' => 'do_insert_chart',
+ 'do_insert_tax' => 'do_insert_tax',
+ 'do_insert_taxkeys' => 'do_insert_taxkeys',
+ 'do_query' => 'do_query',
+ 'mydberror' => 'mydberror',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Assistant for general ledger corrections' => 'Assistant for general ledger corrections',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delete transaction' => 'Delete transaction',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General Ledger Transaction' => 'General Ledger Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'General ledger corrections' => 'General ledger corrections',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No problems were recognized.' => 'No problems were recognized.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => 'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transaction ID missing.' => 'Transaction ID missing.',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Unknown problem type.' => 'Unknown problem type.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'analyze' => 'analyze',
+ 'analyze_filter' => 'analyze_filter',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'assistant' => 'assistant',
+ 'assistant_for_ap_ar_wrong_taxkeys' => 'assistant_for_ap_ar_wrong_taxkeys',
+ 'assistant_for_invoice_inventory_with_taxkeys' => 'assistant_for_invoice_inventory_with_taxkeys',
+ 'assistant_for_wrong_taxes' => 'assistant_for_wrong_taxes',
+ 'assistant_for_wrong_taxkeys' => 'assistant_for_wrong_taxkeys',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delete_transaction' => 'delete_transaction',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'dispatcher' => 'dispatcher',
+ 'fix_ap_ar_wrong_taxkeys' => 'fix_ap_ar_wrong_taxkeys',
+ 'fix_invoice_inventory_with_taxkeys' => 'fix_invoice_inventory_with_taxkeys',
+ 'fix_wrong_taxkeys' => 'fix_wrong_taxkeys',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'redirect' => 'redirect',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete_transaction' => 'delete_transaction',
+ 'fix_transaction' => 'fix_transaction',
+ 'fix_transactions' => 'fix_transactions',
+ 'new_part' => 'new_part',
+ 're_run_analysis' => 're_run_analysis',
+ 'start_analysis' => 'start_analysis',
+ 'yes' => 'yes',
+};
+
+1;
-$self{texts} = {
- 'Access Control' => 'Access Control',
- 'Accounting' => 'Accounting',
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A group with that name does already exist.' => 'A group with that name does already exist.',
+ 'A temporary directory could not be created:' => 'A temporary directory could not be created:',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'A temporary file could not be created:' => 'A temporary file could not be created:',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Add User' => 'Add User',
'Address' => 'Address',
'Administration' => 'Administration',
- 'Administrator' => 'Administrator',
- 'All Datasets up to date!' => 'All Datasets up to date!',
- 'Change Admin Password' => 'Change Admin Password',
- 'Change Password' => 'Change Password',
- 'Character Set' => 'Character Set',
- 'Click on login name to edit!' => 'Click on login name to edit!',
- 'Company' => 'Company',
- 'Connect to' => 'Connect to',
- 'Continue' => 'Continue',
- 'Create Chart of Accounts' => 'Create Chart of Accounts',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Another user with the login #1 does already exist.' => 'Another user with the login #1 does already exist.',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Authentification database creation' => 'Authentification database creation',
+ 'Authentification tables creation' => 'Authentification tables creation',
+ 'Backup Dataset' => 'Backup Dataset',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cannot create Lock!' => 'Cannot create Lock!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Could not open the old memberfile.' => 'Could not open the old memberfile.',
'Create Dataset' => 'Create Dataset',
- 'DBI not installed!' => 'DBI not installed!',
- 'Database' => 'Database',
+ 'Create a standard group' => 'Create a standard group',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
'Database Administration' => 'Database Administration',
- 'Database Driver not checked!' => 'Database Driver not checked!',
+ 'Database Connection Test' => 'Database Connection Test',
'Database User missing!' => 'Database User missing!',
- 'Dataset' => 'Dataset',
+ 'Database backups and restorations are disabled in lx-erp.conf.' => 'Database backups and restorations are disabled in lx-erp.conf.',
'Dataset missing!' => 'Dataset missing!',
- 'Dataset updated!' => 'Dataset updated!',
- 'Date Format' => 'Date Format',
- 'Delete' => 'Delete',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
'Delete Dataset' => 'Delete Dataset',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Directory' => 'Directory',
- 'Driver' => 'Driver',
- 'Dropdown Limit' => 'Dropdown Limit',
- 'E-mail' => 'E-mail',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
'Edit User' => 'Edit User',
- 'Existing Datasets' => 'Existing Datasets',
- 'Fax' => 'Fax',
- 'Host' => 'Host',
- 'Hostname missing!' => 'Hostname missing!',
+ 'Edit group membership' => 'Edit group membership',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'Full Access' => 'Full Access',
+ 'Full access to all functions' => 'Full access to all functions',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
'Incorrect Password!' => 'Incorrect Password!',
- 'Language' => 'Language',
- 'Leave host and port field empty unless you want to make a remote connection.' => 'Leave host and port field empty unless you want to make a remote connection.',
- 'Login' => 'Login',
- 'Multibyte Encoding' => 'Multibyte Encoding',
+ 'Invoice' => 'Invoice',
+ 'Lockfile created!' => 'Lockfile created!',
+ 'Lockfile removed!' => 'Lockfile removed!',
+ 'Login name missing!' => 'Login name missing!',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
- 'New Templates' => 'New Templates',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
'No Database Drivers available!' => 'No Database Drivers available!',
'No Dataset selected!' => 'No Dataset selected!',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No backup file has been uploaded.' => 'No backup file has been uploaded.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No group has been selected, or the group does not exist anymore.' => 'No group has been selected, or the group does not exist anymore.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No user has been selected.' => 'No user has been selected.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Nothing to delete!' => 'Nothing to delete!',
- 'Number Format' => 'Number Format',
- 'Oracle Database Administration' => 'Oracle Database Administration',
- 'Password' => 'Password',
- 'Password changed!' => 'Password changed!',
- 'Pg Database Administration' => 'Pg Database Administration',
- 'Phone' => 'Phone',
- 'Port' => 'Port',
- 'Port missing!' => 'Port missing!',
- 'Printer' => 'Printer',
- 'Save' => 'Save',
- 'Select a Dataset to delete and press "Continue"' => 'Select a Dataset to delete and press "Continue"',
- 'Setup Templates' => 'Setup Templates',
- 'Ship via' => 'Ship via',
- 'Signature' => 'Signature',
- 'Stylesheet' => 'Stylesheet',
- 'Templates' => 'Templates',
- 'The following Datasets are not in use and can be deleted' => 'The following Datasets are not in use and can be deleted',
- 'The following Datasets need to be updated' => 'The following Datasets need to be updated',
- 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!',
- 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Restore Dataset' => 'Restore Dataset',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The dataset name is missing.' => 'The dataset name is missing.',
+ 'The directory "%s" could not be created:\n%s' => 'The directory "%s" could not be created:\n%s',
+ 'The directory %s does not exist.' => 'The directory %s does not exist.',
+ 'The email address is missing.' => 'The email address is missing.',
+ 'The group has been added.' => 'The group has been added.',
+ 'The group has been deleted.' => 'The group has been deleted.',
+ 'The group has been saved.' => 'The group has been saved.',
+ 'The group memberships have been saved.' => 'The group memberships have been saved.',
+ 'The group name is missing.' => 'The group name is missing.',
+ 'The login is missing.' => 'The login is missing.',
+ 'The pg_dump process could not be started.' => 'The pg_dump process could not be started.',
+ 'The pg_restore process could not be started.' => 'The pg_restore process could not be started.',
+ 'The selected PostgreSQL installation uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'The selected PostgreSQL installation uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'The user has been added to this group.' => 'The user has been added to this group.',
+ 'The user has been removed from this group.' => 'The user has been removed from this group.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update Dataset' => 'Update Dataset',
- 'Use Templates' => 'Use Templates',
- 'User' => 'User',
+ 'User data migration' => 'User data migration',
'User deleted!' => 'User deleted!',
+ 'User migration complete' => 'User migration complete',
'User saved!' => 'User saved!',
- 'Version' => 'Version',
- 'You must enter a host and port for local and remote connections!' => 'You must enter a host and port for local and remote connections!',
- 'does not exist' => 'does not exist',
- 'is already a member!' => 'is already a member!',
- 'localhost' => 'localhost',
- 'locked!' => 'locked!',
- 'successfully created!' => 'successfully created!',
- 'successfully deleted!' => 'successfully deleted!',
- 'website' => 'website',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'add' => 'add',
+ 'add_group' => 'add_group',
+ 'add_to_group' => 'add_to_group',
'add_user' => 'add_user',
'adminlogin' => 'adminlogin',
- 'change_admin_password' => 'change_admin_password',
- 'change_password' => 'change_password',
- 'check_password' => 'check_password',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'back' => 'back',
+ 'backup_dataset' => 'backup_dataset',
+ 'backup_dataset_start' => 'backup_dataset_start',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'check_auth_db_and_tables' => 'check_auth_db_and_tables',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_auth_db' => 'create_auth_db',
+ 'create_auth_tables' => 'create_auth_tables',
'create_dataset' => 'create_dataset',
+ 'create_standard_group' => 'create_standard_group',
+ 'create_standard_group_ask' => 'create_standard_group_ask',
'dbcreate' => 'dbcreate',
'dbdelete' => 'dbdelete',
- 'dbdriver_defaults' => 'dbdriver_defaults',
'dbselect_source' => 'dbselect_source',
'dbupdate' => 'dbupdate',
'delete' => 'delete',
'delete_dataset' => 'delete_dataset',
+ 'delete_group' => 'delete_group',
+ 'delete_user' => 'delete_user',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'dispatcher' => 'dispatcher',
+ 'dont_create_standard_group' => 'dont_create_standard_group',
'edit' => 'edit',
- 'form_footer' => 'form_footer',
- 'form_header' => 'form_header',
+ 'edit_group' => 'edit_group',
+ 'edit_group_membership' => 'edit_group_membership',
+ 'edit_groups' => 'edit_groups',
+ 'edit_user' => 'edit_user',
+ 'edit_user_form' => 'edit_user_form',
+ 'format_dates' => 'format_dates',
'get_value' => 'get_value',
+ 'gl_transaction' => 'gl_transaction',
'list_users' => 'list_users',
+ 'lock_system' => 'lock_system',
'login' => 'login',
'login_name' => 'login_name',
- 'oracle_database_administration' => 'oracle_database_administration',
+ 'logout' => 'logout',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'migrate_users' => 'migrate_users',
+ 'no' => 'no',
+ 'part_selection_internal' => 'part_selection_internal',
'pg_database_administration' => 'pg_database_administration',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'remove_from_group' => 'remove_from_group',
+ 'restore_dataset' => 'restore_dataset',
+ 'restore_dataset_start' => 'restore_dataset_start',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'save' => 'save',
+ 'save_group' => 'save_group',
+ 'save_group_membership' => 'save_group_membership',
+ 'save_user' => 'save_user',
+ 'save_user_as_new' => 'save_user_as_new',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'test_db_connection' => 'test_db_connection',
+ 'unlock_system' => 'unlock_system',
'update_dataset' => 'update_dataset',
+ 'user_migration_complete' => 'user_migration_complete',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'yes' => 'yes',
+ 'add' => 'add',
'add_user' => 'add_user',
- 'change_admin_password' => 'change_admin_password',
- 'change_password' => 'change_password',
+ 'add_to_group' => 'add_to_group',
+ 'back' => 'back',
+ 'backup_dataset' => 'backup_dataset',
+ 'close' => 'close',
'continue' => 'continue',
'create_dataset' => 'create_dataset',
+ 'create_tables' => 'create_tables',
'delete' => 'delete',
'delete_dataset' => 'delete_dataset',
+ 'edit' => 'edit',
+ 'edit_groups' => 'edit_groups',
+ 'lock_system' => 'lock_system',
'login' => 'login',
- 'oracle_database_administration' => 'oracle_database_administration',
+ 'logout' => 'logout',
+ 'new_part' => 'new_part',
+ 'no' => 'no',
'pg_database_administration' => 'pg_database_administration',
+ 'remove_from_group' => 'remove_from_group',
+ 'restore_dataset' => 'restore_dataset',
'save' => 'save',
+ 'unlock_system' => 'unlock_system',
'update_dataset' => 'update_dataset',
+ 'yes' => 'yes',
};
1;
+#!/usr/bin/perl
+
# These are all the texts to build the translations files.
# The file has the form of 'english text' => 'foreign text',
# you can add the translation in this file or in the 'missing' file
# run locales.pl from this directory to rebuild the translation files
-$self{texts} = {
+$self->{texts} = {
+ ' Date missing!' => '',
+ ' Part Number missing!' => '',
+ ' missing!' => '',
+ '#1 prices were updated.' => '',
+ '<%account_number%> -- Your account number' => '',
+ '<%bank%> -- Your bank' => '',
+ '<%bank_code%> -- Your bank code' => '',
+ '<%currency%> -- The selected currency' => '',
+ '<%invtotal%> -- Invoice total' => '',
+ '<%invtotal_wo_skonto%> -- Invoice total less discount' => '',
+ '<%netto_date%> -- Date the payment is due in full' => '',
+ '<%skonto_amount%> -- The deductible amount' => '',
+ '<%skonto_date%> -- Date the payment is due with discount' => '',
+ '<%terms_netto%> -- The number of days for full payment' => '',
+ '<%total%> -- Amount payable' => '',
+ '<%total_wo_skonto%> -- Amount payable less discount' => '',
+ '*/' => '',
+ '---please select---' => '',
+ '...after loggin in' => '',
+ '...done' => '',
+ '...on the TODO list' => '',
+ '1. Quarter' => '',
+ '2. Quarter' => '',
+ '3. Quarter' => '',
+ '4. Quarter' => '',
+ '<b>What</b> do you want to look for?' => '',
+ 'A Buchungsgruppe consists of a descriptive name and the account numbers for the income and expense accounts for those four tax zones as well as the inventory account number.' => '',
+ 'A group named "Full Access" has been created.' => '',
+ 'A group with that name does already exist.' => '',
+ 'A lot of the usability of Lx-Office has been enhanced with javascript. Although it is currently possible to use every aspect of Lx-Office without javascript, we strongly recommend it. In a future version this may change and javascript may be necessary to access advanced features.' => '',
+ 'A temporary directory could not be created:' => '',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => '',
+ 'A temporary file could not be created:' => '',
+ 'A unit with this name does already exist.' => '',
+ 'A variable marked as \'editable\' can be changed in each quotation, order, invoice etc.' => '',
+ 'ADDED' => '',
'AP' => 'Purchases',
'AP Aging' => 'Creditor Aging',
'AP Transaction' => 'Purchase Transaction',
+ 'AP Transaction (abbreviation)' => '',
+ 'AP Transaction Storno (one letter abbreviation)' => '',
+ 'AP Transaction with Storno (abbreviation)' => '',
'AP Transactions' => 'Purchase Transactions',
+ 'AP transactions with sales taxkeys and/or AR transactions with input taxkeys' => '',
'AR' => 'Sales',
'AR Aging' => 'Debtor Aging',
'AR Transaction' => 'Sales Transaction',
+ 'AR Transaction (abbreviation)' => '',
'AR Transactions' => 'Sales Transactions',
+ 'ASSETS' => '',
'About' => '',
- 'Access Control' => '',
+ 'Abrechnungsnummer' => '',
+ 'Abteilung' => '',
'Account' => '',
+ 'Account Category A' => '',
+ 'Account Category C' => '',
+ 'Account Category E' => '',
+ 'Account Category G' => '',
+ 'Account Category I' => '',
+ 'Account Category L' => '',
+ 'Account Category Q' => '',
+ 'Account Description missing!' => '',
+ 'Account Link AP' => '',
+ 'Account Link AP_amount' => '',
+ 'Account Link AP_paid' => '',
+ 'Account Link AP_tax' => '',
+ 'Account Link AR' => '',
+ 'Account Link AR_amount' => '',
+ 'Account Link AR_paid' => '',
+ 'Account Link AR_tax' => '',
+ 'Account Link CT_tax' => '',
+ 'Account Link IC' => '',
+ 'Account Link IC_cogs' => '',
+ 'Account Link IC_expense' => '',
+ 'Account Link IC_income' => '',
+ 'Account Link IC_sale' => '',
+ 'Account Link IC_taxpart' => '',
+ 'Account Link IC_taxservice' => '',
'Account Number' => '',
+ 'Account Number already used!' => '',
'Account Number missing!' => '',
+ 'Account Nummer' => '',
'Account Type' => '',
'Account Type missing!' => '',
'Account deleted!' => '',
+ 'Account for fees' => '',
+ 'Account for interest' => '',
'Account saved!' => '',
- 'Accounting' => '',
+ 'Accounting Group deleted!' => '',
+ 'Accounting Group saved!' => '',
'Accounting Menu' => '',
- 'Accounts' => '',
+ 'Accrual' => '',
'Active' => '',
+ 'Active?' => '',
'Add' => '',
+ 'Add ' => '',
+ 'Add AP Transaction' => '',
+ 'Add AR Transaction' => '',
'Add Account' => '',
+ 'Add Accounting Group' => '',
'Add Accounts Payables Transaction' => 'Add Purchase Transaction',
'Add Accounts Receivables Transaction' => 'Add Sales Transaction',
'Add Assembly' => '',
+ 'Add Buchungsgruppe' => '',
+ 'Add Business' => '',
+ 'Add Credit Note' => '',
'Add Customer' => '',
- 'Add GIFI' => '',
+ 'Add Delivery Order' => '',
+ 'Add Department' => '',
+ 'Add Dunning' => '',
+ 'Add Exchangerate' => '',
+ 'Add Follow-Up' => '',
+ 'Add Follow-Up for #1' => '',
'Add General Ledger Transaction' => '',
'Add Group' => '',
+ 'Add Language' => '',
+ 'Add Lead' => '',
+ 'Add License' => '',
'Add Part' => '',
+ 'Add Payment Terms' => '',
+ 'Add Price Factor' => '',
+ 'Add Pricegroup' => '',
+ 'Add Printer' => '',
'Add Project' => '',
+ 'Add Purchase Delivery Order' => '',
'Add Purchase Order' => '',
+ 'Add Quotation' => '',
+ 'Add RFQ' => '',
+ 'Add Request for Quotation' => '',
+ 'Add Sales Delivery Order' => '',
'Add Sales Invoice' => '',
'Add Sales Order' => '',
'Add Service' => '',
+ 'Add Storno Credit Note' => '',
'Add Transaction' => '',
'Add User' => '',
'Add Vendor' => '',
'Add Vendor Invoice' => '',
+ 'Add Warehouse' => '',
+ 'Add a new group' => '',
+ 'Add and edit units' => '',
+ 'Add custom variable' => '',
+ 'Add note' => '',
+ 'Add to group' => '',
+ 'Add unit' => '',
'Address' => '',
'Administration' => '',
- 'Administrator' => '',
+ 'Administration area' => '',
+ 'Advance turnover tax return' => '',
+ 'Aktion' => '',
'All' => '',
+ 'All Accounts' => '',
'All Datasets up to date!' => '',
+ 'All changes in that file have been reverted.' => '',
+ 'All database upgrades have been applied.' => '',
+ 'All general ledger entries' => '',
+ 'All reports' => '',
+ 'Allow access' => '',
+ 'Allow the following users access to my follow-ups:' => '',
+ 'Alternatively you can create a new part which will then be selected.' => '',
+ 'Alternatively you can skip this step and create groups yourself.' => '',
+ 'Amended Advance Turnover Tax Return' => '',
+ 'Amended Advance Turnover Tax Return (Nr. 10)' => '',
'Amount' => '',
'Amount Due' => '',
- 'Amount does not equal applied!' => '',
- 'Amount missing!' => '',
- 'Applied' => '',
+ 'Annotations' => '',
+ 'Another user with the login #1 does already exist.' => '',
+ 'Ansprechpartner' => '',
+ 'Ap aging on %s' => '',
+ 'Application Error. No Format given' => '',
+ 'Application Error. Wrong Format' => '',
+ 'Applying [% HTML.escape(file) %]:' => '',
+ 'Approximately #1 prices will be updated.' => '',
'Apr' => '',
'April' => '',
+ 'Ar aging on %s' => '',
+ 'Are you sure you want to delete Delivery Order Number #1?' => '',
'Are you sure you want to delete Invoice Number' => '',
'Are you sure you want to delete Order Number' => '',
+ 'Are you sure you want to delete Quotation Number' => '',
'Are you sure you want to delete Transaction' => '',
+ 'Are you sure you want to remove the marked entries from the queue?' => '',
+ 'Are you sure you want to update the prices' => '',
+ 'Article Code' => '',
+ 'Article Code missing!' => '',
+ 'As a result, the saved onhand values of the present goods can be stored into a warehouse designated by you, or will be reset for a proper warehouse tracking' => '',
'Assemblies' => '',
- 'Assemblies restocked!' => '',
+ 'Assembly Description' => '',
+ 'Assembly Number' => '',
'Assembly Number missing!' => '',
'Asset' => '',
+ 'Assets' => '',
+ 'Assign new units' => '',
+ 'Assign units' => '',
+ 'Assistant for general ledger corrections' => '',
+ 'Assume Tax Consultant Data in Tax Computation?' => '',
+ 'At least' => '',
+ 'At least one Perl module that Lx-Office ERP requires for running is not installed on your system.' => '',
+ 'At most' => '',
+ 'At the moment the transaction looks like this:' => '',
+ 'Attach PDF:' => '',
'Attachment' => '',
+ 'Attachment name' => '',
+ 'Attempt to call an undefined sub named \'%s\'' => '',
'Audit Control' => '',
'Aug' => '',
'August' => '',
+ 'Authentification database creation' => '',
+ 'Authentification tables creation' => '',
+ 'Auto Send?' => '',
+ 'Automatically created invoice for fee and interest for dunning %s' => '',
+ 'Available qty' => '',
+ 'BALANCE SHEET' => '',
+ 'BIC' => '',
'BOM' => '',
- 'Backup' => '',
- 'Backup sent to' => '',
+ 'BWA' => '',
+ 'Back' => '',
+ 'Backup Dataset' => '',
+ 'Backup file' => '',
+ 'Backup of dataset' => '',
'Balance' => '',
'Balance Sheet' => '',
+ 'Bank' => '',
+ 'Bank Code' => '',
+ 'Bank Code (long)' => '',
+ 'Bank Code Number' => '',
+ 'Bank Connection Tax Office' => '',
+ 'Bank Connections' => '',
+ 'Base unit' => '',
+ 'Basic data' => '',
+ 'Batch Printing' => '',
'Bcc' => '',
+ 'Belegnummer' => '',
+ 'Beratername' => '',
+ 'Beraternummer' => '',
+ 'Bestandskonto' => '',
+ 'Bilanz' => '',
+ 'Billing Address' => '',
+ 'Billing/shipping address (city)' => '',
+ 'Billing/shipping address (street)' => '',
+ 'Billing/shipping address (zipcode)' => '',
'Bin' => '',
+ 'Bin From' => '',
+ 'Bin List' => '',
+ 'Bin To' => '',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => '',
+ 'Bins saved.' => '',
+ 'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the "Delete" column.' => '',
+ 'Birthday' => '',
+ 'Bis' => '',
+ 'Bis Konto: ' => '',
+ 'Body' => '',
+ 'Body:' => '',
'Books are open' => '',
+ 'Books closed up to' => '',
+ 'Boolean variables: If the default value is non-empty then the checkbox will be checked by default and unchecked otherwise.' => '',
+ 'Both' => '',
+ 'Bottom' => '',
'Bought' => '',
+ 'Buchungsdatum' => '',
+ 'Buchungsgruppe' => '',
+ 'Buchungsgruppen' => '',
+ 'Buchungskonto' => '',
+ 'Buchungsnummer' => '',
'Business Number' => '',
- 'C' => '',
- 'COGS' => '',
+ 'Business Volume' => '',
+ 'Business deleted!' => '',
+ 'Business saved!' => '',
+ 'CANCELED' => '',
+ 'CB Transaction' => '',
+ 'CR' => '',
+ 'CRM admin' => '',
+ 'CRM create customers, vendors and contacts' => '',
+ 'CRM follow up' => '',
+ 'CRM know how' => '',
+ 'CRM notices' => '',
+ 'CRM opportunity' => '',
+ 'CRM optional software' => '',
+ 'CRM other' => '',
+ 'CRM search' => '',
+ 'CRM send email' => '',
+ 'CRM services' => '',
+ 'CRM status' => '',
+ 'CRM termin' => '',
+ 'CRM user' => '',
+ 'CSV export -- options' => '',
+ 'Calculate' => '',
+ 'Can not create that quantity with current stock' => '',
+ 'Cancel' => '',
+ 'Cancel Accounts Payables Transaction' => '',
+ 'Cancel Accounts Receivables Transaction' => '',
+ 'Cannot create Lock!' => '',
'Cannot delete account!' => '',
'Cannot delete customer!' => '',
'Cannot delete default account!' => '',
+ 'Cannot delete delivery order!' => '',
'Cannot delete invoice!' => '',
'Cannot delete item!' => '',
'Cannot delete order!' => '',
+ 'Cannot delete quotation!' => '',
'Cannot delete transaction!' => '',
'Cannot delete vendor!' => '',
'Cannot have a value in both Debit and Credit!' => '',
+ 'Cannot post Payment!' => '',
+ 'Cannot post Receipt!' => '',
'Cannot post a transaction without a value!' => '',
'Cannot post invoice for a closed period!' => '',
'Cannot post invoice!' => '',
'Cannot post payment for a closed period!' => '',
'Cannot post payment!' => '',
'Cannot post transaction for a closed period!' => '',
+ 'Cannot post transaction with a debit and credit entry for the same account!' => '',
'Cannot post transaction!' => '',
'Cannot process payment for a closed period!' => '',
+ 'Cannot remove files!' => '',
'Cannot save account!' => '',
'Cannot save order!' => '',
'Cannot save preferences!' => '',
- 'Cannot stock assemblies!' => '',
+ 'Cannot save quotation!' => '',
+ 'Cannot storno storno invoice!' => '',
+ 'Carry over shipping address' => '',
'Cash' => '',
- 'Cash based' => '',
'Cc' => '',
- 'Change Admin Password' => '',
- 'Change Password' => '',
- 'Character Set' => '',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => '',
+ 'Charge Number' => '',
+ 'Charge number' => '',
+ 'Chart Type' => '',
+ 'Chart balance' => '',
'Chart of Accounts' => '',
+ 'Chart of accounts' => '',
+ 'Chartaccounts connected to this Tax:' => '',
'Check' => 'Cheque',
- 'Check printed!' => '',
- 'Check printing failed!' => '',
+ 'Check Details' => '',
+ 'Checks' => '',
+ 'Choose Customer' => '',
+ 'Choose Outputformat' => '',
+ 'Choose Vendor' => '',
+ 'Choose a Tax Number' => '',
+ 'City' => '',
'Cleared Balance' => '',
+ 'Clearing Tax Received (No 71)' => '',
'Click on login name to edit!' => '',
+ 'Close' => '',
'Close Books up to' => '',
+ 'Close Window' => '',
'Closed' => '',
'Collective Orders only work for orders from one customer!' => '',
+ 'Comment' => '',
'Company' => '',
+ 'Company Name' => '',
'Compare to' => '',
+ 'Configuration of individual TODO items' => '',
+ 'Confirm' => '',
'Confirm!' => '',
- 'Connect to' => '',
+ 'Confirmation' => '',
'Contact' => '',
+ 'Contact Person' => '',
+ 'Contact person (surname)' => '',
+ 'Contacts' => '',
'Continue' => '',
+ 'Contra' => '',
'Copies' => '',
- 'Copy to COA' => '',
+ 'Correct taxkey' => '',
+ 'Corrections' => '',
+ 'Cost Center' => '',
+ 'Costs' => '',
+ 'Could not copy %s to %s. Reason: %s' => '',
+ 'Could not open the file users/members.' => '',
+ 'Could not open the old memberfile.' => '',
+ 'Could not print dunning.' => '',
+ 'Could not rename %s to %s. Reason: %s' => '',
+ 'Could not spawn ghostscript.' => '',
+ 'Could not spawn the printer command.' => '',
+ 'Could not update prices!' => '',
+ 'Country' => '',
+ 'Create Assembly' => '',
+ 'Create Buchungsgruppen' => '',
'Create Chart of Accounts' => '',
'Create Dataset' => '',
+ 'Create Date' => '',
+ 'Create a standard group' => '',
+ 'Create and edit RFQs' => '',
+ 'Create and edit customers and vendors' => '',
+ 'Create and edit dunnings' => '',
+ 'Create and edit invoices and credit notes' => '',
+ 'Create and edit parts, services, assemblies' => '',
+ 'Create and edit projects' => '',
+ 'Create and edit purchase delivery orders' => '',
+ 'Create and edit purchase orders' => '',
+ 'Create and edit sales delivery orders' => '',
+ 'Create and edit sales orders' => '',
+ 'Create and edit sales quotations' => '',
+ 'Create and edit vendor invoices' => '',
+ 'Create invoice?' => '',
+ 'Create new' => '',
+ 'Create tables' => '',
+ 'Created by' => '',
+ 'Created for' => '',
+ 'Created on' => '',
'Credit' => '',
+ 'Credit (one letter abbreviation)' => '',
+ 'Credit Account' => '',
'Credit Limit' => '',
+ 'Credit Limit exceeded!!!' => '',
+ 'Credit Note' => '',
+ 'Credit Note Date' => '',
+ 'Credit Note Number' => '',
+ 'Credit Starting Balance' => '',
+ 'Credit Tax' => '',
+ 'Credit Tax Account' => '',
+ 'Credit note (one letter abbreviation)' => '',
'Curr' => '',
+ 'Currencies' => '',
'Currency' => '',
- 'Current' => '',
+ 'Current / Next Level' => '',
+ 'Current Earnings' => '',
+ 'Current unit' => '',
+ 'Current value:' => '',
+ 'Custom Variables' => '',
+ 'Custom variables for module' => '',
'Customer' => '',
+ 'Customer Number' => '',
+ 'Customer Order Number' => '',
'Customer deleted!' => '',
+ 'Customer details' => '',
'Customer missing!' => '',
+ 'Customer not on file or locked!' => '',
'Customer not on file!' => '',
'Customer saved!' => '',
+ 'Customer type' => '',
+ 'Customername' => '',
+ 'Customernumberinit' => '',
'Customers' => '',
- 'DBI not installed!' => '',
+ 'Customers and vendors' => '',
+ 'Customized Report' => '',
+ 'DATEV - Export Assistent' => '',
+ 'DATEV Angaben' => '',
+ 'DATEV Export' => '',
+ 'DATEX - Export Assistent' => '',
+ 'DELETED' => '',
+ 'DFV-Kennzeichen' => '',
+ 'DR' => '',
+ 'DUNNING STARTED' => '',
+ 'DUNS-Nr' => '',
'Database' => '',
'Database Administration' => '',
- 'Database Driver not checked!' => '',
+ 'Database Connection Test' => '',
'Database Host' => '',
'Database User missing!' => '',
+ 'Database backups and restorations are disabled in lx-erp.conf.' => '',
+ 'Database name' => '',
+ 'Database template' => '',
+ 'Database update error:' => '',
'Dataset' => '',
'Dataset missing!' => '',
- 'Dataset updated!' => '',
+ 'Dataset name' => '',
+ 'Dataset upgrade' => '',
'Date' => '',
'Date Format' => '',
'Date Paid' => '',
+ 'Date and timestamp variables: If the default value equals \'NOW\' then the current date/current timestamp will be used. Otherwise the default value is copied as-is.' => '',
'Date missing!' => '',
+ 'Datevautomatik' => '',
+ 'Datum von' => '',
'Debit' => '',
+ 'Debit (one letter abbreviation)' => '',
+ 'Debit Account' => '',
+ 'Debit Starting Balance' => '',
+ 'Debit Tax' => '',
+ 'Debit Tax Account' => '',
'Debit and credit out of balance!' => '',
'Dec' => '',
'December' => '',
'Decimalplaces' => '',
+ 'Decrease' => '',
+ 'Default (no language selected)' => '',
+ 'Default Accounts' => '',
+ 'Default output medium' => '',
+ 'Default printer' => '',
+ 'Default template format' => '',
+ 'Default value' => '',
+ 'Defaults saved.' => '',
'Delete' => '',
'Delete Account' => '',
+ 'Delete Contact' => '',
'Delete Dataset' => '',
+ 'Delete Shipto' => '',
+ 'Delete delivery order' => '',
+ 'Delete drafts' => '',
+ 'Delete group' => '',
+ 'Delete transaction' => '',
+ 'Delivered' => '',
'Delivery Date' => '',
+ 'Delivery Order' => '',
+ 'Delivery Order Date' => '',
+ 'Delivery Order Date missing!' => '',
+ 'Delivery Order Number' => '',
+ 'Delivery Order deleted!' => '',
+ 'Delivery Orders' => '',
+ 'Department' => '',
+ 'Department deleted!' => '',
+ 'Department saved!' => '',
+ 'Departments' => '',
+ 'Dependency loop detected:' => '',
'Deposit' => '',
'Description' => '',
+ 'Description (Click on Description for details)' => '',
+ 'Description missing!' => '',
+ 'Description must not be empty!' => '',
+ 'Destination bin' => '',
+ 'Destination warehouse' => '',
+ 'Destination warehouse and bin' => '',
+ 'Details (one letter abbreviation)' => '',
'Difference' => '',
+ 'Dimension unit' => '',
'Directory' => '',
'Discount' => '',
+ 'Display' => '',
+ 'Display file' => '',
+ 'Display options' => '',
+ 'Do you really want to delete AP transaction #1?' => '',
+ 'Do you really want to delete AR transaction #1?' => '',
+ 'Do you really want to delete GL transaction #1?' => '',
+ 'Do you really want to delete this group:' => '',
+ 'Do you really want to delete this warehouse?' => '',
+ 'Do you want Lx-Office to create a group for access to all functions?' => '',
+ 'Do you want to <b>limit</b> your search?' => '',
+ 'Do you want to carry this shipping address over to the new purchase order so that the vendor can deliver the goods directly to your customer?' => '',
+ 'Do you want to store the existing onhand values into a new warehouse?' => '',
+ 'Document' => '',
+ 'Documents in the WebDAV repository' => '',
'Done' => '',
+ 'Download the backup' => '',
+ 'Draft saved.' => '',
'Drawing' => '',
'Driver' => '',
'Dropdown Limit' => '',
'Due' => '',
'Due Date' => '',
'Due Date missing!' => '',
+ 'Duedate +Days' => '',
+ 'Dunning' => '',
+ 'Dunning Amount' => '',
+ 'Dunning Date' => '',
+ 'Dunning Date from' => '',
+ 'Dunning Description' => '',
+ 'Dunning Description missing in row ' => '',
+ 'Dunning Duedate' => '',
+ 'Dunning Level' => '',
+ 'Dunning Level missing in row ' => '',
+ 'Dunning Process Config saved!' => '',
+ 'Dunning Process started for selected invoices!' => '',
+ 'Dunning number' => '',
+ 'Dunning overview' => '',
+ 'Dunnings' => '',
+ 'During this user migration Lx-Office can create such a group for you and grant all users access to all of Lx-Office\'s functions.' => '',
'E-mail' => '',
'E-mail Statement to' => '',
'E-mail address missing!' => '',
+ 'EAN' => '',
+ 'EAN-Code' => '',
+ 'EB-Wert' => '',
+ 'EK' => '',
+ 'ELSE' => '',
+ 'ELSTER Export (Taxbird)' => '',
+ 'ELSTER Export (Winston)' => '',
+ 'ELSTER Export nach Winston' => '',
+ 'ELSTER Tax Number' => '',
+ 'EQUITY' => '',
+ 'EU with VAT ID' => '',
+ 'EU without VAT ID' => '',
+ 'EUER' => '',
+ 'EUR' => '',
+ 'Earlier versions of Lx-Office contained bugs which might have led to wrong entries in the general ledger.' => '',
'Edit' => '',
+ 'Edit ' => '',
+ 'Edit Access Rights' => '',
+ 'Edit Access Rights for Follow-Ups' => '',
'Edit Account' => '',
+ 'Edit Accounting Group' => '',
'Edit Accounts Payables Transaction' => 'Edit Creditor Transaction',
'Edit Accounts Receivables Transaction' => 'Edit Debtor Transaction',
'Edit Assembly' => '',
+ 'Edit Bins' => '',
+ 'Edit Buchungsgruppe' => '',
+ 'Edit Business' => '',
+ 'Edit Credit Note' => '',
'Edit Customer' => '',
- 'Edit GIFI' => '',
+ 'Edit Department' => '',
+ 'Edit Dunning' => '',
+ 'Edit Dunning Process Config' => '',
+ 'Edit Follow-Up' => '',
+ 'Edit Follow-Up for #1' => '',
'Edit General Ledger Transaction' => '',
'Edit Group' => '',
+ 'Edit Language' => '',
+ 'Edit Lead' => '',
'Edit Part' => '',
- 'Edit Preferences for' => '',
+ 'Edit Payment Terms' => '',
+ 'Edit Preferences for #1' => '',
+ 'Edit Price Factor' => '',
+ 'Edit Pricegroup' => '',
+ 'Edit Printer' => '',
'Edit Project' => '',
+ 'Edit Purchase Delivery Order' => '',
'Edit Purchase Order' => '',
+ 'Edit Quotation' => '',
+ 'Edit Request for Quotation' => '',
+ 'Edit Sales Delivery Order' => '',
'Edit Sales Invoice' => '',
'Edit Sales Order' => '',
'Edit Service' => '',
- 'Edit Template' => '',
+ 'Edit Storno Credit Note' => '',
+ 'Edit Storno Invoice' => '',
'Edit User' => '',
'Edit Vendor' => '',
'Edit Vendor Invoice' => '',
+ 'Edit Warehouse' => '',
+ 'Edit and delete a group' => '',
+ 'Edit custom variable' => '',
+ 'Edit file' => '',
+ 'Edit greetings' => '',
+ 'Edit group ' => '',
+ 'Edit group membership' => '',
+ 'Edit groups' => '',
+ 'Edit note' => '',
+ 'Edit rights' => '',
+ 'Edit templates' => '',
+ 'Edit the Delivery Order' => '',
+ 'Edit the membership of all users in all groups:' => '',
+ 'Edit the purchase_order' => '',
+ 'Edit the request_quotation' => '',
+ 'Edit the sales_order' => '',
+ 'Edit the sales_quotation' => '',
+ 'Edit the stylesheet' => '',
+ 'Edit units' => '',
+ 'Editable' => '',
+ 'Element disabled' => '',
'Employee' => '',
- 'Enforce transaction reversal for all dates' => '',
+ 'Empty transaction!' => '',
+ 'Enter a description for this new draft.' => '',
+ 'Enter longdescription' => '',
'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => '',
'Equity' => '',
+ 'Error' => '',
+ 'Error in database control file \'%s\': %s' => '',
+ 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => '',
+ 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => '',
+ 'Error in row #1: The quantity you entered is bigger than the stocked quantity.' => '',
+ 'Error message from the database driver:' => '',
+ 'Error!' => '',
+ 'Ertrag' => '',
+ 'Ertrag prozentual' => '',
+ 'Escape character' => '',
+ 'Exact' => '',
'Exch' => '',
'Exchangerate' => '',
'Exchangerate Difference' => '',
'Exchangerate for payment missing!' => '',
'Exchangerate missing!' => '',
+ 'Existing Buchungsgruppen' => '',
'Existing Datasets' => '',
+ 'Existing pending follow-ups for this item' => '',
+ 'Expected Tax' => '',
'Expense' => '',
'Expense Account' => '',
+ 'Expense accno' => '',
'Expense/Asset' => '',
+ 'Expenses EU with UStId' => '',
+ 'Expenses EU without UStId' => '',
+ 'Expired licenses' => '',
+ 'Expiring in x month(s)' => '',
+ 'Export Buchungsdaten' => '',
+ 'Export Stammdaten' => '',
+ 'Export as CSV' => '',
+ 'Export as PDF' => '',
'Extended' => '',
+ 'Extension Of Time' => '',
+ 'Factor' => '',
+ 'Factor missing!' => '',
+ 'Falsches Datumsformat!' => '',
+ 'Favorites' => '',
'Fax' => '',
'Feb' => '',
'February' => '',
+ 'Fee' => '',
+ 'File' => '',
+ 'File name' => '',
+ 'Files created by Lx-Office\'s "Backup Dataset" function are such files.' => '',
+ 'Filter' => '',
+ 'Finish' => '',
+ 'Fix transaction' => '',
+ 'Fix transactions' => '',
+ 'Folgekonto' => '',
+ 'Follow-Up' => '',
+ 'Follow-Up Date' => '',
+ 'Follow-Up On' => '',
+ 'Follow-Up done' => '',
+ 'Follow-Up for' => '',
+ 'Follow-Up for user' => '',
+ 'Follow-Up saved.' => '',
+ 'Follow-Ups' => '',
+ 'Follow-up for' => '',
+ 'Font' => '',
+ 'Font size' => '',
+ 'For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.' => '',
+ 'For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.' => '',
+ 'For each unit there\'s either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the "smaller" one. A factor may not be less than 1. Therefore you may define "kg" with the base unit "g" and a factor of "1", but not the other way round.' => '',
'Foreign Exchange Gain' => '',
'Foreign Exchange Loss' => '',
+ 'Foreign Expenses' => '',
+ 'Foreign Revenues' => '',
+ 'Form details (second row)' => '',
+ 'Formula' => '',
+ 'Free report period' => '',
+ 'Free-form text' => '',
+ 'Fristsetzung' => '',
'From' => '',
- 'GIFI' => '',
- 'GIFI deleted!' => '',
- 'GIFI missing!' => '',
- 'GIFI saved!' => '',
+ 'From Date' => '',
+ 'Full Access' => '',
+ 'Full access to all functions' => '',
'GL Transaction' => '',
+ 'Gegenkonto' => '',
+ 'Gender' => '',
'General Ledger' => '',
- 'Goods & Services' => '',
+ 'General Ledger Corrections' => '',
+ 'General Ledger Transaction' => '',
+ 'General ledger and cash' => '',
+ 'General ledger corrections' => '',
+ 'Generic Tax Report' => '',
+ 'Given Name' => '',
+ 'Greeting' => '',
+ 'Greetings' => '',
'Group' => '',
+ 'Group Invoices' => '',
'Group Items' => '',
'Group deleted!' => '',
+ 'Group membership' => '',
'Group missing!' => '',
'Group saved!' => '',
'Groups' => '',
+ 'HTML' => '',
'HTML Templates' => '',
+ 'Has serial number' => '',
+ 'Header' => '',
'Heading' => '',
+ 'Help' => '',
+ 'Here\'s an example command line:' => '',
+ 'Hide by default' => '',
+ 'History' => '',
+ 'History Search' => '',
+ 'History Search Engine' => '',
+ 'Homepage' => '',
'Host' => '',
- 'Hostname missing!' => '',
+ 'However, you can create a new part which will then be selected.' => '',
+ 'I' => '',
+ 'IBAN' => '',
'ID' => '',
+ 'ID-Nummer' => '',
+ 'II' => '',
+ 'III' => '',
+ 'IV' => '',
+ 'If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.' => '',
+ 'If the database user listed above does not have the right to create a database then enter the name and password of the superuser below:' => '',
+ 'If you chose to let Lx-Office do the migration then Lx-Office will also remove the old member file after creating a backup copy of it in the directory "[% HTML.escape(backupdir) %]".' => '',
+ 'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => '',
+ 'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => '',
+ 'If you want to change any of these parameters then press the "Back" button, edit the file "config/authentication.pl" and login into the admin module again.' => '',
+ 'If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.' => '',
+ 'If you want to set up the authentication database yourself then log in to the administration panel. Lx-Office will then create the database and tables for you.' => '',
+ 'If you yourself want to upgrade the installation then please read the file "doc/UPGRADE" and follow the steps outlined in this file.' => '',
'Image' => '',
+ 'Import CSV' => '',
+ 'In Lx-Office 2.4.0 the administrator has to enter a list of units in the administrative section.' => '',
+ 'In order to do that hit the button "Delete transaction".' => '',
+ 'In the latter case the tables needed by Lx-Office will be created in that database.' => '',
'In-line' => '',
+ 'Inactive' => '',
+ 'Include Exchangerate Difference' => '',
+ 'Include column headings' => '',
+ 'Include empty bins' => '',
'Include in Report' => '',
'Include in drop-down menus' => '',
- 'Include this account on the customer/vendor forms to flag customer/vendor as taxable?' => 'Include this account on debtor/creditor forms to set debtor/creditor taxable?',
- 'Income' => 'Revenue',
- 'Income Account' => 'Revenue Account',
+ 'Includeable in reports' => '',
'Income Statement' => '',
- 'Incorrect Dataset version!' => '',
+ 'Income accno' => '',
+ 'Incoming Payments' => '',
+ 'Incoming invoice number' => '',
'Incorrect Password!' => '',
+ 'Incorrect username or password!' => '',
+ 'Increase' => '',
'Individual Items' => '',
+ 'Information' => '',
+ 'Interest' => '',
+ 'Interest Rate' => '',
+ 'Internal Notes' => '',
+ 'International' => '',
+ 'Internet' => '',
+ 'Introduction of Buchungsgruppen' => '',
+ 'Introduction of units' => '',
+ 'Inv. Duedate' => '',
+ 'Invalid' => '',
+ 'Invalid follow-up ID.' => '',
+ 'Invalid quantity.' => '',
+ 'Invdate' => '',
+ 'Invdate from' => '',
'Inventory' => '',
'Inventory Account' => '',
'Inventory quantity must be zero before you can set this assembly obsolete!' => '',
'Inventory quantity must be zero before you can set this part obsolete!' => '',
+ 'Invno.' => '',
+ 'Invnumber' => '',
+ 'Invnumber missing!' => '',
'Invoice' => '',
+ 'Invoice (one letter abbreviation)' => '',
'Invoice Date' => '',
'Invoice Date missing!' => '',
+ 'Invoice Duedate' => '',
'Invoice Number' => '',
'Invoice Number missing!' => '',
'Invoice deleted!' => '',
- 'Invoice posted!' => '',
+ 'Invoice for fees' => '',
+ 'Invoice has already been storno\'d!' => '',
+ 'Invoice with Storno (abbreviation)' => '',
'Invoices' => '',
'Is this a summary account to record' => '',
+ 'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' => '',
+ 'It is possible to do this automatically for some Buchungsgruppen, but not for all.' => '',
+ 'It is possible to do this automatically for some units, but for others the user has to chose the new unit.' => '',
+ 'It may optionally be compressed with "gzip".' => '',
+ 'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' => '',
'Item deleted!' => '',
'Item not on file!' => '',
+ 'Jahresverkehrszahlen neu' => '',
'Jan' => '',
'January' => '',
+ 'Journal' => '',
'Jul' => '',
'July' => '',
+ 'Jump to' => '',
'Jun' => '',
'June' => '',
+ 'KNE-Export erfolgreich!' => '',
+ 'KNr. beim Kunden' => '',
+ 'Keine Suchergebnisse gefunden!' => '',
+ 'Konten' => '',
+ 'Kontonummernerweiterung (KNE)' => '',
+ 'L' => '',
+ 'LIABILITIES' => '',
+ 'LP' => '',
'LaTeX Templates' => '',
+ 'Landscape' => '',
'Language' => '',
+ 'Language Values' => '',
+ 'Language deleted!' => '',
+ 'Language missing!' => '',
+ 'Language saved!' => '',
+ 'Languages' => '',
+ 'Last Article Number' => '',
'Last Cost' => '',
+ 'Last Credit Note Number' => '',
+ 'Last Customer Number' => '',
'Last Invoice Number' => '',
- 'Last Numbers & Default Accounts' => '',
+ 'Last Purchase Delivery Order Number' => '',
'Last Purchase Order Number' => '',
+ 'Last RFQ Number' => '',
+ 'Last Sales Delivery Order Number' => '',
'Last Sales Order Number' => '',
+ 'Last Sales Quotation Number' => '',
+ 'Last Service Number' => '',
+ 'Last Transaction' => '',
+ 'Last Vendor Number' => '',
+ 'Lead' => '',
'Leave host and port field empty unless you want to make a remote connection.' => '',
+ 'Left' => '',
'Liability' => '',
+ 'License' => '',
+ 'License key' => '',
'Licensed to' => '',
+ 'Licenses' => '',
+ 'Lieferungen' => '',
+ 'Limit part selection' => '',
'Line Total' => '',
- 'Link' => '',
- 'Link Accounts' => '',
+ 'Line endings' => '',
+ 'List' => '',
+ 'List Accounting Groups' => '',
'List Accounts' => '',
- 'List GIFI' => '',
+ 'List Businesses' => '',
+ 'List Departments' => '',
+ 'List Groups' => '',
+ 'List Languages' => '',
+ 'List Lead' => '',
+ 'List Payment Terms' => '',
'List Price' => '',
+ 'List Price Factors' => '',
+ 'List Pricegroups' => '',
+ 'List Printer' => '',
+ 'List Tax' => '',
'List Transactions' => '',
+ 'List Warehouses' => '',
+ 'List export' => '',
+ 'List of custom variables' => '',
+ 'Load draft' => '',
+ 'Local Tax Office Preferences' => '',
+ 'Lock System' => '',
+ 'Lockfile created!' => '',
+ 'Lockfile removed!' => '',
'Login' => '',
+ 'Login Name' => '',
+ 'Login name missing!' => '',
'Logout' => '',
+ 'Long Dates' => '',
+ 'Long Description' => '',
+ 'Lx-Office 2.4.0 introduces two new concepts: tax zones and Buchungsgruppen.' => '',
+ 'Lx-Office can fix these problems automatically.' => '',
+ 'Lx-Office has been switched to group-based access restrictions.' => '',
+ 'Lx-Office has found one or more problems in the general ledger.' => '',
+ 'Lx-Office is about to update the database <b>[% HTML.escape(dbname) %]</b>. You should create a backup of the database before proceeding because the backup might not be reversible.' => '',
+ 'Lx-Office is now able to manage warehouses instead of just tracking the amount of goods in your system.' => '',
+ 'Lx-Office website' => '',
+ 'MAILED' => '',
+ 'MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES' => '',
+ 'Main Preferences' => '',
'Make' => '',
+ 'Manage license keys' => '',
+ 'Mandantennummer' => '',
'Mar' => '',
'March' => '',
+ 'Margins' => '',
+ 'Mark as paid?' => '',
+ 'Mark closed' => '',
+ 'Marked as paid' => '',
+ 'Marked entries printed!' => '',
+ 'Master Data' => '',
+ 'Max. Dunning Level' => '',
'May' => '',
'May ' => '',
+ 'May set the BCC field when sending emails' => '',
+ 'Medium Number' => '',
+ 'Memo' => '',
'Message' => '',
+ 'Method' => '',
'Microfiche' => '',
+ 'Minimum Amount' => '',
+ 'Miscellaneous' => '',
+ 'Missing \'description\' field.' => '',
+ 'Missing \'tag\' field.' => '',
+ 'Missing Method!' => '',
+ 'Missing Tax Authoritys Preferences' => '',
+ 'Missing amount' => '',
+ 'Missing parameter #1 in call to sub #2.' => '',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => '',
+ 'Mitarbeiter' => '',
+ 'Mobile1' => '',
+ 'Mobile2' => '',
'Model' => '',
+ 'Module' => '',
+ 'Module home page' => '',
+ 'Module name' => '',
+ 'Monat' => '',
+ 'Monthly' => '',
+ 'More than one control file with the tag \'%s\' exist.' => '',
'Multibyte Encoding' => '',
- 'N/A' => '',
+ 'MwSt. inkl.' => '',
'Name' => '',
'Name missing!' => '',
+ 'National' => '',
+ 'National Expenses' => '',
+ 'National Revenues' => '',
+ 'Netto Terms' => '',
+ 'New Buchungsgruppe [% loop.count %]' => '',
'New Templates' => '',
+ 'New assembly' => '',
+ 'New contact' => '',
+ 'New customer' => '',
+ 'New invoice' => '',
+ 'New part' => '',
+ 'New sales order' => '',
+ 'New service' => '',
+ 'New unit' => '',
+ 'New vendor' => '',
+ 'Next Dunning Level' => '',
'No' => '',
+ 'No %s was found matching the search parameters.' => '',
+ 'No Company Address given' => '',
+ 'No Company Name given' => '',
+ 'No Customer was found matching the search parameters.' => '',
'No Database Drivers available!' => '',
'No Dataset selected!' => '',
- 'No email address for' => '',
+ 'No Vendor was found matching the search parameters.' => '',
+ 'No action defined.' => '',
+ 'No backup file has been uploaded.' => '',
+ 'No bins have been added to this warehouse yet.' => '',
+ 'No customer has been selected yet.' => '',
+ 'No data was found.' => '',
+ 'No databases have been found on this server.' => '',
+ 'No datasets have been selected.' => '',
+ 'No dunnings have been selected for printing.' => '',
+ 'No entries were found which had no unit assigned to them.' => '',
+ 'No group has been selected, or the group does not exist anymore.' => '',
+ 'No groups have been added yet.' => '',
+ 'No licenses were found that match the search criteria.' => '',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => '',
+ 'No part was found matching the search parameters.' => '',
+ 'No prices will be updated because no prices have been entered.' => '',
+ 'No problems were recognized.' => '',
+ 'No unknown units where found.' => '',
+ 'No user has been selected.' => '',
+ 'No valid number entered for pricegroup "#1".' => '',
+ 'No vendor has been selected yet.' => '',
+ 'No warehouse has been created yet or the quantity of the bins is not configured yet.' => '',
'No.' => '',
+ 'Non-taxable Purchases' => '',
+ 'Non-taxable Sales' => '',
+ 'None' => '',
+ 'Not Discountable' => '',
+ 'Not delivered' => '',
+ 'Not done yet' => '',
+ 'Not obsolete' => '',
+ 'Note' => '',
+ 'Note: Taxkeys must have a "valid from" date, and will not be in effect otherwise.' => '',
'Notes' => '',
- 'Nothing applied!' => '',
+ 'Nothing has been selected for removal.' => '',
+ 'Nothing has been selected for transfer.' => '',
'Nothing selected!' => '',
'Nothing to delete!' => '',
'Nov' => '',
'November' => '',
+ 'Now the user must select a single Buchungsgruppe for each part instead of three distinct accounts.' => '',
'Number' => '',
'Number Format' => '',
'Number missing in Row' => '',
- 'O' => '',
+ 'Number of bins' => '',
+ 'Number of copies' => '',
+ 'Number of new bins' => '',
+ 'Number pages' => '',
+ 'Number variables: \'PRECISION=n\' forces numbers to be shown with exactly n decimal places.' => '',
+ 'OB Transaction' => '',
+ 'OBE-Export erfolgreich!' => '',
'Obsolete' => '',
'Oct' => '',
'October' => '',
+ 'Off' => '',
+ 'Old (on the side)' => '',
+ 'On' => '',
'On Hand' => '',
'On Order' => '',
+ 'One or more Perl modules missing' => '',
+ 'Only due follow-ups' => '',
'Open' => '',
- 'Oracle Database Administration' => '',
+ 'OpenDocument/OASIS' => '',
+ 'Openings' => '',
+ 'Optional comment' => '',
+ 'Options' => '',
'Order' => '',
'Order Date' => '',
'Order Date missing!' => '',
- 'Order Entry' => '',
'Order Number' => '',
'Order Number missing!' => '',
'Order deleted!' => '',
- 'Order saved!' => '',
'Ordered' => '',
+ 'Orientation' => '',
'Orphaned' => '',
+ 'Other users\' follow-ups' => '',
+ 'Other values are ignored.' => '',
+ 'Others' => '',
+ 'Otherwise all users will only have access to their own settings.' => '',
+ 'Otherwise the variable is only available for printing.' => '',
+ 'Out of balance transaction!' => '',
'Out of balance!' => '',
+ 'Output Number Format' => '',
+ 'Outputformat' => '',
+ 'Overdue sales quotations and requests for quotations' => '',
+ 'Own Product' => '',
+ 'PAYMENT POSTED' => '',
'PDF' => '',
+ 'PDF (OpenDocument/OASIS)' => '',
+ 'PDF export -- options' => '',
+ 'POSTED' => '',
+ 'POSTED AS NEW' => '',
+ 'PRINTED' => '',
'Packing List' => '',
'Packing List Date missing!' => '',
'Packing List Number missing!' => '',
+ 'Packing Lists' => '',
+ 'Page #1/#2' => '',
'Paid' => '',
- 'Paid in full' => '',
'Part' => '',
+ 'Part Description' => '',
+ 'Part Description missing!' => '',
+ 'Part Number' => '',
'Part Number missing!' => '',
+ 'Part description' => '',
+ 'Partnumber must not be set to empty!' => '',
+ 'Partnumber not unique!' => '',
'Parts' => '',
'Parts Inventory' => '',
+ 'Parts must have an entry type.' => '',
+ 'Parts, services and assemblies' => '',
'Password' => '',
- 'Password changed!' => '',
'Payables' => '',
'Payment' => '',
+ 'Payment Reminder' => '',
+ 'Payment Terms' => '',
+ 'Payment Terms missing in row ' => '',
+ 'Payment Terms saved!' => '',
'Payment date missing!' => '',
'Payment posted!' => '',
+ 'Payment terms deleted!' => '',
'Payments' => '',
+ 'Period' => '',
+ 'Period:' => '',
+ 'Personal settings' => '',
'Pg Database Administration' => '',
'Phone' => '',
+ 'Phone1' => '',
+ 'Phone2' => '',
+ 'Pick List' => '',
+ 'Please ask your administrator to create warehouses and bins.' => '',
+ 'Please enter a license key.' => '',
+ 'Please enter a number of licenses.' => '',
+ 'Please enter the login for the new user.' => '',
+ 'Please enter the name of the database that will be used as the template for the new database:' => '',
+ 'Please enter the name of the dataset you want to restore the backup in.' => '',
+ 'Please enter the taxnumber in the administration menu userpreferences' => '',
+ 'Please enter values' => '',
+ 'Please insert object dimensions below.' => '',
+ 'Please insert your language values below' => '',
+ 'Please insert your longdescription below' => '',
+ 'Please install the below listed modules or ask your system administrator to.' => '',
+ 'Please re-run the analysis for broken general ledger entries by clicking this button:' => '',
+ 'Please select a customer from the list below.' => '',
+ 'Please select a part from the list below.' => '',
+ 'Please select a vendor from the list below.' => '',
+ 'Please select the chart of accounts this installation is using from the list below.' => '',
+ 'Please select the database you want to backup' => '',
+ 'Please seletct the dataset you want to delete:' => '',
+ 'Please specify a description for the warehouse designated for these goods.' => '',
+ 'Plural' => '',
'Port' => '',
- 'Port missing!' => '',
+ 'Portrait' => '',
'Post' => '',
- 'Post as new' => '',
+ 'Post Payment' => '',
'Postscript' => '',
+ 'Posustva_coa' => '',
'Preferences' => '',
'Preferences saved!' => '',
+ 'Prefix for the new bins\' names' => '',
+ 'Preis' => '',
+ 'Preisgruppe' => '',
+ 'Preisklasse' => '',
+ 'Prepayment' => '',
+ 'Preview' => '',
+ 'Previous transdate text' => '',
+ 'Previous transnumber text' => '',
'Price' => '',
+ 'Price Factor' => '',
+ 'Price Factors' => '',
+ 'Price factor deleted!' => '',
+ 'Price factor saved!' => '',
+ 'Pricegroup' => '',
+ 'Pricegroup deleted!' => '',
+ 'Pricegroup missing!' => '',
+ 'Pricegroup saved!' => '',
+ 'Pricegroups' => '',
'Print' => '',
+ 'Print and Post' => '',
+ 'Print dunnings' => '',
+ 'Print list' => '',
+ 'Print options' => '',
'Printer' => '',
+ 'Printer Command' => '',
+ 'Printer Command missing!' => '',
+ 'Printer Description' => '',
+ 'Printer deleted!' => '',
+ 'Printer saved!' => '',
+ 'Printing ... ' => '',
+ 'Prior to Lx-Office v2.4.0 the user could enter arbitrary strings as units for parts, services and in invoices, sales quotations etc.' => '',
+ 'Prior to Lx-Office v2.4.0 the user had to chose the accounts for each part and service.' => '',
+ 'Private E-mail' => '',
+ 'Private Phone' => '',
+ 'Problem' => '',
+ 'Produce Assembly' => '',
+ 'Productivity' => '',
+ 'Profit Center' => '',
+ 'Proforma Invoice' => '',
+ 'Programm' => '',
'Project' => '',
'Project Number' => '',
'Project Number missing!' => '',
+ 'Project Numbers' => '',
+ 'Project Transactions' => '',
'Project deleted!' => '',
'Project not on file!' => '',
'Project saved!' => '',
'Projects' => '',
+ 'Projecttransactions' => '',
+ 'Prozentual/Absolut' => '',
+ 'Purchase Invoice' => '',
'Purchase Order' => '',
'Purchase Orders' => '',
+ 'Purchase Price' => '',
+ 'Purchase Prices' => '',
+ 'Purchase delivery order' => '',
+ 'Purchase invoices' => '',
'Qty' => '',
+ 'Qty according to delivery order' => '',
+ 'Qty in stock' => '',
+ 'Quantity' => '',
+ 'Quantity missing.' => '',
+ 'Quartal' => '',
+ 'Quarter' => '',
+ 'Quarterly' => '',
+ 'Queue' => '',
+ 'Quotation' => '',
+ 'Quotation Date' => '',
+ 'Quotation Date missing!' => '',
+ 'Quotation Number' => '',
+ 'Quotation Number missing!' => '',
+ 'Quotation deleted!' => '',
+ 'Quotations' => '',
+ 'Quote chararacter' => '',
+ 'Quoted' => '',
+ 'RFQ' => '',
+ 'RFQ Number' => '',
+ 'RFQs' => '',
'ROP' => '',
- 'Rate' => '',
- 'Recd' => '',
+ 'Ranges of numbers' => '',
+ 'Ranges of numbers and default accounts' => '',
+ 'Re-run analysis' => '',
'Receipt' => '',
- 'Receipt printed!' => '',
- 'Receipt printing failed!' => '',
+ 'Receipt posted!' => '',
+ 'Receipt, payment, reconciliation' => '',
'Receipts' => '',
'Receivables' => '',
+ 'Rechnungsnummer' => '',
'Reconciliation' => '',
'Record in' => '',
+ 'Recorded Tax' => '',
+ 'Recorded taxkey' => '',
'Reference' => '',
'Reference missing!' => '',
+ 'Release From Stock' => '',
'Remaining' => '',
+ 'Removal' => '',
+ 'Removal from Warehouse' => '',
+ 'Removal from warehouse' => '',
+ 'Removal qty' => '',
+ 'Remove' => '',
+ 'Remove Draft' => '',
+ 'Remove draft when posting' => '',
+ 'Remove from group' => '',
+ 'Removed spoolfiles!' => '',
+ 'Removing marked entries from queue ...' => '',
+ 'Rename the group' => '',
+ 'Report Positions' => '',
+ 'Report about wareouse contents' => '',
+ 'Report about wareouse transactions' => '',
+ 'Report and misc. Preferences' => '',
'Report for' => '',
'Reports' => '',
+ 'Reqdate' => '',
+ 'Request for Quotation' => '',
+ 'Request for Quotations' => '',
+ 'Request quotation' => '',
'Required by' => '',
- 'Retained Earnings' => '',
- 'Sales' => '',
+ 'Restore Dataset' => '',
+ 'Revenue' => '',
+ 'Revenue Account' => '',
+ 'Revenues EU with UStId' => '',
+ 'Revenues EU without UStId' => '',
+ 'Right' => '',
+ 'SAVED' => '',
+ 'SAVED FOR DUNNING' => '',
+ 'SCREENED' => '',
+ 'Saldo Credit' => '',
+ 'Saldo Debit' => '',
+ 'Saldo neu' => '',
+ 'Saldo per' => '',
+ 'Sale Prices' => '',
'Sales Invoice' => '',
+ 'Sales Invoices' => '',
'Sales Order' => '',
'Sales Orders' => '',
+ 'Sales and purchase invoices with inventory transactions with taxkeys' => '',
+ 'Sales delivery order' => '',
+ 'Sales invoice number' => '',
+ 'Sales invoices' => '',
+ 'Sales quotation' => '',
+ 'Salesman' => '',
'Salesperson' => '',
+ 'Same as the quote character' => '',
+ 'Sat. Fax' => '',
+ 'Sat. Phone' => '',
+ 'Satz %' => '',
'Save' => '',
+ 'Save account first to insert taxkeys' => '',
+ 'Save and AP Transaction' => '',
+ 'Save and AR Transaction' => '',
+ 'Save and Close' => '',
+ 'Save and Invoice' => '',
+ 'Save and Order' => '',
+ 'Save and Quotation' => '',
+ 'Save and RFQ' => '',
+ 'Save and close' => '',
'Save as new' => '',
- 'Save to File' => '',
+ 'Save draft' => '',
+ 'Saving the file \'%s\' failed. OS error message: %s' => '',
'Screen' => '',
- 'Select a Dataset to delete and press "Continue"' => '',
+ 'Searchable' => '',
+ 'Select' => '',
+ 'Select a Customer' => '',
+ 'Select a customer' => '',
+ 'Select a part' => '',
+ 'Select a part or assembly' => '',
+ 'Select a period' => '',
+ 'Select a vendor' => '',
'Select all' => '',
+ 'Select federal state...' => '',
'Select from one of the items below' => '',
'Select from one of the names below' => '',
'Select from one of the projects below' => '',
'Select postscript or PDF!' => '',
+ 'Select tax office...' => '',
+ 'Select the chart of accounts in use' => '',
+ 'Select the checkboxes that match users to the groups they should belong to.' => '',
+ 'Select type of removal' => '',
+ 'Select type of transfer' => '',
+ 'Selection' => '',
+ 'Selection fields: The option field must contain the available options for the selection. Options are separated by \'##\', for example \'Early##Normal##Late\'.' => '',
'Sell Price' => '',
- 'Send by E-Mail' => '',
+ 'Send the backup via Email' => '',
'Sep' => '',
+ 'Separator chararacter' => '',
'September' => '',
+ 'Serial No.' => '',
+ 'Serial Number' => '',
'Service' => '',
'Service Items' => '',
'Service Number missing!' => '',
+ 'Service unit' => '',
'Services' => '',
+ 'Set Language Values' => '',
+ 'Set eMail text' => '',
+ 'Setup Menu' => '',
'Setup Templates' => '',
'Ship' => '',
+ 'Ship rcvd' => '',
'Ship to' => '',
'Ship via' => '',
+ 'Shipping Address' => '',
+ 'Shipping Point' => '',
+ 'Shipto' => '',
+ 'Shopartikel' => '',
'Short' => '',
+ 'Show' => '',
+ 'Show TODO list' => '',
+ 'Show by default' => '',
+ 'Show details' => '',
+ 'Show follow ups...' => '',
+ 'Show old dunnings' => '',
+ 'Show overdue sales quotations and requests for quotations...' => '',
+ 'Show your TODO list after loggin in' => '',
'Signature' => '',
+ 'Since bin is not enforced in the parts data, please specify a bin where goods without a specified bin will be put.' => '',
+ 'Skip' => '',
+ 'Skonto' => '',
+ 'Skonto Terms' => '',
'Sold' => '',
+ 'Solution' => '',
'Source' => '',
- 'Standard' => '',
+ 'Source bin' => '',
+ 'Spoolfile' => '',
+ 'Start Dunning Process' => '',
+ 'Start analysis' => '',
+ 'Start the correction assistant' => '',
+ 'Startdate_coa' => '',
+ 'Starting Balance' => '',
'Statement' => '',
'Statement Balance' => '',
'Statement sent to' => '',
'Statements sent to printer!' => '',
+ 'Step 1 of 3: Parts' => '',
+ 'Step 2 of 3: Services' => '',
+ 'Step 3 of 3: Assemblies' => '',
+ 'Step 3 of 3: Default units' => '',
+ 'Steuersatz' => '',
'Stock' => '',
- 'Stock Assembly' => '',
+ 'Stock value' => '',
+ 'Storno' => '',
+ 'Storno (one letter abbreviation)' => '',
+ 'Storno Invoice' => '',
+ 'Storno Packing List' => '',
+ 'Street' => '',
'Stylesheet' => '',
'Subject' => '',
+ 'Subject:' => '',
'Subtotal' => '',
+ 'Such entries cannot be exported into the DATEV format and have to be fixed as well.' => '',
+ 'Sum Credit' => '',
+ 'Sum Debit' => '',
+ 'Sum for' => '',
+ 'Sum per' => '',
+ 'Summen- und Saldenliste' => '',
+ 'Superuser name' => '',
'System' => '',
+ 'TODO list' => '',
+ 'TODO list options' => '',
+ 'TOP100' => '',
+ 'TOTAL' => '',
'Tax' => '',
- 'Tax Accounts' => '',
+ 'Tax Consultant' => '',
'Tax Included' => '',
+ 'Tax Number' => '',
+ 'Tax Number / SSN' => '',
+ 'Tax Office' => '',
+ 'Tax Office Preferences' => '',
+ 'Tax Percent is a number between 0 and 100' => '',
+ 'Tax Period' => '',
+ 'Tax Position' => '',
'Tax collected' => '',
+ 'Tax deleted!' => '',
+ 'Tax number' => '',
'Tax paid' => '',
- 'Taxable' => '',
- 'Template saved!' => '',
+ 'Tax saved!' => '',
+ 'Tax-O-Matic' => '',
+ 'Tax-o-matic Account' => '',
+ 'Taxaccount_coa' => '',
+ 'Taxation' => '',
+ 'Taxdescription missing!' => '',
+ 'Taxdescription_coa' => '',
+ 'Taxes' => '',
+ 'Taxkey' => '',
+ 'Taxkey missing!' => '',
+ 'Taxkey_coa' => '',
+ 'Taxkeys and Taxreport Preferences' => '',
+ 'Taxlink_coa' => '',
+ 'Taxnumber' => '',
+ 'Taxrate missing!' => '',
+ 'Tel' => '',
+ 'Tel.' => '',
+ 'Telephone' => '',
+ 'Template' => '',
+ 'Template Code' => '',
+ 'Template Code missing!' => '',
+ 'Template database' => '',
'Templates' => '',
- 'Terms: Net' => '',
- 'The following Datasets are not in use and can be deleted' => '',
+ 'Terms missing in row ' => '',
+ 'Test connection' => '',
+ 'Text field' => '',
+ 'Text field variables: \'WIDTH=w HEIGHT=h\' sets the width and height of the text field. They default to 30 and 5 respectively.' => '',
+ 'Text variables: \'MAXLENGTH=n\' sets the maximum entry length to \'n\'.' => '',
+ 'Text, text field and number variables: The default value will be used as-is.' => '',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => '',
+ 'The AP transaction #1 has been deleted.' => '',
+ 'The AR transaction #1 has been deleted.' => '',
+ 'The GL transaction #1 has been deleted.' => '',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => '',
+ 'The access rights have been saved.' => '',
+ 'The assembly has been created.' => '',
+ 'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => '',
+ 'The authentication configuration file "config/authentication.pl" does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => '',
+ 'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' => '',
+ 'The available options depend on the varibale type:' => '',
+ 'The backup you upload here has to be a file created with "pg_dump -o -Ft".' => '',
+ 'The base unit does not exist or it is about to be deleted in row %d.' => '',
+ 'The base unit does not exist.' => '',
+ 'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => '',
+ 'The columns "Dunning Duedate", "Total Fees" and "Interest" show data for the previous dunning created for this invoice.' => '',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => '',
+ 'The config file "config/authentication.pl" was not found.' => '',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => '',
+ 'The connection to the authentication database failed:' => '',
+ 'The connection to the database could not be established.' => '',
+ 'The connection to the template database failed:' => '',
+ 'The connection was established successfully.' => '',
+ 'The creation of the authentication database failed:' => '',
+ 'The custom variable has been deleted.' => '',
+ 'The custom variable has been saved.' => '',
+ 'The database [% HTML.escape(db) %] has been successfully deleted.' => '',
+ 'The database for user management and authentication does not exist. You can create let Lx-Office create it with the following parameters:' => '',
+ 'The database update/creation did not succeed. The file [% HTML.escape(file) %] contained the following error:' => '',
+ 'The database upgrade for the introduction of Buchungsgruppen is now complete.' => '',
+ 'The database upgrade for the introduction of units is now complete.' => '',
+ 'The dataset [% HTML.escape(db) %] has been successfully created.' => '',
+ 'The dataset backup has been sent via email to [% HTML.escape(to) %].' => '',
+ 'The dataset has to exist before a restoration can be started.' => '',
+ 'The dataset name is missing.' => '',
+ 'The default value depends on the variable type:' => '',
+ 'The delivery order has not been marked as delivered. The warehouse contents have not changed.' => '',
+ 'The description is missing.' => '',
+ 'The description is shown on the form. Chose something short and descriptive.' => '',
+ 'The directory "%s" could not be created:\n%s' => '',
+ 'The directory %s does not exist.' => '',
+ 'The dunning process started' => '',
+ 'The dunnings have been printed.' => '',
+ 'The email address is missing.' => '',
+ 'The factor is missing in row %d.' => '',
+ 'The factor is missing.' => '',
+ 'The first reason is that Lx-Office contained a bug which resulted in the wrong taxkeys being recorded for transactions in which two entries are posted for the same chart with different taxkeys.' => '',
+ 'The follow-up date is missing.' => '',
+ 'The following Buchungsgruppen have already been created:' => '',
'The following Datasets need to be updated' => '',
+ 'The following drafts have been saved and can be loaded.' => '',
+ 'The following transaction contains wrong taxes:' => '',
+ 'The following transaction contains wrong taxkeys:' => '',
+ 'The following units are unknown.' => '',
+ 'The following units exist already:' => '',
+ 'The following users have been migrated into the authentication database:' => '',
+ 'The following warnings occured during an upgrade to the document templates:' => '',
+ 'The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>' => '',
+ 'The greetings have been saved.' => '',
+ 'The group has been added.' => '',
+ 'The group has been deleted.' => '',
+ 'The group has been saved.' => '',
+ 'The group memberships have been saved.' => '',
+ 'The group name is missing.' => '',
+ 'The licensing module has been deactivated in lx-erp.conf.' => '',
+ 'The list has been printed.' => '',
+ 'The login is missing.' => '',
+ 'The name in row %d has already been used before.' => '',
+ 'The name is missing in row %d.' => '',
+ 'The name is missing.' => '',
+ 'The name must only consist of letters, numbers and underscores and start with a letter.' => '',
+ 'The old file containing the user information is still present ("[% HTML.escape(memberfile) %]"). Do you want to migrate these users into the database? If not then you will not be able to log in with any of the users present in the old file. ' => '',
+ 'The option field is empty.' => '',
+ 'The parts for this delivery order have already been transferred in.' => '',
+ 'The parts for this delivery order have already been transferred out.' => '',
+ 'The parts have been removed.' => '',
+ 'The parts have been stocked.' => '',
+ 'The parts have been transferred.' => '',
+ 'The pg_dump process could not be started.' => '',
+ 'The pg_restore process could not be started.' => '',
+ 'The preferred one is to install packages provided by your operating system distribution (e.g. Debian or RPM packages).' => '',
+ 'The program\'s exit code was [% HTML.escape(retval) %] ("0" usually means that everything went OK).' => '',
+ 'The project has been added.' => '',
+ 'The project has been saved.' => '',
+ 'The restoration process has started. Here\'s the output of the "pg_restore" command:' => '',
+ 'The restoration process is complete. Please review "pg_restore"\'s output to find out if the restoration was successful.' => '',
+ 'The second reason is that Lx-Office allowed the user to enter the tax amount manually regardless of the taxkey used.' => '',
+ 'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => '',
+ 'The selected PostgreSQL installation uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => '',
+ 'The selected bin does not exist.' => '',
+ 'The selected warehouse does not exist.' => '',
+ 'The selected warehouse is empty.' => '',
+ 'The session is invalid or has expired.' => '',
+ 'The source warehouse does not contain any bins.' => '',
+ 'The subject is missing.' => '',
+ 'The tables for user management and authentication do not exist. They will be created in the next step in the following database:' => '',
+ 'The tabulator character' => '',
+ 'The third way is to download the module from the above mentioned URL and to install the module manually following the installations instructions contained in the source archive.' => '',
+ 'The transaction is shown below in its current state.' => '',
+ 'The unit has been saved.' => '',
+ 'The unit in row %d has been deleted in the meantime.' => '',
+ 'The unit in row %d has been used in the meantime and cannot be changed anymore.' => '',
+ 'The units have been saved.' => '',
+ 'The user has been added to this group.' => '',
+ 'The user has been removed from this group.' => '',
+ 'The user is a member in the following group(s):' => '',
+ 'The user migration process is complete.' => '',
+ 'The variable name must only consist of letters, numbers and underscores. It must begin with a letter. Example: send_christmas_present' => '',
+ 'The warehouse could not be deleted because it has already been used.' => '',
+ 'The warehouse does not contain any bins.' => '',
+ 'The warehouse or the bin is missing.' => '',
+ 'The wrong taxkeys for AP and AR transactions have been fixed.' => '',
+ 'The wrong taxkeys for inventory transactions for sales and purchase invoices have been fixed.' => '',
+ 'The wrong taxkeys have been fixed.' => '',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => '',
+ 'There are four tax zones.' => '',
+ 'There are no items in stock.' => '',
+ 'There are no items on your TODO list at the moment.' => '',
+ 'There are still entries in the database for which no unit has been assigned.' => '',
+ 'There are usually three ways to install Perl modules.' => '',
+ 'There is at least one sales or purchase invoice for which Lx-Office recorded an inventory transaction with taxkeys even though no tax was recorded.' => '',
+ 'There is at least one transaction for which the user has chosen a logically wrong taxkey.' => '',
+ 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.' => '',
+ 'There is not enough left of \'#1\' in bin \'#2\' for the removal of #3.' => '',
+ 'There is nothing to do in this step.' => '',
+ 'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => '',
+ 'These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.' => '',
+ 'These will only be effective if the account is NOT a summary account AND there exists at least one taxkey. Setting the account as a summary account will erase these settings.' => '',
+ 'These wrong entries cannot be fixed automatically.' => '',
+ 'This corresponds to Lx-Office\'s behavior prior to version 2.4.4.' => '',
+ 'This could have happened for two reasons:' => '',
+ 'This customer number is already in use.' => '',
+ 'This group will be called "Full Access".' => '',
+ 'This installation uses an unknown chart of accounts ("[% HTML.escape(coa) %]"). This database upgrade cannot create standard buchungsgruppen automatically.' => '',
'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => '',
+ 'This list is capped at 15 items to keep it fast. If you need a full list, please use reports.' => '',
+ 'This means that the user has created an AP transaction and chosen a taxkey for sales taxes, or that he has created an AR transaction and chosen a taxkey for input taxes.' => '',
+ 'This module can help you identify and correct such entries by analyzing the general ledger and presenting you likely solutions but also allowing you to fix problems yourself.' => '',
+ 'This transaction has to be split into several transactions manually.' => '',
+ 'This update will change the nature the onhand of goods is tracked.' => '',
+ 'This upgrade script tries to map all existing parts in the database to the newly created Buchungsgruppen.' => '',
+ 'This upgrade script tries to map all existing units in the database to the newly created units.' => '',
+ 'This vendor number is already in use.' => '',
+ 'Time period for the analysis:' => '',
+ 'Timestamp' => '',
+ 'Title' => '',
'To' => '',
- 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => '',
+ 'To (email)' => '',
+ 'To (time)' => '',
+ 'To Date' => '',
+ 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => '',
+ 'Top' => '',
+ 'Top (CSS)' => '',
+ 'Top (CSS) new' => '',
+ 'Top (Javascript)' => '',
+ 'Top (XUL; only for Mozilla Firefox)' => '',
+ 'Top 100' => '',
+ 'Top 100 hinzufuegen' => '',
'Top Level' => '',
'Total' => '',
+ 'Total Fees' => '',
+ 'Total stock value' => '',
+ 'Totals' => '',
+ 'Trade Discount' => '',
+ 'Trans Id' => '',
+ 'Trans Type' => '',
+ 'Transaction' => '',
+ 'Transaction %d cancelled.' => '',
'Transaction Date missing!' => '',
+ 'Transaction ID missing.' => '',
'Transaction deleted!' => '',
+ 'Transaction description' => '',
+ 'Transaction has already been cancelled!' => '',
+ 'Transaction has been split on both the credit and the debit side' => '',
'Transaction posted!' => '',
- 'Transaction reversal enforced for all dates' => '',
- 'Transaction reversal enforced up to' => '',
- 'Transactions' => '',
- 'Transactions exist, cannot delete customer!' => '',
- 'Transactions exist, cannot delete vendor!' => '',
- 'Transactions exist; cannot delete account!' => '',
+ 'Transactions, AR transactions, AP transactions' => '',
+ 'Transfer' => '',
+ 'Transfer Quantity' => '',
+ 'Transfer To Stock' => '',
+ 'Transfer from warehouse' => '',
+ 'Transfer in' => '',
+ 'Transfer out' => '',
+ 'Transfer qty' => '',
+ 'Translation (%s)' => '',
'Trial Balance' => '',
+ 'Trial balance between %s and %s' => '',
+ 'Trying to call a sub without a name' => '',
+ 'Type' => '',
+ 'Type of Business' => '',
+ 'USTVA' => '',
+ 'USTVA 2004' => '',
+ 'USTVA 2005' => '',
+ 'USTVA 2006' => '',
+ 'USTVA 2007' => '',
+ 'USTVA-Hint: Method' => '',
+ 'USTVA-Hint: Tax Authoritys' => '',
+ 'USt-IdNr.' => '',
+ 'USt-Konto' => '',
+ 'UStVA' => '',
+ 'UStVA (PDF-Dokument)' => '',
+ 'UStVa' => '',
+ 'UStVa Einstellungen' => '',
+ 'Unbalanced Ledger' => '',
+ 'Unchecked custom variables will not appear in orders and invoices.' => '',
+ 'Unfinished follow-ups' => '',
'Unit' => '',
+ 'Unit missing.' => '',
'Unit of measure' => '',
+ 'Units marked for deletion will be deleted upon saving.' => '',
+ 'Units that have already been used (e.g. for parts and services or in invoices or warehouse transactions) cannot be changed.' => '',
+ 'Unknown Category' => '',
+ 'Unknown Link' => '',
+ 'Unknown chart of accounts' => '',
+ 'Unknown dependency \'%s\'.' => '',
+ 'Unknown problem type.' => '',
+ 'Unlock System' => '',
+ 'Until' => '',
'Update' => '',
'Update Dataset' => '',
+ 'Update Prices' => '',
+ 'Update complete' => '',
+ 'Update prices' => '',
+ 'Update?' => '',
'Updated' => '',
+ 'Use As Template' => '',
'Use Templates' => '',
'User' => '',
+ 'User Config' => '',
+ 'User data migration' => '',
'User deleted!' => '',
+ 'User migration complete' => '',
+ 'User name' => '',
'User saved!' => '',
+ 'Users in<br>this group' => '',
+ 'Users not in this group' => '',
+ 'Ust-IDNr' => '',
+ 'Valid from' => '',
+ 'Valid until' => '',
+ 'Value' => '',
+ 'Variable' => '',
'Vendor' => '',
'Vendor Invoice' => '',
+ 'Vendor Invoices' => '',
+ 'Vendor Number' => '',
'Vendor deleted!' => '',
+ 'Vendor details' => '',
'Vendor missing!' => '',
+ 'Vendor not on file or locked!' => '',
'Vendor not on file!' => '',
'Vendor saved!' => '',
+ 'Vendor type' => '',
'Vendors' => '',
+ 'Verrechnungseinheit' => '',
'Version' => '',
+ 'View License' => '',
+ 'View warehouse content' => '',
+ 'Von Konto: ' => '',
+ 'WEBDAV access' => '',
+ 'WHJournal' => '',
+ 'Warehouse' => '',
+ 'Warehouse From' => '',
+ 'Warehouse MIgration' => '',
+ 'Warehouse To' => '',
+ 'Warehouse content' => '',
+ 'Warehouse deleted.' => '',
+ 'Warehouse management' => '',
+ 'Warehouse saved.' => '',
+ 'Warehouses' => '',
+ 'Warnings during template upgrade' => '',
+ 'WebDAV link' => '',
'Weight' => '',
- 'Weight Unit' => '',
+ 'Weight unit' => '',
'What type of item is this?' => '',
+ 'What\'s the <b>term</b> you\'re looking for?' => '',
+ 'With Extension Of Time' => '',
+ 'Workflow Delivery Order' => '',
+ 'Workflow purchase_order' => '',
+ 'Workflow request_quotation' => '',
+ 'Workflow sales_order' => '',
+ 'Workflow sales_quotation' => '',
+ 'Wrong Period' => '',
+ 'Wrong date format!' => '',
+ 'Wrong tax keys recorded' => '',
+ 'Wrong taxes recorded' => '',
+ 'YYYY' => '',
+ 'Year' => '',
'Year End' => '',
+ 'Yearly' => '',
+ 'Yearly taxreport not yet implemented' => '',
'Yes' => '',
+ 'Yes, included by default' => '',
+ 'Yes/No (Checkbox)' => '',
'You are logged out!' => '',
+ 'You can also create new units now.' => '',
+ 'You can also delete this transaction and re-enter it manually.' => '',
+ 'You can correct this transaction by chosing the correct taxkeys from the drop down boxes and hitting the button "Fix transaction" afterwards.' => '',
+ 'You can create a missing dataset by going back and chosing "Create Dataset".' => '',
+ 'You can create warehouses and bins via the menu "System -> Warehouses".' => '',
+ 'You can declare different translations for singular and plural for each unit (e.g. "day" and "days).' => '',
+ 'You can either create a new database or chose an existing database.' => '',
+ 'You can only delete datasets that are not in use.' => '',
+ 'You can use the following strings in the long description and all translations. They will be replaced by their actual values by Lx-Office before they\'re output.' => '',
+ 'You cannot adjust the price for pricegroup "#1" by a negative percentage.' => '',
+ 'You cannot continue before all required modules are installed.' => '',
+ 'You cannot continue until all unknown units have been mapped to known ones.' => '',
+ 'You cannot create an invoice for delivery orders for different customers.' => '',
+ 'You cannot create an invoice for delivery orders from different vendors.' => '',
'You did not enter a name!' => '',
- 'You must enter a host and port for local and remote connections!' => '',
+ 'You do not have the permissions to access this function.' => '',
+ 'You have entered or selected the following shipping address for this customer:' => '',
+ 'You have not selected any delivery order.' => '',
+ 'You have to chose a dimension unit and a service unit which will then be assigned to those entries.' => '',
+ 'You have to chose which unit to save for each of them.' => '',
+ 'You have to create at least one group, grant it access to Lx-Office\'s functions and assign users to it.' => '',
+ 'You have to create new Buchungsgruppen for all the combinations of inventory, income and expense accounts that have been used already.' => '',
+ 'You must chose a user.' => '',
+ 'You will now be forwarded to the administration panel.' => '',
+ 'You\'re not editing a file.' => '',
+ 'You\'ve already chosen the following limitations:' => '',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => '',
+ 'Your TODO list' => '',
+ 'Your browser does not currently support Javascript.' => '',
+ 'Your download does not exist anymore. Please re-run the DATEV export assistant.' => '',
+ 'Zeitpunkt' => '',
+ 'Zeitraum' => '',
+ 'Zero amount posting!' => '',
+ 'Zip, City' => '',
+ 'Zipcode' => '',
+ 'Zusatz' => '',
+ '[email]' => '',
+ 'account_description' => '',
+ 'accrual' => '',
+ 'all entries' => '',
+ 'ap_aging_list' => '',
+ 'ar_aging_list' => '',
'as at' => '',
- 'collected on sales' => '',
- 'days' => '',
- 'does not exist' => '',
+ 'assembly_list' => '',
+ 'back' => '',
+ 'bin_list' => '',
+ 'bis' => '',
+ 'button' => '',
+ 'cash' => '',
+ 'chargenumber #1' => '',
+ 'chart_of_accounts' => '',
+ 'choice' => '',
+ 'choice part' => '',
+ 'close' => '',
+ 'config/authentication.pl: Key "DB_config" is missing.' => '',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => '',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => '',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => '',
+ 'continue' => '',
+ 'correction' => '',
+ 'customer' => '',
+ 'customer_list' => '',
+ 'customernumber not unique!' => '',
+ 'debug' => '',
+ 'delete' => '',
+ 'deliverydate' => '',
+ 'direct debit' => '',
+ 'disposed' => '',
+ 'done' => '',
+ 'down' => '',
+ 'drucken' => '',
+ 'dunning_list' => '',
+ 'eMail Send?' => '',
+ 'eMail?' => '',
'ea' => '',
'emailed to' => '',
+ 'female' => '',
+ 'follow_up_list' => '',
+ 'for' => '',
'for Period' => '',
- 'hr' => '',
- 'is already a member!' => '',
- 'is not a member!' => '',
- 'localhost' => '',
- 'locked!' => '',
- 'paid on purchases' => '',
+ 'found' => '',
+ 'from (time)' => '',
+ 'general_ledger_list' => '',
+ 'history' => '',
+ 'history search engine' => '',
+ 'invoice' => '',
+ 'invoice_list' => '',
+ 'lead deleted!' => '',
+ 'lead saved!' => '',
+ 'list' => '',
+ 'list_of_payments' => '',
+ 'list_of_receipts' => '',
+ 'list_of_transactions' => '',
+ 'logout' => '',
+ 'male' => '',
+ 'mark as paid' => '',
+ 'master' => '',
+ 'missing' => '',
+ 'month' => '',
+ 'new Window' => '',
+ 'no' => '',
+ 'no chargenumber' => '',
+ 'none (pricegroup)' => '',
+ 'not transferred in yet' => '',
+ 'not transferred out yet' => '',
+ 'number' => '',
+ 'oe.pl::search called with unknown type' => '',
+ 'order' => '',
+ 'our vendor number at customer' => '',
+ 'packing_list' => '',
+ 'part_list' => '',
+ 'pick_list' => '',
+ 'plural first char' => '',
+ 'pos_bilanz' => '',
+ 'pos_bwa' => '',
+ 'pos_eur' => '',
+ 'pos_ustva' => '',
+ 'posted!' => '',
+ 'print' => '',
+ 'proforma' => '',
+ 'project_list' => '',
+ 'purchase_delivery_order_list' => '',
+ 'purchase_order' => '',
+ 'purchase_order_list' => '',
+ 'quarter' => '',
+ 'quotation_list' => '',
+ 'release_material' => '',
+ 'report_generator_dispatch_to is not defined.' => '',
+ 'report_generator_nextsub is not defined.' => '',
+ 'request_quotation' => '',
+ 'reset' => '',
+ 'return_material' => '',
+ 'rfq_list' => '',
+ 'sales tax identification number' => '',
+ 'sales_delivery_order_list' => '',
+ 'sales_order' => '',
+ 'sales_order_list' => '',
+ 'sales_quotation' => '',
+ 'saved' => '',
+ 'saved!' => '',
+ 'sent' => '',
'sent to printer' => '',
- 'successfully created!' => '',
- 'successfully deleted!' => '',
- 'to' => '',
- 'website' => '',
+ 'service_list' => '',
+ 'shipped' => '',
+ 'singular first char' => '',
+ 'soldtotal' => '',
+ 'stock' => '',
+ 'submit' => '',
+ 'tax_chartaccno' => '',
+ 'tax_percent' => '',
+ 'tax_rate' => '',
+ 'tax_taxdescription' => '',
+ 'tax_taxkey' => '',
+ 'taxnumber' => '',
+ 'to (date)' => '',
+ 'to (time)' => '',
+ 'transfer' => '',
+ 'transferred in' => '',
+ 'transferred out' => '',
+ 'trial_balance' => '',
+ 'up' => '',
+ 'use program settings' => '',
+ 'used' => '',
+ 'valid from' => '',
+ 'vendor' => '',
+ 'vendor_invoice_list' => '',
+ 'vendor_list' => '',
+ 'warehouse_journal_list' => '',
+ 'warehouse_report_list' => '',
+ 'wrongformat' => '',
+ 'yes' => '',
};
1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ '<%account_number%> -- Your account number' => '<%account_number%> -- Your account number',
+ '<%bank%> -- Your bank' => '<%bank%> -- Your bank',
+ '<%bank_code%> -- Your bank code' => '<%bank_code%> -- Your bank code',
+ '<%currency%> -- The selected currency' => '<%currency%> -- The selected currency',
+ '<%invtotal%> -- Invoice total' => '<%invtotal%> -- Invoice total',
+ '<%invtotal_wo_skonto%> -- Invoice total less discount' => '<%invtotal_wo_skonto%> -- Invoice total less discount',
+ '<%netto_date%> -- Date the payment is due in full' => '<%netto_date%> -- Date the payment is due in full',
+ '<%skonto_amount%> -- The deductible amount' => '<%skonto_amount%> -- The deductible amount',
+ '<%skonto_date%> -- Date the payment is due with discount' => '<%skonto_date%> -- Date the payment is due with discount',
+ '<%terms_netto%> -- The number of days for full payment' => '<%terms_netto%> -- The number of days for full payment',
+ '<%total%> -- Amount payable' => '<%total%> -- Amount payable',
+ '<%total_wo_skonto%> -- Amount payable less discount' => '<%total_wo_skonto%> -- Amount payable less discount',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'A unit with this name does already exist.' => 'A unit with this name does already exist.',
+ 'ADDED' => 'ADDED',
'AP' => 'Purchases',
'AR' => 'Sales',
'Account' => 'Account',
- 'Account Number' => 'Account Number',
+ 'Account Category A' => 'Account Category A',
+ 'Account Category C' => 'Account Category C',
+ 'Account Category E' => 'Account Category E',
+ 'Account Category G' => 'Account Category G',
+ 'Account Category I' => 'Account Category I',
+ 'Account Category L' => 'Account Category L',
+ 'Account Category Q' => 'Account Category Q',
+ 'Account Description missing!' => 'Account Description missing!',
+ 'Account Link AP' => 'Account Link AP',
+ 'Account Link AP_amount' => 'Account Link AP_amount',
+ 'Account Link AP_paid' => 'Account Link AP_paid',
+ 'Account Link AP_tax' => 'Account Link AP_tax',
+ 'Account Link AR' => 'Account Link AR',
+ 'Account Link AR_amount' => 'Account Link AR_amount',
+ 'Account Link AR_paid' => 'Account Link AR_paid',
+ 'Account Link AR_tax' => 'Account Link AR_tax',
+ 'Account Link CT_tax' => 'Account Link CT_tax',
+ 'Account Link IC' => 'Account Link IC',
+ 'Account Link IC_cogs' => 'Account Link IC_cogs',
+ 'Account Link IC_expense' => 'Account Link IC_expense',
+ 'Account Link IC_income' => 'Account Link IC_income',
+ 'Account Link IC_sale' => 'Account Link IC_sale',
+ 'Account Link IC_taxpart' => 'Account Link IC_taxpart',
+ 'Account Link IC_taxservice' => 'Account Link IC_taxservice',
+ 'Account Number already used!' => 'Account Number already used!',
'Account Number missing!' => 'Account Number missing!',
- 'Account Type' => 'Account Type',
'Account Type missing!' => 'Account Type missing!',
'Account deleted!' => 'Account deleted!',
'Account saved!' => 'Account saved!',
+ 'Accounting Group deleted!' => 'Accounting Group deleted!',
+ 'Accounting Group saved!' => 'Accounting Group saved!',
+ 'Add' => 'Add',
'Add Account' => 'Add Account',
- 'Add GIFI' => 'Add GIFI',
+ 'Add Accounting Group' => 'Add Accounting Group',
+ 'Add Buchungsgruppe' => 'Add Buchungsgruppe',
+ 'Add Business' => 'Add Business',
+ 'Add Department' => 'Add Department',
+ 'Add Language' => 'Add Language',
+ 'Add Lead' => 'Add Lead',
+ 'Add Payment Terms' => 'Add Payment Terms',
+ 'Add Price Factor' => 'Add Price Factor',
+ 'Add Printer' => 'Add Printer',
+ 'Add Warehouse' => 'Add Warehouse',
+ 'Add and edit units' => 'Add and edit units',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Article Code' => 'Article Code',
+ 'Article Code missing!' => 'Article Code missing!',
'Asset' => 'Asset',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Audit Control' => 'Audit Control',
- 'Backup sent to' => 'Backup sent to',
+ 'Back' => 'Back',
+ 'Bcc' => 'Bcc',
+ 'Bestandskonto' => 'Bestandskonto',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bins saved.' => 'Bins saved.',
'Books are open' => 'Books are open',
- 'Business Number' => 'Business Number',
- 'COGS' => 'COGS',
+ 'Books closed up to' => 'Books closed up to',
+ 'Buchungsgruppe' => 'Buchungsgruppe',
+ 'Buchungsgruppen' => 'Buchungsgruppen',
+ 'Business deleted!' => 'Business deleted!',
+ 'Business saved!' => 'Business saved!',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
'Cannot delete account!' => 'Cannot delete account!',
'Cannot delete default account!' => 'Cannot delete default account!',
'Cannot save account!' => 'Cannot save account!',
'Cannot save preferences!' => 'Cannot save preferences!',
- 'Character Set' => 'Character Set',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
'Chart of Accounts' => 'Chart of Accounts',
'Close Books up to' => 'Close Books up to',
- 'Company' => 'Company',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
- 'Copy to COA' => 'Copy to COA',
- 'Credit' => 'Credit',
+ 'Cost Center' => 'Cost Center',
+ 'Costs' => 'Costs',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customernumberinit' => 'Customernumberinit',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
'Date Format' => 'Date Format',
- 'Debit' => 'Debit',
+ 'Defaults saved.' => 'Defaults saved.',
'Delete' => 'Delete',
'Delete Account' => 'Delete Account',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department deleted!' => 'Department deleted!',
+ 'Department saved!' => 'Department saved!',
+ 'Departments' => 'Departments',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
- 'Dropdown Limit' => 'Dropdown Limit',
- 'E-mail' => 'E-mail',
+ 'Description missing!' => 'Description missing!',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
'Edit' => 'Edit',
'Edit Account' => 'Edit Account',
- 'Edit GIFI' => 'Edit GIFI',
- 'Edit Preferences for' => 'Edit Preferences for',
- 'Edit Template' => 'Edit Template',
- 'Enforce transaction reversal for all dates' => 'Enforce transaction reversal for all dates',
- 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies',
+ 'Edit Accounting Group' => 'Edit Accounting Group',
+ 'Edit Buchungsgruppe' => 'Edit Buchungsgruppe',
+ 'Edit Business' => 'Edit Business',
+ 'Edit Department' => 'Edit Department',
+ 'Edit Language' => 'Edit Language',
+ 'Edit Lead' => 'Edit Lead',
+ 'Edit Payment Terms' => 'Edit Payment Terms',
+ 'Edit Preferences for #1' => 'Edit Preferences for #1',
+ 'Edit Price Factor' => 'Edit Price Factor',
+ 'Edit Printer' => 'Edit Printer',
+ 'Edit Warehouse' => 'Edit Warehouse',
+ 'Enter longdescription' => 'Enter longdescription',
'Equity' => 'Equity',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
'Expense' => 'Expense',
- 'Expense Account' => 'Expense Account',
- 'Expense/Asset' => 'Expense/Asset',
- 'Fax' => 'Fax',
- 'Foreign Exchange Gain' => 'Foreign Exchange Gain',
- 'Foreign Exchange Loss' => 'Foreign Exchange Loss',
- 'GIFI' => 'GIFI',
- 'GIFI deleted!' => 'GIFI deleted!',
- 'GIFI missing!' => 'GIFI missing!',
- 'GIFI saved!' => 'GIFI saved!',
- 'Heading' => 'Heading',
- 'Include in drop-down menus' => 'Include in drop-down menus',
- 'Include this account on the customer/vendor forms to flag customer/vendor as taxable?' => 'Include this account on debtor/creditor forms to set debtor/creditor taxable?',
- 'Income' => 'Revenue',
- 'Income Account' => 'Revenue Account',
+ 'Expenses EU with UStId' => 'Expenses EU with UStId',
+ 'Expenses EU without UStId' => 'Expenses EU without UStId',
+ 'Factor missing!' => 'Factor missing!',
+ 'File' => 'File',
+ 'Foreign Expenses' => 'Foreign Expenses',
+ 'Foreign Revenues' => 'Foreign Revenues',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Header' => 'Header',
+ 'History' => 'History',
+ 'History Search' => 'History Search',
'Inventory' => 'Inventory',
- 'Inventory Account' => 'Inventory Account',
- 'Is this a summary account to record' => 'Is this a summary account to record',
+ 'Invoice' => 'Invoice',
'Language' => 'Language',
- 'Last Invoice Number' => 'Last Invoice Number',
- 'Last Numbers & Default Accounts' => 'Last Numbers & Default Accounts',
- 'Last Purchase Order Number' => 'Last Purchase Order Number',
- 'Last Sales Order Number' => 'Last Sales Order Number',
+ 'Language deleted!' => 'Language deleted!',
+ 'Language missing!' => 'Language missing!',
+ 'Language saved!' => 'Language saved!',
+ 'Languages' => 'Languages',
+ 'Lead' => 'Lead',
'Liability' => 'Liability',
- 'Link' => 'Link',
+ 'Long Dates' => 'Long Dates',
+ 'Long Description' => 'Long Description',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
+ 'National Expenses' => 'National Expenses',
+ 'National Revenues' => 'National Revenues',
+ 'Netto Terms' => 'Netto Terms',
'No' => 'No',
- 'No email address for' => 'No email address for',
- 'Number' => 'Number',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'None' => 'None',
'Number Format' => 'Number Format',
- 'Parts Inventory' => 'Parts Inventory',
- 'Password' => 'Password',
- 'Payables' => 'Payables',
- 'Payment' => 'Payment',
- 'Phone' => 'Phone',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Payment Terms' => 'Payment Terms',
+ 'Payment Terms saved!' => 'Payment Terms saved!',
+ 'Payment terms deleted!' => 'Payment terms deleted!',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Postscript' => 'Postscript',
'Preferences saved!' => 'Preferences saved!',
- 'Rate' => 'Rate',
- 'Receivables' => 'Receivables',
- 'Sales' => 'Sales',
+ 'Preview' => 'Preview',
+ 'Price Factors' => 'Price Factors',
+ 'Price factor deleted!' => 'Price factor deleted!',
+ 'Price factor saved!' => 'Price factor saved!',
+ 'Printer' => 'Printer',
+ 'Printer Command' => 'Printer Command',
+ 'Printer Command missing!' => 'Printer Command missing!',
+ 'Printer Description' => 'Printer Description',
+ 'Printer deleted!' => 'Printer deleted!',
+ 'Printer saved!' => 'Printer saved!',
+ 'Profit Center' => 'Profit Center',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Ranges of numbers and default accounts' => 'Ranges of numbers and default accounts',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Revenue' => 'Revenue',
+ 'Revenues EU with UStId' => 'Revenues EU with UStId',
+ 'Revenues EU without UStId' => 'Revenues EU without UStId',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
'Save' => 'Save',
- 'Service Items' => 'Service Items',
- 'Ship via' => 'Ship via',
- 'Signature' => 'Signature',
- 'Stylesheet' => 'Stylesheet',
- 'Tax' => 'Tax',
- 'Tax Accounts' => 'Tax Accounts',
- 'Template saved!' => 'Template saved!',
- 'Transaction reversal enforced for all dates' => 'Transaction reversal enforced for all dates',
- 'Transaction reversal enforced up to' => 'Transaction reversal enforced up to',
- 'Transactions exist; cannot delete account!' => 'Transactions exist; cannot delete account!',
- 'Weight Unit' => 'Weight Unit',
- 'Year End' => 'Year End',
+ 'Save as new' => 'Save as new',
+ 'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select federal state...' => 'Select federal state...',
+ 'Select tax office...' => 'Select tax office...',
+ 'Skonto' => 'Skonto',
+ 'Skonto Terms' => 'Skonto Terms',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'Tax Percent is a number between 0 and 100' => 'Tax Percent is a number between 0 and 100',
+ 'Tax deleted!' => 'Tax deleted!',
+ 'Tax saved!' => 'Tax saved!',
+ 'Tax-O-Matic' => 'Tax-O-Matic',
+ 'Tax-o-matic Account' => 'Tax-o-matic Account',
+ 'Taxdescription missing!' => 'Taxdescription missing!',
+ 'Taxkey missing!' => 'Taxkey missing!',
+ 'Taxrate missing!' => 'Taxrate missing!',
+ 'Template Code' => 'Template Code',
+ 'Template Code missing!' => 'Template Code missing!',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The base unit does not exist or it is about to be deleted in row %d.' => 'The base unit does not exist or it is about to be deleted in row %d.',
+ 'The base unit does not exist.' => 'The base unit does not exist.',
+ 'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => 'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The factor is missing in row %d.' => 'The factor is missing in row %d.',
+ 'The factor is missing.' => 'The factor is missing.',
+ 'The name in row %d has already been used before.' => 'The name in row %d has already been used before.',
+ 'The name is missing in row %d.' => 'The name is missing in row %d.',
+ 'The name is missing.' => 'The name is missing.',
+ 'The unit has been saved.' => 'The unit has been saved.',
+ 'The unit in row %d has been deleted in the meantime.' => 'The unit in row %d has been deleted in the meantime.',
+ 'The unit in row %d has been used in the meantime and cannot be changed anymore.' => 'The unit in row %d has been used in the meantime and cannot be changed anymore.',
+ 'The units have been saved.' => 'The units have been saved.',
+ 'The warehouse could not be deleted because it has already been used.' => 'The warehouse could not be deleted because it has already been used.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Translation (%s)' => 'Translation (%s)',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Type of Business' => 'Type of Business',
+ 'Unit' => 'Unit',
+ 'Unknown Category' => 'Unknown Category',
+ 'Unknown Link' => 'Unknown Link',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse deleted.' => 'Warehouse deleted.',
+ 'Warehouse management' => 'Warehouse management',
+ 'Warehouse saved.' => 'Warehouse saved.',
+ 'Warehouses' => 'Warehouses',
'Yes' => 'Yes',
- 'does not exist' => 'does not exist',
+ 'You can use the following strings in the long description and all translations. They will be replaced by their actual values by Lx-Office before they\'re output.' => 'You can use the following strings in the long description and all translations. They will be replaced by their actual values by Lx-Office before they\'re output.',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'down' => 'down',
+ 'invoice' => 'invoice',
+ 'lead deleted!' => 'lead deleted!',
+ 'lead saved!' => 'lead saved!',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'up' => 'up',
+ 'use program settings' => 'use program settings',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_build_cfg_options' => '_build_cfg_options',
+ '_get_taxaccount_selection{
+' => '_get_taxaccount_selection{
+',
+ 'account_header' => 'account_header',
'add' => 'add',
- 'add_gifi' => 'add_gifi',
+ 'add_account' => 'add_account',
+ 'add_buchungsgruppe' => 'add_buchungsgruppe',
+ 'add_business' => 'add_business',
+ 'add_department' => 'add_department',
+ 'add_language' => 'add_language',
+ 'add_lead' => 'add_lead',
+ 'add_payment' => 'add_payment',
+ 'add_price_factor' => 'add_price_factor',
+ 'add_printer' => 'add_printer',
+ 'add_tax' => 'add_tax',
+ 'add_unit' => 'add_unit',
+ 'add_warehouse' => 'add_warehouse',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
'audit_control' => 'audit_control',
- 'backup' => 'backup',
+ 'buchungsgruppe_header' => 'buchungsgruppe_header',
+ 'build_std_url' => 'build_std_url',
+ 'business_header' => 'business_header',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'config' => 'config',
'continue' => 'continue',
- 'copy_to_coa' => 'copy_to_coa',
+ 'cov_selection_internal' => 'cov_selection_internal',
'delete' => 'delete',
'delete_account' => 'delete_account',
- 'delete_gifi' => 'delete_gifi',
- 'display_form' => 'display_form',
- 'display_stylesheet' => 'display_stylesheet',
+ 'delete_buchungsgruppe' => 'delete_buchungsgruppe',
+ 'delete_business' => 'delete_business',
+ 'delete_department' => 'delete_department',
+ 'delete_language' => 'delete_language',
+ 'delete_lead' => 'delete_lead',
+ 'delete_payment' => 'delete_payment',
+ 'delete_price_factor' => 'delete_price_factor',
+ 'delete_printer' => 'delete_printer',
+ 'delete_tax' => 'delete_tax',
+ 'delete_warehouse' => 'delete_warehouse',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'department_header' => 'department_header',
'doclose' => 'doclose',
'edit' => 'edit',
- 'edit_gifi' => 'edit_gifi',
- 'edit_template' => 'edit_template',
+ 'edit_account' => 'edit_account',
+ 'edit_buchungsgruppe' => 'edit_buchungsgruppe',
+ 'edit_business' => 'edit_business',
+ 'edit_defaults' => 'edit_defaults',
+ 'edit_department' => 'edit_department',
+ 'edit_language' => 'edit_language',
+ 'edit_lead' => 'edit_lead',
+ 'edit_payment' => 'edit_payment',
+ 'edit_price_factor' => 'edit_price_factor',
+ 'edit_printer' => 'edit_printer',
+ 'edit_tax' => 'edit_tax',
+ 'edit_units' => 'edit_units',
+ 'edit_warehouse' => 'edit_warehouse',
'form_footer' => 'form_footer',
- 'form_header' => 'form_header',
- 'gifi_footer' => 'gifi_footer',
- 'gifi_header' => 'gifi_header',
- 'list' => 'list',
- 'list_gifi' => 'list_gifi',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'language_header' => 'language_header',
+ 'lead_header' => 'lead_header',
+ 'list_account' => 'list_account',
+ 'list_account_details' => 'list_account_details',
+ 'list_buchungsgruppe' => 'list_buchungsgruppe',
+ 'list_business' => 'list_business',
+ 'list_department' => 'list_department',
+ 'list_language' => 'list_language',
+ 'list_lead' => 'list_lead',
+ 'list_payment' => 'list_payment',
+ 'list_price_factors' => 'list_price_factors',
+ 'list_printer' => 'list_printer',
+ 'list_tax' => 'list_tax',
+ 'list_warehouses' => 'list_warehouses',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'payment_header' => 'payment_header',
+ 'printer_header' => 'printer_header',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'save' => 'save',
'save_account' => 'save_account',
- 'save_gifi' => 'save_gifi',
+ 'save_as_new' => 'save_as_new',
+ 'save_as_new_account' => 'save_as_new_account',
+ 'save_bin' => 'save_bin',
+ 'save_buchungsgruppe' => 'save_buchungsgruppe',
+ 'save_business' => 'save_business',
+ 'save_defaults' => 'save_defaults',
+ 'save_department' => 'save_department',
+ 'save_language' => 'save_language',
+ 'save_lead' => 'save_lead',
+ 'save_payment' => 'save_payment',
'save_preferences' => 'save_preferences',
- 'save_template' => 'save_template',
+ 'save_price_factor' => 'save_price_factor',
+ 'save_printer' => 'save_printer',
+ 'save_tax' => 'save_tax',
+ 'save_unit' => 'save_unit',
+ 'save_warehouse' => 'save_warehouse',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_unit_languages' => 'set_unit_languages',
+ 'show_am_history' => 'show_am_history',
+ 'show_history' => 'show_history',
+ 'show_history_search' => 'show_history_search',
+ 'show_vc_details' => 'show_vc_details',
+ 'swap_buchungsgruppen' => 'swap_buchungsgruppen',
+ 'swap_payment_terms' => 'swap_payment_terms',
+ 'swap_price_factors' => 'swap_price_factors',
+ 'swap_units' => 'swap_units',
+ 'swap_warehouses' => 'swap_warehouses',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'add' => 'add',
'add_account' => 'add_account',
+ 'close' => 'close',
'continue' => 'continue',
- 'copy_to_coa' => 'copy_to_coa',
'delete' => 'delete',
- 'edit' => 'edit',
'edit_account' => 'edit_account',
+ 'new_part' => 'new_part',
'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'submit' => 'submit',
};
1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Add custom variable' => 'Add custom variable',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customers and vendors' => 'Customers and vendors',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Edit custom variable' => 'Edit custom variable',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'Free-form text' => 'Free-form text',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'List of custom variables' => 'List of custom variables',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Number' => 'Number',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Parts, services and assemblies' => 'Parts, services and assemblies',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Projects' => 'Projects',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Selection' => 'Selection',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'Text field' => 'Text field',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The custom variable has been deleted.' => 'The custom variable has been deleted.',
+ 'The custom variable has been saved.' => 'The custom variable has been saved.',
+ 'The description is missing.' => 'The description is missing.',
+ 'The name is missing.' => 'The name is missing.',
+ 'The name must only consist of letters, numbers and underscores and start with a letter.' => 'The name must only consist of letters, numbers and underscores and start with a letter.',
+ 'The option field is empty.' => 'The option field is empty.',
+ 'Timestamp' => 'Timestamp',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'Yes/No (Checkbox)' => 'Yes/No (Checkbox)',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_is_valid_module' => '_is_valid_module',
+ 'add' => 'add',
+ 'add_cvar_config' => 'add_cvar_config',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delete' => 'delete',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'dispatcher' => 'dispatcher',
+ 'display_cvar_config_form' => 'display_cvar_config_form',
+ 'edit' => 'edit',
+ 'edit_cvar_config' => 'edit_cvar_config',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'list_cvar_configs' => 'list_cvar_configs',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'swap_cvar_configs' => 'swap_cvar_configs',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'add' => 'add',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'new_part' => 'new_part',
+ 'save' => 'save',
+ 'show' => 'show',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'BWA' => 'BWA',
+ 'Balance Sheet' => 'Balance Sheet',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Check' => 'Cheque',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Edit templates' => 'Edit templates',
+ 'Edit the stylesheet' => 'Edit the stylesheet',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Income Statement' => 'Income Statement',
+ 'Invoice' => 'Invoice',
+ 'Invoice for fees' => 'Invoice for fees',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Payment Reminder' => 'Payment Reminder',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt' => 'Receipt',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Saving the file \'%s\' failed. OS error message: %s' => 'Saving the file \'%s\' failed. OS error message: %s',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Statement' => 'Statement',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'USTVA' => 'USTVA',
+ 'USTVA 2004' => 'USTVA 2004',
+ 'USTVA 2005' => 'USTVA 2005',
+ 'USTVA 2006' => 'USTVA 2006',
+ 'USTVA 2007' => 'USTVA 2007',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'You\'re not editing a file.' => 'You\'re not editing a file.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'display' => 'display',
+ 'display_template' => 'display_template',
+ 'display_template_form' => 'display_template_form',
+ 'edit' => 'edit',
+ 'edit_template' => 'edit_template',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'save_template' => 'save_template',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'display' => 'display',
+ 'edit' => 'edit',
+ 'new_part' => 'new_part',
+ 'save' => 'save',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
'AP Transaction' => 'Purchase Transaction',
+ 'AP Transaction (abbreviation)' => 'AP Transaction (abbreviation)',
+ 'AP Transaction Storno (one letter abbreviation)' => 'AP Transaction Storno (one letter abbreviation)',
+ 'AP Transaction with Storno (abbreviation)' => 'AP Transaction with Storno (abbreviation)',
'AP Transactions' => 'Purchase Transactions',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
'Account' => 'Account',
'Add Accounts Payables Transaction' => 'Add Purchase Transaction',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
'Amount Due' => 'Amount Due',
'Apr' => 'Apr',
'April' => 'April',
'Are you sure you want to delete Transaction' => 'Are you sure you want to delete Transaction',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'Buchungskonto' => 'Buchungskonto',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cancel Accounts Payables Transaction' => 'Cancel Accounts Payables Transaction',
'Cannot delete transaction!' => 'Cannot delete transaction!',
'Cannot post payment for a closed period!' => 'Cannot post payment for a closed period!',
+ 'Cannot post payment!' => 'Cannot post payment!',
'Cannot post transaction for a closed period!' => 'Cannot post transaction for a closed period!',
'Cannot post transaction!' => 'Cannot post transaction!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
'Closed' => 'Closed',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Limit' => 'Credit Limit',
+ 'Credit Note' => 'Credit Note',
'Currency' => 'Currency',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Date Paid' => 'Date Paid',
'Dec' => 'Dec',
'December' => 'December',
'Delete' => 'Delete',
+ 'Delete drafts' => 'Delete drafts',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Details (one letter abbreviation)' => 'Details (one letter abbreviation)',
+ 'Directory' => 'Directory',
+ 'Draft saved.' => 'Draft saved.',
'Due Date' => 'Due Date',
'Due Date missing!' => 'Due Date missing!',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
'Edit Accounts Payables Transaction' => 'Edit Creditor Transaction',
'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
'Exch' => 'Exch',
'Exchangerate' => 'Exchangerate',
'Exchangerate for payment missing!' => 'Exchangerate for payment missing!',
'Exchangerate missing!' => 'Exchangerate missing!',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up' => 'Follow-Up',
'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
'ID' => 'ID',
'Include in Report' => 'Include in Report',
'Invoice' => 'Invoice',
+ 'Invoice (one letter abbreviation)' => 'Invoice (one letter abbreviation)',
'Invoice Date' => 'Invoice Date',
'Invoice Date missing!' => 'Invoice Date missing!',
'Invoice Number' => 'Invoice Number',
- 'Invoice Number missing!' => 'Invoice Number missing!',
+ 'Invoice with Storno (abbreviation)' => 'Invoice with Storno (abbreviation)',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing amount' => 'Missing amount',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Notes' => 'Notes',
'Nov' => 'Nov',
'November' => 'November',
'Open' => 'Open',
'Order' => 'Order',
'Order Number' => 'Order Number',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
'Paid' => 'Paid',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Payment Terms' => 'Payment Terms',
'Payment date missing!' => 'Payment date missing!',
+ 'Payment posted!' => 'Payment posted!',
'Payments' => 'Payments',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Post' => 'Post',
- 'Post as new' => 'Post as new',
+ 'Post Payment' => 'Post Payment',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
+ 'Project Number' => 'Project Number',
'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Remaining' => 'Remaining',
+ 'Remove draft when posting' => 'Remove draft when posting',
+ 'Reports' => 'Reports',
+ 'Request quotation' => 'Request quotation',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Salesperson' => 'Salesperson',
+ 'Save draft' => 'Save draft',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
'Sep' => 'Sep',
'September' => 'September',
+ 'Skip' => 'Skip',
'Source' => 'Source',
+ 'Steuersatz' => 'Steuersatz',
+ 'Storno' => 'Storno',
+ 'Storno (one letter abbreviation)' => 'Storno (one letter abbreviation)',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
'Tax' => 'Tax',
'Tax Included' => 'Tax Included',
+ 'Taxkey' => 'Taxkey',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
+ 'To (email)' => 'To (email)',
'Total' => 'Total',
+ 'Transaction %d cancelled.' => 'Transaction %d cancelled.',
'Transaction deleted!' => 'Transaction deleted!',
+ 'Transaction description' => 'Transaction description',
+ 'Transaction has already been cancelled!' => 'Transaction has already been cancelled!',
'Transaction posted!' => 'Transaction posted!',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Type' => 'Type',
+ 'USt-IdNr.' => 'USt-IdNr.',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update' => 'Update',
+ 'Use As Template' => 'Use As Template',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
'Vendor' => 'Vendor',
'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
'Vendor missing!' => 'Vendor missing!',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Yes' => 'Yes',
- 'to' => 'to',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zero amount posting!' => 'Zero amount posting!',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'history' => 'history',
+ 'invoice' => 'invoice',
+ 'mark as paid' => 'mark as paid',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'vendor_invoice_list' => 'vendor_invoice_list',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'add' => 'add',
- 'add_transaction' => 'add_transaction',
- 'ap_subtotal' => 'ap_subtotal',
'ap_transaction' => 'ap_transaction',
'ap_transactions' => 'ap_transactions',
'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_name' => 'check_name',
'check_project' => 'check_project',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
'create_links' => 'create_links',
+ 'create_subtotal_row' => 'create_subtotal_row',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
+ 'dont_load_draft' => 'dont_load_draft',
+ 'draft_action_dispatcher' => 'draft_action_dispatcher',
'edit' => 'edit',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
'gl_transaction' => 'gl_transaction',
+ 'load_draft' => 'load_draft',
+ 'load_draft_maybe' => 'load_draft_maybe',
+ 'mark_as_paid' => 'mark_as_paid',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'name_selected' => 'name_selected',
+ 'part_selection_internal' => 'part_selection_internal',
'post' => 'post',
'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
'project_selected' => 'project_selected',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'remove_draft' => 'remove_draft',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
'search' => 'search',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
'purchase_transaction' => 'ap_transaction',
'add_purchase_transaction' => 'add_accounts_payables_transaction',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
'edit_creditor_transaction' => 'edit_accounts_payables_transaction',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
'post' => 'post',
- 'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
+ 'save_draft' => 'save_draft',
+ 'skip' => 'skip',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'vendor_invoice' => 'vendor_invoice',
'yes' => 'yes',
+ 'mark_as_paid' => 'mark_as_paid',
};
1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
'AR Transaction' => 'Sales Transaction',
+ 'AR Transaction (abbreviation)' => 'AR Transaction (abbreviation)',
'AR Transactions' => 'Sales Transactions',
'Account' => 'Account',
+ 'Accounting Menu' => 'Accounting Menu',
'Add Accounts Receivables Transaction' => 'Add Sales Transaction',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
'Amount Due' => 'Amount Due',
'Apr' => 'Apr',
'April' => 'April',
'Are you sure you want to delete Transaction' => 'Are you sure you want to delete Transaction',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'Buchungskonto' => 'Buchungskonto',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cancel Accounts Receivables Transaction' => 'Cancel Accounts Receivables Transaction',
'Cannot delete transaction!' => 'Cannot delete transaction!',
'Cannot post payment for a closed period!' => 'Cannot post payment for a closed period!',
+ 'Cannot post payment!' => 'Cannot post payment!',
'Cannot post transaction for a closed period!' => 'Cannot post transaction for a closed period!',
'Cannot post transaction!' => 'Cannot post transaction!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
'Closed' => 'Closed',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
'Credit Limit' => 'Credit Limit',
+ 'Credit Note' => 'Credit Note',
+ 'Credit note (one letter abbreviation)' => 'Credit note (one letter abbreviation)',
'Currency' => 'Currency',
'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
'Customer missing!' => 'Customer missing!',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Date Paid' => 'Date Paid',
'Dec' => 'Dec',
'December' => 'December',
'Delete' => 'Delete',
+ 'Delete drafts' => 'Delete drafts',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Details (one letter abbreviation)' => 'Details (one letter abbreviation)',
+ 'Directory' => 'Directory',
+ 'Draft saved.' => 'Draft saved.',
'Due Date' => 'Due Date',
'Due Date missing!' => 'Due Date missing!',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
'Edit Accounts Receivables Transaction' => 'Edit Debtor Transaction',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Ertrag' => 'Ertrag',
+ 'Ertrag prozentual' => 'Ertrag prozentual',
'Exch' => 'Exch',
'Exchangerate' => 'Exchangerate',
'Exchangerate for payment missing!' => 'Exchangerate for payment missing!',
'Exchangerate missing!' => 'Exchangerate missing!',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up' => 'Follow-Up',
'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
'ID' => 'ID',
'Include in Report' => 'Include in Report',
+ 'Incoming Payments' => 'Incoming Payments',
'Invoice' => 'Invoice',
+ 'Invoice (one letter abbreviation)' => 'Invoice (one letter abbreviation)',
'Invoice Date' => 'Invoice Date',
'Invoice Date missing!' => 'Invoice Date missing!',
'Invoice Number' => 'Invoice Number',
- 'Invoice Number missing!' => 'Invoice Number missing!',
+ 'Invoice with Storno (abbreviation)' => 'Invoice with Storno (abbreviation)',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing amount' => 'Missing amount',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Notes' => 'Notes',
'Nov' => 'Nov',
'November' => 'November',
'Open' => 'Open',
'Order' => 'Order',
'Order Number' => 'Order Number',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
'Paid' => 'Paid',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Payment Terms' => 'Payment Terms',
'Payment date missing!' => 'Payment date missing!',
- 'Payments' => 'Payments',
+ 'Payment posted!' => 'Payment posted!',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Post' => 'Post',
- 'Post as new' => 'Post as new',
+ 'Post Payment' => 'Post Payment',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
+ 'Project Number' => 'Project Number',
'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Remaining' => 'Remaining',
+ 'Remove draft when posting' => 'Remove draft when posting',
+ 'Reports' => 'Reports',
+ 'Request quotation' => 'Request quotation',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
'Salesperson' => 'Salesperson',
+ 'Save draft' => 'Save draft',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
'Sep' => 'Sep',
'September' => 'September',
'Ship via' => 'Ship via',
+ 'Shipping Point' => 'Shipping Point',
+ 'Skip' => 'Skip',
'Source' => 'Source',
+ 'Steuersatz' => 'Steuersatz',
+ 'Storno' => 'Storno',
+ 'Storno (one letter abbreviation)' => 'Storno (one letter abbreviation)',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
'Tax' => 'Tax',
'Tax Included' => 'Tax Included',
+ 'Taxkey' => 'Taxkey',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
+ 'To (email)' => 'To (email)',
'Total' => 'Total',
+ 'Transaction %d cancelled.' => 'Transaction %d cancelled.',
'Transaction deleted!' => 'Transaction deleted!',
+ 'Transaction description' => 'Transaction description',
+ 'Transaction has already been cancelled!' => 'Transaction has already been cancelled!',
'Transaction posted!' => 'Transaction posted!',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Type' => 'Type',
+ 'USt-IdNr.' => 'USt-IdNr.',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update' => 'Update',
+ 'Use As Template' => 'Use As Template',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Yes' => 'Yes',
- 'to' => 'to',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zero amount posting!' => 'Zero amount posting!',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'history' => 'history',
+ 'invoice' => 'invoice',
+ 'invoice_list' => 'invoice_list',
+ 'mark as paid' => 'mark as paid',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_post' => '_post',
+ 'acc_menu' => 'acc_menu',
'add' => 'add',
- 'add_transaction' => 'add_transaction',
'ap_transaction' => 'ap_transaction',
- 'ar_subtotal' => 'ar_subtotal',
'ar_transaction' => 'ar_transaction',
'ar_transactions' => 'ar_transactions',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_name' => 'check_name',
'check_project' => 'check_project',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
'create_links' => 'create_links',
+ 'create_subtotal_row' => 'create_subtotal_row',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'display' => 'display',
'display_form' => 'display_form',
+ 'dont_load_draft' => 'dont_load_draft',
+ 'draft_action_dispatcher' => 'draft_action_dispatcher',
'edit' => 'edit',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
'gl_transaction' => 'gl_transaction',
+ 'load_draft' => 'load_draft',
+ 'load_draft_maybe' => 'load_draft_maybe',
+ 'mark_as_paid' => 'mark_as_paid',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'name_selected' => 'name_selected',
+ 'part_selection_internal' => 'part_selection_internal',
'post' => 'post',
'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
'project_selected' => 'project_selected',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'remove_draft' => 'remove_draft',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
'search' => 'search',
+ 'section_menu' => 'section_menu',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
'sales_transaction' => 'ar_transaction',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
'post' => 'post',
- 'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
+ 'skip' => 'skip',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'yes' => 'yes',
+ 'mark_as_paid' => 'mark_as_paid',
};
1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Number' => 'Number',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
- 'add_transaction' => 'add_transaction',
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'ap_transaction' => 'ap_transaction',
'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_name' => 'check_name',
'check_project' => 'check_project',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'format_dates' => 'format_dates',
'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'name_selected' => 'name_selected',
+ 'part_selection_internal' => 'part_selection_internal',
'project_selected' => 'project_selected',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
'continue' => 'continue',
+ 'new_part' => 'new_part',
};
1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Account' => 'Account',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Are you sure you want to remove the marked entries from the queue?' => 'Are you sure you want to remove the marked entries from the queue?',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
'Cannot remove files!' => 'Cannot remove files!',
- 'Checks' => 'Cheques',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Checks' => 'Checks',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
- 'Customer' => 'Debtor',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
+ 'File' => 'File',
'From' => 'From',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
'Invoice' => 'Invoice',
'Invoice Number' => 'Invoice Number',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
'Marked entries printed!' => 'Marked entries printed!',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Order' => 'Order',
'Order Number' => 'Order Number',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
'Packing Lists' => 'Packing Lists',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
'Print' => 'Print',
'Printing ... ' => 'Printing ... ',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
'Purchase Orders' => 'Purchase Orders',
'Quotation' => 'Quotation',
'Quotation Number' => 'Quotation Number',
'Quotations' => 'Quotations',
+ 'RFQ' => 'RFQ',
'RFQs' => 'RFQs',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Receipts' => 'Receipts',
'Reference' => 'Reference',
'Remove' => 'Remove',
'Removed spoolfiles!' => 'Removed spoolfiles!',
'Removing marked entries from queue ...' => 'Removing marked entries from queue ...',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
'Sales Invoices' => 'Sales Invoices',
'Sales Orders' => 'Sales Orders',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select all' => 'Select all',
'Spoolfile' => 'Spoolfile',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
'To' => 'To',
- 'Vendor' => 'Creditor',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
'done' => 'done',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'assert_bp_access' => 'assert_bp_access',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
'list_spool' => 'list_spool',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
'print' => 'print',
+ 'reformat_numbers' => 'reformat_numbers',
'remove' => 'remove',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'search' => 'search',
'select_all' => 'select_all',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
+ 'close' => 'close',
'continue' => 'continue',
+ 'new_part' => 'new_part',
'print' => 'print',
'remove' => 'remove',
'select_all' => 'select_all',
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Account' => 'Account',
+ 'Accrual' => 'Accrual',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Apr' => 'Apr',
'April' => 'April',
'Aug' => 'Aug',
'August' => 'August',
'Balance' => 'Balance',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
'Chart of Accounts' => 'Chart of Accounts',
+ 'Company' => 'Company',
+ 'Confirmation' => 'Confirmation',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create Date' => 'Create Date',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
'Credit' => 'Credit',
+ 'Credit (one letter abbreviation)' => 'Credit (one letter abbreviation)',
+ 'Credit Note' => 'Credit Note',
+ 'Customized Report' => 'Customized Report',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Debit' => 'Debit',
+ 'Debit (one letter abbreviation)' => 'Debit (one letter abbreviation)',
'Dec' => 'Dec',
'December' => 'December',
+ 'Decimalplaces' => 'Decimalplaces',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'EB-Wert' => 'EB-Wert',
+ 'ELSE' => 'ELSE',
+ 'EUR' => 'EUR',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Free report period' => 'Free report period',
'From' => 'From',
- 'GIFI' => 'GIFI',
- 'Include in Report' => 'Include in Report',
+ 'Gegenkonto' => 'Gegenkonto',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Invoice' => 'Invoice',
+ 'Jahresverkehrszahlen neu' => 'Jahresverkehrszahlen neu',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'Jun' => 'Jun',
'June' => 'June',
'List Transactions' => 'List Transactions',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Method' => 'Method',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'Monthly' => 'Monthly',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
'Nov' => 'Nov',
'November' => 'November',
'Oct' => 'Oct',
'October' => 'October',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Pick List' => 'Pick List',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project Number' => 'Project Number',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quarter' => 'Quarter',
+ 'Quarterly' => 'Quarterly',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Reference' => 'Reference',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Saldo neu' => 'Saldo neu',
+ 'Satz %' => 'Satz %',
'Sep' => 'Sep',
'September' => 'September',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
- 'to' => 'to',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'USt-Konto' => 'USt-Konto',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'YYYY' => 'YYYY',
+ 'Year' => 'Year',
+ 'Yearly' => 'Yearly',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'chart_of_accounts' => 'chart_of_accounts',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'invoice' => 'invoice',
+ 'list_of_transactions' => 'list_of_transactions',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'wrongformat' => 'wrongformat',
};
-$self{subs} = {
- 'ca_subtotal' => 'ca_subtotal',
+$self->{subs} = {
'chart_of_accounts' => 'chart_of_accounts',
+ 'create_subtotal_row' => 'create_subtotal_row',
+ 'format_debit_credit' => 'format_debit_credit',
'list' => 'list',
'list_transactions' => 'list_transactions',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'back' => 'back',
+ 'continue' => 'continue',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
'list_transactions' => 'list_transactions',
};
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'new_part' => 'new_part',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Account' => 'Account',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All' => 'All',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
- 'Amount does not equal applied!' => 'Amount does not equal applied!',
- 'Amount missing!' => 'Amount missing!',
- 'Applied' => 'Applied',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cannot post Payment!' => 'Cannot post Payment!',
+ 'Cannot post Receipt!' => 'Cannot post Receipt!',
'Cannot post payment!' => 'Cannot post payment!',
'Cannot process payment for a closed period!' => 'Cannot process payment for a closed period!',
- 'Check' => 'Cheque',
- 'Check printed!' => 'Check printed!',
- 'Check printing failed!' => 'Check printing failed!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
'Currency' => 'Currency',
'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Date missing!' => 'Date missing!',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Deposit' => 'Deposit',
'Description' => 'Description',
+ 'Directory' => 'Directory',
'Due' => 'Due',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
'Exchangerate' => 'Exchangerate',
- 'From' => 'From',
+ 'Exchangerate missing!' => 'Exchangerate missing!',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
'Invoice' => 'Invoice',
'Invoices' => 'Invoices',
- 'Nothing applied!' => 'Nothing applied!',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Number' => 'Number',
- 'Paid in full' => 'Paid in full',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF' => 'PDF',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Payment' => 'Payment',
'Payment posted!' => 'Payment posted!',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Post' => 'Post',
+ 'Postscript' => 'Postscript',
+ 'Prepayment' => 'Prepayment',
+ 'Preview' => 'Preview',
'Print' => 'Print',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
'Receipt' => 'Receipt',
- 'Receipt printed!' => 'Receipt printed!',
- 'Receipt printing failed!' => 'Receipt printing failed!',
- 'Reference' => 'Reference',
+ 'Receipt posted!' => 'Receipt posted!',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
'Screen' => 'Screen',
+ 'Select' => 'Select',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
+ 'Source' => 'Source',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update' => 'Update',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
'Vendor' => 'Vendor',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
- 'to' => 'to',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zero amount posting!' => 'Zero amount posting!',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
- 'add_transaction' => 'add_transaction',
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'ap_transaction' => 'ap_transaction',
'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_form' => 'check_form',
'check_name' => 'check_name',
'check_project' => 'check_project',
'continue' => 'continue',
- 'customer_details' => 'customer_details',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
'gl_transaction' => 'gl_transaction',
'list_invoices' => 'list_invoices',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'name_selected' => 'name_selected',
+ 'part_selection_internal' => 'part_selection_internal',
'payment' => 'payment',
'post' => 'post',
'print' => 'print',
'project_selected' => 'project_selected',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
'update' => 'update',
- 'vendor_details' => 'vendor_details',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
'continue' => 'continue',
+ 'new_part' => 'new_part',
'post' => 'post',
'print' => 'print',
'update' => 'update',
-$self{texts} = {
- 'Add' => 'Add',
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Add Customer' => 'Add Customer',
+ 'Add Vendor' => 'Add Vendor',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
'All' => 'All',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Bcc' => 'Bcc',
+ 'Billing/shipping address (city)' => 'Billing/shipping address (city)',
+ 'Billing/shipping address (street)' => 'Billing/shipping address (street)',
+ 'Billing/shipping address (zipcode)' => 'Billing/shipping address (zipcode)',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
'Cannot delete customer!' => 'Cannot delete customer!',
'Cannot delete vendor!' => 'Cannot delete vendor!',
'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Confirmation' => 'Confirmation',
'Contact' => 'Contact',
- 'Continue' => 'Continue',
- 'Credit Limit' => 'Credit Limit',
+ 'Contact person (surname)' => 'Contact person (surname)',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
'Customer deleted!' => 'Customer deleted!',
+ 'Customer details' => 'Customer details',
'Customer saved!' => 'Customer saved!',
'Customers' => 'Customers',
- 'Delete' => 'Delete',
- 'Discount' => 'Discount',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
'E-mail' => 'E-mail',
+ 'ELSE' => 'ELSE',
'Edit Customer' => 'Edit Customer',
'Edit Vendor' => 'Edit Vendor',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
'Fax' => 'Fax',
- 'Include in Report' => 'Include in Report',
+ 'File' => 'File',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'ID' => 'ID',
'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
'Name missing!' => 'Name missing!',
- 'Notes' => 'Notes',
+ 'New contact' => 'New contact',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Number' => 'Number',
- 'Order' => 'Order',
'Orphaned' => 'Orphaned',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Phone' => 'Phone',
- 'Save' => 'Save',
- 'Ship to' => 'Ship to',
- 'Tax Included' => 'Tax Included',
- 'Taxable' => 'Taxable',
- 'Terms: Net' => 'Terms: Net',
- 'Transactions exist, cannot delete customer!' => 'Transactions exist, cannot delete customer!',
- 'Transactions exist, cannot delete vendor!' => 'Transactions exist, cannot delete vendor!',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
+ 'Subject' => 'Subject',
+ 'Tax Number' => 'Tax Number',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'This customer number is already in use.' => 'This customer number is already in use.',
+ 'This vendor number is already in use.' => 'This vendor number is already in use.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Type of Business' => 'Type of Business',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
'Vendor deleted!' => 'Vendor deleted!',
+ 'Vendor details' => 'Vendor details',
'Vendor saved!' => 'Vendor saved!',
'Vendors' => 'Vendors',
- 'days' => 'days',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'customer_list' => 'customer_list',
+ 'customernumber not unique!' => 'customernumber not unique!',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'vendor_list' => 'vendor_list',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'add' => 'add',
+ 'add_transaction' => 'add_transaction',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'continue' => 'continue',
- 'customer_invoice' => 'customer_invoice',
- 'customer_order' => 'customer_order',
+ 'cov_selection_internal' => 'cov_selection_internal',
'delete' => 'delete',
- 'delete_customer' => 'delete_customer',
- 'delete_vendor' => 'delete_vendor',
+ 'delete_contact' => 'delete_contact',
+ 'delete_shipto' => 'delete_shipto',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'display' => 'display',
'edit' => 'edit',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
- 'invoice' => 'invoice',
+ 'format_dates' => 'format_dates',
+ 'get_contact' => 'get_contact',
+ 'get_delivery' => 'get_delivery',
+ 'get_shipto' => 'get_shipto',
+ 'gl_transaction' => 'gl_transaction',
'list_names' => 'list_names',
- 'order' => 'order',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'save' => 'save',
- 'save_customer' => 'save_customer',
- 'save_vendor' => 'save_vendor',
+ 'save_and_ap_transaction' => 'save_and_ap_transaction',
+ 'save_and_ar_transaction' => 'save_and_ar_transaction',
+ 'save_and_close' => 'save_and_close',
+ 'save_and_invoice' => 'save_and_invoice',
+ 'save_and_order' => 'save_and_order',
+ 'save_and_quotation' => 'save_and_quotation',
+ 'save_and_rfq' => 'save_and_rfq',
'search' => 'search',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'update' => 'update',
'vendor_invoice' => 'vendor_invoice',
- 'vendor_order' => 'vendor_order',
+ 'vendor_selection' => 'vendor_selection',
'add' => 'add',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
- 'invoice' => 'invoice',
- 'order' => 'order',
+ 'delete_contact' => 'delete_contact',
+ 'delete_shipto' => 'delete_shipto',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
'save' => 'save',
+ 'save_and_ap_transaction' => 'save_and_ap_transaction',
+ 'save_and_ar_transaction' => 'save_and_ar_transaction',
+ 'save_and_close' => 'save_and_close',
+ 'save_and_invoice' => 'save_and_invoice',
+ 'save_and_order' => 'save_and_order',
+ 'save_and_quotation' => 'save_and_quotation',
+ 'save_and_rfq' => 'save_and_rfq',
};
1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Abrechnungsnummer' => 'Abrechnungsnummer',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'April' => 'April',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'August' => 'August',
+ 'Bcc' => 'Bcc',
+ 'Beratername' => 'Beratername',
+ 'Beraternummer' => 'Beraternummer',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis Konto: ' => 'Bis Konto: ',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Continue' => 'Continue',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Angaben' => 'DATEV Angaben',
+ 'DATEV Export' => 'DATEV Export',
+ 'DATEX - Export Assistent' => 'DATEX - Export Assistent',
+ 'DELETED' => 'DELETED',
+ 'DFV-Kennzeichen' => 'DFV-Kennzeichen',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Datum von' => 'Datum von',
+ 'December' => 'December',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Export Buchungsdaten' => 'Export Buchungsdaten',
+ 'Export Stammdaten' => 'Export Stammdaten',
+ 'February' => 'February',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'I' => 'I',
+ 'II' => 'II',
+ 'III' => 'III',
+ 'IV' => 'IV',
+ 'Invoice' => 'Invoice',
+ 'January' => 'January',
+ 'July' => 'July',
+ 'June' => 'June',
+ 'KNE-Export erfolgreich!' => 'KNE-Export erfolgreich!',
+ 'Konten' => 'Konten',
+ 'Kontonummernerweiterung (KNE)' => 'Kontonummernerweiterung (KNE)',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mandantennummer' => 'Mandantennummer',
+ 'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May' => 'May',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Medium Number' => 'Medium Number',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'Monat' => 'Monat',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'November' => 'November',
+ 'OBE-Export erfolgreich!' => 'OBE-Export erfolgreich!',
+ 'October' => 'October',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Password' => 'Password',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quartal' => 'Quartal',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'September' => 'September',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Von Konto: ' => 'Von Konto: ',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Your download does not exist anymore. Please re-run the DATEV export assistant.' => 'Your download does not exist anymore. Please re-run the DATEV export assistant.',
+ 'Zeitraum' => 'Zeitraum',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'bis' => 'bis',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'download' => 'download',
+ 'export' => 'export',
+ 'export2' => 'export2',
+ 'export3' => 'export3',
+ 'export_bewegungsdaten' => 'export_bewegungsdaten',
+ 'export_stammdaten' => 'export_stammdaten',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'new_part' => 'new_part',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
+ 'Add Sales Order' => 'Add Sales Order',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Amount' => 'Amount',
+ 'Apr' => 'Apr',
+ 'April' => 'April',
+ 'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Aug' => 'Aug',
+ 'August' => 'August',
+ 'Automatically created invoice for fee and interest for dunning %s' => 'Automatically created invoice for fee and interest for dunning %s',
+ 'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
+ 'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Company Name' => 'Company Name',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Continue' => 'Continue',
+ 'Could not print dunning.' => 'Could not print dunning.',
+ 'Could not spawn ghostscript.' => 'Could not spawn ghostscript.',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customername' => 'Customername',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dec' => 'Dec',
+ 'December' => 'December',
+ 'Delivered' => 'Delivered',
+ 'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Dunning' => 'Dunning',
+ 'Dunning Date' => 'Dunning Date',
+ 'Dunning Description missing in row ' => 'Dunning Description missing in row ',
+ 'Dunning Duedate' => 'Dunning Duedate',
+ 'Dunning Level' => 'Dunning Level',
+ 'Dunning Level missing in row ' => 'Dunning Level missing in row ',
+ 'Dunning Process Config saved!' => 'Dunning Process Config saved!',
+ 'Dunning Process started for selected invoices!' => 'Dunning Process started for selected invoices!',
+ 'Dunning overview' => 'Dunning overview',
+ 'Dunnings' => 'Dunnings',
+ 'E-mail' => 'E-mail',
+ 'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit Dunning Process Config' => 'Edit Dunning Process Config',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Ertrag' => 'Ertrag',
+ 'Extended' => 'Extended',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
+ 'Fax' => 'Fax',
+ 'Feb' => 'Feb',
+ 'February' => 'February',
+ 'File' => 'File',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Group' => 'Group',
+ 'History' => 'History',
+ 'In-line' => 'In-line',
+ 'Interest' => 'Interest',
+ 'Invdate' => 'Invdate',
+ 'Invnumber' => 'Invnumber',
+ 'Invoice' => 'Invoice',
+ 'Invoice Date missing!' => 'Invoice Date missing!',
+ 'Invoice Duedate' => 'Invoice Duedate',
+ 'Invoice Number missing!' => 'Invoice Number missing!',
+ 'Jan' => 'Jan',
+ 'January' => 'January',
+ 'Jul' => 'Jul',
+ 'July' => 'July',
+ 'Jun' => 'Jun',
+ 'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mar' => 'Mar',
+ 'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May' => 'May',
+ 'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No dunnings have been selected for printing.' => 'No dunnings have been selected for printing.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'No.' => 'No.',
+ 'Nov' => 'Nov',
+ 'November' => 'November',
+ 'Number' => 'Number',
+ 'Number missing in Row' => 'Number missing in Row',
+ 'Oct' => 'Oct',
+ 'October' => 'October',
+ 'On Hand' => 'On Hand',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Order Date missing!' => 'Order Date missing!',
+ 'Order Number missing!' => 'Order Number missing!',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Packing List Date missing!' => 'Packing List Date missing!',
+ 'Packing List Number missing!' => 'Packing List Number missing!',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Payment Terms missing in row ' => 'Payment Terms missing in row ',
+ 'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
+ 'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
+ 'Print dunnings' => 'Print dunnings',
+ 'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project' => 'Project',
+ 'Purchase Order' => 'Purchase Order',
+ 'Qty' => 'Qty',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'RFQ' => 'RFQ',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
+ 'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select from one of the items below' => 'Select from one of the items below',
+ 'Select postscript or PDF!' => 'Select postscript or PDF!',
+ 'Sep' => 'Sep',
+ 'September' => 'September',
+ 'Serial No.' => 'Serial No.',
+ 'Set eMail text' => 'Set eMail text',
+ 'Ship to' => 'Ship to',
+ 'Shipping Address' => 'Shipping Address',
+ 'Start Dunning Process' => 'Start Dunning Process',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
+ 'Subject' => 'Subject',
+ 'Subtotal' => 'Subtotal',
+ 'Terms missing in row ' => 'Terms missing in row ',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The dunnings have been printed.' => 'The dunnings have been printed.',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'To (email)' => 'To (email)',
+ 'Total Fees' => 'Total Fees',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'dunning_list' => 'dunning_list',
+ 'emailed to' => 'emailed to',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'sent' => 'sent',
+ 'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
+ 'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'check_form' => 'check_form',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'customer_details' => 'customer_details',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'display_row' => 'display_row',
+ 'edit_config' => 'edit_config',
+ 'edit_e_mail' => 'edit_e_mail',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'new_item' => 'new_item',
+ 'new_license' => 'new_license',
+ 'order' => 'order',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'post_as_new' => 'post_as_new',
+ 'print' => 'print',
+ 'print_dunning' => 'print_dunning',
+ 'print_form' => 'print_form',
+ 'print_multiple' => 'print_multiple',
+ 'print_options' => 'print_options',
+ 'quotation' => 'quotation',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'save_dunning' => 'save_dunning',
+ 'search' => 'search',
+ 'select_item' => 'select_item',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_email' => 'set_email',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
+ 'ship_to' => 'ship_to',
+ 'show_dunning' => 'show_dunning',
+ 'show_history' => 'show_history',
+ 'show_invoices' => 'show_invoices',
+ 'show_vc_details' => 'show_vc_details',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'back' => 'back',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
+ 'print' => 'print',
+ 'save' => 'save',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ ' missing!' => ' missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Add Purchase Delivery Order' => 'Add Purchase Delivery Order',
+ 'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
+ 'Add Sales Delivery Order' => 'Add Sales Delivery Order',
+ 'Add Sales Invoice' => 'Add Sales Invoice',
+ 'Add Sales Order' => 'Add Sales Order',
+ 'Add Vendor Invoice' => 'Add Vendor Invoice',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Apr' => 'Apr',
+ 'April' => 'April',
+ 'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Aug' => 'Aug',
+ 'August' => 'August',
+ 'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
+ 'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cannot delete delivery order!' => 'Cannot delete delivery order!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Closed' => 'Closed',
+ 'Company Name' => 'Company Name',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Continue' => 'Continue',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer missing!' => 'Customer missing!',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
+ 'Customer not on file!' => 'Customer not on file!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dec' => 'Dec',
+ 'December' => 'December',
+ 'Delete delivery order' => 'Delete delivery order',
+ 'Delivered' => 'Delivered',
+ 'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Delivery Order Date missing!' => 'Delivery Order Date missing!',
+ 'Delivery Order Number' => 'Delivery Order Number',
+ 'Delivery Order deleted!' => 'Delivery Order deleted!',
+ 'Delivery Orders' => 'Delivery Orders',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Dunning' => 'Dunning',
+ 'E-mail' => 'E-mail',
+ 'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit Purchase Delivery Order' => 'Edit Purchase Delivery Order',
+ 'Edit Sales Delivery Order' => 'Edit Sales Delivery Order',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.',
+ 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.',
+ 'Error in row #1: The quantity you entered is bigger than the stocked quantity.' => 'Error in row #1: The quantity you entered is bigger than the stocked quantity.',
+ 'Ertrag' => 'Ertrag',
+ 'Extended' => 'Extended',
+ 'Fax' => 'Fax',
+ 'Feb' => 'Feb',
+ 'February' => 'February',
+ 'File' => 'File',
+ 'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Group' => 'Group',
+ 'History' => 'History',
+ 'ID' => 'ID',
+ 'In-line' => 'In-line',
+ 'Invoice' => 'Invoice',
+ 'Invoice Date missing!' => 'Invoice Date missing!',
+ 'Invoice Number missing!' => 'Invoice Number missing!',
+ 'Jan' => 'Jan',
+ 'January' => 'January',
+ 'Jul' => 'Jul',
+ 'July' => 'July',
+ 'Jun' => 'Jun',
+ 'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mar' => 'Mar',
+ 'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May' => 'May',
+ 'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'No.' => 'No.',
+ 'Not delivered' => 'Not delivered',
+ 'Nov' => 'Nov',
+ 'November' => 'November',
+ 'Number' => 'Number',
+ 'Number missing in Row' => 'Number missing in Row',
+ 'Oct' => 'Oct',
+ 'October' => 'October',
+ 'On Hand' => 'On Hand',
+ 'Open' => 'Open',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Order' => 'Order',
+ 'Order Date missing!' => 'Order Date missing!',
+ 'Order Number' => 'Order Number',
+ 'Order Number missing!' => 'Order Number missing!',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Packing List Date missing!' => 'Packing List Date missing!',
+ 'Packing List Number missing!' => 'Packing List Number missing!',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
+ 'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
+ 'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project' => 'Project',
+ 'Project Number' => 'Project Number',
+ 'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Qty' => 'Qty',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'RFQ' => 'RFQ',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
+ 'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Salesperson' => 'Salesperson',
+ 'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select from one of the items below' => 'Select from one of the items below',
+ 'Select from one of the names below' => 'Select from one of the names below',
+ 'Select from one of the projects below' => 'Select from one of the projects below',
+ 'Select postscript or PDF!' => 'Select postscript or PDF!',
+ 'Sep' => 'Sep',
+ 'September' => 'September',
+ 'Serial No.' => 'Serial No.',
+ 'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
+ 'Ship to' => 'Ship to',
+ 'Ship via' => 'Ship via',
+ 'Shipping Address' => 'Shipping Address',
+ 'Show details' => 'Show details',
+ 'Stock' => 'Stock',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
+ 'Subject' => 'Subject',
+ 'Subtotal' => 'Subtotal',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The delivery order has not been marked as delivered. The warehouse contents have not changed.' => 'The delivery order has not been marked as delivered. The warehouse contents have not changed.',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The parts for this delivery order have already been transferred in.' => 'The parts for this delivery order have already been transferred in.',
+ 'The parts for this delivery order have already been transferred out.' => 'The parts for this delivery order have already been transferred out.',
+ 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.' => 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.',
+ 'To (email)' => 'To (email)',
+ 'Transaction description' => 'Transaction description',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor missing!' => 'Vendor missing!',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
+ 'Vendor not on file!' => 'Vendor not on file!',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You cannot create an invoice for delivery orders for different customers.' => 'You cannot create an invoice for delivery orders for different customers.',
+ 'You cannot create an invoice for delivery orders from different vendors.' => 'You cannot create an invoice for delivery orders from different vendors.',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'You have not selected any delivery order.' => 'You have not selected any delivery order.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'chargenumber #1' => 'chargenumber #1',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'emailed to' => 'emailed to',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'no chargenumber' => 'no chargenumber',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_delivery_order_list' => 'purchase_delivery_order_list',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_delivery_order_list' => 'sales_delivery_order_list',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'sent' => 'sent',
+ 'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
+ 'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'calculate_stock_in_out' => 'calculate_stock_in_out',
+ 'call_sub' => 'call_sub',
+ 'check_do_access' => 'check_do_access',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_delivery_order' => 'delete_delivery_order',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'dispatcher' => 'dispatcher',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'display_stock_in_form' => 'display_stock_in_form',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'edit_e_mail' => 'edit_e_mail',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
+ 'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice' => 'invoice',
+ 'invoice_multi' => 'invoice_multi',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'mark_closed' => 'mark_closed',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'new_license' => 'new_license',
+ 'no' => 'no',
+ 'order' => 'order',
+ 'order_links' => 'order_links',
+ 'orders' => 'orders',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_order' => 'prepare_order',
+ 'print' => 'print',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'quotation' => 'quotation',
+ 'redo_stock_info' => 'redo_stock_info',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'search' => 'search',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_headings' => 'set_headings',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
+ 'set_stock_in' => 'set_stock_in',
+ 'set_stock_out' => 'set_stock_out',
+ 'ship_to' => 'ship_to',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'stock_in_form' => 'stock_in_form',
+ 'stock_in_out_form' => 'stock_in_out_form',
+ 'stock_out_form' => 'stock_out_form',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
+ 'update' => 'update',
+ 'update_delivery_order' => 'update_delivery_order',
+ 'update_stock_in' => 'update_stock_in',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'yes' => 'yes',
+ 'back' => 'back',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'e_mail' => 'e_mail',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'invoice' => 'invoice',
+ 'mark_closed' => 'mark_closed',
+ 'new_part' => 'new_part',
+ 'no' => 'no',
+ 'print' => 'print',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'ship_to' => 'ship_to',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
+ 'update' => 'update',
+ 'yes' => 'yes',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delete drafts' => 'Delete drafts',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Draft saved.' => 'Draft saved.',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Skip' => 'Skip',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delete_drafts' => 'delete_drafts',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'dont_load_draft' => 'dont_load_draft',
+ 'draft_action_dispatcher' => 'draft_action_dispatcher',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'load_draft' => 'load_draft',
+ 'load_draft_maybe' => 'load_draft_maybe',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'remove_draft' => 'remove_draft',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete_drafts' => 'delete_drafts',
+ 'new_part' => 'new_part',
+ 'save_draft' => 'save_draft',
+ 'skip' => 'skip',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Add Follow-Up' => 'Add Follow-Up',
+ 'Add Follow-Up for #1' => 'Add Follow-Up for #1',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Body' => 'Body',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Created by' => 'Created by',
+ 'Created for' => 'Created for',
+ 'Created on' => 'Created on',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Done' => 'Done',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Edit Access Rights for Follow-Ups' => 'Edit Access Rights for Follow-Ups',
+ 'Edit Follow-Up' => 'Edit Follow-Up',
+ 'Edit Follow-Up for #1' => 'Edit Follow-Up for #1',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'Follow-Up Date' => 'Follow-Up Date',
+ 'Follow-Up saved.' => 'Follow-Up saved.',
+ 'Follow-Ups' => 'Follow-Ups',
+ 'Follow-up for' => 'Follow-up for',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Invalid follow-up ID.' => 'Invalid follow-up ID.',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No' => 'No',
+ 'No action defined.' => 'No action defined.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Not done yet' => 'Not done yet',
+ 'Only due follow-ups' => 'Only due follow-ups',
+ 'Other users\' follow-ups' => 'Other users\' follow-ups',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Pick List' => 'Pick List',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reference' => 'Reference',
+ 'Reports' => 'Reports',
+ 'Request quotation' => 'Request quotation',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The access rights have been saved.' => 'The access rights have been saved.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The follow-up date is missing.' => 'The follow-up date is missing.',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The subject is missing.' => 'The subject is missing.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'You must chose a user.' => 'You must chose a user.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'follow_up_list' => 'follow_up_list',
+ 'invoice' => 'invoice',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+};
+
+$self->{subs} = {
+ '_collect_links' => '_collect_links',
+ 'add' => 'add',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'dispatcher' => 'dispatcher',
+ 'display_form' => 'display_form',
+ 'edit' => 'edit',
+ 'edit_access_rights' => 'edit_access_rights',
+ 'finish' => 'finish',
+ 'report' => 'report',
+ 'report_for_todo_list' => 'report_for_todo_list',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'save' => 'save',
+ 'save_access_rights' => 'save_access_rights',
+ 'save_follow_up' => 'save_follow_up',
+ 'search' => 'search',
+ 'update' => 'update',
+ 'back' => 'back',
+ 'cancel' => 'cancel',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'finish' => 'finish',
+ 'save' => 'save',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Edit greetings' => 'Edit greetings',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Pick List' => 'Pick List',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The greetings have been saved.' => 'The greetings have been saved.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'invoice' => 'invoice',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+};
+
+$self->{subs} = {
+ 'edit_greetings' => 'edit_greetings',
+ 'save_greetings' => 'save_greetings',
+ 'continue' => 'continue',
+ 'save' => 'save',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
'AR Transaction' => 'Sales Transaction',
'Account' => 'Account',
'Add General Ledger Transaction' => 'Add General Ledger Transaction',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
'All' => 'All',
+ 'All reports' => 'All reports',
'Apr' => 'Apr',
'April' => 'April',
'Are you sure you want to delete Transaction' => 'Are you sure you want to delete Transaction',
'Asset' => 'Asset',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'Balance' => 'Balance',
+ 'Bcc' => 'Bcc',
+ 'Belegnummer' => 'Belegnummer',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'Buchungsdatum' => 'Buchungsdatum',
+ 'Buchungsnummer' => 'Buchungsnummer',
+ 'CANCELED' => 'CANCELED',
+ 'CB Transaction' => 'CB Transaction',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cancel Accounts Receivables Transaction' => 'Cancel Accounts Receivables Transaction',
'Cannot delete transaction!' => 'Cannot delete transaction!',
'Cannot have a value in both Debit and Credit!' => 'Cannot have a value in both Debit and Credit!',
'Cannot post a transaction without a value!' => 'Cannot post a transaction without a value!',
'Cannot post transaction for a closed period!' => 'Cannot post transaction for a closed period!',
+ 'Cannot post transaction with a debit and credit entry for the same account!' => 'Cannot post transaction with a debit and credit entry for the same account!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Chart balance' => 'Chart balance',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Contra' => 'Contra',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
'Credit' => 'Credit',
- 'Customer not on file!' => 'Customer not on file!',
+ 'Credit Account' => 'Credit Account',
+ 'Credit Note' => 'Credit Note',
+ 'Credit Tax' => 'Credit Tax',
+ 'Credit Tax Account' => 'Credit Tax Account',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Debit' => 'Debit',
+ 'Debit Account' => 'Debit Account',
+ 'Debit Tax' => 'Debit Tax',
+ 'Debit Tax Account' => 'Debit Tax Account',
'Debit and credit out of balance!' => 'Debit and credit out of balance!',
'Dec' => 'Dec',
'December' => 'December',
'Delete' => 'Delete',
+ 'Delete drafts' => 'Delete drafts',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Description missing!' => 'Description missing!',
+ 'Directory' => 'Directory',
+ 'Draft saved.' => 'Draft saved.',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
'Edit General Ledger Transaction' => 'Edit General Ledger Transaction',
+ 'Empty transaction!' => 'Empty transaction!',
+ 'Enter longdescription' => 'Enter longdescription',
'Equity' => 'Equity',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
'Expense' => 'Expense',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up' => 'Follow-Up',
'From' => 'From',
- 'GIFI' => 'GIFI',
'GL Transaction' => 'GL Transaction',
- 'General Ledger' => 'General Ledger',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
'ID' => 'ID',
'Include in Report' => 'Include in Report',
- 'Income' => 'Revenue',
+ 'Invoice' => 'Invoice',
'Jan' => 'Jan',
'January' => 'January',
+ 'Journal' => 'Journal',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
'Liability' => 'Liability',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'Mitarbeiter' => 'Mitarbeiter',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'MwSt. inkl.' => 'MwSt. inkl.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Notes' => 'Notes',
'Nov' => 'Nov',
'November' => 'November',
- 'Number' => 'Number',
+ 'OB Transaction' => 'OB Transaction',
'Oct' => 'Oct',
'October' => 'October',
+ 'Others' => 'Others',
+ 'Out of balance transaction!' => 'Out of balance transaction!',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Post' => 'Post',
- 'Post as new' => 'Post as new',
- 'Project' => 'Project',
- 'Project not on file!' => 'Project not on file!',
+ 'Preview' => 'Preview',
+ 'Previous transdate text' => 'Previous transdate text',
+ 'Previous transnumber text' => 'Previous transnumber text',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project Number' => 'Project Number',
+ 'Project Numbers' => 'Project Numbers',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Reference' => 'Reference',
'Reference missing!' => 'Reference missing!',
+ 'Remove Draft' => 'Remove Draft',
'Reports' => 'Reports',
+ 'Request quotation' => 'Request quotation',
+ 'Revenue' => 'Revenue',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
'Sales Invoice' => 'Sales Invoice',
- 'Select from one of the names below' => 'Select from one of the names below',
- 'Select from one of the projects below' => 'Select from one of the projects below',
+ 'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Save draft' => 'Save draft',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Sep' => 'Sep',
'September' => 'September',
+ 'Show details' => 'Show details',
+ 'Skip' => 'Skip',
'Source' => 'Source',
+ 'Storno' => 'Storno',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
+ 'Tax' => 'Tax',
+ 'Taxkey' => 'Taxkey',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
+ 'To (email)' => 'To (email)',
+ 'To (time)' => 'To (time)',
+ 'Transaction %d cancelled.' => 'Transaction %d cancelled.',
'Transaction Date missing!' => 'Transaction Date missing!',
'Transaction deleted!' => 'Transaction deleted!',
- 'Transaction posted!' => 'Transaction posted!',
+ 'Transaction has already been cancelled!' => 'Transaction has already been cancelled!',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unbalanced Ledger' => 'Unbalanced Ledger',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update' => 'Update',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
'Vendor Invoice' => 'Vendor Invoice',
- 'Vendor not on file!' => 'Vendor not on file!',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Yes' => 'Yes',
- 'to' => 'to',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'general_ledger_list' => 'general_ledger_list',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'add' => 'add',
- 'add_transaction' => 'add_transaction',
'ap_transaction' => 'ap_transaction',
'ar_transaction' => 'ar_transaction',
- 'check_name' => 'check_name',
- 'check_project' => 'check_project',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_subtotal_row' => 'create_subtotal_row',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
+ 'display_rows' => 'display_rows',
+ 'dont_load_draft' => 'dont_load_draft',
+ 'draft_action_dispatcher' => 'draft_action_dispatcher',
'edit' => 'edit',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
- 'form_row' => 'form_row',
+ 'format_dates' => 'format_dates',
'generate_report' => 'generate_report',
- 'gl_subtotal' => 'gl_subtotal',
'gl_transaction' => 'gl_transaction',
- 'name_selected' => 'name_selected',
+ 'load_draft' => 'load_draft',
+ 'load_draft_maybe' => 'load_draft_maybe',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
'post' => 'post',
'post_as_new' => 'post_as_new',
- 'project_selected' => 'project_selected',
+ 'post_transaction' => 'post_transaction',
+ 'prepare_transaction' => 'prepare_transaction',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'remove_draft' => 'remove_draft',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
'search' => 'search',
- 'select_name' => 'select_name',
- 'select_project' => 'select_project',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'storno' => 'storno',
'update' => 'update',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
'purchase_transaction' => 'ap_transaction',
'sales_transaction' => 'ar_transaction',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
'gl_transaction' => 'gl_transaction',
+ 'new_part' => 'new_part',
'post' => 'post',
- 'post_as_new' => 'post_as_new',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
+ 'skip' => 'skip',
+ 'storno' => 'storno',
'update' => 'update',
'vendor_invoice' => 'vendor_invoice',
'yes' => 'yes',
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'do_query' => 'do_query',
+ 'do_update' => 'do_update',
+ 'mydberror' => 'mydberror',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ ' Part Number missing!' => ' Part Number missing!',
+ '#1 prices were updated.' => '#1 prices were updated.',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
'Active' => 'Active',
- 'Add' => 'Add',
+ 'Add ' => 'Add ',
'Add Assembly' => 'Add Assembly',
'Add Part' => 'Add Part',
'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
'Add Sales Order' => 'Add Sales Order',
'Add Service' => 'Add Service',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Apr' => 'Apr',
'April' => 'April',
'Assemblies' => 'Assemblies',
- 'Assemblies restocked!' => 'Assemblies restocked!',
'Assembly Number missing!' => 'Assembly Number missing!',
'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'BOM' => 'BOM',
'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
'Bought' => 'Bought',
- 'COGS' => 'COGS',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
'Cannot delete item!' => 'Cannot delete item!',
- 'Cannot stock assemblies!' => 'Cannot stock assemblies!',
'Cc' => 'Cc',
- 'Closed' => 'Closed',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Company Name' => 'Company Name',
+ 'Confirmation' => 'Confirmation',
'Contact' => 'Contact',
'Continue' => 'Continue',
- 'Copies' => 'Copies',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Could not update prices!' => 'Could not update prices!',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
'Dec' => 'Dec',
'December' => 'December',
- 'Delete' => 'Delete',
+ 'Delivered' => 'Delivered',
'Delivery Date' => 'Delivery Date',
- 'Description' => 'Description',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description must not be empty!' => 'Description must not be empty!',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
'Drawing' => 'Drawing',
+ 'Dunning' => 'Dunning',
'E-mail' => 'E-mail',
'E-mail address missing!' => 'E-mail address missing!',
+ 'EAN' => 'EAN',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit ' => 'Edit ',
'Edit Assembly' => 'Edit Assembly',
'Edit Part' => 'Edit Part',
'Edit Service' => 'Edit Service',
- 'Expense' => 'Expense',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Ertrag' => 'Ertrag',
'Extended' => 'Extended',
'Fax' => 'Fax',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
'Group' => 'Group',
- 'Group Items' => 'Group Items',
+ 'History' => 'History',
+ 'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => 'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.',
'Image' => 'Image',
'In-line' => 'In-line',
- 'Include in Report' => 'Include in Report',
- 'Income' => 'Revenue',
- 'Individual Items' => 'Individual Items',
- 'Inventory' => 'Inventory',
'Inventory quantity must be zero before you can set this assembly obsolete!' => 'Inventory quantity must be zero before you can set this assembly obsolete!',
'Inventory quantity must be zero before you can set this part obsolete!' => 'Inventory quantity must be zero before you can set this part obsolete!',
'Invoice' => 'Invoice',
'Invoice Number' => 'Invoice Number',
'Invoice Number missing!' => 'Invoice Number missing!',
'Item deleted!' => 'Item deleted!',
- 'Item not on file!' => 'Item not on file!',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'Language Values' => 'Language Values',
'Last Cost' => 'Last Cost',
- 'Line Total' => 'Line Total',
- 'Link Accounts' => 'Link Accounts',
+ 'License' => 'License',
'List Price' => 'List Price',
+ 'Long Description' => 'Long Description',
+ 'MAILED' => 'MAILED',
'Make' => 'Make',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
'Message' => 'Message',
'Microfiche' => 'Microfiche',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
'Model' => 'Model',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No prices will be updated because no prices have been entered.' => 'No prices will be updated because no prices have been entered.',
+ 'No valid number entered for pricegroup "#1".' => 'No valid number entered for pricegroup "#1".',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'No.' => 'No.',
- 'Notes' => 'Notes',
'Nov' => 'Nov',
'November' => 'November',
'Number' => 'Number',
'October' => 'October',
'On Hand' => 'On Hand',
'On Order' => 'On Order',
- 'Order' => 'Order',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Options' => 'Options',
'Order Date missing!' => 'Order Date missing!',
'Order Number' => 'Order Number',
'Order Number missing!' => 'Order Number missing!',
'Ordered' => 'Ordered',
'Orphaned' => 'Orphaned',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
'Packing List' => 'Packing List',
'Packing List Date missing!' => 'Packing List Date missing!',
'Packing List Number missing!' => 'Packing List Number missing!',
- 'Part' => 'Part',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Description' => 'Part Description',
+ 'Part Description missing!' => 'Part Description missing!',
+ 'Part Number' => 'Part Number',
'Part Number missing!' => 'Part Number missing!',
+ 'Part description' => 'Part description',
+ 'Partnumber must not be set to empty!' => 'Partnumber must not be set to empty!',
+ 'Partnumber not unique!' => 'Partnumber not unique!',
'Parts' => 'Parts',
+ 'Parts must have an entry type.' => 'Parts must have an entry type.',
'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
'Purchase Order' => 'Purchase Order',
+ 'Purchase Prices' => 'Purchase Prices',
'Qty' => 'Qty',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'Quoted' => 'Quoted',
+ 'RFQ' => 'RFQ',
'ROP' => 'ROP',
- 'Recd' => 'Recd',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
'Required by' => 'Required by',
- 'Sales' => 'Sales',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sale Prices' => 'Sale Prices',
+ 'Sales Invoice' => 'Sales Invoice',
'Sales Order' => 'Sales Order',
- 'Save' => 'Save',
- 'Save as new' => 'Save as new',
+ 'Sales quotation' => 'Sales quotation',
'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the items below' => 'Select from one of the items below',
'Select postscript or PDF!' => 'Select postscript or PDF!',
'Sell Price' => 'Sell Price',
'Sep' => 'Sep',
'September' => 'September',
- 'Service' => 'Service',
+ 'Serial No.' => 'Serial No.',
+ 'Serial Number' => 'Serial Number',
'Service Number missing!' => 'Service Number missing!',
'Services' => 'Services',
'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
'Ship to' => 'Ship to',
+ 'Shipping Address' => 'Shipping Address',
'Short' => 'Short',
+ 'Show details' => 'Show details',
'Sold' => 'Sold',
- 'Stock' => 'Stock',
- 'Stock Assembly' => 'Stock Assembly',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
- 'Tax' => 'Tax',
+ 'TOP100' => 'TOP100',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
'To' => 'To',
- 'Top Level' => 'Top Level',
- 'Total' => 'Total',
+ 'To (email)' => 'To (email)',
+ 'To (time)' => 'To (time)',
+ 'Top 100' => 'Top 100',
+ 'Top 100 hinzufuegen' => 'Top 100 hinzufuegen',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
'Unit' => 'Unit',
'Unit of measure' => 'Unit of measure',
- 'Update' => 'Update',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Updated' => 'Updated',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Weight' => 'Weight',
- 'What type of item is this?' => 'What type of item is this?',
+ 'Yes' => 'Yes',
+ 'You cannot adjust the price for pricegroup "#1" by a negative percentage.' => 'You cannot adjust the price for pricegroup "#1" by a negative percentage.',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'assembly_list' => 'assembly_list',
+ 'bin_list' => 'bin_list',
+ 'choice' => 'choice',
+ 'choice part' => 'choice part',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'deliverydate' => 'deliverydate',
'ea' => 'ea',
'emailed to' => 'emailed to',
- 'hr' => 'hr',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'number' => 'number',
+ 'packing_list' => 'packing_list',
+ 'part_list' => 'part_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'sent' => 'sent',
'sent to printer' => 'sent to printer',
- 'to' => 'to',
- 'soldtotal' => 'Soldtotal',
- 'number' => 'Nr',
- 'top100' => 'TOP 100',
- 'addtop100' => 'addtop100',
- 'choice' => 'choice',
- 'list' => 'list',
+ 'service_list' => 'service_list',
+ 'soldtotal' => 'soldtotal',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
'add' => 'add',
+ 'addtop100' => 'addtop100',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
'assembly_row' => 'assembly_row',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_form' => 'check_form',
+ 'confirm_price_update' => 'confirm_price_update',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
'customer_details' => 'customer_details',
'delete' => 'delete',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
'display_row' => 'display_row',
- 'e_mail' => 'e_mail',
'edit' => 'edit',
+ 'edit_e_mail' => 'edit_e_mail',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
'generate_report' => 'generate_report',
+ 'gl_transaction' => 'gl_transaction',
'invoicetotal' => 'invoicetotal',
'item_selected' => 'item_selected',
'link_part' => 'link_part',
- 'list_assemblies' => 'list_assemblies',
'makemodel_row' => 'makemodel_row',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'new_item' => 'new_item',
+ 'new_license' => 'new_license',
'order' => 'order',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'parts_language_selection' => 'parts_language_selection',
'parts_subtotal' => 'parts_subtotal',
'post_as_new' => 'post_as_new',
+ 'price_row' => 'price_row',
'print' => 'print',
'print_form' => 'print_form',
'print_options' => 'print_options',
- 'restock_assemblies' => 'restock_assemblies',
+ 'quotation' => 'quotation',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'save' => 'save',
'save_as_new' => 'save_as_new',
'search' => 'search',
+ 'search_update_prices' => 'search_update_prices',
'select_item' => 'select_item',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
- 'stock_assembly' => 'stock_assembly',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'top100' => 'top100',
'update' => 'update',
+ 'update_prices' => 'update_prices',
'validate_items' => 'validate_items',
'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'add' => 'add',
'add_assembly' => 'add_assembly',
'add_part' => 'add_part',
'add_service' => 'add_service',
+ 'assembly_number_missing!' => 'assembly_number_missing!',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
'edit_assembly' => 'edit_assembly',
'edit_part' => 'edit_part',
'edit_service' => 'edit_service',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'inventory_quantity_must_be_zero_before_you_can_set_this_assembly_obsolete!' => 'inventory_quantity_must_be_zero_before_you_can_set_this_assembly_obsolete!',
+ 'inventory_quantity_must_be_zero_before_you_can_set_this_part_obsolete!' => 'inventory_quantity_must_be_zero_before_you_can_set_this_part_obsolete!',
+ 'new_part' => 'new_part',
+ 'part_number_missing!' => 'part_number_missing!',
+ 'parts' => 'parts',
'save' => 'save',
'save_as_new' => 'save_as_new',
- 'update' => 'update',
- 'soldtotal' => 'soldtotal',
+ 'service_number_missing!' => 'service_number_missing!',
+ 'services' => 'services',
'top100' => 'top100',
- 'addtop100' => 'addtop100',
+ 'update' => 'update',
'choice' => 'choice',
+ 'ea' => 'ea',
'list' => 'list',
};
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'At least one Perl module that Lx-Office ERP requires for running is not installed on your system.' => 'At least one Perl module that Lx-Office ERP requires for running is not installed on your system.',
+ 'Bcc' => 'Bcc',
+ 'Cc' => 'Cc',
+ 'Date' => 'Date',
+ 'Directory' => 'Directory',
+ 'File' => 'File',
+ 'Here\'s an example command line:' => 'Here\'s an example command line:',
+ 'Message' => 'Message',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'Module home page' => 'Module home page',
+ 'Module name' => 'Module name',
+ 'One or more Perl modules missing' => 'One or more Perl modules missing',
+ 'Please install the below listed modules or ask your system administrator to.' => 'Please install the below listed modules or ask your system administrator to.',
+ 'Subject' => 'Subject',
+ 'The preferred one is to install packages provided by your operating system distribution (e.g. Debian or RPM packages).' => 'The preferred one is to install packages provided by your operating system distribution (e.g. Debian or RPM packages).',
+ 'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => 'The second way is to use Perl\'s CPAN module and let it download and install the module for you.',
+ 'The third way is to download the module from the above mentioned URL and to install the module manually following the installations instructions contained in the source archive.' => 'The third way is to download the module from the above mentioned URL and to install the module manually following the installations instructions contained in the source archive.',
+ 'There are usually three ways to install Perl modules.' => 'There are usually three ways to install Perl modules.',
+ 'To (email)' => 'To (email)',
+ 'You cannot continue before all required modules are installed.' => 'You cannot continue before all required modules are installed.',
+ '[email]' => '[email]',
+};
+
+$self->{subs} = {
+ 'verify_installation' => 'verify_installation',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
'Add Sales Order' => 'Add Sales Order',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Apr' => 'Apr',
'April' => 'April',
'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Company Name' => 'Company Name',
+ 'Confirmation' => 'Confirmation',
'Contact' => 'Contact',
'Continue' => 'Continue',
- 'Copies' => 'Copies',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
'Dec' => 'Dec',
'December' => 'December',
+ 'Delivered' => 'Delivered',
'Delivery Date' => 'Delivery Date',
- 'Description' => 'Description',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Dunning' => 'Dunning',
'E-mail' => 'E-mail',
'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Ertrag' => 'Ertrag',
'Extended' => 'Extended',
'Fax' => 'Fax',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
'Group' => 'Group',
- 'Group Items' => 'Group Items',
+ 'History' => 'History',
'In-line' => 'In-line',
'Invoice' => 'Invoice',
'Invoice Date missing!' => 'Invoice Date missing!',
'Invoice Number missing!' => 'Invoice Number missing!',
- 'Item not on file!' => 'Item not on file!',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'No.' => 'No.',
'Nov' => 'Nov',
'November' => 'November',
'Number missing in Row' => 'Number missing in Row',
'Oct' => 'Oct',
'October' => 'October',
- 'Order' => 'Order',
+ 'On Hand' => 'On Hand',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
'Order Date missing!' => 'Order Date missing!',
'Order Number missing!' => 'Order Number missing!',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
'Packing List' => 'Packing List',
'Packing List Date missing!' => 'Packing List Date missing!',
'Packing List Number missing!' => 'Packing List Number missing!',
- 'Part' => 'Part',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
'Purchase Order' => 'Purchase Order',
'Qty' => 'Qty',
- 'Recd' => 'Recd',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'RFQ' => 'RFQ',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the items below' => 'Select from one of the items below',
'Select postscript or PDF!' => 'Select postscript or PDF!',
'Sep' => 'Sep',
'September' => 'September',
- 'Service' => 'Service',
+ 'Serial No.' => 'Serial No.',
'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
'Ship to' => 'Ship to',
+ 'Shipping Address' => 'Shipping Address',
+ 'Show details' => 'Show details',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
'Subject' => 'Subject',
- 'To' => 'To',
+ 'Subtotal' => 'Subtotal',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
'Unit' => 'Unit',
- 'What type of item is this?' => 'What type of item is this?',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
'emailed to' => 'emailed to',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'sent' => 'sent',
'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_form' => 'check_form',
+ 'cov_selection_internal' => 'cov_selection_internal',
'customer_details' => 'customer_details',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
'display_row' => 'display_row',
- 'e_mail' => 'e_mail',
+ 'edit_e_mail' => 'edit_e_mail',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
'invoicetotal' => 'invoicetotal',
'item_selected' => 'item_selected',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'new_item' => 'new_item',
+ 'new_license' => 'new_license',
'order' => 'order',
+ 'part_selection_internal' => 'part_selection_internal',
'post_as_new' => 'post_as_new',
'print' => 'print',
'print_form' => 'print_form',
'print_options' => 'print_options',
+ 'quotation' => 'quotation',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'select_item' => 'select_item',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
'validate_items' => 'validate_items',
'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
'continue' => 'continue',
+ 'new_part' => 'new_part',
};
1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
'Account' => 'Account',
'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
'Add Sales Order' => 'Add Sales Order',
'Add Vendor Invoice' => 'Add Vendor Invoice',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
'Apr' => 'Apr',
'April' => 'April',
'Are you sure you want to delete Invoice Number' => 'Are you sure you want to delete Invoice Number',
'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
'Cannot delete invoice!' => 'Cannot delete invoice!',
'Cannot post invoice for a closed period!' => 'Cannot post invoice for a closed period!',
'Cannot post invoice!' => 'Cannot post invoice!',
'Cannot post payment for a closed period!' => 'Cannot post payment for a closed period!',
+ 'Cannot post payment!' => 'Cannot post payment!',
+ 'Cannot storno storno invoice!' => 'Cannot storno storno invoice!',
'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Company Name' => 'Company Name',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
'Contact' => 'Contact',
+ 'Contact Person' => 'Contact Person',
'Continue' => 'Continue',
- 'Copies' => 'Copies',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Limit' => 'Credit Limit',
+ 'Credit Note' => 'Credit Note',
'Currency' => 'Currency',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Dec' => 'Dec',
'December' => 'December',
'Delete' => 'Delete',
+ 'Delete drafts' => 'Delete drafts',
+ 'Delivered' => 'Delivered',
'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Details (one letter abbreviation)' => 'Details (one letter abbreviation)',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Draft saved.' => 'Draft saved.',
'Due Date' => 'Due Date',
+ 'Dunning' => 'Dunning',
'E-mail' => 'E-mail',
'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
'Edit Vendor Invoice' => 'Edit Vendor Invoice',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Ertrag' => 'Ertrag',
'Exch' => 'Exch',
'Exchangerate' => 'Exchangerate',
'Exchangerate for payment missing!' => 'Exchangerate for payment missing!',
'Exchangerate missing!' => 'Exchangerate missing!',
'Extended' => 'Extended',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Fax' => 'Fax',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up' => 'Follow-Up',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
'Group' => 'Group',
- 'Group Items' => 'Group Items',
+ 'History' => 'History',
'In-line' => 'In-line',
+ 'Internal Notes' => 'Internal Notes',
+ 'Invnumber missing!' => 'Invnumber missing!',
'Invoice' => 'Invoice',
'Invoice Date' => 'Invoice Date',
'Invoice Date missing!' => 'Invoice Date missing!',
'Invoice Number' => 'Invoice Number',
'Invoice Number missing!' => 'Invoice Number missing!',
'Invoice deleted!' => 'Invoice deleted!',
- 'Invoice posted!' => 'Invoice posted!',
- 'Item not on file!' => 'Item not on file!',
+ 'Invoice has already been storno\'d!' => 'Invoice has already been storno\'d!',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing amount' => 'Missing amount',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'No.' => 'No.',
'Notes' => 'Notes',
'Nov' => 'Nov',
'Number missing in Row' => 'Number missing in Row',
'Oct' => 'Oct',
'October' => 'October',
- 'Order' => 'Order',
+ 'On Hand' => 'On Hand',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Order Date' => 'Order Date',
'Order Date missing!' => 'Order Date missing!',
'Order Number' => 'Order Number',
'Order Number missing!' => 'Order Number missing!',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
'Packing List' => 'Packing List',
'Packing List Date missing!' => 'Packing List Date missing!',
'Packing List Number missing!' => 'Packing List Number missing!',
- 'Part' => 'Part',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Payment date missing!' => 'Payment date missing!',
+ 'Payment posted!' => 'Payment posted!',
'Payments' => 'Payments',
'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Post' => 'Post',
- 'Post as new' => 'Post as new',
+ 'Post Payment' => 'Post Payment',
'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
+ 'Project Number' => 'Project Number',
'Project not on file!' => 'Project not on file!',
'Purchase Order' => 'Purchase Order',
'Qty' => 'Qty',
- 'Recd' => 'Recd',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date' => 'Quotation Date',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'RFQ' => 'RFQ',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Rechnungsnummer' => 'Rechnungsnummer',
'Record in' => 'Record in',
+ 'Release From Stock' => 'Release From Stock',
+ 'Remaining' => 'Remaining',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Save draft' => 'Save draft',
'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the items below' => 'Select from one of the items below',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
'Select postscript or PDF!' => 'Select postscript or PDF!',
'Sep' => 'Sep',
'September' => 'September',
- 'Service' => 'Service',
+ 'Serial No.' => 'Serial No.',
'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
'Ship to' => 'Ship to',
+ 'Shipping Address' => 'Shipping Address',
+ 'Show details' => 'Show details',
+ 'Skip' => 'Skip',
'Source' => 'Source',
+ 'Steuersatz' => 'Steuersatz',
+ 'Storno' => 'Storno',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
'Tax Included' => 'Tax Included',
- 'To' => 'To',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
+ 'To (email)' => 'To (email)',
'Total' => 'Total',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update' => 'Update',
+ 'Use As Template' => 'Use As Template',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
'Vendor missing!' => 'Vendor missing!',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
- 'What type of item is this?' => 'What type of item is this?',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Yes' => 'Yes',
- 'ea' => 'ea',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
'emailed to' => 'emailed to',
+ 'history' => 'history',
+ 'invoice' => 'invoice',
+ 'mark as paid' => 'mark as paid',
+ 'no' => 'no',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'posted!' => 'posted!',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'sent' => 'sent',
'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
'add' => 'add',
- 'add_transaction' => 'add_transaction',
'ap_transaction' => 'ap_transaction',
'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_form' => 'check_form',
'check_name' => 'check_name',
'check_project' => 'check_project',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
'customer_details' => 'customer_details',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
'display_row' => 'display_row',
- 'e_mail' => 'e_mail',
+ 'dont_load_draft' => 'dont_load_draft',
+ 'draft_action_dispatcher' => 'draft_action_dispatcher',
'edit' => 'edit',
+ 'edit_e_mail' => 'edit_e_mail',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
'gl_transaction' => 'gl_transaction',
'invoice_links' => 'invoice_links',
'invoicetotal' => 'invoicetotal',
'item_selected' => 'item_selected',
+ 'load_draft' => 'load_draft',
+ 'load_draft_maybe' => 'load_draft_maybe',
+ 'mark_as_paid' => 'mark_as_paid',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'name_selected' => 'name_selected',
'new_item' => 'new_item',
+ 'new_license' => 'new_license',
'order' => 'order',
+ 'part_selection_internal' => 'part_selection_internal',
'post' => 'post',
'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
'prepare_invoice' => 'prepare_invoice',
'print' => 'print',
'print_form' => 'print_form',
'print_options' => 'print_options',
'project_selected' => 'project_selected',
+ 'quotation' => 'quotation',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'remove_draft' => 'remove_draft',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
'select_item' => 'select_item',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_duedate_vendor' => 'set_duedate_vendor',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'validate_items' => 'validate_items',
'vendor_details' => 'vendor_details',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
- 'order' => 'order',
+ 'delete_drafts' => 'delete_drafts',
+ 'new_part' => 'new_part',
'post' => 'post',
- 'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
+ 'save_draft' => 'save_draft',
+ 'skip' => 'skip',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'yes' => 'yes',
+ 'mark_as_paid' => 'mark_as_paid',
};
1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
'Account' => 'Account',
+ 'Add Credit Note' => 'Add Credit Note',
'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
'Add Sales Invoice' => 'Add Sales Invoice',
'Add Sales Order' => 'Add Sales Order',
+ 'Add Storno Credit Note' => 'Add Storno Credit Note',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
'Apr' => 'Apr',
'April' => 'April',
'Are you sure you want to delete Invoice Number' => 'Are you sure you want to delete Invoice Number',
'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
'Cannot delete invoice!' => 'Cannot delete invoice!',
'Cannot post invoice for a closed period!' => 'Cannot post invoice for a closed period!',
'Cannot post invoice!' => 'Cannot post invoice!',
'Cannot post payment for a closed period!' => 'Cannot post payment for a closed period!',
+ 'Cannot post payment!' => 'Cannot post payment!',
+ 'Cannot storno storno invoice!' => 'Cannot storno storno invoice!',
'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Choose Customer' => 'Choose Customer',
+ 'Choose Vendor' => 'Choose Vendor',
+ 'City' => 'City',
+ 'Company Name' => 'Company Name',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
'Contact' => 'Contact',
+ 'Contact Person' => 'Contact Person',
'Continue' => 'Continue',
- 'Copies' => 'Copies',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
'Credit Limit' => 'Credit Limit',
+ 'Credit Limit exceeded!!!' => 'Credit Limit exceeded!!!',
+ 'Credit Note' => 'Credit Note',
+ 'Credit Note Date' => 'Credit Note Date',
+ 'Credit Note Number' => 'Credit Note Number',
'Currency' => 'Currency',
'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer Order Number' => 'Customer Order Number',
+ 'Customer details' => 'Customer details',
'Customer missing!' => 'Customer missing!',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'Customer type' => 'Customer type',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Dec' => 'Dec',
'December' => 'December',
'Delete' => 'Delete',
+ 'Delete drafts' => 'Delete drafts',
+ 'Delivered' => 'Delivered',
'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Delivery Order Number' => 'Delivery Order Number',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Details (one letter abbreviation)' => 'Details (one letter abbreviation)',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Draft saved.' => 'Draft saved.',
'Due Date' => 'Due Date',
+ 'Dunning' => 'Dunning',
+ 'Dunning Amount' => 'Dunning Amount',
'E-mail' => 'E-mail',
'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit Credit Note' => 'Edit Credit Note',
'Edit Sales Invoice' => 'Edit Sales Invoice',
+ 'Edit Storno Credit Note' => 'Edit Storno Credit Note',
+ 'Edit Storno Invoice' => 'Edit Storno Invoice',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Ertrag' => 'Ertrag',
+ 'Ertrag prozentual' => 'Ertrag prozentual',
'Exch' => 'Exch',
'Exchangerate' => 'Exchangerate',
'Exchangerate for payment missing!' => 'Exchangerate for payment missing!',
'Exchangerate missing!' => 'Exchangerate missing!',
'Extended' => 'Extended',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Fax' => 'Fax',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up' => 'Follow-Up',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
'Group' => 'Group',
- 'Group Items' => 'Group Items',
+ 'History' => 'History',
'In-line' => 'In-line',
+ 'Incoming Payments' => 'Incoming Payments',
+ 'Internal Notes' => 'Internal Notes',
'Invoice' => 'Invoice',
'Invoice Date' => 'Invoice Date',
'Invoice Date missing!' => 'Invoice Date missing!',
'Invoice Number' => 'Invoice Number',
'Invoice Number missing!' => 'Invoice Number missing!',
'Invoice deleted!' => 'Invoice deleted!',
- 'Invoice posted!' => 'Invoice posted!',
- 'Item not on file!' => 'Item not on file!',
+ 'Invoice has already been storno\'d!' => 'Invoice has already been storno\'d!',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'Max. Dunning Level' => 'Max. Dunning Level',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing amount' => 'Missing amount',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'No.' => 'No.',
'Notes' => 'Notes',
'Nov' => 'Nov',
'Number missing in Row' => 'Number missing in Row',
'Oct' => 'Oct',
'October' => 'October',
+ 'On Hand' => 'On Hand',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
'Order' => 'Order',
+ 'Order Date' => 'Order Date',
'Order Date missing!' => 'Order Date missing!',
'Order Number' => 'Order Number',
'Order Number missing!' => 'Order Number missing!',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
'Packing List' => 'Packing List',
'Packing List Date missing!' => 'Packing List Date missing!',
'Packing List Number missing!' => 'Packing List Number missing!',
- 'Part' => 'Part',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Payment Terms' => 'Payment Terms',
'Payment date missing!' => 'Payment date missing!',
+ 'Payment posted!' => 'Payment posted!',
'Payments' => 'Payments',
'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Post' => 'Post',
- 'Post as new' => 'Post as new',
+ 'Post Payment' => 'Post Payment',
'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
'Print' => 'Print',
+ 'Print and Post' => 'Print and Post',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
+ 'Project Number' => 'Project Number',
'Project not on file!' => 'Project not on file!',
'Purchase Order' => 'Purchase Order',
'Qty' => 'Qty',
- 'Recd' => 'Recd',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date' => 'Quotation Date',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number' => 'Quotation Number',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'RFQ' => 'RFQ',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Record in' => 'Record in',
+ 'Release From Stock' => 'Release From Stock',
'Remaining' => 'Remaining',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request quotation' => 'Request quotation',
'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
'Sales Order' => 'Sales Order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Salesman' => 'Salesman',
+ 'Save draft' => 'Save draft',
'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the items below' => 'Select from one of the items below',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
'Select postscript or PDF!' => 'Select postscript or PDF!',
'Sep' => 'Sep',
'September' => 'September',
- 'Service' => 'Service',
+ 'Serial No.' => 'Serial No.',
'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
'Ship to' => 'Ship to',
'Ship via' => 'Ship via',
+ 'Shipping Address' => 'Shipping Address',
+ 'Shipping Point' => 'Shipping Point',
+ 'Show details' => 'Show details',
+ 'Skip' => 'Skip',
'Source' => 'Source',
+ 'Steuersatz' => 'Steuersatz',
+ 'Storno' => 'Storno',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
'Tax Included' => 'Tax Included',
- 'To' => 'To',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => 'There are #1 unfinished follow-ups of which #2 are due.',
+ 'To (email)' => 'To (email)',
'Total' => 'Total',
+ 'Trade Discount' => 'Trade Discount',
+ 'Transaction description' => 'Transaction description',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
'Update' => 'Update',
+ 'Use As Template' => 'Use As Template',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
- 'What type of item is this?' => 'What type of item is this?',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
'Yes' => 'Yes',
- 'ea' => 'ea',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
'emailed to' => 'emailed to',
+ 'history' => 'history',
+ 'invoice' => 'invoice',
+ 'mark as paid' => 'mark as paid',
+ 'no' => 'no',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'posted!' => 'posted!',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'sent' => 'sent',
'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
'add' => 'add',
- 'add_transaction' => 'add_transaction',
'ap_transaction' => 'ap_transaction',
'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'check_form' => 'check_form',
'check_name' => 'check_name',
'check_project' => 'check_project',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'credit_note' => 'credit_note',
'customer_details' => 'customer_details',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
'display_row' => 'display_row',
+ 'dont_load_draft' => 'dont_load_draft',
+ 'draft_action_dispatcher' => 'draft_action_dispatcher',
'e_mail' => 'e_mail',
'edit' => 'edit',
+ 'edit_e_mail' => 'edit_e_mail',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
'gl_transaction' => 'gl_transaction',
'invoice_links' => 'invoice_links',
'invoicetotal' => 'invoicetotal',
'item_selected' => 'item_selected',
+ 'load_draft' => 'load_draft',
+ 'load_draft_maybe' => 'load_draft_maybe',
+ 'mark_as_paid' => 'mark_as_paid',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
'name_selected' => 'name_selected',
'new_item' => 'new_item',
+ 'new_license' => 'new_license',
'order' => 'order',
+ 'part_selection_internal' => 'part_selection_internal',
'post' => 'post',
'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
'prepare_invoice' => 'prepare_invoice',
+ 'preview' => 'preview',
'print' => 'print',
+ 'print_and_post' => 'print_and_post',
'print_form' => 'print_form',
'print_options' => 'print_options',
'project_selected' => 'project_selected',
+ 'quotation' => 'quotation',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'remove_draft' => 'remove_draft',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
+ 'save_draft' => 'save_draft',
'select_item' => 'select_item',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'validate_items' => 'validate_items',
'vendor_details' => 'vendor_details',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
+ 'close' => 'close',
'continue' => 'continue',
+ 'credit_note' => 'credit_note',
'delete' => 'delete',
+ 'delete_drafts' => 'delete_drafts',
'e_mail' => 'e_mail',
+ 'new_part' => 'new_part',
'order' => 'order',
'post' => 'post',
- 'post_as_new' => 'post_as_new',
+ 'post_payment' => 'post_payment',
+ 'preview' => 'preview',
'print' => 'print',
+ 'print_and_post' => 'print_and_post',
+ 'save_draft' => 'save_draft',
'ship_to' => 'ship_to',
+ 'skip' => 'skip',
+ 'storno' => 'storno',
'update' => 'update',
+ 'use_as_template' => 'use_as_template',
'yes' => 'yes',
+ 'mark_as_paid' => 'mark_as_paid',
};
1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Logout' => 'Logout',
+ 'drucken' => 'drucken',
+};
+
+$self->{subs} = {
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Add' => 'Add',
+ 'Add License' => 'Add License',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All' => 'All',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Comment' => 'Comment',
+ 'Company Name' => 'Company Name',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Continue' => 'Continue',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer missing!' => 'Customer missing!',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Expired licenses' => 'Expired licenses',
+ 'Expiring in x month(s)' => 'Expiring in x month(s)',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Include in Report' => 'Include in Report',
+ 'Invoice' => 'Invoice',
+ 'Invoice Number' => 'Invoice Number',
+ 'License key' => 'License key',
+ 'Licenses' => 'Licenses',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No licenses were found that match the search criteria.' => 'No licenses were found that match the search criteria.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Others' => 'Others',
+ 'Own Product' => 'Own Product',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter a license key.' => 'Please enter a license key.',
+ 'Please enter a number of licenses.' => 'Please enter a number of licenses.',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quantity' => 'Quantity',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Save' => 'Save',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select from one of the items below' => 'Select from one of the items below',
+ 'Select from one of the names below' => 'Select from one of the names below',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The licensing module has been deactivated in lx-erp.conf.' => 'The licensing module has been deactivated in lx-erp.conf.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Update' => 'Update',
+ 'Valid until' => 'Valid until',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View License' => 'View License',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'details' => 'details',
+ 'do_add' => 'do_add',
+ 'do_search' => 'do_search',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'print_customer_selection' => 'print_customer_selection',
+ 'print_license_form' => 'print_license_form',
+ 'print_part_selection' => 'print_part_selection',
+ 'quot' => 'quot',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'search' => 'search',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_std_hidden' => 'set_std_hidden',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'update' => 'update',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'add' => 'add',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'new_part' => 'new_part',
+ 'save' => 'save',
+ 'update' => 'update',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+# -n do not include custom_ scripts
+# -v verbose mode, shows progress stuff
+
+# this version of locles processes not only all required .pl files
+# but also all parse_html_templated files.
+
+use Data::Dumper;
+use FileHandle;
+use Getopt::Long;
+use List::Util qw(first);
+use POSIX;
+use Pod::Usage;
+
+$| = 1;
+
+$basedir = "../..";
+$bindir = "$basedir/bin/mozilla";
+$dbupdir = "$basedir/sql/Pg-upgrade";
+$dbupdir2 = "$basedir/sql/Pg-upgrade2";
+$menufile = "menu.ini";
+$submitsearch = qr/type\s*=\s*[\"\']?submit/i;
+
+%referenced_html_files = ();
+
+my $opt_v = 0;
+my $opt_n = 0;
+my $opt_c = 0;
+
+sub parse_args {
+ my ($help, $man);
+
+ GetOptions('no-custom-files' => \$opt_n,
+ 'check-files' => \$opt_c,
+ 'verbose' => \$opt_v,
+ 'help' => \$help,
+ 'man' => \$man,);
+
+ if ($help) {
+ pod2usage(1);
+ exit 0;
+ }
+
+ if ($man) {
+ pod2usage(-exitstatus => 0, -verbose => 2);
+ exit 0;
+ }
+}
+
+parse_args();
+
+opendir DIR, "$bindir" or die "$!";
+@progfiles = grep { /\.pl$/ && !/(_|^\.)/ } readdir DIR;
+seekdir DIR, 0;
+@customfiles = grep /_/, readdir DIR;
+closedir DIR;
+
+# put customized files into @customfiles
+
+if ($opt_n) {
+ @customfiles = ();
+ @menufiles = ($menufile);
+} else {
+ opendir DIR, "$basedir" or die "$!";
+ @menufiles = grep { /.*?_$menufile$/ } readdir DIR;
+ closedir DIR;
+ unshift @menufiles, $menufile;
+}
+
+opendir DIR, $dbupdir or die "$!";
+@dbplfiles = grep { /\.pl$/ } readdir DIR;
+closedir DIR;
+
+opendir DIR, $dbupdir2 or die "$!";
+@dbplfiles2 = grep { /\.pl$/ } readdir DIR;
+closedir DIR;
+
+# slurp the translations in
+if (-f 'all') {
+ require "all";
+}
+
+my %old_texts = %{ $self->{texts} };
+
+# Read HTML templates.
+#%htmllocale = ();
+#@htmltemplates = <../../templates/webpages/*/*_master.html>;
+#foreach $file (@htmltemplates) {
+# scanhtmlfile($file);
+#}
+
+map({ handle_file($_, $bindir); } @progfiles);
+map({ handle_file($_, $dbupdir); } @dbplfiles);
+map({ handle_file($_, $dbupdir2); } @dbplfiles2);
+
+sub handle_file {
+ my ($file, $dir) = @_;
+ print "\n$file" if $opt_v;
+ %locale = ();
+ %submit = ();
+ %subrt = ();
+
+ &scanfile("$dir/$file");
+
+ # scan custom_{module}.pl or {login}_{module}.pl files
+ foreach $customfile (@customfiles) {
+ if ($customfile =~ /_$file/) {
+ if (-f "$dir/$customfile") {
+ &scanfile("$dir/$customfile");
+ }
+ }
+ }
+
+ # if this is the menu.pl file
+ if ($file eq 'menu.pl') {
+ foreach $item (@menufiles) {
+ &scanmenu("$basedir/$item");
+ }
+ }
+
+ if ($file eq 'menunew.pl') {
+ foreach $item (@menufiles) {
+ &scanmenu("$basedir/$item");
+ print "." if $opt_v;
+ }
+ }
+
+ $file =~ s/\.pl//;
+
+ eval { require 'missing'; };
+ unlink 'missing';
+
+ foreach $text (keys %$missing) {
+ if ($locale{$text} || $htmllocale{$text}) {
+ unless ($self->{texts}{$text}) {
+ $self->{texts}{$text} = $missing->{$text};
+ }
+ }
+ }
+
+ open FH, ">$file" or die "$! : $file";
+
+ print FH q|#!/usr/bin/perl
+
+$self->{texts} = {
+|;
+
+ foreach $key (sort keys %locale) {
+ if ($self->{texts}{$key}) {
+ $text = $self->{texts}{$key};
+ } else {
+ $text = $key;
+ }
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+
+ $keytext = $key;
+ $keytext =~ s/'/\\'/g;
+ $keytext =~ s/\\$/\\\\/;
+
+ print FH qq| '$keytext'|
+ . (' ' x (27 - length($keytext)))
+ . qq| => '$text',\n|;
+ }
+
+ print FH q|};
+
+$self->{subs} = {
+|;
+
+ foreach $key (sort keys %subrt) {
+ $text = $key;
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+ print FH qq| '$text'| . (' ' x (27 - length($text))) . qq| => '$text',\n|;
+ }
+
+ foreach $key (sort keys %submit) {
+ $text = ($self->{texts}{$key}) ? $self->{texts}{$key} : $key;
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+
+ $english_sub = $key;
+ $english_sub =~ s/'/\\'/g;
+ $english_sub =~ s/\\$/\\\\/;
+ $english_sub = lc $key;
+
+ $translated_sub = lc $text;
+ $english_sub =~ s/( |-|,)/_/g;
+ $translated_sub =~ s/( |-|,)/_/g;
+ print FH qq| '$translated_sub'|
+ . (' ' x (27 - length($translated_sub)))
+ . qq| => '$english_sub',\n|;
+ }
+
+ print FH q|};
+
+1;
+|;
+
+ close FH;
+
+}
+
+#foreach $file (@htmltemplates) {
+# converthtmlfile($file);
+#}
+
+# now print out all
+
+open FH, ">all" or die "$! : all";
+
+print FH q|#!/usr/bin/perl
+
+# These are all the texts to build the translations files.
+# The file has the form of 'english text' => 'foreign text',
+# you can add the translation in this file or in the 'missing' file
+# run locales.pl from this directory to rebuild the translation files
+
+$self->{texts} = {
+|;
+
+foreach $key (sort keys %alllocales) {
+ $text = $self->{texts}{$key};
+
+ $count++;
+
+ $text =~ s/'/\\'/g;
+ $text =~ s/\\$/\\\\/;
+ $key =~ s/'/\\'/g;
+ $key =~ s/\\$/\\\\/;
+
+ unless ($text) {
+ $notext++;
+ push @missing, $key;
+ }
+
+ print FH qq| '$key'| . (' ' x (27 - length($key))) . qq| => '$text',\n|;
+
+}
+
+print FH q|};
+
+1;
+|;
+
+close FH;
+
+if (@missing) {
+ open FH, ">missing" or die "$! : missing";
+
+ print FH q|#!/usr/bin/perl
+
+# add the missing texts and run locales.pl to rebuild
+
+$missing = {
+|;
+
+ foreach $text (@missing) {
+ print FH qq| '$text'| . (' ' x (27 - length($text))) . qq| => '',\n|;
+ }
+
+ print FH q|};
+
+1;
+|;
+
+ close FH;
+
+}
+
+@lost = ();
+
+if (-f "lost") {
+ require "lost";
+ unlink "lost";
+}
+
+while (($text, $translation) = each %old_texts) {
+ next if ($alllocales{$text});
+
+ push @lost, { 'text' => $text, 'translation' => $translation };
+}
+
+if (scalar @lost) {
+ splice @lost, 0, (scalar @lost - 50) if (scalar @lost > 50);
+
+ open FH, ">lost";
+ print FH "#!/usr/bin/perl\n\n" .
+ "# The last 50 texts that have been removed.\n" .
+ "# This file will be auto-generated by locales.pl. Do not edit it.\n\n" .
+ "\@lost = (\n";
+
+ foreach $entry (@lost) {
+ $entry->{text} =~ s/\'/\\\'/g;
+ $entry->{translation} =~ s/\'/\\\'/g;
+ print FH " { 'text' => '$entry->{text}', 'translation' => '$entry->{translation}' },\n";
+ }
+
+ print FH ");\n\n1;\n";
+ close FH;
+}
+
+open(FH, "LANGUAGE");
+@language = <FH>;
+close(FH);
+$trlanguage = $language[0];
+chomp $trlanguage;
+
+if ($opt_c) {
+ search_unused_htmlfiles();
+ search_translated_htmlfiles_wo_master();
+}
+
+$per = sprintf("%.1f", ($count - $notext) / $count * 100);
+print "\n$trlanguage - ${per}%";
+print " - $notext/$count missing" if $notext;
+print "\n";
+
+exit;
+
+# eom
+
+sub extract_text_between_parenthesis {
+ my ($fh, $line) = @_;
+ my ($inside_string, $pos, $text, $quote_next) = (undef, 0, "", 0);
+
+ while (1) {
+ if (length($line) <= $pos) {
+ $line = <$fh>;
+ return ($text, "") unless ($line);
+ $pos = 0;
+ }
+
+ my $cur_char = substr($line, $pos, 1);
+
+ if (!$inside_string) {
+ if ((length($line) >= ($pos + 3)) && (substr($line, $pos, 2)) eq "qq") {
+ $inside_string = substr($line, $pos + 2, 1);
+ $pos += 2;
+
+ } elsif ((length($line) >= ($pos + 2)) &&
+ (substr($line, $pos, 1) eq "q")) {
+ $inside_string = substr($line, $pos + 1, 1);
+ $pos++;
+
+ } elsif (($cur_char eq '"') || ($cur_char eq '\'')) {
+ $inside_string = $cur_char;
+
+ } elsif (($cur_char eq ")") || ($cur_char eq ',')) {
+ return ($text, substr($line, $pos + 1));
+ }
+
+ } else {
+ if ($quote_next) {
+ $text .= $cur_char;
+ $quote_next = 0;
+
+ } elsif ($cur_char eq '\\') {
+ $text .= $cur_char;
+ $quote_next = 1;
+
+ } elsif ($cur_char eq $inside_string) {
+ undef($inside_string);
+
+ } else {
+ $text .= $cur_char;
+
+ }
+ }
+ $pos++;
+ }
+}
+
+sub scanfile {
+ my $file = shift;
+ my $dont_include_subs = shift;
+ my $scanned_files = shift;
+
+ # sanitize file
+ $file =~ s=/+=/=g;
+
+ $scanned_files = {} unless ($scanned_files);
+ return if ($scanned_files->{$file});
+ $scanned_files->{$file} = 1;
+
+ if (!defined $cached{$file}) {
+
+ return unless (-f "$file");
+
+ my $fh = new FileHandle;
+ open $fh, "$file" or die "$! : $file";
+
+ my ($is_submit, $line_no, $sub_line_no) = (0, 0, 0);
+
+ while (<$fh>) {
+ $line_no++;
+
+ # is this another file
+ if (/require\s+\W.*\.pl/) {
+ my $newfile = $&;
+ $newfile =~ s/require\s+\W//;
+ $newfile =~ s|bin/mozilla||;
+# &scanfile("$bindir/$newfile", 0, $scanned_files);
+ $cached{$file}{scan}{"$bindir/$newfile"} = 1;
+ } elsif (/use\s+SL::(.*?);/) {
+ my $module = $1;
+ $module =~ s|::|/|g;
+# &scanfile("../../SL/${1}.pm", 1, $scanned_files);
+ $cached{$file}{scannosubs}{"../../SL/${module}.pm"} = 1;
+ }
+
+ # is this a template call?
+ if (/parse_html_template2?\s*\(\s*[\"\']([\w\/]+)\s*[\"\']/) {
+ my $newfile = "$basedir/templates/webpages/$1_master.html";
+ if (/parse_html_template2/) {
+ print "E: " . strip_base($file) . " is still using 'parse_html_template2' for " . strip_base($newfile) . ".\n";
+ }
+ if (-f $newfile) {
+# &scanhtmlfile($newfile);
+# &converthtmlfile($newfile);
+ $cached{$file}{scanh}{$newfile} = 1;
+ print "." if $opt_v;
+ } elsif ($opt_c) {
+ print "W: missing HTML template: " . strip_base($newfile) . " (referenced from " . strip_base($file) . ")\n";
+ }
+ }
+
+ # is this a sub ?
+ if (/^sub /) {
+ next if ($dont_include_subs);
+ ($null, $subrt) = split / +/;
+# $subrt{$subrt} = 1;
+ $cached{$file}{subr}{$subrt} = 1;
+ next;
+ }
+
+ my $rc = 1;
+
+ while ($rc) {
+ if (/Locale/) {
+ unless (/^use /) {
+ my ($null, $country) = split /,/;
+ $country =~ s/^ +[\"\']//;
+ $country =~ s/[\"\'].*//;
+ }
+ }
+
+ my $postmatch = "";
+
+ # is it a submit button before $locale->
+ if (/$submitsearch/) {
+ $postmatch = "$'";
+ if ($` !~ /locale->text/) {
+ $is_submit = 1;
+ $sub_line_no = $line_no;
+ }
+ }
+
+ my ($found) = /locale->text.*?\(/;
+ my $postmatch = "$'";
+
+ if ($found) {
+ my $string;
+ ($string, $_) = extract_text_between_parenthesis($fh, $postmatch);
+ $postmatch = $_;
+
+ # if there is no $ in the string record it
+ unless (($string =~ /\$\D.*/) || ("" eq $string)) {
+
+ # this guarantees one instance of string
+# $locale{$string} = 1;
+ $cached{$file}{locale}{$string} = 1;
+
+ # this one is for all the locales
+# $alllocales{$string} = 1;
+ $cached{$file}{all}{$string} = 1;
+
+ # is it a submit button before $locale->
+ if ($is_submit) {
+# $submit{$string} = 1;
+ $cached{$file}{submit}{$string} = 1;
+ }
+ }
+ } elsif ($postmatch =~ />/) {
+ $is_submit = 0;
+ }
+
+ # exit loop if there are no more locales on this line
+ ($rc) = ($postmatch =~ /locale->text/);
+
+ if ( ($postmatch =~ />/)
+ || (!$found && ($sub_line_no != $line_no) && />/)) {
+ $is_submit = 0;
+ }
+ }
+ }
+
+ close($fh);
+
+ }
+
+ map { $alllocales{$_} = 1 } keys %{$cached{$file}{all}};
+ map { $locale{$_} = 1 } keys %{$cached{$file}{locale}};
+ map { $submit{$_} = 1 } keys %{$cached{$file}{submit}};
+ map { $subrt{$_} = 1 } keys %{$cached{$file}{subr}};
+ map { &scanfile($_, 0, $scanned_files) } keys %{$cached{$file}{scan}};
+ map { &scanfile($_, 1, $scanned_files) } keys %{$cached{$file}{scannosubs}};
+ map { &scanhtmlfile($_) } keys %{$cached{$file}{scanh}};
+
+ @referenced_html_files{keys %{$cached{$file}{scanh}}} = (1) x scalar keys %{$cached{$file}{scanh}};
+}
+
+sub scanmenu {
+ my $file = shift;
+
+ my $fh = new FileHandle;
+ open $fh, "$file" or die "$! : $file";
+
+ my @a = grep m/^\[/, <$fh>;
+ close($fh);
+
+ # strip []
+ grep { s/(\[|\])//g } @a;
+
+ foreach my $item (@a) {
+ @b = split /--/, $item;
+ foreach $string (@b) {
+ chomp $string;
+ $locale{$string} = 1;
+ $alllocales{$string} = 1;
+ }
+ }
+
+}
+
+sub scanhtmlfile {
+ local *IN;
+
+ if (!defined $cached{$_[0]}) {
+ my %plugins = ( 'loaded' => { }, 'needed' => { } );
+
+ open(IN, $_[0]) || die $_[0];
+
+ my $copying = 0;
+ my $issubmit = 0;
+ my $text = "";
+ while (my $line = <IN>) {
+ chomp($line);
+
+ while ($line =~ m/\[\%[^\w]*use[^\w]+(\w+)[^\w]*?\%\]/gi) {
+ $plugins{loaded}->{$1} = 1;
+ }
+
+ while ($line =~ m/\[\%[^\w]*(\w+)\.\w+\(/g) {
+ my $plugin = $1;
+ $plugins{needed}->{$plugin} = 1 if (first { $_ eq $plugin } qw(HTML LxERP JavaScript MultiColumnIterator));
+ }
+
+ while ("" ne $line) {
+ if (!$copying) {
+ if ($line =~ m|<translate>|i) {
+ my $eom = $+[0];
+ if ($` =~ /$submitsearch/) {
+ $issubmit = 1
+ }
+ substr($line, 0, $eom) = "";
+ $copying = 1;
+ } else {
+ $line = "";
+ }
+
+ } else {
+ if ($line =~ m|</translate>|i) {
+ $text .= $`;
+ substr($line, 0, $+[0]) = "";
+ $text =~ s/\s+/ /g;
+
+ $copying = 0;
+ if ($issubmit) {
+ # $submit{$text} = 1;
+ $cached{$_[0]}{submit}{$text} = 1;
+ $issubmit = 0;
+ }
+ # $alllocales{$text} = 1;
+ $cached{$_[0]}{all}{$text} = 1;
+ # $htmllocale{$text} = 1;
+ $cached{$_[0]}{html}{$text} = 1;
+ $text = "";
+
+ } else {
+ $text .= $line;
+ $line = "";
+ }
+ }
+ }
+ }
+
+ close(IN);
+
+ foreach my $plugin (keys %{ $plugins{needed} }) {
+ next if ($plugins{loaded}->{$plugin});
+ print "E: " . strip_base($_[0]) . " requires the Template plugin '$plugin', but is not loaded with '[\% USE $plugin \%]'.\n";
+ }
+
+ &converthtmlfile($_[0]);
+ }
+
+ # copy back into global arrays
+ map { $alllocales{$_} = 1 } keys %{$cached{$_[0]}{all}};
+ map { $htmllocales{$_} = 1 } keys %{$cached{$_[0]}{html}};
+ map { $submit{$_} = 1 } keys %{$cached{$_[0]}{submit}};
+}
+
+sub converthtmlfile {
+ local *IN;
+ local *OUT;
+
+ my $file = shift;
+
+ open(IN, $file) || die;
+
+ my $langcode = (split("/", getcwd()))[-1];
+ $file =~ s/_master.html$/_${langcode}.html/;
+
+ open(OUT, ">$file") || die;
+
+ my $copying = 0;
+ my $text = "";
+ while (my $line = <IN>) {
+ chomp($line);
+ if ("" eq $line) {
+ print(OUT "\n");
+ next;
+ }
+
+ while ("" ne $line) {
+ if (!$copying) {
+ if ($line =~ m|<translate>|i) {
+ print(OUT $`);
+ substr($line, 0, $+[0]) = "";
+ $copying = 1;
+ print(OUT "\n") if ("" eq $line);
+
+ } else {
+ print(OUT "${line}\n");
+ $line = "";
+ }
+
+ } else {
+ if ($line =~ m|</translate>|i) {
+ $text .= $`;
+ substr($line, 0, $+[0]) = "";
+ $text =~ s/\s+/ /g;
+ $copying = 0;
+ $alllocales{$text} = 1;
+ $htmllocale{$text} = 1;
+ print(OUT $self->{"texts"}{$text} || $text);
+ print(OUT "\n") if ("" eq $line);
+ $text = "";
+
+ } else {
+ $text .= $line;
+ $line = "";
+ }
+ }
+ }
+ }
+
+ close(IN);
+ close(OUT);
+}
+
+sub search_unused_htmlfiles {
+ my @unscanned_dirs = ('../../templates/webpages');
+
+ while (scalar @unscanned_dirs) {
+ my $dir = shift @unscanned_dirs;
+
+ foreach my $entry (<$dir/*>) {
+ if (-d $entry) {
+ push @unscanned_dirs, $entry;
+
+ } elsif (($entry =~ /_master.html$/) && -f $entry && !$referenced_html_files{$entry}) {
+ print "W: unused HTML template: " . strip_base($entry) . "\n";
+
+ }
+ }
+ }
+}
+
+sub search_translated_htmlfiles_wo_master {
+ my @unscanned_dirs = ('../../templates/webpages');
+
+ while (scalar @unscanned_dirs) {
+ my $dir = shift @unscanned_dirs;
+
+ foreach my $entry (<$dir/*>) {
+ if (-d $entry) {
+ push @unscanned_dirs, $entry;
+
+ } elsif (($entry =~ /_[a-z]+\.html$/) && ($entry !~ /_master.html$/) && -f $entry) {
+ my $master = $entry;
+ $master =~ s/[a-z]+\.html$/master.html/;
+ if (! -f $master) {
+ print "W: translated HTML template without master: " . strip_base($entry) . "\n";
+ }
+ }
+ }
+ }
+}
+
+sub strip_base {
+ my $s = "$_[0]"; # Create a copy of the string.
+
+ $s =~ s|^../../||;
+ $s =~ s|templates/webpages/||;
+
+ return $s;
+}
+
+__END__
+
+=head1 NAME
+
+locales.pl - Collect strings for translation in Lx-Office
+
+=head1 SYNOPSIS
+
+locales.pl [options]
+
+ Options:
+ -n, --no-custom-files Do not process files whose name contains "_"
+ -c, --check-files Run extended checks on HTML files
+ -v, --verbose Be more verbose
+ -h, --help Show this help
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<-n>, B<--no-custom-files>
+
+Do not process files whose name contains "_", e.g. "custom_io.pl".
+
+=item B<-c>, B<--check-files>
+
+Run extended checks on the usage of templates. This can be used to
+discover HTML templates that are never used as well as the usage of
+non-existing HTML templates.
+
+=item B<-v>, B<--verbose>
+
+Be more verbose.
+
+=back
+
+=head1 DESCRIPTION
+
+This script collects strings from Perl files, the menu.ini file and
+HTML templates and puts them into the file "all" for translation. It
+also distributes those translations back to the individual files.
+
+=cut
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ ' missing!' => ' missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
'About' => 'About',
- 'Database Host' => 'Database Host',
- 'Dataset' => 'Dataset',
- 'Incorrect Dataset version!' => 'Incorrect Dataset version!',
+ 'Add Exchangerate' => 'Add Exchangerate',
+ 'Add Follow-Up' => 'Add Follow-Up',
+ 'Add Follow-Up for #1' => 'Add Follow-Up for #1',
+ 'Add Purchase Delivery Order' => 'Add Purchase Delivery Order',
+ 'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
+ 'Add Sales Delivery Order' => 'Add Sales Delivery Order',
+ 'Add Sales Invoice' => 'Add Sales Invoice',
+ 'Add Sales Order' => 'Add Sales Order',
+ 'Add Vendor Invoice' => 'Add Vendor Invoice',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Amount' => 'Amount',
+ 'Apr' => 'Apr',
+ 'April' => 'April',
+ 'Are you sure you want to delete Order Number' => 'Are you sure you want to delete Order Number',
+ 'Are you sure you want to delete Quotation Number' => 'Are you sure you want to delete Quotation Number',
+ 'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Aug' => 'Aug',
+ 'August' => 'August',
+ 'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
+ 'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'Body' => 'Body',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cannot delete delivery order!' => 'Cannot delete delivery order!',
+ 'Cannot delete order!' => 'Cannot delete order!',
+ 'Cannot delete quotation!' => 'Cannot delete quotation!',
+ 'Cannot save order!' => 'Cannot save order!',
+ 'Cannot save quotation!' => 'Cannot save quotation!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Closed' => 'Closed',
+ 'Collective Orders only work for orders from one customer!' => 'Collective Orders only work for orders from one customer!',
+ 'Company Name' => 'Company Name',
+ 'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Continue' => 'Continue',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Created by' => 'Created by',
+ 'Created for' => 'Created for',
+ 'Created on' => 'Created on',
+ 'Credit Limit exceeded!!!' => 'Credit Limit exceeded!!!',
+ 'Credit Note' => 'Credit Note',
+ 'Curr' => 'Curr',
+ 'Currency' => 'Currency',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer missing!' => 'Customer missing!',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
+ 'Customer not on file!' => 'Customer not on file!',
+ 'Customer type' => 'Customer type',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dec' => 'Dec',
+ 'December' => 'December',
+ 'Delete delivery order' => 'Delete delivery order',
+ 'Delivered' => 'Delivered',
+ 'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Delivery Order Date missing!' => 'Delivery Order Date missing!',
+ 'Delivery Order Number' => 'Delivery Order Number',
+ 'Delivery Order deleted!' => 'Delivery Order deleted!',
+ 'Delivery Orders' => 'Delivery Orders',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Done' => 'Done',
+ 'Dunning' => 'Dunning',
+ 'E-mail' => 'E-mail',
+ 'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit Access Rights for Follow-Ups' => 'Edit Access Rights for Follow-Ups',
+ 'Edit Follow-Up' => 'Edit Follow-Up',
+ 'Edit Follow-Up for #1' => 'Edit Follow-Up for #1',
+ 'Edit Purchase Delivery Order' => 'Edit Purchase Delivery Order',
+ 'Edit Purchase Order' => 'Edit Purchase Order',
+ 'Edit Quotation' => 'Edit Quotation',
+ 'Edit Request for Quotation' => 'Edit Request for Quotation',
+ 'Edit Sales Delivery Order' => 'Edit Sales Delivery Order',
+ 'Edit Sales Order' => 'Edit Sales Order',
+ 'Edit the purchase_order' => 'Edit the purchase_order',
+ 'Edit the request_quotation' => 'Edit the request_quotation',
+ 'Edit the sales_order' => 'Edit the sales_order',
+ 'Edit the sales_quotation' => 'Edit the sales_quotation',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.',
+ 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.',
+ 'Error in row #1: The quantity you entered is bigger than the stocked quantity.' => 'Error in row #1: The quantity you entered is bigger than the stocked quantity.',
+ 'Ertrag' => 'Ertrag',
+ 'Ertrag prozentual' => 'Ertrag prozentual',
+ 'Exchangerate' => 'Exchangerate',
+ 'Exchangerate missing!' => 'Exchangerate missing!',
+ 'Extended' => 'Extended',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
+ 'Fax' => 'Fax',
+ 'Feb' => 'Feb',
+ 'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up Date' => 'Follow-Up Date',
+ 'Follow-Up saved.' => 'Follow-Up saved.',
+ 'Follow-Ups' => 'Follow-Ups',
+ 'Follow-up for' => 'Follow-up for',
+ 'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Group' => 'Group',
+ 'History' => 'History',
+ 'ID' => 'ID',
+ 'In-line' => 'In-line',
'Incorrect Password!' => 'Incorrect Password!',
- 'Licensed to' => 'Licensed to',
- 'Login' => 'Login',
+ 'Incorrect username or password!' => 'Incorrect username or password!',
+ 'Invalid follow-up ID.' => 'Invalid follow-up ID.',
+ 'Invoice' => 'Invoice',
+ 'Invoice Date missing!' => 'Invoice Date missing!',
+ 'Invoice Number missing!' => 'Invoice Number missing!',
+ 'Jan' => 'Jan',
+ 'January' => 'January',
+ 'Jul' => 'Jul',
+ 'July' => 'July',
+ 'Jun' => 'Jun',
+ 'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mar' => 'Mar',
+ 'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May' => 'May',
+ 'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
- 'Password' => 'Password',
- 'User' => 'User',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'No.' => 'No.',
+ 'Not delivered' => 'Not delivered',
+ 'Not done yet' => 'Not done yet',
+ 'Notes' => 'Notes',
+ 'Nov' => 'Nov',
+ 'November' => 'November',
+ 'Number' => 'Number',
+ 'Number missing in Row' => 'Number missing in Row',
+ 'Oct' => 'Oct',
+ 'October' => 'October',
+ 'On Hand' => 'On Hand',
+ 'Only due follow-ups' => 'Only due follow-ups',
+ 'Open' => 'Open',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Order' => 'Order',
+ 'Order Date' => 'Order Date',
+ 'Order Date missing!' => 'Order Date missing!',
+ 'Order Number' => 'Order Number',
+ 'Order Number missing!' => 'Order Number missing!',
+ 'Order deleted!' => 'Order deleted!',
+ 'Other users\' follow-ups' => 'Other users\' follow-ups',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Packing List Date missing!' => 'Packing List Date missing!',
+ 'Packing List Number missing!' => 'Packing List Number missing!',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
+ 'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
+ 'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project' => 'Project',
+ 'Project Number' => 'Project Number',
+ 'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Purchase Orders' => 'Purchase Orders',
+ 'Qty' => 'Qty',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number' => 'Quotation Number',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'Quotation deleted!' => 'Quotation deleted!',
+ 'Quotations' => 'Quotations',
+ 'RFQ' => 'RFQ',
+ 'RFQ Number' => 'RFQ Number',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reference' => 'Reference',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request for Quotations' => 'Request for Quotations',
+ 'Request quotation' => 'Request quotation',
+ 'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales Orders' => 'Sales Orders',
+ 'Sales quotation' => 'Sales quotation',
+ 'Salesman' => 'Salesman',
+ 'Salesperson' => 'Salesperson',
+ 'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select from one of the items below' => 'Select from one of the items below',
+ 'Select from one of the names below' => 'Select from one of the names below',
+ 'Select from one of the projects below' => 'Select from one of the projects below',
+ 'Select postscript or PDF!' => 'Select postscript or PDF!',
+ 'Sep' => 'Sep',
+ 'September' => 'September',
+ 'Serial No.' => 'Serial No.',
+ 'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
+ 'Ship to' => 'Ship to',
+ 'Ship via' => 'Ship via',
+ 'Shipping Address' => 'Shipping Address',
+ 'Show details' => 'Show details',
+ 'Stock' => 'Stock',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
+ 'Subject' => 'Subject',
+ 'Subtotal' => 'Subtotal',
+ 'TODO list' => 'TODO list',
+ 'Tax' => 'Tax',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The access rights have been saved.' => 'The access rights have been saved.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The delivery order has not been marked as delivered. The warehouse contents have not changed.' => 'The delivery order has not been marked as delivered. The warehouse contents have not changed.',
+ 'The follow-up date is missing.' => 'The follow-up date is missing.',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The parts for this delivery order have already been transferred in.' => 'The parts for this delivery order have already been transferred in.',
+ 'The parts for this delivery order have already been transferred out.' => 'The parts for this delivery order have already been transferred out.',
+ 'The session is invalid or has expired.' => 'The session is invalid or has expired.',
+ 'The subject is missing.' => 'The subject is missing.',
+ 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.' => 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.',
+ 'To (email)' => 'To (email)',
+ 'Total' => 'Total',
+ 'Transaction description' => 'Transaction description',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'USt-IdNr.' => 'USt-IdNr.',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor missing!' => 'Vendor missing!',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
+ 'Vendor not on file!' => 'Vendor not on file!',
+ 'Vendor type' => 'Vendor type',
'Version' => 'Version',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Workflow purchase_order' => 'Workflow purchase_order',
+ 'Workflow request_quotation' => 'Workflow request_quotation',
+ 'Workflow sales_order' => 'Workflow sales_order',
+ 'Workflow sales_quotation' => 'Workflow sales_quotation',
+ 'Yes' => 'Yes',
'You are logged out!' => 'You are logged out!',
+ 'You cannot create an invoice for delivery orders for different customers.' => 'You cannot create an invoice for delivery orders for different customers.',
+ 'You cannot create an invoice for delivery orders from different vendors.' => 'You cannot create an invoice for delivery orders from different vendors.',
'You did not enter a name!' => 'You did not enter a name!',
- 'is not a member!' => 'is not a member!',
- 'localhost' => 'localhost',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'You have not selected any delivery order.' => 'You have not selected any delivery order.',
+ 'You must chose a user.' => 'You must chose a user.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'chargenumber #1' => 'chargenumber #1',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'emailed to' => 'emailed to',
+ 'follow_up_list' => 'follow_up_list',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'no chargenumber' => 'no chargenumber',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'oe.pl::search called with unknown type' => 'oe.pl::search called with unknown type',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_delivery_order_list' => 'purchase_delivery_order_list',
+ 'purchase_order' => 'purchase_order',
+ 'purchase_order_list' => 'purchase_order_list',
+ 'quotation_list' => 'quotation_list',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'rfq_list' => 'rfq_list',
+ 'sales_delivery_order_list' => 'sales_delivery_order_list',
+ 'sales_order' => 'sales_order',
+ 'sales_order_list' => 'sales_order_list',
+ 'sales_quotation' => 'sales_quotation',
+ 'saved!' => 'saved!',
+ 'sent' => 'sent',
+ 'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_collect_links' => '_collect_links',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
+ 'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'backorder_exchangerate' => 'backorder_exchangerate',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'calculate_stock_in_out' => 'calculate_stock_in_out',
+ 'call_sub' => 'call_sub',
+ 'check_delivered_flag' => 'check_delivered_flag',
+ 'check_do_access' => 'check_do_access',
+ 'check_for_direct_delivery' => 'check_for_direct_delivery',
+ 'check_for_direct_delivery_no' => 'check_for_direct_delivery_no',
+ 'check_for_direct_delivery_yes' => 'check_for_direct_delivery_yes',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_oe_access' => 'check_oe_access',
+ 'check_project' => 'check_project',
'company_logo' => 'company_logo',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_backorder' => 'create_backorder',
+ 'create_subtotal_row' => 'create_subtotal_row',
+ 'create_todo_list' => 'create_todo_list',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_delivery_order' => 'delete_delivery_order',
+ 'delete_order_quotation' => 'delete_order_quotation',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'delivery_order' => 'delivery_order',
+ 'dispatcher' => 'dispatcher',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'display_stock_in_form' => 'display_stock_in_form',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'edit_access_rights' => 'edit_access_rights',
+ 'edit_e_mail' => 'edit_e_mail',
+ 'finish' => 'finish',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
+ 'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice' => 'invoice',
+ 'invoice_multi' => 'invoice_multi',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
'login' => 'login',
'login_screen' => 'login_screen',
'logout' => 'logout',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'mark_closed' => 'mark_closed',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'new_license' => 'new_license',
+ 'no' => 'no',
+ 'order' => 'order',
+ 'order_links' => 'order_links',
+ 'orders' => 'orders',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'poso' => 'poso',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_order' => 'prepare_order',
+ 'print' => 'print',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'redo_stock_info' => 'redo_stock_info',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'report' => 'report',
+ 'report_for_todo_list' => 'report_for_todo_list',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_access_rights' => 'save_access_rights',
+ 'save_and_close' => 'save_and_close',
+ 'save_as_new' => 'save_as_new',
+ 'save_exchangerate' => 'save_exchangerate',
+ 'save_follow_up' => 'save_follow_up',
+ 'search' => 'search',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_headings' => 'set_headings',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
+ 'set_stock_in' => 'set_stock_in',
+ 'set_stock_out' => 'set_stock_out',
+ 'ship_to' => 'ship_to',
+ 'show_error' => 'show_error',
+ 'show_history' => 'show_history',
+ 'show_todo_list' => 'show_todo_list',
+ 'show_vc_details' => 'show_vc_details',
+ 'stock_in_form' => 'stock_in_form',
+ 'stock_in_out_form' => 'stock_in_out_form',
+ 'stock_out_form' => 'stock_out_form',
+ 'todo_list_follow_ups' => 'todo_list_follow_ups',
+ 'todo_list_overdue_sales_quotations' => 'todo_list_overdue_sales_quotations',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
+ 'update' => 'update',
+ 'update_delivery_order' => 'update_delivery_order',
+ 'update_stock_in' => 'update_stock_in',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'yes' => 'yes',
+ 'back' => 'back',
+ 'cancel' => 'cancel',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'delivery_order' => 'delivery_order',
+ 'e_mail' => 'e_mail',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'finish' => 'finish',
+ 'invoice' => 'invoice',
'login' => 'login',
+ 'mark_closed' => 'mark_closed',
+ 'new_part' => 'new_part',
+ 'no' => 'no',
+ 'print' => 'print',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_and_close' => 'save_and_close',
+ 'save_as_new' => 'save_as_new',
+ 'ship_to' => 'ship_to',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
+ 'update' => 'update',
+ 'yes' => 'yes',
};
1;
--- /dev/null
+#!/usr/bin/perl
+
+# The last 50 texts that have been removed.
+# This file will be auto-generated by locales.pl. Do not edit it.
+
+@lost = (
+ { 'text' => 'Receipt printing failed!', 'translation' => '' },
+ { 'text' => 'successfully deleted!', 'translation' => '' },
+ { 'text' => 'C', 'translation' => '' },
+ { 'text' => 'Sales', 'translation' => '' },
+ { 'text' => 'collected on sales', 'translation' => '' },
+ { 'text' => 'GIFI deleted!', 'translation' => '' },
+ { 'text' => 'Assemblies restocked!', 'translation' => '' },
+ { 'text' => 'Amount does not equal applied!', 'translation' => '' },
+ { 'text' => 'Post as new', 'translation' => '' },
+ { 'text' => 'Amount missing!', 'translation' => '' },
+ { 'text' => 'Edit Template', 'translation' => '' },
+ { 'text' => 'Applied', 'translation' => '' },
+ { 'text' => 'Paid in full', 'translation' => '' },
+ { 'text' => 'Cannot stock assemblies!', 'translation' => '' },
+ { 'text' => 'Access Control', 'translation' => '' },
+ { 'text' => 'Password changed!', 'translation' => '' },
+ { 'text' => 'Check printing failed!', 'translation' => '' },
+ { 'text' => 'Oracle Database Administration', 'translation' => '' },
+ { 'text' => 'Check printed!', 'translation' => '' },
+ { 'text' => 'Edit Preferences for', 'translation' => '' },
+ { 'text' => 'Include this account on the customer/vendor forms to flag customer/vendor as taxable?', 'translation' => 'Include this account on debtor/creditor forms to set debtor/creditor taxable?' },
+ { 'text' => 'DBI not installed!', 'translation' => '' },
+ { 'text' => 'successfully created!', 'translation' => '' },
+ { 'text' => 'Order saved!', 'translation' => '' },
+ { 'text' => 'is not a member!', 'translation' => '' },
+ { 'text' => 'Standard', 'translation' => '' },
+ { 'text' => 'Weight Unit', 'translation' => '' },
+ { 'text' => 'Tax Accounts', 'translation' => '' },
+ { 'text' => 'localhost', 'translation' => '' },
+ { 'text' => 'to', 'translation' => '' },
+ { 'text' => 'Hostname missing!', 'translation' => '' },
+ { 'text' => 'Last Numbers & Default Accounts', 'translation' => '' },
+ { 'text' => 'Link', 'translation' => '' },
+ { 'text' => 'Transactions exist, cannot delete customer!', 'translation' => '' },
+ { 'text' => 'Order Entry', 'translation' => '' },
+ { 'text' => 'GIFI missing!', 'translation' => '' },
+ { 'text' => 'Recd', 'translation' => '' },
+ { 'text' => 'Receipt printed!', 'translation' => '' },
+ { 'text' => 'Stock Assembly', 'translation' => '' },
+ { 'text' => 'Administrator', 'translation' => '' },
+ { 'text' => 'Dataset updated!', 'translation' => '' },
+ { 'text' => 'Change Password', 'translation' => '' },
+ { 'text' => 'The following Datasets are not in use and can be deleted', 'translation' => '' },
+ { 'text' => 'hr', 'translation' => '' },
+ { 'text' => 'paid on purchases', 'translation' => '' },
+ { 'text' => 'is already a member!', 'translation' => '' },
+ { 'text' => 'Edit GIFI', 'translation' => '' },
+ { 'text' => 'O', 'translation' => '' },
+ { 'text' => 'Accounts', 'translation' => '' },
+ { 'text' => 'Retained Earnings', 'translation' => '' },
+);
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
'AP' => 'Purchases',
'AP Aging' => 'Creditor Aging',
'AR' => 'Sales',
'AR Aging' => 'Debtor Aging',
'Accounting Menu' => 'Accounting Menu',
+ 'Add' => 'Add',
+ 'Add AP Transaction' => 'Add AP Transaction',
+ 'Add AR Transaction' => 'Add AR Transaction',
'Add Account' => 'Add Account',
+ 'Add Accounting Group' => 'Add Accounting Group',
'Add Assembly' => 'Add Assembly',
+ 'Add Business' => 'Add Business',
+ 'Add Credit Note' => 'Add Credit Note',
'Add Customer' => 'Add Customer',
- 'Add GIFI' => 'Add GIFI',
+ 'Add Delivery Order' => 'Add Delivery Order',
+ 'Add Department' => 'Add Department',
+ 'Add Dunning' => 'Add Dunning',
+ 'Add Follow-Up' => 'Add Follow-Up',
'Add Group' => 'Add Group',
+ 'Add Language' => 'Add Language',
+ 'Add Lead' => 'Add Lead',
+ 'Add License' => 'Add License',
'Add Part' => 'Add Part',
+ 'Add Payment Terms' => 'Add Payment Terms',
+ 'Add Price Factor' => 'Add Price Factor',
+ 'Add Pricegroup' => 'Add Pricegroup',
+ 'Add Printer' => 'Add Printer',
'Add Project' => 'Add Project',
+ 'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add RFQ' => 'Add RFQ',
+ 'Add Sales Invoice' => 'Add Sales Invoice',
+ 'Add Sales Order' => 'Add Sales Order',
'Add Service' => 'Add Service',
'Add Transaction' => 'Add Transaction',
'Add Vendor' => 'Add Vendor',
+ 'Add Vendor Invoice' => 'Add Vendor Invoice',
+ 'Add Warehouse' => 'Add Warehouse',
+ 'Administration area' => 'Administration area',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Assemblies' => 'Assemblies',
'Audit Control' => 'Audit Control',
- 'Backup' => 'Backup',
+ 'BWA' => 'BWA',
'Balance Sheet' => 'Balance Sheet',
+ 'Batch Printing' => 'Batch Printing',
+ 'Bcc' => 'Bcc',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Buchungsgruppen' => 'Buchungsgruppen',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
'Cash' => 'Cash',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
'Chart of Accounts' => 'Chart of Accounts',
- 'Check' => 'Cheque',
+ 'Checks' => 'Checks',
+ 'Contacts' => 'Contacts',
+ 'Corrections' => 'Corrections',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Custom Variables' => 'Custom Variables',
+ 'Customer' => 'Customer',
'Customers' => 'Customers',
+ 'DATEV - Export Assistent' => 'DATEV - Export Assistent',
+ 'DATEV Export' => 'DATEV Export',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Orders' => 'Delivery Orders',
+ 'Departments' => 'Departments',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunnings' => 'Dunnings',
+ 'Edit Access Rights' => 'Edit Access Rights',
+ 'Edit Dunning' => 'Edit Dunning',
+ 'Edit units' => 'Edit units',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'Follow-Ups' => 'Follow-Ups',
'General Ledger' => 'General Ledger',
- 'Goods & Services' => 'Goods & Services',
+ 'General Ledger Corrections' => 'General Ledger Corrections',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Greetings' => 'Greetings',
'Groups' => 'Groups',
'HTML Templates' => 'HTML Templates',
+ 'History Search Engine' => 'History Search Engine',
+ 'Import CSV' => 'Import CSV',
'Income Statement' => 'Income Statement',
- 'Invoice' => 'Invoice',
+ 'Invoices' => 'Invoices',
+ 'Journal' => 'Journal',
'LaTeX Templates' => 'LaTeX Templates',
+ 'Languages' => 'Languages',
+ 'Lead' => 'Lead',
+ 'Licenses' => 'Licenses',
+ 'List' => 'List',
+ 'List Accounting Groups' => 'List Accounting Groups',
'List Accounts' => 'List Accounts',
- 'List GIFI' => 'List GIFI',
+ 'List Businesses' => 'List Businesses',
+ 'List Departments' => 'List Departments',
+ 'List Groups' => 'List Groups',
+ 'List Languages' => 'List Languages',
+ 'List Lead' => 'List Lead',
+ 'List Payment Terms' => 'List Payment Terms',
+ 'List Price Factors' => 'List Price Factors',
+ 'List Pricegroups' => 'List Pricegroups',
+ 'List Printer' => 'List Printer',
+ 'List Tax' => 'List Tax',
+ 'List Warehouses' => 'List Warehouses',
'Logout' => 'Logout',
- 'Order Entry' => 'Order Entry',
- 'Packing List' => 'Packing List',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'Packing Lists' => 'Packing Lists',
'Parts' => 'Parts',
'Payment' => 'Payment',
+ 'Payment Terms' => 'Payment Terms',
'Payments' => 'Payments',
'Preferences' => 'Preferences',
+ 'Price Factors' => 'Price Factors',
+ 'Pricegroups' => 'Pricegroups',
+ 'Printer' => 'Printer',
+ 'Produce Assembly' => 'Produce Assembly',
+ 'Productivity' => 'Productivity',
+ 'Programm' => 'Programm',
'Projects' => 'Projects',
- 'Purchase Order' => 'Purchase Order',
+ 'Projecttransactions' => 'Projecttransactions',
'Purchase Orders' => 'Purchase Orders',
+ 'Quotations' => 'Quotations',
+ 'RFQs' => 'RFQs',
+ 'Ranges of numbers and default accounts' => 'Ranges of numbers and default accounts',
'Receipt' => 'Receipt',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Receipts' => 'Receipts',
'Reconciliation' => 'Reconciliation',
+ 'Removal' => 'Removal',
'Reports' => 'Reports',
- 'Sales Invoice' => 'Sales Invoice',
- 'Sales Order' => 'Sales Order',
+ 'Sales Invoices' => 'Sales Invoices',
'Sales Orders' => 'Sales Orders',
- 'Save to File' => 'Save to File',
- 'Send by E-Mail' => 'Send by E-Mail',
'Services' => 'Services',
- 'Statement' => 'Statement',
- 'Stock Assembly' => 'Stock Assembly',
+ 'Shipto' => 'Shipto',
+ 'Show TODO list' => 'Show TODO list',
+ 'Stock' => 'Stock',
'Stylesheet' => 'Stylesheet',
+ 'Subject' => 'Subject',
'System' => 'System',
- 'Tax collected' => 'Tax collected',
- 'Tax paid' => 'Tax paid',
- 'Transactions' => 'Transactions',
+ 'Taxes' => 'Taxes',
+ 'Templates' => 'Templates',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer' => 'Transfer',
'Trial Balance' => 'Trial Balance',
- 'Vendor Invoice' => 'Vendor Invoice',
+ 'Type of Business' => 'Type of Business',
+ 'UStVa' => 'UStVa',
+ 'UStVa Einstellungen' => 'UStVa Einstellungen',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Update Prices' => 'Update Prices',
+ 'Vendor Invoices' => 'Vendor Invoices',
'Vendors' => 'Vendors',
'Version' => 'Version',
+ 'View warehouse content' => 'View warehouse content',
+ 'WHJournal' => 'WHJournal',
+ 'Warehouse' => 'Warehouse',
+ 'Warehouse content' => 'Warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Warehouses' => 'Warehouses',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
};
-$self{subs} = {
+$self->{subs} = {
'acc_menu' => 'acc_menu',
'display' => 'display',
'section_menu' => 'section_menu',
+ 'continue' => 'continue',
};
1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'DATEV Export' => 'DATEV Export',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+};
+
+$self->{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'display' => 'display',
+ 'print_menu' => 'print_menu',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'DATEV Export' => 'DATEV Export',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Logout' => 'Logout',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+};
+
+$self->{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'clock_line' => 'clock_line',
+ 'display' => 'display',
+ 'section_menu' => 'section_menu',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'AP' => 'Purchases',
+ 'AP Aging' => 'Creditor Aging',
+ 'AR' => 'Sales',
+ 'AR Aging' => 'Debtor Aging',
+ 'Add' => 'Add',
+ 'Add AP Transaction' => 'Add AP Transaction',
+ 'Add AR Transaction' => 'Add AR Transaction',
+ 'Add Account' => 'Add Account',
+ 'Add Accounting Group' => 'Add Accounting Group',
+ 'Add Assembly' => 'Add Assembly',
+ 'Add Business' => 'Add Business',
+ 'Add Credit Note' => 'Add Credit Note',
+ 'Add Customer' => 'Add Customer',
+ 'Add Delivery Order' => 'Add Delivery Order',
+ 'Add Department' => 'Add Department',
+ 'Add Dunning' => 'Add Dunning',
+ 'Add Follow-Up' => 'Add Follow-Up',
+ 'Add Group' => 'Add Group',
+ 'Add Language' => 'Add Language',
+ 'Add Lead' => 'Add Lead',
+ 'Add License' => 'Add License',
+ 'Add Part' => 'Add Part',
+ 'Add Payment Terms' => 'Add Payment Terms',
+ 'Add Price Factor' => 'Add Price Factor',
+ 'Add Pricegroup' => 'Add Pricegroup',
+ 'Add Printer' => 'Add Printer',
+ 'Add Project' => 'Add Project',
+ 'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add RFQ' => 'Add RFQ',
+ 'Add Sales Invoice' => 'Add Sales Invoice',
+ 'Add Sales Order' => 'Add Sales Order',
+ 'Add Service' => 'Add Service',
+ 'Add Transaction' => 'Add Transaction',
+ 'Add Vendor' => 'Add Vendor',
+ 'Add Vendor Invoice' => 'Add Vendor Invoice',
+ 'Add Warehouse' => 'Add Warehouse',
+ 'Administration area' => 'Administration area',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Assemblies' => 'Assemblies',
+ 'Audit Control' => 'Audit Control',
+ 'BWA' => 'BWA',
+ 'Balance Sheet' => 'Balance Sheet',
+ 'Batch Printing' => 'Batch Printing',
+ 'Bcc' => 'Bcc',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Buchungsgruppen' => 'Buchungsgruppen',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cash' => 'Cash',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Chart of Accounts' => 'Chart of Accounts',
+ 'Checks' => 'Checks',
+ 'Contacts' => 'Contacts',
+ 'Corrections' => 'Corrections',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Custom Variables' => 'Custom Variables',
+ 'Customer' => 'Customer',
+ 'Customers' => 'Customers',
+ 'DATEV - Export Assistent' => 'DATEV - Export Assistent',
+ 'DATEV Export' => 'DATEV Export',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Orders' => 'Delivery Orders',
+ 'Departments' => 'Departments',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunnings' => 'Dunnings',
+ 'Edit Access Rights' => 'Edit Access Rights',
+ 'Edit Dunning' => 'Edit Dunning',
+ 'Edit units' => 'Edit units',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'Follow-Ups' => 'Follow-Ups',
+ 'General Ledger' => 'General Ledger',
+ 'General Ledger Corrections' => 'General Ledger Corrections',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Greetings' => 'Greetings',
+ 'Groups' => 'Groups',
+ 'HTML Templates' => 'HTML Templates',
+ 'History Search Engine' => 'History Search Engine',
+ 'Import CSV' => 'Import CSV',
+ 'Income Statement' => 'Income Statement',
+ 'Invoices' => 'Invoices',
+ 'Journal' => 'Journal',
+ 'LaTeX Templates' => 'LaTeX Templates',
+ 'Languages' => 'Languages',
+ 'Lead' => 'Lead',
+ 'Licenses' => 'Licenses',
+ 'List' => 'List',
+ 'List Accounting Groups' => 'List Accounting Groups',
+ 'List Accounts' => 'List Accounts',
+ 'List Businesses' => 'List Businesses',
+ 'List Departments' => 'List Departments',
+ 'List Groups' => 'List Groups',
+ 'List Languages' => 'List Languages',
+ 'List Lead' => 'List Lead',
+ 'List Payment Terms' => 'List Payment Terms',
+ 'List Price Factors' => 'List Price Factors',
+ 'List Pricegroups' => 'List Pricegroups',
+ 'List Printer' => 'List Printer',
+ 'List Tax' => 'List Tax',
+ 'List Warehouses' => 'List Warehouses',
+ 'Logout' => 'Logout',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'Packing Lists' => 'Packing Lists',
+ 'Parts' => 'Parts',
+ 'Payment' => 'Payment',
+ 'Payment Terms' => 'Payment Terms',
+ 'Payments' => 'Payments',
+ 'Preferences' => 'Preferences',
+ 'Price Factors' => 'Price Factors',
+ 'Pricegroups' => 'Pricegroups',
+ 'Printer' => 'Printer',
+ 'Produce Assembly' => 'Produce Assembly',
+ 'Productivity' => 'Productivity',
+ 'Programm' => 'Programm',
+ 'Projects' => 'Projects',
+ 'Projecttransactions' => 'Projecttransactions',
+ 'Purchase Orders' => 'Purchase Orders',
+ 'Quotations' => 'Quotations',
+ 'RFQs' => 'RFQs',
+ 'Ranges of numbers and default accounts' => 'Ranges of numbers and default accounts',
+ 'Receipt' => 'Receipt',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Receipts' => 'Receipts',
+ 'Reconciliation' => 'Reconciliation',
+ 'Removal' => 'Removal',
+ 'Reports' => 'Reports',
+ 'Sales Invoices' => 'Sales Invoices',
+ 'Sales Orders' => 'Sales Orders',
+ 'Services' => 'Services',
+ 'Shipto' => 'Shipto',
+ 'Show TODO list' => 'Show TODO list',
+ 'Stock' => 'Stock',
+ 'Stylesheet' => 'Stylesheet',
+ 'Subject' => 'Subject',
+ 'System' => 'System',
+ 'Taxes' => 'Taxes',
+ 'Templates' => 'Templates',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer' => 'Transfer',
+ 'Trial Balance' => 'Trial Balance',
+ 'Type of Business' => 'Type of Business',
+ 'UStVa' => 'UStVa',
+ 'UStVa Einstellungen' => 'UStVa Einstellungen',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Update Prices' => 'Update Prices',
+ 'Vendor Invoices' => 'Vendor Invoices',
+ 'Vendors' => 'Vendors',
+ 'Version' => 'Version',
+ 'View warehouse content' => 'View warehouse content',
+ 'WHJournal' => 'WHJournal',
+ 'Warehouse' => 'Warehouse',
+ 'Warehouse content' => 'Warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Warehouses' => 'Warehouses',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+};
+
+$self->{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'calculate_width' => 'calculate_width',
+ 'clock_line' => 'clock_line',
+ 'create_menu' => 'create_menu',
+ 'display' => 'display',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'DATEV Export' => 'DATEV Export',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+};
+
+$self->{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'clock_line' => 'clock_line',
+ 'display' => 'display',
+ 'print_menu' => 'print_menu',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'DATEV Export' => 'DATEV Export',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+};
+
+$self->{subs} = {
+ 'acc_menu' => 'acc_menu',
+ 'clock_line' => 'clock_line',
+ 'display' => 'display',
+ 'print_menu' => 'print_menu',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+# add the missing texts and run locales.pl to rebuild
+
+$missing = {
+ ' Date missing!' => '',
+ ' Part Number missing!' => '',
+ ' missing!' => '',
+ '#1 prices were updated.' => '',
+ '<%account_number%> -- Your account number' => '',
+ '<%bank%> -- Your bank' => '',
+ '<%bank_code%> -- Your bank code' => '',
+ '<%currency%> -- The selected currency' => '',
+ '<%invtotal%> -- Invoice total' => '',
+ '<%invtotal_wo_skonto%> -- Invoice total less discount' => '',
+ '<%netto_date%> -- Date the payment is due in full' => '',
+ '<%skonto_amount%> -- The deductible amount' => '',
+ '<%skonto_date%> -- Date the payment is due with discount' => '',
+ '<%terms_netto%> -- The number of days for full payment' => '',
+ '<%total%> -- Amount payable' => '',
+ '<%total_wo_skonto%> -- Amount payable less discount' => '',
+ '*/' => '',
+ '---please select---' => '',
+ '...after loggin in' => '',
+ '...done' => '',
+ '...on the TODO list' => '',
+ '1. Quarter' => '',
+ '2. Quarter' => '',
+ '3. Quarter' => '',
+ '4. Quarter' => '',
+ '<b>What</b> do you want to look for?' => '',
+ 'A Buchungsgruppe consists of a descriptive name and the account numbers for the income and expense accounts for those four tax zones as well as the inventory account number.' => '',
+ 'A group named "Full Access" has been created.' => '',
+ 'A group with that name does already exist.' => '',
+ 'A lot of the usability of Lx-Office has been enhanced with javascript. Although it is currently possible to use every aspect of Lx-Office without javascript, we strongly recommend it. In a future version this may change and javascript may be necessary to access advanced features.' => '',
+ 'A temporary directory could not be created:' => '',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => '',
+ 'A temporary file could not be created:' => '',
+ 'A unit with this name does already exist.' => '',
+ 'A variable marked as \'editable\' can be changed in each quotation, order, invoice etc.' => '',
+ 'ADDED' => '',
+ 'AP Transaction (abbreviation)' => '',
+ 'AP Transaction Storno (one letter abbreviation)' => '',
+ 'AP Transaction with Storno (abbreviation)' => '',
+ 'AP transactions with sales taxkeys and/or AR transactions with input taxkeys' => '',
+ 'AR Transaction (abbreviation)' => '',
+ 'ASSETS' => '',
+ 'About' => '',
+ 'Abrechnungsnummer' => '',
+ 'Abteilung' => '',
+ 'Account' => '',
+ 'Account Category A' => '',
+ 'Account Category C' => '',
+ 'Account Category E' => '',
+ 'Account Category G' => '',
+ 'Account Category I' => '',
+ 'Account Category L' => '',
+ 'Account Category Q' => '',
+ 'Account Description missing!' => '',
+ 'Account Link AP' => '',
+ 'Account Link AP_amount' => '',
+ 'Account Link AP_paid' => '',
+ 'Account Link AP_tax' => '',
+ 'Account Link AR' => '',
+ 'Account Link AR_amount' => '',
+ 'Account Link AR_paid' => '',
+ 'Account Link AR_tax' => '',
+ 'Account Link CT_tax' => '',
+ 'Account Link IC' => '',
+ 'Account Link IC_cogs' => '',
+ 'Account Link IC_expense' => '',
+ 'Account Link IC_income' => '',
+ 'Account Link IC_sale' => '',
+ 'Account Link IC_taxpart' => '',
+ 'Account Link IC_taxservice' => '',
+ 'Account Number' => '',
+ 'Account Number already used!' => '',
+ 'Account Number missing!' => '',
+ 'Account Nummer' => '',
+ 'Account Type' => '',
+ 'Account Type missing!' => '',
+ 'Account deleted!' => '',
+ 'Account for fees' => '',
+ 'Account for interest' => '',
+ 'Account saved!' => '',
+ 'Accounting Group deleted!' => '',
+ 'Accounting Group saved!' => '',
+ 'Accounting Menu' => '',
+ 'Accrual' => '',
+ 'Active' => '',
+ 'Active?' => '',
+ 'Add' => '',
+ 'Add ' => '',
+ 'Add AP Transaction' => '',
+ 'Add AR Transaction' => '',
+ 'Add Account' => '',
+ 'Add Accounting Group' => '',
+ 'Add Assembly' => '',
+ 'Add Buchungsgruppe' => '',
+ 'Add Business' => '',
+ 'Add Credit Note' => '',
+ 'Add Customer' => '',
+ 'Add Delivery Order' => '',
+ 'Add Department' => '',
+ 'Add Dunning' => '',
+ 'Add Exchangerate' => '',
+ 'Add Follow-Up' => '',
+ 'Add Follow-Up for #1' => '',
+ 'Add General Ledger Transaction' => '',
+ 'Add Group' => '',
+ 'Add Language' => '',
+ 'Add Lead' => '',
+ 'Add License' => '',
+ 'Add Part' => '',
+ 'Add Payment Terms' => '',
+ 'Add Price Factor' => '',
+ 'Add Pricegroup' => '',
+ 'Add Printer' => '',
+ 'Add Project' => '',
+ 'Add Purchase Delivery Order' => '',
+ 'Add Purchase Order' => '',
+ 'Add Quotation' => '',
+ 'Add RFQ' => '',
+ 'Add Request for Quotation' => '',
+ 'Add Sales Delivery Order' => '',
+ 'Add Sales Invoice' => '',
+ 'Add Sales Order' => '',
+ 'Add Service' => '',
+ 'Add Storno Credit Note' => '',
+ 'Add Transaction' => '',
+ 'Add User' => '',
+ 'Add Vendor' => '',
+ 'Add Vendor Invoice' => '',
+ 'Add Warehouse' => '',
+ 'Add a new group' => '',
+ 'Add and edit units' => '',
+ 'Add custom variable' => '',
+ 'Add note' => '',
+ 'Add to group' => '',
+ 'Add unit' => '',
+ 'Address' => '',
+ 'Administration' => '',
+ 'Administration area' => '',
+ 'Advance turnover tax return' => '',
+ 'Aktion' => '',
+ 'All' => '',
+ 'All Accounts' => '',
+ 'All Datasets up to date!' => '',
+ 'All changes in that file have been reverted.' => '',
+ 'All database upgrades have been applied.' => '',
+ 'All general ledger entries' => '',
+ 'All reports' => '',
+ 'Allow access' => '',
+ 'Allow the following users access to my follow-ups:' => '',
+ 'Alternatively you can create a new part which will then be selected.' => '',
+ 'Alternatively you can skip this step and create groups yourself.' => '',
+ 'Amended Advance Turnover Tax Return' => '',
+ 'Amended Advance Turnover Tax Return (Nr. 10)' => '',
+ 'Amount' => '',
+ 'Amount Due' => '',
+ 'Annotations' => '',
+ 'Another user with the login #1 does already exist.' => '',
+ 'Ansprechpartner' => '',
+ 'Ap aging on %s' => '',
+ 'Application Error. No Format given' => '',
+ 'Application Error. Wrong Format' => '',
+ 'Applying [% HTML.escape(file) %]:' => '',
+ 'Approximately #1 prices will be updated.' => '',
+ 'Apr' => '',
+ 'April' => '',
+ 'Ar aging on %s' => '',
+ 'Are you sure you want to delete Delivery Order Number #1?' => '',
+ 'Are you sure you want to delete Invoice Number' => '',
+ 'Are you sure you want to delete Order Number' => '',
+ 'Are you sure you want to delete Quotation Number' => '',
+ 'Are you sure you want to delete Transaction' => '',
+ 'Are you sure you want to remove the marked entries from the queue?' => '',
+ 'Are you sure you want to update the prices' => '',
+ 'Article Code' => '',
+ 'Article Code missing!' => '',
+ 'As a result, the saved onhand values of the present goods can be stored into a warehouse designated by you, or will be reset for a proper warehouse tracking' => '',
+ 'Assemblies' => '',
+ 'Assembly Description' => '',
+ 'Assembly Number' => '',
+ 'Assembly Number missing!' => '',
+ 'Asset' => '',
+ 'Assets' => '',
+ 'Assign new units' => '',
+ 'Assign units' => '',
+ 'Assistant for general ledger corrections' => '',
+ 'Assume Tax Consultant Data in Tax Computation?' => '',
+ 'At least' => '',
+ 'At least one Perl module that Lx-Office ERP requires for running is not installed on your system.' => '',
+ 'At most' => '',
+ 'At the moment the transaction looks like this:' => '',
+ 'Attach PDF:' => '',
+ 'Attachment' => '',
+ 'Attachment name' => '',
+ 'Attempt to call an undefined sub named \'%s\'' => '',
+ 'Audit Control' => '',
+ 'Aug' => '',
+ 'August' => '',
+ 'Authentification database creation' => '',
+ 'Authentification tables creation' => '',
+ 'Auto Send?' => '',
+ 'Automatically created invoice for fee and interest for dunning %s' => '',
+ 'Available qty' => '',
+ 'BALANCE SHEET' => '',
+ 'BIC' => '',
+ 'BOM' => '',
+ 'BWA' => '',
+ 'Back' => '',
+ 'Backup Dataset' => '',
+ 'Backup file' => '',
+ 'Backup of dataset' => '',
+ 'Balance' => '',
+ 'Balance Sheet' => '',
+ 'Bank' => '',
+ 'Bank Code' => '',
+ 'Bank Code (long)' => '',
+ 'Bank Code Number' => '',
+ 'Bank Connection Tax Office' => '',
+ 'Bank Connections' => '',
+ 'Base unit' => '',
+ 'Basic data' => '',
+ 'Batch Printing' => '',
+ 'Bcc' => '',
+ 'Belegnummer' => '',
+ 'Beratername' => '',
+ 'Beraternummer' => '',
+ 'Bestandskonto' => '',
+ 'Bilanz' => '',
+ 'Billing Address' => '',
+ 'Billing/shipping address (city)' => '',
+ 'Billing/shipping address (street)' => '',
+ 'Billing/shipping address (zipcode)' => '',
+ 'Bin' => '',
+ 'Bin From' => '',
+ 'Bin List' => '',
+ 'Bin To' => '',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => '',
+ 'Bins saved.' => '',
+ 'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the "Delete" column.' => '',
+ 'Birthday' => '',
+ 'Bis' => '',
+ 'Bis Konto: ' => '',
+ 'Body' => '',
+ 'Body:' => '',
+ 'Books are open' => '',
+ 'Books closed up to' => '',
+ 'Boolean variables: If the default value is non-empty then the checkbox will be checked by default and unchecked otherwise.' => '',
+ 'Both' => '',
+ 'Bottom' => '',
+ 'Bought' => '',
+ 'Buchungsdatum' => '',
+ 'Buchungsgruppe' => '',
+ 'Buchungsgruppen' => '',
+ 'Buchungskonto' => '',
+ 'Buchungsnummer' => '',
+ 'Business Number' => '',
+ 'Business Volume' => '',
+ 'Business deleted!' => '',
+ 'Business saved!' => '',
+ 'CANCELED' => '',
+ 'CB Transaction' => '',
+ 'CR' => '',
+ 'CRM admin' => '',
+ 'CRM create customers, vendors and contacts' => '',
+ 'CRM follow up' => '',
+ 'CRM know how' => '',
+ 'CRM notices' => '',
+ 'CRM opportunity' => '',
+ 'CRM optional software' => '',
+ 'CRM other' => '',
+ 'CRM search' => '',
+ 'CRM send email' => '',
+ 'CRM services' => '',
+ 'CRM status' => '',
+ 'CRM termin' => '',
+ 'CRM user' => '',
+ 'CSV export -- options' => '',
+ 'Calculate' => '',
+ 'Can not create that quantity with current stock' => '',
+ 'Cancel' => '',
+ 'Cancel Accounts Payables Transaction' => '',
+ 'Cancel Accounts Receivables Transaction' => '',
+ 'Cannot create Lock!' => '',
+ 'Cannot delete account!' => '',
+ 'Cannot delete customer!' => '',
+ 'Cannot delete default account!' => '',
+ 'Cannot delete delivery order!' => '',
+ 'Cannot delete invoice!' => '',
+ 'Cannot delete item!' => '',
+ 'Cannot delete order!' => '',
+ 'Cannot delete quotation!' => '',
+ 'Cannot delete transaction!' => '',
+ 'Cannot delete vendor!' => '',
+ 'Cannot have a value in both Debit and Credit!' => '',
+ 'Cannot post Payment!' => '',
+ 'Cannot post Receipt!' => '',
+ 'Cannot post a transaction without a value!' => '',
+ 'Cannot post invoice for a closed period!' => '',
+ 'Cannot post invoice!' => '',
+ 'Cannot post payment for a closed period!' => '',
+ 'Cannot post payment!' => '',
+ 'Cannot post transaction for a closed period!' => '',
+ 'Cannot post transaction with a debit and credit entry for the same account!' => '',
+ 'Cannot post transaction!' => '',
+ 'Cannot process payment for a closed period!' => '',
+ 'Cannot remove files!' => '',
+ 'Cannot save account!' => '',
+ 'Cannot save order!' => '',
+ 'Cannot save preferences!' => '',
+ 'Cannot save quotation!' => '',
+ 'Cannot storno storno invoice!' => '',
+ 'Carry over shipping address' => '',
+ 'Cash' => '',
+ 'Cc' => '',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => '',
+ 'Charge Number' => '',
+ 'Charge number' => '',
+ 'Chart Type' => '',
+ 'Chart balance' => '',
+ 'Chart of Accounts' => '',
+ 'Chart of accounts' => '',
+ 'Chartaccounts connected to this Tax:' => '',
+ 'Check Details' => '',
+ 'Checks' => '',
+ 'Choose Customer' => '',
+ 'Choose Outputformat' => '',
+ 'Choose Vendor' => '',
+ 'Choose a Tax Number' => '',
+ 'City' => '',
+ 'Cleared Balance' => '',
+ 'Clearing Tax Received (No 71)' => '',
+ 'Click on login name to edit!' => '',
+ 'Close' => '',
+ 'Close Books up to' => '',
+ 'Close Window' => '',
+ 'Closed' => '',
+ 'Collective Orders only work for orders from one customer!' => '',
+ 'Comment' => '',
+ 'Company' => '',
+ 'Company Name' => '',
+ 'Compare to' => '',
+ 'Configuration of individual TODO items' => '',
+ 'Confirm' => '',
+ 'Confirm!' => '',
+ 'Confirmation' => '',
+ 'Contact' => '',
+ 'Contact Person' => '',
+ 'Contact person (surname)' => '',
+ 'Contacts' => '',
+ 'Continue' => '',
+ 'Contra' => '',
+ 'Copies' => '',
+ 'Correct taxkey' => '',
+ 'Corrections' => '',
+ 'Cost Center' => '',
+ 'Costs' => '',
+ 'Could not copy %s to %s. Reason: %s' => '',
+ 'Could not open the file users/members.' => '',
+ 'Could not open the old memberfile.' => '',
+ 'Could not print dunning.' => '',
+ 'Could not rename %s to %s. Reason: %s' => '',
+ 'Could not spawn ghostscript.' => '',
+ 'Could not spawn the printer command.' => '',
+ 'Could not update prices!' => '',
+ 'Country' => '',
+ 'Create Assembly' => '',
+ 'Create Buchungsgruppen' => '',
+ 'Create Chart of Accounts' => '',
+ 'Create Dataset' => '',
+ 'Create Date' => '',
+ 'Create a standard group' => '',
+ 'Create and edit RFQs' => '',
+ 'Create and edit customers and vendors' => '',
+ 'Create and edit dunnings' => '',
+ 'Create and edit invoices and credit notes' => '',
+ 'Create and edit parts, services, assemblies' => '',
+ 'Create and edit projects' => '',
+ 'Create and edit purchase delivery orders' => '',
+ 'Create and edit purchase orders' => '',
+ 'Create and edit sales delivery orders' => '',
+ 'Create and edit sales orders' => '',
+ 'Create and edit sales quotations' => '',
+ 'Create and edit vendor invoices' => '',
+ 'Create invoice?' => '',
+ 'Create new' => '',
+ 'Create tables' => '',
+ 'Created by' => '',
+ 'Created for' => '',
+ 'Created on' => '',
+ 'Credit' => '',
+ 'Credit (one letter abbreviation)' => '',
+ 'Credit Account' => '',
+ 'Credit Limit' => '',
+ 'Credit Limit exceeded!!!' => '',
+ 'Credit Note' => '',
+ 'Credit Note Date' => '',
+ 'Credit Note Number' => '',
+ 'Credit Starting Balance' => '',
+ 'Credit Tax' => '',
+ 'Credit Tax Account' => '',
+ 'Credit note (one letter abbreviation)' => '',
+ 'Curr' => '',
+ 'Currencies' => '',
+ 'Currency' => '',
+ 'Current / Next Level' => '',
+ 'Current Earnings' => '',
+ 'Current unit' => '',
+ 'Current value:' => '',
+ 'Custom Variables' => '',
+ 'Custom variables for module' => '',
+ 'Customer' => '',
+ 'Customer Number' => '',
+ 'Customer Order Number' => '',
+ 'Customer deleted!' => '',
+ 'Customer details' => '',
+ 'Customer missing!' => '',
+ 'Customer not on file or locked!' => '',
+ 'Customer not on file!' => '',
+ 'Customer saved!' => '',
+ 'Customer type' => '',
+ 'Customername' => '',
+ 'Customernumberinit' => '',
+ 'Customers' => '',
+ 'Customers and vendors' => '',
+ 'Customized Report' => '',
+ 'DATEV - Export Assistent' => '',
+ 'DATEV Angaben' => '',
+ 'DATEV Export' => '',
+ 'DATEX - Export Assistent' => '',
+ 'DELETED' => '',
+ 'DFV-Kennzeichen' => '',
+ 'DR' => '',
+ 'DUNNING STARTED' => '',
+ 'DUNS-Nr' => '',
+ 'Database' => '',
+ 'Database Administration' => '',
+ 'Database Connection Test' => '',
+ 'Database Host' => '',
+ 'Database User missing!' => '',
+ 'Database backups and restorations are disabled in lx-erp.conf.' => '',
+ 'Database name' => '',
+ 'Database template' => '',
+ 'Database update error:' => '',
+ 'Dataset' => '',
+ 'Dataset missing!' => '',
+ 'Dataset name' => '',
+ 'Dataset upgrade' => '',
+ 'Date' => '',
+ 'Date Format' => '',
+ 'Date Paid' => '',
+ 'Date and timestamp variables: If the default value equals \'NOW\' then the current date/current timestamp will be used. Otherwise the default value is copied as-is.' => '',
+ 'Date missing!' => '',
+ 'Datevautomatik' => '',
+ 'Datum von' => '',
+ 'Debit' => '',
+ 'Debit (one letter abbreviation)' => '',
+ 'Debit Account' => '',
+ 'Debit Starting Balance' => '',
+ 'Debit Tax' => '',
+ 'Debit Tax Account' => '',
+ 'Debit and credit out of balance!' => '',
+ 'Dec' => '',
+ 'December' => '',
+ 'Decimalplaces' => '',
+ 'Decrease' => '',
+ 'Default (no language selected)' => '',
+ 'Default Accounts' => '',
+ 'Default output medium' => '',
+ 'Default printer' => '',
+ 'Default template format' => '',
+ 'Default value' => '',
+ 'Defaults saved.' => '',
+ 'Delete' => '',
+ 'Delete Account' => '',
+ 'Delete Contact' => '',
+ 'Delete Dataset' => '',
+ 'Delete Shipto' => '',
+ 'Delete delivery order' => '',
+ 'Delete drafts' => '',
+ 'Delete group' => '',
+ 'Delete transaction' => '',
+ 'Delivered' => '',
+ 'Delivery Date' => '',
+ 'Delivery Order' => '',
+ 'Delivery Order Date' => '',
+ 'Delivery Order Date missing!' => '',
+ 'Delivery Order Number' => '',
+ 'Delivery Order deleted!' => '',
+ 'Delivery Orders' => '',
+ 'Department' => '',
+ 'Department deleted!' => '',
+ 'Department saved!' => '',
+ 'Departments' => '',
+ 'Dependency loop detected:' => '',
+ 'Deposit' => '',
+ 'Description' => '',
+ 'Description (Click on Description for details)' => '',
+ 'Description missing!' => '',
+ 'Description must not be empty!' => '',
+ 'Destination bin' => '',
+ 'Destination warehouse' => '',
+ 'Destination warehouse and bin' => '',
+ 'Details (one letter abbreviation)' => '',
+ 'Difference' => '',
+ 'Dimension unit' => '',
+ 'Directory' => '',
+ 'Discount' => '',
+ 'Display' => '',
+ 'Display file' => '',
+ 'Display options' => '',
+ 'Do you really want to delete AP transaction #1?' => '',
+ 'Do you really want to delete AR transaction #1?' => '',
+ 'Do you really want to delete GL transaction #1?' => '',
+ 'Do you really want to delete this group:' => '',
+ 'Do you really want to delete this warehouse?' => '',
+ 'Do you want Lx-Office to create a group for access to all functions?' => '',
+ 'Do you want to <b>limit</b> your search?' => '',
+ 'Do you want to carry this shipping address over to the new purchase order so that the vendor can deliver the goods directly to your customer?' => '',
+ 'Do you want to store the existing onhand values into a new warehouse?' => '',
+ 'Document' => '',
+ 'Documents in the WebDAV repository' => '',
+ 'Done' => '',
+ 'Download the backup' => '',
+ 'Draft saved.' => '',
+ 'Drawing' => '',
+ 'Driver' => '',
+ 'Dropdown Limit' => '',
+ 'Due' => '',
+ 'Due Date' => '',
+ 'Due Date missing!' => '',
+ 'Duedate +Days' => '',
+ 'Dunning' => '',
+ 'Dunning Amount' => '',
+ 'Dunning Date' => '',
+ 'Dunning Date from' => '',
+ 'Dunning Description' => '',
+ 'Dunning Description missing in row ' => '',
+ 'Dunning Duedate' => '',
+ 'Dunning Level' => '',
+ 'Dunning Level missing in row ' => '',
+ 'Dunning Process Config saved!' => '',
+ 'Dunning Process started for selected invoices!' => '',
+ 'Dunning number' => '',
+ 'Dunning overview' => '',
+ 'Dunnings' => '',
+ 'During this user migration Lx-Office can create such a group for you and grant all users access to all of Lx-Office\'s functions.' => '',
+ 'E-mail' => '',
+ 'E-mail Statement to' => '',
+ 'E-mail address missing!' => '',
+ 'EAN' => '',
+ 'EAN-Code' => '',
+ 'EB-Wert' => '',
+ 'EK' => '',
+ 'ELSE' => '',
+ 'ELSTER Export (Taxbird)' => '',
+ 'ELSTER Export (Winston)' => '',
+ 'ELSTER Export nach Winston' => '',
+ 'ELSTER Tax Number' => '',
+ 'EQUITY' => '',
+ 'EU with VAT ID' => '',
+ 'EU without VAT ID' => '',
+ 'EUER' => '',
+ 'EUR' => '',
+ 'Earlier versions of Lx-Office contained bugs which might have led to wrong entries in the general ledger.' => '',
+ 'Edit' => '',
+ 'Edit ' => '',
+ 'Edit Access Rights' => '',
+ 'Edit Access Rights for Follow-Ups' => '',
+ 'Edit Account' => '',
+ 'Edit Accounting Group' => '',
+ 'Edit Assembly' => '',
+ 'Edit Bins' => '',
+ 'Edit Buchungsgruppe' => '',
+ 'Edit Business' => '',
+ 'Edit Credit Note' => '',
+ 'Edit Customer' => '',
+ 'Edit Department' => '',
+ 'Edit Dunning' => '',
+ 'Edit Dunning Process Config' => '',
+ 'Edit Follow-Up' => '',
+ 'Edit Follow-Up for #1' => '',
+ 'Edit General Ledger Transaction' => '',
+ 'Edit Group' => '',
+ 'Edit Language' => '',
+ 'Edit Lead' => '',
+ 'Edit Part' => '',
+ 'Edit Payment Terms' => '',
+ 'Edit Preferences for #1' => '',
+ 'Edit Price Factor' => '',
+ 'Edit Pricegroup' => '',
+ 'Edit Printer' => '',
+ 'Edit Project' => '',
+ 'Edit Purchase Delivery Order' => '',
+ 'Edit Purchase Order' => '',
+ 'Edit Quotation' => '',
+ 'Edit Request for Quotation' => '',
+ 'Edit Sales Delivery Order' => '',
+ 'Edit Sales Invoice' => '',
+ 'Edit Sales Order' => '',
+ 'Edit Service' => '',
+ 'Edit Storno Credit Note' => '',
+ 'Edit Storno Invoice' => '',
+ 'Edit User' => '',
+ 'Edit Vendor' => '',
+ 'Edit Vendor Invoice' => '',
+ 'Edit Warehouse' => '',
+ 'Edit and delete a group' => '',
+ 'Edit custom variable' => '',
+ 'Edit file' => '',
+ 'Edit greetings' => '',
+ 'Edit group ' => '',
+ 'Edit group membership' => '',
+ 'Edit groups' => '',
+ 'Edit note' => '',
+ 'Edit rights' => '',
+ 'Edit templates' => '',
+ 'Edit the Delivery Order' => '',
+ 'Edit the membership of all users in all groups:' => '',
+ 'Edit the purchase_order' => '',
+ 'Edit the request_quotation' => '',
+ 'Edit the sales_order' => '',
+ 'Edit the sales_quotation' => '',
+ 'Edit the stylesheet' => '',
+ 'Edit units' => '',
+ 'Editable' => '',
+ 'Element disabled' => '',
+ 'Employee' => '',
+ 'Empty transaction!' => '',
+ 'Enter a description for this new draft.' => '',
+ 'Enter longdescription' => '',
+ 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => '',
+ 'Equity' => '',
+ 'Error' => '',
+ 'Error in database control file \'%s\': %s' => '',
+ 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => '',
+ 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => '',
+ 'Error in row #1: The quantity you entered is bigger than the stocked quantity.' => '',
+ 'Error message from the database driver:' => '',
+ 'Error!' => '',
+ 'Ertrag' => '',
+ 'Ertrag prozentual' => '',
+ 'Escape character' => '',
+ 'Exact' => '',
+ 'Exch' => '',
+ 'Exchangerate' => '',
+ 'Exchangerate Difference' => '',
+ 'Exchangerate for payment missing!' => '',
+ 'Exchangerate missing!' => '',
+ 'Existing Buchungsgruppen' => '',
+ 'Existing Datasets' => '',
+ 'Existing pending follow-ups for this item' => '',
+ 'Expected Tax' => '',
+ 'Expense' => '',
+ 'Expense Account' => '',
+ 'Expense accno' => '',
+ 'Expense/Asset' => '',
+ 'Expenses EU with UStId' => '',
+ 'Expenses EU without UStId' => '',
+ 'Expired licenses' => '',
+ 'Expiring in x month(s)' => '',
+ 'Export Buchungsdaten' => '',
+ 'Export Stammdaten' => '',
+ 'Export as CSV' => '',
+ 'Export as PDF' => '',
+ 'Extended' => '',
+ 'Extension Of Time' => '',
+ 'Factor' => '',
+ 'Factor missing!' => '',
+ 'Falsches Datumsformat!' => '',
+ 'Favorites' => '',
+ 'Fax' => '',
+ 'Feb' => '',
+ 'February' => '',
+ 'Fee' => '',
+ 'File' => '',
+ 'File name' => '',
+ 'Files created by Lx-Office\'s "Backup Dataset" function are such files.' => '',
+ 'Filter' => '',
+ 'Finish' => '',
+ 'Fix transaction' => '',
+ 'Fix transactions' => '',
+ 'Folgekonto' => '',
+ 'Follow-Up' => '',
+ 'Follow-Up Date' => '',
+ 'Follow-Up On' => '',
+ 'Follow-Up done' => '',
+ 'Follow-Up for' => '',
+ 'Follow-Up for user' => '',
+ 'Follow-Up saved.' => '',
+ 'Follow-Ups' => '',
+ 'Follow-up for' => '',
+ 'Font' => '',
+ 'Font size' => '',
+ 'For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.' => '',
+ 'For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.' => '',
+ 'For each unit there\'s either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the "smaller" one. A factor may not be less than 1. Therefore you may define "kg" with the base unit "g" and a factor of "1", but not the other way round.' => '',
+ 'Foreign Exchange Gain' => '',
+ 'Foreign Exchange Loss' => '',
+ 'Foreign Expenses' => '',
+ 'Foreign Revenues' => '',
+ 'Form details (second row)' => '',
+ 'Formula' => '',
+ 'Free report period' => '',
+ 'Free-form text' => '',
+ 'Fristsetzung' => '',
+ 'From' => '',
+ 'From Date' => '',
+ 'Full Access' => '',
+ 'Full access to all functions' => '',
+ 'GL Transaction' => '',
+ 'Gegenkonto' => '',
+ 'Gender' => '',
+ 'General Ledger' => '',
+ 'General Ledger Corrections' => '',
+ 'General Ledger Transaction' => '',
+ 'General ledger and cash' => '',
+ 'General ledger corrections' => '',
+ 'Generic Tax Report' => '',
+ 'Given Name' => '',
+ 'Greeting' => '',
+ 'Greetings' => '',
+ 'Group' => '',
+ 'Group Invoices' => '',
+ 'Group Items' => '',
+ 'Group deleted!' => '',
+ 'Group membership' => '',
+ 'Group missing!' => '',
+ 'Group saved!' => '',
+ 'Groups' => '',
+ 'HTML' => '',
+ 'HTML Templates' => '',
+ 'Has serial number' => '',
+ 'Header' => '',
+ 'Heading' => '',
+ 'Help' => '',
+ 'Here\'s an example command line:' => '',
+ 'Hide by default' => '',
+ 'History' => '',
+ 'History Search' => '',
+ 'History Search Engine' => '',
+ 'Homepage' => '',
+ 'Host' => '',
+ 'However, you can create a new part which will then be selected.' => '',
+ 'I' => '',
+ 'IBAN' => '',
+ 'ID' => '',
+ 'ID-Nummer' => '',
+ 'II' => '',
+ 'III' => '',
+ 'IV' => '',
+ 'If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.' => '',
+ 'If the database user listed above does not have the right to create a database then enter the name and password of the superuser below:' => '',
+ 'If you chose to let Lx-Office do the migration then Lx-Office will also remove the old member file after creating a backup copy of it in the directory "[% HTML.escape(backupdir) %]".' => '',
+ 'If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.' => '',
+ 'If you see this message, you most likely just setup your LX-Office and haven\'t added any entry types. If this is the case, the option is accessible for administrators in the System menu.' => '',
+ 'If you want to change any of these parameters then press the "Back" button, edit the file "config/authentication.pl" and login into the admin module again.' => '',
+ 'If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.' => '',
+ 'If you want to set up the authentication database yourself then log in to the administration panel. Lx-Office will then create the database and tables for you.' => '',
+ 'If you yourself want to upgrade the installation then please read the file "doc/UPGRADE" and follow the steps outlined in this file.' => '',
+ 'Image' => '',
+ 'Import CSV' => '',
+ 'In Lx-Office 2.4.0 the administrator has to enter a list of units in the administrative section.' => '',
+ 'In order to do that hit the button "Delete transaction".' => '',
+ 'In the latter case the tables needed by Lx-Office will be created in that database.' => '',
+ 'In-line' => '',
+ 'Inactive' => '',
+ 'Include Exchangerate Difference' => '',
+ 'Include column headings' => '',
+ 'Include empty bins' => '',
+ 'Include in Report' => '',
+ 'Include in drop-down menus' => '',
+ 'Includeable in reports' => '',
+ 'Income Statement' => '',
+ 'Income accno' => '',
+ 'Incoming Payments' => '',
+ 'Incoming invoice number' => '',
+ 'Incorrect Password!' => '',
+ 'Incorrect username or password!' => '',
+ 'Increase' => '',
+ 'Individual Items' => '',
+ 'Information' => '',
+ 'Interest' => '',
+ 'Interest Rate' => '',
+ 'Internal Notes' => '',
+ 'International' => '',
+ 'Internet' => '',
+ 'Introduction of Buchungsgruppen' => '',
+ 'Introduction of units' => '',
+ 'Inv. Duedate' => '',
+ 'Invalid' => '',
+ 'Invalid follow-up ID.' => '',
+ 'Invalid quantity.' => '',
+ 'Invdate' => '',
+ 'Invdate from' => '',
+ 'Inventory' => '',
+ 'Inventory Account' => '',
+ 'Inventory quantity must be zero before you can set this assembly obsolete!' => '',
+ 'Inventory quantity must be zero before you can set this part obsolete!' => '',
+ 'Invno.' => '',
+ 'Invnumber' => '',
+ 'Invnumber missing!' => '',
+ 'Invoice' => '',
+ 'Invoice (one letter abbreviation)' => '',
+ 'Invoice Date' => '',
+ 'Invoice Date missing!' => '',
+ 'Invoice Duedate' => '',
+ 'Invoice Number' => '',
+ 'Invoice Number missing!' => '',
+ 'Invoice deleted!' => '',
+ 'Invoice for fees' => '',
+ 'Invoice has already been storno\'d!' => '',
+ 'Invoice with Storno (abbreviation)' => '',
+ 'Invoices' => '',
+ 'Is this a summary account to record' => '',
+ 'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' => '',
+ 'It is possible to do this automatically for some Buchungsgruppen, but not for all.' => '',
+ 'It is possible to do this automatically for some units, but for others the user has to chose the new unit.' => '',
+ 'It may optionally be compressed with "gzip".' => '',
+ 'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' => '',
+ 'Item deleted!' => '',
+ 'Item not on file!' => '',
+ 'Jahresverkehrszahlen neu' => '',
+ 'Jan' => '',
+ 'January' => '',
+ 'Journal' => '',
+ 'Jul' => '',
+ 'July' => '',
+ 'Jump to' => '',
+ 'Jun' => '',
+ 'June' => '',
+ 'KNE-Export erfolgreich!' => '',
+ 'KNr. beim Kunden' => '',
+ 'Keine Suchergebnisse gefunden!' => '',
+ 'Konten' => '',
+ 'Kontonummernerweiterung (KNE)' => '',
+ 'L' => '',
+ 'LIABILITIES' => '',
+ 'LP' => '',
+ 'LaTeX Templates' => '',
+ 'Landscape' => '',
+ 'Language' => '',
+ 'Language Values' => '',
+ 'Language deleted!' => '',
+ 'Language missing!' => '',
+ 'Language saved!' => '',
+ 'Languages' => '',
+ 'Last Article Number' => '',
+ 'Last Cost' => '',
+ 'Last Credit Note Number' => '',
+ 'Last Customer Number' => '',
+ 'Last Invoice Number' => '',
+ 'Last Purchase Delivery Order Number' => '',
+ 'Last Purchase Order Number' => '',
+ 'Last RFQ Number' => '',
+ 'Last Sales Delivery Order Number' => '',
+ 'Last Sales Order Number' => '',
+ 'Last Sales Quotation Number' => '',
+ 'Last Service Number' => '',
+ 'Last Transaction' => '',
+ 'Last Vendor Number' => '',
+ 'Lead' => '',
+ 'Leave host and port field empty unless you want to make a remote connection.' => '',
+ 'Left' => '',
+ 'Liability' => '',
+ 'License' => '',
+ 'License key' => '',
+ 'Licensed to' => '',
+ 'Licenses' => '',
+ 'Lieferungen' => '',
+ 'Limit part selection' => '',
+ 'Line Total' => '',
+ 'Line endings' => '',
+ 'List' => '',
+ 'List Accounting Groups' => '',
+ 'List Accounts' => '',
+ 'List Businesses' => '',
+ 'List Departments' => '',
+ 'List Groups' => '',
+ 'List Languages' => '',
+ 'List Lead' => '',
+ 'List Payment Terms' => '',
+ 'List Price' => '',
+ 'List Price Factors' => '',
+ 'List Pricegroups' => '',
+ 'List Printer' => '',
+ 'List Tax' => '',
+ 'List Transactions' => '',
+ 'List Warehouses' => '',
+ 'List export' => '',
+ 'List of custom variables' => '',
+ 'Load draft' => '',
+ 'Local Tax Office Preferences' => '',
+ 'Lock System' => '',
+ 'Lockfile created!' => '',
+ 'Lockfile removed!' => '',
+ 'Login' => '',
+ 'Login Name' => '',
+ 'Login name missing!' => '',
+ 'Logout' => '',
+ 'Long Dates' => '',
+ 'Long Description' => '',
+ 'Lx-Office 2.4.0 introduces two new concepts: tax zones and Buchungsgruppen.' => '',
+ 'Lx-Office can fix these problems automatically.' => '',
+ 'Lx-Office has been switched to group-based access restrictions.' => '',
+ 'Lx-Office has found one or more problems in the general ledger.' => '',
+ 'Lx-Office is about to update the database <b>[% HTML.escape(dbname) %]</b>. You should create a backup of the database before proceeding because the backup might not be reversible.' => '',
+ 'Lx-Office is now able to manage warehouses instead of just tracking the amount of goods in your system.' => '',
+ 'Lx-Office website' => '',
+ 'MAILED' => '',
+ 'MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES' => '',
+ 'Main Preferences' => '',
+ 'Make' => '',
+ 'Manage license keys' => '',
+ 'Mandantennummer' => '',
+ 'Mar' => '',
+ 'March' => '',
+ 'Margins' => '',
+ 'Mark as paid?' => '',
+ 'Mark closed' => '',
+ 'Marked as paid' => '',
+ 'Marked entries printed!' => '',
+ 'Master Data' => '',
+ 'Max. Dunning Level' => '',
+ 'May' => '',
+ 'May ' => '',
+ 'May set the BCC field when sending emails' => '',
+ 'Medium Number' => '',
+ 'Memo' => '',
+ 'Message' => '',
+ 'Method' => '',
+ 'Microfiche' => '',
+ 'Minimum Amount' => '',
+ 'Miscellaneous' => '',
+ 'Missing \'description\' field.' => '',
+ 'Missing \'tag\' field.' => '',
+ 'Missing Method!' => '',
+ 'Missing Tax Authoritys Preferences' => '',
+ 'Missing amount' => '',
+ 'Missing parameter #1 in call to sub #2.' => '',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => '',
+ 'Mitarbeiter' => '',
+ 'Mobile1' => '',
+ 'Mobile2' => '',
+ 'Model' => '',
+ 'Module' => '',
+ 'Module home page' => '',
+ 'Module name' => '',
+ 'Monat' => '',
+ 'Monthly' => '',
+ 'More than one control file with the tag \'%s\' exist.' => '',
+ 'Multibyte Encoding' => '',
+ 'MwSt. inkl.' => '',
+ 'Name' => '',
+ 'Name missing!' => '',
+ 'National' => '',
+ 'National Expenses' => '',
+ 'National Revenues' => '',
+ 'Netto Terms' => '',
+ 'New Buchungsgruppe [% loop.count %]' => '',
+ 'New Templates' => '',
+ 'New assembly' => '',
+ 'New contact' => '',
+ 'New customer' => '',
+ 'New invoice' => '',
+ 'New part' => '',
+ 'New sales order' => '',
+ 'New service' => '',
+ 'New unit' => '',
+ 'New vendor' => '',
+ 'Next Dunning Level' => '',
+ 'No' => '',
+ 'No %s was found matching the search parameters.' => '',
+ 'No Company Address given' => '',
+ 'No Company Name given' => '',
+ 'No Customer was found matching the search parameters.' => '',
+ 'No Database Drivers available!' => '',
+ 'No Dataset selected!' => '',
+ 'No Vendor was found matching the search parameters.' => '',
+ 'No action defined.' => '',
+ 'No backup file has been uploaded.' => '',
+ 'No bins have been added to this warehouse yet.' => '',
+ 'No customer has been selected yet.' => '',
+ 'No data was found.' => '',
+ 'No databases have been found on this server.' => '',
+ 'No datasets have been selected.' => '',
+ 'No dunnings have been selected for printing.' => '',
+ 'No entries were found which had no unit assigned to them.' => '',
+ 'No group has been selected, or the group does not exist anymore.' => '',
+ 'No groups have been added yet.' => '',
+ 'No licenses were found that match the search criteria.' => '',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => '',
+ 'No part was found matching the search parameters.' => '',
+ 'No prices will be updated because no prices have been entered.' => '',
+ 'No problems were recognized.' => '',
+ 'No unknown units where found.' => '',
+ 'No user has been selected.' => '',
+ 'No valid number entered for pricegroup "#1".' => '',
+ 'No vendor has been selected yet.' => '',
+ 'No warehouse has been created yet or the quantity of the bins is not configured yet.' => '',
+ 'No.' => '',
+ 'Non-taxable Purchases' => '',
+ 'Non-taxable Sales' => '',
+ 'None' => '',
+ 'Not Discountable' => '',
+ 'Not delivered' => '',
+ 'Not done yet' => '',
+ 'Not obsolete' => '',
+ 'Note' => '',
+ 'Note: Taxkeys must have a "valid from" date, and will not be in effect otherwise.' => '',
+ 'Notes' => '',
+ 'Nothing has been selected for removal.' => '',
+ 'Nothing has been selected for transfer.' => '',
+ 'Nothing selected!' => '',
+ 'Nothing to delete!' => '',
+ 'Nov' => '',
+ 'November' => '',
+ 'Now the user must select a single Buchungsgruppe for each part instead of three distinct accounts.' => '',
+ 'Number' => '',
+ 'Number Format' => '',
+ 'Number missing in Row' => '',
+ 'Number of bins' => '',
+ 'Number of copies' => '',
+ 'Number of new bins' => '',
+ 'Number pages' => '',
+ 'Number variables: \'PRECISION=n\' forces numbers to be shown with exactly n decimal places.' => '',
+ 'OB Transaction' => '',
+ 'OBE-Export erfolgreich!' => '',
+ 'Obsolete' => '',
+ 'Oct' => '',
+ 'October' => '',
+ 'Off' => '',
+ 'Old (on the side)' => '',
+ 'On' => '',
+ 'On Hand' => '',
+ 'On Order' => '',
+ 'One or more Perl modules missing' => '',
+ 'Only due follow-ups' => '',
+ 'Open' => '',
+ 'OpenDocument/OASIS' => '',
+ 'Openings' => '',
+ 'Optional comment' => '',
+ 'Options' => '',
+ 'Order' => '',
+ 'Order Date' => '',
+ 'Order Date missing!' => '',
+ 'Order Number' => '',
+ 'Order Number missing!' => '',
+ 'Order deleted!' => '',
+ 'Ordered' => '',
+ 'Orientation' => '',
+ 'Orphaned' => '',
+ 'Other users\' follow-ups' => '',
+ 'Other values are ignored.' => '',
+ 'Others' => '',
+ 'Otherwise all users will only have access to their own settings.' => '',
+ 'Otherwise the variable is only available for printing.' => '',
+ 'Out of balance transaction!' => '',
+ 'Out of balance!' => '',
+ 'Output Number Format' => '',
+ 'Outputformat' => '',
+ 'Overdue sales quotations and requests for quotations' => '',
+ 'Own Product' => '',
+ 'PAYMENT POSTED' => '',
+ 'PDF' => '',
+ 'PDF (OpenDocument/OASIS)' => '',
+ 'PDF export -- options' => '',
+ 'POSTED' => '',
+ 'POSTED AS NEW' => '',
+ 'PRINTED' => '',
+ 'Packing List' => '',
+ 'Packing List Date missing!' => '',
+ 'Packing List Number missing!' => '',
+ 'Packing Lists' => '',
+ 'Page #1/#2' => '',
+ 'Paid' => '',
+ 'Part' => '',
+ 'Part Description' => '',
+ 'Part Description missing!' => '',
+ 'Part Number' => '',
+ 'Part Number missing!' => '',
+ 'Part description' => '',
+ 'Partnumber must not be set to empty!' => '',
+ 'Partnumber not unique!' => '',
+ 'Parts' => '',
+ 'Parts Inventory' => '',
+ 'Parts must have an entry type.' => '',
+ 'Parts, services and assemblies' => '',
+ 'Password' => '',
+ 'Payables' => '',
+ 'Payment' => '',
+ 'Payment Reminder' => '',
+ 'Payment Terms' => '',
+ 'Payment Terms missing in row ' => '',
+ 'Payment Terms saved!' => '',
+ 'Payment date missing!' => '',
+ 'Payment posted!' => '',
+ 'Payment terms deleted!' => '',
+ 'Payments' => '',
+ 'Period' => '',
+ 'Period:' => '',
+ 'Personal settings' => '',
+ 'Pg Database Administration' => '',
+ 'Phone' => '',
+ 'Phone1' => '',
+ 'Phone2' => '',
+ 'Pick List' => '',
+ 'Please ask your administrator to create warehouses and bins.' => '',
+ 'Please enter a license key.' => '',
+ 'Please enter a number of licenses.' => '',
+ 'Please enter the login for the new user.' => '',
+ 'Please enter the name of the database that will be used as the template for the new database:' => '',
+ 'Please enter the name of the dataset you want to restore the backup in.' => '',
+ 'Please enter the taxnumber in the administration menu userpreferences' => '',
+ 'Please enter values' => '',
+ 'Please insert object dimensions below.' => '',
+ 'Please insert your language values below' => '',
+ 'Please insert your longdescription below' => '',
+ 'Please install the below listed modules or ask your system administrator to.' => '',
+ 'Please re-run the analysis for broken general ledger entries by clicking this button:' => '',
+ 'Please select a customer from the list below.' => '',
+ 'Please select a part from the list below.' => '',
+ 'Please select a vendor from the list below.' => '',
+ 'Please select the chart of accounts this installation is using from the list below.' => '',
+ 'Please select the database you want to backup' => '',
+ 'Please seletct the dataset you want to delete:' => '',
+ 'Please specify a description for the warehouse designated for these goods.' => '',
+ 'Plural' => '',
+ 'Port' => '',
+ 'Portrait' => '',
+ 'Post' => '',
+ 'Post Payment' => '',
+ 'Postscript' => '',
+ 'Posustva_coa' => '',
+ 'Preferences' => '',
+ 'Preferences saved!' => '',
+ 'Prefix for the new bins\' names' => '',
+ 'Preis' => '',
+ 'Preisgruppe' => '',
+ 'Preisklasse' => '',
+ 'Prepayment' => '',
+ 'Preview' => '',
+ 'Previous transdate text' => '',
+ 'Previous transnumber text' => '',
+ 'Price' => '',
+ 'Price Factor' => '',
+ 'Price Factors' => '',
+ 'Price factor deleted!' => '',
+ 'Price factor saved!' => '',
+ 'Pricegroup' => '',
+ 'Pricegroup deleted!' => '',
+ 'Pricegroup missing!' => '',
+ 'Pricegroup saved!' => '',
+ 'Pricegroups' => '',
+ 'Print' => '',
+ 'Print and Post' => '',
+ 'Print dunnings' => '',
+ 'Print list' => '',
+ 'Print options' => '',
+ 'Printer' => '',
+ 'Printer Command' => '',
+ 'Printer Command missing!' => '',
+ 'Printer Description' => '',
+ 'Printer deleted!' => '',
+ 'Printer saved!' => '',
+ 'Printing ... ' => '',
+ 'Prior to Lx-Office v2.4.0 the user could enter arbitrary strings as units for parts, services and in invoices, sales quotations etc.' => '',
+ 'Prior to Lx-Office v2.4.0 the user had to chose the accounts for each part and service.' => '',
+ 'Private E-mail' => '',
+ 'Private Phone' => '',
+ 'Problem' => '',
+ 'Produce Assembly' => '',
+ 'Productivity' => '',
+ 'Profit Center' => '',
+ 'Proforma Invoice' => '',
+ 'Programm' => '',
+ 'Project' => '',
+ 'Project Number' => '',
+ 'Project Number missing!' => '',
+ 'Project Numbers' => '',
+ 'Project Transactions' => '',
+ 'Project deleted!' => '',
+ 'Project not on file!' => '',
+ 'Project saved!' => '',
+ 'Projects' => '',
+ 'Projecttransactions' => '',
+ 'Prozentual/Absolut' => '',
+ 'Purchase Invoice' => '',
+ 'Purchase Order' => '',
+ 'Purchase Orders' => '',
+ 'Purchase Price' => '',
+ 'Purchase Prices' => '',
+ 'Purchase delivery order' => '',
+ 'Purchase invoices' => '',
+ 'Qty' => '',
+ 'Qty according to delivery order' => '',
+ 'Qty in stock' => '',
+ 'Quantity' => '',
+ 'Quantity missing.' => '',
+ 'Quartal' => '',
+ 'Quarter' => '',
+ 'Quarterly' => '',
+ 'Queue' => '',
+ 'Quotation' => '',
+ 'Quotation Date' => '',
+ 'Quotation Date missing!' => '',
+ 'Quotation Number' => '',
+ 'Quotation Number missing!' => '',
+ 'Quotation deleted!' => '',
+ 'Quotations' => '',
+ 'Quote chararacter' => '',
+ 'Quoted' => '',
+ 'RFQ' => '',
+ 'RFQ Number' => '',
+ 'RFQs' => '',
+ 'ROP' => '',
+ 'Ranges of numbers' => '',
+ 'Ranges of numbers and default accounts' => '',
+ 'Re-run analysis' => '',
+ 'Receipt' => '',
+ 'Receipt posted!' => '',
+ 'Receipt, payment, reconciliation' => '',
+ 'Receipts' => '',
+ 'Receivables' => '',
+ 'Rechnungsnummer' => '',
+ 'Reconciliation' => '',
+ 'Record in' => '',
+ 'Recorded Tax' => '',
+ 'Recorded taxkey' => '',
+ 'Reference' => '',
+ 'Reference missing!' => '',
+ 'Release From Stock' => '',
+ 'Remaining' => '',
+ 'Removal' => '',
+ 'Removal from Warehouse' => '',
+ 'Removal from warehouse' => '',
+ 'Removal qty' => '',
+ 'Remove' => '',
+ 'Remove Draft' => '',
+ 'Remove draft when posting' => '',
+ 'Remove from group' => '',
+ 'Removed spoolfiles!' => '',
+ 'Removing marked entries from queue ...' => '',
+ 'Rename the group' => '',
+ 'Report Positions' => '',
+ 'Report about wareouse contents' => '',
+ 'Report about wareouse transactions' => '',
+ 'Report and misc. Preferences' => '',
+ 'Report for' => '',
+ 'Reports' => '',
+ 'Reqdate' => '',
+ 'Request for Quotation' => '',
+ 'Request for Quotations' => '',
+ 'Request quotation' => '',
+ 'Required by' => '',
+ 'Restore Dataset' => '',
+ 'Revenue' => '',
+ 'Revenue Account' => '',
+ 'Revenues EU with UStId' => '',
+ 'Revenues EU without UStId' => '',
+ 'Right' => '',
+ 'SAVED' => '',
+ 'SAVED FOR DUNNING' => '',
+ 'SCREENED' => '',
+ 'Saldo Credit' => '',
+ 'Saldo Debit' => '',
+ 'Saldo neu' => '',
+ 'Saldo per' => '',
+ 'Sale Prices' => '',
+ 'Sales Invoice' => '',
+ 'Sales Invoices' => '',
+ 'Sales Order' => '',
+ 'Sales Orders' => '',
+ 'Sales and purchase invoices with inventory transactions with taxkeys' => '',
+ 'Sales delivery order' => '',
+ 'Sales invoice number' => '',
+ 'Sales invoices' => '',
+ 'Sales quotation' => '',
+ 'Salesman' => '',
+ 'Salesperson' => '',
+ 'Same as the quote character' => '',
+ 'Sat. Fax' => '',
+ 'Sat. Phone' => '',
+ 'Satz %' => '',
+ 'Save' => '',
+ 'Save account first to insert taxkeys' => '',
+ 'Save and AP Transaction' => '',
+ 'Save and AR Transaction' => '',
+ 'Save and Close' => '',
+ 'Save and Invoice' => '',
+ 'Save and Order' => '',
+ 'Save and Quotation' => '',
+ 'Save and RFQ' => '',
+ 'Save and close' => '',
+ 'Save as new' => '',
+ 'Save draft' => '',
+ 'Saving the file \'%s\' failed. OS error message: %s' => '',
+ 'Screen' => '',
+ 'Searchable' => '',
+ 'Select' => '',
+ 'Select a Customer' => '',
+ 'Select a customer' => '',
+ 'Select a part' => '',
+ 'Select a part or assembly' => '',
+ 'Select a period' => '',
+ 'Select a vendor' => '',
+ 'Select all' => '',
+ 'Select federal state...' => '',
+ 'Select from one of the items below' => '',
+ 'Select from one of the names below' => '',
+ 'Select from one of the projects below' => '',
+ 'Select postscript or PDF!' => '',
+ 'Select tax office...' => '',
+ 'Select the chart of accounts in use' => '',
+ 'Select the checkboxes that match users to the groups they should belong to.' => '',
+ 'Select type of removal' => '',
+ 'Select type of transfer' => '',
+ 'Selection' => '',
+ 'Selection fields: The option field must contain the available options for the selection. Options are separated by \'##\', for example \'Early##Normal##Late\'.' => '',
+ 'Sell Price' => '',
+ 'Send the backup via Email' => '',
+ 'Sep' => '',
+ 'Separator chararacter' => '',
+ 'September' => '',
+ 'Serial No.' => '',
+ 'Serial Number' => '',
+ 'Service' => '',
+ 'Service Items' => '',
+ 'Service Number missing!' => '',
+ 'Service unit' => '',
+ 'Services' => '',
+ 'Set Language Values' => '',
+ 'Set eMail text' => '',
+ 'Setup Menu' => '',
+ 'Setup Templates' => '',
+ 'Ship' => '',
+ 'Ship rcvd' => '',
+ 'Ship to' => '',
+ 'Ship via' => '',
+ 'Shipping Address' => '',
+ 'Shipping Point' => '',
+ 'Shipto' => '',
+ 'Shopartikel' => '',
+ 'Short' => '',
+ 'Show' => '',
+ 'Show TODO list' => '',
+ 'Show by default' => '',
+ 'Show details' => '',
+ 'Show follow ups...' => '',
+ 'Show old dunnings' => '',
+ 'Show overdue sales quotations and requests for quotations...' => '',
+ 'Show your TODO list after loggin in' => '',
+ 'Signature' => '',
+ 'Since bin is not enforced in the parts data, please specify a bin where goods without a specified bin will be put.' => '',
+ 'Skip' => '',
+ 'Skonto' => '',
+ 'Skonto Terms' => '',
+ 'Sold' => '',
+ 'Solution' => '',
+ 'Source' => '',
+ 'Source bin' => '',
+ 'Spoolfile' => '',
+ 'Start Dunning Process' => '',
+ 'Start analysis' => '',
+ 'Start the correction assistant' => '',
+ 'Startdate_coa' => '',
+ 'Starting Balance' => '',
+ 'Statement' => '',
+ 'Statement Balance' => '',
+ 'Statement sent to' => '',
+ 'Statements sent to printer!' => '',
+ 'Step 1 of 3: Parts' => '',
+ 'Step 2 of 3: Services' => '',
+ 'Step 3 of 3: Assemblies' => '',
+ 'Step 3 of 3: Default units' => '',
+ 'Steuersatz' => '',
+ 'Stock' => '',
+ 'Stock value' => '',
+ 'Storno' => '',
+ 'Storno (one letter abbreviation)' => '',
+ 'Storno Invoice' => '',
+ 'Storno Packing List' => '',
+ 'Street' => '',
+ 'Stylesheet' => '',
+ 'Subject' => '',
+ 'Subject:' => '',
+ 'Subtotal' => '',
+ 'Such entries cannot be exported into the DATEV format and have to be fixed as well.' => '',
+ 'Sum Credit' => '',
+ 'Sum Debit' => '',
+ 'Sum for' => '',
+ 'Sum per' => '',
+ 'Summen- und Saldenliste' => '',
+ 'Superuser name' => '',
+ 'System' => '',
+ 'TODO list' => '',
+ 'TODO list options' => '',
+ 'TOP100' => '',
+ 'TOTAL' => '',
+ 'Tax' => '',
+ 'Tax Consultant' => '',
+ 'Tax Included' => '',
+ 'Tax Number' => '',
+ 'Tax Number / SSN' => '',
+ 'Tax Office' => '',
+ 'Tax Office Preferences' => '',
+ 'Tax Percent is a number between 0 and 100' => '',
+ 'Tax Period' => '',
+ 'Tax Position' => '',
+ 'Tax collected' => '',
+ 'Tax deleted!' => '',
+ 'Tax number' => '',
+ 'Tax paid' => '',
+ 'Tax saved!' => '',
+ 'Tax-O-Matic' => '',
+ 'Tax-o-matic Account' => '',
+ 'Taxaccount_coa' => '',
+ 'Taxation' => '',
+ 'Taxdescription missing!' => '',
+ 'Taxdescription_coa' => '',
+ 'Taxes' => '',
+ 'Taxkey' => '',
+ 'Taxkey missing!' => '',
+ 'Taxkey_coa' => '',
+ 'Taxkeys and Taxreport Preferences' => '',
+ 'Taxlink_coa' => '',
+ 'Taxnumber' => '',
+ 'Taxrate missing!' => '',
+ 'Tel' => '',
+ 'Tel.' => '',
+ 'Telephone' => '',
+ 'Template' => '',
+ 'Template Code' => '',
+ 'Template Code missing!' => '',
+ 'Template database' => '',
+ 'Templates' => '',
+ 'Terms missing in row ' => '',
+ 'Test connection' => '',
+ 'Text field' => '',
+ 'Text field variables: \'WIDTH=w HEIGHT=h\' sets the width and height of the text field. They default to 30 and 5 respectively.' => '',
+ 'Text variables: \'MAXLENGTH=n\' sets the maximum entry length to \'n\'.' => '',
+ 'Text, text field and number variables: The default value will be used as-is.' => '',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => '',
+ 'The AP transaction #1 has been deleted.' => '',
+ 'The AR transaction #1 has been deleted.' => '',
+ 'The GL transaction #1 has been deleted.' => '',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => '',
+ 'The access rights have been saved.' => '',
+ 'The assembly has been created.' => '',
+ 'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => '',
+ 'The authentication configuration file "config/authentication.pl" does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => '',
+ 'The authentication database is not reachable at the moment. Either it hasn\'t been set up yet or the database server might be down. Please contact your administrator.' => '',
+ 'The available options depend on the varibale type:' => '',
+ 'The backup you upload here has to be a file created with "pg_dump -o -Ft".' => '',
+ 'The base unit does not exist or it is about to be deleted in row %d.' => '',
+ 'The base unit does not exist.' => '',
+ 'The base unit relations must not contain loops (e.g. by saying that unit A\'s base unit is B, B\'s base unit is C and C\'s base unit is A) in row %d.' => '',
+ 'The columns "Dunning Duedate", "Total Fees" and "Interest" show data for the previous dunning created for this invoice.' => '',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => '',
+ 'The config file "config/authentication.pl" was not found.' => '',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => '',
+ 'The connection to the authentication database failed:' => '',
+ 'The connection to the database could not be established.' => '',
+ 'The connection to the template database failed:' => '',
+ 'The connection was established successfully.' => '',
+ 'The creation of the authentication database failed:' => '',
+ 'The custom variable has been deleted.' => '',
+ 'The custom variable has been saved.' => '',
+ 'The database [% HTML.escape(db) %] has been successfully deleted.' => '',
+ 'The database for user management and authentication does not exist. You can create let Lx-Office create it with the following parameters:' => '',
+ 'The database update/creation did not succeed. The file [% HTML.escape(file) %] contained the following error:' => '',
+ 'The database upgrade for the introduction of Buchungsgruppen is now complete.' => '',
+ 'The database upgrade for the introduction of units is now complete.' => '',
+ 'The dataset [% HTML.escape(db) %] has been successfully created.' => '',
+ 'The dataset backup has been sent via email to [% HTML.escape(to) %].' => '',
+ 'The dataset has to exist before a restoration can be started.' => '',
+ 'The dataset name is missing.' => '',
+ 'The default value depends on the variable type:' => '',
+ 'The delivery order has not been marked as delivered. The warehouse contents have not changed.' => '',
+ 'The description is missing.' => '',
+ 'The description is shown on the form. Chose something short and descriptive.' => '',
+ 'The directory "%s" could not be created:\n%s' => '',
+ 'The directory %s does not exist.' => '',
+ 'The dunning process started' => '',
+ 'The dunnings have been printed.' => '',
+ 'The email address is missing.' => '',
+ 'The factor is missing in row %d.' => '',
+ 'The factor is missing.' => '',
+ 'The first reason is that Lx-Office contained a bug which resulted in the wrong taxkeys being recorded for transactions in which two entries are posted for the same chart with different taxkeys.' => '',
+ 'The follow-up date is missing.' => '',
+ 'The following Buchungsgruppen have already been created:' => '',
+ 'The following Datasets need to be updated' => '',
+ 'The following drafts have been saved and can be loaded.' => '',
+ 'The following transaction contains wrong taxes:' => '',
+ 'The following transaction contains wrong taxkeys:' => '',
+ 'The following units are unknown.' => '',
+ 'The following units exist already:' => '',
+ 'The following users have been migrated into the authentication database:' => '',
+ 'The following warnings occured during an upgrade to the document templates:' => '',
+ 'The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>' => '',
+ 'The greetings have been saved.' => '',
+ 'The group has been added.' => '',
+ 'The group has been deleted.' => '',
+ 'The group has been saved.' => '',
+ 'The group memberships have been saved.' => '',
+ 'The group name is missing.' => '',
+ 'The licensing module has been deactivated in lx-erp.conf.' => '',
+ 'The list has been printed.' => '',
+ 'The login is missing.' => '',
+ 'The name in row %d has already been used before.' => '',
+ 'The name is missing in row %d.' => '',
+ 'The name is missing.' => '',
+ 'The name must only consist of letters, numbers and underscores and start with a letter.' => '',
+ 'The old file containing the user information is still present ("[% HTML.escape(memberfile) %]"). Do you want to migrate these users into the database? If not then you will not be able to log in with any of the users present in the old file. ' => '',
+ 'The option field is empty.' => '',
+ 'The parts for this delivery order have already been transferred in.' => '',
+ 'The parts for this delivery order have already been transferred out.' => '',
+ 'The parts have been removed.' => '',
+ 'The parts have been stocked.' => '',
+ 'The parts have been transferred.' => '',
+ 'The pg_dump process could not be started.' => '',
+ 'The pg_restore process could not be started.' => '',
+ 'The preferred one is to install packages provided by your operating system distribution (e.g. Debian or RPM packages).' => '',
+ 'The program\'s exit code was [% HTML.escape(retval) %] ("0" usually means that everything went OK).' => '',
+ 'The project has been added.' => '',
+ 'The project has been saved.' => '',
+ 'The restoration process has started. Here\'s the output of the "pg_restore" command:' => '',
+ 'The restoration process is complete. Please review "pg_restore"\'s output to find out if the restoration was successful.' => '',
+ 'The second reason is that Lx-Office allowed the user to enter the tax amount manually regardless of the taxkey used.' => '',
+ 'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => '',
+ 'The selected PostgreSQL installation uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => '',
+ 'The selected bin does not exist.' => '',
+ 'The selected warehouse does not exist.' => '',
+ 'The selected warehouse is empty.' => '',
+ 'The session is invalid or has expired.' => '',
+ 'The source warehouse does not contain any bins.' => '',
+ 'The subject is missing.' => '',
+ 'The tables for user management and authentication do not exist. They will be created in the next step in the following database:' => '',
+ 'The tabulator character' => '',
+ 'The third way is to download the module from the above mentioned URL and to install the module manually following the installations instructions contained in the source archive.' => '',
+ 'The transaction is shown below in its current state.' => '',
+ 'The unit has been saved.' => '',
+ 'The unit in row %d has been deleted in the meantime.' => '',
+ 'The unit in row %d has been used in the meantime and cannot be changed anymore.' => '',
+ 'The units have been saved.' => '',
+ 'The user has been added to this group.' => '',
+ 'The user has been removed from this group.' => '',
+ 'The user is a member in the following group(s):' => '',
+ 'The user migration process is complete.' => '',
+ 'The variable name must only consist of letters, numbers and underscores. It must begin with a letter. Example: send_christmas_present' => '',
+ 'The warehouse could not be deleted because it has already been used.' => '',
+ 'The warehouse does not contain any bins.' => '',
+ 'The warehouse or the bin is missing.' => '',
+ 'The wrong taxkeys for AP and AR transactions have been fixed.' => '',
+ 'The wrong taxkeys for inventory transactions for sales and purchase invoices have been fixed.' => '',
+ 'The wrong taxkeys have been fixed.' => '',
+ 'There are #1 unfinished follow-ups of which #2 are due.' => '',
+ 'There are four tax zones.' => '',
+ 'There are no items in stock.' => '',
+ 'There are no items on your TODO list at the moment.' => '',
+ 'There are still entries in the database for which no unit has been assigned.' => '',
+ 'There are usually three ways to install Perl modules.' => '',
+ 'There is at least one sales or purchase invoice for which Lx-Office recorded an inventory transaction with taxkeys even though no tax was recorded.' => '',
+ 'There is at least one transaction for which the user has chosen a logically wrong taxkey.' => '',
+ 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.' => '',
+ 'There is not enough left of \'#1\' in bin \'#2\' for the removal of #3.' => '',
+ 'There is nothing to do in this step.' => '',
+ 'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => '',
+ 'These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.' => '',
+ 'These will only be effective if the account is NOT a summary account AND there exists at least one taxkey. Setting the account as a summary account will erase these settings.' => '',
+ 'These wrong entries cannot be fixed automatically.' => '',
+ 'This corresponds to Lx-Office\'s behavior prior to version 2.4.4.' => '',
+ 'This could have happened for two reasons:' => '',
+ 'This customer number is already in use.' => '',
+ 'This group will be called "Full Access".' => '',
+ 'This installation uses an unknown chart of accounts ("[% HTML.escape(coa) %]"). This database upgrade cannot create standard buchungsgruppen automatically.' => '',
+ 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => '',
+ 'This list is capped at 15 items to keep it fast. If you need a full list, please use reports.' => '',
+ 'This means that the user has created an AP transaction and chosen a taxkey for sales taxes, or that he has created an AR transaction and chosen a taxkey for input taxes.' => '',
+ 'This module can help you identify and correct such entries by analyzing the general ledger and presenting you likely solutions but also allowing you to fix problems yourself.' => '',
+ 'This transaction has to be split into several transactions manually.' => '',
+ 'This update will change the nature the onhand of goods is tracked.' => '',
+ 'This upgrade script tries to map all existing parts in the database to the newly created Buchungsgruppen.' => '',
+ 'This upgrade script tries to map all existing units in the database to the newly created units.' => '',
+ 'This vendor number is already in use.' => '',
+ 'Time period for the analysis:' => '',
+ 'Timestamp' => '',
+ 'Title' => '',
+ 'To' => '',
+ 'To (email)' => '',
+ 'To (time)' => '',
+ 'To Date' => '',
+ 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => '',
+ 'Top' => '',
+ 'Top (CSS)' => '',
+ 'Top (CSS) new' => '',
+ 'Top (Javascript)' => '',
+ 'Top (XUL; only for Mozilla Firefox)' => '',
+ 'Top 100' => '',
+ 'Top 100 hinzufuegen' => '',
+ 'Top Level' => '',
+ 'Total' => '',
+ 'Total Fees' => '',
+ 'Total stock value' => '',
+ 'Totals' => '',
+ 'Trade Discount' => '',
+ 'Trans Id' => '',
+ 'Trans Type' => '',
+ 'Transaction' => '',
+ 'Transaction %d cancelled.' => '',
+ 'Transaction Date missing!' => '',
+ 'Transaction ID missing.' => '',
+ 'Transaction deleted!' => '',
+ 'Transaction description' => '',
+ 'Transaction has already been cancelled!' => '',
+ 'Transaction has been split on both the credit and the debit side' => '',
+ 'Transaction posted!' => '',
+ 'Transactions, AR transactions, AP transactions' => '',
+ 'Transfer' => '',
+ 'Transfer Quantity' => '',
+ 'Transfer To Stock' => '',
+ 'Transfer from warehouse' => '',
+ 'Transfer in' => '',
+ 'Transfer out' => '',
+ 'Transfer qty' => '',
+ 'Translation (%s)' => '',
+ 'Trial Balance' => '',
+ 'Trial balance between %s and %s' => '',
+ 'Trying to call a sub without a name' => '',
+ 'Type' => '',
+ 'Type of Business' => '',
+ 'USTVA' => '',
+ 'USTVA 2004' => '',
+ 'USTVA 2005' => '',
+ 'USTVA 2006' => '',
+ 'USTVA 2007' => '',
+ 'USTVA-Hint: Method' => '',
+ 'USTVA-Hint: Tax Authoritys' => '',
+ 'USt-IdNr.' => '',
+ 'USt-Konto' => '',
+ 'UStVA' => '',
+ 'UStVA (PDF-Dokument)' => '',
+ 'UStVa' => '',
+ 'UStVa Einstellungen' => '',
+ 'Unbalanced Ledger' => '',
+ 'Unchecked custom variables will not appear in orders and invoices.' => '',
+ 'Unfinished follow-ups' => '',
+ 'Unit' => '',
+ 'Unit missing.' => '',
+ 'Unit of measure' => '',
+ 'Units marked for deletion will be deleted upon saving.' => '',
+ 'Units that have already been used (e.g. for parts and services or in invoices or warehouse transactions) cannot be changed.' => '',
+ 'Unknown Category' => '',
+ 'Unknown Link' => '',
+ 'Unknown chart of accounts' => '',
+ 'Unknown dependency \'%s\'.' => '',
+ 'Unknown problem type.' => '',
+ 'Unlock System' => '',
+ 'Until' => '',
+ 'Update' => '',
+ 'Update Dataset' => '',
+ 'Update Prices' => '',
+ 'Update complete' => '',
+ 'Update prices' => '',
+ 'Update?' => '',
+ 'Updated' => '',
+ 'Use As Template' => '',
+ 'Use Templates' => '',
+ 'User' => '',
+ 'User Config' => '',
+ 'User data migration' => '',
+ 'User deleted!' => '',
+ 'User migration complete' => '',
+ 'User name' => '',
+ 'User saved!' => '',
+ 'Users in<br>this group' => '',
+ 'Users not in this group' => '',
+ 'Ust-IDNr' => '',
+ 'Valid from' => '',
+ 'Valid until' => '',
+ 'Value' => '',
+ 'Variable' => '',
+ 'Vendor' => '',
+ 'Vendor Invoice' => '',
+ 'Vendor Invoices' => '',
+ 'Vendor Number' => '',
+ 'Vendor deleted!' => '',
+ 'Vendor details' => '',
+ 'Vendor missing!' => '',
+ 'Vendor not on file or locked!' => '',
+ 'Vendor not on file!' => '',
+ 'Vendor saved!' => '',
+ 'Vendor type' => '',
+ 'Vendors' => '',
+ 'Verrechnungseinheit' => '',
+ 'Version' => '',
+ 'View License' => '',
+ 'View warehouse content' => '',
+ 'Von Konto: ' => '',
+ 'WEBDAV access' => '',
+ 'WHJournal' => '',
+ 'Warehouse' => '',
+ 'Warehouse From' => '',
+ 'Warehouse MIgration' => '',
+ 'Warehouse To' => '',
+ 'Warehouse content' => '',
+ 'Warehouse deleted.' => '',
+ 'Warehouse management' => '',
+ 'Warehouse saved.' => '',
+ 'Warehouses' => '',
+ 'Warnings during template upgrade' => '',
+ 'WebDAV link' => '',
+ 'Weight' => '',
+ 'Weight unit' => '',
+ 'What type of item is this?' => '',
+ 'What\'s the <b>term</b> you\'re looking for?' => '',
+ 'With Extension Of Time' => '',
+ 'Workflow Delivery Order' => '',
+ 'Workflow purchase_order' => '',
+ 'Workflow request_quotation' => '',
+ 'Workflow sales_order' => '',
+ 'Workflow sales_quotation' => '',
+ 'Wrong Period' => '',
+ 'Wrong date format!' => '',
+ 'Wrong tax keys recorded' => '',
+ 'Wrong taxes recorded' => '',
+ 'YYYY' => '',
+ 'Year' => '',
+ 'Year End' => '',
+ 'Yearly' => '',
+ 'Yearly taxreport not yet implemented' => '',
+ 'Yes' => '',
+ 'Yes, included by default' => '',
+ 'Yes/No (Checkbox)' => '',
+ 'You are logged out!' => '',
+ 'You can also create new units now.' => '',
+ 'You can also delete this transaction and re-enter it manually.' => '',
+ 'You can correct this transaction by chosing the correct taxkeys from the drop down boxes and hitting the button "Fix transaction" afterwards.' => '',
+ 'You can create a missing dataset by going back and chosing "Create Dataset".' => '',
+ 'You can create warehouses and bins via the menu "System -> Warehouses".' => '',
+ 'You can declare different translations for singular and plural for each unit (e.g. "day" and "days).' => '',
+ 'You can either create a new database or chose an existing database.' => '',
+ 'You can only delete datasets that are not in use.' => '',
+ 'You can use the following strings in the long description and all translations. They will be replaced by their actual values by Lx-Office before they\'re output.' => '',
+ 'You cannot adjust the price for pricegroup "#1" by a negative percentage.' => '',
+ 'You cannot continue before all required modules are installed.' => '',
+ 'You cannot continue until all unknown units have been mapped to known ones.' => '',
+ 'You cannot create an invoice for delivery orders for different customers.' => '',
+ 'You cannot create an invoice for delivery orders from different vendors.' => '',
+ 'You did not enter a name!' => '',
+ 'You do not have the permissions to access this function.' => '',
+ 'You have entered or selected the following shipping address for this customer:' => '',
+ 'You have not selected any delivery order.' => '',
+ 'You have to chose a dimension unit and a service unit which will then be assigned to those entries.' => '',
+ 'You have to chose which unit to save for each of them.' => '',
+ 'You have to create at least one group, grant it access to Lx-Office\'s functions and assign users to it.' => '',
+ 'You have to create new Buchungsgruppen for all the combinations of inventory, income and expense accounts that have been used already.' => '',
+ 'You must chose a user.' => '',
+ 'You will now be forwarded to the administration panel.' => '',
+ 'You\'re not editing a file.' => '',
+ 'You\'ve already chosen the following limitations:' => '',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => '',
+ 'Your TODO list' => '',
+ 'Your browser does not currently support Javascript.' => '',
+ 'Your download does not exist anymore. Please re-run the DATEV export assistant.' => '',
+ 'Zeitpunkt' => '',
+ 'Zeitraum' => '',
+ 'Zero amount posting!' => '',
+ 'Zip, City' => '',
+ 'Zipcode' => '',
+ 'Zusatz' => '',
+ '[email]' => '',
+ 'account_description' => '',
+ 'accrual' => '',
+ 'all entries' => '',
+ 'ap_aging_list' => '',
+ 'ar_aging_list' => '',
+ 'as at' => '',
+ 'assembly_list' => '',
+ 'back' => '',
+ 'bin_list' => '',
+ 'bis' => '',
+ 'button' => '',
+ 'cash' => '',
+ 'chargenumber #1' => '',
+ 'chart_of_accounts' => '',
+ 'choice' => '',
+ 'choice part' => '',
+ 'close' => '',
+ 'config/authentication.pl: Key "DB_config" is missing.' => '',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => '',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => '',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => '',
+ 'continue' => '',
+ 'correction' => '',
+ 'customer' => '',
+ 'customer_list' => '',
+ 'customernumber not unique!' => '',
+ 'debug' => '',
+ 'delete' => '',
+ 'deliverydate' => '',
+ 'direct debit' => '',
+ 'disposed' => '',
+ 'done' => '',
+ 'down' => '',
+ 'drucken' => '',
+ 'dunning_list' => '',
+ 'eMail Send?' => '',
+ 'eMail?' => '',
+ 'ea' => '',
+ 'emailed to' => '',
+ 'female' => '',
+ 'follow_up_list' => '',
+ 'for' => '',
+ 'for Period' => '',
+ 'found' => '',
+ 'from (time)' => '',
+ 'general_ledger_list' => '',
+ 'history' => '',
+ 'history search engine' => '',
+ 'invoice' => '',
+ 'invoice_list' => '',
+ 'lead deleted!' => '',
+ 'lead saved!' => '',
+ 'list' => '',
+ 'list_of_payments' => '',
+ 'list_of_receipts' => '',
+ 'list_of_transactions' => '',
+ 'logout' => '',
+ 'male' => '',
+ 'mark as paid' => '',
+ 'master' => '',
+ 'missing' => '',
+ 'month' => '',
+ 'new Window' => '',
+ 'no' => '',
+ 'no chargenumber' => '',
+ 'none (pricegroup)' => '',
+ 'not transferred in yet' => '',
+ 'not transferred out yet' => '',
+ 'number' => '',
+ 'oe.pl::search called with unknown type' => '',
+ 'order' => '',
+ 'our vendor number at customer' => '',
+ 'packing_list' => '',
+ 'part_list' => '',
+ 'pick_list' => '',
+ 'plural first char' => '',
+ 'pos_bilanz' => '',
+ 'pos_bwa' => '',
+ 'pos_eur' => '',
+ 'pos_ustva' => '',
+ 'posted!' => '',
+ 'print' => '',
+ 'proforma' => '',
+ 'project_list' => '',
+ 'purchase_delivery_order_list' => '',
+ 'purchase_order' => '',
+ 'purchase_order_list' => '',
+ 'quarter' => '',
+ 'quotation_list' => '',
+ 'release_material' => '',
+ 'report_generator_dispatch_to is not defined.' => '',
+ 'report_generator_nextsub is not defined.' => '',
+ 'request_quotation' => '',
+ 'reset' => '',
+ 'return_material' => '',
+ 'rfq_list' => '',
+ 'sales tax identification number' => '',
+ 'sales_delivery_order_list' => '',
+ 'sales_order' => '',
+ 'sales_order_list' => '',
+ 'sales_quotation' => '',
+ 'saved' => '',
+ 'saved!' => '',
+ 'sent' => '',
+ 'sent to printer' => '',
+ 'service_list' => '',
+ 'shipped' => '',
+ 'singular first char' => '',
+ 'soldtotal' => '',
+ 'stock' => '',
+ 'submit' => '',
+ 'tax_chartaccno' => '',
+ 'tax_percent' => '',
+ 'tax_rate' => '',
+ 'tax_taxdescription' => '',
+ 'tax_taxkey' => '',
+ 'taxnumber' => '',
+ 'to (date)' => '',
+ 'to (time)' => '',
+ 'transfer' => '',
+ 'transferred in' => '',
+ 'transferred out' => '',
+ 'trial_balance' => '',
+ 'up' => '',
+ 'use program settings' => '',
+ 'used' => '',
+ 'valid from' => '',
+ 'vendor' => '',
+ 'vendor_invoice_list' => '',
+ 'vendor_list' => '',
+ 'warehouse_journal_list' => '',
+ 'warehouse_report_list' => '',
+ 'wrongformat' => '',
+ 'yes' => '',
+};
+
+1;
-$self{texts} = {
- 'Add' => 'Add',
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ ' missing!' => ' missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Add Exchangerate' => 'Add Exchangerate',
+ 'Add Purchase Delivery Order' => 'Add Purchase Delivery Order',
'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
+ 'Add Sales Delivery Order' => 'Add Sales Delivery Order',
'Add Sales Invoice' => 'Add Sales Invoice',
'Add Sales Order' => 'Add Sales Order',
'Add Vendor Invoice' => 'Add Vendor Invoice',
'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
'Apr' => 'Apr',
'April' => 'April',
'Are you sure you want to delete Order Number' => 'Are you sure you want to delete Order Number',
+ 'Are you sure you want to delete Quotation Number' => 'Are you sure you want to delete Quotation Number',
'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
'Bin' => 'Bin',
- 'C' => 'C',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cannot delete delivery order!' => 'Cannot delete delivery order!',
'Cannot delete order!' => 'Cannot delete order!',
+ 'Cannot delete quotation!' => 'Cannot delete quotation!',
'Cannot save order!' => 'Cannot save order!',
+ 'Cannot save quotation!' => 'Cannot save quotation!',
'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
'Closed' => 'Closed',
+ 'Collective Orders only work for orders from one customer!' => 'Collective Orders only work for orders from one customer!',
+ 'Company Name' => 'Company Name',
'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
'Contact' => 'Contact',
'Continue' => 'Continue',
- 'Copies' => 'Copies',
- 'Credit Limit' => 'Credit Limit',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Limit exceeded!!!' => 'Credit Limit exceeded!!!',
+ 'Credit Note' => 'Credit Note',
'Curr' => 'Curr',
'Currency' => 'Currency',
'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
'Customer missing!' => 'Customer missing!',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
'Customer not on file!' => 'Customer not on file!',
+ 'Customer type' => 'Customer type',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Dec' => 'Dec',
'December' => 'December',
- 'Delete' => 'Delete',
+ 'Delete delivery order' => 'Delete delivery order',
+ 'Delivered' => 'Delivered',
'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Delivery Order Date missing!' => 'Delivery Order Date missing!',
+ 'Delivery Order Number' => 'Delivery Order Number',
+ 'Delivery Order deleted!' => 'Delivery Order deleted!',
+ 'Delivery Orders' => 'Delivery Orders',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Dunning' => 'Dunning',
'E-mail' => 'E-mail',
'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit Purchase Delivery Order' => 'Edit Purchase Delivery Order',
'Edit Purchase Order' => 'Edit Purchase Order',
+ 'Edit Quotation' => 'Edit Quotation',
+ 'Edit Request for Quotation' => 'Edit Request for Quotation',
+ 'Edit Sales Delivery Order' => 'Edit Sales Delivery Order',
'Edit Sales Order' => 'Edit Sales Order',
+ 'Edit the purchase_order' => 'Edit the purchase_order',
+ 'Edit the request_quotation' => 'Edit the request_quotation',
+ 'Edit the sales_order' => 'Edit the sales_order',
+ 'Edit the sales_quotation' => 'Edit the sales_quotation',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.',
+ 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.',
+ 'Error in row #1: The quantity you entered is bigger than the stocked quantity.' => 'Error in row #1: The quantity you entered is bigger than the stocked quantity.',
+ 'Ertrag' => 'Ertrag',
+ 'Ertrag prozentual' => 'Ertrag prozentual',
'Exchangerate' => 'Exchangerate',
'Exchangerate missing!' => 'Exchangerate missing!',
'Extended' => 'Extended',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Fax' => 'Fax',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
'Group' => 'Group',
- 'Group Items' => 'Group Items',
+ 'History' => 'History',
'ID' => 'ID',
'In-line' => 'In-line',
- 'Include in Report' => 'Include in Report',
'Invoice' => 'Invoice',
'Invoice Date missing!' => 'Invoice Date missing!',
'Invoice Number missing!' => 'Invoice Number missing!',
- 'Item not on file!' => 'Item not on file!',
'Jan' => 'Jan',
'January' => 'January',
'Jul' => 'Jul',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'No.' => 'No.',
+ 'Not delivered' => 'Not delivered',
'Notes' => 'Notes',
'Nov' => 'Nov',
'November' => 'November',
'Number' => 'Number',
'Number missing in Row' => 'Number missing in Row',
- 'O' => 'O',
'Oct' => 'Oct',
'October' => 'October',
+ 'On Hand' => 'On Hand',
'Open' => 'Open',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
'Order' => 'Order',
'Order Date' => 'Order Date',
'Order Date missing!' => 'Order Date missing!',
'Order Number' => 'Order Number',
'Order Number missing!' => 'Order Number missing!',
'Order deleted!' => 'Order deleted!',
- 'Order saved!' => 'Order saved!',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
'Packing List' => 'Packing List',
'Packing List Date missing!' => 'Packing List Date missing!',
'Packing List Number missing!' => 'Packing List Number missing!',
- 'Part' => 'Part',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
'Price' => 'Price',
- 'Print' => 'Print',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
'Project' => 'Project',
+ 'Project Number' => 'Project Number',
'Project not on file!' => 'Project not on file!',
'Purchase Order' => 'Purchase Order',
'Purchase Orders' => 'Purchase Orders',
'Qty' => 'Qty',
- 'Recd' => 'Recd',
- 'Remaining' => 'Remaining',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number' => 'Quotation Number',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'Quotation deleted!' => 'Quotation deleted!',
+ 'Quotations' => 'Quotations',
+ 'RFQ' => 'RFQ',
+ 'RFQ Number' => 'RFQ Number',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request for Quotations' => 'Request for Quotations',
+ 'Request quotation' => 'Request quotation',
'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
'Sales Order' => 'Sales Order',
'Sales Orders' => 'Sales Orders',
- 'Save' => 'Save',
- 'Save as new' => 'Save as new',
+ 'Sales quotation' => 'Sales quotation',
+ 'Salesman' => 'Salesman',
+ 'Salesperson' => 'Salesperson',
'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select from one of the items below' => 'Select from one of the items below',
'Select from one of the names below' => 'Select from one of the names below',
'Select from one of the projects below' => 'Select from one of the projects below',
'Select postscript or PDF!' => 'Select postscript or PDF!',
'Sep' => 'Sep',
'September' => 'September',
- 'Service' => 'Service',
+ 'Serial No.' => 'Serial No.',
'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
'Ship to' => 'Ship to',
'Ship via' => 'Ship via',
+ 'Shipping Address' => 'Shipping Address',
+ 'Show details' => 'Show details',
+ 'Stock' => 'Stock',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
'Tax' => 'Tax',
- 'Tax Included' => 'Tax Included',
- 'Terms: Net' => 'Terms: Net',
- 'To' => 'To',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The delivery order has not been marked as delivered. The warehouse contents have not changed.' => 'The delivery order has not been marked as delivered. The warehouse contents have not changed.',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The parts for this delivery order have already been transferred in.' => 'The parts for this delivery order have already been transferred in.',
+ 'The parts for this delivery order have already been transferred out.' => 'The parts for this delivery order have already been transferred out.',
+ 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.' => 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.',
+ 'To (email)' => 'To (email)',
'Total' => 'Total',
+ 'Transaction description' => 'Transaction description',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'USt-IdNr.' => 'USt-IdNr.',
'Unit' => 'Unit',
- 'Update' => 'Update',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
'Vendor missing!' => 'Vendor missing!',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
'Vendor not on file!' => 'Vendor not on file!',
- 'What type of item is this?' => 'What type of item is this?',
+ 'Vendor type' => 'Vendor type',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Workflow purchase_order' => 'Workflow purchase_order',
+ 'Workflow request_quotation' => 'Workflow request_quotation',
+ 'Workflow sales_order' => 'Workflow sales_order',
+ 'Workflow sales_quotation' => 'Workflow sales_quotation',
'Yes' => 'Yes',
- 'days' => 'days',
- 'ea' => 'ea',
+ 'You cannot create an invoice for delivery orders for different customers.' => 'You cannot create an invoice for delivery orders for different customers.',
+ 'You cannot create an invoice for delivery orders from different vendors.' => 'You cannot create an invoice for delivery orders from different vendors.',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'You have not selected any delivery order.' => 'You have not selected any delivery order.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'chargenumber #1' => 'chargenumber #1',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
'emailed to' => 'emailed to',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'no chargenumber' => 'no chargenumber',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'oe.pl::search called with unknown type' => 'oe.pl::search called with unknown type',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_delivery_order_list' => 'purchase_delivery_order_list',
+ 'purchase_order' => 'purchase_order',
+ 'purchase_order_list' => 'purchase_order_list',
+ 'quotation_list' => 'quotation_list',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'rfq_list' => 'rfq_list',
+ 'sales_delivery_order_list' => 'sales_delivery_order_list',
+ 'sales_order' => 'sales_order',
+ 'sales_order_list' => 'sales_order_list',
+ 'sales_quotation' => 'sales_quotation',
+ 'saved!' => 'saved!',
+ 'sent' => 'sent',
'sent to printer' => 'sent to printer',
- 'to' => 'to',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
'add' => 'add',
- 'add_transaction' => 'add_transaction',
'ap_transaction' => 'ap_transaction',
'ar_transaction' => 'ar_transaction',
+ 'backorder_exchangerate' => 'backorder_exchangerate',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'calculate_stock_in_out' => 'calculate_stock_in_out',
+ 'call_sub' => 'call_sub',
+ 'check_delivered_flag' => 'check_delivered_flag',
+ 'check_do_access' => 'check_do_access',
+ 'check_for_direct_delivery' => 'check_for_direct_delivery',
+ 'check_for_direct_delivery_no' => 'check_for_direct_delivery_no',
+ 'check_for_direct_delivery_yes' => 'check_for_direct_delivery_yes',
'check_form' => 'check_form',
'check_name' => 'check_name',
+ 'check_oe_access' => 'check_oe_access',
'check_project' => 'check_project',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
'create_backorder' => 'create_backorder',
+ 'create_subtotal_row' => 'create_subtotal_row',
'customer_details' => 'customer_details',
'delete' => 'delete',
+ 'delete_delivery_order' => 'delete_delivery_order',
+ 'delete_order_quotation' => 'delete_order_quotation',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'delivery_order' => 'delivery_order',
+ 'dispatcher' => 'dispatcher',
'display_form' => 'display_form',
'display_row' => 'display_row',
+ 'display_stock_in_form' => 'display_stock_in_form',
'e_mail' => 'e_mail',
'edit' => 'edit',
+ 'edit_e_mail' => 'edit_e_mail',
'form_footer' => 'form_footer',
'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
+ 'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
'gl_transaction' => 'gl_transaction',
'invoice' => 'invoice',
+ 'invoice_multi' => 'invoice_multi',
'invoicetotal' => 'invoicetotal',
'item_selected' => 'item_selected',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'mark_closed' => 'mark_closed',
'name_selected' => 'name_selected',
'new_item' => 'new_item',
+ 'new_license' => 'new_license',
+ 'no' => 'no',
'order' => 'order',
'order_links' => 'order_links',
'orders' => 'orders',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'poso' => 'poso',
'post_as_new' => 'post_as_new',
'prepare_order' => 'prepare_order',
'print' => 'print',
'print_form' => 'print_form',
'print_options' => 'print_options',
'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'redo_stock_info' => 'redo_stock_info',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'report_for_todo_list' => 'report_for_todo_list',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
'sales_invoice' => 'sales_invoice',
+ 'sales_order' => 'sales_order',
'save' => 'save',
+ 'save_and_close' => 'save_and_close',
'save_as_new' => 'save_as_new',
+ 'save_exchangerate' => 'save_exchangerate',
'search' => 'search',
'select_item' => 'select_item',
'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_headings' => 'set_headings',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
+ 'set_stock_in' => 'set_stock_in',
+ 'set_stock_out' => 'set_stock_out',
'ship_to' => 'ship_to',
- 'subtotal' => 'subtotal',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'stock_in_form' => 'stock_in_form',
+ 'stock_in_out_form' => 'stock_in_out_form',
+ 'stock_out_form' => 'stock_out_form',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
'update' => 'update',
+ 'update_delivery_order' => 'update_delivery_order',
+ 'update_stock_in' => 'update_stock_in',
'validate_items' => 'validate_items',
'vendor_details' => 'vendor_details',
'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'yes' => 'yes',
- 'add' => 'add',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
+ 'delivery_order' => 'delivery_order',
'e_mail' => 'e_mail',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
'invoice' => 'invoice',
+ 'mark_closed' => 'mark_closed',
+ 'new_part' => 'new_part',
+ 'no' => 'no',
'print' => 'print',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'sales_order' => 'sales_order',
'save' => 'save',
+ 'save_and_close' => 'save_and_close',
'save_as_new' => 'save_as_new',
'ship_to' => 'ship_to',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
'update' => 'update',
'yes' => 'yes',
};
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Add' => 'Add',
'Add Group' => 'Add Group',
- 'Add Project' => 'Add Project',
+ 'Add Pricegroup' => 'Add Pricegroup',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
'All' => 'All',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
'Delete' => 'Delete',
- 'Description' => 'Description',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
'Edit Group' => 'Edit Group',
- 'Edit Project' => 'Edit Project',
+ 'Edit Pricegroup' => 'Edit Pricegroup',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
'Group' => 'Group',
'Group deleted!' => 'Group deleted!',
'Group missing!' => 'Group missing!',
'Group saved!' => 'Group saved!',
'Groups' => 'Groups',
- 'Number' => 'Number',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
'Orphaned' => 'Orphaned',
- 'Project' => 'Project',
- 'Project Number missing!' => 'Project Number missing!',
- 'Project deleted!' => 'Project deleted!',
- 'Project saved!' => 'Project saved!',
- 'Projects' => 'Projects',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preisgruppe' => 'Preisgruppe',
+ 'Preview' => 'Preview',
+ 'Pricegroup' => 'Pricegroup',
+ 'Pricegroup deleted!' => 'Pricegroup deleted!',
+ 'Pricegroup missing!' => 'Pricegroup missing!',
+ 'Pricegroup saved!' => 'Pricegroup saved!',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
'Save' => 'Save',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'history' => 'history',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
'delete' => 'delete',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'edit' => 'edit',
'form_partsgroup_footer' => 'form_partsgroup_footer',
'form_partsgroup_header' => 'form_partsgroup_header',
- 'form_project_footer' => 'form_project_footer',
- 'form_project_header' => 'form_project_header',
+ 'form_pricegroup_footer' => 'form_pricegroup_footer',
+ 'form_pricegroup_header' => 'form_pricegroup_header',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
'partsgroup_report' => 'partsgroup_report',
- 'project_report' => 'project_report',
+ 'pricegroup_report' => 'pricegroup_report',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'save' => 'save',
'search' => 'search',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
'add' => 'add',
+ 'close' => 'close',
'continue' => 'continue',
'delete' => 'delete',
+ 'new_part' => 'new_part',
'save' => 'save',
};
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Active' => 'Active',
+ 'Add Project' => 'Add Project',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All' => 'All',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Edit Project' => 'Edit Project',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Inactive' => 'Inactive',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Number' => 'Number',
+ 'Orphaned' => 'Orphaned',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project Number' => 'Project Number',
+ 'Project Number missing!' => 'Project Number missing!',
+ 'Project deleted!' => 'Project deleted!',
+ 'Project saved!' => 'Project saved!',
+ 'Projects' => 'Projects',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The project has been added.' => 'The project has been added.',
+ 'The project has been saved.' => 'The project has been saved.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'project_list' => 'project_list',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delete' => 'delete',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'display_project_form' => 'display_project_form',
+ 'edit' => 'edit',
+ 'format_dates' => 'format_dates',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'project_report' => 'project_report',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+ 'search' => 'search',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'back' => 'back',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
+ 'save' => 'save',
+ 'save_as_new' => 'save_as_new',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
'Account' => 'Account',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Balance' => 'Balance',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
'Cleared Balance' => 'Cleared Balance',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
+ 'Decrease' => 'Decrease',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Deposit' => 'Deposit',
'Description' => 'Description',
'Difference' => 'Difference',
+ 'Directory' => 'Directory',
'Done' => 'Done',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
'Exchangerate Difference' => 'Exchangerate Difference',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
+ 'File' => 'File',
'From' => 'From',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Increase' => 'Increase',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Others' => 'Others',
'Out of balance!' => 'Out of balance!',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Payment' => 'Payment',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Reconciliation' => 'Reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
'Select all' => 'Select all',
'Source' => 'Source',
'Statement Balance' => 'Statement Balance',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Until' => 'Until',
'Update' => 'Update',
- 'to' => 'to',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'display_form' => 'display_form',
'done' => 'done',
+ 'format_dates' => 'format_dates',
'get_payments' => 'get_payments',
+ 'gl_transaction' => 'gl_transaction',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
'reconciliation' => 'reconciliation',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'select_all' => 'select_all',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
'update' => 'update',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
'continue' => 'continue',
'done' => 'done',
+ 'new_part' => 'new_part',
'select_all' => 'select_all',
'update' => 'update',
};
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Confirmation' => 'Confirmation',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Pick List' => 'Pick List',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'invoice' => 'invoice',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+};
+
+$self->{subs} = {
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'back' => 'back',
+ 'continue' => 'continue',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+};
+
+1;
-$self{texts} = {
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
'AP Aging' => 'Creditor Aging',
+ 'AR' => 'Sales',
'AR Aging' => 'Debtor Aging',
'Account' => 'Account',
- 'Accounts' => 'Accounts',
+ 'Account Number' => 'Account Number',
+ 'Accrual' => 'Accrual',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All Accounts' => 'All Accounts',
+ 'All reports' => 'All reports',
'Amount' => 'Amount',
+ 'Ap aging on %s' => 'Ap aging on %s',
'Apr' => 'Apr',
'April' => 'April',
+ 'Ar aging on %s' => 'Ar aging on %s',
'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
'Aug' => 'Aug',
'August' => 'August',
'Balance' => 'Balance',
'Balance Sheet' => 'Balance Sheet',
'Bcc' => 'Bcc',
- 'Cash based' => 'Cash based',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Company' => 'Company',
'Compare to' => 'Compare to',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
'Continue' => 'Continue',
'Copies' => 'Copies',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create Date' => 'Create Date',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
'Credit' => 'Credit',
- 'Current' => 'Current',
+ 'Credit Note' => 'Credit Note',
+ 'Credit Starting Balance' => 'Credit Starting Balance',
+ 'Current Earnings' => 'Current Earnings',
'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
+ 'Customer not on file!' => 'Customer not on file!',
+ 'Customized Report' => 'Customized Report',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
'Date' => 'Date',
'Debit' => 'Debit',
+ 'Debit Starting Balance' => 'Debit Starting Balance',
'Dec' => 'Dec',
'December' => 'December',
'Decimalplaces' => 'Decimalplaces',
+ 'Delivery Order' => 'Delivery Order',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
'Description' => 'Description',
+ 'Directory' => 'Directory',
'Due' => 'Due',
+ 'Dunning' => 'Dunning',
'E-mail' => 'E-mail',
'E-mail Statement to' => 'E-mail Statement to',
+ 'ELSE' => 'ELSE',
+ 'EUR' => 'EUR',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
'Feb' => 'Feb',
'February' => 'February',
+ 'File' => 'File',
+ 'Free report period' => 'Free report period',
'From' => 'From',
- 'GIFI' => 'GIFI',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'HTML' => 'HTML',
'Heading' => 'Heading',
+ 'History' => 'History',
'ID' => 'ID',
'In-line' => 'In-line',
+ 'Include Exchangerate Difference' => 'Include Exchangerate Difference',
'Include in Report' => 'Include in Report',
'Income Statement' => 'Income Statement',
'Invoice' => 'Invoice',
'July' => 'July',
'Jun' => 'Jun',
'June' => 'June',
+ 'Last Transaction' => 'Last Transaction',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
'Mar' => 'Mar',
'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
'May' => 'May',
'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Memo' => 'Memo',
'Message' => 'Message',
- 'N/A' => 'N/A',
+ 'Method' => 'Method',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'Monthly' => 'Monthly',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Non-taxable Purchases' => 'Non-taxable Purchases',
+ 'Non-taxable Sales' => 'Non-taxable Sales',
'Nothing selected!' => 'Nothing selected!',
'Nov' => 'Nov',
'November' => 'November',
+ 'Number' => 'Number',
'Oct' => 'Oct',
'October' => 'October',
+ 'Open' => 'Open',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
'PDF' => 'PDF',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
'Payments' => 'Payments',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
'Postscript' => 'Postscript',
- 'Print' => 'Print',
+ 'Preview' => 'Preview',
'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project' => 'Project',
'Project Number' => 'Project Number',
+ 'Project Transactions' => 'Project Transactions',
+ 'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quarter' => 'Quarter',
+ 'Quarterly' => 'Quarterly',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
'Receipts' => 'Receipts',
+ 'Reference' => 'Reference',
'Report for' => 'Report for',
- 'Retained Earnings' => 'Retained Earnings',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Saldo Credit' => 'Saldo Credit',
+ 'Saldo Debit' => 'Saldo Debit',
'Screen' => 'Screen',
- 'Select all' => 'Select all',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select from one of the names below' => 'Select from one of the names below',
+ 'Select from one of the projects below' => 'Select from one of the projects below',
'Select postscript or PDF!' => 'Select postscript or PDF!',
'Sep' => 'Sep',
'September' => 'September',
'Source' => 'Source',
- 'Standard' => 'Standard',
'Statement' => 'Statement',
'Statement sent to' => 'Statement sent to',
'Statements sent to printer!' => 'Statements sent to printer!',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
'Subject' => 'Subject',
'Subtotal' => 'Subtotal',
+ 'Sum Credit' => 'Sum Credit',
+ 'Sum Debit' => 'Sum Debit',
'Tax' => 'Tax',
'Tax collected' => 'Tax collected',
'Tax paid' => 'Tax paid',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'To (email)' => 'To (email)',
'Total' => 'Total',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
'Trial Balance' => 'Trial Balance',
+ 'Trial balance between %s and %s' => 'Trial balance between %s and %s',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
'Vendor' => 'Vendor',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
+ 'Vendor not on file!' => 'Vendor not on file!',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'YYYY' => 'YYYY',
+ 'Year' => 'Year',
+ 'Yearly' => 'Yearly',
+ 'Yes' => 'Yes',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'ap_aging_list' => 'ap_aging_list',
+ 'ar_aging_list' => 'ar_aging_list',
'as at' => 'as at',
- 'collected on sales' => 'collected on sales',
+ 'bin_list' => 'bin_list',
+ 'bis' => 'bis',
+ 'button' => 'button',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
'for Period' => 'for Period',
- 'paid on purchases' => 'paid on purchases',
- 'to' => 'to',
+ 'invoice' => 'invoice',
+ 'list_of_payments' => 'list_of_payments',
+ 'list_of_receipts' => 'list_of_receipts',
+ 'list_of_transactions' => 'list_of_transactions',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'trial_balance' => 'trial_balance',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
};
-$self{subs} = {
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
'aging' => 'aging',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'check_name' => 'check_name',
+ 'check_project' => 'check_project',
+ 'check_rp_access' => 'check_rp_access',
'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_aging_subtotal_row' => 'create_aging_subtotal_row',
+ 'create_list_accounts_subtotal_row' => 'create_list_accounts_subtotal_row',
+ 'create_subtotal_row' => 'create_subtotal_row',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
'e_mail' => 'e_mail',
+ 'format_dates' => 'format_dates',
'generate_ap_aging' => 'generate_ap_aging',
'generate_ar_aging' => 'generate_ar_aging',
'generate_balance_sheet' => 'generate_balance_sheet',
+ 'generate_bwa' => 'generate_bwa',
'generate_income_statement' => 'generate_income_statement',
+ 'generate_projects' => 'generate_projects',
'generate_tax_report' => 'generate_tax_report',
'generate_trial_balance' => 'generate_trial_balance',
+ 'get_project' => 'get_project',
+ 'gl_transaction' => 'gl_transaction',
'list_accounts' => 'list_accounts',
'list_payments' => 'list_payments',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'name_selected' => 'name_selected',
+ 'part_selection_internal' => 'part_selection_internal',
'print' => 'print',
'print_form' => 'print_form',
'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'reformat_numbers' => 'reformat_numbers',
'report' => 'report',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
'select_all' => 'select_all',
+ 'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_vc_details' => 'show_vc_details',
'statement_details' => 'statement_details',
'tax_subtotal' => 'tax_subtotal',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'back' => 'back',
+ 'close' => 'close',
'continue' => 'continue',
'e_mail' => 'e_mail',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
'print' => 'print',
'select_all' => 'select_all',
};
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ ' Date missing!' => ' Date missing!',
+ ' missing!' => ' missing!',
+ '*/' => '*/',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Add Exchangerate' => 'Add Exchangerate',
+ 'Add Follow-Up' => 'Add Follow-Up',
+ 'Add Follow-Up for #1' => 'Add Follow-Up for #1',
+ 'Add Purchase Delivery Order' => 'Add Purchase Delivery Order',
+ 'Add Purchase Order' => 'Add Purchase Order',
+ 'Add Quotation' => 'Add Quotation',
+ 'Add Request for Quotation' => 'Add Request for Quotation',
+ 'Add Sales Delivery Order' => 'Add Sales Delivery Order',
+ 'Add Sales Invoice' => 'Add Sales Invoice',
+ 'Add Sales Order' => 'Add Sales Order',
+ 'Add Vendor Invoice' => 'Add Vendor Invoice',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Amount' => 'Amount',
+ 'Apr' => 'Apr',
+ 'April' => 'April',
+ 'Are you sure you want to delete Order Number' => 'Are you sure you want to delete Order Number',
+ 'Are you sure you want to delete Quotation Number' => 'Are you sure you want to delete Quotation Number',
+ 'Attachment' => 'Attachment',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Aug' => 'Aug',
+ 'August' => 'August',
+ 'Bcc' => 'Bcc',
+ 'Billing Address' => 'Billing Address',
+ 'Bin' => 'Bin',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'Bis' => 'Bis',
+ 'Body' => 'Body',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Cannot delete delivery order!' => 'Cannot delete delivery order!',
+ 'Cannot delete order!' => 'Cannot delete order!',
+ 'Cannot delete quotation!' => 'Cannot delete quotation!',
+ 'Cannot save order!' => 'Cannot save order!',
+ 'Cannot save quotation!' => 'Cannot save quotation!',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'City' => 'City',
+ 'Closed' => 'Closed',
+ 'Collective Orders only work for orders from one customer!' => 'Collective Orders only work for orders from one customer!',
+ 'Company Name' => 'Company Name',
+ 'Confirm!' => 'Confirm!',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Continue' => 'Continue',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Country' => 'Country',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Created by' => 'Created by',
+ 'Created for' => 'Created for',
+ 'Created on' => 'Created on',
+ 'Credit Limit exceeded!!!' => 'Credit Limit exceeded!!!',
+ 'Credit Note' => 'Credit Note',
+ 'Curr' => 'Curr',
+ 'Currency' => 'Currency',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'Customer missing!' => 'Customer missing!',
+ 'Customer not on file or locked!' => 'Customer not on file or locked!',
+ 'Customer not on file!' => 'Customer not on file!',
+ 'Customer type' => 'Customer type',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dec' => 'Dec',
+ 'December' => 'December',
+ 'Delete delivery order' => 'Delete delivery order',
+ 'Delivered' => 'Delivered',
+ 'Delivery Date' => 'Delivery Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Delivery Order Date missing!' => 'Delivery Order Date missing!',
+ 'Delivery Order Number' => 'Delivery Order Number',
+ 'Delivery Order deleted!' => 'Delivery Order deleted!',
+ 'Delivery Orders' => 'Delivery Orders',
+ 'Department' => 'Department',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Discount' => 'Discount',
+ 'Done' => 'Done',
+ 'Dunning' => 'Dunning',
+ 'E-mail' => 'E-mail',
+ 'E-mail address missing!' => 'E-mail address missing!',
+ 'EK' => 'EK',
+ 'ELSE' => 'ELSE',
+ 'Edit Access Rights for Follow-Ups' => 'Edit Access Rights for Follow-Ups',
+ 'Edit Follow-Up' => 'Edit Follow-Up',
+ 'Edit Follow-Up for #1' => 'Edit Follow-Up for #1',
+ 'Edit Purchase Delivery Order' => 'Edit Purchase Delivery Order',
+ 'Edit Purchase Order' => 'Edit Purchase Order',
+ 'Edit Quotation' => 'Edit Quotation',
+ 'Edit Request for Quotation' => 'Edit Request for Quotation',
+ 'Edit Sales Delivery Order' => 'Edit Sales Delivery Order',
+ 'Edit Sales Order' => 'Edit Sales Order',
+ 'Edit the purchase_order' => 'Edit the purchase_order',
+ 'Edit the request_quotation' => 'Edit the request_quotation',
+ 'Edit the sales_order' => 'Edit the sales_order',
+ 'Edit the sales_quotation' => 'Edit the sales_quotation',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no stock at all or the full quantity of #2 #3.',
+ 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.' => 'Error in position #1: You must either assign no transfer at all or the full quantity of #2 #3.',
+ 'Error in row #1: The quantity you entered is bigger than the stocked quantity.' => 'Error in row #1: The quantity you entered is bigger than the stocked quantity.',
+ 'Ertrag' => 'Ertrag',
+ 'Ertrag prozentual' => 'Ertrag prozentual',
+ 'Exchangerate' => 'Exchangerate',
+ 'Exchangerate missing!' => 'Exchangerate missing!',
+ 'Extended' => 'Extended',
+ 'Falsches Datumsformat!' => 'Falsches Datumsformat!',
+ 'Fax' => 'Fax',
+ 'Feb' => 'Feb',
+ 'February' => 'February',
+ 'File' => 'File',
+ 'Follow-Up Date' => 'Follow-Up Date',
+ 'Follow-Up saved.' => 'Follow-Up saved.',
+ 'Follow-Ups' => 'Follow-Ups',
+ 'Follow-up for' => 'Follow-up for',
+ 'From' => 'From',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'Group' => 'Group',
+ 'History' => 'History',
+ 'ID' => 'ID',
+ 'In-line' => 'In-line',
+ 'Invalid follow-up ID.' => 'Invalid follow-up ID.',
+ 'Invoice' => 'Invoice',
+ 'Invoice Date missing!' => 'Invoice Date missing!',
+ 'Invoice Number missing!' => 'Invoice Number missing!',
+ 'Jan' => 'Jan',
+ 'January' => 'January',
+ 'Jul' => 'Jul',
+ 'July' => 'July',
+ 'Jun' => 'Jun',
+ 'June' => 'June',
+ 'L' => 'L',
+ 'LP' => 'LP',
+ 'License' => 'License',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mar' => 'Mar',
+ 'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May' => 'May',
+ 'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No action defined.' => 'No action defined.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'No.' => 'No.',
+ 'Not delivered' => 'Not delivered',
+ 'Not done yet' => 'Not done yet',
+ 'Notes' => 'Notes',
+ 'Nov' => 'Nov',
+ 'November' => 'November',
+ 'Number' => 'Number',
+ 'Number missing in Row' => 'Number missing in Row',
+ 'Oct' => 'Oct',
+ 'October' => 'October',
+ 'On Hand' => 'On Hand',
+ 'Only due follow-ups' => 'Only due follow-ups',
+ 'Open' => 'Open',
+ 'OpenDocument/OASIS' => 'OpenDocument/OASIS',
+ 'Order' => 'Order',
+ 'Order Date' => 'Order Date',
+ 'Order Date missing!' => 'Order Date missing!',
+ 'Order Number' => 'Order Number',
+ 'Order Number missing!' => 'Order Number missing!',
+ 'Order deleted!' => 'Order deleted!',
+ 'Other users\' follow-ups' => 'Other users\' follow-ups',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF' => 'PDF',
+ 'PDF (OpenDocument/OASIS)' => 'PDF (OpenDocument/OASIS)',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Packing List Date missing!' => 'Packing List Date missing!',
+ 'Packing List Number missing!' => 'Packing List Number missing!',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Description' => 'Part Description',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Phone' => 'Phone',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Postscript' => 'Postscript',
+ 'Preview' => 'Preview',
+ 'Price' => 'Price',
+ 'Price Factor' => 'Price Factor',
+ 'Pricegroup' => 'Pricegroup',
+ 'Printer' => 'Printer',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project' => 'Project',
+ 'Project Number' => 'Project Number',
+ 'Project not on file!' => 'Project not on file!',
+ 'Purchase Order' => 'Purchase Order',
+ 'Purchase Orders' => 'Purchase Orders',
+ 'Qty' => 'Qty',
+ 'Queue' => 'Queue',
+ 'Quotation' => 'Quotation',
+ 'Quotation Date missing!' => 'Quotation Date missing!',
+ 'Quotation Number' => 'Quotation Number',
+ 'Quotation Number missing!' => 'Quotation Number missing!',
+ 'Quotation deleted!' => 'Quotation deleted!',
+ 'Quotations' => 'Quotations',
+ 'RFQ' => 'RFQ',
+ 'RFQ Number' => 'RFQ Number',
+ 'ROP' => 'ROP',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reference' => 'Reference',
+ 'Release From Stock' => 'Release From Stock',
+ 'Reports' => 'Reports',
+ 'Reqdate' => 'Reqdate',
+ 'Request for Quotation' => 'Request for Quotation',
+ 'Request for Quotations' => 'Request for Quotations',
+ 'Request quotation' => 'Request quotation',
+ 'Required by' => 'Required by',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales Orders' => 'Sales Orders',
+ 'Sales quotation' => 'Sales quotation',
+ 'Salesman' => 'Salesman',
+ 'Salesperson' => 'Salesperson',
+ 'Screen' => 'Screen',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select from one of the items below' => 'Select from one of the items below',
+ 'Select from one of the names below' => 'Select from one of the names below',
+ 'Select from one of the projects below' => 'Select from one of the projects below',
+ 'Select postscript or PDF!' => 'Select postscript or PDF!',
+ 'Sep' => 'Sep',
+ 'September' => 'September',
+ 'Serial No.' => 'Serial No.',
+ 'Ship' => 'Ship',
+ 'Ship rcvd' => 'Ship rcvd',
+ 'Ship to' => 'Ship to',
+ 'Ship via' => 'Ship via',
+ 'Shipping Address' => 'Shipping Address',
+ 'Show details' => 'Show details',
+ 'Stock' => 'Stock',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Street' => 'Street',
+ 'Subject' => 'Subject',
+ 'Subtotal' => 'Subtotal',
+ 'TODO list' => 'TODO list',
+ 'Tax' => 'Tax',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The access rights have been saved.' => 'The access rights have been saved.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The delivery order has not been marked as delivered. The warehouse contents have not changed.' => 'The delivery order has not been marked as delivered. The warehouse contents have not changed.',
+ 'The follow-up date is missing.' => 'The follow-up date is missing.',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The parts for this delivery order have already been transferred in.' => 'The parts for this delivery order have already been transferred in.',
+ 'The parts for this delivery order have already been transferred out.' => 'The parts for this delivery order have already been transferred out.',
+ 'The subject is missing.' => 'The subject is missing.',
+ 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.' => 'There is not enough available of \'#1\' at warehouse \'#2\', bin \'#3\', #4, for the transfer of #5.',
+ 'To (email)' => 'To (email)',
+ 'Total' => 'Total',
+ 'Transaction description' => 'Transaction description',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer To Stock' => 'Transfer To Stock',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'USt-IdNr.' => 'USt-IdNr.',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor Number' => 'Vendor Number',
+ 'Vendor details' => 'Vendor details',
+ 'Vendor missing!' => 'Vendor missing!',
+ 'Vendor not on file or locked!' => 'Vendor not on file or locked!',
+ 'Vendor not on file!' => 'Vendor not on file!',
+ 'Vendor type' => 'Vendor type',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Workflow purchase_order' => 'Workflow purchase_order',
+ 'Workflow request_quotation' => 'Workflow request_quotation',
+ 'Workflow sales_order' => 'Workflow sales_order',
+ 'Workflow sales_quotation' => 'Workflow sales_quotation',
+ 'Yes' => 'Yes',
+ 'You cannot create an invoice for delivery orders for different customers.' => 'You cannot create an invoice for delivery orders for different customers.',
+ 'You cannot create an invoice for delivery orders from different vendors.' => 'You cannot create an invoice for delivery orders from different vendors.',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'You have not selected any delivery order.' => 'You have not selected any delivery order.',
+ 'You must chose a user.' => 'You must chose a user.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ 'Zipcode' => 'Zipcode',
+ '[email]' => '[email]',
+ 'bin_list' => 'bin_list',
+ 'chargenumber #1' => 'chargenumber #1',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'emailed to' => 'emailed to',
+ 'follow_up_list' => 'follow_up_list',
+ 'invoice' => 'invoice',
+ 'no' => 'no',
+ 'no chargenumber' => 'no chargenumber',
+ 'none (pricegroup)' => 'none (pricegroup)',
+ 'oe.pl::search called with unknown type' => 'oe.pl::search called with unknown type',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_delivery_order_list' => 'purchase_delivery_order_list',
+ 'purchase_order' => 'purchase_order',
+ 'purchase_order_list' => 'purchase_order_list',
+ 'quotation_list' => 'quotation_list',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'rfq_list' => 'rfq_list',
+ 'sales_delivery_order_list' => 'sales_delivery_order_list',
+ 'sales_order' => 'sales_order',
+ 'sales_order_list' => 'sales_order_list',
+ 'sales_quotation' => 'sales_quotation',
+ 'saved!' => 'saved!',
+ 'sent' => 'sent',
+ 'sent to printer' => 'sent to printer',
+ 'vendor' => 'vendor',
+ 'wrongformat' => 'wrongformat',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ '_check_io_auth' => '_check_io_auth',
+ '_collect_links' => '_collect_links',
+ '_render_custom_variables_inputs' => '_render_custom_variables_inputs',
+ '_update_custom_variables' => '_update_custom_variables',
+ '_update_part_information' => '_update_part_information',
+ '_update_ship' => '_update_ship',
+ 'add' => 'add',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'backorder_exchangerate' => 'backorder_exchangerate',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'calculate_stock_in_out' => 'calculate_stock_in_out',
+ 'call_sub' => 'call_sub',
+ 'check_delivered_flag' => 'check_delivered_flag',
+ 'check_do_access' => 'check_do_access',
+ 'check_for_direct_delivery' => 'check_for_direct_delivery',
+ 'check_for_direct_delivery_no' => 'check_for_direct_delivery_no',
+ 'check_for_direct_delivery_yes' => 'check_for_direct_delivery_yes',
+ 'check_form' => 'check_form',
+ 'check_name' => 'check_name',
+ 'check_oe_access' => 'check_oe_access',
+ 'check_project' => 'check_project',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_backorder' => 'create_backorder',
+ 'create_subtotal_row' => 'create_subtotal_row',
+ 'create_todo_list' => 'create_todo_list',
+ 'customer_details' => 'customer_details',
+ 'delete' => 'delete',
+ 'delete_delivery_order' => 'delete_delivery_order',
+ 'delete_order_quotation' => 'delete_order_quotation',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'delivery_order' => 'delivery_order',
+ 'dispatcher' => 'dispatcher',
+ 'display_form' => 'display_form',
+ 'display_row' => 'display_row',
+ 'display_stock_in_form' => 'display_stock_in_form',
+ 'e_mail' => 'e_mail',
+ 'edit' => 'edit',
+ 'edit_access_rights' => 'edit_access_rights',
+ 'edit_e_mail' => 'edit_e_mail',
+ 'finish' => 'finish',
+ 'form_footer' => 'form_footer',
+ 'form_header' => 'form_header',
+ 'format_dates' => 'format_dates',
+ 'get_basic_bin_wh_info' => 'get_basic_bin_wh_info',
+ 'gl_transaction' => 'gl_transaction',
+ 'invoice' => 'invoice',
+ 'invoice_multi' => 'invoice_multi',
+ 'invoicetotal' => 'invoicetotal',
+ 'item_selected' => 'item_selected',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'mark_closed' => 'mark_closed',
+ 'name_selected' => 'name_selected',
+ 'new_item' => 'new_item',
+ 'new_license' => 'new_license',
+ 'no' => 'no',
+ 'order' => 'order',
+ 'order_links' => 'order_links',
+ 'orders' => 'orders',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'poso' => 'poso',
+ 'post_as_new' => 'post_as_new',
+ 'prepare_order' => 'prepare_order',
+ 'print' => 'print',
+ 'print_form' => 'print_form',
+ 'print_options' => 'print_options',
+ 'project_selected' => 'project_selected',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'redo_stock_info' => 'redo_stock_info',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'relink_accounts' => 'relink_accounts',
+ 'report' => 'report',
+ 'report_for_todo_list' => 'report_for_todo_list',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_access_rights' => 'save_access_rights',
+ 'save_and_close' => 'save_and_close',
+ 'save_as_new' => 'save_as_new',
+ 'save_exchangerate' => 'save_exchangerate',
+ 'save_follow_up' => 'save_follow_up',
+ 'search' => 'search',
+ 'select_item' => 'select_item',
+ 'select_name' => 'select_name',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'select_project' => 'select_project',
+ 'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
+ 'set_headings' => 'set_headings',
+ 'set_longdescription' => 'set_longdescription',
+ 'set_pricegroup' => 'set_pricegroup',
+ 'set_stock_in' => 'set_stock_in',
+ 'set_stock_out' => 'set_stock_out',
+ 'ship_to' => 'ship_to',
+ 'show_history' => 'show_history',
+ 'show_todo_list' => 'show_todo_list',
+ 'show_vc_details' => 'show_vc_details',
+ 'stock_in_form' => 'stock_in_form',
+ 'stock_in_out_form' => 'stock_in_out_form',
+ 'stock_out_form' => 'stock_out_form',
+ 'todo_list_follow_ups' => 'todo_list_follow_ups',
+ 'todo_list_overdue_sales_quotations' => 'todo_list_overdue_sales_quotations',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
+ 'update' => 'update',
+ 'update_delivery_order' => 'update_delivery_order',
+ 'update_stock_in' => 'update_stock_in',
+ 'validate_items' => 'validate_items',
+ 'vendor_details' => 'vendor_details',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'yes' => 'yes',
+ 'back' => 'back',
+ 'cancel' => 'cancel',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'delete' => 'delete',
+ 'delivery_order' => 'delivery_order',
+ 'e_mail' => 'e_mail',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'finish' => 'finish',
+ 'invoice' => 'invoice',
+ 'mark_closed' => 'mark_closed',
+ 'new_part' => 'new_part',
+ 'no' => 'no',
+ 'print' => 'print',
+ 'purchase_order' => 'purchase_order',
+ 'quotation' => 'quotation',
+ 'request_for_quotation' => 'request_for_quotation',
+ 'sales_order' => 'sales_order',
+ 'save' => 'save',
+ 'save_and_close' => 'save_and_close',
+ 'save_as_new' => 'save_as_new',
+ 'ship_to' => 'ship_to',
+ 'transfer_in' => 'transfer_in',
+ 'transfer_out' => 'transfer_out',
+ 'update' => 'update',
+ 'yes' => 'yes',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ '1. Quarter' => '1. Quarter',
+ '2. Quarter' => '2. Quarter',
+ '3. Quarter' => '3. Quarter',
+ '4. Quarter' => '4. Quarter',
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AR' => 'Sales',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Amended Advance Turnover Tax Return' => 'Amended Advance Turnover Tax Return',
+ 'Amended Advance Turnover Tax Return (Nr. 10)' => 'Amended Advance Turnover Tax Return (Nr. 10)',
+ 'Application Error. No Format given' => 'Application Error. No Format given',
+ 'Application Error. Wrong Format' => 'Application Error. Wrong Format',
+ 'Apr' => 'Apr',
+ 'April' => 'April',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Aug' => 'Aug',
+ 'August' => 'August',
+ 'Back' => 'Back',
+ 'Bcc' => 'Bcc',
+ 'Bin List' => 'Bin List',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Check Details' => 'Check Details',
+ 'Choose Outputformat' => 'Choose Outputformat',
+ 'Choose a Tax Number' => 'Choose a Tax Number',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Dec' => 'Dec',
+ 'December' => 'December',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Directory' => 'Directory',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'ELSTER Export (Taxbird)' => 'ELSTER Export (Taxbird)',
+ 'ELSTER Export (Winston)' => 'ELSTER Export (Winston)',
+ 'ELSTER Export nach Winston' => 'ELSTER Export nach Winston',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'Feb' => 'Feb',
+ 'February' => 'February',
+ 'File' => 'File',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Invoice' => 'Invoice',
+ 'Jan' => 'Jan',
+ 'January' => 'January',
+ 'Jul' => 'Jul',
+ 'July' => 'July',
+ 'Jun' => 'Jun',
+ 'June' => 'June',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mar' => 'Mar',
+ 'March' => 'March',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May' => 'May',
+ 'May ' => 'May ',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing Method!' => 'Missing Method!',
+ 'Missing Tax Authoritys Preferences' => 'Missing Tax Authoritys Preferences',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Company Address given' => 'No Company Address given',
+ 'No Company Name given' => 'No Company Name given',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'Nov' => 'Nov',
+ 'November' => 'November',
+ 'Oct' => 'Oct',
+ 'October' => 'October',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Reports' => 'Reports',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a period' => 'Select a period',
+ 'Select a vendor' => 'Select a vendor',
+ 'Select federal state...' => 'Select federal state...',
+ 'Select tax office...' => 'Select tax office...',
+ 'Sep' => 'Sep',
+ 'September' => 'September',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'Tax Office Preferences' => 'Tax Office Preferences',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'To (email)' => 'To (email)',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'USTVA-Hint: Method' => 'USTVA-Hint: Method',
+ 'USTVA-Hint: Tax Authoritys' => 'USTVA-Hint: Tax Authoritys',
+ 'UStVA' => 'UStVA',
+ 'UStVA (PDF-Dokument)' => 'UStVA (PDF-Dokument)',
+ 'Unit' => 'Unit',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'Warehouse management' => 'Warehouse management',
+ 'Wrong Period' => 'Wrong Period',
+ 'Year' => 'Year',
+ 'Yearly' => 'Yearly',
+ 'Yearly taxreport not yet implemented' => 'Yearly taxreport not yet implemented',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'accrual' => 'accrual',
+ 'bin_list' => 'bin_list',
+ 'cash' => 'cash',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'customer' => 'customer',
+ 'for Period' => 'for Period',
+ 'invoice' => 'invoice',
+ 'month' => 'month',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'quarter' => 'quarter',
+ 'request_quotation' => 'request_quotation',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'saved' => 'saved',
+ 'to (date)' => 'to (date)',
+ 'vendor' => 'vendor',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'back' => 'back',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'config_step1' => 'config_step1',
+ 'config_step2' => 'config_step2',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_steuernummer' => 'create_steuernummer',
+ 'debug' => 'debug',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'format_dates' => 'format_dates',
+ 'generate_ustva' => 'generate_ustva',
+ 'gl_transaction' => 'gl_transaction',
+ 'help' => 'help',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'report' => 'report',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'save' => 'save',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show' => 'show',
+ 'show_history' => 'show_history',
+ 'show_options' => 'show_options',
+ 'show_vc_details' => 'show_vc_details',
+ 'ustva_vorauswahl' => 'ustva_vorauswahl',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'new_part' => 'new_part',
+ 'save' => 'save',
+ 'show' => 'show',
+ 'back' => 'back',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'Database update error:' => 'Database update error:',
+};
+
+$self->{subs} = {
+ 'do_query' => 'do_query',
+ 'do_update' => 'do_update',
+ 'mydberror' => 'mydberror',
+ 'print_question' => 'print_question',
+ 'continue' => 'continue',
+};
+
+1;
--- /dev/null
+#!/usr/bin/perl
+
+$self->{texts} = {
+ 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.' => 'A temporary file could not be created. Please verify that the directory "#1" is writeable by the webserver.',
+ 'ADDED' => 'ADDED',
+ 'AP' => 'Purchases',
+ 'AP Transaction' => 'Purchase Transaction',
+ 'AR' => 'Sales',
+ 'AR Transaction' => 'Sales Transaction',
+ 'Address' => 'Address',
+ 'Advance turnover tax return' => 'Advance turnover tax return',
+ 'All reports' => 'All reports',
+ 'Attempt to call an undefined sub named \'%s\'' => 'Attempt to call an undefined sub named \'%s\'',
+ 'Bcc' => 'Bcc',
+ 'Bin' => 'Bin',
+ 'Bin From' => 'Bin From',
+ 'Bin List' => 'Bin List',
+ 'Bin To' => 'Bin To',
+ 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.',
+ 'CANCELED' => 'CANCELED',
+ 'CR' => 'CR',
+ 'CRM admin' => 'CRM admin',
+ 'CRM create customers, vendors and contacts' => 'CRM create customers, vendors and contacts',
+ 'CRM follow up' => 'CRM follow up',
+ 'CRM know how' => 'CRM know how',
+ 'CRM notices' => 'CRM notices',
+ 'CRM opportunity' => 'CRM opportunity',
+ 'CRM optional software' => 'CRM optional software',
+ 'CRM other' => 'CRM other',
+ 'CRM search' => 'CRM search',
+ 'CRM send email' => 'CRM send email',
+ 'CRM services' => 'CRM services',
+ 'CRM status' => 'CRM status',
+ 'CRM termin' => 'CRM termin',
+ 'CRM user' => 'CRM user',
+ 'CSV export -- options' => 'CSV export -- options',
+ 'Can not create that quantity with current stock' => 'Can not create that quantity with current stock',
+ 'Cc' => 'Cc',
+ 'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Change Lx-Office installation settings (all menu entries beneath \'System\')',
+ 'Charge Number' => 'Charge Number',
+ 'Comment' => 'Comment',
+ 'Confirmation' => 'Confirmation',
+ 'Contact' => 'Contact',
+ 'Could not spawn the printer command.' => 'Could not spawn the printer command.',
+ 'Create and edit RFQs' => 'Create and edit RFQs',
+ 'Create and edit customers and vendors' => 'Create and edit customers and vendors',
+ 'Create and edit dunnings' => 'Create and edit dunnings',
+ 'Create and edit invoices and credit notes' => 'Create and edit invoices and credit notes',
+ 'Create and edit parts, services, assemblies' => 'Create and edit parts, services, assemblies',
+ 'Create and edit projects' => 'Create and edit projects',
+ 'Create and edit purchase delivery orders' => 'Create and edit purchase delivery orders',
+ 'Create and edit purchase orders' => 'Create and edit purchase orders',
+ 'Create and edit sales delivery orders' => 'Create and edit sales delivery orders',
+ 'Create and edit sales orders' => 'Create and edit sales orders',
+ 'Create and edit sales quotations' => 'Create and edit sales quotations',
+ 'Create and edit vendor invoices' => 'Create and edit vendor invoices',
+ 'Credit Note' => 'Credit Note',
+ 'Customer' => 'Customer',
+ 'Customer Number' => 'Customer Number',
+ 'Customer details' => 'Customer details',
+ 'DATEV Export' => 'DATEV Export',
+ 'DELETED' => 'DELETED',
+ 'DR' => 'DR',
+ 'DUNNING STARTED' => 'DUNNING STARTED',
+ 'Dataset upgrade' => 'Dataset upgrade',
+ 'Date' => 'Date',
+ 'Delivery Order' => 'Delivery Order',
+ 'Dependency loop detected:' => 'Dependency loop detected:',
+ 'Description' => 'Description',
+ 'Directory' => 'Directory',
+ 'Document' => 'Document',
+ 'Dunning' => 'Dunning',
+ 'ELSE' => 'ELSE',
+ 'Employee' => 'Employee',
+ 'Enter longdescription' => 'Enter longdescription',
+ 'Error in database control file \'%s\': %s' => 'Error in database control file \'%s\': %s',
+ 'File' => 'File',
+ 'GL Transaction' => 'GL Transaction',
+ 'General ledger and cash' => 'General ledger and cash',
+ 'History' => 'History',
+ 'Invalid quantity.' => 'Invalid quantity.',
+ 'Invoice' => 'Invoice',
+ 'MAILED' => 'MAILED',
+ 'Manage license keys' => 'Manage license keys',
+ 'Mark as paid?' => 'Mark as paid?',
+ 'Marked as paid' => 'Marked as paid',
+ 'Master Data' => 'Master Data',
+ 'May set the BCC field when sending emails' => 'May set the BCC field when sending emails',
+ 'Message' => 'Message',
+ 'Missing \'description\' field.' => 'Missing \'description\' field.',
+ 'Missing \'tag\' field.' => 'Missing \'tag\' field.',
+ 'Missing parameter #1 in call to sub #2.' => 'Missing parameter #1 in call to sub #2.',
+ 'Missing parameter (at least one of #1) in call to sub #2.' => 'Missing parameter (at least one of #1) in call to sub #2.',
+ 'More than one control file with the tag \'%s\' exist.' => 'More than one control file with the tag \'%s\' exist.',
+ 'Name' => 'Name',
+ 'No' => 'No',
+ 'No %s was found matching the search parameters.' => 'No %s was found matching the search parameters.',
+ 'No Customer was found matching the search parameters.' => 'No Customer was found matching the search parameters.',
+ 'No Vendor was found matching the search parameters.' => 'No Vendor was found matching the search parameters.',
+ 'No customer has been selected yet.' => 'No customer has been selected yet.',
+ 'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'No or an unknown authenticantion module specified in "config/authentication.pl".',
+ 'No part was found matching the search parameters.' => 'No part was found matching the search parameters.',
+ 'No vendor has been selected yet.' => 'No vendor has been selected yet.',
+ 'No warehouse has been created yet or the quantity of the bins is not configured yet.' => 'No warehouse has been created yet or the quantity of the bins is not configured yet.',
+ 'Nothing has been selected for removal.' => 'Nothing has been selected for removal.',
+ 'Nothing has been selected for transfer.' => 'Nothing has been selected for transfer.',
+ 'Others' => 'Others',
+ 'PAYMENT POSTED' => 'PAYMENT POSTED',
+ 'PDF export -- options' => 'PDF export -- options',
+ 'POSTED' => 'POSTED',
+ 'POSTED AS NEW' => 'POSTED AS NEW',
+ 'PRINTED' => 'PRINTED',
+ 'Packing List' => 'Packing List',
+ 'Page #1/#2' => 'Page #1/#2',
+ 'Part Number' => 'Part Number',
+ 'Part description' => 'Part description',
+ 'Pick List' => 'Pick List',
+ 'Please ask your administrator to create warehouses and bins.' => 'Please ask your administrator to create warehouses and bins.',
+ 'Please enter values' => 'Please enter values',
+ 'Preview' => 'Preview',
+ 'Produce Assembly' => 'Produce Assembly',
+ 'Proforma Invoice' => 'Proforma Invoice',
+ 'Project Number' => 'Project Number',
+ 'Purchase Invoice' => 'Purchase Invoice',
+ 'Purchase Order' => 'Purchase Order',
+ 'Purchase delivery order' => 'Purchase delivery order',
+ 'Qty' => 'Qty',
+ 'Quantity missing.' => 'Quantity missing.',
+ 'Quotation' => 'Quotation',
+ 'RFQ' => 'RFQ',
+ 'Receipt, payment, reconciliation' => 'Receipt, payment, reconciliation',
+ 'Removal' => 'Removal',
+ 'Removal from Warehouse' => 'Removal from Warehouse',
+ 'Report about wareouse contents' => 'Report about wareouse contents',
+ 'Reports' => 'Reports',
+ 'Request quotation' => 'Request quotation',
+ 'SAVED' => 'SAVED',
+ 'SAVED FOR DUNNING' => 'SAVED FOR DUNNING',
+ 'SCREENED' => 'SCREENED',
+ 'Sales Invoice' => 'Sales Invoice',
+ 'Sales Order' => 'Sales Order',
+ 'Sales delivery order' => 'Sales delivery order',
+ 'Sales quotation' => 'Sales quotation',
+ 'Select a Customer' => 'Select a Customer',
+ 'Select a customer' => 'Select a customer',
+ 'Select a part' => 'Select a part',
+ 'Select a vendor' => 'Select a vendor',
+ 'Stock' => 'Stock',
+ 'Stock value' => 'Stock value',
+ 'Storno Invoice' => 'Storno Invoice',
+ 'Storno Packing List' => 'Storno Packing List',
+ 'Subject' => 'Subject',
+ 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )',
+ 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.',
+ 'The assembly has been created.' => 'The assembly has been created.',
+ 'The config file "config/authentication.pl" contained invalid Perl code:' => 'The config file "config/authentication.pl" contained invalid Perl code:',
+ 'The config file "config/authentication.pl" was not found.' => 'The config file "config/authentication.pl" was not found.',
+ 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.' => 'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/authentication.pl.',
+ 'The connection to the authentication database failed:' => 'The connection to the authentication database failed:',
+ 'The connection to the template database failed:' => 'The connection to the template database failed:',
+ 'The creation of the authentication database failed:' => 'The creation of the authentication database failed:',
+ 'The list has been printed.' => 'The list has been printed.',
+ 'The parts have been removed.' => 'The parts have been removed.',
+ 'The parts have been stocked.' => 'The parts have been stocked.',
+ 'The parts have been transferred.' => 'The parts have been transferred.',
+ 'The selected bin does not exist.' => 'The selected bin does not exist.',
+ 'The selected warehouse does not exist.' => 'The selected warehouse does not exist.',
+ 'The selected warehouse is empty.' => 'The selected warehouse is empty.',
+ 'The source warehouse does not contain any bins.' => 'The source warehouse does not contain any bins.',
+ 'The warehouse does not contain any bins.' => 'The warehouse does not contain any bins.',
+ 'The warehouse or the bin is missing.' => 'The warehouse or the bin is missing.',
+ 'There is not enough left of \'#1\' in bin \'#2\' for the removal of #3.' => 'There is not enough left of \'#1\' in bin \'#2\' for the removal of #3.',
+ 'To (email)' => 'To (email)',
+ 'Total stock value' => 'Total stock value',
+ 'Trans Id' => 'Trans Id',
+ 'Trans Type' => 'Trans Type',
+ 'Transactions, AR transactions, AP transactions' => 'Transactions, AR transactions, AP transactions',
+ 'Transfer' => 'Transfer',
+ 'Trying to call a sub without a name' => 'Trying to call a sub without a name',
+ 'Unit' => 'Unit',
+ 'Unit missing.' => 'Unit missing.',
+ 'Unknown dependency \'%s\'.' => 'Unknown dependency \'%s\'.',
+ 'Value' => 'Value',
+ 'Variable' => 'Variable',
+ 'Vendor' => 'Vendor',
+ 'Vendor Invoice' => 'Vendor Invoice',
+ 'Vendor details' => 'Vendor details',
+ 'View warehouse content' => 'View warehouse content',
+ 'WHJournal' => 'WHJournal',
+ 'Warehouse' => 'Warehouse',
+ 'Warehouse From' => 'Warehouse From',
+ 'Warehouse To' => 'Warehouse To',
+ 'Warehouse management' => 'Warehouse management',
+ 'Yes' => 'Yes',
+ 'You can create warehouses and bins via the menu "System -> Warehouses".' => 'You can create warehouses and bins via the menu "System -> Warehouses".',
+ 'You do not have the permissions to access this function.' => 'You do not have the permissions to access this function.',
+ 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.',
+ '[email]' => '[email]',
+ 'back' => 'back',
+ 'bin_list' => 'bin_list',
+ 'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Key "DB_config" is missing.',
+ 'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Key "LDAP_config" is missing.',
+ 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".' => 'config/authentication.pl: Missing parameters in "DB_config". Required parameters are "host", "db" and "user".',
+ 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".',
+ 'correction' => 'correction',
+ 'customer' => 'customer',
+ 'disposed' => 'disposed',
+ 'found' => 'found',
+ 'invoice' => 'invoice',
+ 'missing' => 'missing',
+ 'no' => 'no',
+ 'packing_list' => 'packing_list',
+ 'pick_list' => 'pick_list',
+ 'proforma' => 'proforma',
+ 'purchase_order' => 'purchase_order',
+ 'release_material' => 'release_material',
+ 'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to is not defined.',
+ 'report_generator_nextsub is not defined.' => 'report_generator_nextsub is not defined.',
+ 'request_quotation' => 'request_quotation',
+ 'return_material' => 'return_material',
+ 'sales_order' => 'sales_order',
+ 'sales_quotation' => 'sales_quotation',
+ 'shipped' => 'shipped',
+ 'stock' => 'stock',
+ 'transfer' => 'transfer',
+ 'used' => 'used',
+ 'vendor' => 'vendor',
+ 'warehouse_journal_list' => 'warehouse_journal_list',
+ 'warehouse_report_list' => 'warehouse_report_list',
+ 'yes' => 'yes',
+};
+
+$self->{subs} = {
+ 'E' => 'E',
+ 'H' => 'H',
+ 'NTI' => 'NTI',
+ 'Q' => 'Q',
+ 'ap_transaction' => 'ap_transaction',
+ 'ar_transaction' => 'ar_transaction',
+ 'build_std_url' => 'build_std_url',
+ 'calculate_qty' => 'calculate_qty',
+ 'call_sub' => 'call_sub',
+ 'continue' => 'continue',
+ 'cov_selection_internal' => 'cov_selection_internal',
+ 'create_assembly' => 'create_assembly',
+ 'delivery_customer_selection' => 'delivery_customer_selection',
+ 'format_dates' => 'format_dates',
+ 'generate_journal' => 'generate_journal',
+ 'generate_report' => 'generate_report',
+ 'get_bin_idx' => 'get_bin_idx',
+ 'get_warehouse_idx' => 'get_warehouse_idx',
+ 'gl_transaction' => 'gl_transaction',
+ 'journal' => 'journal',
+ 'mark_as_paid_common' => 'mark_as_paid_common',
+ 'new_item' => 'new_item',
+ 'part_selection_internal' => 'part_selection_internal',
+ 'reformat_numbers' => 'reformat_numbers',
+ 'removal_parts_selection' => 'removal_parts_selection',
+ 'remove_parts' => 'remove_parts',
+ 'report' => 'report',
+ 'report_generator_back' => 'report_generator_back',
+ 'report_generator_dispatcher' => 'report_generator_dispatcher',
+ 'report_generator_do' => 'report_generator_do',
+ 'report_generator_export_as_csv' => 'report_generator_export_as_csv',
+ 'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
+ 'report_generator_set_default_sort' => 'report_generator_set_default_sort',
+ 'retrieve_partunits' => 'retrieve_partunits',
+ 'sales_invoice' => 'sales_invoice',
+ 'select_part' => 'select_part',
+ 'select_part_internal' => 'select_part_internal',
+ 'set_longdescription' => 'set_longdescription',
+ 'show_history' => 'show_history',
+ 'show_no_warehouses_error' => 'show_no_warehouses_error',
+ 'show_vc_details' => 'show_vc_details',
+ 'stock' => 'stock',
+ 'transfer_assembly_update_part' => 'transfer_assembly_update_part',
+ 'transfer_or_removal_prepare_contents' => 'transfer_or_removal_prepare_contents',
+ 'transfer_parts' => 'transfer_parts',
+ 'transfer_parts_selection' => 'transfer_parts_selection',
+ 'transfer_stock' => 'transfer_stock',
+ 'transfer_stock_get_partunit' => 'transfer_stock_get_partunit',
+ 'transfer_stock_part_selected' => 'transfer_stock_part_selected',
+ 'transfer_stock_update_part' => 'transfer_stock_update_part',
+ 'transfer_warehouse_selection' => 'transfer_warehouse_selection',
+ 'update' => 'update',
+ 'vendor_invoice' => 'vendor_invoice',
+ 'vendor_selection' => 'vendor_selection',
+ 'back' => 'back',
+ 'close' => 'close',
+ 'continue' => 'continue',
+ 'create_assembly' => 'create_assembly',
+ 'export_as_csv' => 'export_as_csv',
+ 'export_as_pdf' => 'export_as_pdf',
+ 'new_part' => 'new_part',
+ 'stock' => 'stock',
+ 'update' => 'update',
+};
+
+1;
--- /dev/null
+[% USE HTML %]
+<body>
+ <p><div class="listheading">[% title %]</div></p>
+
+ <p>
+ Earlier versions of Lx-Office contained bugs which might have led to wrong entries in the general ledger.
+ These wrong entries cannot be fixed automatically.
+ This module can help you identify and correct such entries by analyzing the general ledger and presenting you likely solutions but also allowing you to fix problems yourself.
+ </p>
+
+ <form name="filter" method="post" action="acctranscorrections.pl">
+
+ <p>Time period for the analysis:</p>
+
+ <p>
+ <table>
+ <tr>
+ <td><input type="radio" name="scope" id="scope_full" value="full" checked></td>
+ <td><label for="scope_full">All general ledger entries</label></td>
+ </tr>
+
+ <tr>
+ <td><input type="radio" name="scope" id="scope_period" value="period"></td>
+ <td>
+ Period:
+ from (time)
+ <input name="transdate_from" id="transdate_from" size="10">
+ <input type="button" name="transdate_from_trigger" id="transdate_from_trigger" value="?">
+ to (time)
+ <input name="transdate_to" id="transdate_to" size="10">
+ <input type="button" name="transdate_to_trigger" id="transdate_to_trigger" value="?">
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" value="Start analysis">
+ </p>
+
+ <input type="hidden" name="action" value="analyze">
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "transdate_from", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "transdate_from_trigger" });
+ Calendar.setup({ inputField : "transdate_to", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "transdate_to_trigger" });
+ //-->
+ </script>
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>Lx-Office has found one or more problems in the general ledger.</p>
+
+ <p>
+ Period:
+ [%- IF transdate_from || transdate_to %]
+ [%- IF transdate_from %]
+ from (time) [% transdate_from %]
+ [%- END %]
+ [%- IF transdate_to %]
+ to (time) [% transdate_to %]
+ [%- END %]
+ [%- ELSE %]
+ all entries
+ [%- END %]
+ </p>
+
+ <p>
+ <table width="100%">
+ <tr>
+ <th class="listheading">Transaction</th>
+ <th class="listheading">Problem</th>
+ <th class="listheading">Solution</th>
+ </tr>
+
+ [%- FOREACH problem = PROBLEMS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td valign="top">
+ [%- IF problem.type == 'ap_ar_wrong_taxkeys' %]
+ [%- IF problem.ap_problems.size %]
+ Purchase Transactions
+ [%- FOREACH ap = problem.ap_problems %]
+ [%- UNLESS loop.first %], [%- END %]
+ <a href="[% ap.link %]">[% HTML.escape(ap.data.reference) %]</a>
+ [%- END %]
+ [%- END %]
+
+ [%- IF problem.ar_problems.size %]
+ [%- IF problem.ap_problems.size %]; [%- END %]
+ Sales Transactions
+ [%- FOREACH ar = problem.ar_problems %]
+ [%- UNLESS loop.first %], [%- END %]
+ <a href="[% ar.link %]">[% HTML.escape(ar.data.reference) %]</a>
+ [%- END %]
+ [%- END %]
+
+
+ [%- ELSIF problem.type == 'invoice_inventory_with_taxkeys' %]
+ [%- IF problem.ar_problems.size %]
+ Sales invoices
+ [%- FOREACH subproblem = problem.ar_problems %]
+ [%- UNLESS loop.first %], [%- END %]
+ <a href="[% subproblem.link %]">[% HTML.escape(subproblem.data.reference) %]</a>
+ [%- END %]
+ [%- END %]
+
+ [%- IF problem.ap_problems.size %]
+ [%- IF problem.ar_problems.size %]; [%- END %]
+ Purchase invoices
+ [%- FOREACH subproblem = problem.ap_problems %]
+ [%- UNLESS loop.first %], [%- END %]
+ <a href="[% subproblem.link %]">[% HTML.escape(subproblem.data.reference) %]</a>
+ [%- END %]
+ [%- END %]
+
+ [%- ELSE %]
+
+ <a href="[% problem.link %]">
+ [%- IF problem.data.module == 'ar' %]
+ Sales Transaction
+ [%- ELSIF problem.data.module == 'ap' %]
+ Purchase Transaction
+ [%- ELSE %]
+ General Ledger Transaction
+ [%- END %]
+ [% HTML.escape(problem.data.reference) %]
+ </a>
+
+ <!-- ( [% problem.data.module %].id = acc_trans.trans_id = [% HTML.escape(problem.data.trans_id) %] ) -->
+
+ [%- END %]
+ </td>
+
+ <td valign="top">
+ [%- IF problem.type == 'split_multiple_credit_and_debit' %]
+ Transaction has been split on both the credit and the debit side
+
+ [%- ELSIF problem.type == 'wrong_taxkeys' %]
+ Wrong tax keys recorded
+
+ [%- ELSIF problem.type == 'wrong_taxes' %]
+ Wrong taxes recorded
+
+ [%- ELSIF problem.type == 'ap_ar_wrong_taxkeys' %]
+ AP transactions with sales taxkeys and/or AR transactions with input taxkeys
+
+ [%- ELSIF problem.type == 'invoice_inventory_with_taxkeys' %]
+ Sales and purchase invoices with inventory transactions with taxkeys
+
+ [%- END %]
+ </td>
+
+ <td valign="top">
+ [%- IF problem.type == 'split_multiple_credit_and_debit' %]
+ This transaction has to be split into several transactions manually.
+
+ [%- ELSIF (problem.type == 'wrong_taxkeys') || (problem.type == 'wrong_taxes') %]
+ <a href="acctranscorrections.pl?action=assistant&trans_id=[% HTML.url(problem.data.trans_id) %]&trans_module=[% HTML.url(problem.data.module) %]&trans_reference=[% HTML.url(problem.data.reference) %]&callback=[% callback %]">
+ Start the correction assistant
+ </a>
+
+ [%- ELSIF problem.type == 'ap_ar_wrong_taxkeys' %]
+ <a href="acctranscorrections.pl?action=assistant_for_ap_ar_wrong_taxkeys&callback=[% callback %]">
+ Start the correction assistant
+ </a>
+
+ [%- ELSIF problem.type == 'invoice_inventory_with_taxkeys' %]
+ <a href="acctranscorrections.pl?action=assistant_for_invoice_inventory_with_taxkeys&callback=[% callback %]">
+ Start the correction assistant
+ </a>
+
+ [%- END %]
+ </td>
+ </tr>
+ [%- END %]
+
+ </table>
+ </p>
+
+ <hr>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ There is at least one transaction for which the user has chosen a logically wrong taxkey.
+
+ This means that the user has created an AP transaction and chosen a taxkey for sales taxes, or that he has created an AR transaction and chosen a taxkey for input taxes.
+ </p>
+
+ <p>
+ Lx-Office can fix these problems automatically.
+
+ For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.
+
+ For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.
+ </p>
+
+ <form name="Form" action="acctranscorrections.pl" method="post">
+
+ <p>
+ <input type="hidden" name="action" value="fix_ap_ar_wrong_taxkeys">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="submit" class="submit" value="Fix transactions">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ There is at least one sales or purchase invoice for which Lx-Office recorded an inventory transaction with taxkeys even though no tax was recorded.
+ </p>
+
+ <p>
+ Lx-Office can fix these problems automatically.
+
+ It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.
+ </p>
+
+ <form name="Form" action="acctranscorrections.pl" method="post">
+
+ <p>
+ <input type="hidden" name="action" value="fix_invoice_inventory_with_taxkeys">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="submit" class="submit" value="Fix transactions">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ The following transaction contains wrong taxes:
+ <a href="[% problem.link %]">
+ [%- IF problem.data.module == 'ar' %]
+ Sales Transaction
+ [%- ELSIF problem.data.module == 'ap' %]
+ Purchase Transaction
+ [%- ELSE %]
+ General Ledger Transaction
+ [%- END %]
+ [% HTML.escape(problem.data.reference) %]
+ </a>
+ </p>
+
+ <p>At the moment the transaction looks like this:</p>
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Account</th>
+ <th class="listheading">Debit</th>
+ <th class="listheading">Credit</th>
+ <th class="listheading">Taxkey</th>
+ <th class="listheading">Recorded Tax</th>
+ <th class="listheading">Expected Tax</th>
+ <th class="listheading"></th>
+ </tr>
+
+ [%- SET curr_row = 0 %]
+ [%- IF problem.acc_trans.credit.entries.size > problem.acc_trans.debit.entries.size %]
+ [%- SET order = [ 'credit', 'debit' ] %]
+ [%- SET other_side = 'debit' %]
+ [%- ELSE %]
+ [%- SET order = [ 'debit', 'credit' ] %]
+ [%- SET other_side = 'credit' %]
+ [%- END %]
+
+ [%- FOREACH idx = order %]
+ [%- FOREACH row = problem.acc_trans.$idx.entries %]
+ [%- SET curr_row = curr_row + 1 %]
+ <tr class="listrow[% curr_row % 2 %]">
+ <td>[% HTML.escape(row.accno) %]--[% HTML.escape(row.chartdescription) %]</td>
+ <td align="right">
+ [%- IF idx == 'debit' %]
+ [% LxERP.format_amount(row.display_amount, 2) %]
+ [%- END %]
+ </td>
+ <td align="right">
+ [%- IF idx == 'credit' %]
+ [% LxERP.format_amount(row.display_amount, 2) %]
+ [%- END %]
+ </td>
+ <td>[% IF idx != other_side %][% HTML.escape(row.taxdescription) %][% END %]</td>
+ <td align="right">[% IF row.actual_tax %][% LxERP.format_amount(row.actual_tax, 2) %][% END %]</td>
+ <td align="right">[% IF row.expected_tax %][% LxERP.format_amount(row.expected_tax, 2) %][% END %]</td>
+ <td align="center" valign="center"><img src="image/[% IF row.tax_error %]error[% ELSE %]ok[% END %].png"></td>
+ </tr>
+ [%- END %]
+ [%- END %]
+
+ </table>
+ </p>
+ <hr>
+
+ <form method="post" action="acctranscorrections.pl">
+ <p>
+ <input type="hidden" name="action" value="delete_transaction">
+ <input type="hidden" name="trans_id" value="[% HTML.escape(problem.data.trans_id) %]">
+ <input type="submit" class="submit" value="Delete transaction">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ The following transaction contains wrong taxkeys:
+ <a href="[% problem.link %]">
+ [%- IF problem.data.module == 'ar' %]
+ Sales Transaction
+ [%- ELSIF problem.data.module == 'ap' %]
+ Purchase Transaction
+ [%- ELSE %]
+ General Ledger Transaction
+ [%- END %]
+ [% HTML.escape(problem.data.reference) %]
+ </a>
+ </p>
+
+ <p>
+ This could have happened for two reasons:
+
+ The first reason is that Lx-Office contained a bug which resulted in the wrong taxkeys being recorded for transactions in which two entries are posted for the same chart with different taxkeys.
+
+ The second reason is that Lx-Office allowed the user to enter the tax amount manually regardless of the taxkey used.
+
+ Such entries cannot be exported into the DATEV format and have to be fixed as well.
+ </p>
+
+ <p>
+ The transaction is shown below in its current state.
+
+ You can correct this transaction by chosing the correct taxkeys from the drop down boxes and hitting the button "Fix transaction" afterwards.
+
+ It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don't match the selected taxkey). Therefore you should re-run the general ledger analysis.
+ </p>
+
+ <p>
+ You can also delete this transaction and re-enter it manually.
+
+ In order to do that hit the button "Delete transaction".
+ </p>
+
+ <p>At the moment the transaction looks like this:</p>
+
+ <form method="post" action="acctranscorrections.pl" name="Form">
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Account</th>
+ <th class="listheading">Debit</th>
+ <th class="listheading">Credit</th>
+ <th class="listheading">Recorded Tax</th>
+ <th class="listheading">Recorded taxkey</th>
+ <th class="listheading">Expected Tax</th>
+ <th class="listheading"></th>
+ <th class="listheading">Correct taxkey</th>
+ </tr>
+
+ [%- SET curr_row = 0 %]
+ [%- IF (problem.data.module == 'ar') || ((problem.data.module == 'gl') && (problem.acc_trans.credit.entries.first.acc_trans_id < problem.acc_trans.debit.entries.first.acc_trans_id)) %]
+ [%- SET order = [ 'credit', 'debit' ] %]
+ [%- SET other_side = 'debit' %]
+ [%- ELSE %]
+ [%- SET order = [ 'debit', 'credit' ] %]
+ [%- SET other_side = 'credit' %]
+ [%- END %]
+
+
+ [%- IF problem.acc_trans.credit.entries.size > problem.acc_trans.debit.entries.size %]
+ [%- ELSE %]
+ [%- END %]
+
+
+ [%- FOREACH idx = order %]
+ [%- FOREACH row = problem.acc_trans.$idx.entries %]
+ [%- SET curr_row = curr_row + 1 %]
+ <tr class="listrow[% curr_row % 2 %]">
+ <td>[% HTML.escape(row.accno) %]--[% HTML.escape(row.chartdescription) %]</td>
+ <td align="right">
+ [%- IF idx == 'debit' %]
+ [% LxERP.format_amount(row.display_amount, 2) %]
+ [%- END %]
+ </td>
+ <td align="right">
+ [%- IF idx == 'credit' %]
+ [% LxERP.format_amount(row.display_amount, 2) %]
+ [%- END %]
+ </td>
+ <td align="right">[% IF row.actual_tax %][% LxERP.format_amount(row.display_actual_tax, 2) %][% END %]</td>
+ <td>[% IF (problem.data.module == 'gl') || (idx != other_side) %][% HTML.escape(row.taxdescription) %][% END %]</td>
+ <td align="right">[% IF row.expected_tax %][% LxERP.format_amount(row.display_expected_tax, 2) %][% END %]</td>
+ <td align="center" valign="center"><img src="image/[% IF row.taxkey_error %]error[% ELSE %]ok[% END %].png"></td>
+
+ <td>
+ [%- IF row.taxkey_error %]
+ <input type="hidden" name="fixes[+].acc_trans_id" value="[% HTML.escape(row.acc_trans_id) %]">
+ <input type="hidden" name="fixes[].tax_entry_acc_trans_id" value="[% HTML.escape(row.tax_entry_acc_trans_id) %]">
+ <select name="fixes[].taxkey" style="width: 250px" onchange="enable_fix_button_maybe()">
+ <option value="">---please select---</option>
+ [%- FOREACH taxkey = row.correct_taxkeys %]
+ <option value="[% HTML.escape(taxkey.taxkey) %]">[% HTML.escape(taxkey.description) %]</option>
+ [%- END %]
+ [%- ELSE %]
+
+ [%- END %]
+ </tr>
+ [%- END %]
+ [%- END %]
+
+ </table>
+ </p>
+ <hr>
+
+ <p>
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="hidden" name="trans_id" value="[% HTML.escape(problem.data.trans_id) %]">
+ <input type="hidden" name="module" value="[% HTML.escape(problem.data.module) %]">
+ <input type="hidden" name="reference" value="[% HTML.escape(problem.data.reference) %]">
+ <input type="submit" class="submit" id="fix_transaction_button" name="action_fix_wrong_taxkeys" value="Fix transaction" disabled>
+ <input type="submit" class="submit" name="action_delete_transaction" value="Delete transaction">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+ </p>
+ </form>
+
+ <script type="text/javascript" src="js/jquery.js"></script>
+ <script type="text/javascript">
+ <!--
+ function enable_fix_button_maybe() {
+ var all_set = true;
+ $("[@name='fixes[].taxkey']").each(function () {
+ var val = $(this).attr('value');
+ if (val == '')
+ all_set = false;
+ });
+
+ $("#fix_transaction_button").attr('disabled', !all_set);
+ }
+ -->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+[% USE LxERP %]
+<body>
+ <p><div class="listheading">[% title %]</div></p>
+
+ <p>
+ [%- IF module == 'ar' %]
+ [%- HTML.escape(LxERP.format_string('Do you really want to delete AR transaction #1?', reference)) %]
+ [%- ELSIF module == 'ap' %]
+ [%- HTML.escape(LxERP.format_string('Do you really want to delete AP transaction #1?', reference)) %]
+ [%- ELSE %]
+ [%- HTML.escape(LxERP.format_string('Do you really want to delete GL transaction #1?', reference)) %]
+ [%- END %]
+ </p>
+
+ <p>
+ <form method="post" action="acctranscorrections.pl">
+
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="trans_id" value="[% HTML.escape(trans_id) %]">
+ <input type="hidden" name="module" value="[% HTML.escape(module) %]">
+ <input type="hidden" name="reference" value="[% HTML.escape(reference) %]">
+
+ <input type="hidden" name="confirmation" value="1">
+ <input type="hidden" name="action" value="delete_transaction">
+
+ <input type="submit" value="Yes">
+ <input type="button" onclick="history.back()" value="No">
+ </form>
+ </p>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+[% USE LxERP %]
+<body>
+ <p><div class="listheading">[% title %]</div></p>
+
+ <p>
+ [%- IF module == 'ar' %]
+ [%- HTML.escape(LxERP.format_string('The AR transaction #1 has been deleted.', reference)) %]
+ [%- ELSIF module == 'ap' %]
+ [%- HTML.escape(LxERP.format_string('The AP transaction #1 has been deleted.', reference)) %]
+ [%- ELSE %]
+ [%- HTML.escape(LxERP.format_string('The GL transaction #1 has been deleted.', reference)) %]
+ [%- END %]
+ </p>
+
+ <p>
+ <form method="post" action="acctranscorrections.pl">
+
+ <input type="hidden" name="action" value="redirect">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="submit" value="Re-run analysis">
+ </form>
+ </p>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ The wrong taxkeys for AP and AR transactions have been fixed.
+
+ Please re-run the analysis for broken general ledger entries by clicking this button:
+ </p>
+
+ <p>
+ <form action="acctranscorrections.pl" method="post">
+
+ <input type="hidden" name="action" value="redirect">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="submit" value="Re-run analysis">
+ </form>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ The wrong taxkeys for inventory transactions for sales and purchase invoices have been fixed.
+
+ Please re-run the analysis for broken general ledger entries by clicking this button:
+ </p>
+
+ <p>
+ <form action="acctranscorrections.pl" method="post">
+
+ <input type="hidden" name="action" value="redirect">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="submit" value="Re-run analysis">
+ </form>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+<body>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <p>
+ The wrong taxkeys have been fixed.
+
+ Please re-run the analysis for broken general ledger entries by clicking this button:
+ </p>
+
+ <p>
+ <form action="acctranscorrections.pl" method="post">
+
+ <input type="hidden" name="action" value="redirect">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="submit" value="Re-run analysis">
+ </form>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin" onload="document.getElementById('rpw').focus()">
+
+ <div align="center">
+
+ <a href="http://www.lx-office.org"><img src="image/lx-office-erp.png" border="0"></a>
+
+ <h1 class="login">Version [% HTML.escape(version) %]</h1>
+
+ <h2>Administration</h2>
+
+ [% IF error_message %]
+ <p><span class="error_message">[% error_message %]</span></p>
+ [% END %]
+
+ <form method="post" action="admin.pl">
+
+ <table>
+ <tr>
+ <th>Password</th>
+ <td><input type="password" name="rpw" id="rpw"></td>
+ <td><input type="submit" class="submit" name="action" value="Login"></td>
+ </tr>
+ <input type="hidden" name="action" value="login">
+ </table>
+
+ </form>
+
+ <p><a href="http://www.lx-office.org/">Lx-Office website</a></p>
+
+ </div>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <p>The dataset backup has been sent via email to [% HTML.escape(to) %].</p>
+
+ <form method="post" action="admin.pl">
+ <input type="hidden" name="nextsub" value="list_users">
+ <input type="submit" name="action" value="Continue">
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin" onload="set_subject(); document.getElementsByName('to')[0].focus(); ">
+
+ <script type="text/javascript">
+ <!--
+ function set_subject() {
+ var subject_template = "Backup of dataset";
+ var subject = document.Form.subject.value;
+
+ if ((subject == "") || (subject.substr(0, subject_template.length) == subject_template)) {
+ document.Form.subject.value = subject_template + " " + document.Form.dbname.value;
+ }
+ }
+ -->
+ </script>
+
+ <h2>[% title %]</h2>
+
+ [% IF NO_DATABSES %]
+ No databases have been found on this server.
+
+ [% ELSE %]
+
+ <form name="Form" method="post" action="admin.pl">
+
+ <input type="hidden" name="dbdriver" value="Pg">
+ <input type="hidden" name="dbhost" value="[% HTML.escape(dbhost) %]">
+ <input type="hidden" name="dbport" value="[% HTML.escape(dbport) %]">
+ <input type="hidden" name="dbuser" value="[% HTML.escape(dbuser) %]">
+ <input type="hidden" name="dbpasswd" value="[% HTML.escape(dbpasswd) %]">
+
+ <p>
+ Please select the database you want to backup:
+ <select name="dbname" onchange="set_subject()">[% FOREACH row = DATABASES %]<option>[% HTML.escape(row.dbname) %]</option>[% END %]</select>
+ </p>
+
+ <table>
+ <tr>
+ <td valign="top"><input type="radio" name="destination" id="destination_download" value="download" checked></td>
+ <td valign="top"><label for="destination_download">Download the backup</label></td>
+ </tr>
+
+ <tr>
+ <td valign="top"><input type="radio" name="destination" id="destination_email" value="email"></td>
+ <td valign="top">
+ <label for="destination_email">Send the backup via Email</label><br>
+
+ <table>
+ <tr>
+ <td valign="top" align="right">From</td>
+ <td valign="top"><input name="from" size="40" value="[% HTML.escape(from) %]"></td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="right">To</td>
+ <td valign="top"><input name="to" size="40"></td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="right">Cc</td>
+ <td valign="top"><input name="cc" size="40"></td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="right">Subject</td>
+ <td valign="top"><input name="subject" size="40"></td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="right">Message</td>
+ <td valign="top"><textarea name="message" cols="40" rows="10"></textarea></td>
+ </tr>
+
+ </table>
+
+ </td>
+ </tr>
+
+ </table>
+
+ <input name="callback" type="hidden" value="admin.pl?action=list_users">
+ <input type="hidden" name="nextsub" value="backup_dataset_start">
+ <input type="hidden" name="back_nextsub" value="list_users">
+
+ <hr size="3" noshade>
+
+ <br>
+
+ <input type="submit" class="submit" name="action" value="Continue">
+ <input type="submit" class="submit" name="action" value="Back">
+
+ </form>
+
+ [% END %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="admin.pl">
+
+ <p>
+ The database for user management and authentication does not exist. You can create let Lx-Office create it with the following parameters:
+ </p>
+
+ <table border="0">
+ <tr>
+ <td>Host:</td>
+ <td>[% HTML.escape(db_host) %]</td>
+ </tr>
+ <tr>
+ <td>Port:</td>
+ <td>[% HTML.escape(db_port) %]</td>
+ </tr>
+ <tr>
+ <td>User name:</td>
+ <td>[% HTML.escape(db_user) %]</td>
+ </tr>
+ <tr>
+ <td>Database name:</td>
+ <td>[% HTML.escape(db_db) %]</td>
+ </tr>
+ </table>
+
+ <p>
+ Please enter the name of the database that will be used as the template for the new database:
+ </p>
+
+ <p>Template database: <input name="db_template" value="template1"></p>
+
+ <p>
+ If the database user listed above does not have the right to create a database then enter the name and password of the superuser below:
+ </p>
+
+ <table border="0"
+ <tr>
+ <td>Superuser name:</td>
+ <td><input name="db_superuser"></td>
+ </tr>
+
+ <tr>
+ <td>Password:</td>
+ <td><input type="password" name="db_superuser_password"></td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="rpw" value="[% HTML.escape(rpw) %]">
+ <input type="hidden" name="action" value="create_auth_db">
+
+ <input type="submit" class="submit" value="Create Dataset">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ The tables for user management and authentication do not exist. They will be created in the next step in the following database:
+ </p>
+
+ <table border="0">
+ <tr>
+ <td>Host:</td>
+ <td>[% HTML.escape(db_host) %]</td>
+ </tr>
+ <tr>
+ <td>Port:</td>
+ <td>[% HTML.escape(db_port) %]</td>
+ </tr>
+ <tr>
+ <td>User name:</td>
+ <td>[% HTML.escape(db_user) %]</td>
+ </tr>
+ <tr>
+ <td>Database name:</td>
+ <td>[% HTML.escape(db_db) %]</td>
+ </tr>
+ </table>
+
+ <p>
+ If you want to change any of these parameters then press the "Back" button, edit the file "config/authentication.pl" and login into the admin module again.
+ </p>
+
+ <form method="post" action="admin.pl">
+
+ <input type="hidden" name="rpw" value="[% HTML.escape(rpw) %]">
+ <input type="hidden" name="action" value="create_auth_tables">
+
+ <input type="submit" class="submit" value="Create tables">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <form method="post" action="admin.pl">
+
+ <p>
+ You can either create a new database or chose an existing database.
+ In the latter case the tables needed by Lx-Office will be created in that database.
+ </p>
+
+ <table>
+ <tr>
+ <th valign="top" align="right" nowrap>Existing Datasets</th>
+ <td valign="top">[% HTML.escape(dbsources) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Create Dataset</th>
+ <td><input name="db"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Multibyte Encoding</th>
+ <td>
+ [%- IF FORCE_DBENCODING %]
+ <input type="hidden" name="encoding" value="[% HTML.escape(FORCE_DBENCODING) %]">
+ [% HTML.escape(FORCE_DBENCODING) %]
+ [%- ELSE %]
+ <select name="encoding">
+ [% FOREACH row = DBENCODINGS %]<option value="[% HTML.escape(row.dbencoding) %]" [% IF row.selected %]selected[% END %]>[% HTML.escape(row.label) %]</option>[% END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th valign="top" align="right" nowrap>Create Chart of Accounts</th>
+ <td>
+ <select name="chart">
+ [% FOREACH row = CHARTS %]<option [% IF row.selected %]selected[% END %]>[% HTML.escape(row.name) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ </table>
+
+ <input type="hidden" name="dbdriver" value="[% HTML.escape(dbdriver) %]">
+ <input type="hidden" name="dbuser" value="[% HTML.escape(dbuser) %]">
+ <input type="hidden" name="dbhost" value="[% HTML.escape(dbhost) %]">
+ <input type="hidden" name="dbport" value="[% HTML.escape(dbport) %]">
+ <input type="hidden" name="dbpasswd" value="[% HTML.escape(dbpasswd) %]">
+ <input type="hidden" name="dbdefault" value="[% HTML.escape(dbdefault) %]">
+
+ <input type="hidden" name="callback" value="admin.pl?action=list_users">
+
+ <input type="hidden" name="nextsub" value="dbcreate">
+
+ <hr size="3" noshade>
+
+ <p><input type="submit" class="submit" name="action" value="Continue"></p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="admin.pl">
+
+ <p>
+
+ Lx-Office has been switched to group-based access restrictions.
+
+ You have to create at least one group, grant it access to Lx-Office's functions and assign users to it.
+
+ Otherwise all users will only have access to their own settings.
+
+ </p>
+
+ <p>
+
+ During this user migration Lx-Office can create such a group for you and grant all users access to all of Lx-Office's functions.
+
+ This corresponds to Lx-Office's behavior prior to version 2.4.4.
+
+ </p>
+
+ <p>
+
+ Alternatively you can skip this step and create groups yourself.
+
+ </p>
+
+ <p>
+
+ Do you want Lx-Office to create a group for access to all functions?
+
+ This group will be called "Full Access".
+
+ </p>
+
+ <input type="hidden" name="action" value="dispatcher">
+
+ <p>
+ <input type="submit" class="submit" name="action_create_standard_group" value="Yes">
+ <input type="submit" class="submit" name="action_dont_create_standard_group" value="No">
+ </p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <form method="post" action="admin.pl">
+
+ <table>
+ <tr>
+ <td>
+
+ <table>
+
+ <input type="hidden" name="dbdriver" value="[% HTML.escape(dbdriver) %]">
+
+ <tr>
+ <td>
+ <table>
+
+ <tr>
+
+ <th align="right">Host</th>
+ <td><input name="dbhost" size="25" value="[% HTML.escape(dbhost) %]"></td>
+ <th align="right">Port</th>
+ <td><input name="dbport" size="5" value="[% HTML.escape(dbport) %]"></td>
+
+ </tr>
+
+ <tr>
+
+ <th align="right">User</th>
+ <td><input name="dbuser" size="10" value="[% HTML.escape(dbuser) %]"></td>
+ <th align="right">Password</th>
+ <td><input type="password" name="dbpasswd" size="10"></td>
+
+ </tr>
+
+ <tr>
+
+ <th align="right">Database template</th>
+ <td colspan="3"><input name="dbdefault" size="10" value="[% HTML.escape(dbdefault) %]"></td>
+
+ </tr>
+
+ </table>
+
+ </td>
+ </tr>
+ </table>
+
+ <input name="callback" type="hidden" value="admin.pl?action=list_users">
+
+ <br>
+
+ <input type="submit" class="submit" name="action" value="Create Dataset">
+ <input type="submit" class="submit" name="action" value="Update Dataset">
+ <input type="submit" class="submit" name="action" value="Delete Dataset">
+ [% IF ALLOW_DBBACKUP %]
+ <input type="submit" class="submit" name="action" value="Backup Dataset">
+ <input type="submit" class="submit" name="action" value="Restore Dataset">
+ [% END %]
+ </td>
+ </tr>
+ </table>
+ </form>
+
+ <p>This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!</p>
+
+ <p>Leave host and port field empty unless you want to make a remote connection.</p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <form method="post" action="admin.pl">
+
+ <p>The dataset [% HTML.escape(db) %] has been successfully created.</p>
+
+ <input type="hidden" name="nextsub" value="list_users">
+
+ <p><input type="submit" class="submit" name="action" value="Continue"></p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <form method="post" action="admin.pl">
+
+ <p>The database [% HTML.escape(db) %] has been successfully deleted.</p>
+
+ <input type="hidden" name="nextsub" value="list_users">
+
+ <p><input type="submit" class="submit" name="action" value="Continue"></p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML%]
+[% IF NOTHING_TO_DO %]
+ <p>No datasets have been selected.</p>
+
+ [% ELSE %]
+
+ <hr>
+
+ <p>All database upgrades have been applied.</p>
+[% END %]
+
+<form method="post" action="admin.pl">
+ <input type="hidden" name="nextsub" value="list_users">
+
+ <input type="submit" name="action" value="Continue">
+</form>
+
+</body>
+</html>
--- /dev/null
+<p>...done</p>
--- /dev/null
+[% USE HTML %]<div class="listtop" width="100%">Dataset upgrade ([% HTML.escape(dbname) %])</div>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <form method="post" action="admin.pl">
+
+ <p>You can only delete datasets that are not in use.
+ If you want to delete such a dataset you have to edit the user(s) that are using the dataset in question and have them use another dataset.</p>
+
+ <p>Please seletct the dataset you want to delete:
+ <select name="db">[% FOREACH row = DBSOURCES %]<option>[% HTML.escape(row.name) %]</option>[% END %]</select>
+ </p>
+
+ <input type="hidden" name="dbdriver" value="[% HTML.escape(dbdriver) %]">
+ <input type="hidden" name="dbuser" value="[% HTML.escape(dbuser) %]">
+ <input type="hidden" name="dbhost" value="[% HTML.escape(dbhost) %]">
+ <input type="hidden" name="dbport" value="[% HTML.escape(dbport) %]">
+ <input type="hidden" name="dbpasswd" value="[% HTML.escape(dbpasswd) %]">
+ <input type="hidden" name="dbdefault" value="[% HTML.escape(dbdefault) %]">
+
+ <input name="callback" type="hidden" value="admin.pl?action=list_users">
+
+
+ <input type="hidden" name="nextsub" value="dbdelete">
+
+ <p><input type="submit" class="submit" name="action" value="Continue"></p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+ <form name="Form" method="post" action="admin.pl">
+
+
+ <input type="hidden" name="group_id" value="[% HTML.escape(id) %]">
+ <input type="hidden" name="confirmed" value="1">
+
+ <div class="listtop">Delete group</div>
+
+ <p>Do you really want to delete this group: [% name %] ?</p>
+
+ <input type="hidden" name="delete_nextsub" value="delete_group">
+ <input type="submit" class="submit" name="action" value="Delete">
+ <button type="button" onclick="history.back()">Back</button>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+ <form name="Form" method="post" action="admin.pl">
+
+ <input type="hidden" name="group_id" value="[% HTML.escape(group_id) %]">
+
+ <input type="hidden" name="back_nextsub" value="edit_groups">
+
+ [% IF message %]
+ <p>[% message %]</p>
+ [% END %]
+
+ <div class="listtop">Edit group [% HTML.escape(name) %]</div>
+
+ <table width="100%">
+ <tr>
+ <td>
+ <table>
+ <tr class="listheading">
+ <td><b>Users in<br>this group</b></td>
+ <td> </td>
+ <td><b>Users not in this group</b></td>
+ </tr>
+
+ <tr>
+ <td valign="center">
+ <select name="user_id_in_group" size="10">
+ [% FOREACH user = USERS_IN_GROUP %]<option value="[% HTML.escape(user.id) %]">[% HTML.escape(user.login) %]</option>[% END %]
+ </select>
+ </td>
+
+ <td valign="center">
+ <input type="submit" class="submit" name="action" value="Add to group">
+ <br>
+ <br>
+ <input type="submit" class="submit" name="action" value="Remove from group">
+ </td>
+
+ <td valign="center">
+ <select name="user_id_not_in_group" size="10">
+ [% FOREACH user = USERS_NOT_IN_GROUP %]<option value="[% HTML.escape(user.id) %]">[% HTML.escape(user.login) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="submit" class="submit" name="action" value="Back">
+ </td>
+ </tr>
+ </table>
+
+ <hr>
+
+ <table>
+ <tr class="listheading">
+ <td colspan="2">Edit rights</td>
+ </tr>
+
+ [% FOREACH right = RIGHTS %]
+ <tr>
+ <td>
+ [% IF right.is_section %]
+ <i>[% right.description %]</i>
+ [% ELSE %]
+ <input type="checkbox" name="[% HTML.escape(right.right) %]_granted" id="[% HTML.escape(right.right) %]_granted" [% IF right.granted %]checked[% END %]>
+ <label for="[% HTML.escape(right.right) %]_granted">[% IF right.description %][% right.description %][% ELSE %]<i>[% HTML.escape(right.right) %]</i>[% END %]</label>
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <td>
+ <input type="hidden" name="save_nextsub" value="save_group">
+ <input type="submit" class="submit" name="action" value="Save">
+
+ <input type="submit" class="submit" name="action" value="Back">
+ </td>
+ </tr>
+ </table>
+
+ <hr>
+
+ <table>
+ <tr class="listheading">
+ <td colspan="2">Rename the group</td>
+ </tr>
+
+ <tr>
+ <td>Name:</td>
+ <td><input name="name" maxlength="50" value="[% HTML.escape(name) %]"></td>
+ </tr>
+
+ <tr>
+ <td>Description:</td>
+ <td><input name="description" value="[% HTML.escape(description) %]"></td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="hidden" name="save_nextsub" value="save_group">
+ <input type="submit" class="submit" name="action" value="Save">
+
+ <input type="submit" class="submit" name="action" value="Back">
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body>
+
+ <div class="listtop">Edit group membership</div>
+
+ <p>Select the checkboxes that match users to the groups they should belong to.</p>
+
+ <form action="admin.pl">
+
+ <p>
+ <table border="0">
+ [% FOREACH user = USERS %]
+
+ [% IF user.repeat_headings %]
+ <tr>
+ <th class="listheading" valign="bottom">Login</th>
+ <th class="listheading" valign="bottom">Name</th>
+ [% FOREACH column = HEADINGS %]<th class="listheading" valign="bottom" align="center">[% LxERP.turn90(column.title) %]</th>
+ [% END %]
+ </tr>
+ [% END %]
+
+ <tr class="listrow[% loop.count % 2 %]">
+ <td valign="center">[% HTML.escape(user.login) %]</td>
+ <td valign="center">[% HTML.escape(user.name) %]</td>
+ [% FOREACH group = user.GROUPS %]
+ <td valign="center" align="center">
+ <input type="checkbox" name="u_[% HTML.escape(user.id) %]_g_[% HTML.escape(group.id) %]" [% IF group.is_member %]checked[% END %]>
+ </td>
+ [% END %]
+ </tr>
+ [% END %]
+ </table>
+ </p>
+
+ <input type="hidden" name="save_nextsub" value="save_group_membership">
+ <input type="hidden" name="back_nextsub" value="edit_groups">
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Save">
+ <input type="submit" class="submit" name="action" value="Back">
+ </p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+ <form name="Form" method="post" action="admin.pl">
+
+
+ [% IF message %]
+ <p>[% message %]</p>
+ [% END %]
+
+ <div class="listtop">Edit groups</div>
+
+ <br>
+
+ <div class="listheading">Edit and delete a group</div>
+
+ [% IF num_groups %]
+ <p>
+ <select name="group_id" size="10">
+ [% FOREACH row = GROUPS %]
+ <option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.name) %][% IF row.description %] ([% HTML.escape(row.description) %])[% END %]</option>
+ [% END %]
+ </select>
+ </p>
+ [% ELSE %]
+ <p>No groups have been added yet.</p>
+ [% END %]
+
+ <p>
+ [% IF num_groups %]
+ <input type="hidden" name="edit_nextsub" value="edit_group">
+ <input type="hidden" name="delete_nextsub" value="delete_group">
+ <input type="submit" class="submit" name="action" value="Edit">
+ <input type="submit" class="submit" name="action" value="Delete">
+ [% END %]
+ <input type="hidden" name="back_nextsub" value="list_users">
+ <input type="submit" class="submit" name="action" value="Back">
+ </p>
+ </form>
+
+ <hr size="2" noshade>
+
+ <div class="listheading">Group membership</div>
+
+ <p>Edit the membership of all users in all groups:</p>
+
+ <form method="post" action="admin.pl">
+ <p>
+ <input type="hidden" name="edit_nextsub" value="edit_group_membership">
+ <input type="submit" class="submit" name="action" value="Edit">
+ </p>
+
+ </form>
+
+ <hr size="2" noshade>
+
+ <div class="listheading">Add a new group</div>
+
+ <form method="post" action="admin.pl">
+ <p>
+ <table border="0">
+ <tr>
+ <td>Name:</td>
+ <td><input name="name" maxlength="50"></td>
+ </tr>
+
+ <tr>
+ <td>Description:</td>
+ <td><input name="description"></td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="hidden" name="add_nextsub" value="add_group">
+ <input type="submit" class="submit" name="action" value="Add">
+ </p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/jquery.js"></script>
+ <script type="text/javascript">
+ <!--
+ function open_connection_test_window() {
+ // host name port user passwd
+ var url = "admin.pl?INPUT_ENCODING=UTF-8&action=test_db_connection&" +
+ "dbhost=" + encodeURIComponent(get_input_value("dbhost")) + "&" +
+ "dbport=" + encodeURIComponent(get_input_value("dbport")) + "&" +
+ "dbname=" + encodeURIComponent(get_input_value("dbname")) + "&" +
+ "dbuser=" + encodeURIComponent(get_input_value("dbuser")) + "&" +
+ "dbpasswd=" + encodeURIComponent(get_input_value("dbpasswd")) + "&";
+
+ var parm = centerParms(400,300) + ",width=400,height=300,status=yes,scrollbars=yes";
+
+ window.open(url, "_new_generic", parm);
+ }
+ -->
+ </script>
+
+ <form name="Form" id="Form" method="post" action="admin.pl">
+
+ <div class="listtop" width="100%">[% title %]</div>
+
+ <table width="100%">
+ <tr valign="top">
+ <td>
+ <table>
+ <tr>
+ <th align="right">Login</th>
+ <td>
+ [%- IF edit %]
+ <input type="hidden" name="login" value="[% HTML.escape(myc_login) %]">[% HTML.escape(myc_login) %]
+ [%- ELSE %]
+ <input name="login" value="[% HTML.escape(myc_login) %]">
+ [%- END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Password</th>
+ <td>[% IF CAN_CHANGE_PASSWORD %]<input type="password" name="new_password" size="8" value="********">[% ELSE %]********[% END %]</td>
+ </tr>
+
+ <tr>
+ <th align="right">Name</th>
+ <td><input name="name" size="15" value="[% HTML.escape(myc_name) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">E-mail</th>
+ <td><input name="email" size="30" value="[% HTML.escape(myc_email) %]"></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">Signature</th>
+ <td><textarea name="signature" rows="3" cols="35">[% HTML.escape(myc_signature) %]</textarea></td>
+ </tr>
+
+ <tr>
+ <th align="right">Phone</th>
+ <td><input name="tel" size="14" value="[% HTML.escape(myc_tel) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Fax</th>
+ <td><input name="fax" size="14" value="[% HTML.escape(myc_fax) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Company</th>
+ <td><input name="company" size="35" value="[% HTML.escape(myc_company) %]"></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">Address</th>
+ <td><textarea name="address" rows="4" cols="35">[% HTML.escape(myc_address) %]</textarea></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">Tax number</th>
+ <td><input name="taxnumber" size="14" value="[% HTML.escape(myc_taxnumber) %]"></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">Ust-IDNr</th>
+ <td><input name="co_ustid" size="14" value="[% HTML.escape(myc_co_ustid) %]"></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">DUNS-Nr</th>
+ <td><input name="duns" size="14" value="[% HTML.escape(myc_duns) %]"></td>
+ </tr>
+ </table>
+ </td>
+
+ <td>
+ <table>
+ <tr>
+ <th align="right">Date Format</th>
+ <td>
+ <select name="dateformat">
+ [% FOREACH row = ALL_DATEFORMATS %]<option [% IF row.selected %]selected[% END %]>[% HTML.escape(row.format) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Number Format</th>
+ <td>
+ <select name="numberformat">
+ [% FOREACH row = ALL_NUMBERFORMATS %]<option [% IF row.selected %]selected[% END %]>[% HTML.escape(row.format) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Dropdown Limit</th>
+ <td><input name="vclimit" value="[% HTML.escape(myc_vclimit) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Language</th>
+ <td>
+ <select name="countrycode">
+ [% FOREACH row = ALL_COUNTRYCODES %]<option value="[% HTML.escape(row.value) %]" [% IF row.selected %]selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Stylesheet</th>
+ <td>
+ <select name="userstylesheet">
+ [% FOREACH row = ALL_STYLESHEETS %]<option [% IF row.selected %]selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Printer</th>
+ <td><input name="printer" size="20" value="[% HTML.escape(myc_printer) %]"></td>
+ </tr>
+ <tr>
+ <th align="right">Use Templates</th>
+ <td>
+ <select name="usetemplates">
+ [% FOREACH row = ALL_TEMPLATES %]<option [% IF row.selected %]selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">New Templates</th>
+ <td><input name="newtemplates"></td>
+ </tr>
+ <tr>
+ <th align="right">Setup Templates</th>
+ <td>
+ <select name="mastertemplates">
+ [% FOREACH row = ALL_MASTER_TEMPLATES %]<option [% IF row.selected %]selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Setup Menu</th>
+ <td>
+ <select name="menustyle">
+ <option value="v3"[% IF menustyle_v3 %] selected[% END %]>Top (CSS)</option>
+ <option value="v4"[% IF menustyle_v4 %] selected[% END %]>Top (CSS) new</option>
+ <option value="neu"[% IF menustyle_neu %] selected[% END %]>Top (Javascript)</option>
+ <option value="xml"[% IF menustyle_xml %] selected[% END %]>Top (XUL; only for Mozilla Firefox)</option>
+ <option value="old"[% IF menustyle_old %] selected[% END %]>Old (on the side)</option>
+ </select>
+ </td>
+ </tr>
+
+ <input type="hidden" name="templates" value="[% HTML.escape(myc_templates) %]">
+ </table>
+ </td>
+ </tr>
+
+ <tr class="listheading">
+ <th colspan="2">Database</th>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <table>
+ <tr>
+ <th align="right">Driver</th>
+ <td>PostgreSQL</td>
+ <th align="right">Host</th>
+ <td><input name="dbhost" size="30" value="[% HTML.escape(myc_dbhost) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Dataset</th>
+ <td><input name="dbname" size="15" value="[% HTML.escape(myc_dbname) %]"></td>
+ <th align="right">Port</th>
+ <td><input name="dbport" size="4" value="[% HTML.escape(myc_dbport) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">User</th>
+ <td><input name="dbuser" size="15" value="[% HTML.escape(myc_dbuser) %]"></td>
+ <th align="right">Password</th>
+ <td><input name="dbpasswd" type="password" size="10" value="[% HTML.escape(myc_dbpasswd) %]"></td>
+ </tr>
+
+ <tr>
+ <td colspan="2"><input type="button" class="submit" onclick="open_connection_test_window();" value="Test connection"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr><td colspan="2"><hr size="3" noshade></td></tr>
+
+ <tr class="listheading">
+ <th colspan="2">WEBDAV access</th>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <table>
+ <tr>
+ <td>
+ <input name="angebote" id="angebote"class="checkbox" type="checkbox" value="1" [% IF myc_angebote %]checked[% END %]>
+ <label for="angebote"> Angebot</label>
+ </td>
+ <td>
+ <input name="bestellungen" id="bestellungen" class="checkbox" type="checkbox" value="1" [% IF myc_bestellungen %]checked[% END %]>
+ <label for="bestellungen"> Bestellung</label>
+ </td>
+ <td>
+ <input name="rechnungen" id="rechnungen" class="checkbox" type="checkbox" value="1" [% IF myc_rechnungen %]checked[% END %]>
+ <label for="rechnungen"> Rechnung</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="anfragen" id="anfragen" class="checkbox" type="checkbox" value="1" [% IF myc_anfragen %]checked[% END %]>
+ <label for="anfragen"> Anfragen</label>
+ </td>
+ <td>
+ <input name="lieferantenbestellungen" id="lieferantenbestellungen" class="checkbox" type="checkbox" value="1" [% IF myc_lieferantenbestellungen %]checked[% END %]>
+ <label for="lieferantenbestellungen"> Lieferantenbestellung</label>
+ </td>
+ <td>
+ <input name="einkaufsrechnungen" id="einkaufsrechnungen" class="checkbox" type="checkbox" value="1" [% IF myc_einkaufsrechnungen %]checked[% END %]>
+ <label for="einkaufsrechnungen"> Einkaufsrechnung</label>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ [% IF edit %]
+ <tr><td colspan="2"><hr size="3" noshade></td></tr>
+
+ <tr class="listheading">
+ <th colspan="2">Group membership</th>
+ </tr>
+
+ <tr>
+ <td colspan="2">The user is a member in the following group(s):</td>
+ </tr>
+
+ <tr>
+ <td colspan="2">[% FOREACH row = GROUPS %]<a href="admin.pl?action=edit_group&group_id=[% HTML.url(row.id) %]">[% HTML.escape(row.name) %]</a>
+ [% UNLESS loop.last %] | [% END %][% END %]</td>
+ </tr>
+ [% END %]
+
+ <tr><td colspan="2"><hr size="3" noshade></td></tr>
+
+ </table>
+
+ <input name="callback" type="hidden" value="admin.pl?action=list_users">
+
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="submit" class="submit" name="action_save_user" value="Save">
+
+ [% IF edit %]
+ [% FOREACH row = GROUPS %]
+ <input type="hidden" name="new_user_group_ids[]" value="[% HTML.escape(row.id) %]">
+ [% END %]
+ <input type="hidden" name="new_user_login" id="new_user_login" value="">
+ <input type="hidden" name="action_save_user_as_new" id="action_save_user_as_new" value="">
+ <input type="button" class="submit" id="save_as_new_button" value="Save as new">
+ <input type="submit" class="submit" name="action_delete_user" value="Delete">
+ <input type="hidden" name="edit" value="1">
+ [% END %]
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ $(document).ready(function() {
+ $("#save_as_new_button").click(function() {
+ var new_user_login = prompt('Please enter the login for the new user.', '');
+ if (!new_user_login || (new_user_login == ''))
+ return;
+
+ $("#action_save_user_as_new").attr('value', '1');
+ $("#new_user_login").attr('value', new_user_login);
+ $("#Form").submit();
+ });
+ });
+ -->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin" onload="">
+
+ <form method="post" action="admin.pl">
+
+ <div class="listtop" width="100%">[% title %]</div>
+
+ <p>
+ <table width="100%">
+ <tr>
+ <th class="listtop">Login</th>
+ <th class="listtop">Name</th>
+ <th class="listtop">Company</th>
+ <th class="listtop">Driver</th>
+ <th class="listtop">Host</th>
+ <th class="listtop">Dataset</th>
+ <th class="listtop">Templates</th>
+ </tr>
+
+ [% FOREACH row = MEMBERS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td><a href="admin.pl?action=edit&login=[% HTML.url(row.login) %]">[% HTML.escape(row.login) %]</a></td>
+ <td>[% HTML.escape(row.name) %]</td>
+ <td>[% HTML.escape(row.company) %]</td>
+ <td>[% HTML.escape(row.dbdriver) %]</td>
+ <td>[% IF row.dbhost %][% HTML.escape(row.dbhost) %][% ELSE %]localhost[% END %]</td>
+ <td>[% HTML.escape(row.dbname) %]</td>
+ <td>[% HTML.escape(row.templates) %]</td>
+ </tr>
+ [% END %]
+
+ <td colspan="7"><hr size="3" noshade></td>
+ </table>
+ </p>
+
+
+ <input type="submit" class="submit" name="action" value="Add User">
+ <input type="submit" class="submit" name="action" value="Edit groups">
+ <input type="submit" class="submit" name="action" value="Pg Database Administration">
+ [% IF LOCKED %]
+ <input type="submit" class="submit" name="action" value="Unlock System">
+ [% ELSE %]
+ <input type="submit" class="submit" name="action" value="Lock System">
+ [% END %]
+ <input type="submit" class="submit" name="action" value="Logout">
+
+ <p>Click on login name to edit!</p>
+
+ <p>To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.</p>
+ </form>
+
+ <form method="post" action="login.pl">
+
+ <div class="listheading">Lx-Office ERP Login</div>
+
+ <table border="0">
+ <tr>
+ <th align="right">Name</th>
+ <td><input class="login" name="login"></td>
+ <td> </td>
+ </tr>
+ <tr>
+ <th align="right">Password</th>
+ <td><input class="login" type="password" name="password"></td>
+ <td><input type="submit" name="action" value="Login"></td>
+ </tr>
+ </table>
+
+ </form>
+
+ <hr size="3" noshade>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin" onload="document.getElementsByName('dbname')[0].focus(); ">
+
+ <h2>[% title %]</h2>
+
+ <form name="Form" method="post" action="admin.pl" enctype="multipart/form-data">
+
+ <input type="hidden" name="dbdriver" value="Pg">
+ <input type="hidden" name="dbhost" value="[% HTML.escape(dbhost) %]">
+ <input type="hidden" name="dbport" value="[% HTML.escape(dbport) %]">
+ <input type="hidden" name="dbuser" value="[% HTML.escape(dbuser) %]">
+ <input type="hidden" name="dbpasswd" value="[% HTML.escape(dbpasswd) %]">
+
+ <p>
+ Please enter the name of the dataset you want to restore the backup in.
+ The dataset has to exist before a restoration can be started.
+ You can create a missing dataset by going back and chosing "Create Dataset".
+ </p>
+
+ <p>
+ The backup you upload here has to be a file created with "pg_dump -o -Ft".
+ It may optionally be compressed with "gzip".
+ Files created by Lx-Office's "Backup Dataset" function are such files.
+ </p>
+
+ <table>
+ <tr>
+ <td valign="top">Dataset name</td>
+ <td valign="top"><input name="new_dbname"></td>
+ </tr>
+
+ <tr>
+ <th valign="top">Multibyte Encoding</th>
+ <td>
+ <select name="dbencoding">
+ [% FOREACH row = DBENCODINGS %]<option value="[% HTML.escape(row.dbencoding) %]" [% IF row.selected %]selected[% END %]>[% HTML.escape(row.label) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="top">Backup file</td>
+ <td valign="top"><input type="file" accept="*" name="content"></td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="nextsub" value="restore_dataset_start">
+
+ <hr size="3" noshade>
+
+ <br>
+
+ <input type="submit" class="submit" name="action" value="Continue">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %] </pre>
+
+ <hr>
+
+ <p>
+ The restoration process is complete. Please review "pg_restore"'s output to find out if the restoration was successful.
+ The program's exit code was [% HTML.escape(retval) %] ("0" usually means that everything went OK).
+ </p>
+
+ <form method="post" action="admin.pl">
+ <input type="hidden" name="nextsub" value="list_users">
+ <input type="submit" name="action" value="Continue">
+ </form>
+</body>
+</html>
--- /dev/null
+<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ <p>The restoration process has started. Here's the output of the "pg_restore" command:</p>
+
+ <hr>
+
+ <pre>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ [%- IF connection_ok %]
+
+ <p>The connection was established successfully.</p>
+
+ [%- ELSE %]
+
+ <p>
+ The connection to the database could not be established.
+ Error message from the database driver:
+ </p>
+
+ <p>[% HTML.escape(errstr) %]</p>
+
+ [%- END %]
+
+ <p>
+ <form>
+ <input type="button" class="submit" onclick="window.close()" value="Close Window">
+ </form>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="admin">
+
+ <h2>[% title %]</h2>
+
+ [% IF ALL_UPDATED %]
+ All Datasets up to date!
+
+ [% ELSE %]
+
+ <form method="post" action="admin.pl">
+
+ <p>The following Datasets need to be updated:</p>
+
+ <table>
+ <tr>
+ <th class="listtop">Update?</th>
+ <th class="listtop">Dataset</th>
+ <th class="listtop">Driver</th>
+ <th class="listtop">Host</th>
+ <th class="listtop">Port</th>
+ <th class="listtop">User</th>
+ </tr>
+
+ [% FOREACH row = NEED_UPDATES %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td><input type="checkbox" name="update_[% loop.count %]" id="update_[% loop.count %]" value="1" checked></td>
+ <td>
+ <input type="hidden" name="dbname_[% loop.count %]" value="[% HTML.escape(row.dbname) %]">
+ <label for="update_[% loop.count %]">[% HTML.escape(row.dbname) %]</label>
+ </td>
+ <td><input type="hidden" name="dbdriver_[% loop.count %]" value="Pg">PostgreSQL</td>
+ <td><input type="hidden" name="dbhost_[% loop.count %]" value="[% HTML.escape(row.dbhost) %]">[% HTML.escape(row.dbhost) %]</td>
+ <td><input type="hidden" name="dbport_[% loop.count %]" value="[% HTML.escape(row.dbport) %]">[% HTML.escape(row.dbport) %]</td>
+ <td><input type="hidden" name="dbuser_[% loop.count %]" value="[% HTML.escape(row.dbuser) %]">[% HTML.escape(row.dbuser) %]</td>
+ </tr>
+
+ [% END %]
+ </table>
+
+ <input type="hidden" name="rowcount" value="[% NEED_UPDATES.size %]">
+
+ <input name="callback" type="hidden" value="admin.pl?action=list_users">
+ <input type="hidden" name="nextsub" value="dbupdate">
+
+ <hr size="3" noshade>
+
+ <br>
+
+ <input type="submit" class="submit" name="action" value="Continue">
+
+ </form>
+
+ [% END %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="admin.pl">
+
+ [%- IF standard_group_created %]
+ <p>A group named "Full Access" has been created.</p>
+ [%- END %]
+
+
+ <p>The user migration process is complete.
+ You will now be forwarded to the administration panel.</p>
+
+ <input type="hidden" name="nextsub" value="list_users">
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="admin.pl">
+
+ <p>The following users have been migrated into the authentication database:</p>
+
+ <p>[% FOREACH row = MEMBERS %][% HTML.escape(row.login) %] [% END %]</p>
+
+ <input type="hidden" name="nextsub" value="create_standard_group_ask">
+
+ <input type="submit" class="submit" name="action" value="Continue">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="admin.pl">
+
+ <p>
+ The old file containing the user information is still present ("[% HTML.escape(memberfile) %]"). Do you want to migrate these users into the database? If not then you will not be able to log in with any of the users present in the old file.
+ </p>
+
+ <p>
+ If you chose to let Lx-Office do the migration then Lx-Office will also remove the old member file after creating a backup copy of it in the directory "[% HTML.escape(backupdir) %]".
+ </p>
+
+ <input type="hidden" name="yes_nextsub" value="migrate_users">
+ <input type="hidden" name="no_nextsub" value="list_users">
+
+ <input type="submit" class="submit" name="action" value="Yes">
+ <input type="submit" class="submit" name="action" value="No">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onLoad="fokus()">
+
+ <p>
+ <div class="listtop">[% title %]</div>
+ </p>
+
+ <form method="post" action="am.pl" name="Form">
+
+ <ul id="maintab" class="shadetabs">
+ <li class="selected"><a href="#" rel="page_personal_settings">Personal settings</a></li>
+ <li><a href="#" rel="page_display_options">Display options</a></li>
+ <li><a href="#" rel="page_print_options">Print options</a></li>
+ <li><a href="#" rel="page_todo_list_options">TODO list options</a></li>
+ </ul>
+
+ <input type="hidden" name="type" value="preferences">
+ <input type="hidden" name="role" value="[% HTML.escape(myconfig_role) %]">
+
+ <div class="tabcontentstyle">
+
+ <div id="page_personal_settings" class="tabcontent">
+
+ <table>
+ <tr>
+ <th align="right">Name</th>
+ <td><input name="name" size="15" value="[% HTML.escape(myconfig_name) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Password</th>
+ <td>
+ [%- IF CAN_CHANGE_PASSWORD %]
+ <input type="password" name="new_password" size="10" value="********">
+ [%- ELSE %]
+ <input type="hidden" name="new_password" value="********">
+ [%- END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">E-mail</th>
+ <td><input name="email" size="30" value="[% HTML.escape(myconfig_email) %]"></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">Signature</th>
+ <td><textarea name="signature" rows="3" cols="50">[% HTML.escape(myconfig_signature) %]</textarea></td>
+ </tr>
+
+ <tr>
+ <th align="right">Phone</th>
+ <td><input name="tel" size="14" value="[% HTML.escape(myconfig_tel) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Fax</th>
+ <td><input name="fax" size="14" value="[% HTML.escape(myconfig_fax) %]"></td>
+ </tr>
+ <tr>
+ <th align="right">Company</th>
+ <td><input name="company" size="30" value="[% HTML.escape(myconfig_company) %]"></td>
+ </tr>
+ <tr valign="top">
+ <th align="right">Address</th>
+ <td><textarea name="address" rows="4" cols="50">[% HTML.escape(myconfig_address) %]</textarea></td>
+ </tr>
+ </table>
+
+ <br style="clear: left" />
+ </div>
+
+ <div id="page_display_options" class="tabcontent">
+
+ <table>
+ <tr>
+ <th align="right">Date Format</th>
+ <td>
+ <select name="dateformat">
+ [%- FOREACH row = DATEFORMATS %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Output Number Format</th>
+ <td>
+ <select name="numberformat">
+ [%- FOREACH row = NUMBERFORMATS %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Dropdown Limit</th>
+ <td><input name="vclimit" size="10" value="[% HTML.escape(myconfig_vclimit) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Language</th>
+ <td>
+ <select name="countrycode">
+ [%- FOREACH row = COUNTRYCODES %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Stylesheet</th>
+ <td>
+ <select name="usestylesheet">
+ [%- FOREACH row = STYLESHEETS %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Setup Menu</th>
+ <td>
+ <select name="menustyle">
+ <option value="v3"[% IF myconfig_menustyle == 'v3' %] selected[% END %]>Top (CSS)</option>
+ <option value="v4"[% IF myconfig_menustyle == 'v4' %] selected[% END %]>Top (CSS) new</option>
+ <option value="neu"[% IF myconfig_menustyle == 'neu' %] selected[% END %]>Top (Javascript)</option>
+ <option value="xml"[% IF myconfig_menustyle == 'xml' %] selected[% END %]>Top (XUL; only for Mozilla Firefox)</option>
+ <option value="old"[% IF myconfig_menustyle == 'old' %] selected[% END %]>Old (on the side)</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <th align="right">Favorites</th>
+ <td><textarea name="favorites" rows="4" cols="50">[% HTML.escape(myconfig_favorites) %]</textarea></td>
+ </tr>
+
+ <tr>
+ <th align="right">Form details (second row)</th>
+ <td>
+ <select name="show_form_details">
+ <option value="1"[% IF myconfig_show_form_details %] selected[% END %]>Show by default</option>
+ <option value="0"[% IF !myconfig_show_form_details %] selected[% END %]>Hide by default</option>
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <br style="clear: left" />
+ </div>
+
+ <div id="page_print_options" class="tabcontent">
+
+ <table>
+ <input name="printer" type="hidden" value="[% HTML.escape(myconfig_printer) %]">
+
+ <tr>
+ <th align="right">Default template format</th>
+ <td>
+ <select name="template_format">
+ [%- FOREACH row = TEMPLATE_FORMATS %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Default output medium</th>
+ <td>
+ <select name="default_media">
+ [%- FOREACH row = MEDIA %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Default printer</th>
+ <td>
+ <select name="default_printer_id">
+ [%- FOREACH row = PRINTERS %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Number of copies</th>
+ <td><input name="copies" size="10" value="[% HTML.escape(myconfig_copies) %]"></td>
+ </tr>
+ </table>
+
+ <br style="clear: left" />
+ </div>
+
+ <div id="page_todo_list_options" class="tabcontent">
+
+ <table>
+ <tr>
+ <th align="right">Show your TODO list after loggin in</th>
+ <td colspan="2">
+ <input type="radio" name="todo_cfg.show_after_login" id="todo_cfg_show_after_login_1" value="1"[% IF todo_cfg.show_after_login %] checked[% END %]>
+ <label for="todo_cfg_show_after_login_1">Yes</label>
+ <input type="radio" name="todo_cfg.show_after_login" id="todo_cfg_show_after_login_0" value="0"[% IF !todo_cfg.show_after_login %] checked[% END %]>
+ <label for="todo_cfg_show_after_login_0">No</label>
+ </td>
+ </tr>
+
+ <tr class="listheading">
+ <th colspan="3">Configuration of individual TODO items</th>
+ </tr>
+
+ <tr>
+ <th align="right">Show follow ups...</th>
+ <td>
+ <input type="checkbox" name="todo_cfg.show_follow_ups" id="todo_cfg_show_follow_ups" value="1"[% IF todo_cfg.show_follow_ups %] checked[% END %]>
+ <label for="todo_cfg_show_follow_ups">...on the TODO list</label>
+ </td>
+ <td>
+ <input type="checkbox" name="todo_cfg.show_follow_ups_login" id="todo_cfg_show_follow_ups_login" value="1"[% IF todo_cfg.show_follow_ups_login %] checked[% END %]>
+ <label for="todo_cfg_show_follow_ups_login">...after loggin in</label>
+ </td>
+ </tr>
+
+ [%- IF AUTH_RIGHTS_SALES_QUOTATION_EDIT %]
+ <tr>
+ <th align="right">Show overdue sales quotations and requests for quotations...</th>
+ <td>
+ <input type="checkbox" name="todo_cfg.show_overdue_sales_quotations" id="todo_cfg_show_overdue_sales_quotations" value="1"[% IF todo_cfg.show_overdue_sales_quotations %] checked[% END %]>
+ <label for="todo_cfg_show_overdue_sales_quotations">...on the TODO list</label>
+ </td>
+ <td>
+ <input type="checkbox" name="todo_cfg.show_overdue_sales_quotations_login" id="todo_cfg_show_overdue_sales_quotations_login" value="1"[% IF todo_cfg.show_overdue_sales_quotations_login %] checked[% END %]>
+ <label for="todo_cfg_show_overdue_sales_quotations_login">...after loggin in</label>
+ </td>
+ </tr>
+ [%- END %]
+ </table>
+
+ <br style="clear: left" />
+ </div>
+ </div>
+
+ <p><input type="submit" class="submit" name="action" value="Save"></p>
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ var maintab = new ddtabcontent("maintab");
+ maintab.setpersist(true);
+ maintab.setselectedClassTarget("link"); //"link" or "linkparent"
+ maintab.init();
+ -->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <p>Do you really want to delete this warehouse?</p>
+
+ <p>Warehouse: [% HTML.escape(orig_description) %]</p>
+
+ <form action="am.pl" method="post">
+
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="type" value="warehouse">
+ <input type="hidden" name="confirmed" value="1">
+
+ <button type="button" class="submit" onclick="history.back()">Back</button>
+ <input type="submit" class="submit" name="action" value="Delete">
+ </form>
+
+</body>
+</form>
--- /dev/null
+[% USE HTML %]<script type="text/javascript" src="js/FormManager.js" >
+/****************************************************
+* Form Dependency Manager- By Twey- http://www.twey.co.uk
+* Visit Dynamic Drive for this script and more: http://www.dynamicdrive.com
+****************************************************/
+</script>
+
+<script type="text/javascript">
+window.onload = function() {
+ setupDependencies('EditAccount'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' )
+ };
+</script>
+
+<body>
+<form method="post" name="EditAccount" action="am.pl">
+
+<input type="hidden" name="id" value="[% HTML.escape(id) %]">
+<input type="hidden" name="type" value="account">
+<input type="hidden" name="orphaned" value="[% HTML.escape(orphaned) %]">
+<input type="hidden" name="new_chart_valid" value="[% HTML.escape(new_chart_valid) %]">
+<input type="hidden" name="original_accno" value="[% HTML.escape(accno) %]">
+<input type="hidden" name="inventory_accno_id" value="[% HTML.escape(inventory_accno_id) %]">
+<input type="hidden" name="income_accno_id" value="[% HTML.escape(income_accno_id) %]">
+<input type="hidden" name="expense_accno_id" value="[% HTML.escape(expense_accno_id) %]">
+<input type="hidden" name="fxgain_accno_id" value="[% HTML.escape(fxgain_accno_id) %]">
+<input type="hidden" name="fxloss_accno_id" value="[% HTML.escape(fxloss_accno_id) %]">
+
+<table border="0" width="100%">
+ <tr>
+ <th class="listtop">[% title %]</th>
+ </tr>
+</table>
+
+<fieldset>
+ <legend>
+ Main Preferences
+ </legend>
+ <table>
+ <tr>
+ <td>
+ <label>
+ Account Number
+ </label></td>
+ <td><input name="accno" size="20" value="[% HTML.escape(accno) %]"></td>
+ </tr>
+ <tr>
+ <td>
+ <label>
+ Description
+ </label>
+ </td>
+ <td><input name="description" size="40" value="[% HTML.escape(description) %]"></td>
+ </tr>
+ <tr>
+ <td>
+ <label>
+ Chart Type
+
+ </label>
+ </td>
+ <td><select name="charttype">[% select_charttype %]</select></td>
+ </tr>
+ </table>
+</fieldset>
+<fieldset class="DEPENDS ON charttype BEING A">
+ <legend>Account Type</legend>
+ <select name="category" id="AccountType" class="DEPENDS ON charttype BEING A">
+ [% select_category %]</select>
+</fieldset>
+
+[% IF ChartTypeIsAccount %]
+<fieldset class="DEPENDS ON charttype BEING A">
+ <legend>Is this a summary account to record</legend>
+ <input name="AR" type="checkbox" class="checkbox" value="AR" [% HTML.escape(AR) %]>
+ Sales
+ <input name="AP" type="checkbox" class="checkbox" value="AP" [% HTML.escape(AP) %]>
+ Purchases
+ <input name="IC" type="checkbox" class="checkbox" value="IC" [% HTML.escape(IC) %]>
+ Inventory
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+ <legend>Include in drop-down menus</legend>
+ <p style='font-weight:normal'>These will only be effective if the account is NOT a summary account AND there exists at least one taxkey. Setting the account as a summary account will erase these settings.</p>
+ <table width="100%">
+ <tr>
+ <th align="left">Receivables</th>
+ <th align="left">Payables</th>
+ <th align="left">Parts Inventory</th>
+ <th align="left">Service Items</th>
+ </tr>
+ <tr>
+ <td>
+ <input name="AR_amount" type="checkbox" class="checkbox" value="AR_amount"
+ [% HTML.escape(AR_amount) %]>
+ Revenue <br>
+ <input name="AR_paid" type="checkbox" class="checkbox" value="AR_paid"
+ [% HTML.escape(AR_paid) %]>
+ Receipt <br>
+ <input name="AR_tax" type="checkbox" class="checkbox" value="AR_tax"
+ [% HTML.escape(AR_tax) %]>
+ Tax
+ </td>
+ <td>
+ <input name="AP_amount" type="checkbox" class="checkbox" value="AP_amount"
+ [% HTML.escape(AP_amount) %]>
+ Expense/Asset <br>
+ <input name="AP_paid" type="checkbox" class="checkbox" value="AP_paid"
+ [% HTML.escape(AP_paid) %]>
+ Payment <br>
+ <input name="AP_tax" type="checkbox" class="checkbox" value="AP_tax"
+ [% HTML.escape(AP_tax) %]>
+ Tax
+ </td>
+ <td>
+ <input name="IC_sale" type="checkbox" class="checkbox" value="IC_sale"
+ [% HTML.escape(IC_sale) %]>
+ Revenue <br>
+ <input name="IC_cogs" type="checkbox" class="checkbox" value="IC_cogs"
+ [% HTML.escape(IC_cogs) %]>
+ Expense <br>
+ <input name="IC_taxpart" type="checkbox" class="checkbox" value="IC_taxpart"
+ [% HTML.escape(IC_taxpart) %]>
+ Tax
+ </td>
+ <td>
+ <input name=IC_income type=checkbox class=checkbox value="IC_income"
+ [% HTML.escape(IC_income) %]>
+ Revenue <br>
+ <input name=IC_expense type=checkbox class=checkbox value="IC_expense"
+ [% HTML.escape(IC_expense) %]>
+ Expense <br>
+ <input name=IC_taxservice type=checkbox class=checkbox value="IC_taxservice"
+ [% HTML.escape(IC_taxservice) %]>
+ Tax
+ </td>
+ </tr>
+ </table>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+ <legend>
+ Taxkeys and Taxreport Preferences
+ </legend>
+ <p style='font-weight:normal'>Note: Taxkeys must have a "valid from" date, and will not be in effect otherwise.</p>
+
+ <table>
+[% IF account_exists %]
+ <tr>
+ <th align="left">Taxkey</th>
+ <th align="left">valid from</th>
+ <th align="left">pos_ustva</th>
+ <th align="left">delete ? </th>
+ </tr>
+[% FOREACH tk = ACCOUNT_TAXKEYS %]
+ <tr>
+ [% IF tk.id %]
+ <input type="hidden" name="taxkey_id_[% tk.runningnumber %]" value="[% tk.id %]">
+ <td><select name="taxkey_tax_[% tk.runningnumber %]">[% tk.selecttaxkey %]</select></td>
+ <td><input name="taxkey_startdate_[% tk.runningnumber %]" value="[% HTML.escape(tk.startdate) %]"></td>
+ <td><select name="taxkey_pos_ustva_[% tk.runningnumber %]">[% tk.select_tax %]</select></td>
+ <td><input name="taxkey_del_[% tk.runningnumber %]" type="checkbox"
+ class="checkbox" value="delete"></td>
+ [% ELSE %]
+ <input type="hidden" name="taxkey_id_[% tk.runningnumber %]" value="NEW">
+ <td><select name="taxkey_tax_[% tk.runningnumber %]">[% tk.selecttaxkey %]</select></td>
+ <td><input name="taxkey_startdate_[% tk.runningnumber %]" value="[% HTML.escape(tk.startdate) %]"></td>
+ <td><select name="taxkey_pos_ustva_[% tk.runningnumber %]">[% tk.select_tax %]</select></td>
+ <td> </td>
+ [% END %]
+ </tr>
+
+[% END %]
+[% ELSE %]
+<tr>
+ <td align="center" colspan="4"><p>Save account first to insert taxkeys</p>
+ </td>
+</tr>
+[% END %]
+ </table>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+ <legend>Report and misc. Preferences</legend>
+ <table>
+ <tr>
+ <th align="left">EUER</th>
+ <td colspan="3"><select name="pos_eur">[% select_eur %]</select></td>
+ </tr>
+ <tr>
+ <th align="left">BWA</th>
+ <td colspan="3"><select name="pos_bwa">[% select_bwa %]</select></td>
+ </tr>
+ <!-- Diese Steuerfunktion hat keine Auswirkung in der Bilanz und wird erstmal deaktiviert. -->
+ <!-- tr>
+ <th align="left">Bilanz</th>
+ <td colspan="3"><select name="pos_bilanz">[% select_bilanz %]</select></td>
+ </tr -->
+ <tr>
+ <th align="left">Datevautomatik</th>
+ <td colspan="3"><input name="datevautomatik" type="checkbox" class="checkbox" value="T" [% IF datevautomatik %]checked [% END %]></td>
+ </tr>
+ <tr>
+ <th align="left">Folgekonto</th>
+ <td><select name="new_chart_id">[% selectnewaccount %]</select></td>
+ <th align="left">Valid from</th>
+ <td><input name="valid_from" value="[% valid_from %]"></td>
+ </tr>
+ </table>
+[% END %]
+</fieldset>
+<hr size="3" noshade>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="am.pl"name="Form">
+
+ <input type="hidden" name="type" value="defaults">
+
+ <p>
+ <table>
+ <tr class="listheading">
+ <th colspan="4">Ranges of numbers</th>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last Invoice Number</th>
+ <td><input name="invnumber" size="10" value="[% HTML.escape(defaults_invnumber) %]"></td>
+ <th align="right" nowrap>Last Customer Number</th>
+ <td><input name="customernumber" size="10" value="[% HTML.escape(defaults_customernumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last Credit Note Number</th>
+ <td><input name="cnnumber" size="10" value="[% HTML.escape(defaults_cnnumber) %]"></td>
+ <th align="right" nowrap>Last Vendor Number</th>
+ <td><input name="vendornumber" size="10" value="[% HTML.escape(defaults_vendornumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last Sales Order Number</th>
+ <td><input name="sonumber" size="10" value="[% HTML.escape(defaults_sonumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last Purchase Order Number</th>
+ <td><input name="ponumber" size="10" value="[% HTML.escape(defaults_ponumber) %]"></td>
+ <th align="right" nowrap>Last Article Number</th>
+ <td><input name="articlenumber" size="10" value="[% HTML.escape(defaults_articlenumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last Sales Quotation Number</th>
+ <td><input name="sqnumber" size="10" value="[% HTML.escape(defaults_sqnumber) %]"></td>
+ <th align="right" nowrap>Last Service Number</th>
+ <td><input name="servicenumber" size="10" value="[% HTML.escape(defaults_servicenumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last RFQ Number</th>
+ <td><input name="rfqnumber" size="10" value="[% HTML.escape(defaults_rfqnumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Last Sales Delivery Order Number</th>
+ <td><input name="sdonumber" size="10" value="[% HTML.escape(defaults_sdonumber) %]"></td>
+ <th align="right" nowrap>Last Purchase Delivery Order Number</th>
+ <td><input name="pdonumber" size="10" value="[% HTML.escape(defaults_pdonumber) %]"></td>
+ </tr>
+
+ <tr class="listheading">
+ <th colspan="4">Default Accounts</th>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Inventory Account</th>
+ <td colspan="3">
+ <select name="inventory_accno">
+ [%- FOREACH row = ACCNOS_IC %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Revenue Account</th>
+ <td colspan="3">
+ <select name="income_accno">
+ [%- FOREACH row = ACCNOS_IC_INCOME %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Expense Account</th>
+ <td colspan="3">
+ <select name="expense_accno">
+ [%- FOREACH row = ACCNOS_IC_EXPENSE %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Foreign Exchange Gain</th>
+ <td colspan="3">
+ <select name="fxgain_accno">
+ [%- FOREACH row = ACCNOS_FX_GAIN %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Foreign Exchange Loss</th>
+ <td colspan="3">
+ <select name="fxloss_accno">
+ [%- FOREACH row = ACCNOS_FX_LOSS %]
+ <option value="[% HTML.escape(row.value) %]"[% IF row.selected %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr class="listheading">
+ <th colspan="4">Miscellaneous</th>
+ </tr>
+
+ <tr>
+ <th align="right">Business Number</th>
+ <td colspan="3"><input name="businessnumber" size="25" value="[% HTML.escape(defaults_businessnumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Year End (mm/dd)</th>
+ <td colspan="3"><input name="yearend" size="5" value="[% HTML.escape(defaults_yearend) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Currencies <sup>(1)</sup></th>
+ <td colspan="3"><input name="curr" size="20" value="[% HTML.escape(defaults_curr) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Weight unit</th>
+ <!-- <td colspan="3"><input name="weightunit" size="20" maxlength="5" value="[% HTML.escape(defaults_weightunit) %]"></td> -->
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'weightunit',
+ default = defaults_weightunit,
+ style = 'size:20; maxength:5',
+ DATA = ALL_UNITS,
+ id_key = 'name',
+ label_key = 'name',
+ -%]
+ </td>
+ </tr>
+
+ </table>
+ </p>
+
+ <hr height="3" noshade>
+
+ <p><input type="submit" class="submit" name="action" value="Save"></p>
+
+ <hr height="3" noshade>
+
+ <p>
+ (1) Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ [% IF MESSAGE %]<p>[% MESSAGE %]</p>[% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="am.pl">
+
+ <p>
+ <table border="0">
+ <tr>
+ <td align="right">Description</td>
+ <td><input name="description" value="[% HTML.escape(description) %]"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Factor</td>
+ <td><input name="factor" value="[% HTML.escape(factor) %]"></td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <input type="hidden" name="type" value="price_factor">
+
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+ <input type="submit" name="action" value="Save">
+ [% IF id %][% IF orphaned %]<input type="submit" name="action" value="Delete">[% END %][% END %]
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+ <form method="post" action="am.pl">
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+ <input type="hidden" name="type" value="tax">
+
+ <div class="listtop">Tax-O-Matic [% title %]</div>
+
+ <table width="100%">
+ <tr>
+ <td>tax_taxkey</td>
+ <td><input name="taxkey" size="2" value="[% HTML.escape(taxkey) %]"></td>
+ </tr>
+
+ <tr>
+ <td>tax_taxdescription</td>
+ <td><input name="taxdescription" size="60" value="[% HTML.escape(taxdescription) %]"></td>
+ </tr>
+
+ <tr>
+ <td>tax_percent</td>
+ <td><input name="rate" size="10" value="[% HTML.escape(rate) %]"> %</td>
+ </tr>
+
+ <tr>
+ <td>tax_chartaccno</td>
+ <td><select name="chart_id"><option value="0">None</option>[% FOREACH row = ACCOUNTS %]<option value="[% HTML.escape(row.id) %]" [% IF row.selected %]selected[% END %]>[% HTML.escape(row.taxaccount) %]</option>[% END %]</select></td>
+ </tr>
+
+ </table>
+
+ [% UNLESS orphaned %]
+ <br />
+ Chartaccounts connected to this Tax:
+ [% FOREACH row = TAXINUSE %]
+ <a href="am.pl?action=edit_account&id=[% HTML.url(row.id) %]&callback=[% HTML.url(callback) %]">[% HTML.escape(row.accno) %]</a>
+ [% END %]
+ <br />
+ [% END %]
+
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <input type="submit" class="submit" name="action" value="Save">
+
+ [% IF orphaned %]
+ <input type="submit" class="submit" name="action" value="Delete">
+ [% END %]
+
+</form>
+</body>
+</html>
+
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listheading">[% title %]</div>
+
+ <form method="post" name="Form" action="amtemplates.pl">
+
+ [% FOREACH var = HIDDEN %]<input type="hidden" name="[% HTML.escape(var.name) %]" value="[% HTML.escape(var.value) %]">[% END %]
+
+ [% IF SHOW_EDIT_OPTIONS %]
+ <p>
+ Template
+ <select name="formname">
+ [% FOREACH row = FORMNAME %]<option value="[% HTML.escape(row.value) %]" [% IF row.value == formname %]selected[% END %]>[% HTML.escape(row.label) %]</option>[% END %]
+ </select>
+
+ [% IF LANGUAGE.size %]
+ Language
+ <select name="language">
+ <option></option>
+ [% FOREACH row = LANGUAGE %]<option value="[% HTML.escape(row.value) %]" [% IF row.value == language %]selected[% END %]>[% HTML.escape(row.label) %]</option>[% END %]
+ </select>
+ [% END %]
+
+ [% IF PRINTER.size %]
+ Printer
+ <select name="printer">
+ <option></option>
+ [% FOREACH row = PRINTER %]<option value="[% HTML.escape(row.value) %]" [% IF row.value == printer %]selected[% END %]>[% HTML.escape(row.label) %]</option>[% END %]
+ </select>
+ [% END %]
+
+ <input type="hidden" name="display_nextsub" value="display_template">
+
+ <input name="action" type="submit" class="submit" value="Display">
+
+ </p>
+
+ <hr>
+ [% END %]
+
+
+
+ [% IF SHOW_CONTENT %]
+ <p>
+ <div class="listtop">
+ [% IF CAN_EDIT %]Edit file[% ELSE %]Display file[% END %] [% HTML.escape(display_filename) %]
+ </div>
+ </p>
+
+ [% IF CAN_EDIT %]
+ <p><textarea name="content" id="content" cols="100" rows="25">[% HTML.escape(content) %]</textarea></p>
+
+ <p>
+ <input type="hidden" name="save_nextsub" value="save_template">
+ <input type="submit" name="action" value="Save">
+ <input type="button" onclick="history.back()" value="Back">
+ </p>
+
+ [% ELSE %]
+
+ <input type="hidden" name="edit_nextsub" value="edit_template">
+
+ <p><input name="action" type="submit" class="submit" value="Edit"></p>
+
+ <p><pre class="filecontent">[% HTML.escape(content) %]</pre></p>
+
+ [% IF SHOW_SECOND_EDIT_BUTTON %]
+ <p><input name="action" type="submit" class="submit" value="Edit"></p>
+ [% END %]
+
+ [% END %] <!-- CAN_EDIT -->
+
+ [% END %] <!-- SHOW_CONTENT -->
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+
+ <hr>
+ [% END %]
+
+ <form method="post" action="[% HTML.escape(script) %]">
+
+ <input type="hidden" name="type" value="unit">
+
+ <table width="100%">
+ <tr>
+ <th class="listtop" colspan="2">[% title %]</th>
+ </tr>
+ <tr height="5"></tr>
+ </table>
+
+ <p>
+ Einheiten haben entweder keine oder genau eine Basiseinheit, von der
+ sie ein Vielfaches sind. Wenn Sie eine Basiseinheit auswählen,
+ dann müssen Sie auch einen Faktor eingeben. Sie müssen
+ Einheiten als ein Vielfaches einer kleineren Einheit eingeben. So
+ ist die Definition von "kg" mit der Basiseinheit
+ "g" und dem Faktor 1000 zulässig, die Definition von
+ "g" mit der Basiseinheit "kg" und dem Faktor
+ "0,001" hingegen nicht.
+ </p>
+
+ <hr>
+
+ <table width="100%">
+ <tr><th class="listtop">Add unit</th></tr>
+ </table>
+
+ <table>
+ <tr>
+ <th align="right">Unit</th>
+ <td><input name="new_name" size="20" maxlength="20"></td>
+ </tr>
+ <tr>
+ <th align="right">Base unit</th>
+ <td>
+ <select name="new_base_unit">
+ [% FOREACH row = NEW_BASE_UNIT_DDBOX %]<option [% row.selected %]>[% row.name %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Factor</th>
+ <td><input name="new_factor"></td>
+ </tr>
+
+ [% FOREACH language = LANGUAGES %]
+ <tr>
+ <th align="right">[% language.description %]</th>
+ <td><input name="new_localized_[% language.id %]" size="20" maxlength="20"></td>
+ <th align="right">Plural</th>
+ <td><input name="new_localized_plural_[% language.id %]" size="20" maxlength="20"></td>
+ </tr>
+ [% END %]
+ </table>
+
+ <input type="submit" class="submit" name="action" value="Add">
+
+ <hr>
+
+ <table width="100%">
+ <tr><th class="listtop">Edit units</th></tr>
+ </table>
+
+ <p>
+ Units that have already been used (e.g. for parts and services or in invoices or warehouse transactions) cannot be changed.
+ </p>
+
+ <p>
+ Units marked for deletion will be deleted upon saving.
+ </p>
+
+ <p>
+ You can declare different translations for singular and plural for each unit (e.g. "day" and "days).
+ </p>
+
+ <table>
+ <tr>
+ <th class="listheading" width="32" align="center" valign="center"><img alt="up" src="image/up.png"><img alt="down" src="image/down.png"></th>
+ <th class="listheading">Delete</th>
+ <th class="listheading">Unit</th>
+ <th class="listheading">Base unit</th>
+ <th class="listheading">Factor</th>
+ [% FOREACH language = LANGUAGES %]
+ <th class="listheading">[% language.description %]</th>
+ [% END %]
+ </tr>
+
+ [% FOREACH row = UNITS %]
+ <tr>
+ <td width="32" align="center" valign="center">[% IF loop.first %]<img src="image/transparent16x16.gif">[% ELSE %]<a href="[% updownlink %]&dir=up&name=[% HTML.url(row.name) %]"><img alt="up" src="image/up.png" border="0"></a>[% END %][% IF loop.last %]<img src="image/transparent16x16.gif">[% ELSE %]<a href="[% updownlink %]&dir=down&name=[% HTML.url(row.name) %]"><img alt="down" src="image/down.png" border="0"></a>[% END %]</td>
+ [% IF row.in_use %]
+ <td>
+ <input type="hidden" name="unchangeable_[% loop.count %]" value="1">
+ <input type="hidden" name="old_name_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ </td>
+
+ <td>[% HTML.escape(row.name) %]</td>
+ <td>[% IF row.base_unit %][% HTML.escape(row.base_unit) %][% ELSE %]---[% END %]</td>
+ <td>[% IF row.base_unit %][% HTML.escape(row.factor) %][% ELSE %]---[% END %]</td>
+
+ [% ELSE %]
+
+ <td align="center"><input type="checkbox" name="delete_[% loop.count %]"></td>
+ <td>
+ <input type="hidden" name="old_name_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ <input name="name_[% loop.count %]" size="10" maxlength="20" value="[% HTML.escape(row.name) %]">
+ </td>
+ <td>
+ <select name="base_unit_[% loop.count %]">
+ [% FOREACH option = row.BASE_UNIT_DDBOX %]<option [% option.selected %]>[% HTML.escape(option.name) %]</option>[% END %]
+ </select>
+ </td>
+ <td><input name="factor_[% loop.count %]" size="8" value="[% row.factor %]"></td>
+ [% END %]
+
+ [% FOREACH language = row.UNITLANGUAGES %]
+ <td>
+ singular first char:
+ <input name="localized_[% language.idx %]_[% language.language_id %]" value="[% HTML.escape(language.localized) %]" size="6" maxlength="20">
+ plural first char:
+ <input name="localized_plural_[% language.idx %]_[% language.language_id %]" value="[% HTML.escape(language.localized_plural) %]" size="6" maxlength="20">
+ </td>
+ [% END %]
+ </tr>
+
+ [% IF loop.last %]<input type="hidden" name="rowcount" value="[% loop.count %]">[% END %]
+ [% END %]
+ </table>
+
+ <input type="submit" class="submit" name="action" value="Save">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body [% IF onload %]onload="[% onload %]"[% END %]>
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <form method="post" action="am.pl">
+
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+
+ <input type="hidden" name="type" value="warehouse">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <div class="listtop">[% IF id %]Edit Warehouse[% ELSE %]Add Warehouse[% END %]</div>
+
+ <table border="0">
+ <tr>
+ <td align="right">Description</td>
+ <td>
+ <input name="description" size="60" value="[% HTML.escape(description) %]">
+ <input type="hidden" name="orig_description" value="[% HTML.escape(description) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Invalid</td>
+ <td><input type="checkbox" name="invalid" value="1" [% IF invalid %]checked[% END %]></td>
+ </tr>
+
+ <tr>
+ <td align="right">Number of new bins</td>
+ <td><input name="number_of_new_bins"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Prefix for the new bins' names</td>
+ <td><input name="prefix" value="Bin"></td>
+ </tr>
+ </table>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Save">
+ [%- IF id %][%- UNLESS in_use %]
+ <input type="submit" class="submit" name="action" value="Delete">
+ [%- END %][%- END %]
+ </p>
+
+ </form>
+
+ [% IF id %]
+
+ <hr height="3">
+
+ <div class="listtop">Edit Bins</div>
+
+ [% UNLESS BINS.size %]
+ <p>No bins have been added to this warehouse yet.</p>
+
+ [% ELSE %]
+
+ <p>
+ Bins that have been used in the past cannot be deleted anymore. For these bins there's no checkbox in the "Delete" column.
+ </p>
+
+ <form method="post" action="am.pl">
+
+ <input type="hidden" name="warehouse_id" value="[% HTML.escape(id) %]">
+
+ <input type="hidden" name="type" value="bin">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <table border="0">
+ <tr>
+ <th class="listheading">Delete</th><th class="listheading">Description</th>
+ <th class="listheading">Delete</th><th class="listheading">Description</th>
+ </tr>
+ [%- SET row_odd = '1' %]
+ [%- USE bin_it = Iterator(BINS) %]
+ [%- FOREACH bin = bin_it %]
+ [%- IF row_odd %]
+ <tr>
+ [%- END %]
+
+ <td>[% IF bin.in_use %] [% ELSE %]<input type="checkbox" name="delete_[% bin_it.count %]" value="1">[% END %]</td>
+ <td>
+ <input type="hidden" name="id_[% bin_it.count %]" value="[% HTML.escape(bin.id) %]">
+ <input name="description_[% bin_it.count %]" value="[% HTML.escape(bin.description) %]">
+ </td>
+
+ [%- SET end_tr = '0' %]
+ [%- UNLESS row_odd %][%- SET end_tr = '1' %][%- END %]
+ [%- IF bin_it.last %][%- SET end_tr = '1' %][%- END %]
+ [%- IF end_tr %]
+ </tr>
+ [%- END %]
+
+ [%- IF row_odd %][% SET row_odd = '0' %][% ELSE %][% SET row_odd = '1' %][% END %]
+ [%- END %]
+ </table>
+
+ <input type="hidden" name="rowcount" value="[% BINS.size %]">
+
+ <p><input type="submit" class="submit" name="action" value="Save"></p>
+ </form>
+
+ [% END %]
+
+ [% END %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %] [% FOREACH row = CA %]
+<table width="100%">
+
+ <colgroup>
+ <col width="10%">
+ <col width="10%">
+ <col width="10%">
+ <col width="50%">
+ <col width="10%">
+ <col width="10%">
+ </colgroup>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td rowspan="8" class="coa_detail_emph">[% IF row.id %][% HTML.escape(row.id) %][% ELSE %]-[% END %]</td>
+ <td colspan="5" class="coa_detail_emph">[% HTML.escape(row.category) %] </td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td colspan="5" class="coa_detail_emph">
+ [% IF row.link %][% HTML.escape(row.link) %][% ELSE %]-[% END %]
+ </td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td colspan="5" class="coa_details_header">Taxlink_coa</td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td class="coa_details_header2">Taxkey_coa</td>
+ <td class="coa_details_header2">Taxaccount_coa</td>
+ <td class="coa_details_header2">Taxdescription_coa</td>
+ <td class="coa_details_header2">Posustva_coa</td>
+ <td class="coa_details_header2">Startdate_coa</td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td class="coa_detail_emph">[% IF row.taxkey %][% HTML.escape(row.taxkey).replace(',', '<br>') %][% ELSE %]-[% END %]</td>
+ <td class="coa_detail_emph">[% IF row.taxaccount %][% HTML.escape(row.taxaccount).replace(',', '<br>') %][% ELSE %]-[% END %]</td>
+ <td class="coa_detail_emph">[% IF row.taxdescription %][% HTML.escape(row.taxdescription).replace(',', '<br>') %][% ELSE %]-[% END %]</td>
+ <td class="coa_detail_emph">[% IF row.tk_ustva %][% HTML.escape(row.tk_ustva).replace(',', '<br>') %][% ELSE %]-[% END %]</td>
+ <td class="coa_detail_emph">[% IF row.startdate %][% HTML.escape(row.startdate).replace(',', '<br>') %][% ELSE %]-[% END %]</td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td colspan="5" class="coa_details_header">Report Positions</td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td class="coa_details_header2">pos_bwa</td>
+ <td class="coa_details_header2">pos_bilanz</td>
+ <td class="coa_details_header2">pos_eur</td>
+ <td colspan="2" class="coa_details_header2">Datevautomatik</td>
+ </tr>
+
+ <tr class="coa_listrow[% loop.count % 2 %]">
+ <td class="coa_detail_emph">[% IF row.pos_bwa %][% HTML.escape(row.pos_bwa) %][% ELSE %]-[% END %]</td>
+ <td class="coa_detail_emph">[% IF row.pos_bilanz %][% HTML.escape(row.pos_bilanz) %][% ELSE %]-[% END %]</td>
+ <td class="coa_detail_emph">[% IF row.pos_eur %][% HTML.escape(row.pos_eur) %][% ELSE %]-[% END %]</td>
+ <td colspan="2" class="coa_detail_emph">[% IF row.datevautomatik %]On[% ELSE %]Off[% END %]</td>
+ </tr>
+</table>
+
+[% END %]
--- /dev/null
+[% USE HTML %]<body>
+
+ <br/><div id='pjxdebugrequest'></div><br/>
+
+ <div class="coa_listtop">[% title %]</div>
+
+ <br />
+
+ <table width="100%">
+
+ <colgroup>
+ <col width="10%">
+ <col width="10%">
+ <col width="10%">
+ <col width="50%">
+ <col width="10%">
+ <col width="10%">
+ </colgroup>
+
+ <tr class="coa_listheading">
+ <td class="coa_listheading_element">Account</td>
+ <td colspan="3" class="coa_listheading_element">Description (Click on Description for details)</td>
+ <td class="coa_listheading_element">Debit</td>
+ <td class="coa_listheading_element">Credit</td>
+ </tr>
+
+ [% SET row_odd = '1' %][% FOREACH row = CA %]
+
+ [% IF row.heading %]
+ <tr>
+ <td class="accountlistheading"><a href="[% row.link_edit_account %]">[% HTML.escape(row.accno) %]</a></td>
+ <td colspan="5" class="accountlistheading">[% HTML.escape(row.description) %]</td>
+ </tr>
+
+ [% ELSE %]
+
+ <tr class="coa_listrow[% IF row_odd %]1[% SET row_odd = '0' %][% ELSE %]0[% SET row_odd = '1' %][% END %]">
+
+ <td class="coa_account_header">
+ <b><a href="[% row.link_edit_account %]" >[% HTML.escape(row.accno) %]</a></b>
+ </td>
+
+ <input type="hidden" name="chart_id" value="[% HTML.escape(row.id) %]" id="chart_id_[% HTML.escape(row.id) %]" >
+ <td colspan="3" id="accountcontent[% HTML.escape(row.id) %]-title" class="coa_account_header_sc"
+ onclick="list_account_details( ['chart_id_[% HTML.escape(row.id) %]'], ['ajaxcontent[% HTML.escape(row.id) %]'] )">
+ [% HTML.escape(row.description) %]
+ </td>
+
+ <td class="coa_account_header"><div class="coa_amount">[% HTML.escape(row.debit) %]</div></td>
+ <td class="coa_account_header"><div class="coa_amount">[% HTML.escape(row.credit) %]</div>
+ </td>
+ </tr>
+
+ <tr class="coa_detail">
+ <td colspan="6" width="100%"><div id="ajaxcontent[% HTML.escape(row.id) %]"></div></td>
+ </tr>
+
+ [% END %]
+
+ [% END %]
+
+ </table>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ [% IF MESSAGE %]<p>[% MESSAGE %]</p>[% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ <table width="100%">
+ <tr>
+ <td class="listheading" width="0%"></td>
+ <td class="listheading" width="0%"></td>
+ <td class="listheading" width="80%">Description</td>
+ <td class="listheading" width="20%">Factor</td>
+ </tr>
+
+ [% SET row_odd = '1' %][% FOREACH factor = PRICE_FACTORS %]
+ <tr class="listrow[% IF row_odd %]1[% SET row_odd = '0' %][% ELSE %]0[% SET row_odd = '1' %][% END %]">
+ <td>[% IF factor.previous_id %]<a href="[% url_base %]&action=swap_price_factors&id1=[% HTML.url(factor.previous_id) %]&id2=[% HTML.url(factor.id) %]"><img border="0" src="image/up.png"></a>[% END %]</td>
+ <td>[% IF factor.next_id %]<a href="[% url_base %]&action=swap_price_factors&id1=[% HTML.url(factor.next_id) %]&id2=[% HTML.url(factor.id) %]"><img border="0" src="image/down.png"></a>[% END %]</td>
+ <td><a href="[% url_base %]&action=edit_price_factor&id=[% HTML.url(factor.id) %]">[% HTML.escape(factor.description) %]</a></td>
+ <td>[% HTML.escape(factor.factor) %]</td>
+ </tr>
+ [% END %]
+ </table>
+ </p>
+
+ <hr height="3">
+
+ <p>
+ <form method="post" action="am.pl">
+ <input type="hidden" name="type" value="price_factor">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <input type="submit" class="submit" name="action" value="Add">
+ </form>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% title %]</div>
+
+ <table>
+ <tr>
+ <th class="listheading">tax_taxkey</th>
+ <th class="listheading">tax_taxdescription</th>
+ <th class="listheading">tax_rate</th>
+ <th class="listheading">taxnumber</th>
+ <th class="listheading">account_description</th>
+ </tr>
+
+ [% SET row_odd = '1' %][% FOREACH row = TAX %]
+ <tr class="listrow[% IF row_odd %]1[% SET row_odd = '0' %][% ELSE %]0[% SET row_odd = '1' %][% END %]">
+ <td align="right">[% HTML.escape(row.taxkey) %]</td>
+ <td><a href="am.pl?action=edit_tax&id=[% HTML.url(row.id) %]&callback=[% HTML.url(callback) %]">[% HTML.escape(row.taxdescription) %]</a></td>
+ <td align="right">[% HTML.escape(row.rate) %] %</td>
+ <td align="right">[% HTML.escape(row.taxnumber) %]</td>
+ <td>[% HTML.escape(row.account_description) %]</td>
+ </tr>
+ [% END %]
+ </table>
+
+ <p>
+ <form method="post" action="am.pl">
+
+ <input name="callback" type="hidden" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="type" value="tax">
+ <input class="submit" type="submit" name="action" value="Add">
+ </form>
+ </p>
+
+</body>
+</html>
+
--- /dev/null
+[% USE HTML %]<body>
+
+ [% IF saved_message %]<p>[% saved_message %]</p>[% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ <table width="100%">
+ <tr>
+ <td class="listheading" width="0%"></td>
+ <td class="listheading" width="0%"></td>
+ <td class="listheading" width="70%">Description</td>
+ <td class="listheading" width="20%">Number of bins</td>
+ <td class="listheading" width="10%">Invalid</td>
+ </tr>
+
+ [% SET row_odd = '1' %][% FOREACH warehouse = WAREHOUSES %]
+ <tr class="listrow[% IF row_odd %]1[% SET row_odd = '0' %][% ELSE %]0[% SET row_odd = '1' %][% END %]">
+ <td>[% IF warehouse.previous_id %]<a href="[% url_base %]&action=swap_warehouses&id1=[% HTML.url(warehouse.previous_id) %]&id2=[% HTML.url(warehouse.id) %]"><img border="0" src="image/up.png"></a>[% END %]</td>
+ <td>[% IF warehouse.next_id %]<a href="[% url_base %]&action=swap_warehouses&id1=[% HTML.url(warehouse.next_id) %]&id2=[% HTML.url(warehouse.id) %]"><img border="0" src="image/down.png"></a>[% END %]</td>
+ <td><a href="[% url_base %]&action=edit_warehouse&id=[% HTML.url(warehouse.id) %]">[% HTML.escape(warehouse.description) %]</a></td>
+ <td>[% HTML.escape(warehouse.number_of_bins) %]</td>
+ <td>[% IF warehouse.invalid %]Yes[% ELSE %]No[% END %]</td>
+ </tr>
+ [% END %]
+ </table>
+ </p>
+
+ <hr height="3">
+
+ <p>
+ <form method="post" action="am.pl">
+ <input type="hidden" name="type" value="warehouse">
+
+ <input type="submit" class="submit" name="action" value="Add">
+ </form>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onload="document.Form.name.focus();">
+
+ <style type="text/css">
+ .small {
+ font-size: 0.75em;
+ }
+ </style>
+
+ <div class="listtop">[% title %]</div>
+
+ <form action="amcvar.pl" name="Form" method="post">
+
+ <p>
+ <table>
+ <tr>
+ <td align="right">Module</td>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'module',
+ id_key = 'module',
+ label_key = 'description',
+ DATA = MODULES %]
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Name<sup><span class="small">(1)</span></sup></td>
+ <td><input name="name" value="[% HTML.escape(name) %]"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Description<sup><span class="small">(2)</span></sup></td>
+ <td><input name="description" value="[% HTML.escape(description) %]"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Type</td>
+ <td>
+ <select name="type">
+ [%- FOREACH row = TYPES %]
+ <option value="[% HTML.escape(row.type) %]"[% IF row.type == type %] selected[% END %]>[% HTML.escape(row.type_tr) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Default value<sup><span class="small">(3)</span></sup></td>
+ <td><input name="default_value" value="[% HTML.escape(default_value) %]"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Options<sup><span class="small">(4)</span></sup></td>
+ <td><input name="options" value="[% HTML.escape(options) %]"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Searchable<sup><span class="small"></span></sup></td>
+ <td>
+ <input type="radio" name="searchable" id="searchable_1" value="1"[% IF searchable %] checked[% END %]>
+ <label for="searchable_1">Yes</label>
+ <input type="radio" name="searchable" id="searchable_0" value="0"[% UNLESS searchable %] checked[% END %]>
+ <label for="searchable_0">No</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Includeable in reports<sup><span class="small"></span></sup></td>
+ <td>
+ <select name="inclusion">
+ <option value="no"[% UNLESS includeable %] selected[% END %]>No</option>
+ <option value="yes"[% IF includeable && !included_by_default %] selected[% END %]>Yes</option>
+ <option value="yes_default_on"[% IF included_by_default %] selected[% END %]>Yes, included by default</option>
+ </select>
+ </td>
+ </tr>
+
+ [%- IF module == 'IC' %]
+ <tr>
+ <td align="right">Editable<sup><span class="small">(5)</span></sup></td>
+ <td>
+ <input type="radio" name="flag_editable" id="flag_editable_1" value="1"[% IF flag_editable %] checked[% END %]>
+ <label for="flag_editable_1">Yes</label>
+ <input type="radio" name="flag_editable" id="flag_editable_0" value="0"[% UNLESS flag_editable %] checked[% END %]>
+ <label for="flag_editable_0">No</label>
+ </td>
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+
+ <p>
+ <input type="submit" name="action" value="Save">
+ [%- IF id %]
+ <input type="submit" name="action" value="Delete">
+ [%- END %]
+ </p>
+
+ <hr>
+
+ <h3>Annotations</h3>
+
+ <p>
+ (1) The variable name must only consist of letters, numbers and underscores. It must begin with a letter. Example: send_christmas_present
+ </p>
+
+ <p>
+ (2) The description is shown on the form. Chose something short and descriptive.
+ </p>
+
+ <p>
+ (3) The default value depends on the variable type:
+ <br>
+ <ul>
+ <li>Text, text field and number variables: The default value will be used as-is.</li>
+ <li>Boolean variables: If the default value is non-empty then the checkbox will be checked by default and unchecked otherwise.</li>
+ <li>Date and timestamp variables: If the default value equals 'NOW' then the current date/current timestamp will be used. Otherwise the default value is copied as-is.</li>
+ </ul>
+ </p>
+
+ <p>
+ (4) The available options depend on the varibale type:
+ <br>
+ <ul>
+ <li>Text variables: 'MAXLENGTH=n' sets the maximum entry length to 'n'.</li>
+ <li>Text field variables: 'WIDTH=w HEIGHT=h' sets the width and height of the text field. They default to 30 and 5 respectively.</li>
+ <li>Number variables: 'PRECISION=n' forces numbers to be shown with exactly n decimal places.</li>
+ <li>Selection fields: The option field must contain the available options for the selection. Options are separated by '##', for example 'Early##Normal##Late'.</li>
+ </ul>
+ <br>
+ Other values are ignored.
+ </p>
+
+ [%- IF module == 'IC' %]
+ <p>
+ (5)
+
+ A variable marked as 'editable' can be changed in each quotation, order, invoice etc.
+
+ Otherwise the variable is only available for printing.
+ </p>
+ [%- END %]
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ [% IF MESSAGE %]<p>[% MESSAGE %]</p>[% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" action="amcvar.pl">
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <p>
+ Custom variables for module
+ [%- INCLUDE generic/multibox.html
+ name = 'module',
+ id_key = 'module',
+ label_key = 'description',
+ DATA = MODULES %]
+ <input type="submit" class="submit" name="action_list_cvar_configs" value="Show">
+ </p>
+
+ <p>
+ <table width="100%">
+ <tr>
+ <td class="listheading" width="0%"></td>
+ <td class="listheading" width="0%"></td>
+ <td class="listheading" width="20%">Name</td>
+ <td class="listheading" width="20%">Description</td>
+ <td class="listheading" width="20%">Type</td>
+ <td class="listheading" width="20%">Searchable</td>
+ <td class="listheading" width="20%">Includeable in reports</td>
+ [%- IF module == 'IC' %]
+ <td class="listheading" width="20%">Editable</td>
+ [%- END %]
+ </tr>
+
+ [%- FOREACH cfg = CONFIGS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>
+ [%- IF cfg.previous_id %]
+ <a href="amcvar.pl?action=swap_cvar_configs&module=[% HTML.url(module) %]&id1=[% HTML.url(cfg.previous_id) %]&id2=[% HTML.url(cfg.id) %]">
+ <img border="0" src="image/up.png"></a>
+ [%- END %]
+ </td>
+
+ <td>
+ [%- IF cfg.next_id %]
+ <a href="amcvar.pl?action=swap_cvar_configs&module=[% HTML.url(module) %]&id1=[% HTML.url(cfg.next_id) %]&id2=[% HTML.url(cfg.id) %]">
+ <img border="0" src="image/down.png"></a>
+ [%- END %]
+ </td>
+
+ <td>
+ <a href="amcvar.pl?action=edit_cvar_config&module=[% HTML.url(module) %]&id=[% HTML.url(cfg.id) %]&callback=[% HTML.url(callback) %]">
+ [% HTML.escape(cfg.name) %]
+ </a>
+ </td>
+
+ <td>[% HTML.escape(cfg.description) %]</td>
+ <td>[% HTML.escape(cfg.type_tr) %]</td>
+
+ <td>
+ [%- IF cfg.searchable %]
+ Yes
+ [%- ELSE %]
+ No
+ [%- END %]
+ </td>
+
+ <td>
+ [%- IF cfg.included_by_default %]
+ Yes, included by default
+ [%- ELSIF cfg.includeable %]
+ Yes
+ [%- ELSE %]
+ No
+ [%- END %]
+ </td>
+
+ [%- IF module == 'IC' %]
+ <td>
+ [%- IF cfg.flag_editable %]
+ Yes
+ [%- ELSE %]
+ No
+ [%- END %]
+ </td>
+ [%- END %]
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+
+ <hr height="3">
+
+ <p>
+ <input type="submit" class="submit" name="action_add_cvar_config" value="Add">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- SET var_valid = HTML.escape(name_prefix) _ "cvar_" _ HTML.escape(var.name) _ HTML.escape(name_postfix) _ '_valid' -%]
+<input type=checkbox name='[% var_valid %]'[% IF var.valid %] checked[% END %]>
--- /dev/null
+[% USE HTML %]
+
+[%- SET var_name = HTML.escape(name_prefix) _ "cvar_" _ HTML.escape(var.name) _ HTML.escape(name_postfix) -%]
+
+[%- IF hide_non_editable && !var.flag_editable %]
+<input type="hidden" name="[% var_name %]" value="[% HTML.escape(var.value) %]">
+
+[%- ELSIF !var.valid %]
+ [%- IF show_disabled_message %]
+<i>Element disabled</i>
+ [%- END %]
+
+[%- ELSIF var.type == 'bool' %]
+<input type="checkbox" name="[% var_name %]" value="1"[% IF var.value %] checked[% END %]>
+
+[%- ELSIF var.type == 'textfield' %]
+<textarea name="[% var_name %]" cols="[% HTML.escape(var.width) %]" rows="[% HTML.escape(var.height) %]">[% HTML.escape(var.value) %]</textarea>
+
+[%- ELSIF var.type == 'date' %]
+<input name="[% var_name %]" id="[% var_name %]" size="12" value="[% HTML.escape(var.value) %]">
+<input name="[% var_name %]_button" id="[% var_name %]_trigger" type="button" value="?">
+
+<script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "[% var_name %]",
+ ifFormat : "[% myconfig_jsc_dateformat %]",
+ align : "BR",
+ button : "[% var_name %]_trigger" });
+ -->
+</script>
+
+[%- ELSIF var.type == 'timestamp' %]
+<input name="[% var_name %]" value="[% HTML.escape(var.value) %]">
+
+[%- ELSIF var.type == 'select' %]
+
+<select name="[% var_name %]">
+ [%- FOREACH option = var.OPTIONS %]
+ <option[% IF option.value == var.value %] selected[% END %]>[% HTML.escape(option.value) %]</option>
+ [%- END %]
+</select>
+
+[%- ELSE %]
+<input name="[% var_name %]" value="[% HTML.escape(var.value) %]" [%- IF var.maxlength %] maxlength="[% HTML.escape(var.maxlength) %]"[% END -%]>
+[%- END %]
--- /dev/null
+[% USE HTML %]
+
+ [%- FOREACH var = variables %]
+ [%- IF var.searchable %]
+ <tr>
+ <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
+ <td valign="top">
+
+ [%- IF var.type == 'bool' %]
+ <select name="cvar_[% HTML.escape(var.name) %]">
+ <option value="">---</option>
+ <option value="yes">Yes</option>
+ <option value="no">No</option>
+ </select>
+
+ [%- ELSIF var.type == 'date' %]
+ from (time)
+ <input name="cvar_[% HTML.escape(var.name) %]_from" id="cvar_[% HTML.escape(var.name) %]_from" size="12">
+ <input type="button" name="cvar_[% HTML.escape(var.name) %]_from_button" id="cvar_[% HTML.escape(var.name) %]_from_trigger" value="?">
+ to (time)
+ <input name="cvar_[% HTML.escape(var.name) %]_to" id="cvar_[% HTML.escape(var.name) %]_to" size="12">
+ <input type="button" name="cvar_[% HTML.escape(var.name) %]_to_button" id="cvar_[% HTML.escape(var.name) %]_to_trigger" value="?">
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "cvar_[% HTML.escape(var.name) %]_from",
+ ifFormat :"[% myconfig_jsc_dateformat %]",
+ align : "BR",
+ button : "cvar_[% HTML.escape(var.name) %]_from_trigger" });
+ Calendar.setup({ inputField : "cvar_[% HTML.escape(var.name) %]_to",
+ ifFormat :"[% myconfig_jsc_dateformat %]",
+ align : "BR",
+ button : "cvar_[% HTML.escape(var.name) %]_to_trigger" });
+ -->
+ </script>
+
+ [%- ELSIF var.type == 'number' %]
+ <select name="cvar_[% HTML.escape(var.name) %]_qtyop">
+ <option selected>==</option>
+ <option>=/=</option>
+ <option>></option>
+ <option>>=</option>
+ <option><</option>
+ <option><=</option>
+ </select>
+ <input name="cvar_[% HTML.escape(var.name) %]"[% IF var.maxlength %]maxlength="[% HTML.escape(var.maxlength) %]"[% END %]>
+
+ [% ELSIF var.type == 'select' %]
+ <select name="cvar_[% HTML.escape(var.name) %]">
+ <option value="" selected>---</option>
+ [%- FOREACH option = var.OPTIONS %]
+ <option>[% HTML.escape(option.value) %]</option>
+ [%- END %]
+ </select>
+
+ [%- ELSE %]
+ <input name="cvar_[% HTML.escape(var.name) %]"[% IF var.maxlength %]maxlength="[% HTML.escape(var.maxlength) %]"[% END %]>
+
+ [%- END %]
+ </td>
+ </tr>
+ [%- END %]
+ [%- END %]
--- /dev/null
+[% USE HTML %]
+
+ [%- SET start_new_row = '1' %]
+
+ [%- FOREACH var = variables %]
+ [%- IF var.includeable %]
+ [%- IF start_new_row %]
+ <tr>
+ [%- SET start_new_row = '0' %]
+ [%- END %]
+ <td>
+ <input type="checkbox"
+ name="[% HTML.escape(include_prefix) %]cvar_[% HTML.escape(var.name) %]"
+ id="[% HTML.escape(include_prefix) %]cvar_[% HTML.escape(var.name) %]"
+ value="[% HTML.escape(include_value) %]"
+ [% IF var.included_by_default %] checked[% END %]>
+ <label for="[% HTML.escape(include_prefix) %]cvar_[% HTML.escape(var.name) %]">[% HTML.escape(var.description) %]</label>
+ </td>
+
+ [%- UNLESS loop.count % 4 %][%- SET start_new_row = '1' %][%- END %]
+ [%- IF start_new_row || loop.last %]
+ </tr>
+ [%- END %]
+ [%- END %]
+ [%- END %]
--- /dev/null
+[% USE HTML %] <form method="post" action="ap.pl">
+
+ <input name="callback" type="hidden" value="[% callback %]">
+
+ Create new<br>
+
+ <input class="submit" type="submit" name="action" value="Purchase Transaction">
+ <input class="submit" type="submit" name="action" value="Vendor Invoice">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %] <form method="post" action="ar.pl">
+
+ <input name="callback" type="hidden" value="[% callback %]">
+
+ Create new<br>
+
+ <input class="submit" type="submit" name="action" value="Sales Transaction">
+ <input class="submit" type="submit" name="action" value="Sales Invoice">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<style type="text/css">@import url(js/jscalendar/calendar-win2k-1.css);</style>
+<script type="text/javascript" src="js/jscalendar/calendar.js"></script>
+<script type="text/javascript" src="js/jscalendar/lang/calendar-de.js"></script>
+<script type="text/javascript" src="js/jscalendar/calendar-setup.js"></script>
+
+<form method="post" action="am.pl">
+
+<input type="hidden" name="action" value="show_am_history">
+
+ <table>
+ <tr>
+ <th class ="listtop">history search engine</th>
+ </th>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">
+ <!--
+ function uncheckOther(id) {
+ if(!(
+ (document.getElementById('non-deleted').checked == false)
+ &&
+ (document.getElementById('both').checked == false)
+ &&
+ (document.getElementById('deleted').checked == false)
+ )) {
+ if(id == "deleted") {
+ document.getElementById('non-deleted').checked = false;
+ document.getElementById('both').checked = false;
+ }
+ if(id == "non-deleted") {
+ document.getElementById('deleted').checked = false;
+ document.getElementById('both').checked = false;
+ }
+ if(id == "both") {
+ document.getElementById('non-deleted').checked = false;
+ document.getElementById('deleted').checked = false;
+ }
+ }
+ }
+
+ var defaults = new Array('SAVED', 'DELETED', 'ADDED', 'PAYMENT POSTED', 'POSTED', 'POSTED AS NEW', 'SAVED FOR DUNNING', 'DUNNING STARTED', 'PRINTED');
+ var translated = new Object();
+ translated['SAVED'] = 'SAVED';
+ translated['DELETED'] = 'DELETED';
+ translated['ADDED'] = 'ADDED';
+ translated['PAYMENT POSTED'] = 'PAYMENT POSTED';
+ translated['POSTED'] = 'POSTED';
+ translated['POSTED AS NEW'] = 'POSTED AS NEW'
+ translated['SAVED FOR DUNNING'] = 'SAVED FOR DUNNING';
+ translated['DUNNING STARTED'] = 'DUNNING STARTED';
+ translated['PRINTED'] = 'PRINTED';
+
+ var jscalender = "<table valign=\"top\">"
+ + "<tr><td colspan=\"2\"><b>Period: </b></td></tr>"
+ + "<tr><td>from (time): "
+ + "<input name=\"fromdate\" id=\"fromdate\" size=\"11\" title=\"[% HTML.escape(myconfig_dateformat) %]\" value=\"[% HTML.escape(fromdate) %]\">"
+ + "<input type=\"button\" name=\"fromdate\" id=\"trigger1\" value=\"?\">"
+ + " </td><td>to (time): "
+ + "<input name=\"todate\" id=\"todate\" size=\"11\" title=\"[% HTML.escape(myconfig_dateformat) %]\" value=\"[% HTML.escape(todate) %]\">"
+ + "<input type=\"button\" name=\"todate\" id=\"trigger2\" value=\"?\"></td></tr></table>";
+ var mitarbeiter = "<table valign=\"top\">"
+ + "<tr><td><b>Mitarbeiter:</b> </td>"
+ + "<td><input type='text' name='mitarbeiter' id='mitarbeiter'></td>"
+ + "</tr></table>";
+
+ var tempString = "";
+ function addForm(last, remove) {
+ if(last == "INIT") {
+ tempString = "<select id='selectForm'><option></option>";
+ for(i=0;i<defaults.length;i++) {
+ tempString += "\<option value\=\'" + defaults[i] + "\'\ onClick=\"javascript:addForm(\'" + defaults[i] + "\', " + i + ");\">" + translated[defaults[i]] + "\<\/option\>" + "\n";
+ }
+ tempString += "</select>";
+ document.getElementById('selectEmployee').innerHTML = mitarbeiter;
+ document.getElementById('selectDate').innerHTML = jscalender;
+ document.getElementById('selectTable').innerHTML = tempString;
+
+ Calendar.setup(
+ {
+ inputField : "fromdate",
+ ifFormat :"%d.%m.%Y",
+ align : "BL",
+ button : "trigger1"
+ });
+
+ Calendar.setup(
+ {
+ inputField : "todate",
+ ifFormat :"%d.%m.%Y",
+ align : "BL",
+ button : "trigger2"
+ });
+ }
+ else {
+ defaults.splice(remove,1);
+ document.getElementById('inputText').innerHTML += ((document.getElementById('inputText').innerHTML == "") ? ("<b>You've already chosen the following limitations:</b><br>") : ("<br>")) + translated[last];
+ if(defaults.length > 0) {
+ document.getElementById('einschraenkungen').value += ((document.getElementById('einschraenkungen').value == "") ? ("") : (",")) + last;
+ tempString = "<select id='selectForm'><option></option>";
+ for(i=0;i<defaults.length;i++) {
+ tempString += "\<option value\=\'" + defaults[i] + "\'\ onClick=\"javascript:addForm(\'" + defaults[i] + "\', " + i + ");\">" + translated[defaults[i]] + "\<\/option\>" + "\n";
+ }
+ tempString += "</select>";
+ document.getElementById('selectTable').innerHTML = tempString;
+ }
+ else {
+ document.getElementById('selectTable').innerHTML = "";
+ }
+ }
+ }
+
+ function resetAll() {
+ document.getElementById('selectTable').innerHTML = "<a href=\"javascript:addForm('INIT')\">Yes";
+ document.getElementById('inputText').innerHTML = "";
+ }
+ //-->
+ </script>
+ <table>
+ <tr>
+ <td>
+ <b>What</b> do you want to look for?:
+ </td>
+ <td>
+ <select name="what2search" id="what2search">
+ <option name="Artikelnummer" value="Artikelnummer" id="Artikelnummer">Part Number</option>
+ <option name="Kundennummer" value="Kundennummer" id="Kundennummer">Customer Number</option>
+ <option name="Lieferantennummer" value="Lieferantennummer" id="Lieferantennummer">Vendor Number</option>
+ <option name="Projektnummer" value="Projektnummer" id="Projektnummer">Project Number</option>
+ <option name="Buchungsnummer" value="Buchungsnummer" id="Buchungsnummer">ID</option>
+ <option name="Eingangsrechnungnummer" value="Eingangsrechnungnummer" id="Eingangsrechnungnummer">Incoming invoice number</option>
+ <option name="Ausgangsrechnungnummer" value="Ausgangsrechnungnummer" id="Ausgangsrechnungnummer">Sales invoice number</option>
+ <option name="Mahnungsnummer" value="Mahnungsnummer" id="Mahnungsnummer">Dunning number</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ What's the <b>term</b> you're looking for?
+ </td>
+ <td>
+ <input type="text" name="searchid" id="searchid" value="[% HTML.escape(searchid) %]">
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ Do you want to <b>limit</b> your search?
+ </td>
+ <td>
+ <table valign=\"top\" cellpadding=\"0\" marginheight=\"0\" marginwidth=\"0\" cellspacing=\"0\" topmargin=\"0\" leftmargin=\"0\">
+ <tr>
+ <td>
+ <div id="selectTable"><a href="javascript:addForm('INIT')">Yes</div>
+ <div id="inputText"></div>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div id="selectEmployee"></div>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div id="selectDate"></div>
+ </td>
+ </tr>
+ </table>
+ <input type="hidden" name="einschraenkungen" id="einschraenkungen" value="">
+ </td>
+ </tr>
+ </tr>
+ <tr>
+ <td colspan="6">
+ <input type="submit" class="submit" value="submit">
+ <input type="reset" class="submit" value="reset" onClick="javascript:resetAll();">
+ </td>
+ <td>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+</form>
--- /dev/null
+[% USE HTML %]
+[% IF SUCCESS %]
+
+[% BLOCK column_header %]
+ <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" valign="top" border="0">
+ [% IF THIS_COLUMN && !THIS_COLUMN_DOWN %]
+ <tr><td><a title="order" style="background: #ccccff; border: solid 1px #aaaade;">∧</a></td></tr>
+ [% ELSE %]
+ <tr><td><a href="[% callback %]&order=[% column %]--0" title="order" style="border: solid 1px #aaaade;">∧</a></td></tr>
+ [% END %]
+ [% IF THIS_COLUMN && THIS_COLUMN_DOWN %]
+ <tr><td><a title="order" style="background: #ccccff; border: solid 1px #aaaade;">∨</a></td></tr>
+ [% ELSE %]
+ <tr><td><a href="[% callback %]&order=[% column %]--1" title="order" style="border: solid 1px #aaaade;">∨</a></td></tr>
+ [% END %]
+ </table>
+[% END %]
+
+<table>
+ <tr>
+ <th class="listtop">
+ <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" border="0">
+ <tr>
+ <td align="center" valign="middle">
+ Zeitpunkt
+ </td>
+ <td valign="top">
+ [% PROCESS column_header THIS_COLUMN=ITIME THIS_COLUMN_DOWN=ITIMEBY column='h.itime' %]
+ </td>
+ </tr>
+ </table>
+ </th>
+ <th class=listtop>
+ <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" border="0">
+ <tr>
+ <td align="center" valign="middle">
+ Mitarbeiter
+ </td>
+ <td valign="top">
+ [% PROCESS column_header THIS_COLUMN=NAME THIS_COLUMN_DOWN=NAMEBY column='emp.name' %]
+ </td>
+ </tr>
+ </table>
+ </th>
+ <th class=listtop>
+ <table>
+ <tr>
+ <td>
+ Aktion
+ </td>
+ </tr>
+ </table>
+ </th>
+ <th class=listtop>
+ <table>
+ <tr>
+ <td>
+ Zusatz
+ </td>
+ </tr>
+ </table>
+ </th>
+ <th class=listtop>
+ <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" border="0">
+ <tr>
+ <td align="center" valign="middle">
+ ID-Nummer
+ </td>
+ <td valign="top">
+ [% PROCESS column_header THIS_COLUMN=TRANS_ID THIS_COLUMN_DOWN=TRANS_IDBY column='h.trans_id' %]
+ </td>
+ </tr>
+ </table>
+ </th>
+ <th class=listtop>
+ <table height="0" width="0" cellpadding="0" cellspacing="0" marginheight="0" marginwidth="0" border="0">
+ <tr>
+ <td align="center" valign="middle">
+ Belegnummer
+ </td>
+ <td valign="top">
+ [% PROCESS column_header THIS_COLUMN=SNUMBERS THIS_COLUMN_DOWN=SNUMBERSBY column='h.snumbers' %]
+ </td>
+ </tr>
+ </table>
+ </th>
+ </tr>
+ <tbody>
+[% FOREACH row = DATEN %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td nowrap>
+ [% HTML.escape(row.itime) %]
+ </td>
+ <td nowrap>
+ [% HTML.escape(row.name) %]
+ </td>
+ <td>
+ [% HTML.escape(row.addition) %]
+ </td>
+ <td>
+ [% HTML.escape(row.what_done) %]
+ </td>
+ <td>
+ [% HTML.escape(row.id) %]
+ </td>
+ <td>
+ [% HTML.escape(row.snumbers) %]
+ </td>
+ </tr>
+[% END %]
+</tbody>
+</table>
+[% ELSE %]
+<b>Keine Suchergebnisse gefunden!</b><br>
+[% END %]
+<p>
+[% IF NONEWWINDOW %]
+<input type="button" onclick="javascript:history.back(-1);" value="back">
+[% ELSE %]
+<input type="button" onclick="javascript:window.close();" value="close">
+[% END %]
+</p>
--- /dev/null
+[% USE HTML %]
+
+[% BLOCK jump_block %]
+ <p>
+ Jump to <a href="#billing">Billing Address</a>
+ [%- FOREACH shipto = SHIPTO %]
+ ,
+ <a href="#shipping[% loop.count %]">
+ Shipping Address
+ "[% HTML.escape(shipto.shiptoname) %]"
+ </a>
+ [%- END %]
+ [%- FOREACH contact = CONTACTS %]
+ ,
+ <a href="#contact[% loop.count %]">
+ Contact Person
+ "[% HTML.escape(contact.cp_name) %]"
+ </a>
+ [%- END %]
+ </p>
+
+ <hr>
+[% END %]
+
+<body>
+
+ <div width="100%" class="listtop">
+ [% IF is_customer %]Customer details[% ELSE %]Vendor details[% END %] "[% HTML.escape(name) %]"
+ </div>
+
+ [%- INCLUDE jump_block CONTACTS = CONTACTS, SHIPTO = SHIPTO %]
+
+ <a name="billing"><div class="listheading">Billing Address</div></a>
+
+ <table>
+ <tr>
+ <td align="right">Customer Number</td>
+ <td>[% HTML.escape(customernumber) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Company Name</td>
+ <td>[% HTML.escape(name) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Department</td>
+ <td>[% HTML.escape(department_1) %][% IF department_2 %][% IF department_1 %]; [% END %][% HTML.escape(department_2) %][% END %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Street</td>
+ <td>[% HTML.escape(street) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Zip, City</td>
+ <td>[% HTML.escape(zipcode) %] [% HTML.escape(city) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Country</td>
+ <td>[% HTML.escape(country) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Contact Person</td>
+ <td>[% IF greeting %][% HTML.escape(greeting) %] [% END %][% HTML.escape(contact) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Phone</td>
+ <td>[% HTML.escape(phone) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Fax</td>
+ <td>[% HTML.escape(fax) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">E-mail</td>
+ <td>[% HTML.escape(email) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Homepage</td>
+ <td>[% HTML.escape(homepage) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Credit Limit</td>
+ <td>[% HTML.escape(creditlimit) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Discount</td>
+ <td>[% HTML.escape(discount) %]%</td>
+ </tr>
+
+ <tr>
+ <td align="right">Payment Terms</td>
+ <td>[% HTML.escape(payment_terms) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Tax Number</td>
+ <td>[% HTML.escape(taxnumber) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">USt-IdNr.</td>
+ <td>[% HTML.escape(ustid) %]</td>
+ </tr>
+
+ [% IF is_customer %]
+ <tr>
+ <td align="right">KNr. beim Kunden</td>
+ <td>[% HTML.escape(c_vendor_id) %]</td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <td align="right">Account Number</td>
+ <td>[% HTML.escape(account_number) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Bank Code</td>
+ <td>[% HTML.escape(bank_code) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Bank</td>
+ <td>[% HTML.escape(bank) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">[% IF is_customer %]Customer type[% ELSE %]Vendor type[% END %]</td>
+ <td>[% HTML.escape(business) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Language</td>
+ <td>[% HTML.escape(language) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top">Notes</td>
+ <td valign="top">[% HTML.escape(notes) %]</td>
+ </tr>
+
+ </table>
+
+
+
+
+ [% FOREACH row = SHIPTO %]
+
+ <hr>
+
+ [%- INCLUDE jump_block CONTACTS = CONTACTS, SHIPTO = SHIPTO %]
+
+ <a name="shipping[% loop.count %]"><div class="listheading">Shipping Address "[% HTML.escape(row.shiptoname) %]"</div></a>
+
+ <table>
+ <tr>
+ <td align="right">Company Name</td>
+ <td>[% HTML.escape(row.shiptoname) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Department</td>
+ <td>[% HTML.escape(row.shiptodepartment_1) %][% IF row.shiptodepartment_2 %][% IF row.shiptodepartment_1 %]; [% END %][% HTML.escape(row.shiptodepartment_2) %][% END %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Street</td>
+ <td>[% HTML.escape(row.shiptostreet) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Zip, City</td>
+ <td>[% HTML.escape(row.shiptozipcode) %] [% HTML.escape(row.shiptocity) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Country</td>
+ <td>[% HTML.escape(row.shiptocountry) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Contact Person</td>
+ <td>[% HTML.escape(row.shiptocontact) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Phone</td>
+ <td>[% HTML.escape(row.shiptophone) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Fax</td>
+ <td>[% HTML.escape(row.shiptofax) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">E-mail</td>
+ <td>[% HTML.escape(row.shiptoemail) %]</td>
+ </tr>
+
+ </table>
+ [% END %]
+
+
+
+
+
+
+
+
+
+
+ [% FOREACH row = CONTACTS %]
+
+ <hr>
+
+ [%- INCLUDE jump_block CONTACTS = CONTACTS, SHIPTO = SHIPTO %]
+
+ <a name="contact[% loop.count %]"><div class="listheading">Contact Person "[% HTML.escape(row.cp_name) %]"</div></a>
+
+ <table>
+ <tr>
+ <td align="right">Greeting</td>
+ <td>[% HTML.escape(row.cp_greeting) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Title</td>
+ <td>[% HTML.escape(row.cp_title) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Given Name</td>
+ <td>[% HTML.escape(row.cp_givenname) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Name</td>
+ <td>[% HTML.escape(row.cp_name) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Department</td>
+ <td>[% HTML.escape(row.cp_abteilung) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Phone1</td>
+ <td>[% HTML.escape(row.cp_phone1) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Phone2</td>
+ <td>[% HTML.escape(row.cp_phone2) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Fax</td>
+ <td>[% HTML.escape(row.cp_fax) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Mobile1</td>
+ <td>[% HTML.escape(row.cp_mobile1) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Mobile2</td>
+ <td>[% HTML.escape(row.cp_mobile2) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Sat. Phone</td>
+ <td>[% HTML.escape(row.cp_satphone) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Sat. Fax</td>
+ <td>[% HTML.escape(row.cp_satfax) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Project</td>
+ <td>[% HTML.escape(row.cp_project) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">E-mail</td>
+ <td>[% HTML.escape(row.cp_email) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Private Phone</td>
+ <td>[% HTML.escape(row.cp_privatphone) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Private E-mail</td>
+ <td>[% HTML.escape(row.cp_privatemail) %]</td>
+ </tr>
+
+ <tr>
+ <td align="right">Birthday</td>
+ <td>[% HTML.escape(row.cp_birthday) %]</td>
+ </tr>
+
+ </table>
+
+ [% END %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+
+<input name="id" type="hidden" id="cvid" value="[% HTML.escape(id) %]">
+<input name="business_save" type="hidden" value="[% HTML.escape(selectbusiness) %]">
+<input name="title_save" type="hidden" value="[% HTML.escape(title) %]">
+
+<input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+<input type="hidden" name="db" id="db" value="[% HTML.escape(db) %]">
+
+<br>
+ <input class="submit" type="submit" name="action" accesskey="s" value="Save">
+ <input class="submit" type="submit" name="action" accesskey="s" value="Save and Close">
+ [%- IF is_customer %]
+ <input class="submit" type="submit" name="action" value="Save and AR Transaction">
+ [%- ELSE %]
+ <input class="submit" type="submit" name="action" value="Save and AP Transaction">
+ [%- END %]
+ <input class="submit" type="submit" name="action" value="Save and Invoice">
+ <input class="submit" type="submit" name="action" value="Save and Order">
+ [%- IF is_customer %]
+ <input class="submit" type="submit" name="action" value="Save and Quotation">
+ [%- ELSE %]
+ <input class="submit" type="submit" name="action" value="Save and RFQ">
+ [%- END %]
+[%- IF id AND is_orphaned %]
+ <input class="submit" type="submit" name="action" value="Delete">
+[%- END %]
+[%- IF id %]
+ <input type="button" class="submit" onclick="set_history_window([% HTML.escape(id) %]);" name="history" id="history" value="history">
+[%- END %]
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "from", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_from" });
+ Calendar.setup({ inputField : "to", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_to" });
+ Calendar.setup({ inputField : "FU_date", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "FU_date_trigger" });
+
+ function enable_delete_shipto(used) { var s=document.getElementById('delete_shipto'); if (s) s.disabled = (used > 0 ? true : false); }
+ function enable_delete_contact(used){ var s=document.getElementById('delete_contact'); if (s) s.disabled = (used > 0 ? true : false); }
+
+ var maintab = new ddtabcontent("maintab");
+ maintab.setpersist(true);
+ maintab.setselectedClassTarget("link"); //"link" or "linkparent"
+ maintab.init();
+
+ -->
+ </script>
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body onLoad="fokus()">
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" name="ct" action="ct.pl" onKeyUp="highlight(event)" onClick="highlight(event)">
+
+ <ul id="maintab" class="shadetabs">
+ <li class="selected"><a href="#" rel="billing">Billing Address</a></li>
+ <li><a href="#" rel="shipto">Shipping Address</a></li>
+ <li><a href="#" rel="contacts">Ansprechpartner</a></li>
+ <li><a href="#" rel="deliveries">Lieferungen</a></li>
+ <li><a href="#" rel="vcnotes">Notes</a></li>
+ [%- IF CUSTOM_VARIABLES.size %]
+ <li><a href="#" rel="custom_variables">Custom Variables</a></li>
+ [%- END %]
+ </ul>
+
+ <div class="tabcontentstyle">
+
+ <div id="billing" class="tabcontent">
+
+ <table width="100%">
+ <tr height="5"></tr>
+ <tr>
+ [%- IF is_customer %]
+ <th align="right" nowrap>Customer Number</th>
+ <td><input name="customernumber" size="35" value="[% HTML.escape(customernumber) %]"></td>
+ [%- ELSE %]
+ <th align="right" nowrap>Vendor Number</th>
+ <td><input name="vendornumber" size="35" value="[% HTML.escape(vendornumber) %]"></td>
+ [%- END %]
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Greeting</th>
+ <td>
+ <input id="greeting" name="greeting" size="30" value="[% HTML.escape(greeting) %]">
+ [%- INCLUDE generic/multibox.html
+ name = 'selected_company_greeting',
+ DATA = MB_COMPANY_GREETINGS,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Company Name</th>
+ <td><input name="name" size="35" maxlength="75" value="[% HTML.escape(name) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Department</th>
+ <td>
+ <input name="department_1" size="16" maxlength="75" value="[% HTML.escape(department_1) %]">
+ <input name="department_2" size="16" maxlength="75" value="[% HTML.escape(department_2) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Street</th>
+ <td><input name="street" size="35" maxlength="75" value="[% HTML.escape(street) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Zipcode/City</th>
+ <td>
+ <input name="zipcode" size="5" maxlength="10" value="[% HTML.escape(zipcode) %]">
+ <input name="city" size="30" maxlength="75" value="[% HTML.escape(city) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Country</th>
+ <td><input name="country" size="35" maxlength="75" value="[% HTML.escape(country) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Contact</th>
+ <td><input name="contact" size="28" maxlength="75" value="[% HTML.escape(contact) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Phone</th>
+ <td><input name="phone" size="30" maxlength="30" value="[% HTML.escape(phone) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Fax</th>
+ <td><input name="fax" size="30" maxlength="30" value="[% HTML.escape(fax) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>E-mail</th>
+ <td><input name="email" size="45" value="[% HTML.escape(email) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Homepage</th>
+ <td><input name="homepage" size="45" value="[% HTML.escape(homepage) %]"></td>
+ </tr>
+ </table>
+
+ <table>
+ <tr>
+ <th align="right">Credit Limit</th>
+ <td><input name="creditlimit" size="9" value="[% LxERP.format_amount(creditlimit, 0) %]"></td>
+ <input type="hidden" name="terms" value="[% HTML.escape(terms) %]">
+ <th align="right">Payment Terms</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'payment_id',
+ DATA = payment_terms,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+
+ <th align="right">Discount</th>
+ <td><input name="discount" size="4" value="[% LxERP.format_amount(discount) %]"> %</td>
+ </tr>
+
+ <tr>
+ <th align="right">Tax Number / SSN</th>
+ <td><input name="taxnumber" size="20" value="[% HTML.escape(taxnumber) %]"></td>
+ <!-- Anm.: R&B 15.11.2008 VAT Reg No ist Ust-ID in GB, aber generell sollte es laut Richardson die sales tax id sein -->
+ <th align="right">sales tax identification number</th>
+ <td><input name="ustid" maxlength="14" size="20" value="[% HTML.escape(ustid) %]"></td>
+ [%- IF is_customer %]
+ <th align="right">our vendor number at customer</th>
+ <td><input name="c_vendor_id" size="10" value="[% HTML.escape(c_vendor_id) %]"></td>
+ [%- ELSE %]
+ <th align="right">Customer Number</th>
+ <td><input name="v_customer_id" size="10" value="[% HTML.escape(v_customer_id) %]"></td>
+ [%- END %]
+ </tr>
+
+ <tr>
+ <th align="right">Account Number</th>
+ <td><input name="account_number" size="10" maxlength="100" value="[% HTML.escape(account_number) %]"></td>
+ <th align="right">Bank Code Number</th>
+ <td><input name="bank_code" size="10" maxlength="100" value="[% HTML.escape(bank_code) %]"></td>
+ <th align="right">Bank</th>
+ <td><input name="bank" size="20" value="[% HTML.escape(bank) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">IBAN</th>
+ <td><input name="iban" size="10" maxlength="100" value="[% HTML.escape(iban) %]"></td>
+ <th align="right">BIC</th>
+ <td><input name="bic" size="10" maxlength="100" value="[% HTML.escape(bic) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Type of Business</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'business',
+ DATA = all_business,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+ <th align="right">Language</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'language_id',
+ DATA = languages,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+
+ [%- IF is_customer %]
+ <th align="right">Preisklasse</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'klass',
+ DATA = all_pricegroup,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'pricegroup',
+ -%]
+ </td>
+ [%- END %]
+ </tr>
+
+ <tr>
+ <td align="right">Obsolete</td>
+ <td><input name="obsolete" class="checkbox" type="checkbox" value="1" [% IF obsolete %]checked[% END %]></td>
+ <td align="right">direct debit</td>
+ <td><input name="direct_debit" class="checkbox" type="checkbox" value="1" [% IF direct_debit %]checked[% END %]></td>
+ </tr>
+
+ <tr>
+ <th align="right">Steuersatz</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'taxzone_id',
+ DATA = ALL_TAXZONES,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+ [%- IF is_customer %]
+ <th align="right">Salesman</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'salesman_id',
+ DATA = ALL_SALESMEN,
+ show_empty = 1,
+ id_key = 'id',
+ label_sub = 'salesman_label',
+ -%]
+ </td>
+ [%- END %]
+ </tr>
+ </table>
+
+ <table>
+ <tr>
+ <th align="left" nowrap>Notes</th>
+ </tr>
+
+ <tr>
+ <td><textarea name="notes" rows="3" cols="60" wrap="soft">[% HTML.escape(notes) %]</textarea></td>
+ </tr>
+ </table>
+
+ <br style="clear: left" />
+ </div>
+
+ <div id="shipto" class="tabcontent">
+
+ <table width="100%">
+ <tr>
+ <th align="right">Shipping Address</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'shipto_id',
+ id = 'shipto_id',
+ DATA = SHIPTO,
+ onChange = "get_shipto(['shipto_id__' + this.value], ['shiptoname','shiptodepartment_1', 'shiptodepartment_2','shiptostreet','shiptozipcode','shiptocity','shiptocountry','shiptocontact','shiptophone','shiptofax','shiptoemail',enable_delete_shipto,set_gender])",
+ id_key = 'shipto_id',
+ label_sub = 'shipto_label',
+ label_key = 'shipto_label',
+ -%]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Company Name</th>
+ <td><input id="shiptoname" name="shiptoname" size="35" maxlength="75" value="[% HTML.escape(shiptoname) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Abteilung</th>
+ <td>
+ <input id="shiptodepartment_1" name="shiptodepartment_1" size="16" maxlength="75" value="[% HTML.escape(shiptodepartment_1) %]">
+ <input id="shiptodepartment_2" name="shiptodepartment_2" size="16" maxlength="75" value="[% HTML.escape(shiptodepartment_2) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Street</th>
+ <td><input id="shiptostreet" name="shiptostreet" size="35" maxlength="75" value="[% HTML.escape(shiptostreet) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Zipcode/City</th>
+ <td>
+ <input id="shiptozipcode" name="shiptozipcode" size="5" maxlength="75" value="[% HTML.escape(shiptozipcode) %]">
+ <input id="shiptocity" name="shiptocity" size="30" maxlength="75" value="[% HTML.escape(shiptocity) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Country</th>
+ <td><input id="shiptocountry" name="shiptocountry" size="35" maxlength="75" value="[% HTML.escape(shiptocountry) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Contact</th>
+ <td><input id="shiptocontact" name="shiptocontact" size="30" maxlength="75" value="[% HTML.escape(shiptocontact) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Phone</th>
+ <td><input id="shiptophone" name="shiptophone" size="30" maxlength="30" value="[% HTML.escape(shiptophone) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Fax</th>
+ <td><input id="shiptofax" name="shiptofax" size="30" maxlength="30" value="[% HTML.escape(shiptofax) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>E-mail</th>
+ <td><input id="shiptoemail" name="shiptoemail" size="45" value="[% HTML.escape(shiptoemail) %]"></td>
+ </tr>
+
+ <tr>
+ <td> </td>
+ </tr>
+ <tr>
+ <td> </td>
+ </tr>
+ </table>
+
+ <input type="submit" id="delete_shipto" name="action" value="Delete Shipto" disabled>
+ <br style="clear: left" />
+ </div>
+
+ <div id="contacts" class="tabcontent">
+ <table>
+ <input type="hidden" name="cp_id" value="[% HTML.escape(cp_id) %]">
+ <tr>
+ <th align="right">Ansprechpartner</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'cp_id',
+ id = 'cp_id',
+ DATA = CONTACTS,
+ onChange = "get_contact(['cp_id__'+this.value],['cp_name','cp_title','cp_givenname','cp_phone1','cp_phone2','cp_email','cp_abteilung','cp_fax','cp_mobile1','cp_mobile2','cp_satphone','cp_satfax','cp_project','cp_privatphone','cp_privatemail','cp_birthday',enable_delete_contact,set_gender])",
+ id_key = 'cp_id',
+ label_sub = 'contacts_label',
+ -%]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Gender</th>
+ <td>
+ <select id="cp_gender" name="cp_gender">
+ <option value="m"[% IF cp_gender == 'm' %] selected[% END %]>male</option>
+ <option value="f"[% IF cp_gender == 'f' %] selected[% END %]>female</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+
+ <tr>
+ <th align="left" nowrap>Title</th>
+ <td>
+ <input id="cp_title" name="cp_title" size="40" maxlength="75" value="[% HTML.escape(cp_title) %]">
+ [%- INCLUDE generic/multibox.html
+ name = 'selected_cp_title',
+ DATA = MB_TITLES,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Department</th>
+ <td>
+ <input id="cp_abteilung" name="cp_abteilung" size="40" value="[% HTML.escape(cp_abteilung) %]">
+ [%- INCLUDE generic/multibox.html
+ name = 'selected_cp_abteilung',
+ DATA = MB_DEPARTMENT,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ -%]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Given Name</th>
+ <td><input id="cp_givenname" name="cp_givenname" size="40" maxlength="75" value="[% HTML.escape(cp_givenname) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Name</th>
+ <td><input id="cp_name" name="cp_name" size="40" maxlength="75" value="[% HTML.escape(cp_name) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Phone1</th>
+ <td><input id="cp_phone1" name="cp_phone1" size="40" maxlength="75" value="[% HTML.escape(cp_phone1) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Phone2</th>
+ <td><input id="cp_phone2" name="cp_phone2" size="40" maxlength="75" value="[% HTML.escape(cp_phone2) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Fax</th>
+ <td><input id="cp_fax" name="cp_fax" size="40" value="[% HTML.escape(cp_fax) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Mobile1</th>
+ <td><input id="cp_mobile1" name="cp_mobile1" size="40" value="[% HTML.escape(cp_mobile1) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Mobile2</th>
+ <td><input id="cp_mobile2" name="cp_mobile2" size="40" value="[% HTML.escape(cp_mobile2) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Sat. Phone</th>
+ <td><input id="cp_satphone" name="cp_satphone" size="40" value="[% HTML.escape(cp_satphone) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Sat. Fax</th>
+ <td><input id="cp_satfax" name="cp_satfax" size="40" value="[% HTML.escape(cp_satfax) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Project</th>
+ <td><input id="cp_project" name="cp_project" size="40" value="[% HTML.escape(cp_project) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>E-mail</th>
+ <td><input id="cp_email" name="cp_email" size="40" value="[% HTML.escape(cp_email) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Private Phone</th>
+ <td><input id="cp_privatphone" name="cp_privatphone" size="40" value="[% HTML.escape(cp_privatphone) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Private E-mail</th>
+ <td><input id="cp_privatemail" name="cp_privatemail" size="40" value="[% HTML.escape(cp_privatemail) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Birthday</th>
+ <td><input id="cp_birthday" name="cp_birthday" size="40" value="[% HTML.escape(cp_birthday) %]"></td>
+ </tr>
+
+ <tr>
+ <td colspan="2"><hr></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>Bcc</th>
+ <td><input name="bcc" size="40" value="[% HTML.escape(bcc) %]"></td>
+ </tr>
+ </table>
+
+ <input type="submit" id="delete_contact" name="action" value="Delete Contact" disabled>
+ <br style="clear: left" />
+ </div>
+
+ <div id="deliveries" class="tabcontent">
+ <table>
+ <tr>
+ <th align="right">Shipping Address</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'delivery_id',
+ id = 'delivery_id',
+ DATA = SHIPTO,
+ onChange = "get_delivery(['shipto_id__' + this.value, 'from__' + from.value, 'to__' + to.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])",
+ id_key = 'shipto_id',
+ label_sub = 'shipto_label',
+ -%]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>From</th>
+ <td>
+ <input id="from" name="from" size="10" maxlength="10" onChange="get_delivery(['shipto_id__' + delivery_id.value, 'from__' + this.value, 'to__' + to.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])" value="[% HTML.escape(from) %]">
+ <input type="button" name="fromB" id="trigger_from" value="?">
+ </td>
+ <th align="right" nowrap>To (time)</th>
+ <td>
+ <input id="to" name="to" size="10" maxlength="10" onChange="get_delivery(['shipto_id__' + delivery_id.value, 'from__' + from.value, 'to__' + this.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])" value="[% HTML.escape(to) %]">
+ <input type="button" name="toB" id="trigger_to" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="4">
+ <div id="delivery">
+ </div>
+ </td>
+ </tr>
+ </table>
+
+ <br style="clear: left" />
+ </div>
+
+ <div id="vcnotes" class="tabcontent">
+
+ [%- IF NOTES && NOTES.size %]
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Delete</th>
+ <th class="listheading">Subject</th>
+ <th class="listheading">Created on</th>
+ <th class="listheading">Created by</th>
+ <th class="listheading">Follow-Up Date</th>
+ <th class="listheading">Follow-Up for</th>
+ <th class="listheading">Follow-Up done</th>
+ </tr>
+
+ [%- FOREACH row = NOTES %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <input type="hidden" name="NOTE_id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+ <td>[% UNLESS NOTE_id && (NOTE_id == row.id) %]<input type="checkbox" name="NOTE_delete_[% loop.count %]" value="1">[% END %]</td>
+ <td><a href="ct.pl?action=edit&db=[% HTML.url(db) %]&id=[% HTML.url(id) %]&edit_note_id=[% HTML.url(row.id) %]">[% HTML.escape(row.subject) %]</a></td>
+ <td>[% HTML.escape(row.created_on) %]</td>
+ <td>[% IF row.created_by_name %][% HTML.escape(row.created_by_name) %][% ELSE %][% HTML.escape(row.created_by_login) %][% END %]</td>
+ <td>[% HTML.escape(row.follow_up_date) %]</td>
+ <td>[% IF row.created_for_name %][% HTML.escape(row.created_for_name) %][% ELSE %][% HTML.escape(row.created_for_login) %][% END %]</td>
+ <td>[% IF row.follow_up_date %][% IF row.follow_up_done %]Yes[% ELSE %]No[% END %][% END %]</td>
+ </tr>
+ [%- END %]
+
+ <input type="hidden" name="NOTES_rowcount" value="[% NOTES.size %]">
+
+ </table>
+ </p>
+ [%- END %]
+
+ <div class="listtop">[% IF NOTE_id %]Edit note[% ELSE %]Add note[% END %]</div>
+
+ <input type="hidden" name="NOTE_id" value="[% HTML.escape(NOTE_id) %]">
+ <input type="hidden" name="FU_id" value="[% HTML.escape(FU_id) %]">
+
+ <p>
+ <table>
+ <tr>
+ <td valign="right">Subject</td>
+ <td><input name="NOTE_subject" value="[% HTML.escape(NOTE_subject) %]" size="50"></td>
+ </tr>
+
+ <tr>
+ <td valign="right" align="top">Body</td>
+ <td align="top"><textarea cols="50" rows="10" name="NOTE_body">[% HTML.escape(NOTE_body) %]</textarea></td>
+ </tr>
+
+ <tr>
+ <td valign="right">Follow-Up On</td>
+ <td>
+ <input name="FU_date" id="FU_date" value="[% HTML.escape(FU_date) %]" size="12">
+ <input type="button" name="FU_date_button" id="FU_date_trigger" value="?">
+ for
+ <select name="FU_created_for_user">
+ [%- FOREACH row = ALL_EMPLOYEES %]
+ <option value="[% HTML.escape(row.id) %]"[% IF (NOTE_id && (row.id == FU_created_for_user)) || (row.login == login) %] selected[% END %]>
+ [%- IF row.name %][%- HTML.escape(row.name) %] ([% HTML.escape(row.login) %])[% ELSE %][% HTML.escape(row.login) %][% END %]
+ </option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td> </td>
+ <td>
+ <input type="checkbox" name="FU_done" id="FU_done" value="1"[% IF FU_done %] checked[% END %]>
+ <label for="FU_done">Follow-Up done</label>
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <br style="clear: left" />
+ </div>
+
+ [%- IF CUSTOM_VARIABLES.size %]
+ <div id="custom_variables" class="tabcontent">
+
+ <p>
+ <table>
+ [%- FOREACH var = CUSTOM_VARIABLES %]
+ <tr>
+ <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
+ <td valign="top">[% var.HTML_CODE %]</td>
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+
+ <br style="clear: left" />
+ </div>
+ [%- END %]
+
+ </div>
+
+ <script type="text/javascript">
+ <!--
+ function set_gender(gender) {
+ var s = document.getElementById('cp_gender');
+ if (s) {
+ s.selectedIndex = (gender == 'f') ? 1 : 0;
+ }
+ }
+ -->
+
+ </script>
+
+
+
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+<table width="100%">
+ <tr>
+ <td>
+ <table width="100%">
+ <tr class="listheading">
+ <th class="listheading">Shipping Address</th>
+ <th class="listheading">Invoice</th>
+ <th class="listheading">Order</th>
+ <th class="listheading">Invdate</th>
+ <th class="listheading">Description</th>
+ <th class="listheading">Qty</th>
+ <th class="listheading">Unit</th>
+ <th class="listheading">Sell Price</th>
+ </tr>
+[%- FOREACH row = DELIVERY %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>[% HTML.escape(row.shiptoname) UNLESS loop.prev.shiptoname == row.shiptoname %] </td>
+ <td>[% IF row.id %]<a href='[% IF IS_CUSTOMER %]is[% ELSE %]ir[% END %].pl?action=edit&id=[% HTML.escape(row.id) %]'>[% END %][% HTML.escape(row.invnumber) || ' ' %][% IF row.id %]</a>[% END %]</td>
+ <td>[% IF row.oe_id %]<a href='oe.pl?action=edit&type=sales_order&vc=customer&id=[% HTML.escape(row.oe_id) %]'>[% END %][% HTML.escape(row.ordnumber) || ' ' %][% IF row.oe_id %]</a>[% END %]</td>
+ <td>[% HTML.escape(row.transdate) || ' ' %]</td>
+ <td>[% HTML.escape(row.description) || ' ' %]</td>
+ <td>[% HTML.escape(row.qty) || ' ' %]</td>
+ <td>[% HTML.escape(row.unit) || ' ' %]</td>
+ <td>[% LxERP.format_amount(row.sellprice, 2) || ' ' %]</td>
+ </tr>
+[%- END %]
+
+ </table>
+[%- IF DELIVERY.size == 15 %]
+ <p>This list is capped at 15 items to keep it fast. If you need a full list, please use reports.</p>
+[%- END %]
--- /dev/null
+[% USE HTML %]<form method="post" action="ct.pl">
+
+ <input name="callback" type="hidden" value="[% HTML.escape(callback) %]">
+ <input name="db" type="hidden" value="[% HTML.escape(db) %]">
+
+ [% IF IS_CUSTOMER %]New customer[% ELSE %]New vendor[% END %]<br>
+
+ <input class="submit" type="submit" name="action" value="Add">
+
+</form>
--- /dev/null
+[% USE HTML %]<body onload="fokus()">
+
+ <form method="post" action="ct.pl" name="Form">
+
+ <input type="hidden" name="db" value="[% HTML.escape(db) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <table>
+ <tr>
+ <th align="right" nowrap>[% IF IS_CUSTOMER %]Customer Number[% ELSE %]Vendor Number[% END %]</th>
+ <td><input name="[% IF IS_CUSTOMER %]customer[% ELSE %]vendor[% END %]number" size="35"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Company Name</th>
+ <td><input name="name" size="35"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Contact</th>
+ <td><input name="contact" size="35"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>E-mail</th>
+ <td><input name="email" size="35"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Contact person (surname)</th>
+ <td><input name="cp_name" size="35"></td>
+ </tr>
+ </tr>
+ <th align="right" nowrap>Billing/shipping address (street)</th>
+ <td><input name="addr_street" size="35"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Billing/shipping address (zipcode)</th>
+ <td><input name="addr_zipcode" size="35"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Billing/shipping address (city)</th>
+ <td><input name="addr_city" size="35"></td>
+ </tr>
+ [% IF SHOW_BUSINESS_TYPES %]
+ <tr>
+ <th align="right" nowrap>[% IF IS_CUSTOMER %]Customer type[% ELSE %]Vendor type[% END %]</th>
+ <td>
+ <select name="business_id"><option value=""></option>
+ [% FOREACH bt = ALL_BUSINESS_TYPES %]<option value="[% HTML.escape(bt.id) %]">[% HTML.escape(bt.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ [% CUSTOM_VARIABLES_FILTER_CODE %]
+
+ <tr>
+ <td></td>
+ <td>
+ <input name="status" class="radio" type="radio" value="all" checked> All
+ <input name="status" class="radio" type="radio" value="orphaned"> Orphaned
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td><input name="obsolete" class="radio" type="radio" value="all"> All
+ <input name="obsolete" class="radio" type="radio" value="Y"> Obsolete
+ <input name="obsolete" class="radio" type="radio" value="N" checked> Not obsolete
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Include in Report</th>
+ <td>
+ <table border="0">
+ <tr>
+ <td>
+ <input name="l_id" id="l_id" type="checkbox" class="checkbox" value="Y">
+ <label for="l_id">ID</label>
+ </td>
+ <td>
+ <input name="l_[% db %]number" id="l_[% db %]number" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_[% db %]number">[% IF IS_CUSTOMER %]Customer Number[% ELSE %]Vendor Number[% END %]</label>
+ </td>
+ <td>
+ <input name="l_name" id="l_name" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_name">Company Name</label>
+ </td>
+ <td>
+ <input name="l_street" id="l_street" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_street">Street</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_contact" id="l_contact" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_contact">Contact</label>
+ </td>
+ <td>
+ <input name="l_phone" id="l_phone" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_phone">Phone</label>
+ </td>
+ <td>
+ <input name="l_fax" id="l_fax" type="checkbox" class="checkbox" value="Y">
+ <label for="l_fax">Fax</label>
+ </td>
+ <td>
+ <input name="l_zipcode" id="l_zipcode" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_zipcode">Zipcode</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_taxnumber" id="l_taxnumber" type="checkbox" class="checkbox" value="Y">
+ <label for="l_taxnumber">Tax Number</label>
+ </td>
+ <td>
+ <input name="l_email" id="l_email" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_email">E-mail</label>
+ </td>
+ <td>
+ <input name="l_business" id="l_business" type="checkbox" class="checkbox" value="Y">
+ <label for="l_business">[% IF IS_CUSTOMER %]Customer type[% ELSE %]Vendor type[% END %]</label>
+ </td>
+ <td>
+ <input name="l_city" id="l_city" type="checkbox" class="checkbox" value="Y" checked>
+ <label for="l_city">City</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_invnumber" id="l_invnumber" type="checkbox" class="checkbox" value="Y">
+ <label for="l_invnumber">Invoices</label>
+ </td>
+ <td>
+ <input name="l_ordnumber" id="l_ordnumber" type="checkbox" class="checkbox" value="Y">
+ <label for="l_ordnumber">[% IF IS_CUSTOMER %]Sales Orders[% ELSE %]Purchase Orders[% END %]</label>
+ </td>
+ <td>
+ <input name="l_quonumber" id="l_quonumber" type="checkbox" class="checkbox" value="Y">
+ <label for="l_quonumber">[% IF IS_CUSTOMER %]Quotations[% ELSE %]RFQs[% END %]</label>
+ </td>
+ <td>
+ </td>
+ </tr>
+
+ [% CUSTOM_VARIABLES_INCLUSION_CODE %]
+
+ </table>
+ </td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="nextsub" value="list_names">
+
+ <input type="submit" class="submit" name="action" value="Continue">
+ </form>
+
+</body>
+</html>
--- /dev/null
+<div class="listtop">Step 3 of 3: Assemblies</div>
+
+<p>There is nothing to do in this step.</p>
--- /dev/null
+[% USE HTML %]<div class="listtop">Step 3 of 3: Assemblies</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="type" value="parts">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="create_buchungsgruppen_assemblies">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="subsubheading">Existing Buchungsgruppen</div>
+
+ <p>
+ The following Buchungsgruppen have already been created:
+ <br>
+ <ul>
+ [% FOREACH row = BUCHUNGSGRUPPEN %]
+ <li>
+ [% HTML.escape(row.description) %]:
+ Inventory: [% row.inventory_accno %];
+
+ Income accno/Expense accno
+ National: [% row.income_accno_0 %]/[% row.expense_accno_0 %];
+
+ Income accno/Expense accno
+ EU with VAT ID: [% row.income_accno_1 %]/[% row.expense_accno_1 %];
+
+ Income accno/Expense accno
+ EU without VAT ID: [% row.income_accno_2 %]/[% row.expense_accno_2 %];
+
+ Income accno/Expense accno
+ International: [% row.income_accno_3 %]/[% row.expense_accno_3 %]
+ </li>
+ [% END %]
+ </ul>
+ </p>
+
+ [% FOREACH row = LIST %]
+ <div class="subsubheading">New Buchungsgruppe [% loop.count %]</div>
+
+ <table>
+ <tr>
+ <td>Description:</td>
+ <td><input name="description_[% loop.count %]"></td>
+ </tr>
+
+ [% IF row.eur %]
+ <input type="hidden" name="inventory_accno_id_[% loop.count %]" value="[% std_inventory_accno_id %]">
+ [% ELSE %]
+ <tr>
+ <td>Inventory:</td>
+ <td>
+ <select name="inventory_accno_id_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INVENTORY %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <td>Income accno National:</td>
+ <td>
+ <input type="hidden" name="income_accno_id_0_[% loop.count %]" value="[% HTML.escape(row.income_accno_id) %]">
+ [% HTML.escape(row.income_accno) %]--[% HTML.escape(row.income_description) %]
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU with VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_0_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno EU with VAT ID:</td>
+ <td>
+ <select name="income_accno_id_1_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU with VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_1_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno EU without VAT ID:</td>
+ <td>
+ <select name="income_accno_id_2_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU without VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_2_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno International:</td>
+ <td>
+ <select name="income_accno_id_3_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno International:</td>
+ <td>
+ <select name="expense_accno_id_3_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ [% IF loop.last %]
+ <input type="hidden" name="rowcount" value="[% loop.count %]">
+ [% END %]
+
+ <hr>
+ [% END %]
+
+ <input type="submit" name="dummy" value="Create Buchungsgruppen">
+
+</form>
+
--- /dev/null
+<div class="listtop">Update complete</div>
+
+<p>The database upgrade for the introduction of Buchungsgruppen is now complete.</p>
+
+<hr>
--- /dev/null
+<hr>
+
+<div class="listtop">Introduction of Buchungsgruppen</div>
+
+<p>
+ Prior to Lx-Office v2.4.0 the user had to chose the accounts for each part and service.
+ Lx-Office 2.4.0 introduces two new concepts: tax zones and Buchungsgruppen.
+ There are four tax zones.
+ A Buchungsgruppe consists of a descriptive name and the account numbers for the income and expense accounts for those four tax zones as well as the inventory account number.
+ Now the user must select a single Buchungsgruppe for each part instead of three distinct accounts.
+ Therefore there's no need to create the same article more than once if it is sold or bought in/from another tax zone.
+</p>
+
+<p>
+ This upgrade script tries to map all existing parts in the database to the newly created Buchungsgruppen.
+ It is possible to do this automatically for some Buchungsgruppen, but not for all.
+ You have to create new Buchungsgruppen for all the combinations of inventory, income and expense accounts that have been used already.
+</p>
--- /dev/null
+<div class="listtop">Step 1 of 3: Parts</div>
+
+<p>There is nothing to do in this step.</p>
--- /dev/null
+[% USE HTML %]<div class="listtop">Step 1 of 3: Parts</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="type" value="parts">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="subsubheading">Existing Buchungsgruppen</div>
+
+ <p>
+ The following Buchungsgruppen have already been created:
+ <br>
+ <ul>
+ [% FOREACH row = BUCHUNGSGRUPPEN %]
+ <li>
+ [% HTML.escape(row.description) %]:
+ Inventory: [% row.inventory_accno %];
+
+ Income accno/Expense accno
+ National: [% row.income_accno_0 %]/[% row.expense_accno_0 %];
+
+ Income accno/Expense accno
+ EU with VAT ID: [% row.income_accno_1 %]/[% row.expense_accno_1 %];
+
+ Income accno/Expense accno
+ EU without VAT ID: [% row.income_accno_2 %]/[% row.expense_accno_2 %];
+
+ Income accno/Expense accno
+ International: [% row.income_accno_3 %]/[% row.expense_accno_3 %]
+ </li>
+ [% END %]
+ </ul>
+ </p>
+
+ [% FOREACH row = LIST %]
+ <div class="subsubheading">New Buchungsgruppe [% loop.count %]</div>
+
+ <table>
+ <tr>
+ <td>Description:</td>
+ <td><input name="description_[% loop.count %]"></td>
+ </tr>
+
+ [% IF row.eur %]
+ <input type="hidden" name="inventory_accno_id_[% loop.count %]" value="[% std_inventory_accno_id %]">
+ [% ELSE %]
+ <tr>
+ <td>Inventory:</td>
+ <td>
+ <input type="hidden" name="inventory_accno_id_[% loop.count %]" value="[% HTML.escape(row.inventory_accno_id) %]">
+ [% HTML.escape(row.inventory_accno) %]--[% HTML.escape(row.inventory_description) %]
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <td>Income accno National:</td>
+ <td>
+ <input type="hidden" name="income_accno_id_0_[% loop.count %]" value="[% HTML.escape(row.income_accno_id) %]">
+ [% HTML.escape(row.income_accno) %]--[% HTML.escape(row.income_description) %]
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno National:</td>
+ <td>
+ <input type="hidden" name="expense_accno_id_0_[% loop.count %]" value="[% HTML.escape(row.expense_accno_id) %]">
+ [% HTML.escape(row.expense_accno) %]--[% HTML.escape(row.expense_description) %]
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno EU with VAT ID:</td>
+ <td>
+ <select name="income_accno_id_1_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU with VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_1_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno EU without VAT ID:</td>
+ <td>
+ <select name="income_accno_id_2_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU without VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_2_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno International:</td>
+ <td>
+ <select name="income_accno_id_3_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno International:</td>
+ <td>
+ <select name="expense_accno_id_3_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ [% IF loop.last %]
+ <input type="hidden" name="rowcount" value="[% loop.count %]">
+ [% END %]
+
+ <hr>
+ [% END %]
+
+ <input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Create Buchungsgruppen">
+
+</form>
+
--- /dev/null
+<div class="listtop">Step 2 of 3: Services</div>
+
+<p>There is nothing to do in this step.</p>
--- /dev/null
+[% USE HTML %]<div class="listtop">Step 2 of 3: Services</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="type" value="parts">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="subsubheading">Existing Buchungsgruppen</div>
+
+ <p>
+ The following Buchungsgruppen have already been created:
+ <br>
+ <ul>
+ [% FOREACH row = BUCHUNGSGRUPPEN %]
+ <li>
+ [% HTML.escape(row.description) %]:
+ Inventory: [% row.inventory_accno %];
+
+ Income accno/Expense accno
+ National: [% row.income_accno_0 %]/[% row.expense_accno_0 %];
+
+ Income accno/Expense accno
+ EU with VAT ID: [% row.income_accno_1 %]/[% row.expense_accno_1 %];
+
+ Income accno/Expense accno
+ EU without VAT ID: [% row.income_accno_2 %]/[% row.expense_accno_2 %];
+
+ Income accno/Expense accno
+ International: [% row.income_accno_3 %]/[% row.expense_accno_3 %]
+ </li>
+ [% END %]
+ </ul>
+ </p>
+
+ [% FOREACH row = LIST %]
+ <div class="subsubheading">New Buchungsgruppe [% loop.count %]</div>
+
+ <table>
+ <tr>
+ <td>Description:</td>
+ <td><input name="description_[% loop.count %]"></td>
+ </tr>
+
+ [% IF row.eur %]
+ <input type="hidden" name="inventory_accno_id_[% loop.count %]" value="[% std_inventory_accno_id %]">
+ [% ELSE %]
+ <tr>
+ <td>Inventory:</td>
+ <td>
+ <select name="inventory_accno_id_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INVENTORY %]<option value="[% acc_row.id %]" [% acc_row.selected %]>[% HTML.escape(acc_row.accno) %]--[% HTML.escape(acc_row.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <td>Income accno National:</td>
+ <td>
+ <input type="hidden" name="income_accno_id_0_[% loop.count %]" value="[% HTML.escape(row.income_accno_id) %]">
+ [% HTML.escape(row.income_accno) %]--[% HTML.escape(row.income_description) %]
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno National:</td>
+ <td>
+ <input type="hidden" name="expense_accno_id_0_[% loop.count %]" value="[% HTML.escape(row.expense_accno_id) %]">
+ [% HTML.escape(row.expense_accno) %]--[% HTML.escape(row.expense_description) %]
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno EU with VAT ID:</td>
+ <td>
+ <select name="income_accno_id_1_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% id %]" [% selected %]>[% HTML.escape(accno) %]--[% HTML.escape(description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU with VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_1_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% id %]" [% selected %]>[% HTML.escape(accno) %]--[% HTML.escape(description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno EU without VAT ID:</td>
+ <td>
+ <select name="income_accno_id_2_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% id %]" [% selected %]>[% HTML.escape(accno) %]--[% HTML.escape(description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno EU without VAT ID:</td>
+ <td>
+ <select name="expense_accno_id_2_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% id %]" [% selected %]>[% HTML.escape(accno) %]--[% HTML.escape(description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Income accno International:</td>
+ <td>
+ <select name="income_accno_id_3_[% loop.count %]">
+ [% FOREACH acc_row = ACC_INCOME %]<option value="[% id %]" [% selected %]>[% HTML.escape(accno) %]--[% HTML.escape(description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Expense accno International:</td>
+ <td>
+ <select name="expense_accno_id_3_[% loop.count %]">
+ [% FOREACH acc_row = ACC_EXPENSE %]<option value="[% id %]" [% selected %]>[% HTML.escape(accno) %]--[% HTML.escape(description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ [% IF loop.last %]
+ <input type="hidden" name="rowcount" value="[% loop.count %]">
+ [% END %]
+
+ <hr>
+ [% END %]
+
+ <input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Create Buchungsgruppen">
+
+</form>
+
--- /dev/null
+[% USE HTML %]<div class="listtop">Select the chart of accounts in use</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <p>
+ Please select the chart of accounts this installation is using from the list below.
+ </p>
+
+ <p>
+ Chart of accounts:
+ <select name="coa">[% FOREACH row = COAS %]<option>[% row.name %]</option>[% END %]</select>
+ </p>
+
+ <input type="submit" onclick="document.Form.action2.value = 'set_coa'; document.Form.submit();" name="dummy" value="Continue">
+
+</form>
+
--- /dev/null
+[% USE HTML %]<p>The database update/creation did not succeed. The file [% HTML.escape(file) %] contained the following error:
+ <br>
+ [% error %]
+ <br>
+ All changes in that file have been reverted.
+</p>
--- /dev/null
+[% USE HTML %]<p>...done</p>
+
+<form action="[% menufile %]">
+
+ <input type="hidden" name="action" value="display">
+
+ <p><input type="submit" value="Continue"></p>
+</form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <table width="100%">
+ <tr>
+ <td class="listtop">Dataset upgrade ([% HTML.escape(dbname) %])</td>
+ </tr>
+ </table>
--- /dev/null
+[% USE HTML %]<div class="listtop">Unknown chart of accounts</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <p>
+ Note:
+ This installation uses an unknown chart of accounts ("[% HTML.escape(coa) %]"). This database upgrade cannot create standard buchungsgruppen automatically.
+ </p>
+
+ <hr>
+
+</form>
+
--- /dev/null
+[% USE HTML %]<p><b>Error:</b> [% message %]</p>
+
+<form>
+<input type="button" onclick="history.back()" value="Back">
+</form>
--- /dev/null
+<hr>
+
+<div class="listtop">Introduction of units</div>
+
+<p>
+ Prior to Lx-Office v2.4.0 the user could enter arbitrary strings as units for parts, services and in invoices, sales quotations etc.
+ In Lx-Office 2.4.0 the administrator has to enter a list of units in the administrative section.
+ These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.
+</p>
+
+<p>
+ This upgrade script tries to map all existing units in the database to the newly created units.
+ It is possible to do this automatically for some units, but for others the user has to chose the new unit.
+ You cannot continue until all unknown units have been mapped to known ones.
+ You can also create new units now.
+</p>
--- /dev/null
+<div class="listtop">Step 1 of 3: Parts</div>
+
+<p>No unknown units where found.</p>
--- /dev/null
+[% USE HTML %]<div class="listtop">Step 1 of 3: Parts</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="unit_type" value="dimension">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="subsubheading">Add unit</div>
+
+ <p>
+ For each unit there's either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the "smaller" one. A factor may not be less than 1. Therefore you may define "kg" with the base unit "g" and a factor of "1", but not the other way round.
+ </p>
+
+ <p>
+ The following units exist already:
+ [% FOREACH row = NEW_BASE_UNIT_DDBOX %][% IF row.name %][% HTML.escape(row.name) %][% UNLESS loop.last %]; [% END %][% END %][% END %]
+ </p>
+
+ <hr>
+
+ <table>
+ <tr>
+ <th align="right">Unit</th>
+ <td><input name="new_name" size="20" maxlength="20"></td>
+ </tr>
+ <tr>
+ <th align="right">Base unit</th>
+ <td>
+ <select name="new_base_unit">
+ [% FOREACH row = NEW_BASE_UNIT_DDBOX %]<option [% row.selected %]>[% row.name %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Factor</th>
+ <td><input name="new_factor"></td>
+ </tr>
+ </table>
+
+ <input type="submit" onclick="document.Form.action2.value = 'add_unit'; document.Form.submit();" name="dummy" value="Add unit">
+
+ <hr>
+
+ <div class="subsubheading">Assign new units</div>
+
+ <p>
+ The following units are unknown.
+ You have to chose which unit to save for each of them.
+ </p>
+
+ <table>
+ <tr>
+ <th class="listheading">Current unit</th>
+ <th class="listheading">New unit</th>
+ </tr>
+
+ [% FOREACH row = UNKNOWN_PART_UNITS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>
+ [% HTML.escape(row.name) %]
+ <input type="hidden" name="old_unit_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ </td>
+ <td>
+ <select name="new_unit_[% loop.count %]">
+ [% FOREACH row_new = row.NEW_UNITS %]<option>[% HTML.escape(row_new.name) %]</option>[% END %]
+ </select>
+ </td>
+ [% IF loop.last %]<input type="hidden" name="rowcount" value="[% loop.count %]">[% END %]
+ [% END %]
+ </table>
+
+ <input type="submit" onclick="document.Form.action2.value = 'assign_units'; document.Form.submit();" name="dummy" value="Assign units">
+
+</form>
+
--- /dev/null
+<div class="listtop">Step 2 of 3: Services</div>
+
+<p>No unknown units where found.</p>
--- /dev/null
+[% USE HTML %]<div class="listtop">Step 2 of 3: Services</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="unit_type" value="service">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="subsubheading">Add unit</div>
+
+ <p>
+ For each unit there's either no or exactly one base unit. If you chose a base unit then you also have to chose a factor. That way the new unit will be defined as a multiple of the base unit. The base unit must be the "smaller" one. A factor may not be less than 1. Therefore you may define "kg" with the base unit "g" and a factor of "1", but not the other way round.
+ </p>
+
+ <p>
+ The following units exist already:
+ [% FOREACH row = NEW_BASE_UNIT_DDBOX %][% IF row.name %][% HTML.escape(row.name) %][% UNLESS loop.last %]; [% END %][% END %][% END %]
+ </p>
+
+ <hr>
+
+ <table>
+ <tr>
+ <th align="right">Unit</th>
+ <td><input name="new_name" size="20" maxlength="20"></td>
+ </tr>
+ <tr>
+ <th align="right">Base unit</th>
+ <td>
+ <select name="new_base_unit">
+ [% FOREACH row = NEW_BASE_UNIT_DDBOX %]<option [% row.selected %]>[% row.name %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Factor</th>
+ <td><input name="new_factor"></td>
+ </tr>
+ </table>
+
+ <input type="submit" onclick="document.Form.action2.value = 'add_unit'; document.Form.submit();" name="dummy" value="Add unit">
+
+ <hr>
+
+ <div class="subsubheading">Assign new units</div>
+
+ <p>
+ The following units are unknown.
+ You have to chose which unit to save for each of them.
+ </p>
+
+ <table>
+ <tr>
+ <th class="listheading">Current unit</th>
+ <th class="listheading">New unit</th>
+ </tr>
+
+ [% FOREACH row = UNKNOWN_PART_UNITS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>
+ [% HTML.escape(row.name) %]
+ <input type="hidden" name="old_unit_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ </td>
+ <td>
+ <select name="new_unit_[% loop.count %]">
+ [% FOREACH row_new = row.NEW_UNITS %]<option>[% HTML.escape(row_new.name) %]</option>[% END %]
+ </select>
+ </td>
+ [% IF loop.last %]<input type="hidden" name="rowcount" value="[% loop.count %]">[% END %]
+ [% END %]
+ </table>
+
+ <input type="submit" onclick="document.Form.action2.value = 'assign_units'; document.Form.submit();" name="dummy" value="Assign units">
+
+</form>
+
--- /dev/null
+<div class="listtop">Step 3 of 3: Default units</div>
+
+<p>No entries were found which had no unit assigned to them.</p>
+
+<p>The database upgrade for the introduction of units is now complete.</p>
+
+<hr>
--- /dev/null
+[% USE HTML %]<div class="listtop">Step 3 of 3: Default units</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="unit_type" value="dimension">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="">
+
+ <p>
+ There are still entries in the database for which no unit has been assigned.
+ You have to chose a dimension unit and a service unit which will then be assigned to those entries.
+ </p>
+
+ <table>
+ <tr>
+ <td>Dimension unit:</td>
+ <td>
+ <select name="default_dimension_unit">
+ [% FOREACH row = DIMENSION_DDBOX %]<option>[% HTML.escape(row.name) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+
+ <td>Service unit:</td>
+ <td>
+ <select name="default_service_unit">
+ [% FOREACH row = SERVICE_DDBOX %]<option>[% HTML.escape(row.name) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <p><input type="submit" onclick="document.Form.action2.value = 'set_default'; document.Form.submit();" name="dummy" value="Assign units"></p>
+
+</form>
--- /dev/null
+[% USE HTML %]<div class="listtop">Warnings during template upgrade</div>
+
+<p>The following warnings occured during an upgrade to the document templates:</p>
+
+<p>
+ <ul>
+ [% FOREACH row = WARNINGS %]
+ <li>[% row.message %]</li>
+ [% END %]
+ </ul>
+</p>
--- /dev/null
+[% USE HTML %]<ul>
+ <li>Applying [% HTML.escape(file) %]: [% description %]</li>
+</ul>
+
--- /dev/null
+[% USE HTML %]<div class="listtop">Warehouse MIgration</div>
+
+<form action="[% script %]" method="POST">
+
+<p>Lx-Office is now able to manage warehouses instead of just tracking the amount of goods in your system.
+This update will change the nature the onhand of goods is tracked.
+As a result, the saved onhand values of the present goods can be stored into a warehouse designated by you, or will be reset for a proper warehouse tracking</p>
+
+<p>Do you want to store the existing onhand values into a new warehouse?</p>
+<input id=do_migrate_Y name=do_migrate type=radio value=Y> <label for=do_migrate_Y>Yes</label>
+<input id=do_migrate_N name=do_migrate type=radio value=N checked> <label for=do_migrate_N>No</label>
+
+<p>Please specify a description for the warehouse designated for these goods.</p>
+<input name=import_warehouse size=50>
+
+<p>Since bin is not enforced in the parts data, please specify a bin where goods without a specified bin will be put.<p>
+<input name=bin_default size=50>
+
+<p><input type=submit value="Continue"></p>
--- /dev/null
+[% USE HTML %]<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="action" value="login">
+
+ <p>
+ Lx-Office is about to update the database <b>[% HTML.escape(dbname) %]</b>. You should create a backup of the database before proceeding because the backup might not be reversible.
+ </p>
+
+ <input type="submit" name="dummy" value="Continue">
+</form>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body>
+
+ <div class="listtop">Delete delivery order</div>
+
+ <form method="post" action="do.pl">
+
+ <h2 class="confirm">Confirm</h2>
+
+ <p>[% LxERP.format_string('Are you sure you want to delete Delivery Order Number #1?', donumber) %]</p>
+
+ [%- FOREACH row = VARIABLES %]
+ <input type="hidden" name="[% HTML.escape(row.key) %]" value="[% HTML.escape(row.value) %]">
+ [%- END %]
+
+ <input type="hidden" name="yes_nextsub" value="delete_delivery_order">
+ <input type="hidden" name="no_nextsub" value="update">
+ <input name="action" class="submit" type="submit" value="Yes">
+ <input name="action" class="submit" type="submit" value="No">
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<!-- <body> -->
+<!-- <form> -->
+<!-- <p> -->
+<!-- <table> -->
+
+ [%- IF delivered %]
+ [%- SET RO = ' readonly' %]
+ [%- END %]
+
+ <tr>
+ <td>
+ <table>
+ <tr valign="bottom">
+ <th align="left">Notes</th>
+ <th align="left">Internal Notes</th>
+ </tr>
+
+ <tr valign="top">
+ <td><textarea name="notes" rows="[% LxERP.numtextrows(notes, 25, 8, 2) %]" cols="25" wrap="soft"[% RO %]>[% HTML.escape(notes) %]</textarea></td>
+ <td><textarea name="intnotes" rows="[% LxERP.numtextrows(intnotes, 35, 8, 2) %]" cols="35" wrap="soft"[% RO %]>[% HTML.escape(intnotes) %]</textarea></td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ [%- IF conf_webdav %]
+ <div class="listtop" align="left">Documents in the WebDAV repository</div>
+
+ <p>
+ <table width="100%">
+ <tr>
+ <td align="left" width="30%"><b>File name</b></td>
+ <td align="left" width="70%"><b>WebDAV link</b></td>
+ </tr>
+
+ [%- FOREACH file = WEBDAV %]
+ <tr>
+ <td align="left">[% HTML.escape(file.name) %]</td>
+ <td align="left"><a href="[% HTML.escape(file.link) %]">[% HTML.escape(file.type) %]</a></td>
+ </tr>
+ [%- END %]
+
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+ [%- END %]
+
+ <p>[% PRINT_OPTIONS %]</p>
+
+ <p>
+ Edit the Delivery Order<br>
+ <input type="hidden" name="action" value="dispatcher">
+ <input class="submit" type="submit" name="action_update" id="update_button" value="Update">
+ [%- UNLESS delivered %]
+ [%- IF vc == 'customer' %]
+ <input class="submit" type="submit" name="action_ship_to" value="Ship to">
+ [%- END %]
+ [%- END %]
+ <input class="submit" type="submit" name="action_print" value="Print">
+ <input class="submit" type="submit" name="action_e_mail" value="E-mail">
+ [%- UNLESS delivered %]
+ <input class="submit" type="submit" name="action_save" value="Save">
+ [%- IF vc == 'customer' %]
+ <input class="submit" type="submit" name="action_transfer_out" value="Transfer out">
+ [%- ELSE %]
+ <input class="submit" type="submit" name="action_transfer_in" value="Transfer in">
+ [%- END %]
+ [%- END %]
+ [%- IF id %]
+ [%- UNLESS closed %]
+ <input class="submit" type="submit" name="action_mark_closed" value="Mark closed">
+ [%- END %]
+ <input type="button" class="submit" onclick="set_history_window([% id %]);" name="history" id="history" value="history">
+ [%- END %]
+ </p>
+
+ [%- IF id %]
+ <p>
+ Workflow Delivery Order<br>
+ <input class="submit" type="submit" name="action_save_as_new" value="Save as new">
+ [% UNLESS delivered %]
+ <input class="submit" type="submit" name="action_delete" value="Delete">
+ [% END %]
+ <input class="submit" type="submit" name="action_invoice" value="Invoice">
+ </p>
+ [%- END %]
+
+ <input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
+ <input name="callback" type="hidden" value="[% HTML.escape(callback) %]">
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body onload="on_load()">
+
+ <script type="text/javascript" src="js/show_form_details.js"></script>
+ <script type="text/javascript" src="js/show_history.js"></script>
+ <script type="text/javascript" src="js/show_vc_details.js"></script>
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/delivery_customer_selection.js"></script>
+ <script type="text/javascript" src="js/vendor_selection.js"></script>
+ <script type="text/javascript" src="js/calculate_qty.js"></script>
+ <script type="text/javascript" src="js/stock_in_out.js"></script>
+
+ <script type="text/javascript">
+ <!--
+ function on_load() {
+ [% IF onload %][% onload %];[% END %]
+ setupDateFormat('[% myconfig_dateformat %]', 'Falsches Datumsformat!');
+ setupPoints('[% myconfig_numberformat %]', 'wrongformat');
+
+ [%- UNLESS delivered %]
+ Calendar.setup({ inputField : "transdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "transdate_trigger" });
+ [%- END %]
+ }
+ -->
+ </script>
+
+ <style type="text/css">
+ .fixed_width {
+ width: 250px;
+ }
+ </style>
+
+ [%- IF vc == 'customer' %]
+ [%- SET vc = 'customer' %]
+ [%- SET the_vc_id = customer_id %]
+ [%- SET the_vc = customer %]
+ [%- SET the_oldvc = oldcustomer %]
+ [%- SET is_customer = '1' %]
+ [%- ELSE %]
+ [%- SET vc = 'vendor' %]
+ [%- SET the_vc_id = vendor_id %]
+ [%- SET the_vc = vendor %]
+ [%- SET the_oldvc = oldvendor %]
+ [%- SET is_customer = '0' %]
+ [%- END %]
+ [%- IF delivered %]
+ [%- SET RO = ' readonly' %]
+ [%- SET DISABLED = ' disabled' %]
+ [%- END %]
+
+ <div class="listtop">[% title %]</div>
+
+ [%- IF ERRORS && ERRORS.size %]
+ <p><font color="#ff0000">[% ERRORS.join('<br>') %]</font></p>
+ [%- END %]
+
+ <form method="post" name="do" action="do.pl">
+
+ <input type="hidden" name="action" value="[% HTML.escape(action) %]">
+ <input type="hidden" name="bcc" value="[% HTML.escape(bcc) %]">
+ <input type="hidden" name="business" value="[% HTML.escape(business) %]">
+ <input type="hidden" name="cc" value="[% HTML.escape(cc) %]">
+ <input type="hidden" name="closed" value="[% HTML.escape(closed) %]">
+ <input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
+ <input type="hidden" name="curr" value="[% HTML.escape(curr) %]">
+ <input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
+ <input type="hidden" name="discount" value="[% HTML.escape(discount) %]">
+ <input type="hidden" name="dunning_amount" value="[% HTML.escape(dunning_amount) %]">
+ <input type="hidden" name="email" value="[% HTML.escape(email) %]">
+ <input type="hidden" name="emailed" value="[% HTML.escape(emailed) %]">
+ <input type="hidden" name="format" value="[% HTML.escape(format) %]">
+ <input type="hidden" name="formname" value="[% HTML.escape(formname) %]">
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+ <input type="hidden" name="max_dunning_level" value="[% HTML.escape(max_dunning_level) %]">
+ <input type="hidden" name="media" value="[% HTML.escape(media) %]">
+ <input type="hidden" name="message" value="[% HTML.escape(message) %]">
+ <input type="hidden" name="printed" value="[% HTML.escape(printed) %]">
+ <input type="hidden" name="proforma" value="[% HTML.escape(proforma) %]">
+ <input type="hidden" name="queued" value="[% HTML.escape(queued) %]">
+ <input type="hidden" name="saved_donumber" value="[% HTML.escape(saved_donumber) %]">
+ <input type="hidden" name="shiptocity" value="[% HTML.escape(shiptocity) %]">
+ <input type="hidden" name="shiptocontact" value="[% HTML.escape(shiptocontact) %]">
+ <input type="hidden" name="shiptocountry" value="[% HTML.escape(shiptocountry) %]">
+ <input type="hidden" name="shiptodepartment_1" value="[% HTML.escape(shiptodepartment_1) %]">
+ <input type="hidden" name="shiptodepartment_2" value="[% HTML.escape(shiptodepartment_2) %]">
+ <input type="hidden" name="shiptoemail" value="[% HTML.escape(shiptoemail) %]">
+ <input type="hidden" name="shiptofax" value="[% HTML.escape(shiptofax) %]">
+ <input type="hidden" name="shiptoname" value="[% HTML.escape(shiptoname) %]">
+ <input type="hidden" name="shiptophone" value="[% HTML.escape(shiptophone) %]">
+ <input type="hidden" name="shiptostreet" value="[% HTML.escape(shiptostreet) %]">
+ <input type="hidden" name="shiptozipcode" value="[% HTML.escape(shiptozipcode) %]">
+ <input type="hidden" name="subject" value="[% HTML.escape(subject) %]">
+ <input type="hidden" name="taxincluded" value="[% HTML.escape(taxincluded) %]">
+ <input type="hidden" name="taxzone_id" value="[% HTML.escape(taxzone_id) %]">
+ <input type="hidden" name="terms" value="[% HTML.escape(terms) %]">
+ <input type="hidden" name="title" value="[% HTML.escape(title) %]">
+ <input type="hidden" name="type" value="[% HTML.escape(type) %]">
+ <input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+
+ <p>
+ <table width="100%">
+ <tr valign="top">
+ <td>
+ <table width="100%">
+ <tr>
+ <input type="hidden" name="[% vc %]_id" value="[% HTML.escape(the_vc_id) %]">
+ <input type="hidden" name="old[% vc %]" value="[% HTML.escape(the_oldvc) %]">
+ <th align="right">[% IF is_customer %]Customer[% ELSE %]Vendor[% END %]</th>
+ <td>
+ [%- UNLESS !delivered && SHOW_VC_DROP_DOWN %]
+ <input type="text" value="[% HTML.escape(oldvcname) %]" name="[% HTML.escape(vc) %]"[% RO %]>
+ [%- ELSE %]
+ <select name="[% vc %]" class="fixed_width" onchange="document.do.update_button.click();"[% RO %]>
+ [%- FOREACH row = ALL_VC %]
+ <option value="[% HTML.escape(row.value) %]" [% IF the_oldvc == row.value %] selected[% END %]>[% HTML.escape(row.name) %]</option>
+ [%- END %]
+ </select>
+ <input type="hidden" name="select[% vc %]" value="1">
+ [%- END %]
+ <input type="button" value="Details (one letter abbreviation)" onclick="show_vc_details('[% vc %]')">
+ </td>
+
+ [%- IF ALL_CONTACTS.size %]
+ <tr>
+ <th align="right">Contact Person</th>
+ <td>
+ [%- IF delivered %]
+ <input type="hidden" name="cp_id" value="[% HTML.escape(cp_id) %]">
+ [%- IF cp_id == row.cp_id %]
+ [%- HTML.escape(row.cp_name) %][%- IF row.cp_abteilung %] ([% HTML.escape(row.cp_abteilung) %])[% END -%]
+ [%- END %]
+ [%- ELSE %]
+ <select name="cp_id" class="fixed_width" >
+ <option></option>
+ [%- FOREACH row = ALL_CONTACTS %]
+ <option value="[% HTML.escape(row.cp_id) %]"[% IF cp_id == row.cp_id %] selected[% END %]>
+ [%- HTML.escape(row.cp_name) %][%- IF row.cp_abteilung %] ([% HTML.escape(row.cp_abteilung) %])[% END -%]
+ </option>
+ [%- END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+ [%- END %]
+
+ [%- IF ALL_SHIPTO.size %]
+ <tr>
+ <th align="right">Shipping Address</th>
+ <td>
+ [%- IF delivered %]
+ <input type="hidden" name="shipto_id" value="[% HTML.escape(shipto_id) %]">
+ [%- FOREACH row = ALL_SHIPTO %]
+ [%- IF shipto_id == row.shipto_id %]
+ [%- HTML.escape(row.shiptoname) -%]
+ [%- IF row.shiptodepartment_1 %]; [% HTML.escape(row.shiptodepartment_1) -%][% END -%]
+ [%- IF row.shiptostreet %]; [% HTML.escape(row.shiptostreet) -%][% END -%]
+ [%- IF row.shiptocity %]; [% HTML.escape(row.shiptocity) -%][% END -%]
+ [%- END %]
+ [%- END %]
+
+ [%- ELSE %]
+ <select name="shipto_id" class="fixed_width" >
+ <option></option>
+ [%- FOREACH row = ALL_SHIPTO %]
+ <option value="[% HTML.escape(row.shipto_id) %]"[% IF shipto_id == row.shipto_id %] selected[% END %]>
+ [%- HTML.escape(row.shiptoname) -%]
+ [%- IF row.shiptodepartment_1 %]; [% HTML.escape(row.shiptodepartment_1) -%][% END -%]
+ [%- IF row.shiptostreet %]; [% HTML.escape(row.shiptostreet) -%][% END -%]
+ [%- IF row.shiptocity %]; [% HTML.escape(row.shiptocity) -%][% END -%]
+ </option>
+ [%- END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+ [%- END %]
+
+ [%- IF business %]
+ <tr>
+ <th align="right">[% IF is_customer %]Customer type[% ELSE %]Vendor type[% END %]</th>
+ <td>[% HTML.escape(business) %]</td>
+ </tr>
+ [%- END %]
+
+ [%- IF max_dunning_level %]
+ <tr>
+ <th align="right">Max. Dunning Level</th>
+ <td>
+ <b>[% HTML.escape(max_dunning_level) %]</b>; Dunning Amount:
+ <b>[% HTML.escape(LxERP.format_amount(dunning_amount, 2)) %]</b>
+ </td>
+ </tr>
+ [%- END %]
+ </tr>
+
+ [%- IF ALL_DEPARTMENTS.size %]
+ <tr>
+ <th align="right" nowrap>Department</th>
+ <td colspan="3">
+ [%- IF delivered %]
+ <input type="hidden" name="department" value="[% HTML.escape(department) %]">
+ [%- FOREACH row = ALL_DEPARTMENTS %]
+ [% IF department == row.value %][% HTML.escape(row.description) %]--[% HTML.escape(row.id) %][% END %]
+ [%- END %]
+ [%- ELSE %]
+ <select name="department" class="fixed_width">
+ <option></option>
+ [%- FOREACH row = ALL_DEPARTMENTS %]
+ <option[% IF department == row.value %] selected[% END %]>[% HTML.escape(row.description) %]--[% HTML.escape(row.id) %]</option>
+ [%- END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <th align="right">Shipping Point</th>
+ <td colspan="3"><input name="shippingpoint" size="35" value="[% HTML.escape(shippingpoint) %]"[% RO %]></td>
+ </tr>
+
+ <tr>
+ <th align="right">Ship via</th>
+ <td colspan="3"><input name="shipvia" size="35" value="[% HTML.escape(shipvia) %]"[% RO %]></td>
+ </tr>
+
+ <tr>
+ <th align="right">Transaction description</th>
+ <td colspan="3"><input name="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"[% RO %]></td>
+ </tr>
+
+ </table>
+ </td>
+
+ <td align="right">
+ <table>
+
+ <tr>
+ <td colspan="2" align="center">
+ [%- IF delivered %]
+ [%- IF is_customer %]
+ transferred out
+ [%- ELSE %]
+ transferred in
+ [%- END %]
+ [%- ELSE %]
+ [%- IF is_customer %]
+ not transferred out yet
+ [%- ELSE %]
+ not transferred in yet
+ [%- END %]
+ [%- END %]
+ ;
+ [%- IF closed %]
+ Closed
+ [%- ELSE %]
+ Open
+ [%- END %]
+ </td>
+ </tr>
+
+ <input type="hidden" name="delivered" value="[% HTML.escape(delivered) %]">
+
+ <tr>
+ <th align="right">Employee</th>
+ <td>
+ [%- IF delivered %]
+ <input type="hidden" name="employee_id" value="[% HTML.escape(employee_id) %]">
+ [%- FOREACH row = ALL_EMPLOYEES %]
+ [% IF row.id == employee_id %][%- IF row.name %][%- HTML.escape(row.name) %][%- ELSE %][% HTML.escape(row.login) %][%- END %][% END %]
+ [%- END %]
+ [%- ELSE %]
+ <select name="employee_id">
+ [%- FOREACH row = ALL_EMPLOYEES %]
+ <option value="[% HTML.escape(row.id) %]"[% IF row.id == employee_id %] selected[% END %]>
+ [%- IF row.name %][%- HTML.escape(row.name) %][%- ELSE %][% HTML.escape(row.login) %][%- END %]
+ </option>
+ [%- END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+
+ [%- IF is_customer %]
+ [%- IF salesman_id %]
+ [%- SET the_salesman_id = salesman_id %]
+ [%- ELSE %]
+ [%- SET the_salesman_id = employee_id %]
+ [%- END %]
+ <tr>
+ <th align="right">Salesman</th>
+ <td>
+ [%- IF delivered %]
+ <input type="hidden" name="salesman_id" value="[% HTML.escape(salesman_id) %]">
+ [%- FOREACH row = ALL_SALESMEN %]
+ [% IF row.id == the_salesman_id %][%- IF row.name %][%- HTML.escape(row.name) %][%- ELSE %][% HTML.escape(row.login) %][%- END %][% END %]
+ [%- END %]
+ [%- ELSE %]
+ <select name="salesman_id">
+ [%- FOREACH row = ALL_SALESMEN %]
+ <option value="[% HTML.escape(row.id) %]"[% IF row.id == the_salesman_id %] selected[% END %]>
+ [%- IF row.name %][%- HTML.escape(row.name) %][%- ELSE %][% HTML.escape(row.login) %][%- END %]
+ </option>
+ [%- END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <th width="70%" align="right" nowrap>Delivery Order Number</th>
+ <td><input name="donumber" size="11" value="[% HTML.escape(donumber) %]"[% RO %]></td>
+ </tr>
+
+ <tr>
+ <th width="70%" align="right" nowrap>Order Number</th>
+ <td><input name="ordnumber" size="11" value="[% HTML.escape(ordnumber) %]"[% RO %]></td>
+ </tr>
+
+ <tr>
+ <th width="70%" align="right" nowrap>Customer Order Number</th>
+ <td><input name="cusordnumber" size="11" value="[% HTML.escape(cusordnumber) %]"[% RO %]></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Delivery Order Date</th>
+ <td nowrap>
+ <input name="transdate" id="transdate" size="11" title="[% HTML.escape(myconfig_dateformat) %]" value="[% HTML.escape(transdate) %]"
+ onBlur="check_right_date_format(this)"[% RO %]>
+ [% UNLESS delivered %]<input type="button" name="b_transdate" id="transdate_trigger" value="?">[% END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th width="70%" align="right" nowrap>Project Number</th>
+ <td>
+ [%- IF delivered %]
+ <input type="hidden" name="globalproject_id" value="[% HTML.escape(globalproject_id) %]">
+ [%- FOREACH row = ALL_PROJECTS %]
+ [% IF globalproject_id == row.id %][% HTML.escape(row.projectnumber) %][% END %]
+ [%- END %]
+ [%- ELSE %]
+ <select name="globalproject_id">
+ <option></option>
+ [%- FOREACH row = ALL_PROJECTS %]
+ <option value="[% HTML.escape(row.id) %]"[% IF globalproject_id == row.id %] selected[% END %]>[% HTML.escape(row.projectnumber) %]</option>
+ [%- END %]
+ </select>
+ [%- END %]
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
--- /dev/null
+[% USE HTML %]
+ New invoice<br>
+ <input class="submit" type="submit" name="action" value="Continue">
+ <input type="hidden" name="nextsub" value="invoice_multi">
+ <input type="hidden" name="type" value="[% HTML.escape(type) %]">
+ <input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
+</form>
--- /dev/null
+<form method="post" action="do.pl">
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body onload="on_load();">
+
+ [%- IF vc == 'customer' %]
+ [%- SET is_customer = '1' %]
+ [%- ELSE %]
+ [%- SET is_customer = '0' %]
+ [%- END %]
+
+ <script type="text/javascript">
+ <!--
+ function on_load() {
+ Calendar.setup({ inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "transdatefrom_trigger" });
+ Calendar.setup({ inputField : "transdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "transdateto_trigger" });
+ document.Form.donumber.focus();
+ }
+ -->
+ </script>
+
+ <style type="text/css">
+ .fixed_width {
+ width: 250px;
+ }
+ </style>
+
+ <form method="post" action="do.pl" name="Form">
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right">[% IF is_customer %]Customer[% ELSE %]Vendor[% END %]</th>
+ <td colspan="3">
+ [%- UNLESS SHOW_VC_DROP_DOWN %]
+ <input type="text" name="[% HTML.escape(vc) %]" class="fixed_width">
+ [%- ELSE %]
+ <select name="[% vc %]" class="fixed_width">
+ <option></option>
+ [%- FOREACH row = ALL_VC %]
+ <option>[% HTML.escape(row.name) %]--[% HTML.escape(row.id) %]</option>
+ [%- END %]
+ </select>
+ <input type="hidden" name="select[% vc %]" value="1">
+ [%- END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Delivery Order Number</th>
+ <td colspan="3"><input name="donumber" class="fixed_width"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Order Number</th>
+ <td colspan="3"><input name="ordnumber" class="fixed_width"></td>
+ </tr>
+
+ [%- IF ALL_DEPARTMENTS.size %]
+ <tr>
+ <th align="right" nowrap>Department</th>
+ <td colspan="3">
+ <select name="department" class="fixed_width">
+ <option></option>
+ [%- FOREACH row = ALL_DEPARTMENTS %]
+ <option[% IF department == row.value %] selected[% END %]>[% HTML.escape(row.description) %]--[% HTML.escape(row.id) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <th align="right">Employee</th>
+ <td>
+ <select name="employee_id" class="fixed_width">
+ <option></option>
+ [%- FOREACH row = ALL_EMPLOYEES %]
+ <option value="[% HTML.escape(row.id) %]">[% IF row.name %][% HTML.escape(row.name) %][% ELSE %][% HTML.escape(row.login) %][% END %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ [%- IF is_customer %]
+ <tr>
+ <th align="right">Salesman</th>
+ <td>
+ <select name="salesman_id" class="fixed_width">
+ <option></option>
+ [%- FOREACH row = ALL_SALESMEN %]
+ <option value="[% HTML.escape(row.id) %]">[% IF row.name %][% HTML.escape(row.name) %][% ELSE %][% HTML.escape(row.login) %][% END %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <th align="right">Transaction description</th>
+ <td colspan="3"><input name="transaction_description" class="fixed_width"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Customer Order Number</th>
+ <td colspan="3"><input name="cusordnumber" class="fixed_width"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Project Number</th>
+ <td colspan="3">
+ <select name="project_id" class="fixed_width">
+ <option></option>
+ [%- FOREACH row = ALL_PROJECTS %]
+ <option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.projectnumber) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">From</th>
+ <td>
+ <input name="transdatefrom" id="transdatefrom" size="11" title="[% myconfig_dateformat %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="transdatefrom_button" id="transdatefrom_trigger" value="?">
+ </td>
+ <th align="right">Bis</th>
+ <td>
+ <input name="transdateto" id="transdateto" size="11" title="[% myconfig_dateformat %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="transdateto_button" id="transdateto_trigger" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Include in Report</th>
+ <td colspan="5">
+ <table>
+ <tr>
+ <td>
+ <input type="checkbox" name="open" value="1" id="open" checked>
+ <label for="open">Open</label>
+ </td>
+ <td>
+ <input type="checkbox" name="closed" value="1" id="closed">
+ <label for="closed">Closed</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="notdelivered" id="notdelivered" class="checkbox" type="checkbox" value="1" checked>
+ <label for="notdelivered">Not delivered</label>
+ </td>
+ <td>
+ <input name="delivered" id="delivered" class="checkbox" type="checkbox" value="1" checked>
+ <label for="delivered">Delivered</label></td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_id" id="l_id" class="checkbox" type="checkbox" value="Y">
+ <label for="l_id">ID</label>
+ </td>
+
+ <td>
+ <input name="l_donumber" id="l_donumber" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_donumber">Delivery Order Number</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_ordnumber" id="l_ordnumber" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_ordnumber">Order Number</label>
+ </td>
+
+ <td>
+ <input name="l_cusordnumber" id="l_cusordnumber" class="checkbox" type="checkbox" value="Y">
+ <label for="l_cusordnumber">Customer Order Number</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_transdate" id="l_transdate" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_transdate">Date</label>
+ </td>
+
+ <td>
+ <input name="l_name" id="l_name" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_name">[% IF is_customer %]Customer[% ELSE %]Vendor[% END %]</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_employee" id="l_employee" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_employee">Employee</label>
+ </td>
+
+ <td>
+ <input name="l_salesman" id="l_salesman" class="checkbox" type="checkbox" value="Y">
+ <label for="l_salesman">Salesman</label>
+ </td>
+
+ <td>
+ <input name="l_shipvia" id="l_shipvia" class="checkbox" type="checkbox" value="Y">
+ <label for="l_shipvia">Ship via</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_globalprojectnumber" id="l_globalprojectnumber" class="checkbox" type="checkbox" value="Y">
+ <label for="l_globalprojectnumber">Project Number</label>
+ </td>
+
+ <td>
+ <input name="l_transaction_description" id="l_transaction_description" class="checkbox" type="checkbox" value="Y">
+ <label for="l_transaction_description">Transaction description</label>
+ </td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ <p>
+ <input type="hidden" name="nextsub" value="orders">
+ <input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+ <input type="hidden" name="type" value="[% HTML.escape(type) %]">
+
+ <input class="submit" type="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
+
--- /dev/null
+[% USE HTML %]<body onload="on_load();">
+
+ <script type="text/javascript">
+ <!--
+ function on_load() {
+ var row = document.getElementsByName("row")[0].value;
+ var stock = document.getElementsByName("stock")[0].value;
+ var in_out = document.getElementsByName("in_out")[0].value;
+
+ window.opener.document.getElementsByName("stock_" + in_out + "_" + row)[0].value = stock;
+
+ window.close();
+ }
+ -->
+ </script>
+
+ <form name="data">
+ <input type="hidden" name="row" value="[% HTML.escape(row) %]">
+ <input type="hidden" name="stock" value="[% HTML.escape(stock) %]">
+ <input type="hidden" name="in_out" value="[% HTML.escape(in_out) %]">
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %][% USE JavaScript %]<body[% UNLESS delivered %] onload="on_load();"[% END %]>
+
+ [%- UNLESS delivered %]
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ [% USE WAREHOUSES_it = Iterator(WAREHOUSES) %][% FOREACH wh = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count - 1 %]] = new Array();
+ [% USE BINS_it = Iterator(wh.BINS) %][% FOREACH bin = BINS_it %]warehouses[[% WAREHOUSES_it.count - 1 %]][[% BINS_it.count - 1 %]] = ["[% JavaScript.escape(bin.description) %]", "[% JavaScript.escape(bin.id) %]"];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(row, index, initial_bin_index) {
+ var cname = "bin_id_" + row;
+ var control = document.getElementById(cname);
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ for (i = 0; i < warehouses[index].length; i++) {
+ control.options[i] = new Option(warehouses[index][i][0], warehouses[index][i][1]);
+ }
+
+ if (!initial_bin_index)
+ initial_bin_index = 0;
+ control.options[initial_bin_index].selected = true;
+ }
+
+ function on_load() {
+ [%- USE STOCK_INFO_it = Iterator(STOCK_INFO) %][%- FOREACH si = STOCK_INFO_it %]
+ // new si for wh [% si.warehouse_id %] bin [% si.bin_id %]
+ [%- SET warehouse_selected = '0' %]
+ [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH wh = WAREHOUSES_it %]
+ // wh [% wh.id %]
+ [%- USE BINS_it = Iterator(wh.BINS) %][%- FOREACH bin = BINS_it %]
+ // bin [% bin.id %]
+ [%- IF bin.id == si.bin_id %]
+ warehouse_selected([% STOCK_INFO_it.count %], [% WAREHOUSES_it.count - 1 %], [% BINS_it.count - 1%]);
+ [%- SET warehouse_selected = '1' %]
+ [%- END %]
+ [%- END %]
+ [%- END %]
+ [%- UNLESS warehouse_selected %]
+ warehouse_selected([% STOCK_INFO_it.count %], 0);
+ [%- END %]
+ [%- END %]
+ }
+ -->
+ </script>
+ [%- END %]
+
+ <form method="post" action="do.pl" name="Form">
+
+ <div class="listtop">[% title %]</div>
+
+ [%- IF ERRORS && ERRORS.size %]
+ <p><font color="#ff0000">[% ERRORS.join('<br>') %]</font></p>
+ [%- END %]
+
+ <p>
+ <table>
+ <tr>
+ <td>Part Number</td>
+ <td>[% HTML.escape(PART_INFO.partnumber) %]</td>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>[% HTML.escape(PART_INFO.description) %]</td>
+ </tr>
+ <tr>
+ <td>Qty according to delivery order</td>
+ <td>[% HTML.escape(do_qty) %] [% HTML.escape(do_unit) %]</td>
+ </tr>
+ </table>
+ </p>
+
+ <input type="hidden" name="nextsub" value="set_stock_in">
+ <input type="hidden" name="update_nextsub" value="update_stock_in">
+ <input type="hidden" name="rowcount" value="[% HTML.escape(STOCK_INFO.size) %]">
+ <input type="hidden" name="in_out" value="in">
+ <input type="hidden" name="parts_id" value="[% HTML.escape(parts_id) %]">
+ <input type="hidden" name="partunit" value="[% HTML.escape(PART_INFO.unit) %]">
+ <input type="hidden" name="do_qty" value="[% HTML.escape(do_qty) %]">
+ <input type="hidden" name="do_unit" value="[% HTML.escape(do_unit) %]">
+ <input type="hidden" name="row" value="[% HTML.escape(row) %]">
+
+ <p>
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ <th class="listheading">Warehouse</th>
+ <th class="listheading">Bin</th>
+ <th class="listheading">Charge Number</th>
+ <th align="right" class="listheading">Qty</th>
+ <th align="right" class="listheading">Unit</th>
+ </tr>
+
+ [%- FOREACH row = STOCK_INFO %]
+ <tr [% IF row.stock_error %] class="tr_error"[% ELSE %]class="listrow[% loop.count % 2 %]"[% END %]>
+ <td>[% loop.count %]</td>
+
+ [%- IF delivered %]
+
+ <td>[% HTML.escape(row.warehouse_description) %]</td>
+ <td>[% HTML.escape(row.bin_description) %]</td>
+ <td>[% HTML.escape(row.chargenumber) %]</td>
+ <td>[% HTML.escape(LxERP.format_amount(row.qty)) %]</td>
+ <td>[% HTML.escape(row.unit) %]</td>
+
+ [%- ELSE %]
+
+ <td>
+ <select name="warehouse_id_[% loop.count %]" onchange="warehouse_selected([% loop.count %], this.selectedIndex)">
+ [%- FOREACH wh = WAREHOUSES %]
+ <option value="[% HTML.escape(wh.id) %]"[% IF wh.id == row.warehouse_id %] selected[% END %]>[% HTML.escape(wh.description) %]</option>
+ [%- END %]
+ </select>
+ </td>
+
+ <td><select name="bin_id_[% loop.count %]" id="bin_id_[% loop.count %]"></select></td>
+ <td><input name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]"></td>
+ <td><input name="qty_[% loop.count %]" size="12" value="[% HTML.escape(LxERP.format_amount(row.qty)) %]"></td>
+
+ <td>
+ <select name="unit_[% loop.count %]">
+ [%- FOREACH unit = UNITS %]
+ <option[% IF unit.name == row.unit %] selected[% END %]>[% HTML.escape(unit.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+
+ [%- END %]
+ </tr>
+
+ [%- END %]
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ <p>
+ [%- IF delivered %]
+ <button type="button" class="submit" name="action" onclick="window.close()">Close Window</button>
+ [%- ELSE %]
+ <input class="submit" type="submit" name="action" value="Update">
+ <input class="submit" type="submit" name="action" value="Continue">
+ [%- END %]
+ </p>
+ </form>
+
+</body>
+</html>
+
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body>
+
+ [%- IF delivered %]
+ [%- SET RO = ' readonly' %]
+ [%- END %]
+
+ <style type="text/css">
+ .tr_error {
+ background-color: #ffc9c9;
+ }
+ </style>
+
+ <form method="post" action="do.pl" name="Form">
+
+ <div class="listtop">[% title %]</div>
+
+ [%- IF ERRORS && ERRORS.size %]
+ <p><font color="#ff0000">[% ERRORS.join('<br>') %]</font></p>
+ [%- END %]
+
+ <p>
+ <table>
+ <tr>
+ <td>Part Number</td>
+ <td>[% HTML.escape(PART_INFO.partnumber) %]</td>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>[% HTML.escape(PART_INFO.description) %]</td>
+ </tr>
+ <tr>
+ <td>Qty according to delivery order</td>
+ <td>[% HTML.escape(do_qty) %] [% HTML.escape(do_unit) %]</td>
+ </tr>
+ </table>
+ </p>
+
+ [%- UNLESS WHCONTENTS.size %]
+ <p>There are no items in stock.</p>
+
+ <p><button type="button" onclick="window.close()">Close Window</button></p>
+
+ [%- ELSE %]
+
+ <input type="hidden" name="nextsub" value="set_stock_out">
+ <input type="hidden" name="rowcount" value="[% HTML.escape(WHCONTENTS.size) %]">
+ <input type="hidden" name="in_out" value="out">
+ <input type="hidden" name="parts_id" value="[% HTML.escape(parts_id) %]">
+ <input type="hidden" name="partunit" value="[% HTML.escape(PART_INFO.unit) %]">
+ <input type="hidden" name="do_qty" value="[% HTML.escape(do_qty) %]">
+ <input type="hidden" name="do_unit" value="[% HTML.escape(do_unit) %]">
+ <input type="hidden" name="row" value="[% HTML.escape(row) %]">
+ <input type="hidden" name="closed" value="[% HTML.escape(closed) %]">
+ <input type="hidden" name="delivered" value="[% HTML.escape(delivered) %]">
+
+ <p>
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ <th class="listheading">Warehouse</th>
+ <th class="listheading">Bin</th>
+ <th class="listheading">Charge Number</th>
+ [%- UNLESS delivered %]
+ <th align="right" class="listheading">Available qty</th>
+ [%- END %]
+ <th align="right" class="listheading">Qty</th>
+ <th align="right" class="listheading">Unit</th>
+ </tr>
+
+ [%- FOREACH row = WHCONTENTS %]
+ <tr [% IF row.stock_error %] class="tr_error"[% ELSE %]class="listrow[% loop.count % 2 %]"[% END %]>
+ <td>[% loop.count %]</td>
+ <td>[% HTML.escape(row.warehousedescription) %]</td>
+ <td>[% HTML.escape(row.bindescription) %]</td>
+ <td>[% HTML.escape(row.chargenumber) %]</td>
+
+ [%- IF delivered %]
+
+ <td>[% HTML.escape(LxERP.format_amount(row.stock_qty)) %]</td>
+ <td>[% HTML.escape(row.stock_unit) %]</td>
+
+ [%- ELSE %]
+
+ <td>[% HTML.escape(row.available_qty) %]</td>
+ <td><input name="qty_[% loop.count %]" style="text-align: right;" size="12"
+ [%- IF row.stock_qty %]
+ value="[% HTML.escape(LxERP.format_amount(row.stock_qty)) %]"
+ [%- ELSIF ((WHCONTENTS.size == 1) && (!row.stock_qty)) %]
+ value="[% HTML.escape(do_qty) %]"
+ [%- END %]
+ ></td>
+ <td>
+ <select name="unit_[% loop.count %]">
+ [%- FOREACH unit = UNITS %]
+ <option[% IF unit.name == row.stock_unit %] selected[% END %]>[% HTML.escape(unit.name) %]</option>
+ [%- END %]
+ </select>
+ </td>
+
+ [%- END %]
+ </tr>
+
+ <input type="hidden" name="warehouse_id_[% loop.count %]" value="[% HTML.escape(row.warehouse_id) %]">
+ <input type="hidden" name="bin_id_[% loop.count %]" value="[% HTML.escape(row.bin_id) %]">
+ <input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]">
+ [%- END %]
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ <p>
+ [%- IF delivered %]
+ <button type="button" class="submit" name="action" onclick="window.close()">Close Window</button>
+ [%- ELSE %]
+ <input class="submit" type="submit" name="action" value="Continue">
+ [%- END %]
+ </p>
+
+ [%- END %]
+ </form>
+
+</body>
+</html>
+
--- /dev/null
+[% USE HTML %]<body>
+
+ <form action="[% HTML.escape(script) %]" method="post">
+
+ <input type="hidden" name="SAVED_FORM" value="[% HTML.escape(SAVED_FORM) %]">
+
+ <table width="100%">
+ <tr>
+ <th class="listtop">Load draft</th>
+ </tr>
+ <tr height="5"></tr>
+
+ <tr>
+ <td>
+ The following drafts have been saved and can be loaded.
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th class="listheading"> </th>
+ <th class="listheading">Date</th>
+ <th class="listheading">Description</th>
+ <th class="listheading">Employee</th>
+ </tr>
+
+ [% FOREACH row = DRAFTS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td><input type="checkbox" name="checked_[% row.id %]" value="1"></td>
+ <td>[% HTML.escape(row.itime) %]</td>
+ <td><a href="[% HTML.url(script) %]?action=load_draft&id=[% HTML.url(row.id) %]">[% HTML.escape(row.description) %]</a></td>
+ <td>[% HTML.escape(row.employee_name) %]</td>
+ </tr>
+ [% END %]
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="hidden" name="action" value="draft_action_dispatcher">
+ <input type="submit" class="submit" name="draft_action" value="Skip">
+ <input type="submit" class="submit" name="draft_action" value="Delete drafts">
+ </td>
+ </tr>
+ </table>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <form action="[% HTML.escape(script) %]" method="post">
+
+ <input type="hidden" name="SAVED_FORM" value="[% HTML.escape(SAVED_FORM) %]">
+
+ <table width="100%">
+ <tr>
+ <th class="listtop">Save draft</th>
+ </tr>
+ <tr height="5"></tr>
+
+ <tr>
+ <td>Enter a description for this new draft.</td>
+ </tr>
+
+ <tr>
+ <td>
+ Description:
+ <input name="draft_description">
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="submit" class="submit" name="action" value="Save draft">
+ </td>
+ </tr>
+ </table>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<script type="text/javascript" src="js/common.js"></script>
+<script type="text/javascript">
+ <!--
+ function setup_controls() {
+ fokus();
+ setupDateFormat('[% myconfig_dateformat %]', 'Wrong date format!');
+ setupPoints('[% myconfig_numberformat %]', 'wrongformat');
+ }
+ -->
+</script>
+
+<body onLoad="setup_controls();">
+
+ <div class="listtop">[% title %]</div>
+
+ <form method="post" name="search" action="dn.pl">
+
+ <table>
+ <tr>
+ <th align="right">Customer</th>
+ <td colspan="3">
+ [% IF SHOW_CUSTOMER_SELECTION %]
+ <select name="customer">
+ <option></option>
+ [% FOREACH row = all_customer %]<option>[% HTML.escape(row.name) %]--[% HTML.escape(row.id) %]</option>[% END %]
+ </select>
+ [% ELSE %]
+ <input name="customer" size="35">
+ [% END %]
+ </td>
+ </tr>
+
+ [% IF SHOW_DUNNING_LEVEL_SELECTION %]
+ <tr>
+ <th align="right">Next Dunning Level</th>
+ <td colspan="3">
+ <select name="dunning_level">
+ <option></option>
+ [% FOREACH row = DUNNING %]<option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.dunning_description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ [% IF SHOW_DEPARTMENT_SELECTION %]
+ <tr>
+ <th align="right">Department</th>
+ <td colspan="3">
+ <select name="department">
+ <option></option>
+ [% FOREACH row = all_departments %]<option>[% HTML.escape(row.description) %]--[% HTML.escape(row.id) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <th align="right" nowrap>Invoice Number</th>
+ <td colspan="3"><input name="invnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Order Number</th>
+ <td colspan="3"><input name="ordnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Notes</th>
+ <td colspan="3"><input name="notes" size="40"></td>
+ </tr>
+
+ <tr><td colspan="2"><hr size="3" noshade></td></tr>
+
+ <tr>
+ <th align="right" nowrap>Minimum Amount</th>
+ <td><input name="minamount" size="6"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Group Invoices</th>
+ <td><input type="checkbox" value="1" name="groupinvoices" checked></td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="nextsub" value="show_invoices">
+
+ <br>
+ <input class="submit" type="submit" name="action" value="Continue">
+
+ </form>
+
+</body>
+
+</html>
--- /dev/null
+[% USE HTML %]<body>
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/dunning.js"></script>
+
+ <div class="listtop" width="100%">[% title %]</div>
+
+ <form method="post" action="dn.pl" name="Form">
+ <table>
+ <tr height="5"></tr>
+
+ <tr>
+ <th class="listheading">Dunning Level</th>
+ <th class="listheading">Dunning Description</th>
+ <th class="listheading">Active?</th>
+ <th class="listheading">eMail Send?</th>
+<!-- <th class="listheading">Auto Send?</th> -->
+ <th class="listheading">Create invoice?</th>
+ <th class="listheading">Fristsetzung</th>
+ <th class="listheading">Duedate +Days</th>
+ <th class="listheading">Fee</th>
+ <th class="listheading">Interest Rate</th>
+ <th class="listheading">Template</th>
+ </tr>
+
+ [% SET odd = '1' %][% USE DUNNING_it = Iterator(DUNNING) %][% FOREACH row = DUNNING_it %]
+ <tr valign="top" class="listrow[% IF odd %]1[% SET odd = '0' %][% ELSE %]0[% SET odd = '1' %][% END %]">
+ <td>
+ <input type="hidden" name="dunning_level_[% DUNNING_it.count %]" value="[% DUNNING_it.count %]">
+ <input type="hidden" name="id_[% DUNNING_it.count %]" value="[% HTML.escape(row.id) %]">
+ [% DUNNING_it.count %]
+ </td>
+
+ <td><input name="dunning_description_[% DUNNING_it.count %]" value="[% HTML.escape(row.dunning_description) %]"></td>
+ <td><input type="checkbox" name="active_[% DUNNING_it.count %]" value="1" [% IF row.active %]checked[% END %]></td>
+
+ <td>
+ <input type="checkbox" name="email_[% DUNNING_it.count %]" value="1" [% IF row.email %]checked[% END %]>
+ <button type="button" onclick="set_email_window('email_subject_[% DUNNING_it.count %]', 'email_body_[% DUNNING_it.count %]', 'email_attachment_[% DUNNING_it.count %]')">
+ L</button>
+ <input type="hidden" name="email_body_[% DUNNING_it.count %]" value="[% HTML.escape(row.email_body) %]">
+ <input type="hidden" name="email_subject_[% DUNNING_it.count %]" value="[% HTML.escape(row.email_subject) %]">
+ <input type="hidden" name="email_attachment_[% DUNNING_it.count %]" value="[% HTML.escape(row.email_attachment) %]">
+ </td>
+
+<!-- <td><input type="checkbox" name="auto_[% DUNNING_it.count %]" value="1" [% IF row.auto %]checked[% END %]></td> -->
+ <td><input type="checkbox" name="create_invoices_for_fees_[% DUNNING_it.count %]" value="1" [% IF row.create_invoices_for_fees %]checked[% END %]></td>
+ <td><input name="payment_terms_[% DUNNING_it.count %]" size="3" value="[% HTML.escape(row.payment_terms) %]"></td>
+ <td><input name="terms_[% DUNNING_it.count %]" size="3" value="[% HTML.escape(row.terms) %]"></td>
+ <td><input name="fee_[% DUNNING_it.count %]" size="5" value="[% HTML.escape(row.fee) %]"></td>
+ <td><input name="interest_rate_[% DUNNING_it.count %]" size="4" value="[% HTML.escape(row.interest_rate) %]">%</td>
+ <td><input name="template_[% DUNNING_it.count %]" value="[% HTML.escape(row.template) %]"></td>
+ </tr>
+ [% IF DUNNING_it.last %][% SET rowcount = DUNNING_it.size + 1 %][% END %]
+ [% END %]
+
+ [%- UNLESS rowcount %][% SET rowcount = '1' %][% END -%]
+ <tr valign="top" class="listrow[% IF odd %]1[% ELSE %]0[% END %]">
+ <td>
+ <input type="hidden" name="dunning_level_[% rowcount %]" value="[% rowcount %]">
+ <input type="hidden" name="id_[% rowcount %]">
+ [% rowcount %]
+ </td>
+
+ <td><input name="dunning_description_[% rowcount %]"></td>
+ <td><input type="checkbox" name="active_[% rowcount %]" value="1" checked></td>
+
+ <td>
+ <input type="checkbox" name="email_[% rowcount %]" value="1" checked>
+ <button type="button" onclick="set_email_window('email_subject_[% rowcount %]', 'email_body_[% rowcount %]', 'email_attachment_[% rowcount %]')">
+ L</button>
+ <input type="hidden" name="email_body_[% rowcount %]">
+ <input type="hidden" name="email_subject_[% rowcount %]">
+ <input type="hidden" name="email_attachment_[% rowcount %]">
+ </td>
+
+<!-- <td><input type="checkbox" name="auto_[% rowcount %]" value="1" checked></td> -->
+ <td><input type="checkbox" name="create_invoices_for_fees_[% rowcount %]" value="1" checked></td>
+ <td><input name="payment_terms_[% rowcount %]" size="3"></td>
+ <td><input name="terms_[% rowcount %]" size="3"></td>
+ <td><input name="fee_[% rowcount %]" size="5"></td>
+ <td><input name="interest_rate_[% rowcount %]" size="4">%</td>
+ <td><input name="template_[% rowcount %]"></td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
+
+ <hr size="3" noshade>
+
+ <p>If the automatic creation of invoices for fees and interest is switched on for a dunning level then the following accounts will be used for the invoice.</p>
+
+ <table>
+ <tr>
+ <th align="right">Account for fees</th>
+ <td>
+ <select name="AR_amount_fee">
+ [% FOREACH row = SELECT_AR_AMOUNT %]<option value="[% HTML.escape(row.id) %]" [% IF row.AR_amount_fee_selected %]selected[% END %]>[% HTML.escape(row.accno) %]--[% HTML.escape(row.description) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Account for interest</th>
+ <td>
+ <select name="AR_amount_interest">
+ [% FOREACH row = SELECT_AR_AMOUNT %]<option value="[% HTML.escape(row.id) %]" [% IF row.AR_amount_interest_selected %]selected[% END %]>[% HTML.escape(row.accno) %]--[% HTML.escape(row.description) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right">Record in</th>
+ <td>
+ <select name="AR">
+ [% FOREACH row = SELECT_AR %]<option value="[% HTML.escape(row.id) %]" [% IF row.AR_selected %]selected[% END %]>[% HTML.escape(row.accno) %]--[% HTML.escape(row.description) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <hr size="3" noshade>
+
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <input class="submit" type="submit" name="action" value="Save">
+
+ </form>
+</body>
+
+</html>
--- /dev/null
+[% USE HTML %]<body onLoad="[% onload %]">
+
+ <script type="text/javascript" src="js/common.js"></script>
+
+ <form method="post" name="search" action="dn.pl">
+
+ <div class="listtop">[% title %]</div>
+
+ <table width="100%">
+ <tr height="5"></tr>
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right">Customer</th>
+ <td colspan="3">
+ [% IF SHOW_CUSTOMER_DDBOX %]
+ <select name="customer_id">
+ <option value=""></option>
+ [% FOREACH row = ALL_CUSTOMERS %]<option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.name) %]</option>
+ [% END %]
+ </select>
+ [% ELSE %]
+ <input name="customer" size="35">
+ [% END %]
+ </td>
+ </tr>
+
+ [% IF SHOW_DUNNING_LEVELS %]
+ <tr>
+ <th align="right" nowrap>Next Dunning Level</th>
+ <td colspan="3">
+ <select name="dunning_level">
+ <option value=""></option>
+ [% FOREACH row = DUNNING %]<option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.dunning_description) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ [% IF SHOW_DEPARTMENT_DDBOX %]
+ <tr>
+ <th align="right" nowrap>Department</th>
+ <td colspan="3">
+ <select name="department_id">
+ <option value=""></option>
+ [% FOREACH row = ALL_DEPARTMENTS %]<option value="[% HTML.escape(row.id) %]">[% HTML.escape(row.description) %]</option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <th align="right" nowrap>Invoice Number</th>
+ <td colspan="3"><input name="invnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Order Number</th>
+ <td colspan="3"><input name="ordnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Notes</th>
+ <td colspan="3"><input name="notes" size="40"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Invdate from</th>
+ <td>
+ <input name="transdatefrom" id="transdatefrom" size="11" title="[% HTML.escape(myconfig_dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="transdatefrom" id="trigger1" value="?">
+ </td>
+ <th align="right" nowrap>To (time)</th>
+ <td>
+ <input name="transdateto" id="transdateto" size="11" title="[% HTML.escape(myconfig_dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="transdateto" id="trigger2" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Dunning Date from</th>
+ <td>
+ <input name="dunningfrom" id="dunningfrom" size="11" title="[% HTML.escape(myconfig_dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="dunningfrom" id="trigger3" value="?">
+ </td>
+ <th align="right" nowrap>To (time)</th>
+ <td>
+ <input name="dunningto" id="dunningto" size="11" title="[% HTML.escape(myconfig_dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="dunningto" id="trigger4" value="?">
+ </td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+
+ <tr><td><hr size="3" noshade></td></tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap>Show old dunnings</th>
+ <td><input type="checkbox" value="1" name="showold"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="nextsub" value="show_dunning">
+
+ <br>
+
+ <input class="submit" type="submit" name="action" value="Continue">
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "trigger1" });
+ Calendar.setup({ inputField : "transdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "trigger2" });
+ Calendar.setup({ inputField : "dunningfrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "trigger3" });
+ Calendar.setup({ inputField : "dunningto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "trigger4" });
+ -->
+ </script>
+
+</body>
+
+</html>
--- /dev/null
+[% USE HTML %]<body onload="[% onload %]">
+
+ <script type="text/javascript">
+ <!--
+ function email_updated() {
+ window.opener.document.getElementsByName(document.Form.input_subject.value)[0].value = document.getElementsByName("email_subject")[0].value;
+ window.opener.document.getElementsByName(document.Form.input_body.value)[0].value = document.getElementsByName("email_body")[0].value;
+ window.opener.document.getElementsByName(document.Form.input_attachment.value)[0].value = document.getElementsByName("email_attachment")[0].value; self.close();
+ }
+ -->
+ </script>
+
+ <form name="Form">
+
+ <input type="hidden" name="input_subject" value="[% HTML.escape(input_subject) %]">
+ <input type="hidden" name="input_body" value="[% HTML.escape(input_body) %]">
+ <input type="hidden" name="input_attachment" value="[% HTML.escape(input_attachment) %]">
+
+ <div class="listtop" width="100%">[% title %]</div>
+
+ <table width="100%">
+ <tr>
+ <td valign="top">Subject:</td>
+ <td valign="top"><input id="email_subject" name="email_subject" size="40" value="[% HTML.escape(email_subject) %]"></td>
+ </tr>
+
+ <tr>
+ <td valign="top">Body:</td>
+ <td valign="top"><textarea id="email_body" name="email_body" rows="20" cols="70" wrap="soft">[% HTML.escape(email_body) %]</textarea></td>
+ </tr>
+
+ <tr>
+ <td valign="top">Attach PDF:</td>
+ <td valign="top"><input id="email_attachment" type="checkbox" name="email_attachment" value="1" [% IF email_attachment %]checked[% END %]></td>
+ </tr>
+ </table>
+
+ <button type="button" onclick="email_updated()">Save and close</button>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %] <input type="hidden" name="rowcount" value="[% rowcount %]">
+
+ <p>[% PRINT_OPTIONS %]</p>
+
+ <p>
+ Dunnings<br>
+ <input type="hidden" name="print_nextsub" value="print_multiple">
+ <input type="submit" class="submit" name="action" value="Print">
+ </p>
+
+ </form>
--- /dev/null
+[% USE HTML %] <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/dunning.js"></script>
+
+ <form method="post" action="dn.pl">
+
--- /dev/null
+[% USE HTML %]<body>
+ <script type="text/javascript" src="js/checkbox_utils.js"></script>
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/dunning.js"></script>
+
+ <div class="listtop" width="100%">[% title %]</div>
+
+ <p>The columns "Dunning Duedate", "Total Fees" and "Interest" show data for the previous dunning created for this invoice.</p>
+
+ <form name="Form" method="post" action="dn.pl">
+
+ <table width="100%">
+ <th class="listheading" colspan="2">Current / Next Level</th>
+
+ <th class="listheading">
+ <input type="checkbox" name="selectall_active" id="selectall_active" onclick="checkbox_check_all('selectall_active', 'active_', 1, [% rowcount %]);">
+ <label for="selectall_active">Active?</label>
+ </th>
+
+ <th class="listheading">
+ <input type="checkbox" name="selectall_email" id="selectall_email" onclick="checkbox_check_all('selectall_email', 'email_', 1, [% rowcount %]);">
+ <label for="selectall_email">eMail?</label>
+ </th>
+
+ <th class="listheading">Customername</th>
+ <th class="listheading">Invno.</th>
+ <th class="listheading">Invdate</th>
+ <th class="listheading">Inv. Duedate</th>
+ <th class="listheading">Amount</th>
+ <th class="listheading">Dunning Duedate</th>
+ <th class="listheading">Total Fees</th>
+ <th class="listheading">Interest</th>
+
+ <!-- Ausgabe der einzelnen Zeilen -->
+
+ [% FOREACH row = DUNNINGS %]
+ <tr class="listrow[% loop.count % 2 %]">
+
+ <td>
+ <input type="hidden" name="inv_id_[% loop.count %]" size="2" value="[% HTML.escape(row.id) %]">
+ <input type="hidden" name="customer_id_[% loop.count %]" size="2" value="[% HTML.escape(row.customer_id) %]">
+ [% IF row.dunning_level %][% HTML.escape(row.dunning_level) %][% ELSE %] [% END %]
+ </td>
+
+ <td>
+ <select name="next_dunning_config_id_[% loop.count %]">
+ [% FOREACH cfg_row = row.DUNNING_CONFIG %]<option value="[% HTML.escape(cfg_row.id) %]" [% IF cfg_row.SELECTED %]selected[% END %]>[% HTML.escape(cfg_row.dunning_description) %]</option>[% END %]
+ </select>
+ </td>
+
+ <td><input type="checkbox" name="active_[% loop.count %]" value="1" [% IF row.active %]checked[% END %]></td>
+ <td><input type="checkbox" name="email_[% loop.count %]" value="1" [% IF row.email %]checked[% END %]></td>
+ <td><input type="hidden" name="customername_[% loop.count %]" size="6" value="[% HTML.escape(row.customername) %]">[% HTML.escape(row.customername) %]</td>
+ <td><input type="hidden" name="invnumber_[% loop.count %]" size="6" value="[% HTML.escape(row.invnumber) %]">[% HTML.escape(row.invnumber) %]</td>
+ <td><input type="hidden" name="invdate_[% loop.count %]" size="6" value="[% HTML.escape(row.transdate) %]">[% HTML.escape(row.transdate) %]</td>
+ <td><input type="hidden" name="inv_duedate_[% loop.count %]" size="6" value="[% HTML.escape(row.duedate) %]">[% HTML.escape(row.duedate) %]</td>
+ <td align="right"><input type="hidden" name="amount_[% loop.count %]" size="6" value="[% HTML.escape(row.amount) %]">[% HTML.escape(row.amount) %]</td>
+ <td>[% HTML.escape(row.next_duedate) %]</td>
+ <td align="right"><input type="hidden" name="fee_[% loop.count %]" size="6" value="[% HTML.escape(row.fee) %]">[% HTML.escape(row.fee) %]</td>
+ <td align="right"><input type="hidden" name="interest_[% loop.count %]" size="6" value="[% HTML.escape(row.interest) %]">[% HTML.escape(row.interest) %]</td>
+ </tr>
+ [% END %]
+ </table>
+
+ <hr size=3 noshade>
+
+ [% PRINT_OPTIONS %]
+
+ <br>
+
+ <input name="rowcount" type="hidden" value="[% HTML.escape(rowcount) %]">
+ <input name="groupinvoices" type="hidden" value="[% HTML.escape(groupinvoices) %]">
+
+ <input name="callback" type="hidden" value="[% HTML.escape(callback) %]">
+ <input name="nextsub" type="hidden" value="save_dunning">
+
+ <input type="hidden" name="action" value="Continue">
+
+ <input type="submit" name="dummy" value="Continue"
+ [% UNLESS DEBUG_DUNNING %]onclick="this.disabled=true; this.value='The dunning process started'; document.Form.submit()"[% END %]>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onload="on_load();">
+
+ <script type="text/javascript">
+ <!--
+ function on_load() {
+ Calendar.setup({ inputField : "follow_up_date", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "follow_up_date_trigger" });
+ document.Form.subject.focus();
+ }
+ -->
+ </script>
+
+ <form action="fu.pl" method="post" name="Form">
+
+ [%- IF SAVED_MESSAGE %]
+ <p>[% SAVED_MESSAGE %]</p>
+ [%- END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <input type="hidden" name="id" value="[% HTML.escape(id) %]">
+ <input type="hidden" name="note_id" value="[% HTML.escape(note_id) %]">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="POPUP_MODE" value="[% HTML.escape(POPUP_MODE) %]">
+
+ <p>
+ <table>
+ <tr>
+ <td valign="top">Follow-Up for user</td>
+ <td valign="top">
+ <select name="created_for_user">
+ [%- FOREACH row = EMPLOYEES %]
+ <option value="[% HTML.escape(row.id) %]"[% IF created_for_user == row.id %] selected[% END %]>
+ [%- IF row.name %][% HTML.escape(row.name) %] ([% HTML.escape(row.login) %])[% ELSE %][% HTML.escape(row.login) %][% END %]
+ </option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="right">Follow-Up Date</td>
+ <td>
+ <input name="follow_up_date" id="follow_up_date" value="[% HTML.escape(follow_up_date) %]" size="12">
+ <input type="button" name="follow_up_date_button" id="follow_up_date_trigger" value="?">
+ </tr>
+
+ <tr>
+ <td valign="right">Subject</td>
+ <td><input name="subject" value="[% HTML.escape(subject) %]" size="50"></td>
+ </tr>
+
+ <tr>
+ <td valign="right" align="top">Body</td>
+ <td align="top"><textarea cols="50" rows="10" name="body">[% HTML.escape(body) %]</textarea></td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="submit" class="submit" name="action_save" value="Save">
+ [%- IF id %]
+ <input type="submit" class="submit" name="action_finish" value="Finish">
+ <input type="submit" class="submit" name="action_delete" value="Delete">
+ [%- END %]
+ [%- IF POPUP_MODE %]
+ <input type="submit" class="submit" onclick="window.close()" value="Cancel">
+ [%- END %]
+ </p>
+
+ [%- IF POPUP_MODE %]
+ [%- IF FOLLOW_UPS.size %]
+ <hr height="3" noshade>
+
+ <div class="listtop">Existing pending follow-ups for this item</div>
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Follow-Up Date</th>
+ <th class="listheading">Subject</th>
+ <th class="listheading">Created by</th>
+ <th class="listheading">Follow-up for</th>
+ </tr>
+
+ [%- FOREACH row = FOLLOW_UPS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td valign="top">[% HTML.escape(row.follow_up_date) %]</td>
+ <td valign="top"><a href="fu.pl?action=edit&id=[% HTML.escape(row.id) %][% IF POPUP_MODE %]&POPUP_MODE=1[% END %]">[% HTML.escape(row.subject) %]</a></td>
+ <td valign="top">[% HTML.escape(row.created_by_name) %]</td>
+ <td valign="top">[% HTML.escape(row.created_for_user_name) %]</td>
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+ [%- END %]
+ [%- END %]
+
+ [%- FOREACH row = LINKS %]
+ <input type="hidden" name="trans_id_[% loop.count %]" value="[% HTML.escape(row.trans_id) %]">
+ <input type="hidden" name="trans_type_[% loop.count %]" value="[% HTML.escape(row.trans_type) %]">
+ <input type="hidden" name="trans_info_[% loop.count %]" value="[% HTML.escape(row.trans_info) %]">
+ [%- END %]
+
+ <input type="hidden" name="trans_rowcount" value="[% LINKS.size %]">
+ </form>
+
+</body>
+</html>
--- /dev/null
+<body onload="window.close()"></body></html>
--- /dev/null
+[% USE HTML %]
+<body>
+
+ [%- IF SAVED_MESSAGE %]
+ <p>[% SAVED_MESSAGE %]</p>
+ [%- END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <p>Allow the following users access to my follow-ups:</p>
+
+ <form action="fu.pl" method="post" name="Form">
+ <p>
+ <table>
+ <tr>
+ <td class="listheading">User</td>
+ <td class="listheading">Allow access</td>
+ </tr>
+
+ [%- FOREACH row = EMPLOYEES %]
+ [%- UNLESS row.login == login %]
+ <input type="hidden" name="employee_id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>[% IF row.name %][% HTML.escape(row.name) %] ([% HTML.escape(row.login) %])[% ELSE %][% HTML.escape(row.login) %][% END %]</td>
+ <td>
+ <input type="radio" id="access_[% HTML.escape(row.id) %]_yes" name="access_[% HTML.escape(row.id) %]" value="1"[% IF row.access %] checked[% END %]>
+ <label for="access_[% HTML.escape(row.id) %]_yes">Yes</label>
+ <input type="radio" id="access_[% HTML.escape(row.id) %]_no" name="access_[% HTML.escape(row.id) %]" value=""[% UNLESS row.access %] checked[% END %]>
+ <label for="access_[% HTML.escape(row.id) %]_no">No</label>
+ </td>
+ </tr>
+ [%- END %]
+ [%- END %]
+ </table>
+ </p>
+
+ <input type="hidden" name="rowcount" value="[% EMPLOYEES.size %]">
+ <input type="hidden" name="save_nextsub" value="save_access_rights">
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Save">
+ </p>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML%]
+ <input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
+ [%- FOREACH item = HIDDEN %]
+ <input type="hidden" name="[% HTML.escape(item.key) %]" value="[% HTML.escape(item.value) %]">
+ [%- END %]
+
+ <p>
+ Follow-Ups<br>
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="submit" name="action_finish" value="Finish">
+ <input type="submit" name="action_delete" value="Delete">
+ </p>
+</form>
--- /dev/null
+[% USE HTML %]
+
+<div class="listtop">Unfinished follow-ups</div>
+
+<form action="fu.pl" method="post" name="TODOFollowUpsForm">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="rowcount" value="[% FOLLOW_UPS.size %]">
+
+ <p>
+ <table width="100%">
+ <tr>
+ <td class="listheading"> </td>
+ <td class="listheading">Follow-Up Date</td>
+ <td class="listheading">Created on</td>
+ <td class="listheading">Subject</td>
+ <td class="listheading">Reference</td>
+ <td class="listheading">Created by</td>
+ </tr>
+
+ [%- FOREACH row = FOLLOW_UPS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>
+ <input type="hidden" name="follow_up_id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+ <input type="checkbox" name="selected_[% loop.count %]" value="1">
+ </td>
+ <td>[% HTML.escape(row.follow_up_date) %]</td>
+ <td>[% HTML.escape(row.created_on) %]</td>
+ <td><a href="[% edit_url %][% HTML.escape(row.id) %]">[% HTML.escape(row.subject) %]</a></td>
+ <td>[% IF row.reference_link %]<a href="[% row.reference_link %]">[% END %][% HTML.escape(row.reference) %][% IF row.reference_link %]</a>[% END %]</td>
+ <td>[% HTML.escape(row.created_by_name) %]</td>
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+
+ <p>
+ <input type="hidden" name="action" value="dispatcher">
+ <input type="submit" class="submit" name="action_finish" value="Finish">
+ <input type="submit" class="submit" name="action_delete" value="Delete">
+ </p>
+</form>
--- /dev/null
+[%- IF OPTIONS.size %]
+<p>
+ [%- FOREACH option = OPTIONS %]
+ [%- option %][% UNLESS loop.last %]<br>[% END %]
+ [%- END %]
+</p>
+[%- END %]
+
+<form action="fu.pl" method="post" name="Form">
+
--- /dev/null
+[% USE HTML %]
+<body onload="on_load()">
+
+ <script type="text/javascript">
+ <!--
+ function on_load() {
+ Calendar.setup({ inputField : "follow_up_date_from", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "follow_up_date_from_trigger" });
+ Calendar.setup({ inputField : "follow_up_date_to", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "follow_up_date_to_trigger" });
+ Calendar.setup({ inputField : "itime_from", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "itime_from_trigger" });
+ Calendar.setup({ inputField : "itime_to", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BR", button : "itime_to_trigger" });
+ document.Form.subject.focus();
+ }
+ -->
+ </script>
+
+ <div class="listtop">[% title %]</div>
+
+ <form action="fu.pl" method="post" name="Form">
+ <input type="hidden" name="nextsub" value="report">
+
+ <p>
+ <table>
+ <tr>
+ <td align="right">Created for</td>
+ <td>
+ <select name="created_for">
+ <option></option>
+ [%- FOREACH row = EMPLOYEES %]
+ <option value="[% HTML.escape(row.id) %]">
+ [%- IF row.name %]
+ [%- HTML.escape(row.name) %] ([% HTML.escape(row.login) %])
+ [%- ELSE %]
+ [%- HTML.escape(row.login) %]
+ [%- END %]
+ </option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Subject</td>
+ <td><input name="subject" size="20"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Body</td>
+ <td><input name="body" size="20"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Reference</td>
+ <td><input name="reference" size="20"></td>
+ </tr>
+
+ <tr>
+ <td align="right">Follow-Up Date</td>
+ <td>
+ From
+ <input name="follow_up_date_from" id="follow_up_date_from" size="12">
+ <input type="button" name="follow_up_date_from_button" id="follow_up_date_from_trigger" value="?">
+ To (time)
+ <input name="follow_up_date_to" id="follow_up_date_to" size="12">
+ <input type="button" name="follow_up_date_to_button" id="follow_up_date_to_trigger" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Created on</td>
+ <td>
+ From
+ <input name="itime_from" id="itime_from" size="12">
+ <input type="button" name="itime_from_button" id="itime_from_trigger" value="?">
+ To (time)
+ <input name="itime_to" id="itime_to" size="12">
+ <input type="button" name="itime_to_button" id="itime_to_trigger" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Include in Report</td>
+ <td>
+
+ <table>
+ <tr>
+ <td>
+ <input type="checkbox" name="due_only" id="due_only" value="1" checked>
+ <label for="due_only">Only due follow-ups</label>
+ </td>
+
+ <td>
+ <input type="checkbox" name="all_users" id="all_users" value="1" checked>
+ <label for="all_users">Other users' follow-ups</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="checkbox" name="not_done" id="not_done" value="1" checked>
+ <label for="not_done">Not done yet</label>
+ </td>
+
+ <td>
+ <input type="checkbox" name="done" id="done" value="1">
+ <label for="done">Done</label>
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onload="[% onload %]">
+
+ <form name="Form">
+
+ <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
+ <input type="hidden" name="input_id" value="[% HTML.escape(input_id) %]">
+
+ <table width="100%">
+ <tr>
+ <th class="listtop">[% title %]</th>
+ </tr>
+ <tr height="5"></tr>
+
+ <tr><td>Please insert object dimensions below.</td></tr>
+
+ <tr>
+ <td>
+
+ <table>
+ <tr class="listheading">
+ [% FOREACH col = HEADER %]
+ <th nowrap class="listheading">[% col.column_title %]</a></th>
+ [% END %]
+ </tr>
+
+ [% FOREACH row = VARIABLES %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>[% HTML.escape(row.description) %]:</td><td><input id="[% row.name %]" name="[% row.name %]" value=""></td>
+ <td>[% HTML.escape(row.unit) %]</td>
+ </tr>
+ [% END %]
+ </table>
+
+ </td>
+ </tr>
+ </table>
+ <button type="button" onclick="calculate_qty()">Calculate</button>
+ </form>
+
+ <script type="text/javascript">
+ <!--//
+ function calculate_qty() {
+ [% FOREACH row = VARIABLES %]
+ var [% row.name %] = document.getElementsByName("[% row.name %]")[0].value.replace(/,/g, ".");
+ [% END %]
+ var result = [% formel %];
+ result = number_format(result, 2, ",", ".");
+ window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = result;
+ self.close();
+ }
+ //-->
+
+function /*out: String*/ number_format( /* in: float */ number,
+ /* in: integer */ laenge,
+ /* in: String */ sep,
+ /* in: String */ th_sep ) {
+
+ number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
+ str_number = number+"";
+ arr_int = str_number.split(".");
+ if(!arr_int[0]) arr_int[0] = "0";
+ if(!arr_int[1]) arr_int[1] = "";
+ if(arr_int[1].length < laenge){
+ nachkomma = arr_int[1];
+ for(i=arr_int[1].length+1; i <= laenge; i++){ nachkomma += "0"; }
+ arr_int[1] = nachkomma;
+ }
+ if(th_sep != "" && arr_int[0].length > 3){
+ Begriff = arr_int[0];
+ arr_int[0] = "";
+ for(j = 3; j < Begriff.length ; j+=3){
+ Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
+ arr_int[0] = th_sep + Extrakt + arr_int[0] + "";
+ }
+ str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
+ arr_int[0] = str_first + arr_int[0];
+ }
+ return arr_int[0]+sep+arr_int[1];
+}
+ </script>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+<body[% IF onload %] onload="[% onload %]"[% END %]>
+
+ <form method="post">
+
+ <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
+ <input type="hidden" name="input_id" value="[% HTML.escape(input_id) %]">
+ <input type="hidden" name="is_vendor" value="[% HTML.escape(is_vendor) %]">
+ <input type="hidden" name="allow_both" value="[% HTML.escape(allow_both) %]">
+ <input type="hidden" name="action_on_cov_selected" value="[% HTML.escape(action_on_cov_selected) %]">
+
+ <table width="100%">
+ <tr>
+ <th class="listtop">[% title %]</th>
+ </tr>
+ <tr height="5"></tr>
+
+ <tr>
+ <td>
+ [%- IF !is_vendor %]
+ Please select a customer from the list below.
+ [%- ELSE %]
+ Please select a vendor from the list below.
+ [%- END %]
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ [%- FOREACH row = HEADER %]
+ <th nowrap class="listheading"><a href="[% HTML.escape(row.callback) %]">[% row.column_title %]</a></th>
+ [%- END %]
+ </tr>
+
+ [%- FOREACH row = COVS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td valign="top"><button type="button" onclick="cov_selected('[% loop.count %]')">Auswahl</button></td>
+ <td valign="top"><input type="hidden" id="id_[% loop.count %]" name="id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+ <input type="hidden" id="name_[% loop.count %]" name="name_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ <input type="hidden" id="customer_is_vendor_[% loop.count %]" name="customer_is_vendor_[% loop.count %]" value="[% HTML.escape(row.customer_is_vendor) %]">
+ [% HTML.escape(row.name) %]</td>
+ <td valign="top">[% HTML.escape(row.address) %]</td>
+ <td valign="top">[% HTML.escape(row.contact) %]</td>
+ </tr>
+ [% END %]
+ </table>
+
+ </td>
+ </tr>
+ </table>
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ function cov_selected(selected) {
+ var name = document.getElementsByName("name_" + selected)[0].value
+ var id = document.getElementsByName("id_" + selected)[0].value
+ var customer_is_vendor = document.getElementsByName("customer_is_vendor_" + selected)[0].value
+ var cov_name = document.forms[0].input_name.value;
+ window.opener.document.getElementsByName(cov_name)[0].value = name;
+ if (document.forms[0].input_id.value != "") {
+ window.opener.document.getElementsByName(document.forms[0].input_id.value)[0].value = id;
+ }
+
+ var cov_is_vendor = cov_name + "_is_vendor";
+ var input = window.opener.document.getElementsByName(cov_is_vendor)[0];
+ if (input) {
+ input.value = customer_is_vendor;
+ }
+
+ var prefix = "";
+ if (cov_name.substr(0, 2) == "f_") {
+ prefix = "f_";
+ cov_name = cov_name.substr(2);
+ }
+ cov_name = prefix + "old_" + cov_name;
+ var input = window.opener.document.getElementsByName(cov_name)[0];
+ if (input) {
+ input.value = name;
+ }
+ cov_name = prefix + "old" + cov_name;
+ input = window.opener.document.getElementsByName(cov_name)[0];
+ if (input) {
+ input.value = name;
+ }
+
+ if (document.forms[0].action_on_cov_selected.value != "") {
+ window.opener.document.getElementsByName("action")[0].value = document.forms[0].action_on_cov_selected.value;
+ window.opener.document.forms[0].submit();
+ }
+
+ self.close();
+ }
+ //-->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onload="fokus()">
+
+<form name="Form" method="post" action="[% script %]">
+
+<table width="100%">
+ <tr class="listtop">
+
+ <th class="listtop">[% title %]</th>
+ </tr>
+ <tr height="5"></tr>
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap>To</th>
+
+ <td><input name="email" size="30" value="[% HTML.escape(email) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Cc</th>
+ <td><input name="cc" size="30" value="[% HTML.escape(cc) %]"></td>
+ </tr>
+[% IF SHOW_BCC %]
+ <tr>
+ <th align="right" nowrap>Bcc</th>
+ <td><input name="bcc" size="30" value="[% HTML.escape(bcc) %]"></td>
+ </tr>[% END %]
+ <tr>
+ <th align="right" nowrap>Subject</th>
+
+ <td><input name="subject" size="30" value="[% HTML.escape(subject) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Attachment name</th>
+ <td><input name="attachment_filename" size="30" value="[% HTML.escape(a_filename) %]"></td>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="left" nowrap>Message</th>
+ </tr>
+ <tr>
+ <td><textarea name="message" rows="15" cols="60" wrap="soft">[% HTML.escape(message) %]</textarea></td>
+
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+[% print_options %]
+[% FOREACH row = HIDDEN %]<input type="hidden" name="[% row.name %]" value="[% HTML.escape(row.value) %]">
+[% END %]
+
+ </td>
+ </tr>
+
+ <tr>
+ <td><hr size="3" noshade></td>
+ </tr>
+</table>
+
+<input type="hidden" name="nextsub" value="send_email">
+
+<br>
+<input name="action" class="submit" type="submit" value="Continue">
+</form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop">[% IF title_error %][% title_error %][% ELSE %]Error![% END %]</div>
+
+ <p>[% label_error %]</p>
+
+ [%- IF SHOW_BACK_BUTTON %]
+ <form>
+ <p>
+ <input type="button" onclick="history.back()" value="Back">
+ </p>
+ </form>
+
+ [%- ELSIF SHOW_BUTTON %]
+
+ <form action="[% HTML.escape(script) %]" method="post">
+
+ [%- FOREACH var = VARIABLES %]
+ <input type="hidden" name="[% HTML.escape(var.name) %]" value="[% HTML.escape(var.value) %]">
+ [%- END %]
+
+ <input type="hidden" name="action" value="[% HTML.escape(action) %]">
+
+ <p>
+ <input type="submit" value="[% BUTTON_LABEL %]">
+ </p>
+ </form>
+
+ [%- END %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+ <table width="100%">
+ <tr>
+ <th class="listtop">[% IF title_information %][% title_information %][% ELSE %]Information[% END %]</th>
+ </tr>
+ <tr height="5"></tr>
+
+ <tr><td>[% label_information %]</td></tr>
+ </table>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %] <body>
+
+ <h4 class="error">Item not on file!
+
+
+ <p>What type of item is this?</h4>
+
+ <form method="post" action="ic.pl">
+
+ <p>
+
+ <input class="radio" type="radio" name="item" value="part" checked> Part<br>
+ <input class="radio" type="radio" name="item" value="service"> Service
+ <p>
+
+ [%- FOREACH var = HIDDENS %]
+ <input type="hidden" name="[% HTML.escape(var.name) %]" value="[% HTML.escape(var.value) %]">
+ [%- END %]
+
+ <input type="hidden" name="nextsub" value="add">
+ <input class="submit" type="submit" name="action" value="Continue">
+ </form>
+
+ </body>
+</html>
+
--- /dev/null
+[% USE HTML %]<body [% IF onload %]onload="[% onload %]"[% END %]>
+
+ <form action="[% HTML.escape(script) %]" method="post" name="Form">
+
+ <input type="hidden" name="input_partnumber" value="[% HTML.escape(input_partnumber) %]">
+ <input type="hidden" name="input_description" value="[% HTML.escape(input_description) %]">
+ <input type="hidden" name="input_partsid" value="[% HTML.escape(input_partsid) %]">
+ <input type="hidden" name="input_partnotes" value="[% HTML.escape(input_partnotes) %]">
+ <input type="hidden" name="allow_creation" value="[% HTML.escape(allow_creation) %]">
+ <input type="hidden" name="action_on_part_selected" value="[% HTML.escape(action_on_part_selected) %]">
+ <input type="hidden" name="filter" value="[% HTML.escape(filter) %]">
+ <input type="hidden" name="options" value="[% HTML.escape(options) %]">
+ <input type="hidden" name="new_description" value="[% HTML.escape(description) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <table width="100%">
+ <tr>
+ <td>
+ [% IF no_parts_found %]
+ No part was found matching the search parameters.
+ [% IF allow_creation %]
+ However, you can create a new part which will then be selected.
+ [% END %]
+ [% ELSE %]
+ Please select a part from the list below.
+ [% IF allow_creation %]
+ Alternatively you can create a new part which will then be selected.
+ [% END %]
+ [% END %]
+ </td>
+ </tr>
+
+ [% UNLESS no_parts_found %]
+ <tr>
+ <td>
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ [% FOREACH header = HEADER %]
+ <th nowrap class="listheading"><a href="[% HTML.escape(header.callback) %]">[% header.column_title %]</a></th>
+ [% END %]
+ </tr>
+
+ [% FOREACH part = PARTS %]
+ <tr class="listrow[% IF loop.count % 2 %]1[% ELSE %]0[% END %]">
+ <td><button type="button" onclick="part_selected('[% loop.count %]')">Select</button></td>
+ <td>
+ <input type="hidden" id="partsid_[% loop.count %]" name="partsid_[% loop.count %]" value="[% HTML.escape(part.id) %]">
+ <input type="hidden" id="partnumber_[% loop.count %]" name="partnumber_[% loop.count %]" value="[% HTML.escape(part.partnumber) %]">
+ [% HTML.escape(part.partnumber) %]
+ </td>
+ <td>
+ <input type="hidden" id="description_[% loop.count %]" name="description_[% loop.count %]" value="[% HTML.escape(part.description) %]">
+ <input type="hidden" id="partnotes_[% loop.count %]" name="partnotes_[% loop.count %]" value="[% HTML.escape(part.partnotes) %]">
+ [% HTML.escape(part.description) %]
+ </td>
+<!-- <td> -->
+<!-- <input type="hidden" id="onhand_[% loop.count %]" name="onhand_[% loop.count %]" value="[% HTML.escape(part.onhand) %]"> -->
+<!-- [% HTML.escape(part.onhand) %] -->
+<!-- </td> -->
+ </tr>
+ [% END %]
+ </table>
+ </td>
+ </tr>
+ [% END %]
+ </table>
+
+ [% IF allow_creation %]
+ <p><input type="submit" name="action" value="New part"></p>
+ [% END %]
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ function part_selected(selected) {
+ var partnumber = document.getElementsByName("partnumber_" + selected)[0].value;
+ var description = document.getElementsByName("description_" + selected)[0].value;
+ var partsid = document.getElementsByName("partsid_" + selected)[0].value;
+ var partnotes = document.getElementsByName("partnotes_" + selected)[0].value;
+ var pnum_name = document.Form.input_partnumber.value;
+ window.opener.document.getElementsByName(pnum_name)[0].value = partnumber;
+ window.opener.document.getElementsByName(document.Form.input_description.value)[0].value = description;
+ if (document.Form.input_partsid.value != "") {
+ window.opener.document.getElementsByName(document.Form.input_partsid.value)[0].value = partsid;
+ }
+ if (document.Form.input_partnotes.value != "") {
+ var el = window.opener.document.getElementsByName(document.Form.input_partnotes.value)[0];
+ if (el)
+ el.value = partnotes;
+ }
+ if (document.Form.action_on_part_selected.value != "") {
+ window.opener.document.getElementsByName("action")[0].value = document.Form.action_on_part_selected.value;
+ window.opener.document.[% formname %].submit();
+ }
+
+
+ var prefix = "";
+ if (pnum_name.substr(0, 2) == "f_") {
+ prefix = "f_";
+ pnum_name = pnum_name.substr(2);
+ }
+ pnum_name = prefix + "old_" + pnum_name;
+ var input = window.opener.document.getElementsByName(pnum_name)[0];
+ if (input) {
+ input.value = name;
+ }
+
+ [%- IF click_button %]
+ window.opener.document.[% formname %].[% click_button %].click();
+ [%- END %]
+
+ self.close();
+ }
+ //-->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+
+<table width="100%" cellspacing="0" cellpadding="0">
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <td>
+ [%- FOREACH row = SELECTS %]
+ [%- IF row.show %]
+ <select name="[% row.sname %]">
+ [%- FOREACH data = row.DATA %]
+ <option value="[% data.value %]" [% data.selected %]>[% data.oname %]</option>
+ [%- END %]
+ </select>
+ [%- END %]
+ [%- END %]
+ </td>
+ [%- IF display_copies %]
+ <td>Copies <input name="copies" size="2" value="[% HTML.escape(copies) %]"></td>
+ [%- END %]
+ [%- IF display_groupitems %]
+ <td>Group Items</td>
+ <td><input name="groupitems" type="checkbox" class="checkbox" [% groupitems_checked %]></td>
+ [%- END %]
+ [%- IF display_remove_draft %]
+ <td>Remove Draft</td>
+ <td><input name="remove_draft" type="checkbox" class="checkbox" [% remove_draft_checked %]></td>
+ [%- END %]
+ </tr>
+ </table>
+ </td>
+ <td align=right>
+ <table><tr><th>[% status_msg %]</th></tr></table>
+ </td>
+ </tr>
+</table>
+
--- /dev/null
+[% USE HTML %]<body onload="[% onload %]">
+
+ <form name="Form">
+
+ <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
+ <input type="hidden" name="input_id" value="[% HTML.escape(input_id) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <table width="100%">
+ <tr height="5"></tr>
+
+ <tr><td>Please select a customer from the list below.</td></tr>
+
+ <tr>
+ <td>
+
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ [%- FOREACH col = HEADER %]
+ <th nowrap class="listheading"><a href="[% HTML.escape(col.callback) %]">[% col.column_title %]</a></th>
+ [%- END %]
+ </tr>
+
+ [%- FOREACH row = DELIVERY %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td><button type="button" onclick="customer_selected('[% loop.count %]')">Auswahl</button></td>
+ <td>
+ <input type="hidden" id="id_[% loop.count %]" name="id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+ <input type="hidden" id="name_[% loop.count %]" name="name_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ [% HTML.escape(row.name) %]
+ </td>
+ <td>[% HTML.escape(row.customernumber) %]</td>
+ <td>[% HTML.escape(row.address) %]</td>
+<!-- <td> -->
+<!-- <input type="hidden" id="description_[% loop.count %]" name="description_[% loop.count %]" value="[% HTML.escape(row.description) %]"> -->
+<!-- [% HTML.escape(row.description) %] -->
+<!-- </td> -->
+ </tr>
+ [%- END %]
+ </table>
+
+ </td>
+ </tr>
+ </table>
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ function customer_selected(selected) {
+ var name = document.getElementsByName("name_" + selected)[0].value
+ var id = document.getElementsByName("id_" + selected)[0].value
+ window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = name;
+ if (document.Form.input_id.value != "") {
+ window.opener.document.getElementsByName(document.Form.input_id.value)[0].value = id;
+ }
+ self.close();
+ }
+ //-->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body [% IF onload %]onload="[% onload %]"[% END %]>
+
+ <form method="post" action="[% HTML.escape(script) %]">
+
+ <input type="hidden" name="nextsub" value="[% HTML.escape(nextsub) %]">
+ <input type="hidden" name="callback_sub" value="[% HTML.escape(callback_sub) %]">
+
+ <input type="hidden" name="old_form" value="[% HTML.escape(old_form) %]">
+ <input type="hidden" name="remap_parts_id" value="[% HTML.escape(remap_parts_id) %]">
+ <input type="hidden" name="remap_partnumber" value="[% HTML.escape(remap_partnumber) %]">
+
+ <div class="listtop">Select a part or assembly</div>
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading"> </th>
+ <th class="listheading">Number</th>
+ <th class="listheading">Description</th>
+ [% IF has_charge %]
+ <th class="listheading">Charge number</th>
+ [% END %]
+ [% IF has_ean %]
+ <th class="listheading">EAN</th>
+ [% END %]
+ </tr>
+
+ [% FOREACH part = PARTS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>
+ <input type="radio" name="selection" value="[% loop.count %]"[% IF loop.first %] checked[% END %]>
+ </td>
+
+ <td>
+ <input type="hidden" name="new_id_[% loop.count %]" value="[% HTML.escape(part.id) %]">
+ <input type="hidden" name="new_number_[% loop.count %]" value="[% HTML.escape(part.number) %]">
+ [% HTML.escape(part.number) %]
+ </td>
+
+ <td>
+ <input type="hidden" name="new_description_[% loop.count %]" value="[% HTML.escape(part.description) %]">
+ [% HTML.escape(part.description) %]
+ </td>
+
+ [% IF has_charge %]
+ <td>
+ <input type="hidden" name="new_charge_id_[% loop.count %]" value="[% HTML.escape(part.charge_id) %]">
+ <input type="hidden" name="new_chargenumber_[% loop.count %]" value="[% HTML.escape(part.chargenumber) %]">
+ [% HTML.escape(part.chargenumber) %]
+ </td>
+ [% END %]
+ [% IF has_ean %]
+ <td>
+ <input type="hidden" name="new_ean_[% loop.count %]" value="[% HTML.escape(part.ean) %]">
+ [% HTML.escape(part.ean) %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onload="[% onload %]">
+
+ <form name="Form">
+
+ <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
+ <input type="hidden" name="input_id" value="[% HTML.escape(input_id) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <table width="100%">
+ <tr height="5"></tr>
+
+ <tr><td>Please select a vendor from the list below.</td></tr>
+
+ <tr>
+ <td>
+
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ [%- FOREACH col = HEADER %]
+ <th nowrap class="listheading"><a href="[% HTML.escape(col.callback) %]">[% col.column_title %]</a></th>
+ [%- END %]
+ </tr>
+
+ [%- FOREACH row = VENDOR %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td><button type="button" onclick="vendor_selected('[% loop.count %]')">Auswahl</button></td>
+ <td>
+ <input type="hidden" id="id_[% loop.count %]" name="id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+ <input type="hidden" id="name_[% loop.count %]" name="name_[% loop.count %]" value="[% HTML.escape(row.name) %]">
+ [% HTML.escape(name) %]
+ </td>
+ <td>[% HTML.escape(row.customernumber) %]</td>
+ <td>[% HTML.escape(row.address) %]</td>
+<!-- <td> -->
+<!-- <input type="hidden" id="description_[% loop.count %]" name="description_[% loop.count %]" value="[% HTML.escape(row.description) %]"> -->
+<!-- [% HTML.escape(row.description) %] -->
+<!-- </td> -->
+ </tr>
+ [%- END %]
+ </table>
+
+ </td>
+ </tr>
+ </table>
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ function vendor_selected(selected) {
+ var name = document.getElementsByName("name_" + selected)[0].value
+ var id = document.getElementsByName("id_" + selected)[0].value
+ window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = name;
+ if (document.Form.input_id.value != "") {
+ window.opener.document.getElementsByName(document.Form.input_id.value)[0].value = id;
+ }
+ self.close();
+ }
+ //-->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body onload="[% onload %]">
+
+ <form name="Form">
+
+ <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <p>Please insert your longdescription below</p>
+
+ <p><textarea id="longdescription" name="longdescription" rows="15" cols="45" wrap="soft">[% HTML.escape(longdescription) %]</textarea></p>
+
+ <p><input type="submit" onclick="longdescription_updated()" value="Close"></p>
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ function longdescription_updated() {
+ window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = document.getElementsByName("longdescription")[0].value;
+
+ self.close();
+ }
+ -->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <p>
+ <div class="listtop">[% HTML.escape(title) %]</div>
+ </p>
+
+ [%- IF message %]
+ <p>
+ [% HTML.escape(message) %]
+ </p>
+ [%- END %]
+
+ <form method="post" action="generictranslations.pl">
+
+ <table>
+
+ <tr>
+ <th class="listheading"> </th>
+ <th class="listheading">male</th>
+ <th class="listheading">female</th>
+ </tr>
+
+ [%- FOREACH language = LANGUAGES %]
+ <tr>
+ <td>
+ [%- IF language.id == 'default' %]
+ Default (no language selected)
+ [%- ELSE %]
+ [%- HTML.escape(language.description) %]
+ [%- END %]
+ </td>
+ <td><input name="translation__[% language.id %]__male" size="40" value="[% HTML.escape(language.male) %]"></td>
+ <td><input name="translation__[% language.id %]__female" size="40" value="[% HTML.escape(language.female) %]"></td>
+ </tr>
+ [%- END %]
+
+ </table>
+
+ <p>
+ <input type="hidden" name="action" value="save_greetings">
+ <input type="submit" class="submit" value="Save">
+ </p>
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]
+[% USE JavaScript %]
+[% USE LxERP %]
+
+<script type="text/javascript">
+ <!--
+var chart_balances = new Array();
+
+[% FOREACH chart = ALL_CHARTS %]
+chart_balances[[% loop.count - 1 %]] = '[% JavaScript.escape(LxERP.format_amount(chart.balance, 2, 0, 'DRCR')) %]';
+[%- END %]
+
+function show_chart_balance(obj) {
+ var row = $(obj).attr('name').replace(/.*_/, '');
+ var idx = $('#accno_' + row).attr('selectedIndex');
+ $('#chart_balance_' + row).html(chart_balances[idx]);
+}
+
+$(document).ready(function() {
+ [%- SET row=0 %]
+ [%- WHILE row < rowcount %]
+ [%- SET row=row + 1 %]
+ $('#accno_[% row %]').change(function() { show_chart_balance(this); });
+ show_chart_balance($('#accno_[% row %]'));
+ [%- END %]
+});
+-->
+</script>
--- /dev/null
+[% USE HTML %]<form method="post" action="gl.pl">
+
+ <input name="callback" type="hidden" value="[% HTML.escape(callback) %]">
+
+ <input class="submit" type="submit" name="action" value="GL Transaction">
+ <input class="submit" type="submit" name="action" value="Sales Transaction">
+ <input class="submit" type="submit" name="action" value="Purchase Transaction">
+ <input class="submit" type="submit" name="action" value="Sales Invoice">
+ <input class="submit" type="submit" name="action" value="Vendor Invoice">
+
+</form>
--- /dev/null
+[%- USE LxERP %]
+ <tr class=listheading>
+ <th class=listheading>Individual Items</th>
+ </tr>
+ <tr>
+ <td>
+ <table width=100%>
+ <tr>
+[%- FOREACH col = COLUMNS %]
+[%- SET hcol = HEADER.$col %]
+ <th[% ' nowrap' IF hcol.nowrap %][% ' width=' _ hcol.width IF hcol.width %][% ' align=' _ hcol.align IF hcol.align %]>[% hcol.text %]</th>
+[%- END %]
+ </tr>
+[%- FOREACH row = ROWS %]
+ <tr>
+ [%- FOREACH col = COLUMNS %]
+ [%- SET rcol = row.$col %]
+ <td[% ' align=' _ rcol.align IF rcol.align %]>[%- rcol.data %]</td>
+ [%- END %]
+ [%- FOREACH hidden = row.hiddens %]
+ <input type=hidden name="[% hidden.name %]" value="[% hidden.value %]">
+ [%- END %]
+ </tr>
+[%- END %]
+ <tr>
+ <td colspan="6"></td>
+ <td>Totals</td>
+ <td align="right">[%- LxERP.format_amount(assembly_purchase_price_total, 2) %]</td>
+ <td align="right">[%- LxERP.format_amount(assemblytotal, 2) %]</td>
+ </tr>
+ <input type="hidden" name="assembly_rows" value="[% assembly_rows %]">
+ </table>
+ </td>
+ </tr>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body>
+
+ <form method="post" action="ic.pl">
+
+ [%- FOREACH row = HIDDENS %]
+ <input type="hidden" name="[% HTML.escape(row.name) %]" value="[% HTML.escape(row.value) %]" >
+ [%- END %]
+
+ <p>
+ <table>
+ <tr class="listheading">
+ <th class="listheading" nowrap>Part Number</th>
+ <th class="listheading" nowrap>Part Description</th>
+ </tr>
+ <tr valign="top">
+ <td><input type="text" name="partnumber" size="20"></td>
+ <td><input type="text" name="description" size="30"></td>
+ </tr>
+ </table>
+ </p>
+
+ [%- FOREACH row = PARTS %]
+ <input type="hidden" name="totop100_partnumber_[% loop.count %]" value="[% row.totop100_partnumber %]">
+ <input type="hidden" name="totop100_description_[% loop.count %]" value="[% row.totop100_description %]">
+ <input type="hidden" name="totop100_unit_[% loop.count %]" value="[% row.totop100_unit %]">
+ <input type="hidden" name="totop100_sellprice_[% loop.count %]" value="[% row.totop100_sellprice %]">
+ <input type="hidden" name="totop100_soldtotal_[% loop.count %]" value="[% row.totop100_soldtotal %]">
+ [%- END %]
+
+ <p>
+ <input class="submit" type="submit" name="action" value="list">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body>
+
+ <form method="post" action="ic.pl">
+
+ [%- FOREACH row = HIDDENS %]
+ <input type="hidden" name="[% HTML.escape(row.name) %]" value="[% HTML.escape(row.value) %]" >
+ [%- END %]
+
+ <h2 class="confirm">Confirm!</h2>
+
+ <p>
+ [% LxERP.format_string('Approximately #1 prices will be updated.', num_matches) %]
+ </p>
+
+ <p>Are you sure you want to update the prices?</p>
+
+ <p>
+ <input name="action" class="submit" type="submit" value="Continue">
+ <input type="button" class="submit" onclick="history.back()" value="Back">
+ </p>
+ </form>
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+ [%- IF item == 'assembly' %]
+ <!-- Wieder zurueck in die ic.pl, entweder alle Einzelteile auslagern oder gar keine -->
+ <!-- tr>
+ <td>
+ <table border="0" width="100%">
+ <tr>
+ <th colspan="2" align=right>Total </th>
+ <th align=right>Purchase Price:[% LxERP.format_amount(assembly_purchase_price_total, 2) %] Sell Price: [% LxERP.format_amount(assemblytotal, 2) %]</th>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <input type="hidden" name="assembly_rows" value="[% HTML.escape(assembly_rows) %]" -->
+ [%- END %]
+
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="previousform" value="[% HTML.escape(previousform) %]">
+ <input type="hidden" name="taxaccount2" value="[% HTML.escape(taxaccount2) %]">
+ <input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+ <tr>
+ <td><hr size="3" noshade></td>
+ </tr>
+ </table>
+
+ <br style="clear: left" />
+</div>
+
+[%- IF CUSTOM_VARIABLES.size %]
+<div id="custom_variables" class="tabcontent">
+
+ <p>Unchecked custom variables will not appear in orders and invoices.</p>
+
+ <p>
+ <table>
+ [%- FOREACH var = CUSTOM_VARIABLES %]
+ <tr>
+ <td align="right" valign="top">[% var.VALID_BOX %]</td>
+ <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
+ <td valign="top">[% var.HTML_CODE %]</td>
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+
+ <br style="clear: left" />
+</div>
+[%- END %]
+
+</div>
+
+<input class="submit" type="submit" name="action" value="Update">
+<input type="hidden" name="price_rows" value="[% HTML.escape(price_rows) %]">
+<input class="submit" type="submit" name="action" value="Save">
+
+ [%- IF id %]
+ [%- UNLESS previousform %]
+<input class="submit" type="submit" name="action" value="Save as new">
+ [%- END %]
+
+ [%- IF orphaned %]
+ [%- UNLESS previousform %]
+ [%- IF item == 'assembly' %]
+ [%- UNLESS onhand %]
+<input class="submit" type="submit" name="action" value="Delete">
+ [%- END %]
+ [%- ELSE %]
+<input class="submit" type="submit" name="action" value="Delete">
+ [%- END %]
+ [%- END %]
+ [%- END %]
+ [%- END %]
+
+ [%- IF id != "" %]
+<input type="button" class="submit" onclick="set_history_window([% id %]);" name="history" id="history" value="history">
+ [%- END %]
+
+</form>
+
+<script type="text/javascript" src="js/wz_tooltip.js"></script>
+<script type="text/javascript">
+<!--
+ var maintab = new ddtabcontent("maintab");
+ maintab.setpersist(true);
+ maintab.setselectedClassTarget("link"); //"link" or "linkparent"
+ maintab.init();
+ -->
+</script>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body onLoad="fokus()">
+
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/parts_language_selection.js"></script>
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form method="post" name="ic" action="[% script %]">
+
+ <input name="id" type="hidden" value="[% HTML.escape(id) %]">
+ <input name="item" type="hidden" value="[% HTML.escape(item) %]">
+ <input name="title" type="hidden" value="[% HTML.escape(title) %]">
+ <input name="makemodel" type="hidden" value="[% HTML.escape(makemodel) %]">
+ <input name="alternate" type="hidden" value="[% HTML.escape(alternate) %]">
+ <input name="onhand" type="hidden" value="[% HTML.escape(onhand) %]">
+ <input name="orphaned" type="hidden" value="[% HTML.escape(orphaned) %]">
+ <input name="taxaccounts" type="hidden" value="[% HTML.escape(taxaccounts) %]">
+ <input name="rowcount" type="hidden" value="[% HTML.escape(rowcount) %]">
+ <input name="eur" type="hidden" value="[% HTML.escape(eur) %]">
+ <input name="language_values" type="hidden" value="[% HTML.escape(language_values) %]">
+ <input name="original_partnumber" type="hidden" value="[% HTML.escape(original_partnumber) %]">
+
+ <ul id="maintab" class="shadetabs">
+ <li class="selected"><a href="#" rel="master_data">Master Data</a></li>
+ [%- IF CUSTOM_VARIABLES.size %]
+ <li><a href="#" rel="custom_variables">Custom Variables</a></li>
+ [%- END %]
+ </ul>
+
+ <div class="tabcontentstyle">
+ <div id="master_data" class="tabcontent">
+
+ <table width="100%">
+ <tr>
+ <td>
+ <table width="100%">
+ <tr valign="top">
+ <td>
+ <table>
+ <tr>
+ <td colspan="2">
+ <table>
+ <tr>
+ <th align="right">Part Number</th>
+ <td><input name="partnumber" value="[% HTML.escape(partnumber) %]" size="40"></td>
+ </tr>
+ <tr>
+ <th align="right">Part Description</th>
+ <td>
+ [%- IF description_area %]
+ <textarea name="description" rows="[% HTML.escape(rows) %]" cols="40" wrap="soft">[% HTML.escape(description) %]</textarea>
+ [%- ELSE %]
+ <input name="description" size="40" value="[% HTML.escape(description) %]">
+ [%- END %]
+ </td>
+ </tr>
+ <tr>
+ <th align="right">EAN-Code</th>
+ <td><input name="ean" size="40" value="[% HTML.escape(ean) %]"></td>
+ </tr>
+ <tr>
+ [%- IF all_partsgroup.size %]
+ <th align="right">Group</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'partsgroup',
+ DATA = all_partsgroup,
+ show_empty = 1,
+ id_sub = 'pg_keys',
+ label_key = 'partsgroup',
+ style = 'width:250px'
+ -%]
+ </td>
+ <input type="hidden" name="oldpartsgroup" value="[% HTML.escape(oldpartsgroup) %]">
+ [% END %]
+ </tr>
+
+
+ [%- IF BUCHUNGSGRUPPEN.size %]
+ <tr>
+ <th align="right">Buchungsgruppe</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'buchungsgruppen_id',
+ DATA = BUCHUNGSGRUPPEN,
+ id_key = 'id',
+ label_key = 'description',
+ style = 'width:250px'
+ -%]
+ </tr>
+ [%- END %]
+ <input type="hidden" name="IC_income" value="[% HTML.escape(IC_income_default) %]">
+ [%- UNLESS is_assembly %]
+ <input type="hidden" name="IC_expense" value="[% HTML.escape(IC_expense_default) %]">
+ [%- END %]
+ [%- IF is_part %]
+ <input type="hidden" name="IC" value="[% HTML.escape(IC_default) %]">
+ [%- END %]
+ <tr>
+ <th align="right">Payment Terms</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'payment_id',
+ DATA = payment_terms,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ style = 'width:250px'
+ -%]
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <button type="button" onclick="parts_language_selection_window('language_values')">Set Language Values</button>
+ </td>
+ </tr>
+
+ <tr height="5"></tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="left">Notes</th>
+ [%- UNLESS is_service %]
+ <th align="left">Formula</th>
+ [%- END %]
+ </tr>
+ <tr>
+ <td>
+ <textarea name="notes" rows="[% HTML.escape(notes_rows) %]" cols="45" wrap="soft">[% HTML.escape(notes) %]</textarea>
+ </td>
+ [%- UNLESS is_service %]
+ <td>
+ <ilayer>
+ <layer onmouseover="this.T_STICKY=true;this.T_STATIC=true;return escape('The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>')">
+ <textarea name="formel" rows="[% HTML.escape(notes_rows) %]" cols="30" wrap="soft">[% HTML.escape(formel) %]</textarea></layer></ilayer>
+ </td>
+ [%- END %]
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap="true">Updated</th>
+ <td>
+ <input name="priceupdate" id="priceupdate" size="11" title="[% HTML.escape(dateformat) %]" value="[% HTML.escape(priceupdate) %]" readonly>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap="true">List Price</th>
+ <td><input name="listprice" size="11" value="[% LxERP.format_amount(listprice, -2) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap="true">Sell Price</th>
+ <td><input name="sellprice" size="11" value="[% LxERP.format_amount(sellprice, -2) %]"></td>
+ </tr>
+
+ [%- UNLESS is_assembly %]
+ <tr>
+ <th align="right" nowrap="true">Last Cost</th>
+ <td><input name="lastcost" size="11" value="[% LxERP.format_amount(lastcost, -2) %]"></td>
+ </tr>
+ [%- END %]
+
+ [%- IF ALL_PRICE_FACTORS.size %]
+ <tr>
+ <th align="right">Price Factor</th>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = 'price_factor_id',
+ DATA = ALL_PRICE_FACTORS,
+ show_empty = 1,
+ id_key = 'id',
+ label_key = 'description',
+ style = 'width:100px'
+ -%]
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <th align="right" nowrap="true">Unit</th>
+ <td>
+ <input type="hidden" name="unit_changeable" value="[% HTML.escape(unit_changeable) %]">
+ [%- UNLESS unit_changeable %]
+ <input type="hidden" name="unit" value="[% HTML.escape(unit) %]">[% HTML.escape(unit) %]
+ [%- ELSE %]
+ [%- INCLUDE generic/multibox.html
+ name = 'unit',
+ DATA = ALL_UNITS,
+ id_key = 'name',
+ label_key = 'name',
+ style = 'width:100px'
+ -%]
+ [%- END %]
+ </td>
+ </tr>
+
+ [%- UNLESS is_service %]
+ <tr>
+ <th align="right" nowrap="true">Weight</th>
+ <td>
+ [%- IF is_assembly %] [% LxERP.format_amount(weight) %][%- END %]
+ <input[% IF is_assembly %] type="hidden"[% END %] size="10" name="weight" value="[% LxERP.format_amount(weight) %]">
+ [% HTML.escape(defaults.weightunit) %]
+ </td>
+ </tr>
+ [%- END %]
+ [%- UNLESS is_service %]
+ <tr>
+ <th align="right" nowrap>On Hand</th>
+ <th align="left" nowrap class="plus[% IF onhand > 0 %]1[% ELSE %]0[% END %]"> [% LxERP.format_amount(onhand) %]</th>
+ </tr>
+ <tr>
+ <th align="right" nowrap="true">ROP</th>
+ <td><input name="rop" size="10" value="[% LxERP.format_amount(rop) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap="true">Bin</th>
+ <td><input name="bin" size="10" value="[% HTML.escape(bin) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap="true">Verrechnungseinheit</th>
+ <td><input name="ve" size="10" value="[% HTML.escape(ve) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap="true">Business Volume</th>
+ <td><input name="gv" size="10" value="[% LxERP.format_amount(gv) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap><label for="not_discountable">Not Discountable</label></th>
+ <td><input class="checkbox" type="checkbox" name="not_discountable" id="not_discountable" value="1" [% IF not_discountable %]checked[% END %]></td>
+ </tr>
+ [%- END %]
+ [%- IF id %]
+ <tr>
+ <th align="right" nowrap="true"><label for="obsolete">Obsolete</label></th>
+ <td><input name="obsolete" id="obsolete" type="checkbox" class="checkbox" value="1" [% IF obsolete %]checked[% END %]></td>
+ </tr>
+ [%- END %]
+ <tr>
+ <th align="right" nowrap><label for="shop">Has serial number</label></th>
+ <td><input class="checkbox" type="checkbox" name="has_sernumber" id="has_sernumber" value="1" [% IF has_sernumber %]checked[% END %]></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap><label for="shop">Shopartikel</label></th>
+ <td><input class="checkbox" type="checkbox" name="shop" id="shop" value="1" [% IF shop %]checked[% END %]></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+
+ [% UNLESS is_service %]
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap>Image</th>
+ <td><input name="image" size="40" value="[% HTML.escape(image) %]"></td>
+ <th align="right" nowrap>Microfiche</th>
+ <td><input name="microfiche" size="20" value="[% HTML.escape(microfiche) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Drawing</th>
+ <td><input name="drawing" size="40" value="[% HTML.escape(drawing) %]"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ [%- END %]
+
+ <script type="text/javascript">
+ <!-- Calendar.setup({ inputField : "priceupdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" }); //-->
+ </script>
--- /dev/null
+[% USE HTML %]<form method="post" action="ic.pl">
+
+ <input name="callback" type="hidden" value="[% HTML.escape(callback) %]">
+
+ <input type="hidden" name="item" value="[% HTML.escape(searchitems) %]">
+
+ [% SWITCH searchitems %]
+ [% CASE 'part' %]New part
+ [% CASE 'service' %]New service
+ [% CASE 'assembly' %]New assembly
+ [% END %]
+ <br>
+ <input class="submit" type="submit" name="action" value="Add">
+
+</form>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th class="listheading">Make</th>
+ <th class="listheading">Model</th>
+ </tr>
+ [%- FOREACH row = MM_DATA %]
+ <tr>
+ <td>
+ [%- INCLUDE generic/multibox.html
+ name = "make_$loop.count",
+ default = row.make,
+ DATA = ALL_VENDORS,
+ show_empty = 1,
+ label_key = 'name',
+ id_key = 'id',
+ -%]
+ </td>
+ <td><input name="model_[% loop.count %]" size="30" value="[% HTML.escape(row.model) %]"></td>
+ </tr>
+ [%- END %]
+ </table>
+ </td>
+ </tr>
+ <input type="hidden" name="makemodel_rows" value="[% mm_rows %]">
--- /dev/null
+[% USE HTML %]<body onload="[% onload %]">
+
+ <form name="Form">
+
+ <input type="hidden" name="input_name" value="[% HTML.escape(input_name) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <p>Please insert your language values below</p>
+
+ <p>
+ <table>
+ <tr class="listheading">
+ <th class="listheading"> </th>
+ [%- FOREACH col = HEADER %]
+ <th nowrap class="listheading">[% col.column_title %]</th>
+ [%- END %]
+ </tr>
+
+ [%- FOREACH row = LANGUAGES %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td><input type="hidden" id="id_[% loop.count %]" name="id_[% loop.count %]" value="[% HTML.escape(row.id) %]">[% HTML.escape(row.description) %]</td>
+ <td><input id="translation_[% loop.count %]" name="translation_[% loop.count %]" value="[% HTML.escape(row.translation) %]"></td>
+ <td><input id="longdescription_[% loop.count %]" name="longdescription_[% loop.count %]" value="[% HTML.escape(row.longdescription) %]"></td>
+ </tr>
+
+ [%- IF loop.last %]
+ <input type="hidden" id="rowcount" name="rowcount" value="[% loop.count %]">
+ [%- END %]
+ [%- END %]
+ </table>
+ </p>
+
+ <p>
+ <button type="button" onclick="languages_updated()">Close</button>
+ </p>
+
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ function languages_updated() {
+ var languages = "";
+ for (var i = 1; i <= (document.getElementsByName("rowcount")[0].value); i++) {
+ var id = "id_" + i ;
+ var translation = "translation_" + i ;
+ var longdescription = "longdescription_" + i;
+
+ languages = languages +
+ "---+++---" + document.getElementsByName( id )[0].value +
+ "--++--" + document.getElementsByName( translation )[0].value +
+ "--++--" + document.getElementsByName( longdescription )[0].value;
+ }
+
+ window.opener.document.getElementsByName(document.Form.input_name.value)[0].value = languages;
+
+ self.close();
+ }
+ //-->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+[%- IF PRICES.size %]
+ <tr>
+ <td>
+ <table width=100%>
+ <tr>
+ <th class="listheading">Preisklasse</th>
+ <th class="listheading">Preis</th>
+ </tr>
+[%- FOREACH row = PRICES %]
+ <tr>
+ <td width=50%><input type=hidden name="pricegroup_[% loop.count %]" size=30 value="[% HTML.escape(row.pricegroup) %]">[% HTML.escape(row.pricegroup) %]</td>
+ <td width=50%><input name="price_[% loop.count %]" size=11 value="[% LxERP.format_amount(row.price, -2) %]"></td>
+ <input type="hidden" name="pricegroup_id_[% loop.count %]" value="[% HTML.escape(row.pricegroup_id) %]">
+ </tr>
+[%- END %]
+ </table>
+ </td>
+ </tr>
+[%- END %]
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body>
+
+ <form method="post" action="ic.pl">
+
+ <input type="hidden" name="searchitems" value="[% HTML.escape(searchitems) %]">
+ <input type="hidden" name="title" value="[% HTML.escape(title) %]">
+
+ <input type="hidden" name="revers" value="[% HTML.escape(revers) %]">
+ <input type="hidden" name="lastsort" value="[% HTML.escape(lastsort) %]">
+
+ <input type="hidden" name="nextsub" value="generate_report">
+ <input type="hidden" name="sort" value="description">
+
+ <input type="hidden" name="ndxs_counter" value="[% HTML.escape(ndxs_counter) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <table width="100%">
+ <tr height="5"></tr>
+ <tr valign="top">
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap>Part Number</th>
+ <td><input name="partnumber" size="20"></td>
+ <th align="right" nowrap>EAN</th>
+ <td><input name="ean" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Part Description</th>
+ <td colspan="3"><input name="description" size="40"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Group</th>
+ <td><input name="partsgroup" size="20"></td>
+ [%- UNLESS is_service %]
+ <th align="right" nowrap>Serial Number</th> <td><input name="serialnumber" size="20"></td>
+ [%- END %]
+ </tr>
+
+ [%- UNLESS is_service %]
+ <tr>
+ <th align="right" nowrap>Make</th> <td><input name="make" size="20"></td>
+ <th align="right" nowrap>Model</th> <td><input name="model" size="20"></td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <th align="right" nowrap>Drawing</th>
+ <td><input name="drawing" size="20"></td>
+ <th align="right" nowrap>Microfiche</th>
+ <td><input name="microfiche" size="20"></td>
+ </tr>
+
+ [% CUSTOM_VARIABLES_FILTER_CODE %]
+
+ [%- IF is_assembly %]
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <input name="null" id="null_1" class="radio" type="radio" value="1" checked> <label for="null_1">Top Level</label>
+ <input name="bom" id="bom" class="checkbox" type="checkbox" value="1"> <label for="bom">Individual Items</label>
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <input name="itemstatus" id="itemstatus_active" class="radio" type="radio" value="active" checked>
+ <label for="itemstatus_active">Active</label>
+ [%- UNLESS is_service %]
+ <input name="itemstatus" id="itemstatus_onhand" class="radio" type="radio" value="onhand">
+ <label for="itemstatus_onhand">On Hand</label>
+ <input name="itemstatus" id="itemstatus_short" class="radio" type="radio" value="short">
+ <label for="itemstatus_short">Short</label>
+ [%- END %]
+ <input name="itemstatus" id="itemstatus_obsolete" class="radio" type="radio" value="obsolete">
+ <label for="itemstatus_obsolete">Obsolete</label>
+ <input name="itemstatus" id="itemstatus_orphaned" class="radio" type="radio" value="orphaned">
+ <label for="itemstatus_orphaned">Orphaned</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <table>
+ <tr>
+ <td>
+ <table>
+ <tr>
+ [%- UNLESS is_assembly %]
+ <td><input name="bought" id="bought" class="checkbox" type="checkbox" value="1"></td>
+ <td nowrap><label for="bought">Bought</label></td>
+ [%- END %]
+ <td><input name="sold" id="sold" class="checkbox" type="checkbox" value="1"></td>
+ <td nowrap><label for="sold">Sold</label></td>
+ </tr>
+
+ <tr>
+ <td colspan="4"><hr size="1" noshade></td>
+ </tr>
+
+ <tr>
+ [%- UNLESS is_assembly %]
+ <td><input name="onorder" id="onorder" class="checkbox" type="checkbox" value="1"></td>
+ <td nowrap><label for="onorder">On Order</label></td>
+ [%- END %]
+ <td><input name="ordered" id="ordered" class="checkbox" type="checkbox" value="1"></td>
+ <td nowrap><label for="ordered">Ordered</label></td>
+ </tr>
+
+ <tr>
+ <td colspan="4"><hr size="1" noshade></td>
+ </tr>
+
+ <tr>
+ [%- UNLESS is_assembly %]
+ <td><input name="rfq" id="rfq" class="checkbox" type="checkbox" value="1"></td>
+ <td nowrap><label for="rfq">RFQ</label></td>
+ [%- END %]
+ <td><input name="quoted" id="quoted" class="checkbox" type="checkbox" value="1"></td>
+ <td nowrap><label for="quoted">Quoted</label></td>
+ </tr>
+ </table>
+ </td>
+
+ <td width="5%"> </td>
+
+ <td>
+ <table>
+ <tr>
+ <th>From</th>
+ <td><input name="transdatefrom" id="transdatefrom" size="11" title="[% HTML.escape(dateformat) %]"></td>
+ <td><input type="button" name="transdatefrom" id="trigger1" value="button"></td>
+ <th>To (time)</th>
+ <td><input name="transdateto" id="transdateto" size="11" title="[% HTML.escape(dateformat) %]"></td>
+ <td><input type="button" name="transdateto" name="transdateto" id="trigger2" value="button"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <hr size="1" noshade>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Include in Report</th> <td colspan="3">
+ <table>
+ <tr>
+ <td>
+ <input name="l_partnumber" id="l_partnumber" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_partnumber">Part Number</label>
+ </td>
+ <td>
+ <input name="l_description" id="l_description" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_description">Part Description</label>
+ </td>
+ [%- UNLESS is_service %]
+ <td>
+ <input name="l_serialnumber" id="l_serialnumber" class="checkbox" type="checkbox" value="Y">
+ <label for="l_serialnumber">Serial Number</label>
+ </td>
+ [%- END %]
+ <td>
+ <input name="l_unit" id="l_unit" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_unit">Unit of measure</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_listprice" id="l_listprice" class="checkbox" type="checkbox" value="Y">
+ <label for="l_listprice">List Price</label>
+ </td>
+ <td>
+ <input name="l_sellprice" id="l_sellprice" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_sellprice">Sell Price</label>
+ </td>
+ <td>
+ <input name="l_lastcost" id="l_lastcost" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_lastcost">Last Cost</label>
+ </td>
+ <td>
+ <input name="l_linetotal" id="l_linetotal" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_linetotal">Line Total</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_priceupdate" id="l_priceupdate" class="checkbox" type="checkbox" value="Y">
+ <label for="l_priceupdate">Updated</label>
+ </td>
+ <td>
+ <!-- auskommentiert fuer bug nummer 852 - ggf. fuer einen standardlagerplatz verwertet jb 18.5.09-->
+ <!--input name="l_bin" id="l_bin" class="checkbox" type="checkbox" value="Y">
+ <label for="l_bin">Bin</label -->
+ <input name="l_deliverydate" id="l_deliverydate" class="checkbox" type="checkbox" value="Y">
+ <label for="l_deliverydate">deliverydate</label>
+ </td>
+ <td>
+ <input name="l_rop" id="l_rop" class="checkbox" type="checkbox" value="Y">
+ <label for="l_rop">ROP</label>
+ </td>
+ <td>
+ <input name="l_weight" id="l_weight" class="checkbox" type="checkbox" value="Y">
+ <label for="l_weight">Weight</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_image" id="l_image" class="checkbox" type="checkbox" value="Y">
+ <label for="l_image">Image</label>
+ </td>
+ <td>
+ <input name="l_drawing" id="l_drawing" class="checkbox" type="checkbox" value="Y">
+ <label for="l_drawing">Drawing</label>
+ </td>
+ <td>
+ <input name="l_microfiche" id="l_microfiche" class="checkbox" type="checkbox" value="Y">
+ <label for="l_microfiche">Microfiche</label>
+ </td>
+ <td>
+ <input name="l_partsgroup" id="l_partsgroup" class="checkbox" type="checkbox" value="Y">
+ <label for="l_partsgroup">Group</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_subtotal" id="l_subtotal" class="checkbox" type="checkbox" value="Y">
+ <label for="l_subtotal">Subtotal</label>
+ </td>
+ <td>
+ <input name="l_soldtotal" id="l_soldtotal" class="checkbox" type="checkbox" value="Y">
+ <label for="l_soldtotal">soldtotal</label>
+ </td>
+ <td>
+ </td>
+ </tr>
+
+ [% CUSTOM_VARIABLES_INCLUSION_CODE %]
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr><td colspan="4"><hr size="3" noshade></td></tr>
+ </table>
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" });
+ Calendar.setup({ inputField : "transdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
+ //-->
+ </script>
+
+ <p>
+ <input class="submit" type="submit" name="action" value="Continue">
+ <input class="submit" type="submit" name="action" value="TOP100">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body>
+
+ <form method="post" action="ic.pl">
+
+ <input type="hidden" name="title" value="Update prices">
+
+ <div class="listtop">Update prices</div>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right" nowrap>Part Number</th>
+ <td><input name="partnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Part Description</th>
+ <td colspan="3"><input name="description" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Group</th>
+ <td><input name="partsgroup" size="20"></td>
+ <th align="right" nowrap>Serial Number</th>
+ <td><input name="serialnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Make</th>
+ <td><input name="make" size="20"></td>
+ <th align="right" nowrap>Model</th>
+ <td><input name="model" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Drawing</th>
+ <td><input name="drawing" size="20"></td>
+ <th align="right" nowrap>Microfiche</th>
+ <td><input name="microfiche" size="20"></td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="3">
+ <input name="itemstatus" id="itemstatus_active" class="radio" type="radio" value="active" checked>
+ <label for="itemstatus_active">Active</label>
+ <input name="itemstatus" id="itemstatus_onhand" class="radio" type="radio" value="onhand">
+ <label for="itemstatus_onhand">On Hand</label>
+ <input name="itemstatus" id="itemstatus_short" class="radio" type="radio" value="short">
+ <label for="itemstatus_short">Short</label>
+ <input name="itemstatus" id="itemstatus_obsolete" class="radio" type="radio" value="obsolete">
+ <label for="itemstatus_obsolete">Obsolete</label>
+ <input name="itemstatus" id="itemstatus_orphaned" class="radio" type="radio" value="orphaned">
+ <label for="itemstatus_orphaned">Orphaned</label>
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <hr size="1" noshade>
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Preisklasse</th>
+ <th class="listheading">Preis</th>
+ <th class="listheading">Prozentual/Absolut</th>
+ </tr>
+
+ <tr>
+ <td>Sell Price</td>
+ <td><input name="sellprice" size="11" value="[% HTML.escape(sellprice) %]"></td>
+ <td align="center">
+ <input name="sellprice_type" class="radio" type="radio" value="percent" checked> /
+ <input name="sellprice_type" class="radio" type="radio" value="absolut">
+ </td>
+ </tr>
+
+ <tr>
+ <td>List Price</td>
+ <td><input name="listprice" size="11" value="[% HTML.escape(listprice) %]"></td>
+ <td align="center">
+ <input name="listprice_type" class="radio" type="radio" value="percent" checked> /
+ <input name="listprice_type" class="radio" type="radio" value="absolut">
+ </td>
+ </tr>
+
+ [%- FOREACH row = PRICE_ROWS %]
+ <input type="hidden" name="pricegroup_id_[% loop.count %]" value="[% HTML.escape(row.id) %]">
+
+ <tr>
+ <td><input type="hidden" name="pricegroup_[% loop.count %]" size="30" value="[% HTML.escape(row.pricegroup) %]">[% HTML.escape(row.pricegroup) %]</td>
+ <td><input name="price_[% loop.count %]" size="11"></td>
+ <td align="center">
+ <input name="pricegroup_type_[% loop.count %]" class="radio" type="radio" value="percent" checked> /
+ <input name="pricegroup_type_[% loop.count %]" class="radio" type="radio" value="absolut">
+ </td>
+ </tr>
+ [%- END %]
+
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ <input type="hidden" name="nextsub" value="confirm_price_update">
+ <input type="hidden" name="price_rows" value="[% HTML.escape(price_rows) %]">
+
+ <p>
+ <input class="submit" type="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+<body>
+
+ <p><b>Error!</b></p>
+
+ <p>The authentication database is not reachable at the moment. Either it hasn't been set up yet or the database server might be down. Please contact your administrator.</p>
+
+ <p>If you want to set up the authentication database yourself then log in to the administration panel. Lx-Office will then create the database and tables for you.</p>
+
+ <p>
+ <a href="login.pl" target="_top">Login</a> |
+ <a href="admin.pl" target="_top">Administration</a>
+ </p>
+
+</body>
+</html>
--- /dev/null
+<body>
+
+ <p><b>Error!</b></p>
+
+ <p>The authentication configuration file "config/authentication.pl" does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.</p>
+
+ <p>If you yourself want to upgrade the installation then please read the file "doc/UPGRADE" and follow the steps outlined in this file.</p>
+
+ <p>
+ <a href="login.pl" target="_top">Login</a> |
+ <a href="admin.pl" target="_top">Administration</a>
+ </p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body>
+ [%- DEFAULT myconfig_dbhost = 'localhost' %]
+
+ <center>
+ <a href="http://www.lx-office.org" target="_top"><img src="image/lx-office-erp.png" border="0"></a>
+
+ <h2 class="login">Version [% version %]</h2>
+
+ <p>Licensed to</p>
+
+ <p>
+ <b>
+ [% HTML.escape(myconfig_company) %]
+ <br>
+ [% HTML.escape(myconfig_address).replace('\\\\n', '<br>').replace('\n', '<br>') %]
+ </b>
+
+ <br>
+
+ <table border="0">
+ <tr>
+ <th align="left">User</th>
+ <td>[% HTML.escape(myconfig_name) %]</td>
+ </tr>
+ <tr>
+ <th align="left">Dataset</th>
+ <td>[% HTML.escape(myconfig_dbname) %]</td>
+ </tr>
+ <tr>
+ <th align="left">Database Host</th>
+ <td>[% HTML.escape(myconfig_dbhost) %]</td>
+ </tr>
+ <tr>
+ </tr>
+ <tr>
+ </tr>
+ <tr>
+ <th colspan="2" align="center"><a href="http://lx-office.org" target="blank">http://lx-office.org</a></th>
+ </tr>
+ </table>
+
+ <noscript>
+ [% INCLUDE 'generic/information_master.html'
+ title_information = 'Your browser does not currently support Javascript.',
+ label_information = 'A lot of the usability of Lx-Office has been enhanced with javascript. Although it is currently possible to use every aspect of Lx-Office without javascript, we strongly recommend it. In a future version this may change and javascript may be necessary to access advanced features.',
+ %]
+ </noscript>
+ </center>
+
+ [%- todo_list %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body class="login" onLoad="document.loginscreen.login.focus()">
+
+ <center>
+ <table class="login" border="3" cellpadding="20">
+ <tr>
+ <td class="login" align="center">
+ <a href="http://www.lx-office.org" target="_top"><img src="image/lx-office-erp.png" border="0"></a>
+ <h1 class="login" align="center">Version [% version %]</h1>
+
+ [% IF error_message %]
+ <p><span class="error_message">[% error_message %]</span></p>
+ [% END %]
+
+ <p>
+
+ <form method="post" name="loginscreen" action="login.pl" target="_top">
+
+ <input type="hidden" name="show_dbupdate_warning" value="1">
+
+ <table width="100%">
+ <tr>
+ <td align="center">
+ <table>
+ <tr>
+ <th align="right">Login Name</th>
+ <td><input class="login" name="login" size="30" tabindex="1"></td>
+ </tr>
+ <tr>
+ <th align="right">Password</th>
+ <td><input class="login" type="password" name="password" size="30" tabindex="2"></td>
+ </tr>
+ </table>
+
+ <br>
+ <input type="submit" name="action" value="Login" tabindex="3">
+
+ </td>
+ </tr>
+ </table>
+
+ </form>
+
+ </td>
+ </tr>
+ </table>
+
+</body>
+</html>
--- /dev/null
+<body>
+
+ <p><b>Error!</b></p>
+
+ <p>[% error %]</p>
+
+ <p><a href="login.pl" target="_top">Login</a></p>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body style="padding:0px; margin:0px;">
+
+ <script type="text/javascript">
+<!--
+function clockon() {
+ var now = new Date();
+ var h = now.getHours();
+ var m = now.getMinutes();
+ document.getElementById('clock_id').innerHTML = (h<10?'0'+h:h)+":"+(m<10?'0'+m:m);
+ var timer=setTimeout("clockon()", 10000);
+}
+window.onload=clockon
+//-->
+ </script>
+
+ <script type="text/javascript" src="js/dhtmlsuite/menu-for-applications.js"></script>
+
+ <table border="0" width="100%" background="image/bg_titel.gif" cellpadding="0" cellspacing="0">
+ <tr>
+ <td style="color:white; font-family:verdana,arial,sans-serif; font-size: 12px;">
+
+ [<a href="menuv3.pl?action=display" target="_blank">new Window</a>]
+
+ [<a href="JavaScript:top.main_window.print()">print</a>]
+ </td>
+ <td align="right" style="vertical-align:middle; color:white; font-family:verdana,arial,sans-serif; font-size: 12px;" nowrap>
+ [User: [% HTML.escape(login) %] -
+ <a href="login.pl?action=logout" target="_top">logout</a>]
+ [% date %] <span id='clock_id' style='position:relative'></span>
+ </td>
+ </tr>
+ </table>
+
+ <div id="main_menu_div"></div>
+
+ [%- SET main_id = '100' %]
+ <ul id="main_menu_model">
+ [%- FOREACH mainitem = menu_items %]
+ [%- SET main_id = main_id + 1 %]
+ <li id="[% main_id %]">
+ <a href="[% IF mainitem.href %][% mainitem.href %][% ELSE %]#[% END %]"[% IF mainitem.target %] target="[% mainitem.target %]"[% END %]>
+ [%- HTML.escape(mainitem.title) %]
+ </a>
+ [%- IF mainitem.subitems %]
+ <ul[%- IF force_ul_width %] width="[% mainitem.max_width * 12 %]"[% END %]>
+ [%- SET sub1_id = main_id * 100 %]
+ [%- FOREACH sub1item = mainitem.subitems %]
+ [%- SET sub1_id = sub1_id + 1 %]
+ <li id="[% sub1_id %]">
+ <a href="[% IF sub1item.href %][% sub1item.href %][% ELSE %]#[% END %]"[% IF sub1item.target %] target="[% sub1item.target %]"[% END %]>
+ [%- HTML.escape(sub1item.title) %]
+ </a>
+ [%- IF sub1item.subitems %]
+ <ul[%- IF force_ul_width %] width="[% sub1item.max_width * 12 %]"[% END %]>
+ [%- SET sub2_id = sub1_id * 100 %]
+ [%- FOREACH sub2item = sub1item.subitems %]
+ [%- SET sub2_id = sub2_id + 1 %]
+ <li id="[% sub2_id %]">
+ <a href="[% IF sub2item.href %][% sub2item.href %][% ELSE %]#[% END %]"[% IF sub2item.target %] target="[% sub2item.target %]"[% END %]>
+ [%- HTML.escape(sub2item.title) %]
+ </a>
+ </li>
+ [%- END %]
+ </ul>
+ [%- END %]
+ </li>
+ [%- END %]
+ </ul>
+ [%- END %]
+ </li>
+ [%- END %]
+ </ul>
+
+ <script type="text/javascript">
+ <!--
+
+DHTMLSuite.createStandardObjects();
+
+DHTMLSuite.configObj.setCssPath('css/dhtmlsuite/');
+DHTMLSuite.configObj.setImagePath('image/dhtmlsuite/');
+
+var menu_model = new DHTMLSuite.menuModel();
+menu_model.addItemsFromMarkup('main_menu_model');
+menu_model.init();
+
+var menu_bar = new DHTMLSuite.menuBar();
+menu_bar.addMenuItems(menu_model);
+menu_bar.setTarget('main_menu_div');
+menu_bar.init();
+
+function open_url(url, target) {
+
+}
+
+ -->
+ </script>
+
+ <iframe id="win1" src="[% callback %]" width="100%" height="94%" name="main_window" style="position: absolute; border: 0px; z-index: 99; ">
+ <p>MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES</p>
+ </iframe>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body style="padding:0px; margin:0px;">
+
+ <script type="text/javascript">
+<!--
+function clockon() {
+ var now = new Date();
+ var h = now.getHours();
+ var m = now.getMinutes();
+ document.getElementById('clock_id').innerHTML = (h<10?'0'+h:h)+":"+(m<10?'0'+m:m);
+ var timer=setTimeout("clockon()", 10000);
+}
+window.onload=clockon
+//-->
+ </script>
+
+ <table border="0" width="100%" background="image/bg_titel.gif" cellpadding="0" cellspacing="0">
+ <tr>
+ <td style="color:white; font-family:verdana,arial,sans-serif; font-size: 12px;">
+
+ [<a href="menuv3.pl?action=display" target="_blank">new Window</a>]
+
+ [<a href="JavaScript:top.main_window.print()">print</a>]
+ </td>
+ <td align="right" style="vertical-align:middle; color:white; font-family:verdana,arial,sans-serif; font-size: 12px;" nowrap>
+ [User: [% HTML.escape(login) %] -
+ <a href="login.pl?action=logout" target="_top">logout</a>]
+ [% date %] <span id='clock_id' style='position:relative'></span>
+ </td>
+ </tr>
+ </table>
+
+
+ <div id="menu">
+
+ [% menu %]
+
+ </div>
+
+ <div style="clear: both;"></div>
+
+ <iframe id="win1" src="[% callback %]" width="100%" height="94%" name="main_window" style="position: absolute; border: 0px; z-index: 99; ">
+ <p>MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES</p>
+ </iframe>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body style="padding:0px; margin:0px;">
+
+ <script type="text/javascript">
+<!--
+function clockon() {
+ var now = new Date();
+ var h = now.getHours();
+ var m = now.getMinutes();
+ document.getElementById('clock_id').innerHTML = (h<10?'0'+h:h)+":"+(m<10?'0'+m:m);
+ var timer=setTimeout("clockon()", 10000);
+}
+window.onload=clockon
+//-->
+ </script>
+
+ <table border="0" width="100%" background="image/bg_titel.gif" cellpadding="0" cellspacing="0">
+ <tr>
+ <td style="color:white; font-family:verdana,arial,sans-serif; font-size: 12px;">
+
+ [<a href="menuv4.pl?action=display" target="_blank">new Window</a>]
+
+ [<a href="JavaScript:top.main_window.print()">print</a>]
+ </td>
+ <td align="right" style="vertical-align:middle; color:white; font-family:verdana,arial,sans-serif; font-size: 12px;" nowrap>
+ [User: [% HTML.escape(login) %] -
+ <a href="login.pl?action=logout" target="_top">logout</a>]
+ [% date %] <span id='clock_id' style='position:relative'></span>
+ </td>
+ </tr>
+ </table>
+
+
+ <div id="menu">
+
+ [% menu %]
+
+ </div>
+
+ <div style="clear: both;"></div>
+
+ <iframe id="win1" src="[% callback %]" width="100%" height="94%" name="main_window" style="position: absolute; border: 0px; z-index: 99; ">
+ <p>MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES</p>
+ </iframe>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop" width="100%">Carry over shipping address</div>
+
+ <p>You have entered or selected the following shipping address for this customer:</p>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right" valign="top">Name:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptoname) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Department:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptodepartment_1) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top"> </th>
+ <td valign="top">[% HTML.escape(CFDD_shiptodepartment_2) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Street:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptostreet) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Zipcode:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptozipcode) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">City:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptocity) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Country:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptocountry) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Contact:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptocontact) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Phone:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptophone) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">Fax:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptofax) %]</td>
+ </tr>
+
+ <tr>
+ <th align="right" valign="top">E-mail:</th>
+ <td valign="top">[% HTML.escape(CFDD_shiptoemail) %]</td>
+ </tr>
+ </table>
+ </p>
+
+ Do you want to carry this shipping address over to the new purchase order so that the vendor can deliver the goods directly to your customer?
+ </p>
+
+ <form method="post" action="oe.pl">
+
+ <p>
+ <input type="submit" name="action" value="Yes">
+ <input type="submit" name="action" value="No">
+ </p>
+
+ <input type="hidden" name="yes_nextsub" value="check_for_direct_delivery_yes">
+ <input type="hidden" name="no_nextsub" value="check_for_direct_delivery_no">
+
+ [%- FOREACH row = VARIABLES %]
+ <input type="hidden" name="[% HTML.escape(row.key) %]" value="[% HTML.escape(row.value) %]">
+ [%- END %]
+
+ </form>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+ <tr>
+ <td>
+ <table width="100%">
+ <tr valign="bottom">
+ <td>
+ <table>
+ <tr>
+ <th align="left">Notes</th>
+ <th align="left">Internal Notes</th>
+ </tr>
+ <tr valign="top">
+ <td>[% notes %]</td>
+ <td>[% intnotes %]</td>
+ </tr>
+ <tr>
+ <th align="right">Payment Terms</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'payment_id',
+ style = 'width: 250px',
+ DATA = ALL_PAYMENTS,
+ id_key = 'id',
+ label_key = 'description',
+ show_empty = 1 -%]
+ </td>
+ </tr>
+ [%- IF id && num_follow_ups %]
+ <tr>
+ <td colspan="2">[% LxERP.format_string('There are #1 unfinished follow-ups of which #2 are due.', num_follow_ups, num_due_follow_ups) %]</td>
+ </tr>
+ [%- END %]
+ </table>
+ </td>
+[%- IF is_sales %]
+ <td>
+ <table>
+
+ <tr>
+ <th align="left">Ertrag</th>
+ <td align="right">[% LxERP.format_amount(marge_total, 2) %]</td>
+ </tr>
+ <tr>
+ <th align="left">Ertrag prozentual</th>
+ <td align="right">[% LxERP.format_amount(marge_percent, 2) %]</td>
+ <td>%</td>
+ </tr>
+
+ <input type="hidden" name="marge_total" value="[% HTML.escape(marge_total) %]">
+ <input type="hidden" name="marge_percent" value="[% HTML.escape(marge_percent) %]">
+ </table>
+ </td>
+[%- END %]
+ <td align="right">
+[%- IF taxaccounts %]
+ <input name="taxincluded" class="checkbox" type="checkbox" value="1"[% IF taxincluded %] checked[% END %]><b>Tax Included</b><br><br>
+[%- END %]
+ <table>
+[%- IF NOT taxincluded %]
+ <tr>
+ <th align='right'>Subtotal</th>
+ <td align='right'>[% LxERP.format_amount(invsubtotal, 2) %]</td>
+ </tr>
+[%- END %]
+ [% tax %]
+ <tr>
+ <th align="right">Total</th>
+ <td align="right">[% LxERP.format_amount(invtotal, 2) %]</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <input type="hidden" name="oldinvtotal" value="[% HTML.escape(oldinvtotal) %]">
+ <input type="hidden" name="oldtotalpaid" value="[% HTML.escape(totalpaid) %]">
+ <tr>
+ <td><hr size="3" noshade></td>
+ </tr>
+
+[%- IF webdav %]
+ <tr>
+ <th class="listtop" align="left">Dokumente im Webdav-Repository</th>
+ </tr>
+ <tr>
+ <td>
+ <table width="100%">
+ <tr>
+ <td align="left" width="30%"><b>Dateiname</b></td>
+ <td align="left" width="70%"><b>Webdavlink</b></td>
+ </tr>
+ [%- FOREACH file=WEBDAV %]
+ <tr>
+ <td align="left">[% HTML.escape(file.name) %]</td>
+ <td align="left"><a href="[% file.link %]">[% HTML.escape(file.type) %]</a></td>
+ </tr>
+ [%- END %]
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td><hr size="3" noshade></td>
+ </tr>
+[%- END %]
+
+ <tr>
+ <td>
+ [% print_options %]
+ </td>
+ </tr>
+</table>
+
+[% label_edit %]<br>
+<input class="submit" type="submit" name="action" id="update_button" value="Update">
+<input class="submit" type="submit" name="action" value="Ship to">
+<input class="submit" type="submit" name="action" value="Print">
+<input class="submit" type="submit" name="action" value="E-mail">
+<input class="submit" type="submit" name="action" value="Save">
+<input class="submit" type="submit" name="action" value="Save and Close">
+
+[%- IF id %]
+ <input type="button" class="submit" onclick="follow_up_window()" value="Follow-Up">
+ <input type="button" class="submit" onclick="set_history_window([% HTML.escape(id) %])" name="history" id="history" value="history">
+
+ <br>[% label_workflow %]<br>
+ <input class="submit" type="submit" name="action" value="Save as new">
+ <input class="submit" type="submit" name="action" value="Delete">
+
+ [%- IF is_sales_quo %]
+ <input class="submit" type="submit" name="action" value="Sales Order">
+ [%- END %]
+
+ [%- IF is_req_quo %]
+ <input class="submit" type="submit" name="action" value="Purchase Order">
+ [%- END %]
+
+ [%- IF is_sales_ord || is_pur_ord %]
+ <input class="submit" type="submit" name="action" value="Delivery Order">
+ [%- END %]
+
+ <input class="submit" type="submit" name="action" value="Invoice">
+
+ [%- IF is_sales_ord || is_pur_ord %]
+ <br>[% heading %] als neue Vorlage verwenden für<br>
+ [%- IF is_sales_ord %]
+ <input class="submit" type="submit" name="action" value="Purchase Order">
+ <input class="submit" type="submit" name="action" value="Quotation">
+ [%- ELSE %]
+ [%- IF is_pur_ord %]
+ <input class="submit" type="submit" name="action" value="Sales Order">
+ <input class="submit" type="submit" name="action" value="Request for Quotation">
+ [%- END %]
+ [%- END %]
+ [%- END %]
+[%- END %]
+<input type="hidden" name="saved_xyznumber" value="[% HTML.escape(saved_xyznumber) %]">
+<input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
+<input type="hidden" name="callback" value="[% callback %]">
+[% IF vc == 'customer' %]
+ <input type="hidden" name="customer_discount" value="[% HTML.escape(customer_discount) %]">
+[% ELSE %]
+ <input type="hidden" name="vendor_discount" value="[% HTML.escape(vendor_discount) %]">
+[% END %]
+
+</form>
+
+</body>
+</html>
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body onLoad="[% onload %]">
+
+ <form method="post" name="oe" action="[% script %]">
+
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/delivery_customer_selection.js"></script>
+ <script type="text/javascript" src="js/vendor_selection.js"></script>
+ <script type="text/javascript" src="js/calculate_qty.js"></script>
+ <script type="text/javascript" src="js/customer_or_vendor_selection.js"></script>
+ <script type="text/javascript" src="js/follow_up.js"></script>
+
+[%- FOREACH row = HIDDENS %]
+ <input type="hidden" name="[% HTML.escape(row.name) %]" value="[% HTML.escape(row.value) %]" >
+[%- END %]
+
+ <input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
+
+ <input type="hidden" name="follow_up_trans_id_1" value="[% HTML.escape(id) %]">
+ <input type="hidden" name="follow_up_trans_type_1" value="[% HTML.escape(type) %]">
+ <input type="hidden" name="follow_up_trans_info_1" value="[% HTML.escape(follow_up_trans_info) %]">
+ <input type="hidden" name="follow_up_rowcount" value="1">
+
+ <div class="listtop">[% title %]</div>
+
+ <table width="100%">
+ <tr height="5"></tr>
+ <tr>
+ <td>
+ <table width="100%">
+ <tr valign="top">
+ <td width="50%">
+ <table width="100%">
+ <tr>
+ <th align="right">[% IF vc == 'customer' %]Customer[% ELSE %]Vendor[% END %]</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = vc,
+ style = 'width: 250px',
+ DATA = vc == 'customer' ? ALL_CUSTOMERS : ALL_VENDORS,
+ id_sub = 'vc_keys',
+ label_key = 'name',
+ select = vc_select,
+ limit = vclimit,
+ allow_textbox = 1,
+ onChange = "document.getElementById('update_button').click();" -%]
+ <input type="button" value="Details (one letter abbreviation)" onclick="show_vc_details('[% HTML.escape(vc) %]')">
+ </td>
+ </tr>
+[%- IF ALL_CONTACTS.size %]
+ <tr>
+ <th align="right">Contact Person</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'cp_id',
+ style = 'width: 250px',
+ DATA = ALL_CONTACTS,
+ id_key = 'cp_id',
+ label_sub = 'contact_labels',
+ show_empty = 1 -%]
+ </td>
+ </tr>
+[%- END %]
+[%- IF ALL_SHIPTO.size %]
+ <tr>
+ <th align="right">Shipping Address</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'shipto_id',
+ style = 'width: 250px',
+ DATA = ALL_SHIPTO,
+ id_key = 'shipto_id',
+ label_sub = 'shipto_labels',
+ show_empty = 1,
+ onChange = "document.getElementById('update_button').click();" -%]
+ </td>
+ </tr>
+[%- END %]
+[%- IF is_order %]
+ <tr>
+ <td align="right">Credit Limit</td>
+ <td>[% LxERP.format_amount(creditlimit, 0) %]; Remaining <span class="plus[% is_credit_remaining_negativ %]">[% LxERP.format_amount(creditremaining, 0) %]</span></td>
+ </tr>
+[%- END %]
+[%- IF business %]
+ <tr>
+ <th align="right">[% business_label %]</th>
+ <td>[% HTML.escape(business) %]; Trade Discount [% LxERP.format_percent(tradediscount) %] %</td>
+ </tr>
+[%- END %]
+[%- IF max_dunning_level %]
+ <tr>
+ <th align="right">Max. Dunning Level:</th>
+ <td>
+ <b>[% HTML.escape(max_dunning_level) %]</b>;
+ Dunning Amount: <b>[% LxERP.format_amount(dunning_amount, 2) %]</b>
+ </td>
+ </tr>
+[%- END %]
+ <tr>
+ <th align="right">Steuersatz</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'taxzone_id',
+ style = 'width: 250px',
+ DATA = ALL_TAXZONES,
+ id_key = 'id',
+ label_key = 'description' -%]
+ </td>
+ </tr>
+[%- IF ALL_DEPARTMENTS %]
+ <tr>
+ <th align="right" nowrap>Department</th>
+ <td colspan="3">
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'department_id',
+ style = 'width: 250px',
+ DATA = ALL_DEPARTMENTS,
+ id_key = 'id',
+ label_sub = 'department_labels',
+ show_empty = 1 -%]
+ </td>
+ </tr>
+[%- END %]
+ <tr>
+[%- IF currencies %]
+ <tr>
+ <th align="right">Currency</th>
+ <td>[% currencies %]</td>
+ </tr>
+[%- END %]
+[%- IF show_exchangerate %]
+ <tr>
+ <th align="right">Exchangerate</th>
+ <td>
+ [%- IF forex %]
+ [% LxERP.format_amount(exchangerate, 2) %]
+ [%- ELSE %]
+ <input name="exchangerate" size="10" value="[% HTML.escape(LxERP.format_amount(exchangerate)) %]">
+ [%- END %]
+ </td>
+ </tr>
+[%- END %]
+ <tr>
+ <th align="right">Shipping Point</th>
+ <td colspan="3"><input name="shippingpoint" size="35" value="[% HTML.escape(shippingpoint) %]"></td>
+ </tr>
+ <tr>
+ <th align="right">Ship via</th>
+ <td colspan="3"><input name="shipvia" size="35" value="[% HTML.escape(shipvia) %]"></td>
+ </tr>
+ <tr>
+ <th align="right">Transaction description</th>
+ <td colspan="3"><input name="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"></td>
+ </tr>
+[%- IF show_delivery_customer %]
+ <tr>
+ <td colspan="4">
+ <table>
+ <tr>
+ <td colspan="2">
+ <button type="button" onclick="delivery_customer_selection_window('delivery_customer_string','delivery_customer_id')">Choose Customer</button>
+ </td>
+ <td colspan="2"><input type="hidden" name="delivery_customer_id" value="[% HTML.escape(delivery_customer_id) %]">
+ <input size="45" id="delivery_customer_string" name="delivery_customer_string" value="[% HTML.escape(delivery_customer_string) %]"></td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <button type="button" onclick="vendor_selection_window('delivery_vendor_string','delivery_vendor_id')">Choose Vendor</button>
+ </td>
+ <td colspan="2"><input type="hidden" name="delivery_vendor_id" value="[% HTML.escape(delivery_vendor_id) %]">
+ <input size="45" id="vendor_string" name="delivery_vendor_string" value="[% HTML.escape(delivery_vendor_string) %]"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+[%- END %]
+ </table>
+ </td>
+ <td align="right">
+ <table>
+ [% openclosed %]
+ <tr>
+ <th align="right">Employee</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'employee_id',
+ DATA = ALL_EMPLOYEES,
+ id_key = 'id',
+ label_sub = 'sales_employee_labels' -%]
+ </td>
+ </tr>
+[%- IF is_sales and ALL_SALESMEN.size %]
+ <tr>
+ <th align="right">Salesman</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'salesman_id',
+ default = salesman_id ? salesman_id : employee_id,
+ DATA = ALL_SALESMEN,
+ id_key = 'id',
+ label_sub = 'sales_employee_labels' -%]
+ </td>
+ </tr>
+[%- END %]
+[%- IF is_order %]
+ <tr>
+ <th width="70%" align="right" nowrap>Order Number</th>
+ <td><input name="ordnumber" size="11" value="[% HTML.escape(ordnumber) %]"></td>
+ </tr>
+[%- END %]
+ <tr>
+ <th width="70%" align="right" nowrap>[% IF is_req_quo %]RFQ Number[% ELSE %]Quotation Number[% END %]</th>
+ <td><input name="quonumber" size="11" value="[% HTML.escape(quonumber) %]"></td>
+ </tr>
+[%- IF is_order %]
+ <tr>
+ <th width="70%" align="right" nowrap>Customer Order Number</th>
+ <td><input name="cusordnumber" size="11" value="[% HTML.escape(cusordnumber) %]"></td>
+ </tr>
+[%- END %]
+ <tr>
+ <th align="right" nowrap>
+ [%- IF is_order %]
+ Order Date
+ [%- ELSE %]
+ Quotation Date
+ [%- END %]
+ </th>
+ <td nowrap>
+ <input name=transdate id=transdate size=11 title="[% HTML.escape(dateformat) %]" value="[% transdate %]" onBlur="check_right_date_format(this)">
+ <input type=button name=transdate id="trigger1" value="button">
+ </td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>
+ [%- IF is_sales_quo %]
+ Valid until
+ [%- ELSE %]
+ Required by
+ [%- END %]
+ </th>
+ <td nowrap>
+ <input name=reqdate id=reqdate size=11 title="[% HTML.escape(dateformat) %]" value="[% reqdate %]" onBlur="check_right_date_format(this)">
+ <input type=button name=reqdate id="trigger2" value="button">
+ </td>
+ </tr>
+ <tr>
+ <th width="70%" align="right" nowrap>Project Number</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'globalproject_id',
+ DATA = ALL_PROJECTS,
+ id_key = 'id',
+ label_key = 'projectnumber',
+ show_empty = 1,
+ onChange = "document.getElementById('update_button').click();" -%]
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "transdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" });
+ Calendar.setup({ inputField : "reqdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
+ //-->
+ </script>
--- /dev/null
+[% USE HTML %]
+ [%- IF SHOW_CONTINUE_BUTTON %]
+ New sales order<br>
+ <input class="submit" type="submit" name="action" value="Continue">
+ [%- END %]
+ <input type="hidden" name="nextsub" value="edit">
+ <input type="hidden" name="type" value="[% HTML.escape(type) %]">
+ <input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+ <input type="hidden" name="rowcount" value="[% HTML.escape(rowcount) %]">
+</form>
--- /dev/null
+<form method="post" action="oe.pl">
--- /dev/null
+[% USE HTML %][% USE LxERP %]
+
+<div class="listtop">Overdue sales quotations and requests for quotations</div>
+
+<p>
+ <table width="100%">
+ <tr>
+ <td class="listheading">Date</td>
+ <td class="listheading">Valid until</td>
+ <td class="listheading">Sales quotation / Request quotation</td>
+ <td class="listheading">Customer / Vendor</td>
+ <td class="listheading">Transaction description</td>
+ <td class="listheading">Amount</td>
+ <td class="listheading">Employee</td>
+ </tr>
+
+ [%- FOREACH row = QUOTATIONS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <td>[% HTML.escape(row.transdate) %]</td>
+ <td>[% HTML.escape(row.reqdate) %]</td>
+ <td>
+ <a href="[% edit_url %]&vc=[% HTML.url(row.vc) %]&type=[% IF row.vc == 'customer' %]sales_quotation[% ELSE %]request_quotation[% END %]&id=[% HTML.url(row.id) %]">
+ [% IF row.vc == 'customer' %]
+ Sales quotation
+ [% ELSE %]
+ Request quotation
+ [% END %]
+ [% HTML.escape(row.quonumber) %]
+ </a>
+ </td>
+ <td>
+ [% IF row.vc == 'customer' %]
+ [% HTML.escape(row.customer) %]
+ [% ELSE %]
+ [% HTML.escape(row.vendor) %]
+ [% END %]
+ </td>
+ <td>[% HTML.escape(row.transaction_description) %]</td>
+ <td>[% HTML.escape(LxERP.format_amount(row.amount, 2)) %]</td>
+ <td>[% HTML.escape(row.employee) %]</td>
+ </tr>
+ [%- END %]
+ </table>
+</p>
--- /dev/null
+[% USE HTML %]
+<tr>
+ <td>
+ <input type="hidden" name="show_details" value="[% HTML.escape(show_details) %]">
+ <input type="checkbox" id="cb_show_details" onclick="show_form_details([% IF show_details %]0[% ELSE %]1[% END %]);"[%- IF show_details %] checked[% END %]>
+ <label for="cb_show_details">Show details</label><br>
+ <table width="100%">
+ <tr class="listheading">[% FOREACH header = HEADER %][% IF header.display %]
+ <th align="left" nowrap width="[% header.width %]" class="listheading">[% header.value %]</th>[% END %][% END %]
+ </tr>
+
+ [% FOREACH row = ROWS %]
+ <tr valign="top" class="[% IF row.error %]error_message[% ELSE %]listrow[% loop.count % 2 %][% END %]">[% FOREACH row1 = row.ROW1 %]
+ <td align="[% row1.align %]"[% IF row1.nowrap %] nowrap[% END %]>[% row1.value %]</td>[% END %]
+ </tr>
+
+ [% FOREACH hidden = row.HIDDENS %][% hidden.value %]
+ [% END %]
+
+ <tr class="listrow[% loop.count % 2 %]" [% UNLESS show_details %]style="display:none;"[% END %]><td colspan="[% row.colspan %]">[% FOREACH row2 = row.ROW2 %]
+ [% IF row2.line_break %]<br/>[% END %]
+ [% row2.value %][% END %]
+ </td></tr>
+ [% END %]
+
+ </table>
+ </td>
+</tr>
--- /dev/null
+[%- USE HTML %]
+[%- SET vclabel = vc == 'customer' ? 'Customer' : 'Vendor' %]
+<body>
+
+<form method="post" action="oe.pl">
+
+ <p><div class="listtop">[% HTML.escape(title) %]</div></p>
+
+<table width="100%">
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right">[% HTML.escape(vclabel) %]</th>
+ <td colspan="3">
+ [%- INCLUDE 'generic/multibox.html'
+ name = vc,
+ default = vc == 'customer' ? oldcustomer : oldvendor,
+ style = 'width: 250px',
+ DATA = ALL_VC,
+ id_sub = 'vc_keys',
+ label_key = 'name',
+ select = vc_select,
+ limit = vclimit,
+ show_empty = 1,
+ allow_textbox = 1,
+ -%]
+ </td>
+ </tr>
+[%- IF ALL_DEPARTMENTS.size %]
+ <tr>
+ <th align="right" nowrap>Department</th>
+ <td colspan="3">
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'department_id',
+ style = 'width: 250px',
+ DATA = ALL_DEPARTMENTS,
+ id_key = 'id',
+ label_key = 'description',
+ limit = vclimit,
+ show_empty = 1,
+ allow_textbox = 1,
+ -%]
+ </td>
+ </tr>
+[%- END %]
+ <tr>
+ <th align="right">[% HTML.escape(ordlabel) %]</th>
+ <td colspan="3"><input name="[% HTML.escape(ordnrname) %]" style="width: 250px"></td>
+ </tr>
+ <tr>
+ <th align="right">Employee</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'employee_id',
+ style = 'width: 250px',
+ DATA = ALL_EMPLOYEES,
+ id_key = 'id',
+ label_sub = 'employee_labels',
+ limit = vclimit,
+ show_empty = 1,
+ allow_textbox = 0,
+ default = ' ',
+ -%]
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Salesman</th>
+ <td>
+ [%- INCLUDE 'generic/multibox.html'
+ name = 'salesman_id',
+ style = 'width: 250px',
+ DATA = ALL_SALESMEN,
+ id_key = 'id',
+ label_sub = 'salesman_labels',
+ limit = vclimit,
+ show_empty = 1,
+ allow_textbox = 0,
+ -%]
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Transaction description</th>
+ <td colspan="3"><input name="transaction_description" style="width: 250px"></td>
+ </tr>
+ <tr>
+ <th align="right">Project Number</th>
+ <td colspan="3">
+ [%- INCLUDE 'generic/multibox.html'
+ name = vclimit < ALL_PROJECTS.size ? 'projectnumber' : 'project_id',
+ style = "width: 250px",
+ DATA = ALL_PROJECTS,
+ id_key = 'id',
+ label_key = 'projectnumber',
+ limit = vclimit,
+ show_empty = 1,
+ allow_textbox = 1,
+ -%]
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Order Date From</th>
+ <td>
+ <input name="transdatefrom" id="transdatefrom" size="11" title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="transdatefrom" id="trigger3" value="?">
+ </td>
+ <th align="right">Bis</th>
+ <td>
+ <input name="transdateto" id="transdateto" size="11" title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type="button" name="transdateto" name="transdateto" id="trigger4" value="?">
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Delivery Date From</th>
+ <td>
+ <input name=reqdatefrom id=reqdatefrom size=11 title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type=button name=reqdatefrom id="trigger5" value=?>
+ </td>
+ <th align="right">Bis</th>
+ <td>
+ <input name=reqdateto id=reqdateto size=11 title="[% HTML.escape(dateformat) %]" onBlur="check_right_date_format(this)">
+ <input type=button name=reqdateto name=reqdateto id="trigger6" value=?>
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Include in Report</th>
+ <td colspan="5">
+ <table>
+ <tr>
+ <td>
+ <input type="checkbox" name="open" value="1" id="open" checked>
+ <label for="open">Open</label>
+ </td>
+ <td>
+ <input type="checkbox" name="closed" value="1" id="closed">
+ <label for="closed">Closed</label>
+ </td>
+ </tr>
+[%- IF type == 'sales_order' OR type == 'purchase_order' %]
+ <tr>
+ <td>
+ <input name="notdelivered" id="notdelivered" class="checkbox" type="checkbox" value="1" checked>
+ <label for="notdelivered">Not delivered</label>
+ </td>
+ <td>
+ <input name="delivered" id="delivered" class="checkbox" type="checkbox" value="1" checked>
+ <label for="delivered">Delivered</label>
+ </td>
+ </tr>
+[%- END %]
+ <tr>
+ <td>
+ <input name="l_id" id="l_id" class="checkbox" type="checkbox" value="Y">
+ <label for="l_id">ID</label>
+ </td>
+ <td>
+ <input name="l_[% HTML.escape(ordnrname) %]" id="l_[% HTML.escape(ordnrname) %]" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_[% HTML.escape(ordnrname) %]">[% HTML.escape(ordlabel) %]</label>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_transdate" id="l_transdate" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_transdate">Date</label>
+ </td>
+ <td>
+ <input name="l_reqdate" id="l_reqdate" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_reqdate">Required by</label>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_name" id="l_name" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_name">[% HTML.escape(vclabel) %]
+ </td>
+ <td>
+ <input name="l_employee" id="l_employee" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_employee">Employee</label>
+ </td>
+ <td>
+ <input name="l_shipvia" id="l_shipvia" class="checkbox" type="checkbox" value="Y">
+ <label for="l_shipvia">Ship via</label>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_netamount" id="l_netamount" class="checkbox" type="checkbox" value="Y">
+ <label for="l_netamount">Amount</label>
+ </td>
+ <td>
+ <input name="l_tax" id="l_tax" class="checkbox" type="checkbox" value="Y">
+ <label for="l_tax">Tax</label>
+ </td>
+ <td>
+ <input name="l_amount" id="l_amount" class="checkbox" type="checkbox" value="Y" checked>
+ <label for="l_amount">Total</label>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_marge_total" id="l_marge_total" class="checkbox" type="checkbox" value="Y">
+ <label for="l_marge_total">Ertrag</label>
+ </td>
+ <td>
+ <input name="l_marge_percent" id="l_marge_percent" class="checkbox" type="checkbox" value="Y">
+ <label for="l_marge_percent">Ertrag prozentual</label>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_globalprojectnumber" id="l_globalprojectnumber" class="checkbox" type="checkbox" value="Y">
+ <label for="l_globalprojectnumber">Project Number</label>
+ </td>
+ <td>
+ <input name="l_transaction_description" id="l_transaction_description" class="checkbox" type="checkbox" value="Y">
+ <label for="l_transaction_description">Transaction description</label>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_subtotal" id="l_subtotal" class="checkbox" type="checkbox" value="Y">
+ <label for="l_subtotal">Subtotal</label>
+ </td>
+ <td>
+ <input name="l_salesman" id="l_salesman" class="checkbox" type="checkbox" value="Y">
+ <label for="l_salesman">Salesman</label>
+ </td>
+ </tr>
+ <tr>
+ <td colspan=4 align=left><b>Customer</td>
+ </tr>
+ <tr>
+ <td>
+ <input name="l_country" id="l_country" class="checkbox" type="checkbox" value="Y">
+ <label for="l_country">Country</label>
+ </td>
+ <td>
+ <input name="l_ustid" id="l_ustid" class="checkbox" type="checkbox" value="Y">
+ <label for="l_ustid">USt-IdNr.</label>
+ </td>
+ </tr>
+[%- IF type == 'sales_order' %]
+ <tr><td colspan="3"><hr></td></tr>
+[%- END %]
+ </table>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ Calendar.setup({ inputField : "transdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger3" });
+ Calendar.setup({ inputField : "transdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger4" });
+ Calendar.setup({ inputField : "reqdatefrom", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger5" });
+ Calendar.setup({ inputField : "reqdateto", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger6" });
+ //-->
+</script>
+
+<br>
+<input type="hidden" name="nextsub" value="orders">
+<input type="hidden" name="vc" value="[% HTML.escape(vc) %]">
+<input type="hidden" name="type" value="[% HTML.escape(type) %]">
+<input class="submit" type="submit" name="action" value="Continue">
+</form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body>
+
+ [%- IF message %]
+ <p>[% message %]</p>
+
+ <hr>
+ [%- END %]
+
+ <p><div class="listtop">[% title %]</div></p>
+
+ <form method="post" action="projects.pl">
+
+ <input type="hidden" name="project.id" value="[% HTML.escape(project.id) %]">
+ <input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
+
+ <ul id="maintab" class="shadetabs">
+ <li class="selected"><a href="#" rel="basic_data">Basic data</a></li>
+ [%- IF CUSTOM_VARIABLES.size %]
+ <li><a href="#" rel="custom_variables">Custom Variables</a></li>
+ [%- END %]
+ </ul>
+
+ <div class="tabcontentstyle">
+
+ <div id="basic_data" class="tabcontent">
+
+ <table>
+ <tr>
+ <th align="right">Number</th>
+ <td><input name="project.projectnumber" size="20" value="[% HTML.escape(project.projectnumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Description</th>
+ <td>
+ [%- SET rows = LxERP.numtextrows(project.description, 60) %]
+ [%- IF rows > 1 %]
+ <textarea name="project.description" rows="rows" cols="60" style="width: 100%" wrap="soft">[% HTML.escape(project.description) %]</textarea>
+ [%- ELSE %]
+ <input name="project.description" size="60" value="[% HTML.escape(project.description) %]">
+ [%- END %]
+ </td>
+ </tr>
+
+ [%- IF project.id %]
+ <tr>
+ <th align="right"> </th>
+ <td>
+ <input type="radio" name="project.active" id="active_1" value="1"[% IF project.active %] checked[% END %]><label for="active_1">Active</label>
+ <input type="radio" name="project.active" id="active_0" value="0"[% IF !project.active %] checked[% END %]><label for="active_0">Inactive</label>
+ </td>
+ </tr>
+ [%- END %]
+ </table>
+
+ <br style="clear: left" />
+ </div>
+
+ [%- IF CUSTOM_VARIABLES.size %]
+ <div id="custom_variables" class="tabcontent">
+
+ <p>
+ <table>
+ [%- FOREACH var = CUSTOM_VARIABLES %]
+ <tr>
+ <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
+ <td valign="top">[% var.HTML_CODE %]</td>
+ </tr>
+ [%- END %]
+ </table>
+ </p>
+
+ <br style="clear: left" />
+ </div>
+ [%- END %]
+
+ </div>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Save">
+ [%- IF project.id %]
+ <input type="submit" class="submit" name="action" value="Save as new">
+ [%- IF project.orphaned %]
+ <input type="submit" class="submit" name="action" value="Delete">
+ [%- END %]
+ <input type="button" onclick="set_history_window([% HTML.escape(project.id) %]);" name="history" id="history" value="history">
+ [%- END %]
+ </p>
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ var maintab = new ddtabcontent("maintab");
+ maintab.setpersist(true);
+ maintab.setselectedClassTarget("link"); //"link" or "linkparent"
+ maintab.init();
+ -->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <form method="post" action="projects.pl">
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right">Number</th>
+ <td><input name="filter.projectnumber" size="20"></td>
+ </tr>
+
+ <tr>
+ <th align="right">Description</th>
+ <td><input name="filter.description" size="60"></td>
+ </tr>
+
+ [% CUSTOM_VARIABLES_FILTER_CODE %]
+
+ <tr>
+ <th>Include in Report</th>
+ <td>
+ <table>
+ <tr>
+ <td>
+ <input type="radio" name="filter.active" id="active_active" value="active" checked>
+ <label for="active_active">Active</label>
+ </td>
+ <td>
+ <input type="radio" name="filter.active" id="active_inactive" value="inactive">
+ <label for="active_inactive">Inactive</label>
+ </td>
+ <td>
+ <input type="radio" name="filter.active" id="active_both" value="both">
+ <label for="active_both">Both</label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="radio" name="filter.status" id="status_all" value="all" checked>
+ <label for="status_all">All</label>
+ </td>
+ <td>
+ <input type="radio" name="filter.status" id="status_orphaned" value="orphaned">
+ <label for="status_orphaned">Orphaned</label>
+ </td>
+ </tr>
+
+ [% CUSTOM_VARIABLES_INCLUSION_CODE %]
+
+ </table>
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ <input type="hidden" name="nextsub" value="project_report">
+
+ <p>
+ <input class="submit" type="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <script type="text/javascript">
+ <!--
+ function submit_report_generator_form(nextsub) {
+ document.report_generator_form.report_generator_dispatch_to.value = nextsub;
+ document.report_generator_form.submit();
+ }
+
+ -->
+ </script>
+
+ <div class="listheading" width="100%">[% HTML.escape(title) %]</div>
+
+ <form action="[% HTML.escape(script) %]" method="post" name="report_generator_form">
+
+ [%- FOREACH var = HIDDEN %]
+ <input type="hidden" name="[% HTML.escape(var.key) %]" value="[% HTML.escape(var.value) %]">
+ [%- END %]
+
+ <input type="hidden" name="report_generator_csv_options_set" value="1">
+ <input type="hidden" name="report_generator_dispatch_to" value="">
+ <input type="hidden" name="action" value="report_generator_dispatcher">
+
+ <table>
+ <tr>
+ <td align="right">Quote chararacter</td>
+ <td>
+ <select name="report_generator_csv_options_quote_char" style="width: 300px">
+ <option value=""" selected>"</option>
+ <option value="'">'</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Escape character</td>
+ <td>
+ <select name="report_generator_csv_options_escape_char" style="width: 300px">
+ <option value="QUOTE_CHAR" selected>Same as the quote character</option>
+ <option value=""">"</option>
+ <option value="'">'</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Separator chararacter</td>
+ <td>
+ <select name="report_generator_csv_options_sep_char" style="width: 300px">
+ <option value=";" selected>;</option>
+ <option value=",">,</option>
+ <option value=":">:</option>
+ <option value="TAB">TAB (The tabulator character)</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Line endings</td>
+ <td>
+ <select name="report_generator_csv_options_eol_style" style="width: 300px">
+ <option value="DOS">DOS/Windows (CR/LF)</option>
+ <option value="Unix" selected>Unix (LF)</option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top">Options:</td>
+ <td valign="top">
+ <input type="checkbox" name="report_generator_csv_options_headers" id="report_generator_csv_options_headers" value="1" checked>
+ <label for="report_generator_csv_options_headers">Include column headings</label>
+ </td>
+ </tr>
+
+ </table>
+
+ <p>
+ <input type="submit" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')" value="Export as CSV">
+ <input type="submit" class="submit" onclick="submit_report_generator_form('report_generator_back')" value="Back">
+ </p>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+ <script type="text/javascript">
+ <!--
+ function submit_report_generator_form(nextsub) {
+ document.report_generator_form.report_generator_dispatch_to.value = nextsub;
+ document.report_generator_form.submit();
+ }
+
+ -->
+ </script>
+
+ <style type="text/css">
+ <!--
+.top_border {
+ border-top: solid black;
+ border-width: 4px;
+}
+.bottom_border {
+ border-bottom: solid black;
+ border-width: 4px;
+}
+ -->
+ </style>
+
+ [% IF MESSAGE %]
+ <p>[% MESSAGE %]</p>
+ [% END %]
+
+ <div class="listtop" width="100%">[% TITLE %]</div>
+
+ [% IF TOP_INFO_TEXT %]
+ <p>[% TOP_INFO_TEXT %]</p>
+ [% END %]
+
+ [% RAW_TOP_INFO_TEXT %]
+
+ [% IF DATA_PRESENT %]
+ <p>
+ <table width="100%">
+ [%- FOREACH row = HEADER_ROWS %]
+ <tr>
+ [% FOREACH col = row %]
+ <th class="listheading"
+ [%- IF col.align %] align="[% HTML.escape(col.align) %]" style="text-align: [% HTML.escape(col.align) %]"[% END -%]
+ [%- IF col.colspan && col.colspan > 1 %] colspan="[% HTML.escape(col.colspan) %]"[% END -%]
+ >
+ [%- IF col.link -%]<a href="[% col.link %]">[%- END -%]
+ [%- col.text -%]
+ [%- IF col.show_sort_indicator -%]<img border="0" src="image/[% IF col.sort_indicator_direction %]down[% ELSE %]up[% END %].png">[%- END -%]
+ [%- IF col.link -%]</a>[%- END -%]
+ </th>
+ [% END %]
+ </tr>
+ [%- END %]
+
+ [% FOREACH row = ROWS %]
+ [% IF row.IS_CONTROL %]
+ [% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %]
+ [% ELSE %]
+ <tr class="listrow[% row.outer_idx_odd %]">
+ [%- FOREACH col = row.COLUMNS %]
+ <td[% IF col.align %] align="[% col.align %]"[% END %]
+ [%- IF col.valign %] valign="[% col.valign %]"[%- END %]
+ [%- IF col.colspan && col.colspan > 1 %] colspan="[% HTML.escape(col.colspan) %]"[% END -%]
+ [%- SET tdclass = '' %]
+ [%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %]
+ [%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
+ [%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
+ [%- IF tdclass %] class="[% tdclass %]"[%- END %]>
+ [%- IF col.raw_data %][%- col.raw_data %][%- END %]
+ [%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
+ [%- IF cell_row.data != '' %]
+ [%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
+ [%- cell_row.data %]
+ [%- IF cell_row.link %]</a>[%- END %]
+ [%- END %]
+ [%- UNLESS iterator.last %]<br>[%- END %]
+ [%- END %]
+ </td>
+ [%- END %]
+ </tr>
+ [% END %]
+ [% END %]
+
+ <tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr>
+
+ </table>
+ </p>
+ [% ELSE %]
+ <p>No data was found.</p>
+ [% END %]
+
+ [% RAW_BOTTOM_INFO_TEXT %]
+
+ [% IF BOTTOM_INFO_TEXT %]
+ <p>[% BOTTOM_INFO_TEXT %]</p>
+ [% END %]
+
+ [% IF SHOW_EXPORT_BUTTONS %]
+ <form action="[% HTML.escape(script) %]" name="report_generator_form" method="post">
+ [% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]">
+ [% END %]
+
+ <input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]">
+ <input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]">
+ <input type="hidden" name="report_generator_dispatch_to" value="">
+ <input type="hidden" name="action" value="report_generator_dispatcher">
+
+ <p>
+ List export<br>
+ [% IF ALLOW_PDF_EXPORT %]<input type="submit" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')" value="Export as PDF">[% END %]
+ [% IF ALLOW_CSV_EXPORT %]<input type="submit" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')" value="Export as CSV">[% END %]
+ </p>
+ </form>
+ [% END %]
+
+</body>
--- /dev/null
+[% USE HTML %][% USE LxERP %]<body>
+
+ [%- SET default_margin = LxERP.format_amount(1.5) %]
+
+ <script type="text/javascript">
+ <!--
+ function submit_report_generator_form(nextsub) {
+ document.report_generator_form.report_generator_dispatch_to.value = nextsub;
+ document.report_generator_form.submit();
+ }
+
+ -->
+ </script>
+
+ <div class="listheading" width="100%">[% HTML.escape(title) %]</div>
+
+ <form action="[% HTML.escape(script) %]" method="post" name="report_generator_form">
+
+ [%- FOREACH var = HIDDEN %]
+ <input type="hidden" name="[% HTML.escape(var.key) %]" value="[% HTML.escape(var.value) %]">
+ [%- END %]
+
+ <input type="hidden" name="report_generator_pdf_options_set" value="1">
+ <input type="hidden" name="report_generator_dispatch_to" value="">
+ <input type="hidden" name="action" value="report_generator_dispatcher">
+
+ <table>
+ <tr>
+ <td align="right">Orientation</td>
+ <td>
+ <select name="report_generator_pdf_options_paper_size">
+ <option value="A3">A3</option>
+ <option value="A4" selected>A4</option>
+ <option value="A5">A5</option>
+ <option value="letter">Letter</option>
+ <option value="legal">Legal</option>
+ </select>
+ <select name="report_generator_pdf_options_orientation">
+ <option value="portrait">Portrait</option>
+ <option value="landscape" selected>Landscape</option>
+ </select>
+ </td>
+ </tr>
+
+ [%- IF ALLOW_FONT_SELECTION %]
+ <tr>
+ <td align="right">Font</td>
+ <td>
+ <select name="report_generator_pdf_options_font_name">
+ <option>Courier</option>
+ <option>Georgia</option>
+ <option>Helvetica</option>
+ <option>Times</option>
+ <option selected>Verdana</option>
+ </select>
+ </td>
+ </tr>
+ [%- END %]
+
+ <tr>
+ <td align="right">Font size</td>
+ <td>
+ <select name="report_generator_pdf_options_font_size">
+ <option>6</option>
+ <option selected>7</option>
+ <option>8</option>
+ <option>9</option>
+ <option>10</option>
+ <option>11</option>
+ <option>12</option>
+ <option>13</option>
+ <option>14</option>
+ <option>15</option>
+ </select>
+
+ pt
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Margins:</td>
+ </tr>
+
+ <tr>
+ <td align="right">Top</td>
+ <td><input name="report_generator_pdf_options_margin_top" size="4" value="[% HTML.escape(default_margin) %]"> cm</td>
+ </tr>
+
+ <tr>
+ <td align="right">Left</td>
+ <td><input name="report_generator_pdf_options_margin_left" size="4" value="[% HTML.escape(default_margin) %]"> cm</td>
+ </tr>
+
+ <tr>
+ <td align="right">Bottom</td>
+ <td><input name="report_generator_pdf_options_margin_bottom" size="4" value="[% HTML.escape(default_margin) %]"> cm</td>
+ </tr>
+
+ <tr>
+ <td align="right">Right</td>
+ <td><input name="report_generator_pdf_options_margin_right" size="4" value="[% HTML.escape(default_margin) %]"> cm</td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top">Options:</td>
+ <td valign="top">
+ <input type="checkbox" name="report_generator_pdf_options_number" id="report_generator_pdf_options_number" value="1" checked>
+ <label for="report_generator_pdf_options_number">Number pages</label>
+ [% IF ALL_PRINTERS.size %]
+ <br>
+ <input type="checkbox" name="report_generator_pdf_options_print" id="report_generator_pdf_options_print" value="1">
+ <label for="report_generator_pdf_options_print">Print list</label>
+ [% END %]
+ </td>
+ </tr>
+
+ [% IF ALL_PRINTERS.size %]
+ <tr>
+ <td align="right">Printer</td>
+ <td>
+ <select name="report_generator_pdf_options_printer_id">
+ [%- FOREACH printer = ALL_PRINTERS %]
+ <option value="[% HTML.escape(printer.id) %]"[% IF printer.selected %] selected[% END %]>[% HTML.escape(printer.printer_description) %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Copies</td>
+ <td><input name="report_generator_pdf_options_copies" size="4" value="[% HTML.escape(copies) %]"></td>
+ </tr>
+ [% END %]
+ </table>
+
+ <p>
+ <input type="submit" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')" value="Export as PDF">
+ <input type="submit" class="submit" onclick="submit_report_generator_form('report_generator_back')" value="Back">
+ </p>
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %] <input type="hidden" name="rowcount" value="[% HTML.escape(row_idx) %]">
+
+ [% PRINT_OPTIONS %]
+
+ <input type="hidden" name="todate" value="[% HTML.escape(todate) %]">
+ <input type="hidden" name="title" value="[% HTML.escape(title) %]">
+ <input type="hidden" name="arap" value="[% HTML.escape(arap) %]">
+ <input type="hidden" name="ct" value="[% HTML.escape(ct) %]">
+ <input type="hidden" name="customer" value="[% HTML.escape(customer) %]">
+ <input type="hidden" name="vendor" value="[% HTML.escape(vendor) %]">
+ <input type="hidden" name="department" value="[% HTML.escape(department) %]">
+
+ Statement
+ <br>
+ <input class="submit" type="submit" name="action" value="Select all">
+ <input class="submit" type="submit" name="action" value="Print">
+ <input class="submit" type="submit" name="action" value="E-mail">
+
+</form>
--- /dev/null
+<form method="post" action="rp.pl">
--- /dev/null
+[%- USE HTML %]
+[%- USE LxERP %]
+<body bgcolor="#ffffff">
+
+<h2 align="center">
+[% company %]
+<br>[% address %]
+<p>BALANCE SHEET
+<br>[% period %]
+</h2>
+
+<table border="0">
+ <tr>
+ <th align="left" width="400" colspan="2">ASSETS<br><hr align="left" width="250" size="5" noshade></th>
+ <th>[% this_period %]</th>
+ <th>[% last_period %]</th>
+ </tr>
+
+ [% FOREACH row = A %]
+ <tr>
+ <td> </td>
+ <td>[% row.accno _ ' - ' IF l_accno %][% row.description %]</td>
+ <td align="right">[% LxERP.format_amount(row.this, decimalplaces) %]</td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(row.last, decimalplaces) %]</td>
+ [%- END %]
+ </tr>
+ [% END %]
+
+[% IF l_subtotal %]
+ <tr>
+ <td colspan="2"> </td>
+ <td><hr noshade size="1"></td>
+ <td><hr noshade size="1"></td>
+ </tr>
+
+ <tr valign="top">
+ <th align="left" colspan="2">TOTAL</th>
+ <td align="right">[% LxERP.format_amount(total.A.this, decimalplaces) %]<hr noshade size="2"></td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(total.A.last, decimalplaces) %]<hr noshade size="2"></td>
+ [%- END %]
+ </tr>
+[% END %]
+
+ <tr>
+ <th align="left" colspan="4">LIABILITIES<b><hr align="left" width="250" size="5" noshade></th>
+ </tr>
+
+ [% FOREACH row = L %]
+ <tr>
+ <td></td>
+ <td>[% row.accno _ ' - ' IF l_accno %][% row.description %]</td>
+ <td align="right">[% LxERP.format_amount(row.this, decimalplaces) %]</td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(row.last, decimalplaces) %]</td>
+ [%- END %]
+ </tr>
+ [% END %]
+
+[% IF l_subtotal %]
+ <tr>
+ <td colspan="2"> </td>
+ <td><hr noshade size="1"></td>
+ <td><hr noshade size="1"></td>
+ </tr>
+
+ <tr valign="top">
+ <td></td>
+ <th align="left">TOTAL</th>
+ <td align="right">[% LxERP.format_amount(total.L.this, decimalplaces) %]<br><hr noshade size="2"</td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(total.L.last, decimalplaces) %]<br><hr noshade size="2"</td>
+ [%- END %]
+ </tr>
+[% END %]
+
+ <tr>
+ <th align="left" colspan="4">EQUITY<br><hr align="left" width="250" size="5" noshade></th>
+ </tr>
+
+ [% FOREACH row = Q %]
+ <tr>
+ <td></td>
+ <td>[% row.description %]</td>
+ <td align="right">[% LxERP.format_amount(row.this, decimalplaces) %]</td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(row.last, decimalplaces) %]</td>
+ [%- END %]
+ </tr>
+ [% END %]
+
+[% IF l_subtotal %]
+ <tr>
+ <td colspan="2"> </td>
+ <td><hr noshade size="1"></td>
+ <td><hr noshade size="1"></td>
+ </tr>
+
+ <tr valign="top">
+ <td></td>
+ <th align="left">TOTAL</th>
+ <td align="right">[% LxERP.format_amount(total.Q.this, decimalplaces) %]<br><hr noshade size="2"</td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(total.Q.last, decimalplaces) %]<br><hr noshade size="2"</td>
+ [%- END %]
+ </tr>
+[% END %]
+
+ <tr valign="top">
+ <th align="left" colspan="2">TOTAL LIABILITIES & EQUITY</th>
+ <td align="right">[% LxERP.format_amount(total.this, decimalplaces) %]<br><hr noshade size="2"></td>
+ [%- IF last_period %]
+ <td align="right">[% LxERP.format_amount(total.last, decimalplaces) %]<br><hr noshade size="2"></td>
+ [%- END %]
+ </tr>
+</table>
--- /dev/null
+[% USE HTML %]<body>
+
+ <script type="text/javascript">
+ <!--
+ function submit_report_generator_form(nextsub) {
+ document.report_generator_form.report_generator_dispatch_to.value = nextsub;
+ document.report_generator_form.submit();
+ }
+
+ -->
+ </script>
+
+ <style type="text/css">
+ <!--
+.top_border {
+ border-top: solid black;
+ border-width: 4px;
+}
+.bottom_border {
+ border-bottom: solid black;
+ border-width: 4px;
+}
+ -->
+ </style>
+
+ [% IF MESSAGE %]
+ <p>[% MESSAGE %]</p>
+ [% END %]
+
+ <div class="listtop" width="100%">Summen- und Saldenliste [% template_fromto %]</div>
+
+ [% IF TOP_INFO_TEXT %]
+ <p>[% TOP_INFO_TEXT %]</p>
+ [% END %]
+
+ [% RAW_TOP_INFO_TEXT %]
+
+ [% IF DATA_PRESENT %]
+ <p>
+ <table width="100%">
+ <tr>
+ <th class="listheading" rowspan=2>Account</th>
+ <th class="listheading" rowspan=2>Description</th>
+ <th class="listheading" rowspan=2>Last Transaction</th>
+ <th class="listheading" colspan=2>Starting Balance</th>
+ <th class="listheading" colspan=2>Sum for [% template_fromto %]</th>
+ <th class="listheading" colspan=2>Sum per [% template_to %]</th>
+ <th class="listheading" colspan=2>Saldo per [% template_to %]</th>
+ </tr>
+ <tr>
+ <th class="listheading">Assets</th>
+ <th class="listheading">Equity</th>
+ <th class="listheading">Debit</th>
+ <th class="listheading">Credit</th>
+ <th class="listheading">Debit</th>
+ <th class="listheading">Credit</th>
+ <th class="listheading">Debit</th>
+ <th class="listheading">Credit</th>
+ </tr>
+ [% FOREACH row = ROWS %]
+ [% IF row.IS_CONTROL %]
+ [% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %]
+ [% ELSE %]
+ <tr class="listrow[% row.outer_idx_odd %]">
+ [%- FOREACH col = row.COLUMNS %]
+ <td[% IF col.align %] align="[% col.align %]"[% END %]
+ [%- IF col.valign %] valign="[% col.valign %]"[%- END %]
+ [%- SET tdclass = '' %]
+ [%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %]
+ [%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
+ [%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
+ [%- IF tdclass %] class="[% tdclass %]"[%- END %]>
+ [%- IF col.raw_data %][%- col.raw_data %][%- END %]
+ [%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
+ [%- IF cell_row.data != '' %]
+ [%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
+ [%- cell_row.data %]
+ [%- IF cell_row.link %]</a>[%- END %]
+ [%- END %]
+ [%- UNLESS iterator.last %]<br>[%- END %]
+ [%- END %]
+ </td>
+ [%- END %]
+ </tr>
+ [% END %]
+ [% END %]
+
+ <tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr>
+
+ </table>
+ </p>
+ [% ELSE %]
+ <p>No data was found.</p>
+ [% END %]
+
+ [% RAW_BOTTOM_INFO_TEXT %]
+
+ [% IF BOTTOM_INFO_TEXT %]
+ <p>[% BOTTOM_INFO_TEXT %]</p>
+ [% END %]
+
+ [% IF SHOW_EXPORT_BUTTONS %]
+ <form action="[% HTML.escape(script) %]" name="report_generator_form" method="post">
+ [% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]">
+ [% END %]
+
+ <input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]">
+ <input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]">
+ <input type="hidden" name="report_generator_dispatch_to" value="">
+ <input type="hidden" name="action" value="report_generator_dispatcher">
+
+ <p>
+ Listenexport<br>
+ [% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %]
+ [% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %]
+ </p>
+ </form>
+ [% END %]
+
+</body>
--- /dev/null
+[% USE HTML %]<body>
+
+ <div class="listtop" style="margin-bottom: 10px">Your TODO list</div>
+
+ [%- IF !todo_list %]
+ <p>
+ There are no items on your TODO list at the moment.
+ </p>
+
+ [%- ELSE %]
+
+ [%- todo_list %]
+
+ [%- END %]
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<!--This file is autogenerated,
+ Edit templates/webpages/ustva/config_step1_master.html
+ and run locale/<cc>/locales.pl -->
+
+<body>
+<form name="verzeichnis" method="post" action="[% HTML.escape(script) %]">
+<table width="100%">
+ <tr>
+ <th class="listtop">Tax Office Preferences</th>
+ </tr>
+ <tr>
+ <td>
+ <br />
+[%- IF COA_Germany %]
+ <fieldset>
+ <legend><b>Local Tax Office Preferences</b></legend>
+ <br />
+ [% select_tax_office %]
+ </fieldset>
+ <br />
+[%- END %]
+ <fieldset>
+ <legend><b>Taxation</b>
+ </legend>
+ <input name="method" id="accrual" class="radio" type="radio" value="accrual"
+ [% checked_accrual %]>
+ <label for="accrual">accrual</label>
+ <br>
+ <input name="method" id="cash" class="radio" type="radio" value="cash"
+ [% checked_cash %]>
+ <label for="cash">cash</label>
+ </fieldset>
+ <br>
+ <fieldset>
+ <legend><b>Tax Period</b>
+ </legend>
+
+
+ <input name=FA_voranmeld id=month class=radio type=radio value="month"
+ [% checked_monthly %]>
+ <label for="month">month</label>
+ <br>
+ <input name="FA_voranmeld" id=quarter class=radio type=radio value="quarter"
+ [% checked_quarterly %]>
+ <label for="quarter">quarter</label>
+ <br>
+ <input name="FA_dauerfrist" id=FA_dauerfrist class=checkbox type=checkbox value="1"
+ [% checked_dauerfristverlaengerung %]>
+ <label for="">Extension Of Time</label>
+
+ </fieldset>
+ <br>
+ <fieldset>
+ <legend><b>Tax Consultant</b>
+ </legend>
+ <!-- <input name="FA_71" id=FA_71 class=checkbox type=checkbox value="X"
+ [% checked_kz_71 %]>
+ <label for="FA_71">Clearing Tax Received (No 71)
+ . </label>
+ <br>
+ <br>-->
+ <table>
+ <tr>
+ <td>
+ Name
+ </td>
+ <td>
+ Street
+ </td>
+ <td>
+ Zip, City
+ </td>
+ <td>
+ Telephone
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input name="FA_steuerberater_name" id=steuerberater size=25
+ value="[% HTML.escape(FA_steuerberater_name) %]">
+ </td>
+ <td>
+ <input name="FA_steuerberater_street" id=steuerberater size=25
+ value="[% HTML.escape(FA_steuerberater_street) %]">
+ </td>
+ <td>
+ <input name="FA_steuerberater_city" id=steuerberater size=25
+ value="[% HTML.escape(FA_steuerberater_city) %]">
+ </td>
+ <td>
+ <input name="FA_steuerberater_tel" id=steuerberater size=25
+ value="[% HTML.escape(FA_steuerberater_tel) %]">
+ </tr>
+ </table>
+
+ </fieldset>
+
+ <br>
+ <br>
+ <hr>
+ <!--<input type=submit class=submit name=action value="
+ debug">-->
+ <input type=submit class=submit name=action
+ value="continue">
+ </td>
+ </tr>
+ </table>
+
+ [%- FOREACH var = hidden_variables %]
+ <input type="hidden" name="[% HTML.escape(var.variable) %]" value="[% HTML.escape(var.value) %]">
+ [%- END %]
+ </form>
+</body>
--- /dev/null
+[% USE HTML %]<!--This file is autogenerated,
+ Edit templates/webpages/ustva/config_step2_master.html
+ and run locale/<cc>/locales.pl -->
+
+
+<body>
+ <form name="elsterform" method="post" action="[% script %]">
+ <table width="100%">
+ <tr>
+ <th colspan="2" class="listtop">
+ Tax Office Preferences</th>
+ </tr>
+ <tr>
+ <td colspan=2>
+ <br>
+ <!-- Start Finanzamtdaten -->
+ <br>
+ <fieldset>
+ <legend>
+ <font size="+1">Tax Office
+ [% HTML.escape(FA_Name) %]</font>
+ </legend>
+ <table width="100%" valign="top">
+ <tr>
+ <td valign="top">
+ <br>
+ <fieldset>
+ <legend>
+ <b>Address</b>
+ </legend>
+ <table width="100%">
+ <tr>
+ <td>
+ Tax Office
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input name="FA_Name" size="40" title="FA_Name"
+ value="[% HTML.escape(FA_Name) %]" [% readonly %]>
+ <td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <input name="FA_Strasse" size="40" title="FA_Strasse"
+ value="[% HTML.escape(FA_Strasse) %]" [% readonly %]>
+ </td width="100%">
+ </tr>
+ <tr>
+ <td width="116px">
+ <input name="FA_PLZ" size="10" title="FA_PLZ"
+ value="[% HTML.escape(FA_PLZ) %]" [% readonly %]>
+ </td>
+ <td>
+ <input name="FA_Ort" size="20" title="FA_Ort"
+ value="[% HTML.escape(FA_Ort) %]" [% readonly %]>
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+ <br>
+ <fieldset>
+ <legend>
+ <b>Contact</b>
+ </legend>
+ Telephone<br>
+ <input name="FA_Telefon" size="40" title="FA_Telefon"
+ value="[% HTML.escape(FA_Telefon) %]" [% readonly %]>
+ <br>
+ <br>
+ Fax<br>
+ <input name="FA_Fax" size="40" title="FA_Fax"
+ value="[% HTML.escape(FA_Fax) %]" [% readonly %]>
+ <br>
+ <br>
+ Internet<br>
+ <input name="FA_Email" size="40" title="FA_Email"
+ value="[% HTML.escape(FA_Email) %]" [% readonly %]>
+ <br>
+ <br>
+ <input name="FA_Internet" size="40" title="" title="FA_Internet"
+ value="[% HTML.escape(FA_Internet) %]" [% readonly %]>
+ <br>
+ </fieldset>
+ </td>
+ <td valign="top">
+ <br>
+ <fieldset>
+ <legend>
+ <b>Openings</b>
+ </legend>
+ <textarea name="FA_Oeffnungszeiten" rows="4" cols="40"
+ [% readonly %]>[% HTML.escape(FA_Oeffnungszeiten) %]</textarea>
+ </fieldset>
+ <br>
+ <fieldset>
+ <legend>
+ <b>Bank Connection Tax Office</b>
+ <legend>
+ <table>
+ <tr>
+ <td width="40%">
+ Bank
+ <br>
+ <input name="FA_Bankbezeichnung_1" size="30"
+ value="[% HTML.escape(FA_Bankbezeichnung_1) %]" [% readonly %]>
+ <br>
+ <br>
+ Account Nummer
+ <br>
+ <input name="FA_Kontonummer_1" size="15"
+ value="[% HTML.escape(FA_Kontonummer_1) %]" [% readonly %]>
+ <br>
+ <br>
+ Bank Code (long)
+ <br>
+ <input name="FA_BLZ_1" size="15"
+ value="[% HTML.escape(FA_BLZ_1) %]" [% readonly %]>
+ </td>
+ <td width="40%">
+ Bank
+ <br>
+ <input name="FA_Bankbezeichnung_oertlich" size="30"
+ value="[% HTML.escape(FA_Bankbezeichnung_oertlich) %]" [% readonly %]>
+ <br>
+ <br>
+ Account Nummer
+ <br>
+ <input name="FA_Kontonummer_2" size="15"
+ value="[% HTML.escape(FA_Kontonummer_2) %]" [% readonly %]>
+ <br>
+ <br>
+ Bank Code (long)
+ <br>
+ <input name="FA_BLZ_2" size="15"
+ value="[% HTML.escape(FA_BLZ_2) %]" [% readonly %]>
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+
+<!-- Stop Finanzamtdaten -->
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <br>
+ <fieldset>
+ <legend>
+ <font size="+1">Tax Number</font>
+ </legend>
+ <br>
+[%- IF COA_Germany %]
+ [% input_steuernummer %]
+[%- ELSE %]
+Please enter the taxnumber in the administration menu userpreferences
+Current value: [% HTML.escape(myconfig_taxnumber) %]
+[%- END %]
+
+
+ </H2><br>
+ </fieldset>
+ <br>
+ <br>
+ <hr>
+ </td>
+ </tr>
+ <tr>
+ <td align="left">
+
+ [%- IF callback %]
+ <input type="button" name="Verweis" value="User Config"
+ onClick="self.location.href='[% callback %]">
+ [%- ELSE %]
+ <input type="submit" class="submit" name="action" value="back">
+ [%- END %]
+
+ [%- IF warnung %]
+
+ <input type="hidden" name="nextsub" value="config_step2">
+ <input type="submit" class="submit" name="action"
+ value="continue">
+
+ <input type="hidden" name="saved" value="Check Details">
+
+ [%- ELSE %]
+
+ <input type="hidden" name="nextsub" value="save">
+ <input type="hidden" name="filename" value="finanzamt.ini">
+ <input type="submit" class="submit" name="action" value="Save">
+
+ [%- END %]
+
+ </td>
+ <td align="right">
+ <H2 class="confirm">[%- saved %]</H2>
+ </td>
+ </tr>
+ </table>
+
+[%- FOREACH var = hidden_variables %]
+ <input type="hidden" name="[% HTML.escape(var.variable) %]" value="[% HTML.escape(var.value) %]">
+[%- END %]
+
+
+ </form>
+</body>
+</html>
--- /dev/null
+[% USE HTML %]<body>
+
+<h1>Generic Tax Report</h1>
+<p>Taxnumber: [% taxnumber %]</p>
+<p>Year: [% year %]</p>
+<p>Period: [% period %]</p>
+<br />
+<table width="33%">
+ <tr>
+ <th>Tax Position</th>
+ <th>Amount</th>
+ </tr>
+[% FOREACH row = USTVA %]
+ <tr class="listrow[% loop.count % 2 %]">
+
+ <td align="left">[% HTML.escape(row.id) %]</td>
+ <td align="right">[% HTML.escape(row.amount) %]</td>
+ </tr>
+[% END %]
+
+</table>
+
+</html>
+</body>
--- /dev/null
+[% USE HTML %]<!--This file is autogenerated,
+ Edit templates/webpages/ustva/report_master.html
+ and run locale/<cc>/locales.pl -->
+
+ <body>
+ <form method="post" action="[% HTML.escape(script) %]">
+
+ <input type="hidden" name="title" value="[% HTML.escape(title) %]">
+
+ <table width="100%">
+ <tr>
+ <th class="listtop">[% HTML.escape(title) %]</th>
+ </tr>
+ <tr height="5"></tr>
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <td width="50%" align="left" valign="top">
+ <fieldset>
+ <legend>
+ <b>Company</b>
+ </legend>
+
+ [% company_given %]
+ [% address_given %]
+
+ <br />
+ <br />
+ Tel.:
+ [% HTML.escape(co_tel) %]
+ <br />
+ Fax.:
+ [% HTML.escape(co_fax) %]
+ <br />
+ <br />
+ [% HTML.escape(co_email) %]
+ <br />
+ <br />
+
+ Tax Number:
+[%- IF COA_Germany %]
+ [% taxnumber_given %]
+ <br />
+ ELSTER Tax Number:
+ [% HTML.escape(elstersteuernummer) %]
+ <br />
+ <br />
+[%- ELSE %]
+ [% taxnumber %]
+[%- END %]
+ </fieldset>
+ <br />
+
+ [%- IF FA_steuerberater_name %]
+ <fieldset>
+ <legend>
+ <input checked="checked"
+ title="Assume Tax Consultant Data in Tax Computation?"
+ name="FA_steuerberater"
+ id="steuerberater"
+ class="checkbox"
+ type="checkbox"
+ value="1" >
+ <b>Tax Consultant</b>
+ </legend>
+
+ [% HTML.escape(FA_steuerberater_name) %]<br />
+ [% HTML.escape(FA_steuerberater_street) %]<br />
+ [% HTML.escape(FA_steuerberater_city) %]<br />
+ Tel. [% HTML.escape(FA_steuerberater_tel) %]<br />
+ </fieldset>
+ <br />
+ [%- END %]
+
+ <fieldset>
+ <legend>
+ <b>Tax Period</b>
+ </legend>
+ [% select_year %] [% ustva_vorauswahl %]
+ [% checkbox_kz_10 %]
+ <br />
+ [%- IF FA_voranmeld %]
+ <br />
+ [% period_local %]
+ [%- IF FA_dauerfrist %]
+ With Extension Of Time
+ [%- END %]
+ <br />
+ [%- END %]
+
+ [%- IF method_local %]
+ Method: [% method_local %]
+ [%- END %]
+ </fieldset>
+ </td>
+ <td width="50%" valign="top">
+ <fieldset>
+ <legend>
+ <b>Tax Office</b>
+ </legend>
+ <h3>[% HTML.escape(FA_Name) %]</h3>
+
+ [% HTML.escape(FA_Strasse) %]
+ <br>
+ [% HTML.escape(FA_PLZ) %] [% HTML.escape(FA_Ort) %]
+ <br>
+ <br>
+ Tel.:
+ [% HTML.escape(FA_Telefon) %]
+ <br>
+ Fax.:
+ [% HTML.escape(FA_Fax) %]
+ <br>
+ <br>
+ <!-- Mailto alles Maskieren! -->
+ <a href="mailto:[% HTML.escape(FA_Email) %]
+ ?subject="[% HTML.escape(steuernummer) %]:"
+ &bcc="[% HTML.escape(email) %]"
+ &body="Sehr%20geehrte%20Damen%20und%20Herren,
+ %0D%0A%0D%0A%0D%0AMit%20freundlichen%20Grüßen
+ %0D%0A%0D%0A[% HTML.escape(signature) %]"">
+ [% HTML.escape(FA_Email) %]
+ </a>
+ <br>
+ <a href="[% FA_Internet %]">
+ [% HTML.escape(FA_Internet) %]
+ </a>
+ <br>
+ <br>
+ Openings
+ <br>
+ [% openings %]
+ <br>
+ <br>
+ Bank Connections
+ <table>
+ <tr>
+
+ [%- FOREACH row = "tax_office_banks" %]
+ <td width="40%">
+ [% HTML.escape(row.Bankbezeichnung) %]
+ <br>
+ Account:
+ [% HTML.escape(row.Kontonummer) %]
+ <br>
+ Bank Code:
+ [% HTML.escape(row.BLZ) %]
+ </td>
+ [%- END %]
+
+ </tr>
+ </table>
+ <br>
+ </fieldset>
+
+ <br>
+
+ <fieldset>
+ <legend>
+ <b>Outputformat</b>
+ </legend>
+[%- IF COA_Germany %]
+ [% select_options %]
+[%- ELSE %]
+ <SELECT name="format">
+ <option value="generic">Preview</option>
+ </SELECT>
+[%- END %]
+
+ </fieldset>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td><hr size="3" noshade></td>
+ </tr>
+ </table>
+
+ <br>
+ <input type="hidden" name="address" value="[% HTML.escape(address) %]">
+ <input type="hidden" name="reporttype" value="custom">
+ <input type="hidden" name="co_street" value="[% HTML.escape(co_street) %]">
+ <input type="hidden" name="co_city" value="[% HTML.escape(co_city) %]">
+ <table width="100%">
+ <tr>
+ <td align="left">
+ <input type=hidden name=nextsub value=generate_ustva>
+ <input type=submit class=submit name=action value="Show">
+ </td>
+ <td align="right">
+
+ </form>
+ <!--
+ <form action="doc/ustva.html" method="get">
+ <input type=submit class=submit name=action
+ value="Help">
+ </form>
+ -->
+ </td>
+ </tr>
+ </table>
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %]<body onload="on_load();">
+
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ warehouses[0] = new Array();
+ warehouses[0]['id'] = "0";
+ warehouses[0]['bins'] = new Array();
+ warehouses[0]['bins'][0] = new Array();
+ warehouses[0]['bins'][0]['description'] = "---";
+ warehouses[0]['bins'][0]['id'] = "";
+ [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH warehouse = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['id'] = [% warehouse.id %];
+ warehouses[[% WAREHOUSES_it.count %]]['bins'] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][0] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][0]['description'] = "---";
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][0]['id'] = "";
+ [% USE BINS_it = Iterator(warehouse.BINS) %][% FOREACH bin = BINS_it %]
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][[% BINS_it.count %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][[% BINS_it.count %]]['description'] = "[% JavaScript.escape(bin.description) %]";
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][[% BINS_it.count %]]['id'] = [% bin.id %];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(warehouse_id, bin_id) {
+ var control = document.getElementById("bin_id");
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ var warehouse_index = 0;
+
+ for (i = 0; i < warehouses.length; i++)
+ if (warehouses[i]['id'] == warehouse_id) {
+ warehouse_index = i;
+ break;
+ }
+
+ var warehouse = warehouses[warehouse_index];
+ var bin_index = 0;
+
+ for (i = 0; i < warehouse['bins'].length; i++)
+ if (warehouse['bins'][i]['id'] == bin_id) {
+ bin_index = i;
+ break;
+ }
+
+ for (i = 0; i < warehouse['bins'].length; i++) {
+ control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
+ }
+
+
+ control.options[bin_index].selected = true;
+ }
+
+ function on_load() {
+ warehouse_selected(0, 0);
+ document.Form.partnumber.focus();
+ }
+ -->
+ </script>
+
+ <div class="listtop">Report about wareouse transactions</div>
+
+ <form method="post" name="Form" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="generate_journal">
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading" align="left" valign="top" colspan="6" nowrap>Filter</th>
+ </tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap>Warehouse:</th>
+ <td>
+ <select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(warehouses[this.selectedIndex]['id'], 0)">
+ <option value="">---</option>
+ [%- FOREACH warehouse = WAREHOUSES %]
+ <option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Bin:</th>
+ <td><select name="bin_id" id="bin_id"></select></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Part Number:</th>
+ <td><input name="partnumber" id="partnumber" size=20></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Part Description:</th>
+ <td><input name="description" size=40></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Charge Number:</th>
+ <td><input name="chargenumber" size=40></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Transfer Quantity:</th>
+ <td>
+ <select name="qty_op">
+ <option value="dontcare">---</option>
+ <option value="atleast">At least</option>
+ <option value="atmost">At most</option>
+ <option value="exact">Exact</option>
+ </select>
+ <input name="qty">
+ <select name="qty_unit">
+ [%- FOREACH unit = UNITS %]<option>[% unit.name %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>From Date</th>
+ <td>
+ <input name="fromdate" id="fromdate" size="11" title="[% myconfig_dateformat %]">
+ <input type="button" name="b_fromdate" id="fromdate_trigger" value="?">
+ </td>
+ </tr>
+ <tr>
+ <th align="right">To Date</th>
+ <td>
+ <input name="todate" id="todate" size="11" title="[% myconfig_dateformat %]">
+ <input type="button" name="b_todate" id="todate_trigger" value="?">
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr height="5"><td> </td></tr>
+
+ <tr>
+ <th class="listheading" align="left" valign="top" colspan="6" nowrap>Include in Report</th>
+ </tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <td><input name="l_partdescription" id="l_partdescription" class="checkbox" type="hidden" value="Y" checked></td>
+ <td nowrap><label for="l_partdescription">Part Description</label></td>
+ <td><input name="l_qty" id="l_qty" class="checkbox" type="hidden" value="Y" checked></td>
+ <td nowrap><label for="l_qty">Quantity</label></td>
+ </tr>
+ <tr>
+ <td align="right"><input name="l_date" id="l_date" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_date">Date</label></td>
+ <td align="right"><input name="l_partnumber" id="l_partnumber" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_partnumber">Part Number</label></td>
+ <td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_chargenumber">Charge Number</label></td>
+ </tr>
+ <tr>
+ <td align="right"><input name="l_trans_id" id="l_trans_id" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="l_trans_id">Trans Id</label></td>
+ <td align="right"><input name="l_trans_type" id="l_trans_type" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_trans_type">Trans Type</label></td>
+ <td align="right"><input name="l_comment" id="l_comment" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="l_comment">Comment</label></td>
+ </tr>
+ <tr>
+ <td align="right"><input name="l_warehouse_from" id="l_warehouse_from" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_warehouse_from">Warehouse From</label></td>
+ <td align="right"><input name="l_bin_from" id="l_bin_from" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_bin_from">Bin From</label></td>
+ <td align="right"><input name="l_warehouse_to" id="l_warehouse_to" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_warehouse_to">Warehouse To</label></td>
+ <td align="right"><input name="l_bin_to" id="l_bin_to" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_bin_to">Bin To</label></td>
+ </tr>
+ <tr>
+ <td align="right"><input name="l_employee" id="l_employee" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="l_employee">Employee</label></td>
+ <td align="right"><input name="l_oe_id" id="l_oe_id" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="l_oe_id">Document</label></td>
+ <td align="right"><input name="l_projectnumber" id="l_projectnumber" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_projectnumber">Project Number</label></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+ <script type="text/javascript">
+ <!--
+ Calendar.setup( {
+ inputField : "fromdate",
+ ifFormat :"[% myconfig_jsc_dateformat %]",
+ align : "BR",
+ button : "fromdate_trigger"
+ });
+
+ Calendar.setup( {
+ inputField : "todate",
+ ifFormat :"[% myconfig_jsc_dateformat %]",
+ align : "BL",
+ button : "todate_trigger"
+ });
+ //-->
+ </script>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %]<body>
+
+ <form method="post" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="remove_parts">
+ <input type="hidden" name="warehouse_id" value="[% HTML.escape(warehouse_id) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <p>Removal from warehouse: [% warehouse_description %]</p>
+
+ <p>
+ <table>
+ <tr>
+ <td>Select type of removal:</td>
+ <td>
+ <select name="transfer_type_id">
+ [%- FOREACH type = TRANSFER_TYPES %]<option value="[% HTML.escape(type.id) %]">[% HTML.escape(type.description) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Optional comment:</td>
+ <td><input name="comment" size="20"></td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Bin</th>
+ <th class="listheading">Part Number</th>
+ <th class="listheading">Part Description</th>
+ <th class="listheading">Charge Number</th>
+ <th class="listheading">EAN</th>
+ <th class="listheading">Available qty</th>
+ <th class="listheading">Removal qty</th>
+ </tr>
+
+ [% FOREACH row = CONTENTS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <input type="hidden" name="src_bin_id_[% loop.count %]" value="[% HTML.escape(row.binid) %]">
+ <input type="hidden" name="parts_id_[% loop.count %]" value="[% HTML.escape(row.parts_id) %]">
+ <input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]">
+ <input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]">
+ <input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]">
+ <input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]">
+ <td>[% HTML.escape(row.bindescription) %]</td>
+ <td>[% HTML.escape(row.partnumber) %]</td>
+ <td>[% HTML.escape(row.partdescription) %]</td>
+ <td>[% HTML.escape(row.chargenumber) %]</td>
+ <td>[% HTML.escape(row.ean) %]</td>
+ <td>[% HTML.escape(row.qty) %]</td>
+ <td>
+ <input name="qty_[% loop.count %]">
+ <select name="unit_[% loop.count %]">
+ [% FOREACH unit = row.UNITS %]<option[% IF unit.selected %] selected[% END %]>[% HTML.escape(unit.name) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ [% END %]
+
+ <input type="hidden" name="rowcount" value="[% CONTENTS.size %]">
+
+ <tr><td colspan="7"><hr size="3" noshade></td></tr>
+
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %]<body onload="on_load();">
+
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ warehouses[0] = new Array();
+ warehouses[0]['id'] = "0";
+ warehouses[0]['bins'] = new Array();
+ warehouses[0]['bins'][0] = new Array();
+ warehouses[0]['bins'][0]['description'] = "---";
+ warehouses[0]['bins'][0]['id'] = "";
+ [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH warehouse = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['id'] = [% warehouse.id %];
+ warehouses[[% WAREHOUSES_it.count %]]['bins'] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][0] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][0]['description'] = "---";
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][0]['id'] = "";
+ [% USE BINS_it = Iterator(warehouse.BINS) %][% FOREACH bin = BINS_it %]
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][[% BINS_it.count %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][[% BINS_it.count %]]['description'] = "[% JavaScript.escape(bin.description) %]";
+ warehouses[[% WAREHOUSES_it.count %]]['bins'][[% BINS_it.count %]]['id'] = [% bin.id %];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(warehouse_id, bin_id) {
+ var control = document.getElementById("bin_id");
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ var warehouse_index = 0;
+
+ for (i = 0; i < warehouses.length; i++)
+ if (warehouses[i]['id'] == warehouse_id) {
+ warehouse_index = i;
+ break;
+ }
+
+ var warehouse = warehouses[warehouse_index];
+ var bin_index = 0;
+
+ for (i = 0; i < warehouse['bins'].length; i++)
+ if (warehouse['bins'][i]['id'] == bin_id) {
+ bin_index = i;
+ break;
+ }
+
+ for (i = 0; i < warehouse['bins'].length; i++) {
+ control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
+ }
+
+
+ control.options[bin_index].selected = true;
+ }
+
+ function on_load() {
+ warehouse_selected(0, 0);
+ document.Form.partnumber.focus();
+ }
+ -->
+ </script>
+
+ <div class="listtop">Report about wareouse contents</div>
+
+ <form method="post" name="Form" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="generate_report">
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading" align="left" valign="top" colspan="6" nowrap>Filter</th>
+ </tr>
+
+ <tr>
+ <td>
+ <table>
+ <tr>
+ <th align="right" nowrap>Warehouse:</th>
+ <td>
+ <select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(warehouses[this.selectedIndex]['id'], 0)">
+ <option value="">---</option>
+ [%- FOREACH warehouse = WAREHOUSES %]
+ <option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Bin:</th>
+ <td><select name="bin_id" id="bin_id"></select></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Part Number:</th>
+ <td><input name="partnumber" size=20></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Part Description:</th>
+ <td><input name="description" size=40></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Charge Number:</th>
+ <td><input name="chargenumber" size=40></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>Qty in stock:</th>
+ <td>
+ <select name="qty_op">
+ <option value="dontcare">---</option>
+ <option value="atleast">At least</option>
+ <option value="atmost">At most</option>
+ <option value="exact">Exact</option>
+ </select>
+ <input name="qty">
+ <select name="qty_unit">
+ [%- FOREACH unit = UNITS %]<option>[% unit.name %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr height="5"><td> </td></tr>
+
+ <tr>
+ <th class="listheading" align="left" valign="top" colspan="6" nowrap>Include in Report</th>
+ </tr>
+
+ <tr>
+ <td>
+ <input name="l_partdescription" type="hidden" value="Y">
+ <input name="l_qty" type="hidden" value="Y">
+
+ <table>
+ <tr>
+ <td align="right"><input name="l_warehousedescription" id="l_warehousedescription" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_warehousedescription">Warehouse</label></td>
+ <td align="right"><input name="l_bindescription" id="l_bindescription" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_bindescription">Bin</label></td>
+ </tr>
+
+ <tr>
+ <td align="right"><input name="l_partnumber" id="l_partnumber" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_partnumber">Part Number</label></td>
+ <td align="right"><input name="l_chargenumber" id="l_chargenumber" class="checkbox" type="checkbox" value="Y" checked></td>
+ <td nowrap><label for="l_chargenumber">Charge Number</label></td>
+ </tr>
+
+ <tr><td colspan="4"><hr noshade height="1"></td></tr>
+
+ <tr>
+ <td align="right"><input name="subtotal" id="subtotal" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="subtotal">Subtotal</label></td>
+ <td align="right"><input name="include_empty_bins" id="include_empty_bins" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="include_empty_bins">Include empty bins</label></td>
+ </tr>
+
+ <tr>
+ <td align="right"><input name="l_stock_value" id="l_stock_value" class="checkbox" type="checkbox" value="Y"></td>
+ <td nowrap><label for="l_stock_value">Stock value</label></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %]<body onload="on_load();">
+
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ [% USE WAREHOUSES_it = Iterator(WAREHOUSES) %][% FOREACH wh = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count - 1 %]] = new Array();
+ [% USE BINS_it = Iterator(wh.BINS) %][% FOREACH bin = BINS_it %]warehouses[[% WAREHOUSES_it.count - 1 %]][[% BINS_it.count - 1 %]] = ["[% JavaScript.escape(bin.description) %]", "[% JavaScript.escape(bin.id) %]"];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(row, index) {
+ var cname = "dst_bin_id_" + row;
+ var control = document.getElementById(cname);
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ for (i = 0; i < warehouses[index].length; i++) {
+ control.options[i] = new Option(warehouses[index][i][0], warehouses[index][i][1]);
+ }
+
+ control.options[0].selected = true;
+ }
+
+ function on_load() {
+ [% FOREACH row = CONTENTS %]
+ warehouse_selected([% loop.count %], [% initial_warehouse_idx %]);
+ [% END %]
+ }
+ -->
+ </script>
+
+ <form method="post" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="transfer_parts">
+ <input type="hidden" name="warehouse_id" value="[% HTML.escape(warehouse_id) %]">
+
+ <div class="listtop">[% title %]</div>
+
+ <p>Transfer from warehouse: [% warehouse_description %]</p>
+
+ <p>
+ <table>
+ <tr>
+ <td>Select type of transfer:</td>
+ <td>
+ <select name="transfer_type_id">
+ [%- FOREACH type = TRANSFER_TYPES %]<option value="[% HTML.escape(type.id) %]">[% type.description %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Optional comment:</td>
+ <td><input name="comment" size="20"></td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <table>
+ <tr>
+ <th class="listheading">Source bin</th>
+ <th class="listheading">Part Number</th>
+ <th class="listheading">Part Description</th>
+ <th class="listheading">Charge Number</th>
+ <th class="listheading">EAN</th>
+ <th class="listheading">Available qty</th>
+ <th class="listheading" colspan="2">Transfer qty</th>
+ <th class="listheading" colspan="2">Destination warehouse and bin</th>
+ </tr>
+
+ [% FOREACH row = CONTENTS %]
+ <tr class="listrow[% loop.count % 2 %]">
+ <input type="hidden" name="src_bin_id_[% loop.count %]" value="[% HTML.escape(row.binid) %]">
+ <input type="hidden" name="parts_id_[% loop.count %]" value="[% HTML.escape(row.parts_id) %]">
+ <input type="hidden" name="partnumber_[% loop.count %]" value="[% HTML.escape(row.partnumber) %]">
+ <input type="hidden" name="partdescription_[% loop.count %]" value="[% HTML.escape(row.partdescription) %]">
+ <input type="hidden" name="chargenumber_[% loop.count %]" value="[% HTML.escape(row.chargenumber) %]">
+ <input type="hidden" name="ean_[% loop.count %]" value="[% HTML.escape(row.ean) %]">
+ <td>[% HTML.escape(row.bindescription) %]</td>
+ <td>[% HTML.escape(row.partnumber) %]</td>
+ <td>[% HTML.escape(row.partdescription) %]</td>
+ <td>[% HTML.escape(row.chargenumber) %]</td>
+ <td>[% HTML.escape(row.ean) %]</td>
+ <td>[% HTML.escape(row.qty) %]</td>
+ <td><input name="qty_[% loop.count %]" size="8" style="text-align: right"></td>
+ <td>
+ <select name="unit_[% loop.count %]">
+ [% FOREACH unit = row.UNITS %]<option[% IF unit.selected %] selected[% END %]>[% HTML.escape(unit.name) %]</option>[% END %]
+ </select>
+ </td>
+
+ <td>
+ <select name="dst_warehouse_id_[% loop.count %]" onchange="warehouse_selected([% loop.count %], this.selectedIndex)">
+ [% FOREACH wh = WAREHOUSES %]<option value="[% HTML.escape(wh.id) %]"[% IF wh.selected %] selected[% END %]>[% HTML.escape(wh.description) %]</option>[% END %]
+ </select>
+ </td>
+ <td><select id="dst_bin_id_[% loop.count %]" name="dst_bin_id_[% loop.count %]"></select></td>
+ </tr>
+
+ [% END %]
+
+ <input type="hidden" name="rowcount" value="[% CONTENTS.size %]">
+
+ </table>
+ </p>
+
+ <hr size="3" noshade>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %][% USE LxERP %]<body onload="on_load(); [% onload %]">
+
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/part_selection.js"></script>
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH warehouse = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count - 1 %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['id'] = [% warehouse.id %];
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'] = new Array();
+ [% USE BINS_it = Iterator(warehouse.BINS) %][% FOREACH bin = BINS_it %]
+ warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]]['description'] = "[% JavaScript.escape(bin.description) %]";
+ warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]]['id'] = [% bin.id %];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(warehouse_id, bin_id) {
+ var control = document.getElementById("bin_id");
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ var warehouse_index = 0;
+
+ for (i = 0; i < warehouses.length; i++)
+ if (warehouses[i]['id'] == warehouse_id) {
+ warehouse_index = i;
+ break;
+ }
+
+ var warehouse = warehouses[warehouse_index];
+ var bin_index = 0;
+
+ for (i = 0; i < warehouse['bins'].length; i++)
+ if (warehouse['bins'][i]['id'] == bin_id) {
+ bin_index = i;
+ break;
+ }
+
+ for (i = 0; i < warehouse['bins'].length; i++) {
+ control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
+ }
+
+
+ control.options[bin_index].selected = true;
+ }
+
+ function on_load() {
+ warehouse_selected([% warehouse_id %], [% bin_id %]);
+ }
+ -->
+ </script>
+
+ <form name="Form" method="post" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="transfer_assembly">
+ <input type="hidden" name="update_nextsub" value="transfer_assembly_update_part">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right" nowrap>Destination warehouse</th>
+ <td>
+ <select name="warehouse_id" onchange="warehouse_selected(warehouses[this.selectedIndex]['id'], 0)">
+ [%- FOREACH warehouse = WAREHOUSES %]
+ <option value="[% HTML.escape(warehouse.id) %]"[% IF warehouse_id == warehouse.id %] selected[% END %]>[% warehouse.description %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Destination bin:</th>
+ <td><select id="bin_id" name="bin_id"></select></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Assembly Number</th>
+ <td>
+ <input type="hidden" name="parts_id" id="parts_id" value="[% HTML.escape(parts_id) %]">
+ <input type="hidden" name="old_partnumber" id="old_partnumber" value="[% HTML.escape(partnumber) %]">
+ <input name="partnumber" size="30" value="[% HTML.escape(partnumber) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Assembly Description</th>
+ <td>
+ <input name="description" size="30" value="[% HTML.escape(description) %]">
+ <input type="button" onclick="part_selection_window('partnumber', 'description', 'parts_id', 0, 'Form', 'assemblies:click_button=update_button')" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Charge number</th>
+ <td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Quantity</th>
+ <td>
+ <input name="qty" size="10" value="[% HTML.escape(LxERP.format_amount(qty)) %]">
+ <select name="unit">
+ [%- FOREACH unit = UNITS %]<option[% IF unit.selected %] selected[% END %]>[% HTML.escape(unit.name) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Optional comment</th>
+ <td><input name="comment" size="30" value="[% HTML.escape(comment) %]"></td>
+ </tr>
+
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" id="update_button" value="Update">
+ [%- IF parts_id %]
+ <input type="submit" class="submit" name="action" value="Create Assembly">
+ [%- END %]
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %]<body onload="on_load();">
+
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/part_selection.js"></script>
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH warehouse = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count - 1 %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['id'] = [% warehouse.id %];
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'][0] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'][0]['description'] = "---";
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'][0]['id'] = "";
+ [% USE BINS_it = Iterator(warehouse.BINS) %][% FOREACH bin = BINS_it %]
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'][[% BINS_it.count %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'][[% BINS_it.count %]]['description'] = "[% JavaScript.escape(bin.description) %]";
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'][[% BINS_it.count %]]['id'] = [% bin.id %];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(warehouse_id, bin_id) {
+ var control = document.getElementById("bin_id");
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ var warehouse_index = 0;
+
+ for (i = 0; i < warehouses.length; i++)
+ if (warehouses[i]['id'] == warehouse_id) {
+ warehouse_index = i;
+ break;
+ }
+
+ var warehouse = warehouses[warehouse_index];
+ var bin_index = 0;
+
+ for (i = 0; i < warehouse['bins'].length; i++)
+ if (warehouse['bins'][i]['id'] == bin_id) {
+ bin_index = i;
+ break;
+ }
+
+ for (i = 0; i < warehouse['bins'].length; i++) {
+ control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
+ }
+
+
+ control.options[bin_index].selected = true;
+ }
+
+ function on_load() {
+ warehouse_selected(0, 0);
+ document.Form.partnumber.focus();
+ }
+ -->
+ </script>
+
+ <form name="Form" method="post" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="[% HTML.escape(nextsub) %]">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ If you enter values for the part number and / or part description then only those bins containing parts whose part number or part description match your input will be shown.
+ </p>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right" nowrap>Transfer from warehouse:</th>
+ <td>
+ <select name="warehouse_id" id="warehouse_id" onchange="warehouse_selected(warehouses[this.selectedIndex]['id'], 0)">
+ [%- FOREACH warehouse = WAREHOUSES %]
+ <option value="[% HTML.escape(warehouse.id) %]">[% warehouse.description %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Bin:</th>
+ <td><select id="bin_id" name="bin_id"></select></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Limit part selection:</th>
+ <td></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Part Number</th>
+ <td>
+ <input type="hidden" name="parts_id" id="parts_id">
+ <input name="partnumber" id="partnumber" size="30">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Part Description</th>
+ <td>
+ <input name="description" size="30">
+ <input type="button" onclick="part_selection_window('partnumber', 'description', 'parts_id', 0, 'Form', 'no_services:')" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Charge number</th>
+ <td><input name="chargenumber" size="30"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>EAN</th>
+ <td><input name="ean" size="30"></td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" value="Continue">
+ </p>
+ </form>
+
+</body>
+</html>
--- /dev/null
+[% USE HTML %][% USE JavaScript %][% USE LxERP %]<body onload="on_load(); [% onload %]">
+
+ <script type="text/javascript" src="js/common.js"></script>
+ <script type="text/javascript" src="js/part_selection.js"></script>
+ <script type="text/javascript">
+ <!--
+ warehouses = new Array();
+ [%- USE WAREHOUSES_it = Iterator(WAREHOUSES) %][%- FOREACH warehouse = WAREHOUSES_it %]
+ warehouses[[% WAREHOUSES_it.count - 1 %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['id'] = [% warehouse.id %];
+ warehouses[[% WAREHOUSES_it.count - 1 %]]['bins'] = new Array();
+ [% USE BINS_it = Iterator(warehouse.BINS) %][% FOREACH bin = BINS_it %]
+ warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]] = new Array();
+ warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]]['description'] = "[% JavaScript.escape(bin.description) %]";
+ warehouses[[% WAREHOUSES_it.count - 1%]]['bins'][[% BINS_it.count - 1 %]]['id'] = [% bin.id %];
+ [% END %]
+ [% END %]
+
+ function warehouse_selected(warehouse_id, bin_id) {
+ var control = document.getElementById("bin_id");
+
+ for (var i = control.options.length - 1; i >= 0; i--) {
+ control.options[i] = null;
+ }
+
+ var warehouse_index = 0;
+
+ for (i = 0; i < warehouses.length; i++)
+ if (warehouses[i]['id'] == warehouse_id) {
+ warehouse_index = i;
+ break;
+ }
+
+ var warehouse = warehouses[warehouse_index];
+ var bin_index = 0;
+
+ for (i = 0; i < warehouse['bins'].length; i++)
+ if (warehouse['bins'][i]['id'] == bin_id) {
+ bin_index = i;
+ break;
+ }
+
+ for (i = 0; i < warehouse['bins'].length; i++) {
+ control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
+ }
+
+
+ control.options[bin_index].selected = true;
+ }
+
+ function on_load() {
+ warehouse_selected([% warehouse_id %], [% bin_id %]);
+ }
+ -->
+ </script>
+
+ <form name="Form" method="post" action="wh.pl">
+
+ <input type="hidden" name="nextsub" value="transfer_stock">
+ <input type="hidden" name="update_nextsub" value="transfer_stock_update_part">
+
+ [% IF saved_message %]
+ <p>[% saved_message %]</p>
+ [% END %]
+
+ <div class="listtop">[% title %]</div>
+
+ <p>
+ <table>
+ <tr>
+ <th align="right" nowrap>Destination warehouse</th>
+ <td>
+ <select name="warehouse_id" onchange="warehouse_selected(warehouses[this.selectedIndex]['id'], 0)">
+ [%- FOREACH warehouse = WAREHOUSES %]
+ <option value="[% HTML.escape(warehouse.id) %]"[% IF warehouse_id == warehouse.id %] selected[% END %]>[% warehouse.description %]</option>
+ [%- END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Destination bin:</th>
+ <td><select id="bin_id" name="bin_id"></select></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Part Number</th>
+ <td>
+ <input type="hidden" name="parts_id" id="parts_id" value="[% HTML.escape(parts_id) %]">
+ <input type="hidden" name="old_partnumber" id="old_partnumber" value="[% HTML.escape(partnumber) %]">
+ <input name="partnumber" size="30" value="[% HTML.escape(partnumber) %]">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Part Description</th>
+ <td>
+ <input name="description" size="30" value="[% HTML.escape(description) %]">
+ <input type="button" onclick="part_selection_window('partnumber', 'description', 'parts_id', 0, 'Form', 'no_services:click_button=update_button')" value="?">
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Charge number</th>
+ <td><input name="chargenumber" size="30" value="[% HTML.escape(chargenumber) %]"></td>
+ </tr>
+ <tr>
+ <th align="right" nowrap>EAN</th>
+ <td><input name="ean" size="30" value="[% HTML.escape(ean) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Quantity</th>
+ <td>
+ <input name="qty" size="10" value="[% HTML.escape(LxERP.format_amount(qty)) %]">
+ <select name="unit">
+ [%- FOREACH unit = UNITS %]<option[% IF unit.selected %] selected[% END %]>[% HTML.escape(unit.name) %]</option>[% END %]
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <th align="right" nowrap>Optional comment</th>
+ <td><input name="comment" size="30" value="[% HTML.escape(comment) %]"></td>
+ </tr>
+
+ </table>
+ </p>
+
+ <p>
+ <input type="submit" class="submit" name="action" id="update_button" value="Update">
+ [%- IF parts_id %]
+ <input type="submit" class="submit" name="action" value="Stock">
+ [%- END %]
+ </p>
+ </form>
+
+</body>
+</html>