Compare commits

..

No commits in common. "master" and "V.1.11" have entirely different histories.

109 changed files with 27291 additions and 35785 deletions

1
.gitignore vendored
View File

@ -2,4 +2,3 @@ conf/user.inc.php
conf/user_defined.php conf/user_defined.php
userdata userdata
www/cache/ www/cache/
www/themes/new/css/custom.css

View File

@ -20,7 +20,7 @@ final class ErrorPageData implements JsonSerializable
public function __construct($exception, $title = null) public function __construct($exception, $title = null)
{ {
$this->exception = $exception; $this->exception = $exception;
$this->title = !empty($title) ? (string)$title : 'DBXE: Es ist ein unerwarteter Fehler aufgetreten!'; $this->title = !empty($title) ? (string)$title : 'OpenXE: Es ist ein unerwarteter Fehler aufgetreten!';
} }

View File

@ -73,7 +73,7 @@ final class Shopware6Client
$request = new ClientRequest( $request = new ClientRequest(
$method, $method,
$this->url . $endpoint, $this->url . 'v2/' . $endpoint,
$headerInformation, $headerInformation,
empty($body) ? null : json_encode($body) empty($body) ? null : json_encode($body)
); );

View File

@ -31,14 +31,14 @@ class SubscriptionModule implements SubscriptionModuleInterface
aa.id, aa.id,
@start := GREATEST(aa.startdatum, aa.abgerechnetbis) as start, @start := GREATEST(aa.startdatum, aa.abgerechnetbis) as start,
@end := IF(aa.enddatum = '0000-00-00' OR aa.enddatum > :calcdate, :calcdate, aa.enddatum) as end, @end := IF(aa.enddatum = '0000-00-00' OR aa.enddatum > :calcdate, :calcdate, aa.enddatum) as end,
@cycles := GREATEST(aa.zahlzyklus, CASE @cycles := CASE
WHEN aa.preisart = 'monat' THEN WHEN aa.preisart = 'monat' THEN
TIMESTAMPDIFF(MONTH, @start, @end) TIMESTAMPDIFF(MONTH, @start, @end)
WHEN aa.preisart = 'jahr' THEN WHEN aa.preisart = 'jahr' THEN
TIMESTAMPDIFF(YEAR, @start, @end) TIMESTAMPDIFF(YEAR, @start, @end)
WHEN aa.preisart = '30tage' THEN WHEN aa.preisart = '30tage' THEN
FLOOR(TIMESTAMPDIFF(DAY, @start, @end) / 30) FLOOR(TIMESTAMPDIFF(DAY, @start, @end) / 30)
END+1) as cycles, END+1 as cycles,
CASE CASE
WHEN aa.preisart = 'monat' THEN WHEN aa.preisart = 'monat' THEN
DATE_ADD(@start, INTERVAL @cycles MONTH) DATE_ADD(@start, INTERVAL @cycles MONTH)

View File

@ -223,7 +223,7 @@ if ($task) {
} catch (Exception $e) { } catch (Exception $e) {
$app->erp->LogFile( $app->erp->LogFile(
$app->DB->real_escape_string( $app->DB->real_escape_string(
'Prozessstarter Fehler bei Aufruf des Moduls ' . $task[$task_index]['parameter'] . ': ' . $e->getMessage()." Trace: ".$e->GetTraceAsString() 'Prozessstarter Fehler bei Aufruf des Moduls ' . $task[$task_index]['parameter'] . ': ' . $e->getMessage()
) )
); );
} }

View File

@ -16729,9 +16729,7 @@ INSERT INTO `firmendaten_werte` (`id`, `name`, `typ`, `typ1`, `typ2`, `wert`, `d
(386, 'cleaner_shopimport_tage', 'int', '11', '', '90', '90', 0, 0), (386, 'cleaner_shopimport_tage', 'int', '11', '', '90', '90', 0, 0),
(387, 'cleaner_adapterbox', 'tinyint', '1', '', '1', '1', 0, 0), (387, 'cleaner_adapterbox', 'tinyint', '1', '', '1', '1', 0, 0),
(388, 'cleaner_adapterbox_tage', 'int', '11', '', '90', '90', 0, 0), (388, 'cleaner_adapterbox_tage', 'int', '11', '', '90', '90', 0, 0),
(389, 'bcc3', 'varchar', '128', '', '', '', 0, 0), (389, 'bcc3', 'varchar', '128', '', '', '', 0, 0)
(390, 'rechnungersatz_standard', 'int', '1', '', '0', '0', 0, 0)
; ;
INSERT INTO `geschaeftsbrief_vorlagen` (`id`, `sprache`, `betreff`, `text`, `subjekt`, `projekt`, `firma`) VALUES INSERT INTO `geschaeftsbrief_vorlagen` (`id`, `sprache`, `betreff`, `text`, `subjekt`, `projekt`, `firma`) VALUES
@ -16751,44 +16749,6 @@ INSERT INTO `geschaeftsbrief_vorlagen` (`id`, `sprache`, `betreff`, `text`, `sub
(16, 'deutsch', 'Zusammenstellung Ihrer Bestellung', '{ANSCHREIBEN},<br><br>soeben wurde Ihr Bestellung zusammengestellt. Sie können Ihre Ware jetzt abholen. Sind Sie bereits bei uns gewesen, so sehen Sie diese E-Mail bitte als gegenstandslos an.<br><br>{VERSAND}<br><br>Ihr {FIRMA} Team<br>', 'Selbstabholer', 0, 1), (16, 'deutsch', 'Zusammenstellung Ihrer Bestellung', '{ANSCHREIBEN},<br><br>soeben wurde Ihr Bestellung zusammengestellt. Sie können Ihre Ware jetzt abholen. Sind Sie bereits bei uns gewesen, so sehen Sie diese E-Mail bitte als gegenstandslos an.<br><br>{VERSAND}<br><br>Ihr {FIRMA} Team<br>', 'Selbstabholer', 0, 1),
(17, 'deutsch', 'Ihre Gutschrift {BELEGNR} von {FIRMA}', '{ANSCHREIBEN},<br><br>anbei finden Sie Ihre Gutschrift. Gerne stehen wir Ihnen weiterhin zur Verfügung.<br><br>Ihre Gutschrift ist im PDF-Format erstellt worden. Um sich die Gutschrift ansehen zu können, klicken Sie auf den Anhang und es öffnet sich automatisch der Acrobat Reader. Sollten Sie keinen Acrobat Reader besitzen, haben wir für Sie den Link zum kostenlosen Download von Adobe Acrobat Reader mit angegeben. Er führt Sie automatisch auf die Downloadseite von Adobe. So können Sie sich Ihre Gutschrift auch für Ihre Unterlagen ausdrucken.<br><br>http://www.adobe.com/products/acrobat/readstep2.html<br><br>{IF}{INTERNET}{THEN}Internet-Bestellnr.: {INTERNET}{ELSE}{ENDIF}', 'Gutschrift', 1, 1); (17, 'deutsch', 'Ihre Gutschrift {BELEGNR} von {FIRMA}', '{ANSCHREIBEN},<br><br>anbei finden Sie Ihre Gutschrift. Gerne stehen wir Ihnen weiterhin zur Verfügung.<br><br>Ihre Gutschrift ist im PDF-Format erstellt worden. Um sich die Gutschrift ansehen zu können, klicken Sie auf den Anhang und es öffnet sich automatisch der Acrobat Reader. Sollten Sie keinen Acrobat Reader besitzen, haben wir für Sie den Link zum kostenlosen Download von Adobe Acrobat Reader mit angegeben. Er führt Sie automatisch auf die Downloadseite von Adobe. So können Sie sich Ihre Gutschrift auch für Ihre Unterlagen ausdrucken.<br><br>http://www.adobe.com/products/acrobat/readstep2.html<br><br>{IF}{INTERNET}{THEN}Internet-Bestellnr.: {INTERNET}{ELSE}{ENDIF}', 'Gutschrift', 1, 1);
/* DBXE 2024-01-24 für datatablelabel */
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
('eproosystem_ende', 1, 0, '', ''),
('parseuservars', 1, 0, '', ''),
('dokumentsend_ende', 1, 0, '', ''),
('auftrag_versand_ende', 1, 0, '', ''),
('transfer_document_incoming', 1, 0, '', '')
;
INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `hook`, `module`, `module_parameter`) VALUES
(0, 'DataTableLabelsInclude', 1, 3, (SELECT id FROM hook WHERE name = 'eproosystem_ende'), 'Datatablelabels', 0),
(0, 'DatatablelabelsParseUserVars', 1, 2, (SELECT id FROM hook WHERE name = 'parseuservars'), 'Datatablelabels', 0),
(0, 'DataTableLabelsDokumentSendHook', 1, 1, (SELECT id FROM hook WHERE name = 'dokumentsend_ende'), 'Datatablelabels', 0),
(0, 'DatatablelabelsOrderSent', 1, 1, (SELECT id FROM hook WHERE name = 'auftrag_versand_ende'), 'Datatablelabels', 0),
(0, 'DatatablelabelsTransferDocumentIncomming', 1, 1, (SELECT id FROM hook WHERE name = 'transfer_document_incoming'), 'Datatablelabels', 0);
/* DBXE 2024-01-24 für datatablelabel */
/* OpenXE 2024-02-03 für belegvorlagen */
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
('BelegPositionenButtons', 1, 3, '', ''),
('AARLGPositionen_cmds_end', 1, 1, '', ''),
('ajax_filter_hook1', 1, 1, '', '');
INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `hook`, `module`, `module_parameter`) VALUES
(0, 'BelegevorlagenAARLGPositionen_cmds_end', 1, 2, (SELECT id FROM hook WHERE name = 'AARLGPositionen_cmds_end' LIMIT 1), 'belegevorlagen', 0),
(0, 'Belegevorlagenajax_filter_hook1', 1, 2, (SELECT id FROM hook WHERE name = 'ajax_filter_hook1' LIMIT 1), 'belegevorlagen', 0),
(0, 'BelegevorlagenBelegPositionenButtons', 1, 2, (SELECT id FROM hook WHERE name = 'BelegPositionenButtons' LIMIT 1), 'belegevorlagen', 0)
;
/* DBXE 2024-02-03 für belegvorlagen */
/*
BelegPositionenButtons
Id,Hook_action,Function,Aktiv,Position,Hook,Module,Module_parameter
20,0,BelegevorlagenBelegPositionenButtons,1,2,16,belegevorlagen,0
*/
INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES
(1, 'artikel', 1), (1, 'artikel', 1),
(2, 'provisionenartikel', 1), (2, 'provisionenartikel', 1),
@ -18210,7 +18170,7 @@ INSERT INTO `wiedervorlage_stages` (`id`, `kurzbezeichnung`, `name`, `hexcolor`,
(12, 'Stay', 'Stay (Erhalt)', '#A2D624', 0, 1, 4, 4, NULL), (12, 'Stay', 'Stay (Erhalt)', '#A2D624', 0, 1, 4, 4, NULL),
(13, 'Okay', 'Okay (Befürwortung)', '#A2D624', 0, 1, 5, 4, NULL); (13, 'Okay', 'Okay (Befürwortung)', '#A2D624', 0, 1, 5, 4, NULL);
INSERT INTO `wiki` (`id`, `name`, `content`, `lastcontent`) VALUES INSERT INTO `wiki` (`id`, `name`, `content`, `lastcontent`) VALUES
(1, 'StartseiteWiki', '\n<p>Herzlich Willkommen in Ihrem DBXE, dem freien ERP.<br><br>Wir freuen uns Sie als Benutzer begrüßen zu dürfen. Mit DBXE organisieren Sie Ihre Firma schnell und einfach. Sie haben alle wichtigen Zahlen und Vorgänge im Überblick.<br><br>Für Einsteiger sind die folgenden Themen wichtig:<br><br></p>\n<ul>\n<li> <a href="index.php?module=firmendaten&amp;action=edit" target="_blank"> Firmendaten</a> (dort richten Sie Ihr Briefpapier ein)</li>\n<li> <a href="index.php?module=adresse&amp;action=list" target="_blank"> Stammdaten / Adressen</a> (Kunden und Lieferanten anlegen)</li>\n<li> <a href="index.php?module=artikel&amp;action=list" target="_blank"> Artikel anlegen</a> (Ihr Artikelstamm)</li>\n<li> <a href="index.php?module=angebot&amp;action=list" target="_blank"> Angebot</a> / <a href="index.php?module=auftrag&amp;action=list" target="_blank"> Auftrag</a> (Alle Dokumente für Ihr Geschäft)</li>\n<li> <a href="index.php?module=rechnung&amp;action=list" target="_blank"> Rechnung</a> / <a href="index.php?module=gutschrift&amp;action=list" target="_blank"> Gutschrift</a></li>\n<li> <a href="index.php?module=lieferschein&amp;action=list" target="_blank"> Lieferschein</a></li>\n</ul>\n<p><br><br>Kennen Sie unsere Zusatzmodule die Struktur und Organisation in das tägliche Geschäft bringen?<br><br></p>\n<ul>\n<li> <a href="index.php?module=kalender&amp;action=list" target="_blank"> Kalender</a></li>\n<li> <a href="index.php?module=wiki&amp;action=list" target="_blank"> Wiki</a></li>\n</ul>', NULL); (1, 'StartseiteWiki', '\n<p>Herzlich Willkommen in Ihrem OpenXE, dem freien ERP.<br><br>Wir freuen uns Sie als Benutzer begrüßen zu dürfen. Mit OpenXE organisieren Sie Ihre Firma schnell und einfach. Sie haben alle wichtigen Zahlen und Vorgänge im Überblick.<br><br>Für Einsteiger sind die folgenden Themen wichtig:<br><br></p>\n<ul>\n<li> <a href="index.php?module=firmendaten&amp;action=edit" target="_blank"> Firmendaten</a> (dort richten Sie Ihr Briefpapier ein)</li>\n<li> <a href="index.php?module=adresse&amp;action=list" target="_blank"> Stammdaten / Adressen</a> (Kunden und Lieferanten anlegen)</li>\n<li> <a href="index.php?module=artikel&amp;action=list" target="_blank"> Artikel anlegen</a> (Ihr Artikelstamm)</li>\n<li> <a href="index.php?module=angebot&amp;action=list" target="_blank"> Angebot</a> / <a href="index.php?module=auftrag&amp;action=list" target="_blank"> Auftrag</a> (Alle Dokumente für Ihr Geschäft)</li>\n<li> <a href="index.php?module=rechnung&amp;action=list" target="_blank"> Rechnung</a> / <a href="index.php?module=gutschrift&amp;action=list" target="_blank"> Gutschrift</a></li>\n<li> <a href="index.php?module=lieferschein&amp;action=list" target="_blank"> Lieferschein</a></li>\n</ul>\n<p><br><br>Kennen Sie unsere Zusatzmodule die Struktur und Organisation in das tägliche Geschäft bringen?<br><br></p>\n<ul>\n<li> <a href="index.php?module=kalender&amp;action=list" target="_blank"> Kalender</a></li>\n<li> <a href="index.php?module=wiki&amp;action=list" target="_blank"> Wiki</a></li>\n</ul>', NULL);
INSERT INTO `konten` (`id`, `bezeichnung`, `kurzbezeichnung`, `type`, `erstezeile`, `datevkonto`, `blz`, `konto`, `swift`, `iban`, `lastschrift`, `hbci`, `hbcikennung`, `inhaber`, `aktiv`, `keineemail`, `firma`, `schreibbar`, `importletztenzeilenignorieren`, `liveimport`, `liveimport_passwort`, `liveimport_online`, `importtrennzeichen`, `codierung`, `importerstezeilenummer`, `importdatenmaskierung`, `importnullbytes`, `glaeubiger`, `geloescht`, `projekt`, `saldo_summieren`, `saldo_betrag`, `saldo_datum`, `importfelddatum`, `importfelddatumformat`, `importfelddatumformatausgabe`, `importfeldbetrag`, `importfeldbetragformat`, `importfeldbuchungstext`, `importfeldbuchungstextformat`, `importfeldwaehrung`, `importfeldwaehrungformat`, `importfeldhabensollkennung`, `importfeldkennunghaben`, `importfeldkennungsoll`, `importextrahabensoll`, `importfeldhaben`, `importfeldsoll`, `cronjobaktiv`, `cronjobverbuchen`) VALUES INSERT INTO `konten` (`id`, `bezeichnung`, `kurzbezeichnung`, `type`, `erstezeile`, `datevkonto`, `blz`, `konto`, `swift`, `iban`, `lastschrift`, `hbci`, `hbcikennung`, `inhaber`, `aktiv`, `keineemail`, `firma`, `schreibbar`, `importletztenzeilenignorieren`, `liveimport`, `liveimport_passwort`, `liveimport_online`, `importtrennzeichen`, `codierung`, `importerstezeilenummer`, `importdatenmaskierung`, `importnullbytes`, `glaeubiger`, `geloescht`, `projekt`, `saldo_summieren`, `saldo_betrag`, `saldo_datum`, `importfelddatum`, `importfelddatumformat`, `importfelddatumformatausgabe`, `importfeldbetrag`, `importfeldbetragformat`, `importfeldbuchungstext`, `importfeldbuchungstextformat`, `importfeldwaehrung`, `importfeldwaehrungformat`, `importfeldhabensollkennung`, `importfeldkennunghaben`, `importfeldkennungsoll`, `importextrahabensoll`, `importfeldhaben`, `importfeldsoll`, `cronjobaktiv`, `cronjobverbuchen`) VALUES

View File

@ -765,7 +765,6 @@ $tooltip['firmendaten']['edit']['bezeichnungangebotersatz']="Im Angebot gibt es
$tooltip['firmendaten']['edit']['angebotersatz_standard']="Mit dieser Option setzen Sie die alternative Bezeichnung im Angebot (Option drüber) als Standard. Dadurch ist der Haken beim Erstellen eines neuen Angebots immer gesetzt."; $tooltip['firmendaten']['edit']['angebotersatz_standard']="Mit dieser Option setzen Sie die alternative Bezeichnung im Angebot (Option drüber) als Standard. Dadurch ist der Haken beim Erstellen eines neuen Angebots immer gesetzt.";
$tooltip['firmendaten']['edit']['bezeichnungauftragersatz']="Im Auftrag gibt es einen Haken um den Betreff des Augtrag-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest."; $tooltip['firmendaten']['edit']['bezeichnungauftragersatz']="Im Auftrag gibt es einen Haken um den Betreff des Augtrag-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest.";
$tooltip['firmendaten']['edit']['bezeichnungrechnungersatz']="In der Rechnung gibt es einen Haken um den Betreff des Rechnung-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest."; $tooltip['firmendaten']['edit']['bezeichnungrechnungersatz']="In der Rechnung gibt es einen Haken um den Betreff des Rechnung-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest.";
$tooltip['firmendaten']['edit']['rechnungersatz_standard']="Mit dieser Option setzen Sie die alternative Bezeichnung in der Rechnung (Option drüber) als Standard. Dadurch ist der Haken beim Erstellen einer neuen Rechnung immer gesetzt.";
$tooltip['firmendaten']['edit']['bezeichnunglieferscheinersatz']="Im Lieferschein gibt es einen Haken um den Betreff des Lieferschein-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest."; $tooltip['firmendaten']['edit']['bezeichnunglieferscheinersatz']="Im Lieferschein gibt es einen Haken um den Betreff des Lieferschein-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest.";
$tooltip['firmendaten']['edit']['bezeichnungbestellungersatz']="In der Bestellung gibt es einen Haken um den Betreff des Bestell-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest."; $tooltip['firmendaten']['edit']['bezeichnungbestellungersatz']="In der Bestellung gibt es einen Haken um den Betreff des Bestell-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest.";
$tooltip['firmendaten']['edit']['bezeichnungproformarechnungersatz']="In der Proformarechnung gibt es einen Haken um den Betreff der Proformarechnung-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest."; $tooltip['firmendaten']['edit']['bezeichnungproformarechnungersatz']="In der Proformarechnung gibt es einen Haken um den Betreff der Proformarechnung-Belegs umzubenennen.<br>Mit der Option hier legen Sie den Namen des alternativen Betreffs fest.";

View File

@ -1230,7 +1230,7 @@ class DB{
$sql = "UPDATE `$tablename` SET "; $sql = "UPDATE `$tablename` SET ";
foreach($ArrCols as $key=>$value) { foreach($ArrCols as $key=>$value) {
if($key!=$pkname && (isset($ziel[$key]) || !$zielspalten)) { if($key!=$pkname && (isset($ziel[$key]) || !$zielspalten)) {
$sqla[] = "`".$key."` = '".($escape?$this->real_escape_string($value):$value)."' "; $sqla[] = $key." = '".($escape?$this->real_escape_string($value):$value)."' ";
} }
} }
if(!empty($sqla)) { if(!empty($sqla)) {

View File

@ -736,10 +736,9 @@ class YUI {
if($value == '')$value = '0'; if($value == '')$value = '0';
$this->app->DB->Update("UPDATE $table SET rabatt='$value',keinrabatterlaubt=1 WHERE id='$id' LIMIT 1"); $this->app->DB->Update("UPDATE $table SET rabatt='$value',keinrabatterlaubt=1 WHERE id='$id' LIMIT 1");
$result = $this->app->DB->Select("SELECT ".$this->FormatPreis('rabatt')." FROM $table WHERE id='$id' LIMIT 1"); $result = $this->app->DB->Select("SELECT ".$this->FormatPreis('rabatt')." FROM $table WHERE id='$id' LIMIT 1");
$sort = $this->app->DB->Select("SELECT sort FROM $table WHERE id='$id' LIMIT 1");
//$sort = $this->app->DB->Select("SELECT sort FROM $table WHERE id='$id' LIMIT 1"); $parent = $this->app->DB->Select("SELECT $module FROM $table WHERE id='$id' LIMIT 1");
//$parent = $this->app->DB->Select("SELECT $module FROM $table WHERE id='$id' LIMIT 1"); if($parent && $sort == 1)$this->app->DB->Update("UPDATE $module SET rabatt = '$value',keinrabatterlaubt=1 WHERE id = '$parent' LIMIT 1");
//if($parent && $sort == 1)$this->app->DB->Update("UPDATE $module SET rabatt = '$value',keinrabatterlaubt=1 WHERE id = '$parent' LIMIT 1");
if(in_array($module, array('auftrag','rechnung','gutschrift'))) if(in_array($module, array('auftrag','rechnung','gutschrift')))
{ {
$tmptable_value = $this->app->DB->Select("SELECT $module FROM $table WHERE id = '$id' LIMIT 1"); $tmptable_value = $this->app->DB->Select("SELECT $module FROM $table WHERE id = '$id' LIMIT 1");
@ -2839,94 +2838,22 @@ class YUI {
,b.waehrung, b.rabatt as rabatt,"; ,b.waehrung, b.rabatt as rabatt,";
}else{
if ($this->app->erp->RechteVorhanden('angebot','einkaufspreise')) {
$sql .= $this->FormatPreis('einkaufspreis')." as einkaufspreis,
CONCAT(".$this->app->erp->FormatPreis("ROUND(deckungsbeitrag*100,2)",2).",'%') AS DB,
";
}
} else {
$sql = "SELECT $sortcol, CONCAT($hersteller_ansicht if(b.beschreibung!='', $sql = "SELECT $sortcol, CONCAT($hersteller_ansicht if(b.beschreibung!='',
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(CONCAT(b.bezeichnung,' *'),1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),CONCAT(b.bezeichnung,' *')), if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(CONCAT(b.bezeichnung,' *'),1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),CONCAT(b.bezeichnung,' *')),
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(b.bezeichnung,1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),b.bezeichnung)) $erweiterte_ansicht) if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(b.bezeichnung,1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),b.bezeichnung)) $erweiterte_ansicht)
as Artikel, as Artikel,
p.abkuerzung as projekt, p.abkuerzung as projekt, a.nummer as nummer, b.nummer as nummer, DATE_FORMAT(lieferdatum,'%d.%m.%Y') as lieferdatum, trim(b.menge)+0 as menge, ".$this->FormatPreis($preiscell)." as preis
a.nummer as nummer,
b.nummer as nummer,
DATE_FORMAT(lieferdatum, ,b.waehrung, b.rabatt as rabatt,";
'%d.%m.%Y') as lieferdatum,
trim(b.menge)+0 as menge,
".$this->FormatPreis($preiscell)." as preis,
b.waehrung,
b.rabatt as rabatt,
'' AS Einkaufspreis,
'' AS DB,
";
} }
$sql .= "b.id as id $sql .= "b.id as id
FROM $table b FROM $table b
LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id
WHERE b.$module='$id'"; WHERE b.$module='$id'";
}
else if ($module == "verbindlichkeit") // OpenXE } else {
{
$sql = "
SELECT
$sortcol,
IF(
b.beschreibung != '',
IF(
CHAR_LENGTH(b.bezeichnung) > " . $this->app->erp->MaxArtikelbezeichnung() . ",
CONCAT(
SUBSTR(
CONCAT(b.bezeichnung, ' *'),
1,
" . $this->app->erp->MaxArtikelbezeichnung() . "
),
'...'
),
CONCAT(b.bezeichnung, ' *')
),
IF(
CHAR_LENGTH(b.bezeichnung) > " . $this->app->erp->MaxArtikelbezeichnung() . ",
CONCAT(
SUBSTR(
b.bezeichnung,
1,
" . $this->app->erp->MaxArtikelbezeichnung() . "
),
'...'
),
b.bezeichnung
)
) AS Artikel,
p.abkuerzung AS projekt,
a.nummer,
".$this->app->erp->FormatDate('lieferdatum')." AS lieferdatum,
TRIM(b.menge) +0 AS menge,
" . $this->FormatPreis($preiscell) . " AS preis,
" . $this->FormatPreis($preiscell."*menge") . " AS Betrag,
CONCAT(
k.sachkonto,
' - ',
k.beschriftung
) AS sachkonto,
b.id AS id
FROM
$table b
LEFT JOIN artikel a ON
a.id = b.artikel
LEFT JOIN projekt p ON
b.projekt = p.id
LEFT JOIN kontorahmen k ON
k.id = b.sachkonto
WHERE
b.$module = '$id'
";
}
else {
$sql = null; $sql = null;
$this->app->erp->RunHook('yui_position_sql', 3, $table, $id, $sql); $this->app->erp->RunHook('yui_position_sql', 3, $table, $id, $sql);
if($sql === null){ if($sql === null){
@ -3612,26 +3539,34 @@ class YUI {
function IconsSQLVerbindlichkeit() { function IconsSQLVerbindlichkeit() {
$go_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/lagergo.png\" style=\"margin-right:1px\" title=\"Wareneingangspr&uuml;fung OK\" border=\"0\">"; $go_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/ware_go.png\" style=\"margin-right:1px\" title=\"Wareneingangspr&uuml;fung OK\" border=\"0\">";
$stop_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/lagerstop.png\" style=\"margin-right:1px\" title=\"Wareneingangspr&uuml;fung fehlt\" border=\"0\">"; $stop_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/ware_stop.png\" style=\"margin-right:1px\" title=\"Wareneingangspr&uuml;fung fehlt\" border=\"0\">";
$go_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/summe_go.png\" style=\"margin-right:1px\" title=\"Rechnungseingangspr&uuml;fung OK\" border=\"0\">";
$go_pdf = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/summe_go.png\" style=\"margin-right:1px\" title=\"Anhang OK\" border=\"0\">"; $stop_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/summe_stop.png\" style=\"margin-right:1px\" title=\"Rechnungseingangspr&uuml;fung fehlt\" border=\"0\">";
$stop_pdf = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/summe_stop.png\" style=\"margin-right:1px\" title=\"Anhang fehlt\" border=\"0\">";
$go_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/check_go.png\" style=\"margin-right:1px\" title=\"Rechnungseingangspr&uuml;fung OK\" border=\"0\">";
$stop_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/check_stop.png\" style=\"margin-right:1px\" title=\"Rechnungseingangspr&uuml;fung fehlt\" border=\"0\">";
$go_zahlung = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/bank_go.svg\" style=\"margin-right:1px\" title=\"Kontoverkn&uuml;pfung OK\" border=\"0\">"; $go_zahlung = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/bank_go.svg\" style=\"margin-right:1px\" title=\"Kontoverkn&uuml;pfung OK\" border=\"0\">";
$stop_zahlung = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/bank_stop.svg\" style=\"margin-right:1px\" title=\"Kontoverkn&uuml;pfung fehlt\" border=\"0\">"; $stop_zahlung = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/bank_stop.svg\" style=\"margin-right:1px\" title=\"Kontoverkn&uuml;pfung fehlt\" border=\"0\">";
$stop_betragbezahlt = "<img alt=\"Zahlung fehlt\" src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/vorkassestop.png\" style=\"margin-right:1px\" title=\"Zahlung fehlt\" border=\"0\">"; $stop_betragbezahlt = "<img alt=\"Zahlung fehlt\" src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/vorkassestop.png\" style=\"margin-right:1px\" title=\"Zahlung fehlt\" border=\"0\">";
$gostop_betragbezahlt = "<img alt=\"teilweise bezahlt\" src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/vorkassegostop.png\" style=\"margin-right:1px\" title=\"teilweise bezahlt\" border=\"0\">"; $gostop_betragbezahlt = "<img alt=\"teilweise bezahlt\" src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/vorkassegostop.png\" style=\"margin-right:1px\" title=\"teilweise bezahlt\" border=\"0\">";
$go_betragbezahlt = "<img alt=\"nicht bezahlt\" src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/vorkassego.png\" style=\"margin-right:1px\" title=\"bezahlt\" border=\"0\">"; $go_betragbezahlt = "<img alt=\"nicht bezahlt\" src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/vorkassego.png\" style=\"margin-right:1px\" title=\"komplett bezahlt\" border=\"0\">";
return "CONCAT('<table><tr><td nowrap>', return "CONCAT('<table><tr><td nowrap>',
if(datei_anzahl > 0,'$go_pdf','$stop_pdf'),
if(v.freigabe,'$go_ware','$stop_ware'), if(v.freigabe,'$go_ware','$stop_ware'),
if(v.rechnungsfreigabe,'$go_summe','$stop_summe'), if(v.rechnungsfreigabe,'$go_summe','$stop_summe'),
if(v.bezahlt,'$go_betragbezahlt','$stop_betragbezahlt'), IF( v.betragbezahlt = 0 OR (v.betrag > 0 AND v.betragbezahlt < 0),'$stop_betragbezahlt',
IF(v.betrag > 0 AND (v.betragbezahlt + v.skonto_erhalten) >= v.betrag, '$go_betragbezahlt',
IF(v.betrag - v.betragbezahlt <= v.betrag-((v.betrag/100.0)*v.skonto),
'$gostop_betragbezahlt',
'$go_betragbezahlt'
)
)
),
if((
(SELECT COUNT(ka.id)
FROM kontoauszuege_zahlungsausgang ka WHERE ka.parameter=v.id AND ka.objekt='verbindlichkeit') +
(SELECT COUNT(ke.id) FROM kontoauszuege_zahlungseingang ke WHERE ke.parameter=v.id AND ke.objekt='verbindlichkeit')) > 0,
'$go_zahlung','$stop_zahlung'
),
'</td></tr></table>')"; '</td></tr></table>')";
} }
@ -14927,6 +14862,8 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
$table->headings[4] = 'Abr. bei Kd'; $table->headings[4] = 'Abr. bei Kd';
$table->headings[5] = 'sonst. MwSt'; // kann man auch umbenennen in Keine $table->headings[5] = 'sonst. MwSt'; // kann man auch umbenennen in Keine
$table->headings[6] = 'MwSt'; $table->headings[6] = 'MwSt';
$table->headings[7] = 'Kommentar'; $table->headings[7] = 'Kommentar';
$table->headings[8] = 'Bezahlt'; $table->headings[8] = 'Bezahlt';

View File

@ -388,7 +388,7 @@ class EasyTable {
{ {
$editcols = array(4,5,6,7); $editcols = array(4,5,6,7);
}else{ }else{
$einkaufspreiseerlaubt = true; $einkaufspreiseerlaubt = false;
if($einkaufspreiseerlaubt) if($einkaufspreiseerlaubt)
{ {
$editcols =array(4,5,6,7,8,9); $editcols =array(4,5,6,7,8,9);

View File

@ -41,10 +41,6 @@ class PLACEHOLDER_MODULECLASSNAME {
$defaultorder = 1; $defaultorder = 1;
$defaultorderdesc = 0; $defaultorderdesc = 0;
$aligncenter = array();
$alignright = array();
$numbercols = array();
$sumcol = array();
$dropnbox = "PLACEHOLDER_DROPNBOX"; $dropnbox = "PLACEHOLDER_DROPNBOX";
@ -101,7 +97,7 @@ class PLACEHOLDER_MODULECLASSNAME {
$id = $this->app->Secure->GetGET('id'); $id = $this->app->Secure->GetGET('id');
// Check if other users are editing this id // Check if other users are editing this id
if($this->app->erp->DisableModul('PLACEHOLDER_MODULENAME',$id)) if($this->app->erp->DisableModul('artikel',$id))
{ {
return; return;
} }
@ -169,12 +165,6 @@ class PLACEHOLDER_MODULECLASSNAME {
$this->app->Tpl->Set(strtoupper($key), $value); $this->app->Tpl->Set(strtoupper($key), $value);
} }
if (!empty($result)) {
$PLACEHOLDER_MODULENAME_from_db = $result[0];
} else {
return;
}
/* /*
* Add displayed items later * Add displayed items later
* *
@ -187,6 +177,7 @@ class PLACEHOLDER_MODULECLASSNAME {
*/ */
// $this->SetInput($input);
$this->app->Tpl->Parse('PAGE', "PLACEHOLDER_MODULENAME_edit.tpl"); $this->app->Tpl->Parse('PAGE', "PLACEHOLDER_MODULENAME_edit.tpl");
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
{ {
"host": "http://repo.dbxe.de/dbxe/dbxe.git", "host": "https://github.com/openxe-org/openxe.git",
"branch": "master" "branch": "master"
} }

View File

@ -163,7 +163,7 @@ function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do
$remote_file_name = $datafolder."/remote.json"; $remote_file_name = $datafolder."/remote.json";
$schema_file_name = "db_schema.json"; $schema_file_name = "db_schema.json";
echo_out("--------------- DBXE upgrade ---------------\n"); echo_out("--------------- OpenXE upgrade ---------------\n");
echo_out("--------------- ".date("Y-m-d H:i:s")." ---------------\n"); echo_out("--------------- ".date("Y-m-d H:i:s")." ---------------\n");
//require_once($directory.'/../cronjobs/githash.php'); //require_once($directory.'/../cronjobs/githash.php');
@ -485,8 +485,8 @@ function upgrade_main(string $directory,bool $verbose, bool $check_git, bool $do
} }
function info() { function info() {
echo_out("DBXE upgrade tool\n"); echo_out("OpenXE upgrade tool\n");
echo_out("Copyright 2024 (c) DBXE project\n"); echo_out("Copyright 2022 (c) OpenXE project\n");
echo_out("\n"); echo_out("\n");
echo_out("Upgrade files and database\n"); echo_out("Upgrade files and database\n");
echo_out("Options:\n"); echo_out("Options:\n");

View File

@ -1,7 +1,7 @@
<?php <?php
$version="OSS"; $version="OSS";
$version_revision="1.0.2"; $version_revision="1.11";
$githash = file_get_contents("../githash.txt"); $githash = file_get_contents("../githash.txt");
if (!empty($githash)) { if (!empty($githash)) {
$version_revision .= " (".substr($githash,0,8).")"; $version_revision .= " (".substr($githash,0,8).")";

View File

@ -589,7 +589,7 @@ class erpooSystem extends Application
$version = ''; $version = '';
if(isset($version_revision) && $version_revision != '') { if(isset($version_revision) && $version_revision != '') {
$version .= '<div class="sidebar-software-version">DBXE V.'. $version_revision .'</div>'; $version .= '<div class="sidebar-software-version">OpenXE V.'. $version_revision .'</div>';
} }
if($userId = $this->User->GetID()){ if($userId = $this->User->GetID()){
@ -1133,7 +1133,7 @@ if (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 an
$this->Tpl->SetText('MODUL',ucfirst($module)); $this->Tpl->SetText('MODUL',ucfirst($module));
$this->Tpl->Set('HTMLTITLE','{|[MODUL]|} | DBXE '); $this->Tpl->Set('HTMLTITLE','{|[MODUL]|} | OpenXE ');
switch($module) switch($module)
@ -1699,6 +1699,7 @@ if (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 an
FROM `beleg_chargesnmhd` s FROM `beleg_chargesnmhd` s
INNER JOIN lieferschein_position lp ON s.doctype = 'lieferschein' AND s.pos = lp.id AND s.type = 'sn' AND s.wert <> '' INNER JOIN lieferschein_position lp ON s.doctype = 'lieferschein' AND s.pos = lp.id AND s.type = 'sn' AND s.wert <> ''
INNER JOIN lieferschein l ON lp.lieferschein = l.id AND l.status <> 'storniert' INNER JOIN lieferschein l ON lp.lieferschein = l.id AND l.status <> 'storniert'
WHERE l.id NOT IN (SELECT lieferscheinid FROM retoure LIMIT 1)
GROUP BY s.wert, lp.artikel GROUP BY s.wert, lp.artikel
) )
UNION ALL ( UNION ALL (
@ -1707,7 +1708,7 @@ if (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 an
SELECT lp.artikel, s.seriennummer as wert , count(s.id) as anzahl, max(l.id) as lieferschein, max(l.belegnr) as belegnr SELECT lp.artikel, s.seriennummer as wert , count(s.id) as anzahl, max(l.id) as lieferschein, max(l.belegnr) as belegnr
FROM `seriennummern` s FROM `seriennummern` s
INNER JOIN lieferschein_position lp ON s.lieferscheinpos = lp.id INNER JOIN lieferschein_position lp ON s.lieferscheinpos = lp.id
INNER JOIN lieferschein l ON lp.lieferschein = l.id WHERE s.seriennummer <> '' INNER JOIN lieferschein l ON lp.lieferschein = l.id WHERE s.seriennummer <> '' AND l.id NOT IN (SELECT lieferscheinid FROM retoure LIMIT 1)
GROUP BY s.seriennummer, lp.artikel GROUP BY s.seriennummer, lp.artikel

View File

@ -2676,7 +2676,7 @@ public function NavigationHooks(&$menu)
// @refactor in Dateien Modul // @refactor in Dateien Modul
function AnzahlDateien($objekt,$id) function AnzahlDateien($objekt,$id)
{ {
return $this->app->DB->Select("SELECT COUNT(ds.id) FROM datei_stichwoerter ds INNER JOIN datei d ON d.id = ds.datei WHERE ds.objekt='$objekt' AND ds.parameter='$id' AND d.geloescht <> 1"); return $this->app->DB->Select("SELECT COUNT(id) FROM datei_stichwoerter WHERE objekt='$objekt' AND parameter='$id'");
} }
@ -7191,7 +7191,6 @@ title: 'Abschicken',
$navarray['menu']['admin'][$menu]['sec'][] = array('Lohnabrechnung','lohnabrechnung','list'); $navarray['menu']['admin'][$menu]['sec'][] = array('Lohnabrechnung','lohnabrechnung','list');
$navarray['menu']['admin'][$menu]['sec'][] = array('Verbindlichkeiten','verbindlichkeit','list'); $navarray['menu']['admin'][$menu]['sec'][] = array('Verbindlichkeiten','verbindlichkeit','list');
$navarray['menu']['admin'][$menu]['sec'][] = array('Lieferantengutschriften','lieferantengutschrift','list');
$navarray['menu']['admin'][$menu]['sec'][] = array('Kassenbuch','kasse','list'); $navarray['menu']['admin'][$menu]['sec'][] = array('Kassenbuch','kasse','list');
@ -8606,7 +8605,6 @@ function StandardFirmendatenWerte()
$this->AddNeuenFirmendatenWert( 'bezeichnungproformarechnungersatz', 'varchar', '64', '', 'Lieferschein mit Preis', 'Lieferschein mit Preis', 0, 0); $this->AddNeuenFirmendatenWert( 'bezeichnungproformarechnungersatz', 'varchar', '64', '', 'Lieferschein mit Preis', 'Lieferschein mit Preis', 0, 0);
$this->AddNeuenFirmendatenWert( 'bezeichnungauftragersatz', 'varchar', '64', '', 'Proformarechnung', 'Proformarechnung', 0, 0); $this->AddNeuenFirmendatenWert( 'bezeichnungauftragersatz', 'varchar', '64', '', 'Proformarechnung', 'Proformarechnung', 0, 0);
$this->AddNeuenFirmendatenWert( 'bezeichnungrechnungersatz', 'varchar', '64', '', 'Quittung', 'Quittung', 0, 0); $this->AddNeuenFirmendatenWert( 'bezeichnungrechnungersatz', 'varchar', '64', '', 'Quittung', 'Quittung', 0, 0);
$this->AddNeuenFirmendatenWert( 'rechnungersatz_standard', 'int', '1', '', '0', '0', 0, 0);
$this->AddNeuenFirmendatenWert( 'bezeichnunglieferscheinersatz', 'varchar', '64', '', 'Alternative Beschriftung', 'Alternative Beschriftung', 0, 0); $this->AddNeuenFirmendatenWert( 'bezeichnunglieferscheinersatz', 'varchar', '64', '', 'Alternative Beschriftung', 'Alternative Beschriftung', 0, 0);
$this->AddNeuenFirmendatenWert( 'bezeichnungbestellungersatz', 'varchar', '64', '', 'Alternative Beschriftung', 'Alternative Beschriftung', 0, 0); $this->AddNeuenFirmendatenWert( 'bezeichnungbestellungersatz', 'varchar', '64', '', 'Alternative Beschriftung', 'Alternative Beschriftung', 0, 0);
$this->AddNeuenFirmendatenWert( 'footer_zentriert', 'int', '1', '', '0', '0', 0, 0); $this->AddNeuenFirmendatenWert( 'footer_zentriert', 'int', '1', '', '0', '0', 0, 0);
@ -8621,7 +8619,6 @@ function StandardFirmendatenWerte()
$this->AddNeuenFirmendatenWert( 'next_proformarechnung', 'varchar', '128', '', '', '', 1, 1); $this->AddNeuenFirmendatenWert( 'next_proformarechnung', 'varchar', '128', '', '', '', 1, 1);
$this->AddNeuenFirmendatenWert( 'next_serviceauftrag', 'varchar', '128', '', '', '', 1, 1); $this->AddNeuenFirmendatenWert( 'next_serviceauftrag', 'varchar', '128', '', '', '', 1, 1);
$this->AddNeuenFirmendatenWert( 'next_verbindlichkeit', 'varchar', '128', '', '', '', 1, 1); $this->AddNeuenFirmendatenWert( 'next_verbindlichkeit', 'varchar', '128', '', '', '', 1, 1);
$this->AddNeuenFirmendatenWert( 'next_lieferantengutschrift', 'varchar', '128', '', '', '', 1, 1);
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_sofort_de', 'text', '', '', '', '', 1, 1); $this->AddNeuenFirmendatenWert( 'zahlung_auftrag_sofort_de', 'text', '', '', '', '', 1, 1);
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_de', 'text', '', '', '', '', 1, 1); $this->AddNeuenFirmendatenWert( 'zahlung_auftrag_de', 'text', '', '', '', '', 1, 1);
@ -10519,19 +10516,15 @@ function SendPaypalFromAuftrag($auftrag, $test = false)
} }
} }
if (is_array($variables)) { if($variables['datum']=="") $variables['datum']=date('d.m.Y');
if($variables['datum']=="") {
$variables['datum']=date('d.m.Y');
}
if(!empty($variables)) if(!empty($variables))
{ {
foreach($variables as $key=>$value) foreach($variables as $key=>$value)
{ {
$value = $this->UmlauteEntfernen($value); $value = $this->UmlauteEntfernen($value);
$xml = str_replace("{".strtoupper($key)."}",$value,$xml); $xml = str_replace("{".strtoupper($key)."}",$value,$xml);
} }
}
} }
// y to z wenn Kein PDF -> also nur bei EPL Drucker - 09.06.2019 BS heute auf 0 gestellt bei deutschen adapterboxen eventuell // y to z wenn Kein PDF -> also nur bei EPL Drucker - 09.06.2019 BS heute auf 0 gestellt bei deutschen adapterboxen eventuell
@ -13252,11 +13245,6 @@ function SendPaypalFromAuftrag($auftrag, $test = false)
return $this->ReplaceANABRELSGSBE("rechnung",$db,$value,$fromform); return $this->ReplaceANABRELSGSBE("rechnung",$db,$value,$fromform);
} }
function ReplaceVerbindlichkeit($db,$value,$fromform)
{
return $this->ReplaceANABRELSGSBE("verbindlichkeit",$db,$value,$fromform);
}
function ReplaceRetoure($db,$value,$fromform) function ReplaceRetoure($db,$value,$fromform)
{ {
return $this->ReplaceANABRELSGSBE('retoure',$db,$value,$fromform); return $this->ReplaceANABRELSGSBE('retoure',$db,$value,$fromform);
@ -20680,7 +20668,7 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
$this->app->DB->Delete("DELETE lager_charge FROM lager_charge INNER JOIN lager_platz ON lager_platz.id=lager_charge.lager_platz $this->app->DB->Delete("DELETE lager_charge FROM lager_charge INNER JOIN lager_platz ON lager_platz.id=lager_charge.lager_platz
WHERE lager_platz.verbrauchslager='1' AND lager_platz.id = '$regal'"); WHERE lager_platz.verbrauchslager='1' AND lager_platz.id = '$regal'");
$this->app->DB->Delete("DELETE lager_seriennummern FROM lager_seriennummern $this->app->DB->Delete("DELETE FROM lager_seriennummern
INNER JOIN lager_platz ON lager_platz.id=lager_seriennummern.lager_platz INNER JOIN lager_platz ON lager_platz.id=lager_seriennummern.lager_platz
WHERE lager_platz.verbrauchslager='1' AND lager_platz.id = '$regal'"); WHERE lager_platz.verbrauchslager='1' AND lager_platz.id = '$regal'");
@ -20699,7 +20687,7 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
$this->app->DB->Delete("DELETE lager_charge FROM lager_charge INNER JOIN lager_platz ON lager_platz.id=lager_charge.lager_platz $this->app->DB->Delete("DELETE lager_charge FROM lager_charge INNER JOIN lager_platz ON lager_platz.id=lager_charge.lager_platz
WHERE lager_platz.verbrauchslager='1'"); WHERE lager_platz.verbrauchslager='1'");
$this->app->DB->Delete("DELETE lager_seriennummern FROM lager_seriennummern $this->app->DB->Delete("DELETE FROM lager_seriennummern
INNER JOIN lager_platz ON lager_platz.id=lager_seriennummern.lager_platz INNER JOIN lager_platz ON lager_platz.id=lager_seriennummern.lager_platz
WHERE lager_platz.verbrauchslager='1'"); WHERE lager_platz.verbrauchslager='1'");
@ -21107,7 +21095,7 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
$pseudolager = !empty($shopAricleArr['pseudolager'])?(float)$shopAricleArr['pseudolager']:0; $pseudolager = !empty($shopAricleArr['pseudolager'])?(float)$shopAricleArr['pseudolager']:0;
} }
else { else {
$pseudolager = 0; $pseudolager = '';
} }
$this->app->erp->RunHook('remote_send_article_list_pseudostorage', 3, $shop, $artikelid, $pseudolager); $this->app->erp->RunHook('remote_send_article_list_pseudostorage', 3, $shop, $artikelid, $pseudolager);
if(is_numeric($pseudolager) && $pseudolager < 0) { if(is_numeric($pseudolager) && $pseudolager < 0) {
@ -25541,31 +25529,31 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
{ {
$signaturtext = $this->Signatur($from); $signaturtext = $this->Signatur($from);
if($this->isHTML($signaturtext)) if($this->isHTML($signaturtext))
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext; $body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".$signaturtext;
else else
$body = str_replace('\r\n',"\n",$text)."<br>".nl2br($signaturtext); $body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".nl2br($signaturtext);
}else{ }else{
if($projekt > 0 && $this->Projektdaten($projekt,"absendesignatur")!=""){ if($projekt > 0 && $this->Projektdaten($projekt,"absendesignatur")!=""){
$signaturtext = $this->Projektdaten($projekt,"absendesignatur"); $signaturtext = $this->Projektdaten($projekt,"absendesignatur");
if($this->isHTML($signaturtext)) if($this->isHTML($signaturtext))
$body = str_replace('\r\n',"\n",$text)."<br><br>".$signaturtext; $body = utf8_decode(str_replace('\r\n',"\n",$text))."<br><br>".$signaturtext;
else else
$body = str_replace('\r\n',"\n",$text)."<br><br>".$this->ReadyForPDF(nl2br($signaturtext)); $body = utf8_decode(str_replace('\r\n',"\n",$text))."<br><br>".$this->ReadyForPDF(nl2br($signaturtext));
}else{ }else{
if(strlen(trim($this->Signatur($from))) > 0 && $eigenesignatur == 0){ if(strlen(trim($this->Signatur($from))) > 0 && $eigenesignatur == 0){
$signaturtext = $this->Signatur($from); $signaturtext = $this->Signatur($from);
if($this->isHTML($signaturtext)) if($this->isHTML($signaturtext))
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext; $body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
else else
$body = str_replace('\r\n',"\n",$text)."<br>".nl2br($signaturtext); $body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".nl2br($signaturtext);
}else{ }else{
$body = str_replace('\r\n',"\n",$text); $body = utf8_decode(str_replace('\r\n',"\n",$text));
} }
} }
} }
} else { } else {
$body = str_replace('\r\n',"\n",$text); $body = utf8_decode(str_replace('\r\n',"\n",$text));
} }
{ {
@ -25810,7 +25798,6 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
$uebersetzung['dokument_artikelnummerkunde']['deutsch'] = "Ihre Artikelnummer"; $uebersetzung['dokument_artikelnummerkunde']['deutsch'] = "Ihre Artikelnummer";
$uebersetzung['dokument_menge']['deutsch'] = "Menge"; $uebersetzung['dokument_menge']['deutsch'] = "Menge";
$uebersetzung['dokument_gesamt']['deutsch'] = "Gesamt"; $uebersetzung['dokument_gesamt']['deutsch'] = "Gesamt";
$uebersetzung['dokument_gesamt_optional']['deutsch'] = "Gesamt optional";
$uebersetzung['dokument_gesamt_total']['deutsch'] = "Gesamt"; $uebersetzung['dokument_gesamt_total']['deutsch'] = "Gesamt";
$uebersetzung['dokument_mwst']['deutsch'] = "MwSt."; $uebersetzung['dokument_mwst']['deutsch'] = "MwSt.";
$uebersetzung['dokument_zzglmwst']['deutsch'] = "zzgl. MwSt."; $uebersetzung['dokument_zzglmwst']['deutsch'] = "zzgl. MwSt.";
@ -25828,7 +25815,6 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
$uebersetzung['dokument_ursprungsregion']['deutsch'] = "Ursprungsregion"; $uebersetzung['dokument_ursprungsregion']['deutsch'] = "Ursprungsregion";
$uebersetzung['dokument_gewicht']['deutsch'] = "Gewicht"; $uebersetzung['dokument_gewicht']['deutsch'] = "Gewicht";
$uebersetzung['dokument_gesamtnetto']['deutsch'] = "Gesamt netto"; $uebersetzung['dokument_gesamtnetto']['deutsch'] = "Gesamt netto";
$uebersetzung['dokument_gesamtnetto_optional']['deutsch'] = "Gesamt netto optional";
$uebersetzung['dokument_seite']['deutsch'] = "Seite"; $uebersetzung['dokument_seite']['deutsch'] = "Seite";
$uebersetzung['dokument_seitevon']['deutsch'] = "von"; $uebersetzung['dokument_seitevon']['deutsch'] = "von";
$uebersetzung['dokument_datum']['deutsch'] = "Datum"; $uebersetzung['dokument_datum']['deutsch'] = "Datum";
@ -26087,14 +26073,7 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
} }
} }
else { else {
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
$column_exists = $this->app->DB->Select("SHOW COLUMNS FROM firmendaten WHERE field = '".$field."'");
if ($column_exists) {
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
} else {
$this->AddNeuenFirmendatenWert($field, $typ, $typ1, $typ2, $value, $default_value, $default_null, $darf_null);
}
} }
$db = $this->app->Conf->WFdbname; $db = $this->app->Conf->WFdbname;
if(!empty($this->firmendaten[$db])) { if(!empty($this->firmendaten[$db])) {
@ -26871,9 +26850,7 @@ function Firmendaten($field,$projekt="")
$tmp[$extra[$i]['type']] = $extra[$i]['bezeichnung']; $tmp[$extra[$i]['type']] = $extra[$i]['bezeichnung'];
} }
if($zahlungsweise && empty($tmp[$zahlungsweise]))$tmp[$zahlungsweise] = ucfirst($zahlungsweise); if($zahlungsweise && empty($tmp[$zahlungsweise]))$tmp[$zahlungsweise] = ucfirst($zahlungsweise);
if (!empty($tmp)) { asort($tmp);
asort($tmp);
}
return $tmp; return $tmp;
// return array('rechnung'=>'Rechnung','vorkasse'=>'Vorkasse','nachnahme'=>'Nachnahme','kreditkarte'=>'Kreditkarte','einzugsermaechtigung'=>'Einzugsermaechtigung','bar'=>'Bar','paypal'=>'PayPal','lastschrift'=>'Lastschrift'); // return array('rechnung'=>'Rechnung','vorkasse'=>'Vorkasse','nachnahme'=>'Nachnahme','kreditkarte'=>'Kreditkarte','einzugsermaechtigung'=>'Einzugsermaechtigung','bar'=>'Bar','paypal'=>'PayPal','lastschrift'=>'Lastschrift');
} }
@ -27056,7 +27033,7 @@ function Firmendaten($field,$projekt="")
'zahlung_amazon_bestellung','zahlung_billsafe','zahlung_sofortueberweisung','zahlung_secupay','zahlung_eckarte','zeiterfassung_schliessen','zeiterfassung_pflicht', 'zahlung_amazon_bestellung','zahlung_billsafe','zahlung_sofortueberweisung','zahlung_secupay','zahlung_eckarte','zeiterfassung_schliessen','zeiterfassung_pflicht',
'zahlung_kreditkarte','zahlung_nachnahme','zahlung_ratenzahlung','knickfalz','begrenzen_artikeltabelle','begrenzen_adressetabelle','begrenzen_belege','schnellsuche','schnellsuchecount','versandmail_zwischenspeichern','keinhauptmenurahmen','bordertabnav','steuerfrei_inland_ausblenden','auftragexplodieren_unterstuecklisten', 'zahlung_kreditkarte','zahlung_nachnahme','zahlung_ratenzahlung','knickfalz','begrenzen_artikeltabelle','begrenzen_adressetabelle','begrenzen_belege','schnellsuche','schnellsuchecount','versandmail_zwischenspeichern','keinhauptmenurahmen','bordertabnav','steuerfrei_inland_ausblenden','auftragexplodieren_unterstuecklisten',
'standardaufloesung','immerbruttorechnungen','immernettorechnungen','bestellvorschlaggroessernull','erweiterte_positionsansicht','schnellanlegen','kleinunternehmer','steuerspalteausblenden','api_enable','api_importwarteschlange','warnung_doppelte_nummern','warnung_doppelte_seriennummern','wareneingang_zwischenlager','bestellungohnepreis','zahlung_lastschrift_konditionen','porto_berechnen','breite_artikelbeschreibung','deviceenable','auftrag_eantab','bestellungmitartikeltext','bestellungeigeneartikelnummer','bestellunglangeartikelnummern','steuer_standardkonto_aufwendungen', 'standardaufloesung','immerbruttorechnungen','immernettorechnungen','bestellvorschlaggroessernull','erweiterte_positionsansicht','schnellanlegen','kleinunternehmer','steuerspalteausblenden','api_enable','api_importwarteschlange','warnung_doppelte_nummern','warnung_doppelte_seriennummern','wareneingang_zwischenlager','bestellungohnepreis','zahlung_lastschrift_konditionen','porto_berechnen','breite_artikelbeschreibung','deviceenable','auftrag_eantab','bestellungmitartikeltext','bestellungeigeneartikelnummer','bestellunglangeartikelnummern','steuer_standardkonto_aufwendungen',
'iconset_dunkel','api_cleanutf8','mahnwesenmitkontoabgleich','briefhtml','absenderunterstrichen','seite_von_ausrichtung_relativ','wareneingang_gross','datatables_export_button_flash','viernachkommastellen_belege','stornorechnung_standard','angebotersatz_standard','rechnungersatz_standard','geburtstagekalender','footer_zentriert','auftragmarkierenegsaldo','wareneingangauftragzubestellung','freifelderimdokument','zeiterfassung_anderemitarbeiter','zeiterfassung_beschreibungssperre','zeiterfassung_ort','zeiterfassung_kommentar','zeiterfassung_erweitert','footer_reihenfolge_angebot_aktivieren','footer_reihenfolge_auftrag_aktivieren','footer_reihenfolge_rechnung_aktivieren','footer_reihenfolge_gutschrift_aktivieren','footer_reihenfolge_lieferschein_aktivieren','footer_reihenfolge_bestellung_aktivieren','position_quantity_change_price_update', 'iconset_dunkel','api_cleanutf8','mahnwesenmitkontoabgleich','briefhtml','absenderunterstrichen','seite_von_ausrichtung_relativ','wareneingang_gross','datatables_export_button_flash','viernachkommastellen_belege','stornorechnung_standard','angebotersatz_standard','geburtstagekalender','footer_zentriert','auftragmarkierenegsaldo','wareneingangauftragzubestellung','freifelderimdokument','zeiterfassung_anderemitarbeiter','zeiterfassung_beschreibungssperre','zeiterfassung_ort','zeiterfassung_kommentar','zeiterfassung_erweitert','footer_reihenfolge_angebot_aktivieren','footer_reihenfolge_auftrag_aktivieren','footer_reihenfolge_rechnung_aktivieren','footer_reihenfolge_gutschrift_aktivieren','footer_reihenfolge_lieferschein_aktivieren','footer_reihenfolge_bestellung_aktivieren','position_quantity_change_price_update',
'beleg_pos_ean','beleg_pos_charge','beleg_pos_mhd','beleg_pos_sn','beleg_pos_zolltarifnummer', 'beleg_pos_ean','beleg_pos_charge','beleg_pos_mhd','beleg_pos_sn','beleg_pos_zolltarifnummer',
'schnellanlegen_ohnefreigabe','langeartikelnummern','noauth','belege_subpositionen', 'schnellanlegen_ohnefreigabe','langeartikelnummern','noauth','belege_subpositionen',
'belege_subpositionenstuecklisten','briefpapier_ohnedoppelstrich','bearbeiteremailimdokument', 'belege_subpositionenstuecklisten','briefpapier_ohnedoppelstrich','bearbeiteremailimdokument',
@ -27740,7 +27717,7 @@ function Firmendaten($field,$projekt="")
$allowedtypes = ['angebot', 'auftrag', 'rechnung', 'lieferschein', 'arbeitsnachweis', 'reisekosten', $allowedtypes = ['angebot', 'auftrag', 'rechnung', 'lieferschein', 'arbeitsnachweis', 'reisekosten',
'bestellung', 'gutschrift', 'kundennummer', 'lieferantennummer', 'mitarbeiternummer', 'waren', 'bestellung', 'gutschrift', 'kundennummer', 'lieferantennummer', 'mitarbeiternummer', 'waren',
'produktion', 'sonstiges', 'anfrage', 'artikelnummer', 'kalkulation', 'preisanfrage', 'proformarechnung', 'produktion', 'sonstiges', 'anfrage', 'artikelnummer', 'kalkulation', 'preisanfrage', 'proformarechnung',
'retoure', 'verbindlichkeit','lieferantengutschrift', 'goodspostingdocument', 'receiptdocument']; 'retoure', 'verbindlichkeit', 'goodspostingdocument', 'receiptdocument'];
$dbfield = "next_$type"; $dbfield = "next_$type";
$belegnr = $this->app->DB->Select("SELECT $dbfield FROM projekt WHERE id='$projekt' LIMIT 1"); $belegnr = $this->app->DB->Select("SELECT $dbfield FROM projekt WHERE id='$projekt' LIMIT 1");
@ -27866,11 +27843,6 @@ function Firmendaten($field,$projekt="")
if($belegnr == "0" || $belegnr=="") $belegnr = 10000; if($belegnr == "0" || $belegnr=="") $belegnr = 10000;
$newbelegnr = $this->CalcNextNummer($belegnr); $newbelegnr = $this->CalcNextNummer($belegnr);
break; break;
case "lieferantengutschrift":
$belegnr = $this->Firmendaten("next_lieferantengutschrift");
if($belegnr == "0" || $belegnr=="") $belegnr = 20000;
$newbelegnr = $this->CalcNextNummer($belegnr);
break;
case 'receiptdocument': case 'receiptdocument':
$belegnr = $this->Firmendaten('next_receiptdocument'); $belegnr = $this->Firmendaten('next_receiptdocument');
if($belegnr == '0' || $belegnr=='') { if($belegnr == '0' || $belegnr=='') {
@ -34865,7 +34837,7 @@ function Firmendaten($field,$projekt="")
$projekt = $orderRow['projekt']; $projekt = $orderRow['projekt'];
$differenztage = $this->Projektdaten($projekt,'differenz_auslieferung_tage'); $differenztage = $this->Projektdaten($projekt,'differenz_auslieferung_tage');
if($differenztage<0 || empty($differenztage)) { if($differenztage<0 || empty($differenztage)) {
$differenztage=0; $differenztage=2;
} }
$lieferdatum = $orderRow['lieferdatum']; $lieferdatum = $orderRow['lieferdatum'];
$land = $orderRow['land']; $land = $orderRow['land'];
@ -35403,7 +35375,6 @@ function Firmendaten($field,$projekt="")
{ {
case 'bestellung': case 'bestellung':
case 'anfrage': case 'anfrage':
case 'verbindlichkeit':
$aufwendung = true; $aufwendung = true;
break; break;
} }
@ -37327,7 +37298,7 @@ function Firmendaten($field,$projekt="")
function GetDateiSubjektObjekt($subjekt,$objekt,$parameter) function GetDateiSubjektObjekt($subjekt,$objekt,$parameter)
{ {
$dateien = $this->app->DB->SelectArr("SELECT datei FROM datei_stichwoerter INNER JOIN datei d on d.id = datei WHERE subjekt LIKE '$subjekt' AND objekt LIKE '$objekt' AND parameter='$parameter' AND d.geloescht <> 1 GROUP by datei"); $dateien = $this->app->DB->SelectArr("SELECT datei FROM datei_stichwoerter WHERE subjekt LIKE '$subjekt' AND objekt LIKE '$objekt' AND parameter='$parameter' GROUP by datei");
if(empty($dateien)) { if(empty($dateien)) {
return null; return null;
} }

View File

@ -1586,20 +1586,14 @@ class Remote
$data[$i]['crosssellingartikel'] = []; $data[$i]['crosssellingartikel'] = [];
} }
$gegenseitigzugewiesen = $this->app->DB->SelectArr("SELECT a.id, a.nummer, ak.bezeichnung as kategorie, a.name_de, a.name_en, ca.art, ca.gegenseitigzuweisen, af.nummer AS fremdnummer
$sql =
"SELECT a.id, a.nummer, ak.bezeichnung as kategorie, a.name_de, a.name_en, ca.art, ca.gegenseitigzuweisen, af.nummer AS fremdnummer
FROM crossselling_artikel ca FROM crossselling_artikel ca
JOIN artikel a ON ca.artikel = a.id JOIN artikel a ON ca.artikel = a.id
LEFT JOIN artikelkategorien ak ON CONCAT(ak.id,'_kat') = a.typ LEFT JOIN artikelkategorien ak ON CONCAT(ak.id,'_kat') = a.typ
LEFT JOIN (SELECT af.id,af.nummer,af.artikel,af.shopid FROM artikelnummer_fremdnummern af JOIN (SELECT artikel, MAX(shopid) AS maxid FROM artikelnummer_fremdnummern WHERE aktiv=1 AND (shopid=0 OR shopid=2) GROUP BY artikel) x ON x.artikel = af.artikel AND af.shopid=x.maxid WHERE af.aktiv = 1) af ON af.artikel = a.id LEFT JOIN (SELECT af.id,af.nummer,af.artikel,af.shopid FROM artikelnummer_fremdnummern af JOIN (SELECT artikel, MAX(shopid) AS maxid FROM artikelnummer_fremdnummern WHERE aktiv=1 AND (shopid=0 OR shopid=2) GROUP BY artikel) x ON x.artikel = af.artikel AND af.shopid=x.maxid WHERE af.aktiv = 1) af ON af.artikel = a.id
LEFT JOIN (SELECT nummer,artikel FROM artikelnummer_fremdnummern WHERE shopid=0 OR shopid='$id' ORDER BY shopid DESC LIMIT 1 ) af2 ON af2.artikel = a.id
WHERE ca.crosssellingartikel='" . $tmp->GetId() . "' AND ca.gegenseitigzuweisen=1 AND (ca.shop='$id' OR ca.shop='0') WHERE ca.crosssellingartikel='" . $tmp->GetId() . "' AND ca.gegenseitigzuweisen=1 AND (ca.shop='$id' OR ca.shop='0')
GROUP BY ca.artikel, ca.art"; LEFT JOIN (SELECT nummer,artikel FROM artikelnummer_fremdnummern WHERE shopid=0 OR shopid='$id' ORDER BY shopid DESC LIMIT 1 ) af ON af.artikel = a.id
GROUP BY ca.artikel, ca.art");
$gegenseitigzugewiesen = $this->app->DB->SelectArr($sql);
if (!empty($gegenseitigzugewiesen)) { if (!empty($gegenseitigzugewiesen)) {
foreach ($gegenseitigzugewiesen as $gegenseitigzugewiesenercrosssellingartikel) { foreach ($gegenseitigzugewiesen as $gegenseitigzugewiesenercrosssellingartikel) {
$data[$i]['crosssellingartikel'][] = $gegenseitigzugewiesenercrosssellingartikel; $data[$i]['crosssellingartikel'][] = $gegenseitigzugewiesenercrosssellingartikel;

View File

@ -41,15 +41,8 @@ class AngebotPDF extends BriefpapierCustom {
{ {
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden // pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id); $check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
$this->ust_spalteausblende=false; else $this->ust_spalteausblende=true;
if(!empty($check)) {
if (count($check) == 1) {
$this->ust_spalteausblende=true;
}
}
} }
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden'); $briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
@ -498,29 +491,30 @@ class AngebotPDF extends BriefpapierCustom {
"rabatt"=>$value['rabatt'], "rabatt"=>$value['rabatt'],
"steuertext"=>$value['steuertext'])); "steuertext"=>$value['steuertext']));
if($positionenkaufmaenischrunden == 3){ if($positionenkaufmaenischrunden == 3){
if (!$value['nicht_einrechnen']) { $netto_gesamt = $value['menge'] * round($value['preis'] - ($value['preis'] / 100 * $value['rabatt']),2);
$netto_gesamt = $value['menge'] * round($value['preis'] - ($value['preis'] / 100 * $value['rabatt']),2); }else{
}
}else if (!$value['nicht_einrechnen']) {
$netto_gesamt = $value['menge'] * ($value['preis'] - ($value['preis'] / 100 * $value['rabatt'])); $netto_gesamt = $value['menge'] * ($value['preis'] - ($value['preis'] / 100 * $value['rabatt']));
} }
if($positionenkaufmaenischrunden) if($positionenkaufmaenischrunden)
{ {
$netto_gesamt = round($netto_gesamt, 2); $netto_gesamt = round($netto_gesamt, 2);
} }
if(!isset($summen[$value['steuersatz']])) {
$summen[$value['steuersatz']] = 0;
}
if($value['optional']!="1"){ if($value['optional']!="1"){
if($value['explodiert_parent'] == 0 || !$berechnen_aus_teile) if($value['explodiert_parent'] == 0 || !$berechnen_aus_teile)
{ {
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
$summe = $summe + $netto_gesamt; $summe = $summe + $netto_gesamt;
if(!isset($summen[$value['steuersatz']]))$summen[$value['steuersatz']] = 0;
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz']; $gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
} }
} else { /*
$summe_netto_optional += $netto_gesamt; if($value['umsatzsteuer']=="" || $value['umsatzsteuer']=="normal")
$steuern_optional +=($netto_gesamt/100)*$value['steuersatz']; {
$summeV = $summeV + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzNormal(false,$id,"angebot"));
}
else {
$summeR = $summeR + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzErmaessigt(false,$id,"angebot"));
}*/
} }
} }
@ -542,7 +536,7 @@ class AngebotPDF extends BriefpapierCustom {
if($this->app->erp->AngebotMitUmsatzeuer($id)) if($this->app->erp->AngebotMitUmsatzeuer($id))
{ {
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0,"optional"=>$summe_netto_optional+$steuern_optional,"optional_netto"=>$summe_netto_optional)); $this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0));
//$this->setTotals(array("totalArticles"=>$summe,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR,"total"=>$summe+$summeV+$summeR)); //$this->setTotals(array("totalArticles"=>$summe,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR,"total"=>$summe+$summeV+$summeR));
} else { } else {
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe)); $this->setTotals(array("totalArticles"=>$summe,"total"=>$summe));

View File

@ -43,13 +43,8 @@ class AuftragPDF extends BriefpapierCustom {
{ {
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden // pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id); $check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
$this->ust_spalteausblende=false; if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
else $this->ust_spalteausblende=true;
if(!empty($check)) {
if (count($check) == 1) {
$this->ust_spalteausblende=true;
}
}
} }
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden'); $briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');

View File

@ -302,7 +302,7 @@ class BestellungPDF extends BriefpapierCustom {
} }
if($this->bestellungohnepreis) { if($this->bestellungohnepreis) {
$value['preis'] = null; $value['preis'] = '-';
} }
if($value['waehrung']!='' && $value['waehrung']!=$this->waehrung){ if($value['waehrung']!='' && $value['waehrung']!=$this->waehrung){

View File

@ -658,7 +658,7 @@ class Briefpapier extends SuperFPDF {
public function addItem($rdata){ public function addItem($rdata){
// add rabatt // add rabatt
if($rdata['price']!='-' && is_numeric($rdata['price'])){ if($rdata['price']!='-'){
if($rdata['rabatt'] == 100){ if($rdata['rabatt'] == 100){
$rdata['tprice'] = round($rdata['amount'] * ((double)$rdata['price'] - (double)($rdata['price'] / 100.00 * (double)$rdata['rabatt'])), 13); $rdata['tprice'] = round($rdata['amount'] * ((double)$rdata['price'] - (double)($rdata['price'] / 100.00 * (double)$rdata['rabatt'])), 13);
}else{ }else{
@ -1775,12 +1775,7 @@ class Briefpapier extends SuperFPDF {
$total=$totalFullTax=$totalReducedTax=0; $total=$totalFullTax=$totalReducedTax=0;
$citems = !empty($this->items)?count($this->items):0; $citems = !empty($this->items)?count($this->items):0;
for($i=0;$i<$citems;$i++) { for($i=0;$i<$citems;$i++) {
if (!$this->items[$i]['optional']) { $total += $this->items[$i]['tprice'];
$total += $this->items[$i]['tprice'];
} else {
$totalOptional += $this->items[$i]['tprice'];
}
if($this->items[$i]['tax']=="USTV") { if($this->items[$i]['tax']=="USTV") {
$totalFullTax+= $this->items[$i]['tprice']*USTV; $totalFullTax+= $this->items[$i]['tprice']*USTV;
} }
@ -1788,7 +1783,7 @@ class Briefpapier extends SuperFPDF {
$totalReducedTax+= $this->items[$i]['tprice']*USTR; $totalReducedTax+= $this->items[$i]['tprice']*USTR;
} }
} }
return array($total,$totalFullTax,$totalReducedTax,$totalOptional); return array($total,$totalFullTax,$totalReducedTax);
} }
function GetFont() function GetFont()
@ -2503,6 +2498,7 @@ class Briefpapier extends SuperFPDF {
} }
public function renderItems() { public function renderItems() {
$this->app->erp->RunHook('briefpapier_renderitems',1, $this); $this->app->erp->RunHook('briefpapier_renderitems',1, $this);
// if($this->bestellungohnepreis) $this->doctype="lieferschein"; // if($this->bestellungohnepreis) $this->doctype="lieferschein";
$posWidth = $this->getStyleElement("breite_position"); $posWidth = $this->getStyleElement("breite_position");
@ -2946,6 +2942,7 @@ class Briefpapier extends SuperFPDF {
if($this->doctype!=='zahlungsavis') if($this->doctype!=='zahlungsavis')
{ {
if($item['tax']!=='hidden'){ if($item['tax']!=='hidden'){
if($anzeigeBelegNettoAdrese){ if($anzeigeBelegNettoAdrese){
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1") //if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
//&& $this->getStyleElement("immerbruttorechnungen",$projekt)!="1") //&& $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
@ -3071,18 +3068,16 @@ class Briefpapier extends SuperFPDF {
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1") // && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
{ {
if(!$inventurohnepreis){ if(!$inventurohnepreis){
// $this->Cell_typed($priceWidth,$cellhoehe,$item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']),0,0,'R'); $this->Cell_typed($priceWidth,$cellhoehe,$item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']),0,0,'R');
$price_displayed = $item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']);
} }
} }
else{ else{
if(!$inventurohnepreis){ if(!$inventurohnepreis){
// $this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R'); $this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
} }
} }
// $this->Cell_typed($rabattWidth,$cellhoehe,"",0,0,'R'); $this->Cell_typed($rabattWidth,$cellhoehe,"",0,0,'R');
} }
} }
} }
@ -3112,14 +3107,12 @@ class Briefpapier extends SuperFPDF {
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1") //if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1") // && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
if(!$inventurohnepreis){ if(!$inventurohnepreis){
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R'); $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']);
} }
} }
else{ else{
if(!$inventurohnepreis){ if(!$inventurohnepreis){
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R'); $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
} }
} }
} }
@ -3128,29 +3121,18 @@ class Briefpapier extends SuperFPDF {
// if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1") // if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1") // && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
if(!$inventurohnepreis){ if(!$inventurohnepreis){
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R'); $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']);
} }
} }
else{ else{
if(!$inventurohnepreis){ if(!$inventurohnepreis){
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R'); $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
} }
} }
} }
} }
} }
// OpenXE add price here
if (!empty($price_displayed)) {
if ($item['optional']) {
$this->Cell_typed($sumWidth, $cellhoehe, "(".$price_displayed.")", 0, 0, 'R');
} else {
$this->Cell_typed($sumWidth, $cellhoehe, $price_displayed, 0, 0, 'R');
}
}
} }
else if(($this->doctype==='lieferschein' || $this->doctype==='preisanfrage') && $this->getStyleElement('artikeleinheit')=='1') else if(($this->doctype==='lieferschein' || $this->doctype==='preisanfrage') && $this->getStyleElement('artikeleinheit')=='1')
{ {
@ -4339,16 +4321,6 @@ class Briefpapier extends SuperFPDF {
$this->Line($differenz_wegen_abstand+5, $this->GetY()+1, 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY()+1); $this->Line($differenz_wegen_abstand+5, $this->GetY()+1, 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY()+1);
} }
if(isset($this->totals['optional'])) {
$this->SetFont($this->GetFont(),'',$this->getStyleElement('schriftgroesse_gesamt'));
$this->Ln(2);
$this->Cell_typed($differenz_wegen_abstand,1,'',0);
$this->Cell_typed(30,5,"(".$this->app->erp->Beschriftung('dokument_gesamt_optional'),0,0,'L');
$this->Cell_typed(40,5,$this->formatMoney(round($this->totals['optional'],2), 2).' '.$this->waehrung.")",0,0,'R');
$this->Ln();
}
$this->SetY($this->GetY()+10); $this->SetY($this->GetY()+10);
} }

View File

@ -22,7 +22,6 @@ class EtikettenPDF extends SuperFPDF {
function __construct($app,$projekt="") { function __construct($app,$projekt="") {
$this->app=$app; $this->app=$app;
$this->page_definded=false; $this->page_definded=false;
$this->images = array();
} }
function SetXML($xml) function SetXML($xml)

View File

@ -43,13 +43,8 @@ class GutschriftPDF extends BriefpapierCustom {
{ {
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden // pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id); $check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
$this->ust_spalteausblende=false; if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
else $this->ust_spalteausblende=true;
if(!empty($check)) {
if (count($check) == 1) {
$this->ust_spalteausblende=true;
}
}
} }
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden'); $briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');

View File

@ -50,13 +50,8 @@ class RechnungPDF extends BriefpapierCustom {
{ {
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden // pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id); $check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
$this->ust_spalteausblende=false; if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
else $this->ust_spalteausblende=true;
if(!empty($check)) {
if (count($check) == 1) {
$this->ust_spalteausblende=true;
}
}
} }
$lvl = null; $lvl = null;
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden'); $briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -38,7 +38,6 @@ class ObjGenVerbindlichkeit_Position
private $preis; private $preis;
private $menge; private $menge;
private $kostenstelle; private $kostenstelle;
private $sachkonto;
public $app; //application object public $app; //application object
@ -77,13 +76,12 @@ $result = $result[0];
$this->preis=$result['preis']; $this->preis=$result['preis'];
$this->menge=$result['menge']; $this->menge=$result['menge'];
$this->kostenstelle=$result['kostenstelle']; $this->kostenstelle=$result['kostenstelle'];
$this->sachkonto=$result['sachkonto'];
} }
public function Create() public function Create()
{ {
$sql = "INSERT INTO `verbindlichkeit_position` (`id`,`verbindlichkeit`,`sort`,`artikel`,`projekt`,`bestellung`,`nummer`,`bestellnummer`,`waehrung`,`einheit`,`vpe`,`bezeichnung`,`umsatzsteuer`,`status`,`beschreibung`,`lieferdatum`,`steuersatz`,`steuertext`,`preis`,`menge`,`kostenstelle`) $sql = "INSERT INTO `verbindlichkeit_position` (`id`,`verbindlichkeit`,`sort`,`artikel`,`projekt`,`bestellung`,`nummer`,`bestellnummer`,`waehrung`,`einheit`,`vpe`,`bezeichnung`,`umsatzsteuer`,`status`,`beschreibung`,`lieferdatum`,`steuersatz`,`steuertext`,`preis`,`menge`,`kostenstelle`)
VALUES(NULL,'{$this->verbindlichkeit}','{$this->sort}','{$this->artikel}','{$this->projekt}','{$this->bestellung}','{$this->nummer}','{$this->bestellnummer}','{$this->waehrung}','{$this->einheit}','{$this->vpe}','{$this->bezeichnung}','{$this->umsatzsteuer}','{$this->status}','{$this->beschreibung}','{$this->lieferdatum}','{$this->steuersatz}','{$this->steuertext}','{$this->preis}','{$this->menge}','{$this->kostenstelle}','{$this->sachkonto}')"; VALUES(NULL,'{$this->verbindlichkeit}','{$this->sort}','{$this->artikel}','{$this->projekt}','{$this->bestellung}','{$this->nummer}','{$this->bestellnummer}','{$this->waehrung}','{$this->einheit}','{$this->vpe}','{$this->bezeichnung}','{$this->umsatzsteuer}','{$this->status}','{$this->beschreibung}','{$this->lieferdatum}','{$this->steuersatz}','{$this->steuertext}','{$this->preis}','{$this->menge}','{$this->kostenstelle}')";
$this->app->DB->Insert($sql); $this->app->DB->Insert($sql);
$this->id = $this->app->DB->GetInsertID(); $this->id = $this->app->DB->GetInsertID();
@ -115,8 +113,7 @@ $result = $result[0];
`steuertext`='{$this->steuertext}', `steuertext`='{$this->steuertext}',
`preis`='{$this->preis}', `preis`='{$this->preis}',
`menge`='{$this->menge}', `menge`='{$this->menge}',
`kostenstelle`='{$this->kostenstelle}', `kostenstelle`='{$this->kostenstelle}'
`sachkonto`='{$this->sachkonto}'
WHERE (`id`='{$this->id}')"; WHERE (`id`='{$this->id}')";
$this->app->DB->Update($sql); $this->app->DB->Update($sql);
@ -155,7 +152,6 @@ $result = $result[0];
$this->preis=''; $this->preis='';
$this->menge=''; $this->menge='';
$this->kostenstelle=''; $this->kostenstelle='';
$this->sachkonto='';
} }
public function Copy() public function Copy()
@ -238,7 +234,5 @@ $result = $result[0];
public function GetMenge() { return $this->menge; } public function GetMenge() { return $this->menge; }
public function SetKostenstelle($value) { $this->kostenstelle=$value; } public function SetKostenstelle($value) { $this->kostenstelle=$value; }
public function GetKostenstelle() { return $this->kostenstelle; } public function GetKostenstelle() { return $this->kostenstelle; }
public function SetSachkonto($value) { $this->sachkonto=$value; }
public function GetSachkonto() { return $this->sachkonto; }
} }

View File

@ -674,7 +674,6 @@ class Ajax {
echo $str; echo $str;
exit; exit;
} }
if(!empty($datei['parameter'])) { if(!empty($datei['parameter'])) {
if($cmd === 'projekt') { if($cmd === 'projekt') {
if(!$this->app->erp->UserProjektRecht($datei['parameter'])) { if(!$this->app->erp->UserProjektRecht($datei['parameter'])) {
@ -709,6 +708,7 @@ class Ajax {
} }
} }
//Rechte prüfen //Rechte prüfen
$userdata = isset($this->app->Conf->WFuserdata) $userdata = isset($this->app->Conf->WFuserdata)
?$this->app->Conf->WFuserdata ?$this->app->Conf->WFuserdata
:(str_replace('index.php', '', $_SERVER['SCRIPT_FILENAME']).'../userdata'); :(str_replace('index.php', '', $_SERVER['SCRIPT_FILENAME']).'../userdata');
@ -746,12 +746,29 @@ class Ajax {
exit; exit;
break; break;
case 'application/pdf': case 'application/pdf':
$str = file_get_contents(dirname(__DIR__) . '/themes/new/images/pdf.png'); $str = file_get_contents(dirname(__DIR__) . '/themes/new/images/pdf.svg');
header('Content-type: image/png'); header('Content-type: image/png');
echo $str; echo $str;
exit; exit;
break; break;
default: default:
$str = file_get_contents(dirname(__DIR__) . '/themes/new/images/pdf.svg');
if(substr(strtolower($datei['dateiname']),-4) === '.gif'){
header('Content-type: image/gif');
echo $str;
exit;
}
if(substr(strtolower($datei['dateiname']),-4) === '.png'){
header('Content-type: image/png');
echo $str;
exit;
}
if(substr(strtolower($datei['dateiname']),-4) === '.jpg'
|| substr(strtolower($datei['dateiname']),-4) === 'jpeg'){
header('Content-type: image/jpg');
echo $str;
exit;
}
break; break;
} }
} }
@ -2362,14 +2379,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
for($i = 0; $i < $carr; $i++) for($i = 0; $i < $carr; $i++)
$newarr[] = $arr[$i]['name']; $newarr[] = $arr[$i]['name'];
break; break;
case "sachkonto_aufwendungen":
$arr = $this->app->DB->SelectArr("SELECT CONCAT(sachkonto,' ',beschriftung) as name FROM kontorahmen
WHERE art = 1 AND (beschriftung LIKE '%$term%' OR sachkonto LIKE '%$term%' OR sachkonto LIKE '%$term2%' OR sachkonto LIKE '%$term3%' OR beschriftung LIKE '%$term2%' OR beschriftung LIKE '%$term3%') AND ausblenden!=1 $andprojekt ORDER by sachkonto");
$carr = !empty($arr)?count($arr):0;
for($i = 0; $i < $carr; $i++)
$newarr[] = $arr[$i]['name'];
break;
case "lieferbedingungen": case "lieferbedingungen":
$arr = $this->app->DB->SelectArr("SELECT CONCAT(lieferbedingungen) as name FROM lieferbedingungen $arr = $this->app->DB->SelectArr("SELECT CONCAT(lieferbedingungen) as name FROM lieferbedingungen
WHERE (lieferbedingungen LIKE '%$term%' OR lieferbedingungen LIKE '%$term2%' OR lieferbedingungen LIKE '%$term3%') ORDER by lieferbedingungen"); WHERE (lieferbedingungen LIKE '%$term%' OR lieferbedingungen LIKE '%$term2%' OR lieferbedingungen LIKE '%$term3%') ORDER by lieferbedingungen");
@ -2448,7 +2458,6 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
$subwhere = $this->AjaxFilterWhere($termorig,$felder); $subwhere = $this->AjaxFilterWhere($termorig,$felder);
$arr = $this->app->DB->SelectArr("SELECT CONCAT(nummer,' ',beschreibung) as name FROM kostenstellen WHERE $subwhere ORDER by nummer"); $arr = $this->app->DB->SelectArr("SELECT CONCAT(nummer,' ',beschreibung) as name FROM kostenstellen WHERE $subwhere ORDER by nummer");
$carr = !empty($arr)?count($arr):0; $carr = !empty($arr)?count($arr):0;
for($i = 0; $i < $carr; $i++) for($i = 0; $i < $carr; $i++)
$newarr[] = $arr[$i]['name']; $newarr[] = $arr[$i]['name'];
@ -2489,7 +2498,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
$adresse = $this->app->DB->Select("SELECT id FROM adresse WHERE lieferantennummer = '".$lieferant[0]."' AND lieferantennummer <> '' LIMIT 1"); $adresse = $this->app->DB->Select("SELECT id FROM adresse WHERE lieferantennummer = '".$lieferant[0]."' AND lieferantennummer <> '' LIMIT 1");
} }
$beleg = str_replace('lieferanten','',$filtername); $beleg = str_replace('lieferanten','',$filtername);
$arr = $this->app->DB->SelectArr("SELECT CONCAT(belegnr,' ',lieferantennummer,' ',name) as name FROM $beleg WHERE (belegnr <> '') AND (belegnr LIKE '%$term%' OR name LIKE '%$term%' OR lieferantennummer LIKE '$%term%') AND (status = 'versendet' OR status = 'freigegeben') $arr = $this->app->DB->SelectArr("SELECT CONCAT(id,' ',if(belegnr <> '',belegnr,'ENTWURF'),' ',lieferantennummer,' ',name) as name FROM $beleg WHERE (belegnr LIKE '%$term%' OR name LIKE '%$term%' OR lieferantennummer LIKE '$%term%') AND (status = 'angelegt' OR status = 'freigegeben')
".($adresse?" AND adresse = '$adresse' ":'')." ".$this->app->erp->ProjektRechte('projekt')." ".($adresse?" AND adresse = '$adresse' ":'')." ".$this->app->erp->ProjektRechte('projekt')."
ORDER by belegnr LIMIT 20" ); ORDER by belegnr LIMIT 20" );
$carr = !empty($arr)?count($arr):0; $carr = !empty($arr)?count($arr):0;
@ -3832,13 +3841,10 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
$term = str_replace(',','',$term); $term = str_replace(',','',$term);
} }
$adresse = (int)$this->app->Secure->GetGET('adresse');
if (!empty($adresse)) {
$subwhere .= " AND a.id = ".$adresse;
}
$sql = $sql =
"SELECT CONCAT(v.belegnr, "SELECT CONCAT(v.id,
IF(IFNULL(v.belegnr, '') <> '' AND v.belegnr!=v.id,
CONCAT(' Nr. ',v.belegnr),''),
' Betrag: ',".$this->app->erp->FormatPreis('v.betrag',2).", ' Betrag: ',".$this->app->erp->FormatPreis('v.betrag',2).",
if(v.skonto <> 0,CONCAT(' mit Skonto ',v.skonto,'% ', if(v.skonto <> 0,CONCAT(' mit Skonto ',v.skonto,'% ',
".$this->app->erp->FormatPreis("v.betrag-((v.betrag/100.0)*v.skonto)",2)."),''),' ', ".$this->app->erp->FormatPreis("v.betrag-((v.betrag/100.0)*v.skonto)",2)."),''),' ',
@ -3851,7 +3857,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
a.name,' (Lieferant ',a.lieferantennummer,if(a.lieferantennummer_buchhaltung!='' AND a.lieferantennummer <> a.lieferantennummer_buchhaltung,CONCAT(' ',a.lieferantennummer_buchhaltung),''),') RE ',v.rechnung,' Rechnungsdatum ',DATE_FORMAT(v.rechnungsdatum,'%d.%m.%Y')) as bezeichnung a.name,' (Lieferant ',a.lieferantennummer,if(a.lieferantennummer_buchhaltung!='' AND a.lieferantennummer <> a.lieferantennummer_buchhaltung,CONCAT(' ',a.lieferantennummer_buchhaltung),''),') RE ',v.rechnung,' Rechnungsdatum ',DATE_FORMAT(v.rechnungsdatum,'%d.%m.%Y')) as bezeichnung
FROM verbindlichkeit AS v FROM verbindlichkeit AS v
LEFT JOIN adresse AS a ON a.id=v.adresse LEFT JOIN adresse AS a ON a.id=v.adresse
WHERE ($subwhere) AND bezahlt!=1 AND status!='storniert' AND belegnr <> '' WHERE ($subwhere) AND bezahlt!=1 AND status!='storniert'
ORDER by v.id DESC"; //AND v.status!='bezahlt' // heute wieder raus ORDER by v.id DESC"; //AND v.status!='bezahlt' // heute wieder raus
$arr = $this->app->DB->SelectArr($sql); $arr = $this->app->DB->SelectArr($sql);

View File

@ -307,51 +307,20 @@ class Angebot extends GenAngebot
{ {
$id = $this->app->Secure->GetGET('id'); $id = $this->app->Secure->GetGET('id');
// Deckungsbeitrag if(!$this->app->DB->Select("SELECT deckungsbeitragcalc FROM angebot WHERE id='$id' LIMIT 1")) {
if (!$this->app->erp->RechteVorhanden('angebot','einkaufspreise')) { $this->app->erp->BerechneDeckungsbeitrag($id,'angebot');
$this->app->Tpl->Set('DBHIDDEN','hidden');
} else {
$sql = "
SELECT
umsatz_netto_gesamt,
artikel,
menge,
einkaufspreis
FROM
`angebot_position`
WHERE
`angebot` = ".$id."
";
$positionen = $this->app->DB->SelectArr($sql);
$umsatz_gesamt = 0;
$kosten_gesamt = 0;
$db_gesamt = 0;
foreach ($positionen as $position) {
if (empty($position['einkaufspreis'])) {
$position['einkaufspreis'] = $this->app->erp->GetEinkaufspreis($position['artikel'],$position['menge']);
}
$kosten = ($position['einkaufspreis']*$position['menge']);
$db_gesamt += $position['umsatz_netto_gesamt']-$kosten;
$kosten_gesamt += $kosten;
$umsatz_gesamt += $position['umsatz_netto_gesamt'];
}
$this->app->Tpl->Set('NETTOGESAMT',$this->app->erp->number_format_variable($umsatz_gesamt,2));
$this->app->Tpl->Set('KOSTEN',$this->app->erp->number_format_variable($kosten_gesamt,2));
$this->app->Tpl->Set('DECKUNGSBEITRAG',$this->app->erp->number_format_variable($db_gesamt,2));
$this->app->Tpl->Set( 'DBPROZENT',
$umsatz_gesamt==0?
"-":
$this->app->erp->number_format_variable(
round(
$db_gesamt/$umsatz_gesamt*100,2
)
)."%"
);
} }
$auftragArr = $this->app->DB->SelectArr("SELECT * FROM angebot WHERE id='$id' LIMIT 1");
$kundennummer = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE id='{$auftragArr[0]['adresse']}' LIMIT 1");
$projekt = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id='{$auftragArr[0]['projekt']}' LIMIT 1");
$kundenname = $this->app->DB->Select("SELECT name FROM adresse WHERE id='{$auftragArr[0]['adresse']}' LIMIT 1");
$this->app->Tpl->Set('KUNDE',"<a href=\"index.php?module=adresse&action=edit&id=".$auftragArr[0]['adresse']."\" target=\"_blank\">".$kundennummer."</a> ".$kundenname);
//$this->app->Tpl->Set('KUNDE',$kundennummer." ".$kundenname);
$this->app->Tpl->Set('DECKUNGSBEITRAG',0);
$this->app->Tpl->Set('DBPROZENT',0);
if($this->app->erp->RechteVorhanden('projekt','dashboard')){ if($this->app->erp->RechteVorhanden('projekt','dashboard')){
$this->app->Tpl->Set('PROJEKT', "<a href=\"index.php?module=projekt&action=dashboard&id=" . $auftragArr[0]['projekt'] . "\" target=\"_blank\">$projekt</a>"); $this->app->Tpl->Set('PROJEKT', "<a href=\"index.php?module=projekt&action=dashboard&id=" . $auftragArr[0]['projekt'] . "\" target=\"_blank\">$projekt</a>");
@ -1726,11 +1695,6 @@ class Angebot extends GenAngebot
$this->app->erp->AdresseAlsLieferadresseButton($adresse); $this->app->erp->AdresseAlsLieferadresseButton($adresse);
} }
if ($schreibschutz != 1 AND $status != 'abgeschlossen') {
$this->app->erp->BerechneDeckungsbeitrag($id,'angebot');
}
if($nummer!="") if($nummer!="")
{ {
$this->app->Tpl->Set('NUMMER',$nummer); $this->app->Tpl->Set('NUMMER',$nummer);

View File

@ -802,7 +802,7 @@ if (!function_exists('getallheaders')) {
return $permissions; return $permissions;
} }
function fillApiPermissions() private function fillApiPermissions()
{ {
foreach ($this->getGroupedPermissions() as $group => $permissions){ foreach ($this->getGroupedPermissions() as $group => $permissions){
foreach ($permissions as $permission){ foreach ($permissions as $permission){

View File

@ -267,12 +267,6 @@ class Api_account
$apiPermissions = $this->app->DB->SelectArr("SELECT * FROM `api_permission`"); $apiPermissions = $this->app->DB->SelectArr("SELECT * FROM `api_permission`");
if (empty($apiPermissions)) {
$api = $this->app->loadModule('api');
$api->fillApiPermissions();
$apiPermissions = $this->app->DB->SelectArr("SELECT * FROM `api_permission`");
}
$groupedApiPermissions = []; $groupedApiPermissions = [];
foreach ($apiPermissions as $apiPermission){ foreach ($apiPermissions as $apiPermission){
$groupedApiPermissions[$apiPermission['group']][] =$apiPermission; $groupedApiPermissions[$apiPermission['group']][] =$apiPermission;

View File

@ -1800,35 +1800,22 @@ class Artikel extends GenArtikel {
// SQL statement // SQL statement
if (!empty($this->app->Conf->WFdbType) && $this->app->Conf->WFdbType == 'postgre') { if (!empty($this->app->Conf->WFdbType) && $this->app->Conf->WFdbType == 'postgre') {
$sql = 'SELECT $sql = 'SELECT s.id, a.name_de as artikel,a.nummer as nummer, trim(s.menge)+0 as menge,
s.id, CASE WHEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id) > 0
a.name_de as artikel, THEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id)
a.nummer as nummer, ELSE 0
trim(SUM(s.menge))+0 as menge, END as lager, s.artikel as menu
CASE
WHEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id) > 0
THEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id)
ELSE 0
END as lager,
s.artikel as menu
FROM stueckliste s LEFT JOIN artikel a ON s.artikel=a.id '; FROM stueckliste s LEFT JOIN artikel a ON s.artikel=a.id ';
} else { } else {
$sql = ' SELECT SQL_CALC_FOUND_ROWS $sql = 'SELECT SQL_CALC_FOUND_ROWS s.id, a.name_de as artikel,a.nummer as nummer, trim(s.menge)+0 as menge,
s.id, s.stuecklistevonartikel
a.name_de as artikel, as menu
a.nummer as nummer, FROM stueckliste s LEFT JOIN artikel a ON s.stuecklistevonartikel=a.id ';
trim(SUM(s.menge))+0 as menge,
s.stuecklistevonartikel AS menu
FROM
stueckliste s
LEFT JOIN artikel a ON s.stuecklistevonartikel=a.id ';
} }
// Fester filter // Fester filter
$where = "s.artikel='$id' "; $where = "s.artikel='$id' ";
$groupby = " GROUP BY a.id";
// gesamt anzahl // gesamt anzahl
$count = "SELECT COUNT(s.id) FROM stueckliste s WHERE s.stuecklistevonartikel='$id' "; $count = "SELECT COUNT(s.id) FROM stueckliste s WHERE s.stuecklistevonartikel='$id' ";
break; break;

View File

@ -1,238 +0,0 @@
<?php
/*
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
*
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
*
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
*
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
* to obtain the text of the corresponding license version.
*
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
*/
?>
<?php
class Belegevorlagen
{
static function TableSearch(&$app, $name, $erlaubtevars)
{
switch($name)
{
case "belegevorlagen_list":
$heading = array('Bezeichnung','Belegtyp','Projekt','Men&uuml;');
$width = array('40%','20%','29%','1%');
$findcols = array('b.bezeichnung','b.belegtyp','pr.abkuerzung','b.id');
$searchsql = array('b.bezeichnung','b.belegtyp','pr.abkuerzung');
$menu = "<table><tr><td nowrap><a href=\"#\" onclick=\"deletevorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a></td></tr></table>";
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, b.bezeichnung,CONCAT(UCASE(LEFT(b.belegtyp, 1)), SUBSTRING(b.belegtyp, 2)), pr.abkuerzung, b.id FROM belegevorlagen b LEFT JOIN projekt pr ON b.projekt = pr.id";
$where = $app->erp->ProjektRechte('b.projekt');
break;
case "belegevorlagen_list2":
$belegtyp = $app->Secure->GetGET('smodule');
$heading = array('Bezeichnung','Projekt','Men&uuml;');
$width = array('50%','49%','1%');
$findcols = array('b.bezeichnung','pr.abkuerzung','b.id');
$searchsql = array('b.bezeichnung','pr.abkuerzung');
$menu = "<table><tr><td nowrap><a href=\"#\" onclick=\"loadbelegvorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/forward.svg\" border=\"0\"></a>&nbsp;<a href=\"#\" onclick=\"deletevorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a></td></tr></table>";
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, b.bezeichnung, pr.abkuerzung, b.id FROM belegevorlagen b LEFT JOIN projekt pr ON b.projekt = pr.id";
$where = "belegtyp = '$belegtyp' ".$app->erp->ProjektRechte('b.projekt');
break;
}
$erg = false;
foreach($erlaubtevars as $k => $v)
{
if(isset($$v))$erg[$v] = $$v;
}
return $erg;
}
function __construct(&$app, $intern = false)
{
$this->app=&$app;
$this->artikel = $this->app->erp->GetKonfiguration('gesamtrabatt_artikel');
if($intern)return;
$this->app->ActionHandlerInit($this);
$this->app->ActionHandler("list","BelegevorlagenList");
$this->app->ActionHandler("einstellungen","BelegevorlagenEinstellungen");
$this->app->DefaultActionHandler("list");
$this->app->ActionHandlerListen($app);
}
function BelegevorlagenMenu(){
$this->app->erp->MenuEintrag("index.php?module=belegevorlagen&action=list","&Uuml;bersicht");
$this->app->erp->MenuEintrag("index.php?module=belegevorlagen&action=einstellungen","Einstellungen");
}
function BelegevorlagenList()
{
if($this->app->Secure->GetGET('cmd') == 'delvorlage')
{
$id = (int)$this->app->Secure->GetPOST('lid');
$this->app->DB->Delete("DELETE FROM belegevorlagen WHERE id = '$id' LIMIT 1");
echo json_encode(array('status'=>1));
exit;
}
$this->BelegevorlagenMenu();
$this->app->YUI->TableSearch('TAB1', "belegevorlagen_list", "show","","",basename(__FILE__), __CLASS__);
$this->app->Tpl->Parse('PAGE','belegevorlagen_list.tpl');
}
function BelegevorlagenEinstellungen()
{
$this->BelegevorlagenMenu();
$this->app->Tpl->Set('PREISEAKTUALISIEREN',$this->app->erp->GetKonfiguration('belegevorlagen_preiseaktualisieren')=='on'?'checked':'');
$this->app->YUI->AutoSaveKonfiguration('preiseaktualisieren','belegevorlagen_preiseaktualisieren');
$this->app->Tpl->Parse('PAGE','belegevorlagen_einstellungen.tpl');
}
function Install()
{
$this->app->erp->CheckTable('belegevorlagen');
$this->app->erp->CheckColumn("id","int(11)","belegevorlagen","DEFAULT '0' NOT NULL AUTO_INCREMENT");
$this->app->erp->CheckColumn("belegtyp", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
$this->app->erp->CheckColumn("bezeichnung", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
$this->app->erp->CheckColumn("projekt", "int(11)", "belegevorlagen", "DEFAULT '0' NOT NULL");
$this->app->erp->CheckColumn("json", "MEDIUMTEXT", "belegevorlagen", "DEFAULT '' NOT NULL");
$this->app->erp->CheckColumn("bearbeiter", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
$this->app->erp->CheckColumn("zeitstempel", "timestamp", "belegevorlagen","DEFAULT CURRENT_TIMESTAMP NOT NULL");
$this->app->erp->RegisterHook('BelegPositionenButtons', 'belegevorlagen', 'BelegevorlagenBelegPositionenButtons');
$this->app->erp->RegisterHook('AARLGPositionen_cmds_end', 'belegevorlagen', 'BelegevorlagenAARLGPositionen_cmds_end');
$this->app->erp->RegisterHook('ajax_filter_hook1', 'belegevorlagen', 'Belegevorlagenajax_filter_hook1');
}
function Belegevorlagenajax_filter_hook1($filtername,&$newarr, $term, $term2, $term3)
{
if($filtername == 'belegvorlagen')
{
$arr = $this->app->DB->SelectArr("SELECT CONCAT(b.id,' ',b.bezeichnung) as bezeichnung FROM belegevorlagen b
WHERE (b.bezeichnung LIKE '%$term%') ".$this->app->erp->ProjektRechte('b.projekt'));
if($arr)
{
for($i=0;$i<count($arr);$i++)
$newarr[] = $arr[$i]['bezeichnung'];
}
}
}
function BelegevorlagenBelegPositionenButtons($target, $module, $id)
{
if($module=="angebot" || $module=="auftrag" || $module=="rechnung" || $module=="lieferschein" || $module=="gutschrift" || $module=="proformarechnung")
{
$this->app->Tpl->Set('ID', $id);
$this->app->Tpl->Set('MODULE', $module);
$this->app->YUI->AutoComplete('bestehendevorlage','belegvorlagen');
$this->app->YUI->TableSearch('BELEGEVORLAGENTABELLE', "belegevorlagen_list2", "show","","",basename(__FILE__), __CLASS__);
$this->app->Tpl->Add($target, "<input type=\"button\" id=\"belegevorlagen\" value=\"Belegevorlagen\">&nbsp;".$this->app->Tpl->Parse($target,'belegevorlagen_widget.tpl'));
}
}
function BelegevorlagenAARLGPositionen_cmds_end($id){
$module = $this->app->Secure->GetGET('module');
if(!$module)return;
$projekt = $this->app->DB->Select("SELECT projekt FROM $module WHERE id='$id' LIMIT 1");
if($projekt <=0) $projekt=0;
if($this->app->Secure->GetGET('cmd') == 'deletebelegvorlage')
{
$status = 1;
$lid = (int)$this->app->Secure->GetPOST('lid');
$this->app->DB->Delete("DELETE FROM belegevorlagen WHERE id = '$lid' AND belegtyp = '$module' LIMIT 1");
echo json_encode(array('status'=>$status));
exit;
}
if($this->app->Secure->GetGET('cmd') == 'loadbelegvorlage')
{
$status = 0;
$lid = (int)$this->app->Secure->GetPOST('lid');
$json = (String)$this->app->DB->Select("SELECT json FROM belegevorlagen WHERE id = '$lid' AND belegtyp = '$module' LIMIT 1");
if($json !== '')
{
$json = json_decode($json, true);
$maxsort = (int)$this->app->DB->Select("SELECT max(sort) FROM $module"."_position WHERE $module = '$id' LIMIT 1");
if(isset($json['positionen']))
{
foreach($json['positionen'] as $v)
{
$v[$module] = $id;
if($this->app->erp->GetKonfiguration('belegevorlagen_preiseaktualisieren')=='on'){
if($v['artikel'] != '0'){
$v['preis'] = $this->app->erp->GetVerkaufspreis($v['artikel'],$v['menge']);
}
}
$v['sort'] += $maxsort;
$this->app->DB->Insert("INSERT INTO $module"."_position (id) VALUES ('')");
$idnew = $this->app->DB->GetInsertID();
$oldtonew[$v['id']] = $idnew;
if($v['explodiert_parent'] && isset($oldtonew) && isset($oldtonew[$v['explodiert_parent']]))$v['explodiert_parent'] = $oldtonew[$v['explodiert_parent']];
unset($v['id']);
$this->app->DB->UpdateArr($module.'_position',$idnew,"id",$v, true);
if(is_null($v['steuersatz']))$this->app->DB->Update("UPDATE ".$module."_position SET steuersatz = NULL WHERE id = '$idnew' LIMIT 1");
}
}
if(isset($json['zwischenpositionen']))
{
$maxpos = $this->app->DB->SelectArr("SELECT id,sort FROM beleg_zwischenpositionen WHERE doctype = '$module' AND doctypeid = '$id' AND pos='$maxsort' ORDER BY sort DESC LIMIT 1");
if($maxpos)
{
$sortoffset = 1 + $maxpos[0]['sort'];
}else{
$sortoffset = 0;
}
foreach($json['zwischenpositionen'] as $v)
{
if($v['pos'] == 0)$v['sort'] += $sortoffset;
$v['doctypeid'] = $id;
$v['pos'] += $maxsort;
unset($v['id']);
$this->app->DB->Insert("INSERT INTO beleg_zwischenpositionen (id) VALUES ('')");
$idnew = $this->app->DB->GetInsertID();
$this->app->DB->UpdateArr('beleg_zwischenpositionen',$idnew,"id",$v, true);
}
}
$status = 1;
$this->app->erp->ANABREGSNeuberechnen($id,$module);
}
echo json_encode(array('status'=>$status));
exit;
}
if($this->app->Secure->GetGET('cmd') == 'savebelegevorlage')
{
$json = null;
$status = 0;
$bestehendevorlage = (int)reset(explode(' ',$this->app->Secure->GetPOST('bestehendevorlage')));
$bezeichnung = (String)$this->app->Secure->GetPOST('bezeichnung');
$vorlagetyp = $this->app->Secure->GetPOST('vorlagetyp');
$bearbeiter = $this->app->DB->real_escape_string($this->app->User->GetName());
$lid = null;
if($vorlagetyp == 'neu')
{
if($bezeichnung !== '')
{
$this->app->DB->Insert("INSERT INTO belegevorlagen (bezeichnung, belegtyp, bearbeiter, zeitstempel,projekt) VALUES ('$bezeichnung','$module','$bearbeiter',now(),'$projekt')");
$lid = $this->app->DB->GetInsertID();
}
}else{
$lid = $this->app->DB->Select("SELECT id FROM belegevorlagen WHERE id = '$bestehendevorlage' LIMIT 1");
if($lid && $bezeichnung !== '')$this->app->DB->Update("UPDATE belegevorlagen set bezeichnung = '$bezeichnung' WHERE id = '$bestehendevorlage' LIMIT 1");
}
if($lid)
{
$json['positionen'] = $this->app->DB->SelectArr("SELECT * FROM $module"."_position WHERE $module = '$id' ORDER BY sort");
$json['zwischenpositionen'] = $this->app->DB->SelectArr("SELECT * FROM beleg_zwischenpositionen WHERE doctype = '$module' AND doctypeid = '$id' ORDER BY pos, sort");
$json = $this->app->DB->real_escape_string(json_encode($json));
$this->app->DB->Update("UPDATE belegevorlagen set json = '$json', zeitstempel = now(), bearbeiter = '$bearbeiter' WHERE id = '$lid' LIMIT 1");
$status = 1;
}
echo json_encode(array('status'=>$status));
exit;
}
}
}
?>

View File

@ -45,25 +45,7 @@
</div> </div>
</div> </div>
<div style="background-color:white" [DBHIDDEN]>
<h2 class="greyh2">{|Deckungsbeitrag (netto)|}</h2>
<table width="100%">
<tbody>
<tr>
<td>Umsatz EUR</td>
<td>Kosten EUR</td>
<td>Deckungsbeitrag EUR</td>
<td>DB %</td>
</tr>
<tr>
<td class="greybox" width="25%">[NETTOGESAMT]</td>
<td class="greybox" width="25%">[KOSTEN]</td>
<td class="greybox" width="25%">[DECKUNGSBEITRAG]</td>
<td class="greybox" width="25%">[DBPROZENT]</td>
</tr>
</tbody>
</table>
</div>
<div style="background-color:white"> <div style="background-color:white">
<h2 class="greyh2">Protokoll</h2> <h2 class="greyh2">Protokoll</h2>
@ -77,6 +59,12 @@
[PDFARCHIV] [PDFARCHIV]
</div> </div>
</div> </div>
<div style="background-color:white">
<h2 class="greyh2">Deckungsbeitrag</h2>
<div style="padding:10px">
<div class="info">Dieses Modul ist erst ab Version Professional verfügbar</div>
</div>
</div>
</div> </div>

View File

@ -1,20 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
</ul>
<!-- ende gehort zu tabview -->
<!-- erstes tab -->
<div id="tabs-1">
[MESSAGE]
<fieldset>
<legend>Einstellungen</legend>
<input type="checkbox" name="preiseaktualisieren" id="preiseaktualisieren" [PREISEAKTUALISIEREN] /> <label for="preiseaktualisieren">Aktuelle Artikelpreise verwenden wenn Belegvorlage geladen wird.</label>
</fieldset>
[TAB1]
[TAB1NEXT]
</div>
<!-- tab view schließen -->
</div>

View File

@ -1,38 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
</ul>
<!-- ende gehort zu tabview -->
<!-- erstes tab -->
<div id="tabs-1">
[MESSAGE]
[TAB1]
[TAB1NEXT]
</div>
<!-- tab view schließen -->
</div>
<script type="text/javascript">
function deletevorlage(belegid)
{
if(confirm('Vorlage wirklich löschen?'))
{
$('#belegevorlagendiv').dialog('close');
$.ajax({
url: 'index.php?module=belegevorlagen&action=list&cmd=delvorlage',
type: 'POST',
dataType: 'json',
data: {lid:belegid},
success: function(data) {
var oTable = $('#belegevorlagen_list').DataTable( );
oTable.ajax.reload();
},
beforeSend: function() {
}
});
}
}
</script>

View File

@ -1,346 +1,179 @@
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li> <li><a href="#tabs-1"></a></li>
<a href="#tabs-1"></a> </ul>
</li> <!-- Example for multiple tabs
</ul>
<!-- Example for multiple tabs
<ul hidden"> <ul hidden">
<li><a href="#tabs-1">First Tab</a></li> <li><a href="#tabs-1">First Tab</a></li>
<li><a href="#tabs-2">Second Tab</a></li> <li><a href="#tabs-2">Second Tab</a></li>
</ul> </ul>
--> -->
<div id="tabs-1"> [MESSAGE] <div id="tabs-1">
<form action="" method="post"> [FORMHANDLEREVENT] [MESSAGE]
<div class="row"> <form action="" method="post">
<div class="row-height"> [FORMHANDLEREVENT]
<div class="col-xs-12 col-md-12 col-md-height"> <div class="row">
<div class="inside inside-full-height"> <div class="row-height">
<fieldset> <div class="col-xs-12 col-md-12 col-md-height">
<legend>{|Allgemein|}</legend> <div class="inside inside-full-height">
<input type="submit" name="submit" value="Speichern" style="float:right" /> <fieldset>
<table width="100%" border="0" class="mkTableFormular"> <legend>{|Allgemein|}</legend>
<tr> <table width="100%" border="0" class="mkTableFormular">
<td width="200">{|E-Mail-Adresse|}:</td> <tr><td>{|E-Mail-Adresse|}:</td><td><input type="text" name="email" value="[EMAIL]" size="40"></td></tr>
<td> <tr><td>{|Angezeigter Name|}:</td><td><input type="text" name="angezeigtername" value="[ANGEZEIGTERNAME]" size="40"></td></tr>
<input type="text" name="email" value="[EMAIL]" size="40"> <tr><td>{|Interne Beschreibung|}:</td><td><input type="text" name="internebeschreibung" value="[INTERNEBESCHREIBUNG]" size="40"></td></tr>
</td> <tr><td>{|Benutzername|}:</td><td><input type="text" name="benutzername" value="[BENUTZERNAME]" size="40"></td></tr>
</tr> <tr><td>{|Passwort|}:</td><td><input type="password" name="passwort" value="[PASSWORT]" size="40"></td></tr>
<tr> </table>
<td>{|Angezeigter Name|}:</td> </fieldset>
<td> </div>
<input type="text" name="angezeigtername" value="[ANGEZEIGTERNAME]" size="40"> </div>
</td> </div>
</tr> </div>
<tr> <div class="row">
<td>{|Interne Beschreibung|}:</td> <div class="row-height">
<td> <div class="col-xs-12 col-md-12 col-md-height">
<input type="text" name="internebeschreibung" value="[INTERNEBESCHREIBUNG]" size="40"> <div class="inside inside-full-height">
</td> <fieldset>
</tr> <legend>{|SMTP|}</legend>
<tr> <table width="100%" border="0" class="mkTableFormular">
<td>{|Benutzername|}:</td> <tr><td>{|SMTP benutzen|}:</td><td><input type="text" name="smtp_extra" value="[SMTP_EXTRA]" size="40"><i>0 = nein, 1 = ja</i></td></tr>
<td> <tr><td>{|Server|}:</td><td><input type="text" name="smtp" value="[SMTP]" size="40"></td></tr>
<input type="text" name="benutzername" value="[BENUTZERNAME]" size="40"> <tr><td>{|Verschl&uuml;sselung|}:</td><td><input type="text" name="smtp_ssl" value="[SMTP_SSL]" size="40"><i>0 = keine, 1 = TLS, 2 = SSL</i></td></tr>
</td> <tr><td>{|Port|}:</td><td><input type="text" name="smtp_port" value="[SMTP_PORT]" size="40"></td></tr>
</tr> <tr><td>{|Authtype|}:</td><td><input type="text" name="smtp_authtype" value="[SMTP_AUTHTYPE]" size="40"><i>'', 'smtp', 'oauth_google'</i></td></tr>
<tr> <tr><td>{|Authparam|}:</td><td><input type="text" name="smtp_authparam" value="[SMTP_AUTHPARAM]" size="40"></td></tr>
<td>{|Passwort|}:</td> <tr><td>{|Client_alias|}:</td><td><input type="text" name="client_alias" value="[CLIENT_ALIAS]" size="40"></td></tr>
<td> <tr><td>{|Loglevel|}:</td><td><input type="text" name="smtp_loglevel" value="[SMTP_LOGLEVEL]" size="40"></td></tr>
<input type="password" name="passwort" value="[PASSWORT]" size="40">
</td> <tr><td width="50">Testmail:</td><td>
</tr> <input type="submit" form="smtp_test" value="Testmail senden" id="testmail-senden-button">&nbsp;<i>Bitte erst speichern und dann senden!</i>
</table> </td></tr>
</fieldset>
</div> </table>
</div> </fieldset>
</div> </div>
</div> </div>
<div class="row"> </div>
<div class="row-height"> </div>
<div class="col-xs-12 col-md-12 col-md-height"> <div class="row">
<div class="inside inside-full-height"> <div class="row-height">
<fieldset> <div class="col-xs-12 col-md-12 col-md-height">
<legend>{|SMTP|}</legend> <div class="inside inside-full-height">
<table width="100%" border="0" class="mkTableFormular"> <fieldset>
<tr> <legend>{|IMAP|}</legend>
<td width="200">{|SMTP benutzen|}:</td> <table width="100%" border="0" class="mkTableFormular">
<td> <tr><td>{|IMAP server|}:</td><td><input type="text" name="server" value="[SERVER]" size="40"></td></tr>
<input type="checkbox" name="smtp_extra" value="1" [SMTP_EXTRA]> <tr><td>{|imap_sentfolder_aktiv|}:</td><td><input type="text" name="imap_sentfolder_aktiv" value="[IMAP_SENTFOLDER_AKTIV]" size="40"></td></tr>
</td> <tr><td>{|imap_sentfolder|}:</td><td><input type="text" name="imap_sentfolder" value="[IMAP_SENTFOLDER]" size="40"></td></tr>
</tr> <tr><td>{|imap_port|}:</td><td><input type="text" name="imap_port" value="[IMAP_PORT]" size="40"></td></tr>
<tr> <tr><td>{|imap_type|}:</td><td><input type="text" name="imap_type" value="[IMAP_TYPE]" size="40"><i>1 = standard, 3 = SSL, 5 = OAuth</i></td></tr>
<td>{|Server|}:</td> <tr><td width="50">Testmail:</td><td>
<td> <input type="submit" form="imap_test" value="IMAP testen" id="testimap-button">&nbsp;<i>Bitte erst speichern und dann testen!</i>
<input type="text" name="smtp" value="[SMTP]" size="40"> </td></tr>
</td> </table>
</tr> </fieldset>
<tr> </div>
<td>{|Verschl&uuml;sselung|}:</td> </div>
<td> </div>
<select name="smtp_ssl"> </div>
[SMTP_SSL_SELECT] <div class="row">
</select> <div class="row-height">
</td> <div class="col-xs-12 col-md-12 col-md-height">
</tr> <div class="inside inside-full-height">
<tr> <fieldset>
<td>{|Port|}:</td> <legend>{|Archiv|}</legend>
<td> <table width="100%" border="0" class="mkTableFormular">
<input type="text" name="smtp_port" value="[SMTP_PORT]" size="40"> <tr><td>{|E-Mailarchiv aktiv|}:</td><td><input type="text" name="emailbackup" value="[EMAILBACKUP]" size="40"></td></tr>
</td> <tr><td>{|Löschen nach wievielen Tagen?|}:</td><td><input type="text" name="loeschtage" value="[LOESCHTAGE]" size="40"></td></tr>
</tr> </table>
<tr> </fieldset>
<td>{|Authtype|}:</td> </div>
<td> </div>
<select name="smtp_authtype"> </div>
[SMTP_AUTHTYPE_SELECT] </div>
</select> <div class="row">
</td> <div class="row-height">
</tr> <div class="col-xs-12 col-md-12 col-md-height">
<tr> <div class="inside inside-full-height">
<td>{|Authparam|}:</td> <fieldset>
<td> <legend>{|Ticketsystem|}</legend>
<input type="text" name="smtp_authparam" value="[SMTP_AUTHPARAM]" size="40"> <table width="100%" border="0" class="mkTableFormular">
</td> <tr><td>{|ticket|}:</td><td><input type="text" name="ticket" value="[TICKET]" size="40"></td></tr>
</tr> <tr><td>{|ticketprojekt|}:</td><td><input type="text" id="ticketprojekt" name="ticketprojekt" value="[TICKETPROJEKT]" size="40"></td></tr>
<tr> <tr><td>{|ticketqueue|}:</td><td><input type="text" id="ticketqueue" name="ticketqueue" value="[TICKETQUEUE]" size="40"></td></tr>
<td>{|Client alias|}:</td> <tr><td>{|abdatum|}:</td><td><input type="text" name="abdatum" value="[ABDATUM]" size="40"></td></tr>
<td> <tr><td>{|ticketloeschen|}:</td><td><input type="text" name="ticketloeschen" value="[TICKETLOESCHEN]" size="40"></td></tr>
<input type="text" name="client_alias" value="[CLIENT_ALIAS]" size="40"> <tr><td>{|ticketabgeschlossen|}:</td><td><input type="text" name="ticketabgeschlossen" value="[TICKETABGESCHLOSSEN]" size="40"></td></tr>
</td> <tr><td>{|ticketemaileingehend|}:</td><td><input type="text" name="ticketemaileingehend" value="[TICKETEMAILEINGEHEND]" size="40"></td></tr>
</tr> </table>
<tr> </fieldset>
<td>{|SMTP Debug|}:</td> </div>
<td> </div>
<input type="checkbox" name="smtp_loglevel" value="1" [SMTP_LOGLEVEL]> </div>
</td> </div>
</tr> <div class="row">
<tr> <div class="row-height">
<td width="50">Testmail:</td> <div class="col-xs-12 col-md-12 col-md-height">
<td> <div class="inside inside-full-height">
<input type="submit" form="smtp_test" value="Testmail senden" id="testmail-senden-button">&nbsp;<i>Bitte erst speichern und dann senden!</i> <fieldset>
</td> <legend>{|Sonstiges|}</legend>
</tr> <table width="100%" border="0" class="mkTableFormular">
</table> <tr><td>{|autosresponder_blacklist|}:</td><td><input type="text" name="autosresponder_blacklist" value="[AUTOSRESPONDER_BLACKLIST]" size="40"></td></tr>
</fieldset> <tr><td>{|eigenesignatur|}:</td><td><input type="text" name="eigenesignatur" value="[EIGENESIGNATUR]" size="40"></td></tr>
</div> <tr><td>{|signatur|}:</td><td><textarea id="signatur" name="signatur" rows="6" style="width:100%;">[SIGNATUR]</textarea></td></tr>
</div> <tr><td>{|adresse|}:</td><td><input type="text" id="adresse" name="adresse" value="[ADRESSE]" size="40"></td></tr>
</div> <tr><td>{|firma|}:</td><td><input type="text" name="firma" value="[FIRMA]" size="40"></td></tr>
</div> <tr><td>{|geloescht|}:</td><td><input type="text" name="geloescht" value="[GELOESCHT]" size="40"></td></tr>
<div class="row"> <tr><td>{|mutex|}:</td><td><input type="text" name="mutex" value="[MUTEX]" size="40"></td></tr>
<div class="row-height"> <tr><td>{|autoresponder|}:</td><td><input type="text" name="autoresponder" value="[AUTORESPONDER]" size="40"></td></tr>
<div class="col-xs-12 col-md-12 col-md-height"> <tr><td>{|geschaeftsbriefvorlage|}:</td><td><input type="text" name="geschaeftsbriefvorlage" value="[GESCHAEFTSBRIEFVORLAGE]" size="40"></td></tr>
<div class="inside inside-full-height"> <tr><td>{|autoresponderbetreff|}:</td><td><textarea id="autoresponderbetreff" name="autoresponderbetreff" rows="6" style="width:100%;">[AUTORESPONDERBETREFF]</textarea></td></tr>
<fieldset> <tr><td>{|autorespondertext|}:</td><td><textarea id="autorespondertext" name="autorespondertext" rows="6" style="width:100%;">[AUTORESPONDERTEXT]</textarea></td></tr>
<legend>{|IMAP|}</legend> <tr><td>{|projekt|}:</td><td><input type="text" id="projekt" name="projekt" value="[PROJEKT]" size="40"></td></tr>
<table width="100%" border="0" class="mkTableFormular"> </table>
<tr> </fieldset>
<td width="200">{|IMAP server|}:</td> </div>
<td> </div>
<input type="text" name="server" value="[SERVER]" size="40"> </div>
</td> </div>
</tr> <input type="submit" name="submit" value="Speichern" style="float:right"/>
<tr> </form>
<td>{|Gesendete Mails in IMAP-Ordner legen|}:</td> </div>
<td> <!-- Example for 2nd tab
<input type="checkbox" name="imap_sentfolder_aktiv" value="1" [IMAP_SENTFOLDER_AKTIV]> <div id="tabs-2">
</td> [MESSAGE]
</tr> <form action="" method="post">
<tr> [FORMHANDLEREVENT]
<td>{|IMAP-Ordner|}:</td> <div class="row">
<td> <div class="row-height">
<input type="text" name="imap_sentfolder" value="[IMAP_SENTFOLDER]" size="40"> <div class="col-xs-12 col-md-12 col-md-height">
</td> <div class="inside inside-full-height">
</tr> <fieldset>
<tr> <legend>{|...|}</legend>
<td>{|IMAP-Port|}:</td> <table width="100%" border="0" class="mkTableFormular">
<td> ...
<input type="text" name="imap_port" value="[IMAP_PORT]" size="40"> </table>
</td> </fieldset>
</tr> </div>
<tr> </div>
<td>{|IMAP-Typ|}:</td> </div>
<td> </div>
<select name="imap_type"> <input type="submit" name="submit" value="Speichern" style="float:right"/>
[IMAP_TYPE_SELECT] </form>
</select> </div>
</td> -->
</tr> </div>
<tr>
<td width="50">Testmail:</td> <form id="smtp_test" action = "index.php">
<td> <input type="text" name="module" value="emailbackup" style="display:none">
<input type="submit" form="imap_test" value="IMAP testen" id="testimap-button">&nbsp;<i>Bitte erst speichern und dann testen!</i> <input type="text" name="action" value="test_smtp" style="display:none">
</td> <input type="text" name="id" value="[ID]" style="display:none">
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Archiv|}</legend>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td width="200">{|E-Mailarchiv aktiv|}:</td>
<td>
<input type="checkbox" name="emailbackup" value="1" [EMAILBACKUP]>
</td>
</tr>
<tr>
<td>{|Löschen nach wievielen Tagen?|}:</td>
<td>
<input type="text" name="loeschtage" value="[LOESCHTAGE]" size="40">
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Ticketsystem|}</legend>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td width="200">{|Mails als Ticket importieren|}:</td>
<td>
<input type="checkbox" name="ticket" value="1" [TICKET]>
</td>
</tr>
<tr>
<td>{|Projekt f&uuml;r Ticket|}:</td>
<td>
<input type="text" id="ticketprojekt" name="ticketprojekt" value="[TICKETPROJEKT]" size="40">
</td>
</tr>
<tr>
<td>{|Warteschlange f&uuml;r Ticket|}:</td>
<td>
<input type="text" id="ticketqueue" name="ticketqueue" value="[TICKETQUEUE]" size="40">
</td>
</tr>
<tr>
<td>{|E-Mails ab Datum importieren|}:</td>
<td>
<input type="text" name="abdatum" id="abdatum" value="[ABDATUM]" size="40">
</td>
</tr>
<tr>
<td>{|E-Mail nach Import l&ouml;schen|}:</td>
<td>
<input type="checkbox" name="ticketloeschen" value="1" [TICKETLOESCHEN]>
</td>
</tr>
<tr>
<td>{|Ticket auf abgeschlossen setzen|}:</td>
<td>
<input type="checkbox" name="ticketabgeschlossen" value="1" [TICKETABGESCHLOSSEN]>
</td>
</tr>
<tr>
<td>{|Ausgehende E-Mailadresse|}:</td>
<td>
<input type="checkbox" name="ticketemaileingehend" value="1" [TICKETEMAILEINGEHEND]>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Sonstiges|}</legend>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>{|Automatisch antworten|}:</td>
<td>
<input type="checkbox" name="autoresponder" value="1" [AUTORESPONDER]>
</td>
</tr>
<tr>
<td width="200">{|Nur eine Antwort pro Tag|}:</td>
<td>
<input type="checkbox" name="autosresponder_blacklist" value="1" [AUTOSRESPONDER_BLACKLIST]>
</td>
</tr>
<tr>
<td>{|Automatische Antwort Betreff|}:</td>
<td>
<textarea id="autoresponderbetreff" name="autoresponderbetreff" rows="6" style="width:100%;">[AUTORESPONDERBETREFF]</textarea>
</td>
</tr>
<tr>
<td>{|Automatische Antwort Text|}:</td>
<td>
<textarea id="autorespondertext" name="autorespondertext" rows="6" style="width:100%;">[AUTORESPONDERTEXT]</textarea>
</td>
</tr>
<tr>
<td>{|Eigene Signatur verwenden|}:</td>
<td>
<input type="checkbox" name="eigenesignatur" value="1" [EIGENESIGNATUR]>
</td>
</tr>
<tr>
<td>{|Signatur|}:</td>
<td>
<textarea id="signatur" name="signatur" rows="6" style="width:100%;">[SIGNATUR]</textarea>
</td>
</tr>
<tr>
<td>{|Adresse|}:</td>
<td>
<input type="text" id="adresse" name="adresse" value="[ADRESSE]" size="40">
</td>
</tr>
<tr>
<td>{|Projekt|}:</td>
<td>
<input type="text" id="projekt" name="projekt" value="[PROJEKT]" size="40">
</td>
</tr>
<tr>
<td>{|Firma|}:</td>
<td>
<input type="text" name="firma" value="[FIRMA]" size="40">
</td>
<tr>
<td>{|Gesch&auml;ftsbriefvorlage|}:</td>
<td>
<input type="text" name="geschaeftsbriefvorlage" value="[GESCHAEFTSBRIEFVORLAGE]" size="40">
</td>
</tr>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<input type="submit" name="submit" value="Speichern" style="float:right" />
</form>
</div>
<form id="smtp_test" action="index.php">
<input type="text" name="module" value="emailbackup" style="display:none">
<input type="text" name="action" value="test_smtp" style="display:none">
<input type="text" name="id" value="[ID]" style="display:none">
</form> </form>
<form id="imap_test" action="index.php">
<input type="text" name="module" value="emailbackup" style="display:none"> <form id="imap_test" action = "index.php">
<input type="text" name="action" value="test_imap" style="display:none"> <input type="text" name="module" value="emailbackup" style="display:none">
<input type="text" name="id" value="[ID]" style="display:none"> <input type="text" name="action" value="test_imap" style="display:none">
<input type="text" name="id" value="[ID]" style="display:none">
</form> </form>

View File

@ -27,10 +27,6 @@
<td>{|Verbindlichkeiten:|}</td> <td>{|Verbindlichkeiten:|}</td>
<td><input type="checkbox" name="verbindlichkeit" value="1" [VBCHECKED] /></td> <td><input type="checkbox" name="verbindlichkeit" value="1" [VBCHECKED] /></td>
</tr> </tr>
<tr>
<td>{|Lieferantengutschriften:|}</td>
<td><input type="checkbox" name="lieferantengutschrift" value="1" [LGCHECKED] /></td>
</tr>
<tr> <tr>
<td>Datum von:</td> <td>Datum von:</td>
<td><input type="text" name="von" id="von" value="[VON]" /></td> <td><input type="text" name="von" id="von" value="[VON]" /></td>

View File

@ -775,10 +775,6 @@
<td>Nächste Verbindlichkeitsnummer:</td><td><input type="text" name="next_verbindlichkeit" readonly value="[NEXT_VERBINDLICHKEIT]" size="40"> <td>Nächste Verbindlichkeitsnummer:</td><td><input type="text" name="next_verbindlichkeit" readonly value="[NEXT_VERBINDLICHKEIT]" size="40">
<input type="button" onclick="next_number('verbindlichkeit','[NEXT_VERBINDLICHKEIT]');" value="bearbeiten"></td> <input type="button" onclick="next_number('verbindlichkeit','[NEXT_VERBINDLICHKEIT]');" value="bearbeiten"></td>
</tr> </tr>
<tr>
<td>Nächste Lieferantengutschriftnummer:</td><td><input type="text" name="next_lieferantengutschrift" readonly value="[NEXT_LIEFERANTENGUTSCHRIFT]" size="40">
<input type="button" onclick="next_number('lieferantengutschrift','[NEXT_LIEFERANTENGUTSCHRIFT]');" value="bearbeiten"></td>
</tr>
<tr> <tr>
<td>N&auml;chste Kundennummer:</td><td><input type="text" name="next_kundennummer" readonly value="[NEXT_KUNDENNUMMER]" size="40"> <td>N&auml;chste Kundennummer:</td><td><input type="text" name="next_kundennummer" readonly value="[NEXT_KUNDENNUMMER]" size="40">
<input type="button" onclick="next_number('kundennummer','[NEXT_KUNDENNUMMER]');" value="bearbeiten"></td> <input type="button" onclick="next_number('kundennummer','[NEXT_KUNDENNUMMER]');" value="bearbeiten"></td>
@ -1416,7 +1412,6 @@
<tr><td width="300">[BEZEICHNUNGANGEBOTERSATZ] als Standard:</td><td><input type="checkbox" name="angebotersatz_standard" [ANGEBOTERSATZ_STANDARD]></td></tr> <tr><td width="300">[BEZEICHNUNGANGEBOTERSATZ] als Standard:</td><td><input type="checkbox" name="angebotersatz_standard" [ANGEBOTERSATZ_STANDARD]></td></tr>
<tr><td width="300">Beschriftung Abweichend Auftrag:</td><td><input type="text" name="bezeichnungauftragersatz" data-lang="bezeichnungauftragersatz" value="[BEZEICHNUNGAUFTRAGERSATZ]">&nbsp;<i>Beschriftung im Auftrag</i></td></tr> <tr><td width="300">Beschriftung Abweichend Auftrag:</td><td><input type="text" name="bezeichnungauftragersatz" data-lang="bezeichnungauftragersatz" value="[BEZEICHNUNGAUFTRAGERSATZ]">&nbsp;<i>Beschriftung im Auftrag</i></td></tr>
<tr><td width="300">Beschriftung Abweichend Rechnung:</td><td><input type="text" name="bezeichnungrechnungersatz" data-lang="bezeichnungrechnungersatz" value="[BEZEICHNUNGRECHNUNGERSATZ]">&nbsp;<i>Beschriftung in Rechnung</i></td></tr> <tr><td width="300">Beschriftung Abweichend Rechnung:</td><td><input type="text" name="bezeichnungrechnungersatz" data-lang="bezeichnungrechnungersatz" value="[BEZEICHNUNGRECHNUNGERSATZ]">&nbsp;<i>Beschriftung in Rechnung</i></td></tr>
<tr><td width="300">[BEZEICHNUNGRECHNUNGERSATZ] als Standard:</td><td><input type="checkbox" name="rechnungersatz_standard" [RECHNUNGERSATZ_STANDARD]></td></tr>
<tr><td width="300">Beschriftung Abweichend Gutschrift:</td><td><input type="text" name="bezeichnungstornorechnung" data-lang="bezeichnungstornorechnung" value="[BEZEICHNUNGSTORNORECHNUNG]">&nbsp;<i>laut 06/2013 §14 UStG</i></td></tr> <tr><td width="300">Beschriftung Abweichend Gutschrift:</td><td><input type="text" name="bezeichnungstornorechnung" data-lang="bezeichnungstornorechnung" value="[BEZEICHNUNGSTORNORECHNUNG]">&nbsp;<i>laut 06/2013 §14 UStG</i></td></tr>
<tr><td width="300">[BEZEICHNUNGSTORNORECHNUNG] als Standard:</td><td><input type="checkbox" name="stornorechnung_standard" [STORNORECHNUNG_STANDARD]></td></tr> <tr><td width="300">[BEZEICHNUNGSTORNORECHNUNG] als Standard:</td><td><input type="checkbox" name="stornorechnung_standard" [STORNORECHNUNG_STANDARD]></td></tr>
<tr><td width="300">Beschriftung Abweichend Lieferschein:</td><td><input type="text" name="bezeichnunglieferscheinersatz" data-lang="bezeichnunglieferscheinersatz" value="[BEZEICHNUNGLIEFERSCHEINERSATZ]">&nbsp;<i>Beschriftung in Lieferschein</i></td></tr> <tr><td width="300">Beschriftung Abweichend Lieferschein:</td><td><input type="text" name="bezeichnunglieferscheinersatz" data-lang="bezeichnunglieferscheinersatz" value="[BEZEICHNUNGLIEFERSCHEINERSATZ]">&nbsp;<i>Beschriftung in Lieferschein</i></td></tr>

View File

@ -1,119 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1"></a></li>
</ul>
<!-- Example for multiple tabs
<ul hidden">
<li><a href="#tabs-1">First Tab</a></li>
<li><a href="#tabs-2">Second Tab</a></li>
</ul>
-->
<div id="tabs-1">
[MESSAGE]
<form action="" method="post">
[FORMHANDLEREVENT]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|<!--Legend for this form area goes here>-->kostenstellen|}
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>
{|Nummer|}:
</td>
<td>
<input type="text" name="nummer" id="nummer" value="[NUMMER]" size="20">
</td>
</tr>
<tr>
<td>
{|Beschreibung|}:
</td>
<td>
<input type="text" name="beschreibung" id="beschreibung" value="[BESCHREIBUNG]" size="20">
</td>
</tr>
<tr>
<td>
{|Internebemerkung|}:
</td>
<td>
<input type="text" name="internebemerkung" id="internebemerkung" value="[INTERNEBEMERKUNG]" size="20">
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<!-- Example for 2nd row
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Another legend|}</legend>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>
{|Nummer|}:
</td>
<td>
<input type="text" name="nummer" id="nummer" value="[NUMMER]" size="20">
</td>
</tr>
<tr>
<td>
{|Beschreibung|}:
</td>
<td>
<input type="text" name="beschreibung" id="beschreibung" value="[BESCHREIBUNG]" size="20">
</td>
</tr>
<tr>
<td>
{|Internebemerkung|}:
</td>
<td>
<input type="text" name="internebemerkung" id="internebemerkung" value="[INTERNEBEMERKUNG]" size="20">
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div> -->
<input type="submit" name="submit" value="Speichern" style="float:right"/>
</form>
</div>
<!-- Example for 2nd tab
<div id="tabs-2">
[MESSAGE]
<form action="" method="post">
[FORMHANDLEREVENT]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|...|}</legend>
<table width="100%" border="0" class="mkTableFormular">
...
</table>
</fieldset>
</div>
</div>
</div>
</div>
<input type="submit" name="submit" value="Speichern" style="float:right"/>
</form>
</div>
-->
</div>

View File

@ -1,10 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">[TABTEXT1]</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
[TAB1]
[TAB1NEXT]
</div>
</div>

View File

@ -1,55 +0,0 @@
[POSITIONENMESSAGE]
<form method="post" action="#tabs-2">
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
<div class="row-height">
<div class="col-xs-14 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend style="float:left">Artikel hinzuf&uuml;gen:</legend>
<div class="filter-box filter-usersave" style="float:right;">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="passende" class="switch">
<input type="checkbox" id="passende">
<span class="slider round"></span>
</label>
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
</li>
</ul>
</div>
</div>
[ARTIKELMANUELL]
</fieldset>
</div>
</div>
<div class="col-xs-14 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
<tr [HINZUFUEGENHIDDEN]>
<td>
{|Multifilter|}:&nbsp;<img src="./themes/new/images/tooltip_grau.png" border="0" style="position: relative; left: 1px; top: 3px; z-index: 8;" class="wawitooltipicon" title="Auswahl mehrerer Artikel &uuml;ber Name oder Nummer">
</td>
</tr>
<tr>
<td><input type="checkbox" name="bruttoeingabe" value="1" />Bruttopreise eingeben</td>
</tr>
<tr [HINZUFUEGENHIDDEN]>
<td>
<input type="text" name="multifilter" id="multifilter" value="[MULTIFILTER]" size="20" style="width:98%;" form="">
</td>
</tr>
<tr>
<td><button [SAVEDISABLED] name="submit" value="artikel_manuell_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzuf&uuml;gen</button></td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</form>

View File

@ -1,219 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">Lieferantengutschrift</a></li>
<li [POSITIONENHIDDEN]><a href="#tabs-2">Positionen</a></li>
<li [POSITIONENHIDDEN]><a href="#tabs-4">Artikel manuell</a></li>
<li><a href="#tabs-3">Protokoll</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
<form action="" method="post">
[FORMHANDLEREVENT]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-6 col-md-height">
<div class="inside inside-full-height">
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-8 col-md-height">
<div class="inside inside-full-height">
<fieldset style="float: left;">
<legend>{|<b>Lieferantengutschrift <font color="blue">[BELEGNR]</font></b> Lf-Nr. <a href="index.php?module=adresse&action=edit&id=[ADRESSE_ID]">[LIEFERANTENNUMMER]|}</a></legend>
[STATUSICONS]
</fieldset>
<fieldset style="float: right;">
<button name="submit" value="speichern" class="ui-button-icon" style="width:100%;">Speichern</button>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-8 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>
{|Status|}:
</td>
<td>
<input type="text" value="[STATUS]" size="20" disabled>
</td>
</tr>
<tr>
<td>
{|Adresse|}:
</td>
<td>
<input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20" [ADRESSESAVEDISABLED] required>
</td>
</tr>
<tr>
<td>
{|Lieferantengutschrifts-Nr.|}:
</td>
<td>
<input type="text" name="rechnung" id="rechnung" value="[RECHNUNG]" size="20" [SAVEDISABLED] required>
</td>
</tr>
<tr>
<td>
{|Lieferantengutschriftsdatum|}:
</td>
<td>
<input type="text" name="rechnungsdatum" id="rechnungsdatum" value="[RECHNUNGSDATUM]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Eingangsdatum|}:
</td>
<td>
<input type="text" name="eingangsdatum" id="eingangsdatum" value="[EINGANGSDATUM]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Betrag brutto|}:
</td>
<td>
<input type="number" step="0.01" name="betrag" id="betrag" value="[BETRAG]" size="20" [SAVEDISABLED]>
<select name="waehrung" [SAVEDISABLED]>[WAEHRUNGSELECT]</select>
</td>
</tr>
<tr>
<td>
{|Betrag Positionen brutto|}:
</td>
<td>
<input type="number" step="0.01" name="betragbruttopos" id="betragbruttopos" value="[BETRAGBRUTTOPOS]" size="20" disabled><img class="wawitooltipicon" src="themes/new/images/tooltip_grau.png" title="Rundungsdifferenz [RUNDUNGSDIFFERENZ] wurde automatisch ber&uuml;cksichtigt" [RUNDUNGSDIFFERENZICONHIDDEN]>
</td>
</tr>
<tr>
<td>
{|Betrag Positionen netto|}:
</td>
<td>
<input type="number" step="0.01" name="betragnetto" id="betragnetto" value="[BETRAGNETTO]" size="20" disabled [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Zahlbar bis|}:
</td>
<td>
<input type="text" name="zahlbarbis" id="zahlbarbis" value="[ZAHLBARBIS]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Skonto %|}:
</td>
<td>
<input type="text" name="skonto" id="skonto" value="[SKONTO]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Skonto bis|}:
</td>
<td>
<input type="text" name="skontobis" id="skontobis" value="[SKONTOBIS]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Bestellung|}:
</td>
<td>
<input type="text" name="bestellung" id="bestellung" value="[BESTELLUNG]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Waren-/Leistungsprüfung (Einkauf)|}:
</td>
<td>
<input type="checkbox" id="wareneingang" value="1" [WARENEINGANGCHECKED] size="20" disabled>
<a href="index.php?module=lieferantengutschrift&action=freigabeeinkauf&id=[ID]" title="freigeben" [FREIGABEEINKAUFHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=lieferantengutschrift&action=ruecksetzeneinkauf&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENEINKAUFHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
<i [EINKAUFINFOHIDDEN]>Wird automatisch gesetzt wenn Positionen vollst&auml;ndig</a>
</td>
</tr>
<tr>
<td>
{|Lieferantengutschriftseingangsprüfung (Buchhaltung)|}:
</td>
<td>
<input type="checkbox" id="rechnungsfreigabe" [RECHNUNGSFREIGABECHECKED] size="20" disabled>
<a href="index.php?module=lieferantengutschrift&action=freigabebuchhaltung&id=[ID]" title="freigeben" [FREIGABEBUCHHALTUNGHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=lieferantengutschrift&action=ruecksetzenbuchhaltung&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENBUCHHALTUNGHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
<td>
{|Bezahlt|}:
</td>
<td>
<input type="checkbox" id="zahlungsstatus" [BEZAHLTCHECKED] size="20" disabled>
<a href="index.php?module=lieferantengutschrift&action=freigabebezahlt&id=[ID]" title="auf &apos;bezahlt&apos; setzen" [FREIGABEBEZAHLTHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=lieferantengutschrift&action=ruecksetzenbezahlt&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENBEZAHLTHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
<td>
{|Projekt|}:
</td>
<td>
<input type="text" name="projekt" id="projekt" value="[PROJEKT]" size="20">
</td>
</tr>
<tr>
<td>
{|Kostenstelle|}:
</td>
<td>
<input type="text" name="kostenstelle" id="kostenstelle" value="[KOSTENSTELLE]" size="20">
</td>
</tr>
<tr>
<td>
{|Internebemerkung|}:
</td>
<td>
<textarea name="internebemerkung" id="internebemerkung" rows="6" style="width:100%;">[INTERNEBEMERKUNG]</textarea>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Vorschau|}</legend>
[INLINEPDF]
</fieldset>
</div>
</div>
</div>
</div>
</form>
</div>
<div id="tabs-2">
[POSITIONENTAB]
</div>
<div id="tabs-4">
[POSITIONENMANUELLTAB]
</div>
<div id="tabs-3">
[MINIDETAIL]
</div>
</div>

View File

@ -1,93 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">[TABTEXT1]</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
<div class="filter-box filter-usersave">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="anhang" class="switch">
<input type="checkbox" id="anhang">
<span class="slider round"></span>
</label>
<label for="anhang">{|Anhang fehlt|}</label>
</li>
<li class="filter-item">
<label for="wareneingang" class="switch">
<input type="checkbox" id="wareneingang">
<span class="slider round"></span>
</label>
<label for="wareneingang">{|Wareingang/Leistungspr&uuml;fung fehlt|}</label>
</li>
<li class="filter-item">
<label for="rechnungsfreigabe" class="switch">
<input type="checkbox" id="rechnungsfreigabe">
<span class="slider round"></span>
</label>
<label for="rechnungsfreigabe">{|Lieferantengutschriftseingangspr&uuml;fung fehlt|}</label>
</li>
<li class="filter-item">
<label for="nichtbezahlt" class="switch">
<input type="checkbox" id="nichtbezahlt">
<span class="slider round"></span>
</label>
<label for="nichtbezahlt">{|Nicht bezahlt|}</label>
</li>
<li class="filter-item">
<label for="stornierte" class="switch">
<input type="checkbox" id="stornierte">
<span class="slider round"></span>
</label>
<label for="stornierte">{|Inkl. stornierte|}</label>
</li>
<li class="filter-item">
<label for="abgeschlossen" class="switch">
<input type="checkbox" id="abgeschlossen">
<span class="slider round"></span>
</label>
<label for="abgeschlossen">{|Inkl. abgeschlossene|}</label>
</li>
<li class="filter-item">
<label for="zahlbarbis">{|Zahlbar bis|}:</label>
<input type="text" name="zahlbarbis" id="zahlbarbis" size="10">
</li>
<li class="filter-item">
<label for="skontobis">{|Skonto bis|}:</label>
<input type="text" name="skontobis" id="skontobis" size="10">
</li>
</ul>
<form method="post" action="#">
<button name="submit" value="status_berechnen" class="ui-button-icon">{|Status auffrischen|}</button>
</form>
</div>
</div>
<form method="post" action="#">
[TAB1]
<fieldset><legend>{|Stapelverarbeitung|}</legend>
<input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" />&nbsp;{|alle markieren|}&nbsp;
<select id="sel_aktion" name="sel_aktion">
<option value="">{|bitte w&auml;hlen|} ...</option>
[MANUELLFREIGABEEINKAUF]
[MANUELLFREIGABEBUCHHALTUNG]
[ALSBEZAHLTMARKIEREN]
</select>
<button name="submit" value="ausfuehren" class="ui-button-icon">{|Ausf&uuml;hren|}</button>
</fieldset>
</form>
[TAB1NEXT]
</div>
</div>
<script>
function alleauswaehlen()
{
var wert = $('#auswahlalle').prop('checked');
$('#lieferantengutschrift_list').find(':checkbox').prop('checked',wert);
}
</script>

View File

@ -1,76 +0,0 @@
[FORMHANDLEREVENT]
[MESSAGE]
<style>
.auftraginfo_cell {
color: #636363;border: 1px solid #ccc;padding: 5px;
}
.auftrag_cell {
color: #636363;border: 1px solid #fff;padding: 0px; margin:0px;
}
</style>
<div style="float:left; width:39%; padding-right:1%;">
<table width="100%" border="0">
<tr valign="top">
<td width="150">Lieferant:</td>
<td colspan="3">[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
</tr>
<tr>
<td>Lieferantengutschrifts-Nr.:</td>
<td>[RECHNUNG][MSGRECHNUNG]</td>
</tr>
<tr>
<td>Lieferantengutschriftsdatum:</td>
<td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
<tr>
</tr>
</tr>
<td width="200">Zahlbar bis:</td>
<td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td>
</tr>
<td>Betrag/Total (Brutto):</td>
<td>[BETRAG][MSGBETRAG]&nbsp;[WAEHRUNG][MSGWAEHRUNG]</td>
<tr>
<td>Skonto in %:</td>
<td>[SKONTO][MSGSKONTO]</td>
</tr>
<tr>
<td>Skonto bis:</td>
<td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
</tr>
<tr>
<td>Projekt:</td>
<td>[PROJEKT][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Kostenstelle:</td>
<td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Interne Bemerkung:</td>
<td colspan="4">[INTERNEBEMERKUNG]</td>
</tr>
</table>
</div>
<div style="float:left; width:60%">
<div style="background-color:white">
<h2 class="greyh2">Artikel</h2>
<div style="padding:10px">
[ARTIKEL]
</div>
</div>
<div style="background-color:white">
<h2 class="greyh2">Buchungen</h2>
<div style="padding:10px">
[ZAHLUNGEN]
</div>
</div>
<div style="background-color:white">
<h2 class="greyh2">Protokoll</h2>
<div style="padding:10px;">
[PROTOKOLL]
</div>
</div>
</div>

View File

@ -1,64 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1"></a></li>
</ul>
<!-- Example for multiple tabs
<ul hidden">
<li><a href="#tabs-1">First Tab</a></li>
<li><a href="#tabs-2">Second Tab</a></li>
</ul>
-->
<div id="tabs-1">
[MESSAGE]
<form action="" method="post">
[FORMHANDLEREVENT]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Position bearbeiten|}</legend><i></i>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>
{|Menge|}:
</td>
<td>
<input type="number" name="menge" id="menge" value="[MENGE]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Preis|}:
</td>
<td>
<input type="number" name="preis" id="preis" step="0.00001" value="[PREIS]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Steuersatz %|}:
</td>
<td>
<input type="number" name="steuersatz" id="steuersatz" value="[STEUERSATZ]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Sachkonto|}:
</td>
<td>
<input type="text" name="sachkonto" id="sachkonto" value="[SACHKONTO]" size="20" [SACHKONTOSAVEDISABLED]>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<input type="submit" name="submit" value="Speichern" style="float:right"/>
</form>
</div>
</div>

View File

@ -1,88 +0,0 @@
[POSITIONENMESSAGE]
<form method="post" action="#tabs-2">
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
<div class="row-height">
<div class="col-xs-14 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend style="float:left">Artikel hinzuf&uuml;gen:</legend>
<div class="filter-box filter-usersave" style="float:right;">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="passende" class="switch">
<input type="checkbox" id="passende">
<span class="slider round"></span>
</label>
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
</li>
</ul>
</div>
</div>
[PAKETDISTRIBUTION]
</fieldset>
</div>
</div>
<div class="col-xs-14 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
<tr>
<td><input type="checkbox" id="auswahlallewareneingaenge" onchange="allewareneingaengeauswaehlen();" />{|alle markieren|}</td>
</tr>
<tr>
<td><button [SAVEDISABLED] name="submit" value="positionen_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzuf&uuml;gen</button></td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</form>
<form method="post" action="#tabs-2">
<div class="row">
<div class="row-height">
<div class="col-xs-14 col-md-12 col-md-height">
<div class="inside inside-full-height">
[POSITIONEN]
</div>
</div>
<div class="col-xs-14 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
<tr [SACHKONTOCHANGEHIDDEN]>
<td><input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" />{|alle markieren|}</td>
</tr>
<tr [POSITIONHINZUFUEGENHIDDEN]>
<td><button [SAVEDISABLED] name="submit" value="positionen_entfernen" class="ui-button-icon" style="width:100%;">Entfernen</button></td>
</tr>
<tr [SACHKONTOCHANGEHIDDEN]>
<td><input type="text" name="positionen_sachkonto" id="positionen_sachkonto" value="" size="20"></td>
</tr>
<tr [SACHKONTOCHANGEHIDDEN]>
<td><button name="submit" value="positionen_kontorahmen_setzen" class="ui-button-icon" style="width:100%;">Sachkonto setzen</button></td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</form>
<script>
function allewareneingaengeauswaehlen()
{
var wert = $('#auswahlallewareneingaenge').prop('checked');
$('#verbindlichkeit_positionen').find(':checkbox').prop('checked',wert);
}
function alleauswaehlen()
{
var wert = $('#auswahlalle').prop('checked');
$('#lieferantengutschrift_positionen').find(':checkbox').prop('checked',wert);
}
</script>

View File

@ -8,7 +8,6 @@ SPDX-License-Identifier: LicenseRef-EGPL-3.1
<li><a href="#tabs-2">Aufträge</a></li> <li><a href="#tabs-2">Aufträge</a></li>
</ul> </ul>
<div id="tabs-1"> <div id="tabs-1">
[MESSAGE]
[MESSAGE_INVOICES] [MESSAGE_INVOICES]
<form method="post" action="#"> <form method="post" action="#">
[TAB_INVOICES] [TAB_INVOICES]
@ -20,7 +19,6 @@ SPDX-License-Identifier: LicenseRef-EGPL-3.1
</form> </form>
</div> </div>
<div id="tabs-2"> <div id="tabs-2">
[MESSAGE]
[MESSAGE_ORDERS] [MESSAGE_ORDERS]
<form method="post" action="#"> <form method="post" action="#">
[TAB_ORDERS] [TAB_ORDERS]

View File

@ -1,85 +0,0 @@
<div id="tabs" class="report">
<ul>
<li><a href="#tabs-1">Tabellen</a></li>
<li><a href="#tabs-2">Struktur</a></li>
<li><a href="#tabs-3">Vorschau</a></li>
</ul>
<!-- ende gehort zu tabview -->
<!-- erstes tab -->
<div id="tabs-1">
[MESSAGE]
<div class="row" id="report_list_main">
<div class="row-height">
<div class="col-xs-12 col-sm-10 col-sm-height">
<div>
[TAB1]
</div>
</div>
</div>
</div>
[TAB1NEXT]
</div>
<div id="tabs-2">
[MESSAGE]
<div class="row" id="report_list_main">
<div class="row-height">
<div class="col-xs-12 col-sm-10 col-sm-height">
<legend style="float:left">
Tabelle&nbsp;[TABLENAME]
</legend>
<form method="post" action="#tabs-3">
<fieldset style="float: right;">
<input type="text" name="table" value="[TABLENAME]" hidden></input>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td style="padding-right:10px;"><input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();"/>{|alle markieren|}</td>
<td><button name="submit" value="vorschau" class="ui-button-icon" style="width:100%;float:right;">Vorschau</button></td>
</tr>
</table>
</fieldset>
<p></p>
<div id="columnstab">
[TAB2]
</div>
</form>
</div>
</div>
</div>
[TAB2NEXT]
</div>
<div id="tabs-3">
[MESSAGE]
<div class="row" id="report_list_main">
<div class="row-height">
<div class="col-xs-12 col-sm-10 col-sm-height">
<legend style="float:left">
Tabelle&nbsp;[TABLENAME]
</legend>
<form method="post" action="#tabs-3">
<fieldset style="float: right;">
<input type="text" name="table" value="[TABLENAME]" hidden></input>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td><button name="submit" value="erzeugen" class="ui-button-icon" style="width:100%;float:right;">Bericht erzeugen</button></td>
</tr>
</table>
</fieldset>
</form>
<div>
[TAB3]
</div>
</div>
</div>
</div>
[TAB3NEXT]
</div>
<!-- tab view schließen -->
</div>
<script>
function alleauswaehlen()
{
var wert = $('#auswahlalle').prop('checked');
$('#columnstab').find(':checkbox').prop('checked',wert);
}
</script>

View File

@ -60,7 +60,7 @@
<td> <td>
</td> </td>
<td> <td>
<button name="submit" value="spam_filter" class="ui-button-icon" title="Ticket auf Status 'Papierkorb' setzen und Absender-Adresse in Ticketregel eintragen" style="width:100%;" onclick="if(confirm('Wirklich Ticketregel erstellen?'))document.getElementById('form-id').submit(); else return false;">{|Spamregel erstellen|}</button> <button name="submit" value="spam_filter" class="ui-button-icon" title="Ticket auf Status 'Papierkorb' setzen und Absender-Adresse in Ticketregel eintragen" style="width:100%;">{|Spamregel erstellen|}</button>
</td> </td>
</tr> </tr>
</table> </table>

View File

@ -15,7 +15,7 @@
<div class="col-xs-14 col-md-12 col-md-height"> <div class="col-xs-14 col-md-12 col-md-height">
<div class="inside inside-full-height"> <div class="inside inside-full-height">
<fieldset> <fieldset>
<legend>{|DBXE Upgrade-System|}</legend> <legend>{|OpenXE Upgrade-System|}</legend>
Das Upgrade funktioniert in 2 Schritten: Dateien aktualisieren, Datenbank auffrischen. Wenn das Upgrade lange l&auml;uft, kann der Fortschritt in einem neuen Fenster mit "Anzeige auffrischen" angezeigt werden.<br><br> Das Upgrade funktioniert in 2 Schritten: Dateien aktualisieren, Datenbank auffrischen. Wenn das Upgrade lange l&auml;uft, kann der Fortschritt in einem neuen Fenster mit "Anzeige auffrischen" angezeigt werden.<br><br>
Falls nach einem Abbruch oder schwerwiegenden Fehler kein Upgrade möglich ist, im Hauptordner den Ordner ".git" l&ouml;schen und das Upgrade in der Konsole erneut durchf&uuml;hren. Falls nach einem Abbruch oder schwerwiegenden Fehler kein Upgrade möglich ist, im Hauptordner den Ordner ".git" l&ouml;schen und das Upgrade in der Konsole erneut durchf&uuml;hren.
Dazu im Unterordner "upgrade" diesen Befehl starten: <pre>./upgrade.sh -do</pre> Dazu im Unterordner "upgrade" diesen Befehl starten: <pre>./upgrade.sh -do</pre>
@ -37,7 +37,7 @@ Dazu im Unterordner "upgrade" diesen Befehl starten: <pre>./upgrade.sh -do</pre>
<fieldset> <fieldset>
<legend>{|Aktuelle Version|}</legend> <legend>{|Aktuelle Version|}</legend>
<table width="100%" border="0" class="mkTableFormular"> <table width="100%" border="0" class="mkTableFormular">
<b>DBXE [CURRENT]</b> <b>OpenXE [CURRENT]</b>
</table> </table>
</fieldset> </fieldset>
</div> </div>

View File

@ -1,215 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">Verbindlichkeit</a></li>
<li [POSITIONENHIDDEN]><a href="#tabs-2">Positionen</a></li>
<li><a href="#tabs-3">Protokoll</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
<form action="" method="post">
[FORMHANDLEREVENT]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-6 col-md-height">
<div class="inside inside-full-height">
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-8 col-md-height">
<div class="inside inside-full-height">
<fieldset style="float: left;">
<legend>{|<b>Verbindlichkeit <font color="blue">[BELEGNR]</font></b> Lf-Nr. <a href="index.php?module=adresse&action=edit&id=[ADRESSE_ID]">[LIEFERANTENNUMMER]|}</a></legend>
[STATUSICONS]
</fieldset>
<fieldset style="float: right;">
<button name="submit" value="speichern" class="ui-button-icon" style="width:100%;">Speichern</button>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-8 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>
{|Status|}:
</td>
<td>
<input type="text" value="[STATUS]" size="20" disabled>
</td>
</tr>
<tr>
<td>
{|Adresse|}:
</td>
<td>
<input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20" [SAVEDISABLED] required>
</td>
</tr>
<tr>
<td>
{|Rechnungs-Nr.|}:
</td>
<td>
<input type="text" name="rechnung" id="rechnung" value="[RECHNUNG]" size="20" [SAVEDISABLED] required>
</td>
</tr>
<tr>
<td>
{|Rechnungsdatum|}:
</td>
<td>
<input type="text" name="rechnungsdatum" id="rechnungsdatum" value="[RECHNUNGSDATUM]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Eingangsdatum|}:
</td>
<td>
<input type="text" name="eingangsdatum" id="eingangsdatum" value="[EINGANGSDATUM]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Betrag brutto|}:
</td>
<td>
<input type="number" step="0.01" name="betrag" id="betrag" value="[BETRAG]" size="20" [SAVEDISABLED]>
<select name="waehrung" [SAVEDISABLED]>[WAEHRUNGSELECT]</select>
</td>
</tr>
<tr>
<td>
{|Betrag Positionen brutto|}:
</td>
<td>
<input type="number" step="0.01" name="betragbruttopos" id="betragbruttopos" value="[BETRAGBRUTTOPOS]" size="20" disabled><img class="wawitooltipicon" src="themes/new/images/tooltip_grau.png" title="Rundungsdifferenz [RUNDUNGSDIFFERENZ] wurde automatisch ber&uuml;cksichtigt" [RUNDUNGSDIFFERENZICONHIDDEN]>
</td>
</tr>
<tr>
<td>
{|Betrag Positionen netto|}:
</td>
<td>
<input type="number" step="0.01" name="betragnetto" id="betragnetto" value="[BETRAGNETTO]" size="20" disabled [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Zahlbar bis|}:
</td>
<td>
<input type="text" name="zahlbarbis" id="zahlbarbis" value="[ZAHLBARBIS]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Skonto %|}:
</td>
<td>
<input type="text" name="skonto" id="skonto" value="[SKONTO]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Skonto bis|}:
</td>
<td>
<input type="text" name="skontobis" id="skontobis" value="[SKONTOBIS]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Bestellung|}:
</td>
<td>
<input type="text" name="bestellung" id="bestellung" value="[BESTELLUNG]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Waren-/Leistungsprüfung (Einkauf)|}:
</td>
<td>
<input type="checkbox" id="wareneingang" value="1" [WARENEINGANGCHECKED] size="20" disabled>
<a href="index.php?module=verbindlichkeit&action=freigabeeinkauf&id=[ID]" title="freigeben" [FREIGABEEINKAUFHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=verbindlichkeit&action=ruecksetzeneinkauf&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENEINKAUFHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
<i [EINKAUFINFOHIDDEN]>Wird automatisch gesetzt wenn Positionen vollst&auml;ndig</a>
</td>
</tr>
<tr>
<td>
{|Rechnungseingangsprüfung (Buchhaltung)|}:
</td>
<td>
<input type="checkbox" id="rechnungsfreigabe" [RECHNUNGSFREIGABECHECKED] size="20" disabled>
<a href="index.php?module=verbindlichkeit&action=freigabebuchhaltung&id=[ID]" title="freigeben" [FREIGABEBUCHHALTUNGHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=verbindlichkeit&action=ruecksetzenbuchhaltung&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENBUCHHALTUNGHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
<td>
{|Bezahlt|}:
</td>
<td>
<input type="checkbox" id="zahlungsstatus" [BEZAHLTCHECKED] size="20" disabled>
<a href="index.php?module=verbindlichkeit&action=freigabebezahlt&id=[ID]" title="auf &apos;bezahlt&apos; setzen" [FREIGABEBEZAHLTHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=verbindlichkeit&action=ruecksetzenbezahlt&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENBEZAHLTHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
<td>
{|Projekt|}:
</td>
<td>
<input type="text" name="projekt" id="projekt" value="[PROJEKT]" size="20">
</td>
</tr>
<tr>
<td>
{|Kostenstelle|}:
</td>
<td>
<input type="text" name="kostenstelle" id="kostenstelle" value="[KOSTENSTELLE]" size="20">
</td>
</tr>
<tr>
<td>
{|Internebemerkung|}:
</td>
<td>
<textarea name="internebemerkung" id="internebemerkung" rows="6" style="width:100%;">[INTERNEBEMERKUNG]</textarea>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Vorschau|}</legend>
[INLINEPDF]
</fieldset>
</div>
</div>
</div>
</div>
</form>
</div>
<div id="tabs-2">
[POSITIONENTAB]
</div>
<div id="tabs-3">
[MINIDETAIL]
</div>
</div>

View File

@ -1,93 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">[TABTEXT1]</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
<div class="filter-box filter-usersave">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="anhang" class="switch">
<input type="checkbox" id="anhang">
<span class="slider round"></span>
</label>
<label for="anhang">{|Anhang fehlt|}</label>
</li>
<li class="filter-item">
<label for="wareneingang" class="switch">
<input type="checkbox" id="wareneingang">
<span class="slider round"></span>
</label>
<label for="wareneingang">{|Wareingang/Leistungspr&uuml;fung fehlt|}</label>
</li>
<li class="filter-item">
<label for="rechnungsfreigabe" class="switch">
<input type="checkbox" id="rechnungsfreigabe">
<span class="slider round"></span>
</label>
<label for="rechnungsfreigabe">{|Rechnungseingangspr&uuml;fung fehlt|}</label>
</li>
<li class="filter-item">
<label for="nichtbezahlt" class="switch">
<input type="checkbox" id="nichtbezahlt">
<span class="slider round"></span>
</label>
<label for="nichtbezahlt">{|Nicht bezahlt|}</label>
</li>
<li class="filter-item">
<label for="stornierte" class="switch">
<input type="checkbox" id="stornierte">
<span class="slider round"></span>
</label>
<label for="stornierte">{|Inkl. stornierte|}</label>
</li>
<li class="filter-item">
<label for="abgeschlossen" class="switch">
<input type="checkbox" id="abgeschlossen">
<span class="slider round"></span>
</label>
<label for="abgeschlossen">{|Inkl. abgeschlossene|}</label>
</li>
<li class="filter-item">
<label for="zahlbarbis">{|Zahlbar bis|}:</label>
<input type="text" name="zahlbarbis" id="zahlbarbis" size="10">
</li>
<li class="filter-item">
<label for="skontobis">{|Skonto bis|}:</label>
<input type="text" name="skontobis" id="skontobis" size="10">
</li>
</ul>
<form method="post" action="#">
<button name="submit" value="status_berechnen" class="ui-button-icon">{|Status auffrischen|}</button>
</form>
</div>
</div>
<form method="post" action="#">
[TAB1]
<fieldset><legend>{|Stapelverarbeitung|}</legend>
<input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" />&nbsp;{|alle markieren|}&nbsp;
<select id="sel_aktion" name="sel_aktion">
<option value="">{|bitte w&auml;hlen|} ...</option>
[MANUELLFREIGABEEINKAUF]
[MANUELLFREIGABEBUCHHALTUNG]
[ALSBEZAHLTMARKIEREN]
</select>
<button name="submit" value="ausfuehren" class="ui-button-icon">{|Ausf&uuml;hren|}</button>
</fieldset>
</form>
[TAB1NEXT]
</div>
</div>
<script>
function alleauswaehlen()
{
var wert = $('#auswahlalle').prop('checked');
$('#verbindlichkeit_list').find(':checkbox').prop('checked',wert);
}
</script>

View File

@ -1,76 +1,176 @@
[FORMHANDLEREVENT] [FORMHANDLEREVENT]
[MESSAGE] [MESSAGE]
<style>
.auftraginfo_cell { <table class="tableborder" border="0" cellpadding="3" cellspacing="0" width="100%">
color: #636363;border: 1px solid #ccc;padding: 5px; <tbody>
} <tr valign="top" colspan="3">
.auftrag_cell { <td >
color: #636363;border: 1px solid #fff;padding: 0px; margin:0px; <fieldset><legend>{|Rechnungsdaten|}</legend>
}
</style>
<div style="float:left; width:39%; padding-right:1%;">
<table width="100%" border="0"> <table width="100%" border="0">
<tr valign="top"> <tr valign="top"><td width="150">Lieferant:</td><td>[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
<td width="150">Lieferant:</td> <td>&nbsp;</td>
<td colspan="3">[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td> <td colspan="2" rowspan="2" align="center"><b style="color:green">[MELDUNG]</b>
</tr> <br><font size="7">[VERBINDLICHKEIT]</font>
<tr> </td></tr>
<td>Rechnungs-Nr.:</td>
<td>[RECHNUNG][MSGRECHNUNG]</td> <tr><td><br><br>Rechnungs Nr.:</td><td><br><br>[RECHNUNG][MSGRECHNUNG]</td>
</tr> <td>&nbsp;</td>
<tr> </tr>
<td>Rechnungsdatum:</td>
<td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td> <tr><td>Bestellung:</td><td width="250">[DISABLESTART]<a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID]" target="_blank">[BESTELLUNG]</a>[MSGBESTELLUNG][MULTIBESTELLUNG][DISABLEENDE]</td>
<tr> <td>&nbsp;</td>
</tr> <td width="200">Zahlweise:</td><td>[ZAHLUNGSWEISE][MSGZAHLUNGSWEISE]</td></tr>
</tr>
<td width="200">Zahlbar bis:</td> <tr><td>Rechnungsdatum:</td><td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
<td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td> <td>&nbsp;</td>
</tr> <td width="200">Zahlbar bis:</td><td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td></tr>
<td>Betrag/Total (Brutto):</td>
<td>[BETRAG][MSGBETRAG]&nbsp;[WAEHRUNG][MSGWAEHRUNG]</td> <tr><td>Betrag/Total (Brutto):</td><td>[BETRAG][MSGBETRAG]&nbsp;[WAEHRUNG][MSGWAEHRUNG]</td><td>&nbsp;</td>
<tr> <td>Skonto in %:</td><td>[SKONTO][MSGSKONTO]</td>
<td>Skonto in %:</td> </tr>
<td>[SKONTO][MSGSKONTO]</td>
</tr> <tr><td>USt. 19%:</td><td>[SUMMENORMAL][MSGSUMMENORMAL]</td><td>&nbsp;</td>
<tr> <td>Skonto bis:</td><td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
<td>Skonto bis:</td> </tr>
<td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
</tr> <tr>
<tr> <td>USt. 7%:</td><td>[SUMMEERMAESSIGT][MSGSUMMEERMAESSIGT]</td>
<td>Projekt:</td> <td>&nbsp;</td>
<td>[PROJEKT][MSGKOSTENSTELLE]</td> <td>Umsatzsteuer</td><td>[UMSATZSTEUER][MSGUMSATZSTEUER]</td>
<td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>Kostenstelle:</td> <td>[STEUERSATZNAME3]</td><td>[SUMMESATZ3][MSGSUMMESATZ3]</td>
<td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>[STEUERSATZNAME4]</td><td>[SUMMESATZ4][MSGSUMMESATZ4]</td>
</tr> </tr>
<tr> <tr>
<td>Interne Bemerkung:</td> <td>Verwendungszweck:</td><td>[VERWENDUNGSZWECK][MSGVERWENDUNGSZWECK]</td>
<td colspan="4">[INTERNEBEMERKUNG]</td> <td>&nbsp;</td>
</tr> <td>Frachtkosten:</td><td>[FRACHTKOSTEN][MSGFRACHTKOSTEN]</td>
</table> </tr>
<tr>
<td>Projekt:</td><td>[PROJEKT][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
<td></td><td></td>
</tr>
<tr>
<td>Kostenstelle:</td><td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
<td>Freigabe:</td><td>[MSGFREIGABE]&nbsp;<i>Wareneingangspr&uuml;fung:</i>&nbsp;[FREIGABE]&nbsp;[MSGRECHNUNGSFREIGABE]&nbsp;<i>Rechnungseingangspr&uuml;fung:</i>&nbsp;[RECHNUNGSFREIGABE]</td>
</tr>
<tr>
<td>Sachkonto:</td><td>[SACHKONTO][MSGSACHKONTO]</td>
<td>&nbsp;</td>
<td>Aktion:</td><td>[BUTTONBEZAHLT]</td>
</tr>
<tr>
<td>Interne Bemerkung:</td><td colspan="4">[INTERNEBEMERKUNG]</td>
</tr>
</table>
</fieldset>
</td></tr>
</tbody>
</table>
<table class="tableborder" border="0" cellpadding="3" cellspacing="0" width="100%">
<tr valign="top"><td width="50%">
<table cellspacing="5" width="100%">
<!--<tr><td><b>Bestellung</b></td><td><b>Bestell-Nr.</b></td><td><b>Teilbetrag</b></td><td><b>Projekt</b></td><td><b>Kostenstelle</b></td><td><b>Bemerkung</b></td></tr>
<tr><td>Nr. 1</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID1]" target="_blank">[BESTELLUNG1]</a>[MSGBESTELLUNG1]</td><td>[BESTELLUNG1BETRAG][MSGBESTELLUNG1BETRAG]</td>
<td>[BESTELLUNG1PROJEKT]</td><td>[BESTELLUNG1KOSTENSTELLE]</td>
<td>[BESTELLUNG1BEMERKUNG][MSGBESTELLUNG1BEMERKUNG]</td></tr>
<tr><td>Nr. 2</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID2]" target="_blank">[BESTELLUNG2]</a>[MSGBESTELLUNG2]</td><td>[BESTELLUNG2BETRAG][MSGBESTELLUNG2BETRAG]</td>
<td>[BESTELLUNG2PROJEKT]</td><td>[BESTELLUNG2KOSTENSTELLE]</td>
<td>[BESTELLUNG2BEMERKUNG][MSGBESTELLUNG2BEMERKUNG]</td></tr>
<tr><td>Nr. 3</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID3]" target="_blank">[BESTELLUNG3]</a>[MSGBESTELLUNG3]</td><td>[BESTELLUNG3BETRAG][MSGBESTELLUNG3BETRAG]</td>
<td>[BESTELLUNG3PROJEKT]</td><td>[BESTELLUNG3KOSTENSTELLE]</td>
<td>[BESTELLUNG3BEMERKUNG][MSGBESTELLUNG3BEMERKUNG]</td></tr>
<tr><td>Nr. 4</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID4]" target="_blank">[BESTELLUNG4]</a>[MSGBESTELLUNG4]</td><td>[BESTELLUNG4BETRAG][MSGBESTELLUNG4BETRAG]</td>
<td>[BESTELLUNG4PROJEKT]</td><td>[BESTELLUNG4KOSTENSTELLE]</td>
<td>[BESTELLUNG4BEMERKUNG][MSGBESTELLUNG4BEMERKUNG]</td></tr>
<tr><td>Nr. 5</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID5]" target="_blank">[BESTELLUNG5]</a>[MSGBESTELLUNG5]</td><td>[BESTELLUNG5BETRAG][MSGBESTELLUNG5BETRAG]</td>
<td>[BESTELLUNG5PROJEKT]</td><td>[BESTELLUNG5KOSTENSTELLE]</td>
<td>[BESTELLUNG5BEMERKUNG][MSGBESTELLUNG5BEMERKUNG]</td></tr>
<tr><td>Nr. 6</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID6]" target="_blank">[BESTELLUNG6]</a>[MSGBESTELLUNG6]</td><td>[BESTELLUNG6BETRAG][MSGBESTELLUNG6BETRAG]</td>
<td>[BESTELLUNG6PROJEKT]</td><td>[BESTELLUNG6KOSTENSTELLE]</td>
<td>[BESTELLUNG6BEMERKUNG][MSGBESTELLUNG6BEMERKUNG]</td></tr>
<tr><td>Nr. 7</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID7]" target="_blank">[BESTELLUNG7]</a>[MSGBESTELLUNG7]</td><td>[BESTELLUNG7BETRAG][MSGBESTELLUNG7BETRAG]</td>
<td>[BESTELLUNG7PROJEKT]</td><td>[BESTELLUNG7KOSTENSTELLE]</td>
<td>[BESTELLUNG7BEMERKUNG][MSGBESTELLUNG7BEMERKUNG]</td></tr>
<tr><td>Nr. 8</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID8]" target="_blank">[BESTELLUNG8]</a>[MSGBESTELLUNG8]</td><td>[BESTELLUNG8BETRAG][MSGBESTELLUNG8BETRAG]</td>
<td>[BESTELLUNG8PROJEKT]</td><td>[BESTELLUNG8KOSTENSTELLE]</td>
<td>[BESTELLUNG8BEMERKUNG][MSGBESTELLUNG8BEMERKUNG]</td></tr>
<tr><td>Nr. 9</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID9]" target="_blank">[BESTELLUNG9]</a>[MSGBESTELLUNG9]</td><td>[BESTELLUNG9BETRAG][MSGBESTELLUNG9BETRAG]</td>
<td>[BESTELLUNG9PROJEKT]</td><td>[BESTELLUNG9KOSTENSTELLE]</td>
<td>[BESTELLUNG9BEMERKUNG][MSGBESTELLUNG9BEMERKUNG]</td></tr>
<tr><td>Nr. 10</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID10]" target="_blank">[BESTELLUNG10]</a>[MSGBESTELLUNG10]</td><td>[BESTELLUNG10BETRAG][MSGBESTELLUNG10BETRAG]</td>
<td>[BESTELLUNG10PROJEKT]</td><td>[BESTELLUNG10KOSTENSTELLE]</td>
<td>[BESTELLUNG10BEMERKUNG][MSGBESTELLUNG10BEMERKUNG]</td></tr>
<tr><td>Nr. 11</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID11]" target="_blank">[BESTELLUNG11]</a>[MSGBESTELLUNG11]</td><td>[BESTELLUNG11BETRAG][MSGBESTELLUNG11BETRAG]</td>
<td>[BESTELLUNG11PROJEKT]</td><td>[BESTELLUNG11KOSTENSTELLE]</td>
<td>[BESTELLUNG11BEMERKUNG][MSGBESTELLUNG11BEMERKUNG]</td></tr>
<tr><td>Nr. 12</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID12]" target="_blank">[BESTELLUNG12]</a>[MSGBESTELLUNG12]</td><td>[BESTELLUNG12BETRAG][MSGBESTELLUNG12BETRAG]</td>
<td>[BESTELLUNG12PROJEKT]</td><td>[BESTELLUNG12KOSTENSTELLE]</td>
<td>[BESTELLUNG12BEMERKUNG][MSGBESTELLUNG12BEMERKUNG]</td></tr>
<tr><td>Nr. 13</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID13]" target="_blank">[BESTELLUNG13]</a>[MSGBESTELLUNG13]</td><td>[BESTELLUNG13BETRAG][MSGBESTELLUNG13BETRAG]</td>
<td>[BESTELLUNG13PROJEKT]</td><td>[BESTELLUNG13KOSTENSTELLE]</td>
<td>[BESTELLUNG13BEMERKUNG][MSGBESTELLUNG13BEMERKUNG]</td></tr>
<tr><td>Nr. 14</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID14]" target="_blank">[BESTELLUNG14]</a>[MSGBESTELLUNG14]</td><td>[BESTELLUNG14BETRAG][MSGBESTELLUNG14BETRAG]</td>
<td>[BESTELLUNG14PROJEKT]</td><td>[BESTELLUNG14KOSTENSTELLE]</td>
<td>[BESTELLUNG14BEMERKUNG][MSGBESTELLUNG14BEMERKUNG]</td></tr>
<tr><td>Nr. 15</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID15]" target="_blank">[BESTELLUNG15]</a>[MSGBESTELLUNG15]</td><td>[BESTELLUNG15BETRAG][MSGBESTELLUNG15BETRAG]</td>
<td>[BESTELLUNG15PROJEKT]</td><td>[BESTELLUNG15KOSTENSTELLE]</td>
<td>[BESTELLUNG15BEMERKUNG][MSGBESTELLUNG15BEMERKUNG]</td></tr>-->
[TABELLEBESTELLUNGEN]
</table>
</td>
<td>
<table width="100%>">
<tr><td>Summe Verbindlichkeit</td><td>Summe Kontierung</td></tr>
<tr>
<td class="greybox" width="25%">[SUMMEVERBINDLICHKEIT]</td>
<td class="greybox" width="25%">[SUMMEKONTIERUNG]</td>
</tr>
</table>
[MESSAGEVORKONTIERUNG]
[VORKONTIERUNG]
[ZAHLUNGEN]
<div style="background-color:white">
<h2 class="greyh2">{|Protokoll|}</h2>
<div style="padding:10px">
[PROTOKOLL]
</div> </div>
<div style="float:left; width:60%">
<div style="background-color:white">
<h2 class="greyh2">Artikel</h2>
<div style="padding:10px">
[ARTIKEL]
</div>
</div>
<div style="background-color:white">
<h2 class="greyh2">Buchungen</h2>
<div style="padding:10px">
[ZAHLUNGEN]
</div>
</div>
<div style="background-color:white">
<h2 class="greyh2">Protokoll</h2>
<div style="padding:10px;">
[PROTOKOLL]
</div>
</div>
</div> </div>
</td>
</tr>
</tbody>
</table>

View File

@ -1,64 +0,0 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1"></a></li>
</ul>
<!-- Example for multiple tabs
<ul hidden">
<li><a href="#tabs-1">First Tab</a></li>
<li><a href="#tabs-2">Second Tab</a></li>
</ul>
-->
<div id="tabs-1">
[MESSAGE]
<form action="" method="post">
[FORMHANDLEREVENT]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Position bearbeiten|}</legend><i></i>
<table width="100%" border="0" class="mkTableFormular">
<tr>
<td>
{|Menge|}:
</td>
<td>
<input type="number" name="menge" id="menge" value="[MENGE]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Preis|}:
</td>
<td>
<input type="number" name="preis" id="preis" step="0.00001" value="[PREIS]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Steuersatz %|}:
</td>
<td>
<input type="number" name="steuersatz" id="steuersatz" value="[STEUERSATZ]" size="20" [SAVEDISABLED]>
</td>
</tr>
<tr>
<td>
{|Sachkonto|}:
</td>
<td>
<input type="text" name="sachkonto" id="sachkonto" value="[SACHKONTO]" size="20" [SACHKONTOSAVEDISABLED]>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<input type="submit" name="submit" value="Speichern" style="float:right"/>
</form>
</div>
</div>

View File

@ -1,91 +0,0 @@
[POSITIONENMESSAGE]
<form method="post" action="#tabs-2">
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
<div class="row-height">
<div class="col-xs-14 col-md-12 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend style="float:left">Offene Artikel aus Wareneing&auml;ngen:</legend>
<div class="filter-box filter-usersave" style="float:right;">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="passende" class="switch">
<input type="checkbox" id="passende">
<span class="slider round"></span>
</label>
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
</li>
</ul>
</div>
</div>
[PAKETDISTRIBUTION]
</fieldset>
</div>
</div>
<div class="col-xs-14 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
<tr>
<td><input type="checkbox" id="auswahlallewareneingaenge" onchange="allewareneingaengeauswaehlen();" />{|alle markieren|}</td>
</tr>
<tr>
<td><input type="checkbox" name="bruttoeingabe" value="1" />Bruttopreise eingeben</td>
</tr>
<tr>
<td><button [SAVEDISABLED] name="submit" value="positionen_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzuf&uuml;gen</button></td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</form>
<form method="post" action="#tabs-2">
<div class="row">
<div class="row-height">
<div class="col-xs-14 col-md-12 col-md-height">
<div class="inside inside-full-height">
[POSITIONEN]
</div>
</div>
<div class="col-xs-14 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
<tr [SACHKONTOCHANGEHIDDEN]>
<td><input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" />{|alle markieren|}</td>
</tr>
<tr [POSITIONHINZUFUEGENHIDDEN]>
<td><button [SAVEDISABLED] name="submit" value="positionen_entfernen" class="ui-button-icon" style="width:100%;">Entfernen</button></td>
</tr>
<tr [SACHKONTOCHANGEHIDDEN]>
<td><input type="text" name="positionen_sachkonto" id="positionen_sachkonto" value="" size="20"></td>
</tr>
<tr [SACHKONTOCHANGEHIDDEN]>
<td><button name="submit" value="positionen_kontorahmen_setzen" class="ui-button-icon" style="width:100%;">Sachkonto setzen</button></td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
</form>
<script>
function allewareneingaengeauswaehlen()
{
var wert = $('#auswahlallewareneingaenge').prop('checked');
$('#verbindlichkeit_paketdistribution_list').find(':checkbox').prop('checked',wert);
}
function alleauswaehlen()
{
var wert = $('#auswahlalle').prop('checked');
$('#verbindlichkeit_positionen').find(':checkbox').prop('checked',wert);
}
</script>

View File

@ -3,19 +3,6 @@
<li><a href="#tabs-1">[TABTEXT1]</a></li> <li><a href="#tabs-1">[TABTEXT1]</a></li>
</ul> </ul>
<div id="tabs-1"> <div id="tabs-1">
<div class="filter-box filter-usersave">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="abgeschlossen" class="switch">
<input type="checkbox" id="abgeschlossen">
<span class="slider round"></span>
</label>
<label for="abgeschlossen">{|Inkl. abgeschlossene|}</label>
</ul>
</div>
</div>
[MESSAGE] [MESSAGE]
[TAB1] [TAB1]
[TAB1NEXT] [TAB1NEXT]

View File

@ -6,19 +6,15 @@
<table height="80" width="100%"><tr><td> <table height="80" width="100%"><tr><td>
<fieldset class="usersave"><legend>&nbsp;Filter</legend> <fieldset class="usersave"><legend>&nbsp;Filter</legend>
<center> <center>
<form method="POST"> <table width="100%" cellspacing="5">
<table width="100%" cellspacing="5"> <tr>
<tr> <td width="33%"><input type="checkbox" id="eigene" title="nur Artikel vom Lieferant anzeigen">&nbsp;<label for="eigene">{|Nur Artikel vom Lieferant anzeigen|}</label></td>
<td width="33%"><input type="checkbox" id="eigene" title="nur Artikel vom Lieferant anzeigen">&nbsp;<label for="eigene">{|Nur Artikel vom Lieferant anzeigen|}</label></td> <td width="33%">{|Scannen|}: <form method="POST"><input type="text" size="40" name="artikel" autofocus id="artikel" /></form></td>
<td width="33%">{|Artikel|}: <input type="text" size="40" name="artikel" autofocus id="artikel" /></td> <td width="33%"></td>
<td width="33%">{|Menge|}: <input type="number" size="40" name="menge" id="menge" value="1"/></td> </tr></table>
<td width="33%"><button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Weiter|}</button></td> </center>
</fieldset>
</tr> </td></tr></table>
</table>
</center>
</fieldset>
</td></tr></table>
[MESSAGE] [MESSAGE]
[TAB1] [TAB1]

View File

@ -15,14 +15,14 @@
<table height="200" border="0" width="450"> <table height="200" border="0" width="450">
<tr valign="top"><td><b>Artikel:</b></td><td><u>[NAME]</u></td></tr> <tr valign="top"><td><b>Artikel:</b></td><td><u>[NAME]</u></td></tr>
<tr valign="top"><td><b>Menge:</b></td><td>[MENGE]</td></tr>
<!--<tr valign="top"><td>Lieferant:</td><td>[LIEFERANT]</td></tr> --> <!--<tr valign="top"><td>Lieferant:</td><td>[LIEFERANT]</td></tr> -->
<tr valign="top"><td><br></td><td align="center"></td></tr> <tr valign="top"><td><br></td><td align="center"></td></tr>
<tr valign="top"><td><b>Bemerkung:</b></td><td><textarea cols="35" rows="2" name="bemerkung">[BEMERKUNG]</textarea> <tr valign="top"><td><b>Bemerkung:</b></td><td><textarea cols="35" rows="2" name="bemerkung">[BEMERKUNG]</textarea>
</td></tr> </td></tr>
<tr valign="top"><td><br></td><td align="center"></td></tr> <tr valign="top"><td><br></td><td align="center"></td></tr>
<tr valign="top"><td nowrap><b>Anmerkung:</b></td><td>Artikel zu Mitarbeiter [MITARBEITER] bringen
[DISPLAY_WARENEINGANG_RMA_HOOK1] [DISPLAY_WARENEINGANG_RMA_HOOK1]
<tr valign="top"><td><br></td><td align="center"><input type="submit" name="submit" value="Buchen" />&nbsp;<input type="button" onclick="window.location.href='index.php?module=wareneingang&action=distriinhalt&id=[ID]'" value="Abbrechen" /></td></tr> <tr valign="top"><td><br></td><td align="center"><input type="submit" name="submit" value="Speichern" />&nbsp;<input type="button" onclick="window.location.href='index.php?module=wareneingang&action=distriinhalt&id=[ID]'" value="Abbrechen" /></td></tr>
</td></tr> </td></tr>
</table> </table>

View File

@ -1,239 +1,160 @@
<!-- gehort zu tabview --> <!-- gehort zu tabview -->
<div id="tabs"> <div id="tabs">
<ul> [BEFORETAB1] <ul>
<li><a href="#tabs-1">[TAB1TEXT]</a></li>[AFTERTAB1] [BEFORETAB2] [BEFORETAB1]<li><a href="#tabs-1">[TAB1TEXT]</a></li>[AFTERTAB1]
<li><a href="#tabs-2">[TAB2TEXT]</a></li>[AFTERTAB2] [BEFORETAB3] [BEFORETAB2]<li><a href="#tabs-2">[TAB2TEXT]</a></li>[AFTERTAB2]
<li><a href="#tabs-3">[TAB3TEXT]</a></li>[AFTERTAB3] </ul> [BEFORETAB3]<li><a href="#tabs-3">[TAB3TEXT]</a></li>[AFTERTAB3]
<!-- ende gehort zu tabview --> </ul>
<!-- erstes tab --> <!-- ende gehort zu tabview -->
<input type="hidden" id="paketannahme_id" value="[ID]" /> [BEFORETAB1]
<form action="" method="post">
<div id="tabs-1"> [TAB1START] [MESSAGE1] [MESSAGE]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-5 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|[LEGENDE]|}</legend>
<table>
<tr>
<td>{|Status|}:</td>
<td>
<input type=text size="40" value="[STATUS]" disabled>
</td>
</tr>
<tr [ABGESCHLOSSENHIDDEN]>
<td></td>
<td><i>Abgeschlossen am [DATUM_ABGESCHLOSSEN] durch [BEARBEITER_ABGESCHLOSSEN]</i></td>
</tr>
<tr>
<td>{|Lieferschein-Nr.|}:</td>
<td>
<input type=text size="40" name="lsnr" value="[LSNR]">
</td>
</tr>
<tr>
<td>{|Rechnung-Nr.|}:</td>
<td>
<input type=text size="40" name="renr" value="[RENR]">
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="col-xs-12 col-md-5 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table>
<tr>
<td>{|Bemerkung|}:</td>
<td>
<textarea rows="5" cols="40" name="bemerkung">[BEMERKUNG]</textarea>
</td>
</tr>
[ISLIEFERANTSTART]
[ISLIEFERANTENDE]
</table>
</fieldset>
</div>
</div>
<div class="col-xs-12 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset> [BUTTONS] [BEFOREFRM] [AFTERFRM] [DISTRIINHALTBUTTONS] [BEFOREFRM] [AFTERFRM]
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern" hidden="true"></button>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
<tr>
<td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern">{|Speichern|}</button>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row" [HINZUFUEGENHIDDEN]>
<div class="row-height">
<div class="col-xs-12 col-md-10 col-md-height">
<div class="inside-white inside-full-height">
<div class="filter-box filter-usersave" style="float:right;">
<div class="filter-block filter-inline">
<div class="filter-title">{|Filter|}</div>
<ul class="filter-list">
<li class="filter-item">
<label for="ausfuellen" class="switch">
<input type="checkbox" id="ausfuellen">
<span class="slider round"></span>
</label>
<label for="ausfuellen">{|Aus&uuml;llen|}</label>
</li>
</ul>
</div>
</div>
[TAB1]
</div>
</div>
<div class="col-xs-12 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset> [BUTTONS] [BEFOREFRM] [AFTERFRM] [DISTRIINHALTBUTTONS] [BEFOREFRM] [AFTERFRM]
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern" hidden="true"></button>
<table width="100%" border="0" class="mkTableFormular">
<legend>{|Aktionen|}</legend>
[ISLIEFERANTSTART]
<tr [HINZUFUEGENHIDDEN]>
<td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="hinzufuegen">{|Hinzuf&uuml;gen|}</button>
</td>
</tr>
[ISLIEFERANTENDE]
[ISNOTLIEFERANTSTART]
<tr [HINZUFUEGENHIDDEN]>
<td>
{|Multifilter|}:
</td>
</tr>
<tr [HINZUFUEGENHIDDEN]>
<td>
<input type="text" name="multifilter" id="multifilter" value="[MULTIFILTER]" size="20" style="width:98%;" form="">
</td>
</tr>
<tr [HINZUFUEGENHIDDEN]>
<td>
<button name="submit" class="ui-button-icon" style="width:100%;" value="manuell_hinzufuegen">{|Hinzuf&uuml;gen|}</button>
</td>
</tr>
[ISNOTLIEFERANTENDE]
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-10 col-md-height">
<div class="inside-white inside-full-height">
</div> <!-- erstes tab -->
</div> <input type="hidden" id="paketannahme_id" value="[ID]" />
</div> [BEFORETAB1]
</div> <div id="tabs-1">
<div class="row"> [TAB1START]
<div class="row-height"> [MESSAGE1]
<div class="col-xs-12 col-md-10 col-md-height"> <form action="" method="post">
<div class="inside-white inside-full-height"> [TAB1_SECOND] </div> <div class="row">
</div> <div class="row-height">
<div class="col-xs-12 col-md-2 col-md-height"> <div class="col-xs-12 col-md-10 col-md-height">
<div class="inside inside-full-height"> <div class="inside inside-full-height">
<fieldset> <fieldset>
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern" hidden="true"></button> <legend>{|[LEGENDE]|}</legend>
<table width="100%" border="0" class="mkTableFormular"> <table>
<legend>{|Aktionen|}</legend> <tr><td>{|Lieferschein-Nr.|}:</td><td><input type=text size="40" name="lsnr" value=[LSNR]></td></tr>
<tr [BUCHENHIDDEN]> <tr><td>{|Rechnung-Nr.|}:</td><td><input type=text size="40" name="renr" value=[RENR]></td></tr>
<td> <tr><td>{|Bemerkung|}:</td><td><textarea rows="5" cols="40" name="bemerkung">[BEMERKUNG]</textarea></td></tr>
<button name="submit" class="ui-button-icon" style="width:100%;" value="vorlaeufige_buchen">{|Buchen|}</button> [ISLIEFERANTSTART]
</td> <tr><td>{|Ziellager|}:</td><td><input type=text size="40" name="ziellager" id="ziellager" value=[LAGER]><br><i>Wenn nicht angegeben, wird das Standardlager des Artikels bebucht.</i></td></tr>
</tr> [ISLIEFERANTENDE]
<tr [BUCHENHIDDEN]> </table>
<td> </fieldset>
{|Ziellager|}:&nbsp;<img src="./themes/new/images/tooltip_grau.png" border="0" style="position: relative; left: 1px; top: 3px; z-index: 8;" class="wawitooltipicon" title="Wenn nicht angegeben, wird das Standardlager des Artikels bebucht."> </div>
</td> </div>
</tr> <div class="col-xs-12 col-md-2 col-md-height">
<tr [BUCHENHIDDEN]> <div class="inside inside-full-height">
<td> <fieldset>
<input type=text name="ziellager" id="ziellager" value="[LAGER]" style="width:98%;"> [BUTTONS]
</td> [BEFOREFRM]
</tr> [AFTERFRM]
<tr [ABSCHLIESSENHIDDEN]> [DISTRIINHALTBUTTONS]
<td> [BEFOREFRM]
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschlie&szlig;en|}</button> [AFTERFRM]
</td> <button name="submit" class="ui-button-icon" style="width:100%;" value="speichern" hidden="true"></button>
</tr> <table width="100%" border="0" class="mkTableFormular">
<tr [ABGESCHLOSSENHIDDEN]> <legend>{|Aktionen|}</legend>
<td> [BEFOREMANUELLERFASSEN]
<button name="submit" class="ui-button-icon" style="width:100%;" value="oeffnen" form="oeffnen">{|&Ouml;ffnen|}</button> <tr><td>
</td> <button name="submit" class="ui-button-icon" style="width:100%;" value="manuellerfassen">{|Artikel manuell erfassen|}</button>
</tr> </td></tr>
</table> [AFTERMANUELLERFASSEN]
</fieldset> [ISLIEFERANTSTART]
</div> <tr><td>
</div> <button name="submit" class="ui-button-icon" style="width:100%;" value="fuellen">{|Aus Bestellungen f&uuml;llen|}</button>
</div> </td></tr>
</div> <tr><td>
[TAB1ENDE] <button name="submit" class="ui-button-icon" style="width:100%;" value="leeren">{|Leeren|}</button>
</div> [AFTERTAB1] [BEFORETAB2] </td></tr>
<div id="tabs-2"> [TAB2START] [MESSAGE2] [ISLIEFERANTENDE]
<div class="row"> <tr><td>
<div class="row-height"> <button name="submit" class="ui-button-icon" style="width:100%;" value="speichern">{|Speichern|}</button>
<div class="col-xs-12 col-md-10 col-md-height"> </td></tr>
<div class="inside-white inside-full-height"> [TAB2] [ISLIEFERANTSTART]
<div class="center">[BUTTONS2]</div> <tr><td>
</div> <button name="submit" class="ui-button-icon" style="width:100%;" value="buchen">{|Buchen|}</button>
</div> </td></tr>
<div class="col-xs-12 col-md-2 col-md-height"> [ISLIEFERANTENDE]
<div class="inside inside-full-height"> <tr><td>
<fieldset> <button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschlie&szlig;en|}</button>
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern" hidden="true"></button> </td></tr>
<table width="100%" border="0" class="mkTableFormular"> </table>
<legend>{|Aktionen|}</legend> </fieldset>
<tr [HINZUFUEGENHIDDEN]> </div>
<td> </div>
{|Multifilter|}:&nbsp;<img src="./themes/new/images/tooltip_grau.png" border="0" style="position: relative; left: 1px; top: 3px; z-index: 8;" class="wawitooltipicon" title="Auswahl mehrerer Artikel &uuml;ber Name oder Nummer"> </div>
</td> </div>
</tr> <div class="row">
<tr [HINZUFUEGENHIDDEN]> <div class="row-height">
<td> <div class="col-xs-12 col-md-10 col-md-height">
<input type="text" name="multifilter" id="multifilter" value="[MULTIFILTER]" size="20" style="width:98%;" form=""> <div class="inside-white inside-full-height">
</td> [TAB1]
</tr> </div>
<tr [HINZUFUEGENHIDDEN]> </div>
<td> </div>
<button name="submit" class="ui-button-icon" style="width:100%;" value="manuell_hinzufuegen">{|Hinzuf&uuml;gen|}</button> </div>
</td> <div class="row">
</tr> <div class="row-height">
</table> <div class="col-xs-12 col-md-10 col-md-height">
</fieldset> <div class="inside-white inside-full-height">
</div> [TAB1_SECOND]
</div> </div>
</div> </div>
</div> [TAB2ENDE] </div>
</div> [AFTERTAB2] </div>
</form> </form>
[TAB1ENDE]
</div>
[AFTERTAB1]
[BEFORETAB2]
<div id="tabs-2">
[TAB2START]
[MESSAGE2]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-10 col-md-height">
<div class="inside-white inside-full-height">
[TAB2]
<div class="center">[BUTTONS2]</div>
</div>
</div>
<div class="col-xs-12 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Aktionen|}</legend>
[BUTTONS]
</fieldset>
</div>
</div>
</div>
</div>
[TAB2ENDE]
</div>
[AFTERTAB2]
[BEFORETAB3]
<div id="tabs-3">
[TAB3START]
[MESSAGE3]
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-10 col-md-height">
<div class="inside-white inside-full-height">
[TAB3]
</div>
</div>
<div class="col-xs-12 col-md-2 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Aktionen|}</legend>
[BUTTONS]
</fieldset>
</div>
</div>
</div>
</div>
[TAB3ENDE]
</div>
[AFTERTAB3]
</div> </div>
<form action="index.php?module=wareneingang&action=oeffnen" id="oeffnen" method="POST">
<input name="id" value="[ID]" hidden></input>
</form>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
$("#tabs").tabs("option", "active", [TABINDEX]); $( "#tabs" ).tabs( "option", "active", [TABINDEX]);
if($('#frmWareneingangDistribution').length) { if($('#frmWareneingangDistribution').length) {
$('#btnabschliessen').on('click', function() { $('#btnabschliessen').on('click',function(){
$('#frmWareneingangDistribution').append('<input type="hidden" value="1" name="abschliessen" />'); $('#frmWareneingangDistribution').append('<input type="hidden" value="1" name="abschliessen" />');
$('#frmWareneingangDistribution').find('[name="submit"]').trigger('click'); $('#frmWareneingangDistribution').find('[name="submit"]').trigger('click');
}); });
} }
}); });
</script> </script>

View File

@ -1,7 +1,7 @@
<?php <?php
/* /*
* Copyright (c) 2024 DBXE project * Copyright (c) 2022 OpenXE project
*/ */
use Xentral\Components\Database\Exception\QueryFailureException; use Xentral\Components\Database\Exception\QueryFailureException;
@ -116,7 +116,6 @@ $width = array('10%'); // Fill out manually later
$input['ticketprojekt'] = $this->app->erp->ReplaceProjekt(true,$input['ticketprojekt'],true); // Parameters: Target db?, value, from form? $input['ticketprojekt'] = $this->app->erp->ReplaceProjekt(true,$input['ticketprojekt'],true); // Parameters: Target db?, value, from form?
$input['adresse'] = $this->app->erp->ReplaceAdresse(true,$input['adresse'],true); // Parameters: Target db?, value, from form? $input['adresse'] = $this->app->erp->ReplaceAdresse(true,$input['adresse'],true); // Parameters: Target db?, value, from form?
$input['ticketqueue'] = explode(" ",$input['ticketqueue'])[0]; // Just the label $input['ticketqueue'] = explode(" ",$input['ticketqueue'])[0]; // Just the label
$input['abdatum'] = $this->app->erp->ReplaceDatum(true,$input['abdatum'],true);
$columns = "id, "; $columns = "id, ";
$values = "$id, "; $values = "$id, ";
@ -147,6 +146,7 @@ $width = array('10%'); // Fill out manually later
else { else {
$sql = "INSERT INTO emailbackup (".$columns.") VALUES (".$values.") ON DUPLICATE KEY UPDATE ".$update; $sql = "INSERT INTO emailbackup (".$columns.") VALUES (".$values.") ON DUPLICATE KEY UPDATE ".$update;
$this->app->DB->Update($sql); $this->app->DB->Update($sql);
if ($id == 'NULL') { if ($id == 'NULL') {
$msg = $this->app->erp->base64_url_encode("<div class=\"success\">Das Element wurde erfolgreich angelegt.</div>"); $msg = $this->app->erp->base64_url_encode("<div class=\"success\">Das Element wurde erfolgreich angelegt.</div>");
header("Location: index.php?module=emailbackup&action=list&msg=$msg"); header("Location: index.php?module=emailbackup&action=list&msg=$msg");
@ -159,65 +159,30 @@ $width = array('10%'); // Fill out manually later
// Load values again from database // Load values again from database
$result = $this->app->DB->SelectArr("SELECT id, angezeigtername, internebeschreibung, benutzername, passwort, server, smtp, ticket, imap_sentfolder_aktiv, imap_sentfolder, imap_port, imap_type, autoresponder, geschaeftsbriefvorlage, autoresponderbetreff, autorespondertext, projekt, emailbackup, adresse, firma, loeschtage, geloescht, ticketloeschen, ticketabgeschlossen, ticketqueue, ticketprojekt, ticketemaileingehend, smtp_extra, smtp_ssl, smtp_port, smtp_frommail, smtp_fromname, client_alias, smtp_authtype, smtp_authparam, smtp_loglevel, autosresponder_blacklist, eigenesignatur, signatur, mutex, abdatum, email, id FROM emailbackup"." WHERE id=$id"); $result = $this->app->DB->SelectArr("SELECT id, angezeigtername, internebeschreibung, benutzername, passwort, server, smtp, ticket, imap_sentfolder_aktiv, imap_sentfolder, imap_port, imap_type, autoresponder, geschaeftsbriefvorlage, autoresponderbetreff, autorespondertext, projekt, emailbackup, adresse, firma, loeschtage, geloescht, ticketloeschen, ticketabgeschlossen, ticketqueue, ticketprojekt, ticketemaileingehend, smtp_extra, smtp_ssl, smtp_port, smtp_frommail, smtp_fromname, client_alias, smtp_authtype, smtp_authparam, smtp_loglevel, autosresponder_blacklist, eigenesignatur, signatur, mutex, abdatum, email, id FROM emailbackup"." WHERE id=$id");
if (!empty($result)) { foreach ($result[0] as $key => $value) {
$emailbackup = $result[0];
}
foreach ($emailbackup as $key => $value) {
$this->app->Tpl->Set(strtoupper($key), $value); $this->app->Tpl->Set(strtoupper($key), $value);
} }
// Checkboxes /*
$this->app->Tpl->Set('SMTP_EXTRA', $emailbackup['smtp_extra']?'checked':''); * Add displayed items later
$this->app->Tpl->Set('SMTP_LOGLEVEL', $emailbackup['smtp_loglevel']?'checked':''); *
$this->app->Tpl->Set('IMAP_SENTFOLDER_AKTIV', $emailbackup['imap_sentfolder_aktiv']?'checked':'');
$this->app->Tpl->Set('EMAILBACKUP', $emailbackup['emailbackup']?'checked':''); $this->app->Tpl->Add('KURZUEBERSCHRIFT2', $email);
$this->app->Tpl->Set('TICKET', $emailbackup['ticket']?'checked':''); $this->app->Tpl->Add('EMAIL', $email);
$this->app->Tpl->Set('TICKETLOESCHEN', $emailbackup['ticketloeschen']?'checked':''); $this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername);
$this->app->Tpl->Set('TICKETABGESCHLOSSEN', $emailbackup['ticketabgeschlossen']?'checked':''); */
$this->app->Tpl->Set('TICKETEMAILEINGEHEND', $emailbackup['ticketemaileingehend']?'checked':'');
$this->app->Tpl->Set('EIGENESIGNATUR', $emailbackup['eigenesignatur']?'checked':'');
$this->app->Tpl->Set('AUTORESPONDER', $emailbackup['autoresponder']?'checked':'');
$this->app->Tpl->Set('AUTOSRESPONDER_BLACKLIST', $emailbackup['autosresponder_blacklist']?'checked':'');
$this->app->YUI->CkEditor("signatur","internal", null, 'JQUERY'); $this->app->YUI->CkEditor("signatur","internal", null, 'JQUERY');
$this->app->YUI->CkEditor("autoresponderbetreff","internal", null, 'JQUERY'); $this->app->YUI->CkEditor("autoresponderbetreff","internal", null, 'JQUERY');
$this->app->YUI->CkEditor("autorespondertext","internal", null, 'JQUERY'); $this->app->YUI->CkEditor("autorespondertext","internal", null, 'JQUERY');
$this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$emailbackup['projekt'],false)); // Parameters: Target db?, value, from form? $this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$result[0]['projekt'],false)); // Parameters: Target db?, value, from form?
$this->app->Tpl->Set('TICKETPROJEKT',$this->app->erp->ReplaceProjekt(false,$emailbackup['ticketprojekt'],false)); // Parameters: Target db?, value, from form? $this->app->Tpl->Set('TICKETPROJEKT',$this->app->erp->ReplaceProjekt(false,$result[0]['ticketprojekt'],false)); // Parameters: Target db?, value, from form?
$this->app->Tpl->Set('ADRESSE', $this->app->erp->ReplaceAdresse(false,$emailbackup['adresse'],false)); // Convert ID to form display $this->app->Tpl->Set('ADRESSE', $this->app->erp->ReplaceAdresse(false,$result[0]['adresse'],false)); // Convert ID to form display
$this->app->YUI->AutoComplete("projekt","projektname",1); $this->app->YUI->AutoComplete("projekt","projektname",1);
$this->app->YUI->AutoComplete("ticketprojekt","projektname",1); $this->app->YUI->AutoComplete("ticketprojekt","projektname",1);
$this->app->YUI->AutoComplete("adresse","adresse"); $this->app->YUI->AutoComplete("adresse","adresse");
$this->app->YUI->AutoComplete("ticketqueue","warteschlangename"); $this->app->YUI->AutoComplete("ticketqueue","warteschlangename");
$this->app->YUI->AutoComplete("ticketprojekt","projektname",1); $this->app->YUI->AutoComplete("ticketprojekt","projektname",1);
$this->app->YUI->DatePicker("abdatum");
$this->app->Tpl->Set('ABDATUM',$this->app->erp->ReplaceDatum(false,$emailbackup['abdatum'],false));
$smtp_ssl_select = Array(
'0' => 'Keine',
'1' => 'TLS',
'2' => 'SSL'
);
$smtp_ssl_select = $this->app->erp->GetSelectAsso($smtp_ssl_select,$emailbackup['smtp_ssl']);
$this->app->Tpl->Set('SMTP_SSL_SELECT',$smtp_ssl_select);
$smtp_authtype_select = Array(
'' => 'Kein',
'smtp' => 'SMTP',
'oauth_google' => 'Oauth Google'
);
$smtp_authtype_select = $this->app->erp->GetSelectAsso($smtp_authtype_select,$emailbackup['smtp_authtype']);
$this->app->Tpl->Set('SMTP_AUTHTYPE_SELECT',$smtp_authtype_select);
$imap_type_select = Array(
'1' => 'Standard',
'3' => 'SSL',
'5' => 'Oauth'
);
$imap_type_select = $this->app->erp->GetSelectAsso($imap_type_select,$emailbackup['imap_type']);
$this->app->Tpl->Set('IMAP_TYPE_SELECT',$imap_type_select);
$this->app->Tpl->Parse('PAGE', "emailbackup_edit.tpl"); $this->app->Tpl->Parse('PAGE', "emailbackup_edit.tpl");
} }
@ -229,46 +194,47 @@ $width = array('10%'); // Fill out manually later
//$input['EMAIL'] = $this->app->Secure->GetPOST('email'); //$input['EMAIL'] = $this->app->Secure->GetPOST('email');
$input['angezeigtername'] = $this->app->Secure->GetPOST('angezeigtername'); $input['angezeigtername'] = $this->app->Secure->GetPOST('angezeigtername');
$input['internebeschreibung'] = $this->app->Secure->GetPOST('internebeschreibung'); $input['internebeschreibung'] = $this->app->Secure->GetPOST('internebeschreibung');
$input['benutzername'] = $this->app->Secure->GetPOST('benutzername'); $input['benutzername'] = $this->app->Secure->GetPOST('benutzername');
$input['passwort'] = $this->app->Secure->GetPOST('passwort'); $input['passwort'] = $this->app->Secure->GetPOST('passwort');
$input['server'] = $this->app->Secure->GetPOST('server'); $input['server'] = $this->app->Secure->GetPOST('server');
$input['smtp'] = $this->app->Secure->GetPOST('smtp'); $input['smtp'] = $this->app->Secure->GetPOST('smtp');
$input['ticket'] = $this->app->Secure->GetPOST('ticket'); $input['ticket'] = $this->app->Secure->GetPOST('ticket');
$input['imap_sentfolder_aktiv'] = $this->app->Secure->GetPOST('imap_sentfolder_aktiv'); $input['imap_sentfolder_aktiv'] = $this->app->Secure->GetPOST('imap_sentfolder_aktiv');
$input['imap_sentfolder'] = $this->app->Secure->GetPOST('imap_sentfolder'); $input['imap_sentfolder'] = $this->app->Secure->GetPOST('imap_sentfolder');
$input['imap_port'] = $this->app->Secure->GetPOST('imap_port'); $input['imap_port'] = $this->app->Secure->GetPOST('imap_port');
$input['imap_type'] = $this->app->Secure->GetPOST('imap_type'); $input['imap_type'] = $this->app->Secure->GetPOST('imap_type');
$input['autoresponder'] = $this->app->Secure->GetPOST('autoresponder'); $input['autoresponder'] = $this->app->Secure->GetPOST('autoresponder');
$input['geschaeftsbriefvorlage'] = $this->app->Secure->GetPOST('geschaeftsbriefvorlage'); $input['geschaeftsbriefvorlage'] = $this->app->Secure->GetPOST('geschaeftsbriefvorlage');
$input['autoresponderbetreff'] = $this->app->Secure->GetPOST('autoresponderbetreff'); $input['autoresponderbetreff'] = $this->app->Secure->GetPOST('autoresponderbetreff');
$input['autorespondertext'] = $this->app->Secure->GetPOST('autorespondertext'); $input['autorespondertext'] = $this->app->Secure->GetPOST('autorespondertext');
$input['projekt'] = $this->app->Secure->GetPOST('projekt'); $input['projekt'] = $this->app->Secure->GetPOST('projekt');
$input['emailbackup'] = $this->app->Secure->GetPOST('emailbackup'); $input['emailbackup'] = $this->app->Secure->GetPOST('emailbackup');
$input['adresse'] = $this->app->Secure->GetPOST('adresse'); $input['adresse'] = $this->app->Secure->GetPOST('adresse');
$input['firma'] = $this->app->Secure->GetPOST('firma'); $input['firma'] = $this->app->Secure->GetPOST('firma');
$input['loeschtage'] = $this->app->Secure->GetPOST('loeschtage'); $input['loeschtage'] = $this->app->Secure->GetPOST('loeschtage');
$input['geloescht'] = $this->app->Secure->GetPOST('geloescht'); $input['geloescht'] = $this->app->Secure->GetPOST('geloescht');
$input['ticketloeschen'] = $this->app->Secure->GetPOST('ticketloeschen'); $input['ticketloeschen'] = $this->app->Secure->GetPOST('ticketloeschen');
$input['ticketabgeschlossen'] = $this->app->Secure->GetPOST('ticketabgeschlossen'); $input['ticketabgeschlossen'] = $this->app->Secure->GetPOST('ticketabgeschlossen');
$input['ticketqueue'] = $this->app->Secure->GetPOST('ticketqueue'); $input['ticketqueue'] = $this->app->Secure->GetPOST('ticketqueue');
$input['ticketprojekt'] = $this->app->Secure->GetPOST('ticketprojekt'); $input['ticketprojekt'] = $this->app->Secure->GetPOST('ticketprojekt');
$input['ticketemaileingehend'] = $this->app->Secure->GetPOST('ticketemaileingehend'); $input['ticketemaileingehend'] = $this->app->Secure->GetPOST('ticketemaileingehend');
$input['smtp_extra'] = $this->app->Secure->GetPOST('smtp_extra'); $input['smtp_extra'] = $this->app->Secure->GetPOST('smtp_extra');
$input['smtp_ssl'] = $this->app->Secure->GetPOST('smtp_ssl'); $input['smtp_ssl'] = $this->app->Secure->GetPOST('smtp_ssl');
$input['smtp_port'] = $this->app->Secure->GetPOST('smtp_port'); $input['smtp_port'] = $this->app->Secure->GetPOST('smtp_port');
$input['smtp_frommail'] = $this->app->Secure->GetPOST('email'); // use only these $input['smtp_frommail'] = $this->app->Secure->GetPOST('email'); // use only these
$input['smtp_fromname'] = $this->app->Secure->GetPOST('angezeigtername'); // use only these $input['smtp_fromname'] = $this->app->Secure->GetPOST('angezeigtername'); // use only these
$input['client_alias'] = $this->app->Secure->GetPOST('client_alias'); $input['client_alias'] = $this->app->Secure->GetPOST('client_alias');
$input['smtp_authtype'] = $this->app->Secure->GetPOST('smtp_authtype'); $input['smtp_authtype'] = $this->app->Secure->GetPOST('smtp_authtype');
$input['smtp_authparam'] = $this->app->Secure->GetPOST('smtp_authparam'); $input['smtp_authparam'] = $this->app->Secure->GetPOST('smtp_authparam');
$input['smtp_loglevel'] = $this->app->Secure->GetPOST('smtp_loglevel'); $input['smtp_loglevel'] = $this->app->Secure->GetPOST('smtp_loglevel');
$input['autosresponder_blacklist'] = $this->app->Secure->GetPOST('autosresponder_blacklist'); $input['autosresponder_blacklist'] = $this->app->Secure->GetPOST('autosresponder_blacklist');
$input['eigenesignatur'] = $this->app->Secure->GetPOST('eigenesignatur'); $input['eigenesignatur'] = $this->app->Secure->GetPOST('eigenesignatur');
$input['signatur'] = $this->app->Secure->GetPOST('signatur'); $input['signatur'] = $this->app->Secure->GetPOST('signatur');
$input['mutex'] = $this->app->Secure->GetPOST('mutex'); $input['mutex'] = $this->app->Secure->GetPOST('mutex');
$input['abdatum'] = $this->app->Secure->GetPOST('abdatum'); $input['abdatum'] = $this->app->Secure->GetPOST('abdatum');
$input['email'] = $this->app->Secure->GetPOST('email'); $input['email'] = $this->app->Secure->GetPOST('email');
return $input; return $input;
} }
@ -279,7 +245,45 @@ $width = array('10%'); // Fill out manually later
function SetInput($input) { function SetInput($input) {
// $this->app->Tpl->Set('EMAIL', $input['email']); // $this->app->Tpl->Set('EMAIL', $input['email']);
$this->app->Tpl->Set('ANGEZEIGTERNAME', $input['angezeigtername']);
$this->app->Tpl->Set('INTERNEBESCHREIBUNG', $input['internebeschreibung']);
$this->app->Tpl->Set('BENUTZERNAME', $input['benutzername']);
$this->app->Tpl->Set('PASSWORT', $input['passwort']);
$this->app->Tpl->Set('SERVER', $input['server']);
$this->app->Tpl->Set('SMTP', $input['smtp']);
$this->app->Tpl->Set('TICKET', $input['ticket']);
$this->app->Tpl->Set('IMAP_SENTFOLDER_AKTIV', $input['imap_sentfolder_aktiv']);
$this->app->Tpl->Set('IMAP_SENTFOLDER', $input['imap_sentfolder']);
$this->app->Tpl->Set('IMAP_PORT', $input['imap_port']);
$this->app->Tpl->Set('IMAP_TYPE', $input['imap_type']);
$this->app->Tpl->Set('AUTORESPONDER', $input['autoresponder']);
$this->app->Tpl->Set('GESCHAEFTSBRIEFVORLAGE', $input['geschaeftsbriefvorlage']);
$this->app->Tpl->Set('AUTORESPONDERBETREFF', $input['autoresponderbetreff']);
$this->app->Tpl->Set('AUTORESPONDERTEXT', $input['autorespondertext']);
$this->app->Tpl->Set('PROJEKT', $input['projekt']);
$this->app->Tpl->Set('EMAILBACKUP', $input['emailbackup']);
$this->app->Tpl->Set('ADRESSE', $input['adresse']);
$this->app->Tpl->Set('FIRMA', $input['firma']);
$this->app->Tpl->Set('LOESCHTAGE', $input['loeschtage']);
$this->app->Tpl->Set('GELOESCHT', $input['geloescht']);
$this->app->Tpl->Set('TICKETLOESCHEN', $input['ticketloeschen']);
$this->app->Tpl->Set('TICKETABGESCHLOSSEN', $input['ticketabgeschlossen']);
$this->app->Tpl->Set('TICKETQUEUE', $input['ticketqueue']);
$this->app->Tpl->Set('TICKETPROJEKT', $input['ticketprojekt']);
$this->app->Tpl->Set('TICKETEMAILEINGEHEND', $input['ticketemaileingehend']);
$this->app->Tpl->Set('SMTP_EXTRA', $input['smtp_extra']);
$this->app->Tpl->Set('SMTP_SSL', $input['smtp_ssl']);
$this->app->Tpl->Set('SMTP_PORT', $input['smtp_port']);
$this->app->Tpl->Set('CLIENT_ALIAS', $input['client_alias']);
$this->app->Tpl->Set('SMTP_AUTHTYPE', $input['smtp_authtype']);
$this->app->Tpl->Set('SMTP_AUTHPARAM', $input['smtp_authparam']);
$this->app->Tpl->Set('SMTP_LOGLEVEL', $input['smtp_loglevel']);
$this->app->Tpl->Set('AUTOSRESPONDER_BLACKLIST', $input['autosresponder_blacklist']);
$this->app->Tpl->Set('EIGENESIGNATUR', $input['eigenesignatur']);
$this->app->Tpl->Set('SIGNATUR', $input['signatur']);
$this->app->Tpl->Set('MUTEX', $input['mutex']);
$this->app->Tpl->Set('ABDATUM', $input['abdatum']);
$this->app->Tpl->Set('EMAIL', $input['email']);
} }
@ -293,10 +297,10 @@ $width = array('10%'); // Fill out manually later
$this->app->erp->MailSend( $this->app->erp->MailSend(
$result[0]['email'], $result[0]['email'],
$result[0]['angezeigtername'], $result[0]['angezeigtername'],
array($result[0]['email']), $result[0]['email'],
array($result[0]['angezeigtername']), $result[0]['angezeigtername'],
'DBXE ERP: Testmail', 'OpenXE ERP: Testmail',
'Dies ist eine Testmail für Account "'.$result[0]['email'].'".', utf8_encode('Dies ist eine Testmail für Account "'.$result[0]['email'].'".'),
'',0,false,'','', '',0,false,'','',
true true
) )

View File

@ -77,7 +77,6 @@ class Exportbuchhaltung
$rgchecked = $this->app->Secure->GetPOST("rechnung"); $rgchecked = $this->app->Secure->GetPOST("rechnung");
$gschecked = $this->app->Secure->GetPOST("gutschrift"); $gschecked = $this->app->Secure->GetPOST("gutschrift");
$vbchecked = $this->app->Secure->GetPOST("verbindlichkeit"); $vbchecked = $this->app->Secure->GetPOST("verbindlichkeit");
$lgchecked = $this->app->Secure->GetPOST("lieferantengutschrift");
$diffignore = $this->app->Secure->GetPOST("diffignore"); $diffignore = $this->app->Secure->GetPOST("diffignore");
$sachkonto = $this->app->Secure->GetPOST('sachkonto'); $sachkonto = $this->app->Secure->GetPOST('sachkonto');
@ -98,7 +97,6 @@ class Exportbuchhaltung
$rgchecked = true; $rgchecked = true;
$gschecked = true; $gschecked = true;
$vbchecked = true; $vbchecked = true;
$lgchecked = true;
} }
$missing_obligatory = array(); $missing_obligatory = array();
@ -136,8 +134,7 @@ class Exportbuchhaltung
if ( if (
!$rgchecked && !$rgchecked &&
!$gschecked && !$gschecked &&
!$vbchecked && !$vbchecked
!$lgchecked
) { ) {
$msg = "<div class=error>Bitte mindestens eine Belegart auswählen.</div>"; $msg = "<div class=error>Bitte mindestens eine Belegart auswählen.</div>";
$dataok = false; $dataok = false;
@ -162,7 +159,7 @@ class Exportbuchhaltung
if ($dataok) { if ($dataok) {
$filename = "EXTF_".date('Ymd') . "_Buchungsstapel_DATEV_export.csv"; $filename = "EXTF_".date('Ymd') . "_Buchungsstapel_DATEV_export.csv";
try { try {
$csv = $this->DATEV_Buchuchungsstapel($rgchecked, $gschecked, $vbchecked, $lgchecked, $buchhaltung_berater, $buchhaltung_mandant, $buchhaltung_wj_beginn, $buchhaltung_sachkontenlaenge, $von, $bis, $projekt, $filename, $diffignore, $sachkonto_kennung); $csv = $this->DATEV_Buchuchungsstapel($rgchecked, $gschecked, $vbchecked, $buchhaltung_berater, $buchhaltung_mandant, $buchhaltung_wj_beginn, $buchhaltung_sachkontenlaenge, $von, $bis, $projekt, $filename, $diffignore, $sachkonto_kennung);
header("Content-Disposition: attachment; filename=" . $filename); header("Content-Disposition: attachment; filename=" . $filename);
header("Pragma: no-cache"); header("Pragma: no-cache");
header("Expires: 0"); header("Expires: 0");
@ -201,7 +198,6 @@ class Exportbuchhaltung
$this->app->Tpl->SET('RGCHECKED',$rgchecked?'checked':''); $this->app->Tpl->SET('RGCHECKED',$rgchecked?'checked':'');
$this->app->Tpl->SET('GSCHECKED',$gschecked?'checked':''); $this->app->Tpl->SET('GSCHECKED',$gschecked?'checked':'');
$this->app->Tpl->SET('VBCHECKED',$vbchecked?'checked':''); $this->app->Tpl->SET('VBCHECKED',$vbchecked?'checked':'');
$this->app->Tpl->SET('LGCHECKED',$lgchecked?'checked':'');
$this->app->Tpl->SET('DIFFIGNORE',$diffignore?'checked':''); $this->app->Tpl->SET('DIFFIGNORE',$diffignore?'checked':'');
$this->app->Tpl->SET('VON', $von_form); $this->app->Tpl->SET('VON', $von_form);
@ -216,7 +212,7 @@ class Exportbuchhaltung
* Create DATEV Buchhungsstapel * Create DATEV Buchhungsstapel
* @throws ConsistencyException with string (list of items) if consistency check fails and no sachkonto for differences is given * @throws ConsistencyException with string (list of items) if consistency check fails and no sachkonto for differences is given
*/ */
function DATEV_Buchuchungsstapel(bool $rechnung, bool $gutschrift, bool $verbindlichkeit, bool $lieferantengutschrift, string $berater, string $mandant, datetime $wj_beginn, int $sachkontenlaenge, datetime $von, datetime $bis, int $projekt = 0, string $filename = 'EXTF_Buchungsstapel_DATEV_export.csv', $diffignore = false, $sachkonto_differences) : string { function DATEV_Buchuchungsstapel(bool $rechnung, bool $gutschrift, bool $verbindlichkeit, string $berater, string $mandant, datetime $wj_beginn, int $sachkontenlaenge, datetime $von, datetime $bis, int $projekt = 0, string $filename = 'EXTF_Buchungsstapel_DATEV_export.csv', $diffignore = false, $sachkonto_differences) : string {
$datev_header_definition = array ( $datev_header_definition = array (
'1' => 'Kennzeichen', '1' => 'Kennzeichen',
@ -451,12 +447,12 @@ class Exportbuchhaltung
'field_belegnr' => 'b.belegnr', 'field_belegnr' => 'b.belegnr',
'field_name' => 'b.name', 'field_name' => 'b.name',
'field_date' => 'datum', 'field_date' => 'datum',
'field_auftrag' => 'MAKE_SET(3,b.auftrag,(SELECT auftrag.internet FROM auftrag WHERE auftrag.id = auftragid))', 'field_auftrag' => 'b.auftrag',
'field_zahlweise' => 'CONCAT(UCASE(LEFT(b.zahlungsweise, 1)),SUBSTRING(b.zahlungsweise, 2))',
'field_kontonummer' => 'a.kundennummer_buchhaltung', 'field_kontonummer' => 'a.kundennummer_buchhaltung',
'field_kundennummer' => 'b.kundennummer', 'field_kundennummer' => 'b.kundennummer',
'field_betrag_gesamt' => 'b.soll', 'field_betrag_gesamt' => 'b.soll',
'field_betrag' => 'p.umsatz_brutto_gesamt', 'field_betrag' => 'p.umsatz_brutto_gesamt',
'field_gegenkonto' => '\'\'',
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\',\'storniert\')', 'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\',\'storniert\')',
'Buchungstyp' => 'SR', 'Buchungstyp' => 'SR',
'do' => $rechnung 'do' => $rechnung
@ -470,52 +466,32 @@ class Exportbuchhaltung
'field_name' => 'b.name', 'field_name' => 'b.name',
'field_date' => 'datum', 'field_date' => 'datum',
'field_auftrag' => '\'\'', 'field_auftrag' => '\'\'',
'field_zahlweise' => '\'\'',
'field_kontonummer' => 'a.kundennummer_buchhaltung', 'field_kontonummer' => 'a.kundennummer_buchhaltung',
'field_kundennummer' => 'b.kundennummer', 'field_kundennummer' => 'b.kundennummer',
'field_betrag_gesamt' => 'b.soll', 'field_betrag_gesamt' => 'b.soll',
'field_betrag' => 'p.umsatz_brutto_gesamt', 'field_betrag' => 'p.umsatz_brutto_gesamt',
'field_gegenkonto' => '\'\'',
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\')', 'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\')',
'Buchungstyp' => '', 'Buchungstyp' => '',
'do' => $gutschrift 'do' => $gutschrift
), ),
array( array(
'typ' => 'verbindlichkeit', 'typ' => 'verbindlichkeit',
'subtable' => 'verbindlichkeit_position', 'subtable' => 'verbindlichkeit_kontierung',
'kennzeichen' => 'H', 'kennzeichen' => 'H',
'kennzeichen_negativ' => 'S', 'kennzeichen_negativ' => 'S',
'field_belegnr' => 'b.rechnung', 'field_belegnr' => 'b.rechnung',
'field_name' => 'a.name', 'field_name' => 'a.name',
'field_date' => 'rechnungsdatum', 'field_date' => 'rechnungsdatum',
'field_auftrag' => 'b.auftrag', 'field_auftrag' => 'b.auftrag',
'field_zahlweise' => '\'\'',
'field_kontonummer' => 'a.lieferantennummer_buchhaltung', 'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
'field_kundennummer' => 'a.lieferantennummer', 'field_kundennummer' => 'a.lieferantennummer',
'field_betrag_gesamt' => 'b.betrag', 'field_betrag_gesamt' => 'b.betrag',
'field_betrag' => 'p.preis*p.menge*((100+p.steuersatz)/100)', 'field_betrag' => 'p.betrag',
'field_gegenkonto' => '(SELECT sachkonto FROM kontorahmen k WHERE k.id = p.kontorahmen)', 'field_gegenkonto' => 'gegenkonto',
'condition_where' => ' AND b.status IN (\'freigegeben\')', 'condition_where' => '',
'Buchungstyp' => '', 'Buchungstyp' => '',
'do' => $verbindlichkeit 'do' => $verbindlichkeit
),
array(
'typ' => 'lieferantengutschrift',
'subtable' => 'lieferantengutschrift_position',
'kennzeichen' => 'S',
'kennzeichen_negativ' => 'H',
'field_belegnr' => 'b.rechnung',
'field_name' => 'a.name',
'field_date' => 'rechnungsdatum',
'field_auftrag' => '\'\'',
'field_zahlweise' => '\'\'',
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
'field_kundennummer' => 'a.lieferantennummer',
'field_betrag_gesamt' => 'b.betrag',
'field_betrag' => 'p.preis*p.menge*((100+p.steuersatz)/100)',
'field_gegenkonto' => '(SELECT sachkonto FROM kontorahmen k WHERE k.id = p.kontorahmen)',
'condition_where' => ' AND b.status IN (\'freigegeben\')',
'Buchungstyp' => '',
'do' => $lieferantengutschrift
) )
); );
@ -525,29 +501,19 @@ class Exportbuchhaltung
continue; continue;
} }
if (!empty($typ['field_gegenkonto'])) {
$sql_gegenkonto = $typ['field_gegenkonto'];
} else
{
$sql_gegenkonto = "NULL";
}
$sql = "SELECT $sql = "SELECT
".$typ['typ']." id,
".$typ['field_belegnr']." as belegnr, ".$typ['field_belegnr']." as belegnr,
".$typ['field_auftrag']." as auftrag, ".$typ['field_auftrag']." as auftrag,
".$typ['field_zahlweise']." as zahlweise,
if(".$typ['field_kontonummer']." <> '',".$typ['field_kontonummer'].",".$typ['field_kundennummer'].") as kundennummer, if(".$typ['field_kontonummer']." <> '',".$typ['field_kontonummer'].",".$typ['field_kundennummer'].") as kundennummer,
".$typ['field_name']." as name, ".$typ['field_name']." as name,
a.ustid, b.ustid,
b.".$typ['field_date']." as datum, b.".$typ['field_date']." as datum,
p.id as pos_id, p.id as pos_id,
".$typ['field_betrag_gesamt']." as betrag_gesamt, ".$typ['field_betrag_gesamt']." as betrag_gesamt,
b.waehrung, b.waehrung,
ROUND(".$typ['field_betrag'].",2) as betrag, ROUND(".$typ['field_betrag'].",2) as betrag,
".$sql_gegenkonto." as gegenkonto, ".$typ['field_gegenkonto']." as gegenkonto,
b.waehrung as pos_waehrung p.waehrung as pos_waehrung
FROM FROM
".$typ['typ']." b ".$typ['typ']." b
LEFT JOIN LEFT JOIN
@ -565,7 +531,6 @@ class Exportbuchhaltung
FROM FROM
( (
SELECT SELECT
id,
belegnr, belegnr,
datum, datum,
betrag_gesamt, betrag_gesamt,
@ -577,7 +542,7 @@ class Exportbuchhaltung
FROM FROM
(".$sql.") posten (".$sql.") posten
GROUP BY GROUP BY
id belegnr
) summen ) summen
WHERE betrag_gesamt <> betrag_summe OR betrag_summe IS NULL"; WHERE betrag_gesamt <> betrag_summe OR betrag_summe IS NULL";
@ -615,7 +580,6 @@ class Exportbuchhaltung
$data['Buchungstext'] = "Differenz"; $data['Buchungstext'] = "Differenz";
$data['EU-Mitgliedstaat u. UStID (Bestimmung)'] = $row['ustid']; $data['EU-Mitgliedstaat u. UStID (Bestimmung)'] = $row['ustid'];
$data['Auftragsnummer'] = $row['auftrag']; $data['Auftragsnummer'] = $row['auftrag'];
$data['Zahlweise'] = $row['zahlweise'];
$csv .= $this->create_line($datev_buchungsstapel_definition,$data); $csv .= $this->create_line($datev_buchungsstapel_definition,$data);
} }
} }
@ -650,7 +614,7 @@ class Exportbuchhaltung
$data['Belegfeld 1'] = mb_strimwidth($row['belegnr'],0,12); $data['Belegfeld 1'] = mb_strimwidth($row['belegnr'],0,12);
$data['Konto'] = $row['kundennummer']; // obligatory $data['Konto'] = $row['kundennummer']; // obligatory
if (!empty($typ['field_gegenkonto'])) { if ($typ['field_gegenkonto'] == 'gegenkonto') {
$data['Gegenkonto (ohne BU-Schlüssel)'] = $row['gegenkonto']; // obligatory $data['Gegenkonto (ohne BU-Schlüssel)'] = $row['gegenkonto']; // obligatory
} else { } else {
$data['Gegenkonto (ohne BU-Schlüssel)'] = $erloes; // obligatory $data['Gegenkonto (ohne BU-Schlüssel)'] = $erloes; // obligatory
@ -661,7 +625,6 @@ class Exportbuchhaltung
$data['EU-Mitgliedstaat u. UStID (Bestimmung)'] = $row['ustid']; $data['EU-Mitgliedstaat u. UStID (Bestimmung)'] = $row['ustid'];
$data['Auftragsnummer'] = ($row['auftrag']!=0)?$row['auftrag']:''; $data['Auftragsnummer'] = ($row['auftrag']!=0)?$row['auftrag']:'';
$data['Zahlweise'] = $row['zahlweise'];
$csv .= $this->create_line($datev_buchungsstapel_definition,$data); $csv .= $this->create_line($datev_buchungsstapel_definition,$data);
} }

View File

@ -446,7 +446,6 @@ class Firmendaten {
'artikelnummer', 'artikelnummer',
'preisanfrage', 'preisanfrage',
'verbindlichkeit', 'verbindlichkeit',
'lieferantengutschrift',
'receiptdocument', 'receiptdocument',
]; ];
if(in_array($cmd, $allowedNumbers)) { if(in_array($cmd, $allowedNumbers)) {
@ -1704,7 +1703,6 @@ class Firmendaten {
$this->app->Tpl->Set('NEXT_ANFRAGE' , $data[0]['next_anfrage']); $this->app->Tpl->Set('NEXT_ANFRAGE' , $data[0]['next_anfrage']);
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , $data[0]['next_preisanfrage']); $this->app->Tpl->Set('NEXT_PREISANFRAGE' , $data[0]['next_preisanfrage']);
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', $data[0]['next_verbindlichkeit']); $this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', $data[0]['next_verbindlichkeit']);
$this->app->Tpl->Set('NEXT_LIEFERANTENGUTSCHRIFT', $data[0]['next_lieferantengutschrift']);
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', $data[0]['next_receiptdocument']); $this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', $data[0]['next_receiptdocument']);
//Briefpapier Hintergrund //Briefpapier Hintergrund
@ -2062,7 +2060,6 @@ class Firmendaten {
$this->app->Tpl->Set('NEXT_ANFRAGE' , ($data['next_anfrage'])); $this->app->Tpl->Set('NEXT_ANFRAGE' , ($data['next_anfrage']));
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , ($data['next_preisanfrage'])); $this->app->Tpl->Set('NEXT_PREISANFRAGE' , ($data['next_preisanfrage']));
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', ($data['next_verbindlichkeit'])); $this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', ($data['next_verbindlichkeit']));
$this->app->Tpl->Set('NEXT_LIEFERANTENGUTSCHRIFT', ($data['next_lieferantengutschrift']));
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', ($data['next_receiptdocument'])); $this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', ($data['next_receiptdocument']));
//Briefpapier Hintergrund //Briefpapier Hintergrund
@ -2286,7 +2283,6 @@ class Firmendaten {
$data['next_anfrage'] = ($this->app->Secure->POST["next_anfrage"]); $data['next_anfrage'] = ($this->app->Secure->POST["next_anfrage"]);
$data['next_preisanfrage'] = ($this->app->Secure->POST["next_preisanfrage"]); $data['next_preisanfrage'] = ($this->app->Secure->POST["next_preisanfrage"]);
$data['next_verbindlichkeit'] = ($this->app->Secure->POST["next_verbindlichkeit"]); $data['next_verbindlichkeit'] = ($this->app->Secure->POST["next_verbindlichkeit"]);
$data['next_lieferantengutschrift'] = ($this->app->Secure->POST["next_lieferantengutschrift"]);
$data['produktionsverhalten'] = $this->app->Secure->POST["produktionsverhalten"]; $data['produktionsverhalten'] = $this->app->Secure->POST["produktionsverhalten"];
$data['sprachebevorzugen'] = ($this->app->Secure->POST["sprachebevorzugen"]); $data['sprachebevorzugen'] = ($this->app->Secure->POST["sprachebevorzugen"]);

View File

@ -1,207 +0,0 @@
<?php
/*
* Copyright (c) 2022 OpenXE project
*/
use Xentral\Components\Database\Exception\QueryFailureException;
class Kostenstellen {
function __construct($app, $intern = false) {
$this->app = $app;
if ($intern)
return;
$this->app->ActionHandlerInit($this);
$this->app->ActionHandler("list", "kostenstellen_list");
$this->app->ActionHandler("create", "kostenstellen_edit"); // This automatically adds a "New" button
$this->app->ActionHandler("edit", "kostenstellen_edit");
$this->app->ActionHandler("delete", "kostenstellen_delete");
$this->app->DefaultActionHandler("list");
$this->app->ActionHandlerListen($app);
}
public function Install() {
/* Fill out manually later */
}
static function TableSearch(&$app, $name, $erlaubtevars) {
switch ($name) {
case "kostenstellen_list":
$allowed['kostenstellen_list'] = array('list');
$heading = array('','','Nummer', 'Beschreibung', 'Internebemerkung', 'Men&uuml;');
$width = array('1%','1%','10%'); // Fill out manually later
// columns that are aligned right (numbers etc)
// $alignright = array(4,5,6,7,8);
$findcols = array('k.id','k.id','k.nummer', 'k.beschreibung', 'k.internebemerkung');
$searchsql = array('k.nummer', 'k.beschreibung', 'k.internebemerkung');
$defaultorder = 1;
$defaultorderdesc = 0;
$aligncenter = array();
$alignright = array();
$numbercols = array();
$sumcol = array();
$dropnbox = "'<img src=./themes/new/images/details_open.png class=details>' AS `open`, CONCAT('<input type=\"checkbox\" name=\"auswahl[]\" value=\"',k.id,'\" />') AS `auswahl`";
// $moreinfo = true; // Allow drop down details
// $moreinfoaction = "lieferschein"; // specify suffix for minidetail-URL to allow different minidetails
// $menucol = 11; // Set id col for moredata/menu
$menu = "<table cellpadding=0 cellspacing=0><tr><td nowrap>" . "<a href=\"index.php?module=kostenstellen&action=edit&id=%value%\"><img src=\"./themes/{$app->Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\"></a>&nbsp;<a href=\"#\" onclick=DeleteDialog(\"index.php?module=kostenstellen&action=delete&id=%value%\");>" . "<img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a>" . "</td></tr></table>";
$sql = "SELECT SQL_CALC_FOUND_ROWS k.id, $dropnbox, k.nummer, k.beschreibung, k.internebemerkung, k.id FROM kostenstellen k";
$where = "1";
$count = "SELECT count(DISTINCT id) FROM kostenstellen WHERE $where";
// $groupby = "";
break;
}
$erg = false;
foreach ($erlaubtevars as $k => $v) {
if (isset($$v)) {
$erg[$v] = $$v;
}
}
return $erg;
}
function kostenstellen_list() {
$this->app->erp->MenuEintrag("index.php?module=kostenstellen&action=list", "&Uuml;bersicht");
$this->app->erp->MenuEintrag("index.php?module=kostenstellen&action=create", "Neu anlegen");
$this->app->erp->MenuEintrag("index.php", "Zur&uuml;ck");
$this->app->YUI->TableSearch('TAB1', 'kostenstellen_list', "show", "", "", basename(__FILE__), __CLASS__);
$this->app->Tpl->Parse('PAGE', "kostenstellen_list.tpl");
}
public function kostenstellen_delete() {
$id = (int) $this->app->Secure->GetGET('id');
$this->app->DB->Delete("DELETE FROM `kostenstellen` WHERE `id` = '{$id}'");
$this->app->Tpl->Set('MESSAGE', "<div class=\"error\">Der Eintrag wurde gel&ouml;scht.</div>");
$this->kostenstellen_list();
}
/*
* Edit kostenstellen item
* If id is empty, create a new one
*/
function kostenstellen_edit() {
$id = $this->app->Secure->GetGET('id');
// Check if other users are editing this id
if($this->app->erp->DisableModul('artikel',$id))
{
return;
}
$this->app->Tpl->Set('ID', $id);
$this->app->erp->MenuEintrag("index.php?module=kostenstellen&action=edit&id=$id", "Details");
$this->app->erp->MenuEintrag("index.php?module=kostenstellen&action=list", "Zur&uuml;ck zur &Uuml;bersicht");
$id = $this->app->Secure->GetGET('id');
$input = $this->GetInput();
$submit = $this->app->Secure->GetPOST('submit');
if (empty($id)) {
// New item
$id = 'NULL';
}
if ($submit != '')
{
// Write to database
// Add checks here
// $input['projekt'] = $this->app->erp->ReplaceProjekt(true,$input['projekt'],true); // Parameters: Target db?, value, from form?
$columns = "id, ";
$values = "$id, ";
$update = "";
$fix = "";
foreach ($input as $key => $value) {
$columns = $columns.$fix.$key;
$values = $values.$fix."'".$value."'";
$update = $update.$fix.$key." = '$value'";
$fix = ", ";
}
// echo($columns."<br>");
// echo($values."<br>");
// echo($update."<br>");
$sql = "INSERT INTO kostenstellen (".$columns.") VALUES (".$values.") ON DUPLICATE KEY UPDATE ".$update;
// echo($sql);
$this->app->DB->Update($sql);
if ($id == 'NULL') {
$msg = $this->app->erp->base64_url_encode("<div class=\"success\">Das Element wurde erfolgreich angelegt.</div>");
header("Location: index.php?module=kostenstellen&action=list&msg=$msg");
} else {
$this->app->Tpl->Set('MESSAGE', "<div class=\"success\">Die Einstellungen wurden erfolgreich &uuml;bernommen.</div>");
}
}
// Load values again from database
$dropnbox = "'<img src=./themes/new/images/details_open.png class=details>' AS `open`, CONCAT('<input type=\"checkbox\" name=\"auswahl[]\" value=\"',k.id,'\" />') AS `auswahl`";
$result = $this->app->DB->SelectArr("SELECT SQL_CALC_FOUND_ROWS k.id, $dropnbox, k.nummer, k.beschreibung, k.internebemerkung, k.id FROM kostenstellen k"." WHERE id=$id");
foreach ($result[0] as $key => $value) {
$this->app->Tpl->Set(strtoupper($key), $value);
}
if (!empty($result)) {
$kostenstellen_from_db = $result[0];
} else {
return;
}
/*
* Add displayed items later
*
$this->app->Tpl->Add('KURZUEBERSCHRIFT2', $email);
$this->app->Tpl->Add('EMAIL', $email);
$this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername);
$this->app->YUI->AutoComplete("artikel", "artikelnummer");
*/
$this->app->Tpl->Parse('PAGE', "kostenstellen_edit.tpl");
}
/**
* Get all paramters from html form and save into $input
*/
public function GetInput(): array {
$input = array();
//$input['EMAIL'] = $this->app->Secure->GetPOST('email');
$input['nummer'] = $this->app->Secure->GetPOST('nummer');
$input['beschreibung'] = $this->app->Secure->GetPOST('beschreibung');
$input['internebemerkung'] = $this->app->Secure->GetPOST('internebemerkung');
return $input;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -2362,7 +2362,6 @@ class Rechnung extends GenRechnung
$belegmax = ''; $belegmax = '';
$ohnebriefpapier = $this->app->erp->Firmendaten('rechnung_ohnebriefpapier'); $ohnebriefpapier = $this->app->erp->Firmendaten('rechnung_ohnebriefpapier');
$abweichendebezeichnung = $this->app->erp->Firmendaten('rechnungersatz_standard');
$usereditid = 0; $usereditid = 0;
if(isset($this->app->User) && $this->app->User && method_exists($this->app->User,'GetID')){ if(isset($this->app->User) && $this->app->User && method_exists($this->app->User,'GetID')){
@ -2376,24 +2375,24 @@ class Rechnung extends GenRechnung
zahlungszieltageskonto, zahlungszieltageskonto,
zahlungszielskonto, zahlungszielskonto,
lieferdatum, lieferdatum,
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid,abweichendebezeichnung) status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid)
VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."', VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."',
'".$this->app->erp->ZahlungsZielTage($projekt)."', '".$this->app->erp->ZahlungsZielTage($projekt)."',
'".$this->app->erp->ZahlungsZielTageSkonto($projekt)."', '".$this->app->erp->ZahlungsZielTageSkonto($projekt)."',
'".$this->app->erp->ZahlungsZielSkonto($projekt)."',NOW(), '".$this->app->erp->ZahlungsZielSkonto($projekt)."',NOW(),
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid','$abweichendebezeichnung')"); 'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid')");
} else { } else {
$this->app->DB->Insert("INSERT INTO rechnung (id,datum,bearbeiter,firma,belegnr,zahlungsweise, $this->app->DB->Insert("INSERT INTO rechnung (id,datum,bearbeiter,firma,belegnr,zahlungsweise,
zahlungszieltage, zahlungszieltage,
zahlungszieltageskonto, zahlungszieltageskonto,
zahlungszielskonto, zahlungszielskonto,
lieferdatum, lieferdatum,
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid,abweichendebezeichnung) status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid)
VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."', VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."',
'0', '0',
'0', '0',
'0',NOW(), '0',NOW(),
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid','$abweichendebezeichnung')"); 'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid')");
} }
$id = $this->app->DB->GetInsertID(); $id = $this->app->DB->GetInsertID();
@ -2519,6 +2518,9 @@ class Rechnung extends GenRechnung
$this->app->Secure->POST[$value] = str_replace("'", '&apos;',$arr[0][$value]); $this->app->Secure->POST[$value] = str_replace("'", '&apos;',$arr[0][$value]);
$uparr[$value] = str_replace("'", '&apos;',$arr[0][$value]); $uparr[$value] = str_replace("'", '&apos;',$arr[0][$value]);
} }
//$this->app->Secure->POST[$value] = $arr[0][$value];
//$uparr[$value] = $arr[0][$value];
} }
$uparr['adresse'] = $adresse; $uparr['adresse'] = $adresse;
@ -2529,10 +2531,6 @@ class Rechnung extends GenRechnung
$uparr['ohne_briefpapier'] = '1'; $uparr['ohne_briefpapier'] = '1';
} }
if($this->app->erp->Firmendaten('rechnungersatz_standard')=='1'){
$uparr['abweichendebezeichnung']=1;
}
$this->app->DB->UpdateArr('rechnung',$id,'id',$uparr,true); $this->app->DB->UpdateArr('rechnung',$id,'id',$uparr,true);
$uparr=null; $uparr=null;

View File

@ -94,7 +94,7 @@ class Rechnungslauf {
DATE_ADD(@start, INTERVAL (FLOOR(TIMESTAMPDIFF(DAY, @start, IF(aa.enddatum = '0000-00-00' OR aa.enddatum > '$scalcdate', '$scalcdate', aa.enddatum)) / 30)+1)*30 DAY ) DATE_ADD(@start, INTERVAL (FLOOR(TIMESTAMPDIFF(DAY, @start, IF(aa.enddatum = '0000-00-00' OR aa.enddatum > '$scalcdate', '$scalcdate', aa.enddatum)) / 30)+1)*30 DAY )
END, '%d.%m.%Y') SEPARATOR '<br>') as end, END, '%d.%m.%Y') SEPARATOR '<br>') as end,
SUM((100-aa.rabatt)/100 * aa.preis * aa.menge * SUM((100-aa.rabatt)/100 * aa.preis * aa.menge *
(GREATEST(aa.zahlzyklus, CASE (CASE
WHEN aa.preisart = 'monat' THEN WHEN aa.preisart = 'monat' THEN
TIMESTAMPDIFF(MONTH, @start, @end) TIMESTAMPDIFF(MONTH, @start, @end)
WHEN aa.preisart = 'jahr' THEN WHEN aa.preisart = 'jahr' THEN
@ -102,7 +102,7 @@ class Rechnungslauf {
WHEN aa.preisart = '30tage' THEN WHEN aa.preisart = '30tage' THEN
FLOOR(TIMESTAMPDIFF(DAY, @start, @end) / 30) FLOOR(TIMESTAMPDIFF(DAY, @start, @end) / 30)
END END
)) )
) as amount, ) as amount,
adr.id adr.id
FROM abrechnungsartikel aa FROM abrechnungsartikel aa
@ -248,17 +248,6 @@ class Rechnungslauf {
$this->app->Tpl->addMessage('info', 'Die Aufträge werden nun im Hintergrund erstellt', false, 'MESSAGE_ORDERS'); $this->app->Tpl->addMessage('info', 'Die Aufträge werden nun im Hintergrund erstellt', false, 'MESSAGE_ORDERS');
} }
} }
$cronjobActive = $this->app->DB->Select(
"SELECT ps.id
FROM `prozessstarter` AS `ps`
WHERE ps.aktiv = 1 and (ps.parameter = 'rechnungslauf_manual')
LIMIT 1"
);
if(!$cronjobActive) {
$this->app->Tpl->addMessage('warning', 'Der Prozessstarter \'rechnungslauf_manual\' ist nicht aktiv');
}
$this->app->Tpl->Parse('PAGE', 'rechnungslauf_list.tpl'); $this->app->Tpl->Parse('PAGE', 'rechnungslauf_list.tpl');
} }

View File

@ -109,7 +109,6 @@ class Report
$this->app->ActionHandler('transfer', 'ReportTransfer'); $this->app->ActionHandler('transfer', 'ReportTransfer');
$this->app->ActionHandler('share', 'HandleActionShare'); $this->app->ActionHandler('share', 'HandleActionShare');
$this->app->ActionHandler('export', 'ReportExport'); $this->app->ActionHandler('export', 'ReportExport');
$this->app->ActionHandler('databaseview', 'DataBaseView');
$this->app->ActionHandlerListen($app); $this->app->ActionHandlerListen($app);
$this->app->erp->Headlines('Berichte'); $this->app->erp->Headlines('Berichte');
@ -527,29 +526,7 @@ class Report
IF(c.sum = 1, 'Ja', 'Nein') as `sum`, c.sequence, c.id IF(c.sum = 1, 'Ja', 'Nein') as `sum`, c.sequence, c.id
FROM `report_column` AS `c`"; FROM `report_column` AS `c`";
break; break;
case 'databaseview':
$selectedtable = $this->app->User->GetParameter('report_databaseview_selectedtable');
$selectedcolumns = $this->app->User->GetParameter('report_databaseview_selectedcolumns');
if (!empty($selectedcolumns)) {
$columns = explode(',',$selectedcolumns);
} else {
$sql = "SHOW COLUMNS FROM `".$selectedtable."`";
$columns = array_column($this->app->DB->SelectArr($sql),'Field');
$columns = array_slice($columns,0,10);
}
$heading = $columns;
$heading[] = '';
$findcols = $columns;
$searchsql = $columns;
$sql = "SELECT `".$columns[0]."`, `".implode("`,`",$columns)."` from `".$selectedtable."`";
break;
} }
$erg = []; $erg = [];
@ -3121,7 +3098,7 @@ class Report
'Zur&uuml;ck zur &Uuml;bersicht' 'Zur&uuml;ck zur &Uuml;bersicht'
); );
if ($action === 'list' or $action == 'databaseview') { if ($action === 'list') {
$this->app->erp->MenuEintrag('index.php?module=report&action=list', '&Uuml;bersicht'); $this->app->erp->MenuEintrag('index.php?module=report&action=list', '&Uuml;bersicht');
} else { } else {
$this->app->erp->MenuEintrag( $this->app->erp->MenuEintrag(
@ -3141,7 +3118,6 @@ class Report
'Übertragung' 'Übertragung'
); );
} }
$this->app->erp->MenuEintrag('index.php?module=report&action=databaseview', 'Datenbankansicht');
} }
/** /**
@ -3211,91 +3187,4 @@ class Report
} }
} }
} }
function DataBaseView() {
$this->createMenu();
$this->template->Set('KURZUEBERSCHRIFT', 'Datenbank');
$sql = "SHOW TABLES";
$tables = $this->app->DB->SelectArr($sql);
$table_easytable = new EasyTable($this->app);
$table_easytable->headings = array('Tabelle');
foreach ($tables as $table) {
$table = reset($table);
$row = array(
'<a href="index.php?module=report&action=databaseview&table='.$table.'#tabs-2">'.$table.'</a>'
);
$table_easytable->AddRow($row);
}
$table_easytable->DisplayNew('TAB1');
$selectedtable = $this->app->Secure->GetGet('table');
if (!empty($selectedtable)) {
$this->app->User->SetParameter('report_databaseview_selectedtable',$selectedtable);
$submit = $this->app->Secure->GetPost('submit');
$selectedcolumns = $this->app->Secure->GetPost('auswahl');
$sql = "SHOW COLUMNS FROM `".$selectedtable."`";
$columns = $this->app->DB->SelectArr($sql);
$column_easytable = new EasyTable($this->app);
$column_easytable->headings = array_merge(['Auswahl'],array_keys(reset($columns)));
foreach ($columns as $column) {
$checked = '';
if (!empty($selectedcolumns)) {
if (in_array($column['Field'],$selectedcolumns)) {
$checked = 'checked';
}
}
$row = array();
$row[] = '<input type="checkbox" name="auswahl[]" '.$checked.' value="'.$column['Field'].'">';
$row = array_merge($row,$column);
$column_easytable->AddRow($row);
}
$column_easytable->DisplayNew('TAB2');
$this->app->Tpl->Set('TABLENAME',ucfirst($selectedtable));
switch($submit) {
case 'vorschau':
if (!empty($selectedcolumns)) {
$this->app->User->SetParameter('report_databaseview_selectedcolumns',implode(',',$selectedcolumns));
} else {
$this->app->YUI->Message('warning','Spalten w&auml;hlen');
}
$this->app->YUI->TableSearch('TAB3', 'databaseview', 'show', '', '', basename(__FILE__), __CLASS__);
break;
case 'erzeugen':
$selectedcolumns = $this->app->User->GetParameter('report_databaseview_selectedcolumns');
$columns = explode(',',$selectedcolumns);
$sql = "SELECT `".implode("`,`",$columns)."` from `".$selectedtable."`";
$name = $this->service->generateIncrementedReportName(ucfirst($selectedtable));
$userId = $this->app->User->GetID();
$report = ReportData::fromFormData(['name' => $name, 'sql_query' => $sql, 'description' => 'Erzeugt aus Datenbankansicht Tabelle '.ucfirst($selectedtable)]);
$newId = $this->service->saveReport($report);
if ($newId > 0) {
$this->service->saveReportUserArray([
'report_id' => $newId,
'user_id' => $userId,
'name' => $this->app->User->GetName(),
'chart_enabled' => 0,
'file_enabled' => 0,
'menu_enabled' => 0,
'tab_enabled' => 0,
]);
$report = $this->gateway->getReportById($newId);
$newReport = $this->service->autoCreateColumns($report);
$newId = $this->service->saveReport($newReport);
header('Location: index.php?module=report&action=edit&id='.$newId);
} else {
$this->app->YUI->Message('error','Bericht konnte nicht erzeugt werden');
}
break;
}
} else {
$this->app->YUI->Message('warning','Tabelle w&auml;hlen');
}
$this->template->Parse('PAGE', 'report_databaseview.tpl');
}
} }

View File

@ -23,7 +23,6 @@ class Shopimporter_Presta extends ShopimporterBase
// TODO // TODO
private $langidToIso = [3 => 'de', 1 => 'en']; private $langidToIso = [3 => 'de', 1 => 'en'];
private $taxationByDestinationCountry; private $taxationByDestinationCountry;
private $orderSearchLimit;
public function __construct($app, $intern = false) public function __construct($app, $intern = false)
@ -285,20 +284,17 @@ class Shopimporter_Presta extends ShopimporterBase
$cart['articlelist'] = []; $cart['articlelist'] = [];
foreach ($order->associations->order_rows->order_row as $order_row) { foreach ($order->associations->order_rows->order_row as $order_row) {
$article = [
$steuersatz = (strval($order_row->unit_price_tax_incl) / strval($order_row->unit_price_tax_excl)) - 1;
$steuersatz = round($steuersatz, 1);
$cart['articlelist'][] = [
'articleid' => strval($order_row->product_reference), 'articleid' => strval($order_row->product_reference),
'name' => strval($order_row->product_name), 'name' => strval($order_row->product_name),
'quantity' => strval($order_row->product_quantity), 'quantity' => strval($order_row->product_quantity),
'price_netto' => strval($order_row->unit_price_tax_excl), 'price_netto' => strval($order_row->unit_price_tax_excl),
'steuersatz' => $steuersatz
]; ];
if ($order_row->unit_price_tax_excl > 0) {
$steuersatz = (strval($order_row->unit_price_tax_incl) / strval($order_row->unit_price_tax_excl)) - 1;
$steuersatz = round($steuersatz, 1);
$article['steuersatz'] = $steuersatz;
}
$cart['articlelist'][] = $article;
} }
$fetchedOrders[] = [ $fetchedOrders[] = [
@ -385,26 +381,13 @@ class Shopimporter_Presta extends ShopimporterBase
$res['kurztext_de'] = strip_tags($shortdescriptions['de']); $res['kurztext_de'] = strip_tags($shortdescriptions['de']);
$res['kurztext_en'] = strip_tags($shortdescriptions['en']); $res['kurztext_en'] = strip_tags($shortdescriptions['en']);
$res['hersteller'] = strval($product->product->manufacturer_name); $res['hersteller'] = strval($product->product->manufacturer_name);
$res['metakeywords_de'] = $metakeywords['de'];
$res['metakeywords_en'] = $metakeywords['en'];
$res['metatitle_de'] = $metatitles['de']; $res['metatitle_de'] = $metatitles['de'];
$res['metatitle_en'] = $metatitles['en']; $res['metatitle_en'] = $metatitles['en'];
$res['metadescription_de'] = $metadescriptions['de']; $res['metadescription_de'] = $metadescriptions['de'];
$res['metadescription_en'] = $metadescriptions['en']; $res['metadescription_en'] = $metadescriptions['en'];
$tags = $product->product->associations->tags->tag;
$keywords = [];
foreach ($tags as $tag) {
$tagid = intval($tag->id);
$endpoint = "tags/{$tagid}";
$tagdata = $this->prestaRequest('GET', $endpoint);
$tagiso = $this->langidToIso[intval($tagdata->tag->id_lang)];
$tagvalue = strval($tagdata->tag->name);
if (!array_key_exists($tagiso, $keywords))
$keywords[$tagiso] = [];
$keywords[$tagiso][] = $tagvalue;
}
$res['metakeywords_de'] = join(',', $keywords['de'] ?? []);
$res['metakeywords_en'] = join(',', $keywords['en'] ?? []);
$images = []; $images = [];
foreach ($product->product->associations->images->image as $img) { foreach ($product->product->associations->images->image as $img) {
$endpoint = "images/products/$productId/$img->id"; $endpoint = "images/products/$productId/$img->id";

View File

@ -716,7 +716,7 @@ class Ticket {
$ticket_from_db = $this->app->DB->SelectArr($sql)[0]; $ticket_from_db = $this->app->DB->SelectArr($sql)[0];
$ticket_from_db['betreff'] = strip_tags($ticket_from_db['betreff']); $ticket_from_db['betreff'] = htmlentities(strip_tags($ticket_from_db['betreff'])); //+ #20230916 XSS
foreach ($ticket_from_db as $key => $value) { foreach ($ticket_from_db as $key => $value) {
$this->app->Tpl->Set(strtoupper($key), $value); $this->app->Tpl->Set(strtoupper($key), $value);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2241,7 +2241,7 @@ $this->app->Tpl->Add('TODOFORUSER',"<tr><td width=\"90%\">".$tmp[$i]['aufgabe'].
$this->app->Tpl->Add('TAB1',"Sie benutzen die kommerzielle Version von Xentral. Alle Rechte vorbehalten. Beachten Sie die Nutzungsbedinungen.<br><br>&copy; Copyright by Xentral ERP Software GmbH Augsburg"); $this->app->Tpl->Add('TAB1',"Sie benutzen die kommerzielle Version von Xentral. Alle Rechte vorbehalten. Beachten Sie die Nutzungsbedinungen.<br><br>&copy; Copyright by Xentral ERP Software GmbH Augsburg");
} }
else { else {
$this->app->Tpl->Add('TAB1','DBXE is free open source software under AGPL/EGPL license, based on OpenXE and <a href="https://xentral.com" target="_blank">Xentral®</a> by Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.<br><br><div class="info"><img src="themes/new/images/Xentral_ERP_Logo-200.png"><br>Das Logo und der Link zur Homepage <a href="https://xentral.biz" target=\_blank\>https://xentral.biz</a> d&uuml;rfen nicht entfernt werden.</div><br>&copy; Copyright by DBXE, OpenXE project & Xentral ERP Software GmbH Augsburg'); $this->app->Tpl->Add('TAB1','OpenXE is free open source software under AGPL/EGPL license, based on <a href="https://xentral.com" target="_blank">Xentral®</a> by Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.<br><br><div class="info"><img src="themes/new/images/Xentral_ERP_Logo-200.png"><br>Das Logo und der Link zur Homepage <a href="https://xentral.biz" target=\_blank\>https://xentral.biz</a> d&uuml;rfen nicht entfernt werden.</div><br>&copy; Copyright by OpenXE project & Xentral ERP Software GmbH Augsburg');
} }
if($this->app->erp->isIoncube() && method_exists($this->app->erp, 'IoncubeProperty')) if($this->app->erp->isIoncube() && method_exists($this->app->erp, 'IoncubeProperty'))

View File

@ -365,15 +365,15 @@ Bitte nach der Installation das <a href=\"".$weburllink."index.php?module=upgrad
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
<html><head> <html><head>
<style type=\"text/css\">{$cssContent}</style> <style type=\"text/css\">{$cssContent}</style>
<title>DBXE Installer</title> <title>OpenXE Installer</title>
</head><body class=\"slide-{$step}\"><div id=\"main\"><div class=\"header\"><h1 class=\"headline\">DB Installer</h1></div><div class=\"content\"><form action=\"\" method=\"POST\"> </head><body class=\"slide-{$step}\"><div id=\"main\"><div class=\"header\"><h1 class=\"headline\">OpenXE Installer</h1></div><div class=\"content\"><form action=\"\" method=\"POST\">
{$html} {$html}
</form></div> </form></div>
<!-- <!--
<div class=\"footer\"><p>Nutzen Sie unseren <a href=\"https://shop.xentral.biz/sonstige/1-jahr-zugang-updateserver-open-source-version.html?c=164?c=164\" target=\"_blank\">Update-Server</a> um auch mit der Open-Source Version mit Updates versorgt zu sein.</p></div> <div class=\"footer\"><p>Nutzen Sie unseren <a href=\"https://shop.xentral.biz/sonstige/1-jahr-zugang-updateserver-open-source-version.html?c=164?c=164\" target=\"_blank\">Update-Server</a> um auch mit der Open-Source Version mit Updates versorgt zu sein.</p></div>
--!> --!>
<div class=\"footer\"><p> <div class=\"footer\"><p>
DBXE is free open source software under AGPL/EGPL license, based on OpenXE, <a href=\"https://xentral.com\" target=\"_blank\">Xentral®</a> by Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.</p></div> OpenXE is free open source software under AGPL/EGPL license, based on <a href=\"https://xentral.com\" target=\"_blank\">Xentral®</a> by Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.</p></div>
</div></body></html>"; </div></body></html>";
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1015 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 KiB

After

Width:  |  Height:  |  Size: 358 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,92 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xml:space="preserve"
style="enable-background:new 0 0 1440 1024;"
viewBox="0 0 300 104"
y="0px"
x="0px"
id="Layer_1"
version="1.1"><metadata
id="metadata35"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs33" />
<style
id="style2"
type="text/css">
.st0{fill:#008AC2;}
.st1{fill:#6E6F72;}
</style>
<g
transform="matrix(0.5179558,0,0,0.5179558,-222.92818,-213.2424)"
id="g28">
<polygon
style="fill:#008ac2"
id="polygon4"
points="466.7,527.6 501.7,492.6 430.4,456.6 430.4,544.8 466.7,560.4 "
class="st0" />
<polygon
style="fill:#008ac2"
id="polygon6"
points="584.2,450.5 509.6,411.7 435,450.5 509.1,486.3 "
class="st0" />
<polygon
style="fill:#008ac2"
id="polygon8"
points="472.3,531.2 472.3,612.3 506,575.5 506,495.4 "
class="st0" />
<path
style="fill:#6e6f72"
id="path10"
d="m 567.1,483.3 c -30.8,0 -45.8,23.5 -45.8,46.9 0,23.4 14.5,45.9 45.8,45.9 31.3,0 45.4,-23 45.6,-46 0.3,-23.3 -14.9,-46.8 -45.6,-46.8 z m 0,77.4 c -21,0 -28.9,-15.6 -29.2,-30.3 -0.4,-15 8.3,-31.9 29.2,-31.9 21,0 29.4,16.8 29.1,31.8 -0.2,14.6 -8.1,30.4 -29.1,30.4 z"
class="st1" />
<path
style="fill:#6e6f72"
id="path12"
d="m 659.8,510.7 c -7.1,0 -15.5,3.1 -20.3,10 l -1,-10 H 624 V 601 h 15.5 v -33.6 c 4.4,6.9 14.2,8.9 20.8,8.9 20.1,0 31.6,-14.5 31.6,-32.8 0,-18.4 -12.8,-32.8 -32.1,-32.8 z m -1.2,50.6 c -10.5,0 -17.8,-8 -17.8,-17.8 0,-9.8 6.6,-17.8 17.8,-17.8 11.2,0 17.8,8 17.8,17.8 0,9.8 -7.2,17.8 -17.8,17.8 z"
class="st1" />
<path
style="fill:#6e6f72"
id="path14"
d="m 733.8,510.7 c -20.3,0 -33.3,13.6 -33.3,32.4 0,19.9 12.8,33 34.4,33 9.5,0 20.3,-3.3 26.9,-10.1 l -9.9,-9.7 c -3.6,3.6 -11.1,5.8 -16.8,5.8 -10.9,0 -17.7,-5.5 -18.7,-13.2 h 48.9 c 2.5,-25.3 -10.6,-38.2 -31.5,-38.2 z m -17.1,25.7 c 2.3,-8 9.2,-12.1 17.5,-12.1 8.9,0 15.3,4 16.3,12.1 z"
class="st1" />
<path
style="fill:#6e6f72"
id="path16"
d="m 812.4,510.7 c -7.9,0 -14.2,3.2 -20.6,9.6 l -1,-9.6 H 777 v 65.1 h 15.4 v -32.7 c 0,-9.7 6.5,-17.9 16,-17.9 9.9,0 15.1,7.4 15.1,17.1 v 33.5 H 839 v -33.6 c 0,-20.2 -11.8,-31.5 -26.6,-31.5 z"
class="st1" />
<path
style="fill:#008ac2"
id="path18"
d="m 1009.6,500.3 v -17 H 943 c 0,30.9 0,62 0,92.9 h 66.6 v -17.3 h -50 v -21 h 48.2 v -16.3 h -48.2 v -21.4 h 50 z"
class="st0" />
<polygon
style="fill:#008ac2"
id="polygon20"
points="911.7,576.1 931,576.2 931,574.5 909.1,541 897.9,554.7 911.7,576.1 "
class="st0" />
<rect
style="fill:#008ac2"
id="rect22"
height="0"
width="0"
class="st0"
y="485.10001"
x="932.40002" />
<polygon
style="fill:#008ac2"
id="polygon24"
points="912.1,483.3 900.2,501.4 901.3,503.1 902.9,505.4 909.4,515.4 931,484.5 931,483.3 914,483.3 912.1,483.3 "
class="st0" />
<polygon
style="fill:#008ac2"
id="polygon26"
points="871.5,483.3 871.4,483.3 851.9,483.3 851.9,484.6 866.5,506.9 881,529.2 881,529.2 881.1,529.2 881,529.3 851.9,573.5 851.9,573.5 851.9,576.2 868.9,576.2 869,576.2 872.6,571 887.4,548.5 890.5,543.7 900.7,528.2 900.7,528.1 891.6,514.1 891.3,513.7 "
class="st0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>DBXE - Login</title> <title>OpenXE - Login</title>
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon"> <link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon"> <link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
@ -29,7 +29,7 @@
</img> </img>
<div class="intro"> <div class="intro">
Willkommen beim ERP von <b>[FIRMENNAME] </b><br/> Willkommen bei OpenXE ERP.<br/>
Bitte gib Deinen Benutzernamen und Passwort ein! Bitte gib Deinen Benutzernamen und Passwort ein!
</div> </div>
<div [LOGINWARNING_VISIBLE] class="warning"><p>[LOGINWARNING_TEXT]</p></div> <div [LOGINWARNING_VISIBLE] class="warning"><p>[LOGINWARNING_TEXT]</p></div>
@ -38,9 +38,9 @@
[PAGE] [PAGE]
<div id="login-footer"> <div id="login-footer">
<div class="copyright"> <div class="copyright">
&copy; [YEAR] by DBXE & OpenXE-org & Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.<br> &copy; [YEAR] by OpenXE-org & Xentral&nbsp;ERP&nbsp;Software&nbsp;GmbH.<br>
DBXE is a OS software under AGPL/EGPL license, based on Xentral® and OpenXE.<br> OpenXE is free open source software under AGPL/EGPL license, based on <a href="https://xentral.com" target="_blank">Xentral®</a>.<br>
<a href="https://repo.dbxe.de/dbxe/DBXE/commits/branch/master">[XENTRALVERSION]</a> <a href="https://github.com/OpenXE-org/OpenXE/commits/master">[XENTRALVERSION]</a>
</div> </div>
</div> </div>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="Content-Security-Policy" content="default-src 'self';"> <meta http-equiv="Content-Security-Policy" content="default-src 'self';">
<title>DBXE - Passwort vergessen</title> <title>OpenXE - Passwort vergessen</title>
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon"> <link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon"> <link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
@ -26,7 +26,7 @@
[PAGE] [PAGE]
<div class="copyright"> <div class="copyright">
&copy; [YEAR] DBXE & OpenXE-org & Xentral ERP Software GmbH &copy; [YEAR] OpenXE-org & Xentral ERP Software GmbH
</div> </div>
</div> </div>
</div> </div>

View File

@ -9,11 +9,10 @@
</head> </head>
<body> <body>
<div class="permission-box"> <div class="permission-box">
<h1>DBXE Login</h1> <h1>OpenXE Login</h1>
<p class="error">Sie haben nicht das Recht auf diese Seite zugreifen zu d&uuml;rfen!</p> <p class="error">Sie haben nicht das Recht auf diese Seite zugreifen zu d&uuml;rfen!</p>
<p><a href="BACK" class="btn btn-primary">Zur&uuml;ck zur vorherigen Seite</a></p> <p><a href="BACK" class="btn btn-primary">Zur&uuml;ck zur vorherigen Seite</a></p>
<p><a href="index.php?module=welcome&action=logout" class="btn btn-secondary">Erneut einloggen</a></p> <p><a href="index.php?module=welcome&action=logout" class="btn btn-secondary">Erneut einloggen</a></p>
<p>Sie benötigen diesen Zugriff? Bitten Sie um Freigabe unter zugriff@dbxe.de</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -10,7 +10,7 @@
</svg> </svg>
</div> </div>
<a class="logo-index" href="index.php" title="DBXE"> <a class="logo-index" href="index.php" title="OpenXE">
[SIDEBARLOGO] [SIDEBARLOGO]
</a> </a>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,93 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xml:space="preserve"
style="enable-background:new 0 0 1440 1024;"
viewBox="0 0 410 104"
height="26"
width="115"
y="0px"
x="0px"
id="Layer_1"
version="1.1"
sodipodi:docname="sidebar_logo.svg"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="9.1565217"
inkscape:cx="57.5"
inkscape:cy="13.050807"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g28" /><metadata
id="metadata35"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs33" />
<style
id="style2"
type="text/css">
.st0{fill:#ffffff;}
.st1{fill:#fffffE;}
</style>
<g
transform="matrix(0.5179558,0,0,0.5179558,-222.92818,-213.2424)"
id="g28">
<polygon
style="fill:#ffffff"
id="polygon4"
points="466.7,527.6 501.7,492.6 430.4,456.6 430.4,544.8 466.7,560.4 "
class="st0" />
<polygon
style="fill:#ffffff"
id="polygon6"
points="584.2,450.5 509.6,411.7 435,450.5 509.1,486.3 "
class="st0" />
<polygon
style="fill:#ffffff"
id="polygon8"
points="472.3,531.2 472.3,612.3 506,575.5 506,495.4 "
class="st0" />
<rect
style="fill:#ffffff"
id="rect22"
height="0"
width="0"
class="st0"
y="485.10001"
x="932.40002" />
<text
xml:space="preserve"
style="font-weight:500;font-size:123.563px;line-height:1.5;font-family:'AG Book Pro';-inkscape-font-specification:'AG Book Pro Medium';fill:#e20020;stroke-width:46.3214;stroke-linecap:round;stroke-linejoin:round"
x="527.25061"
y="576.20001"
id="text1"><tspan
sodipodi:role="line"
id="tspan1"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'AG Book Pro';-inkscape-font-specification:'AG Book Pro Bold';fill:#ffffff;stroke-width:46.3214"
x="527.25061"
y="576.20001">dBXE</tspan></text></g>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -583,9 +583,6 @@ class WidgetGenadresse
$field = new HTMLCheckbox("geburtstagskarte","","","1","0","0"); $field = new HTMLCheckbox("geburtstagskarte","","","1","0","0");
$this->form->NewField($field); $this->form->NewField($field);
$field = new HTMLInput("sachkonto","text","","30","","","","","","","","0","","");
$this->form->NewField($field);
$field = new HTMLSelect("verrechnungskontoreisekosten",0,"verrechnungskontoreisekosten","","","0"); $field = new HTMLSelect("verrechnungskontoreisekosten",0,"verrechnungskontoreisekosten","","","0");
$this->form->NewField($field); $this->form->NewField($field);

View File

@ -310,11 +310,6 @@ class WidgetGenangebot_position
$field = new HTMLCheckbox("erloesefestschreiben","","","1","0","0"); $field = new HTMLCheckbox("erloesefestschreiben","","","1","0","0");
$this->form->NewField($field); $this->form->NewField($field);
if ($this->app->erp->RechteVorhanden('angebot','einkaufspreise')) {
$field = new HTMLInput("einkaufspreis","text","","50","","","","","","","","0","","");
$this->form->NewField($field);
}
$field = new HTMLTextarea("bemerkung",3,40,"","","","","0"); $field = new HTMLTextarea("bemerkung",3,40,"","","","","0");
$this->form->NewField($field); $this->form->NewField($field);

View File

@ -665,9 +665,6 @@ class WidgetGenartikel
$field = new HTMLInput("steuergruppe","text","","30","","","","","","","","0","",""); $field = new HTMLInput("steuergruppe","text","","30","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);
$field = new HTMLInput("sachkonto","text","","30","","","","","","","","0","","");
$this->form->NewField($field);
$field = new HTMLInput("kostenstelle","text","","30","","","","","","","","0","",""); $field = new HTMLInput("kostenstelle","text","","30","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);

View File

@ -400,9 +400,6 @@ class WidgetGenprojekt
$field = new HTMLInput("next_verbindlichkeit","text","","40","","","","","","","","0","",""); $field = new HTMLInput("next_verbindlichkeit","text","","40","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);
$field = new HTMLInput("next_lieferantengutschrift","text","","40","","","","","","","","0","","");
$this->form->NewField($field);
$field = new HTMLInput("next_goodspostingdocument","text","","40","","","","","","","","0","",""); $field = new HTMLInput("next_goodspostingdocument","text","","40","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);

View File

@ -85,7 +85,10 @@ class WidgetGenverbindlichkeit_position
$this->form->NewField($field); $this->form->NewField($field);
$this->form->AddMandatory("menge","notempty","Pflichtfeld!","MSGMENGE"); $this->form->AddMandatory("menge","notempty","Pflichtfeld!","MSGMENGE");
$field = new HTMLInput("preis","text","","40","","","","","","","","0","",""); $field = new HTMLInput("preis","text","","50","","","","","","","","0","","");
$this->form->NewField($field);
$field = new HTMLInput("waehrung","text","","15","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);
$field = new HTMLSelect("umsatzsteuer",0,"umsatzsteuer","","","0"); $field = new HTMLSelect("umsatzsteuer",0,"umsatzsteuer","","","0");
@ -112,9 +115,6 @@ class WidgetGenverbindlichkeit_position
$field = new HTMLInput("projekt","text","","50","","","","","","","","0","",""); $field = new HTMLInput("projekt","text","","50","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);
$field = new HTMLInput("sachkonto","text","","50","","","","","","","","0","","");
$this->form->NewField($field);
$field = new HTMLInput("kostenstelle","text","","50","","","","","","","","0","",""); $field = new HTMLInput("kostenstelle","text","","50","","","","","","","","0","","");
$this->form->NewField($field); $this->form->NewField($field);

File diff suppressed because it is too large Load Diff

View File

@ -215,48 +215,36 @@ $('#anderersteuersatz').click(function() { if (!$(this).is(':checked')) {
</tbody> </tbody>
</table> </table>
</td> </td>
<td width="30%" [STYLERECHTS]> <td width="30%">
<table width="100%"><tr><td align="right"><input type="submit" value="Speichern" ></td></tr></table> <table width="100%"><tr><td align="right"><input type="submit" value="Speichern" ></td></tr></table>
<div id="positionaccordion"> [ANZEIGEEINKAUFLAGER] <div id="positionaccordion">
<h3>{|Steuer|}</h3> [ANZEIGEEINKAUFLAGER]
<div class="table-responsive"> <h3>{|Steuer|}</h3>
<table> <div class="table-responsive">
<tbody> [VORSTEUER] <table>
<tr> <tbody>
<td>{|Kostenstelle|}:</td> [VORSTEUER]
<td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td> <tr><td>{|Kostenstelle|}:</td><td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td></tr>
</tr> <tr><td>{|Erl&ouml;se|}:</td><td>[ERLOESE][MSGERLOESE]</td></tr>
<tr> <tr><td>{|festschreiben|}:</td><td>[ERLOESEFESTSCHREIBEN][MSGERLOESEFESTSCHREIBEN]</td></tr>
<td>{|Erl&ouml;se|}:</td> [NACHSTEUER]
<td>[ERLOESE][MSGERLOESE]</td> </tbody>
</tr> </table>
<tr>
<td>{|festschreiben|}:</td>
<td>[ERLOESEFESTSCHREIBEN][MSGERLOESEFESTSCHREIBEN]</td>
</tr> [NACHSTEUER] </tbody>
</table>
</div>
<h3>{|Einkaufspreis f&uuml;r Deckungsbeitrag|}</h3>
<div class="table-responsive">
<table>
<tbody>
<tr>
<td>[EINKAUFSPREIS][MSGEINKAUFSPREIS]</td>
</tr>
</tbody>
</table>
</div>
<h3>{|Bemerkung|}</h3>
<div class="table-responsive">
<table>
<tbody>
<tr>
<td> [BEMERKUNG][MSGBEMERKUNG] </td>
</tr>
</tbody>
</table>
</div>
</div> </div>
<h3>{|Bemerkung|}</h3>
<div class="table-responsive">
<table>
<tbody>
<tr><td>
[BEMERKUNG][MSGBEMERKUNG]
</td></tr>
</tbody>
</table>
</div>
</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -849,87 +849,7 @@
[DISABLECLOSESHOP] [DISABLECLOSESHOP]
<div id="tabs-5"> <div id="tabs-5">
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-4 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Finanzbuchhaltung Export Erl&ouml;se|}</legend>
<table border="0" width="100%">
<tr>
<td width="300">Inland (normal):</td><td>[STEUER_ERLOESE_INLAND_NORMAL][MSGSTEUER_ERLOESE_INLAND_NORMAL]</td>
</tr>
<tr>
<td width="300">Inland (erm&auml;&szlig;igt):</td><td>[STEUER_ERLOESE_INLAND_ERMAESSIGT][MSGSTEUER_ERLOESE_INLAND_ERMAESSIGT]</td>
<tr>
<td width="300">Inland (steuerfrei):</td><td>[STEUER_ERLOESE_INLAND_NICHTSTEUERBAR][MSGSTEUER_ERLOESE_INLAND_NICHTSTEUERBAR]</td>
</tr>
<tr>
<td width="300">Innergemeinschaftlich EU:</td><td>[STEUER_ERLOESE_INLAND_INNERGEMEINSCHAFTLICH][MSGSTEUER_ERLOESE_INLAND_INNERGEMEINSCHAFTLICH]</td>
</tr>
<tr>
<td width="300">EU (normal):</td><td>[STEUER_ERLOESE_INLAND_EUNORMAL][MSGSTEUER_ERLOESE_INLAND_EUNORMAL]</td>
</tr>
<tr>
<td width="300">EU (erm&auml;&szlig;igt):</td><td>[STEUER_ERLOESE_INLAND_EUERMAESSIGT][MSGSTEUER_ERLOESE_INLAND_EUERMAESSIGT]</td>
</tr>
<tr>
<td width="300">Export:</td><td>[STEUER_ERLOESE_INLAND_EXPORT][MSGSTEUER_ERLOESE_INLAND_EXPORT]</td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="col-xs-12 col-md-4 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Finanzbuchhaltung Export Aufwendungen|}</legend>
<table>
<tr>
<td width="300">Inland (normal):</td><td>[STEUER_AUFWENDUNG_INLAND_NORMAL][MSGSTEUER_AUFWENDUNG_INLAND_NORMAL]</td>
</tr>
<tr>
<td width="300">Inland (erm&auml;&szlig;igt):</td><td>[STEUER_AUFWENDUNG_INLAND_ERMAESSIGT][MSGSTEUER_AUFWENDUNG_INLAND_ERMAESSIGT]</td>
</tr>
<tr>
<td width="300">Inland (steuefrei):</td><td>[STEUER_AUFWENDUNG_INLAND_NICHTSTEUERBAR][MSGSTEUER_AUFWENDUNG_INLAND_NICHTSTEUERBAR]</td>
</tr>
<tr>
<td width="300">Innergemeinschaftlich EU:</td><td>[STEUER_AUFWENDUNG_INLAND_INNERGEMEINSCHAFTLICH][MSGSTEUER_AUFWENDUNG_INLAND_INNERGEMEINSCHAFTLICH]</td>
</tr>
<tr>
<td width="300">EU (normal):</td><td>[STEUER_AUFWENDUNG_INLAND_EUNORMAL][MSGSTEUER_AUFWENDUNG_INLAND_EUNORMAL]</td>
</tr>
<tr>
<td width="300">EU (erm&auml;&szlig;igt):</td><td>[STEUER_AUFWENDUNG_INLAND_EUERMAESSIGT][MSGSTEUER_AUFWENDUNG_INLAND_EUERMAESSIGT]</td>
</tr>
<tr>
<td width="300">Import:</td><td>[STEUER_AUFWENDUNG_INLAND_IMPORT][MSGSTEUER_AUFWENDUNG_INLAND_IMPORT]</td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="col-xs-12 col-md-4 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<legend>{|Einstellungen|}</legend>
<table>
<tr>
<td width="300">Sachkonto f&uuml;r Verbindlichkeiten-Vorkontierung:</td><td colspan="3">[SACHKONTO]</td>
</tr>
<tr>
<td width="300">Kostenstelle:</td><td>[KOSTENSTELLE]</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<br />
<input type="submit" name="speichern" value="Speichern" onclick="this.form.action += '#tabs-5';" style="float:right"/>
</div>
</div> </div>
<script> <script>

View File

@ -292,7 +292,6 @@
<tr><td>N&auml;chste Anfragenummer:</td><td>[NEXT_ANFRAGE][MSGNEXT_ANFRAGE]&nbsp;</td></tr> <tr><td>N&auml;chste Anfragenummer:</td><td>[NEXT_ANFRAGE][MSGNEXT_ANFRAGE]&nbsp;</td></tr>
<tr><td>N&auml;chste Proformarechnungsnummer:</td><td>[NEXT_PROFORMARECHNUNG][MSGNEXT_PROFORMARECHNUNG]&nbsp;</td></tr> <tr><td>N&auml;chste Proformarechnungsnummer:</td><td>[NEXT_PROFORMARECHNUNG][MSGNEXT_PROFORMARECHNUNG]&nbsp;</td></tr>
<tr><td>Nächste Verbindlichkeitsnummer:</td><td>[NEXT_VERBINDLICHKEIT][MSGNEXT_VERBINDLICHKEIT] </td></tr> <tr><td>Nächste Verbindlichkeitsnummer:</td><td>[NEXT_VERBINDLICHKEIT][MSGNEXT_VERBINDLICHKEIT] </td></tr>
<tr><td>Nächste Lieferantengutschriftsnummer:</td><td>[NEXT_LIEFERANTENGUTSCHRIFT][MSGNEXT_LIEFERANTENGUTSCHRIFT] </td></tr>
<tr><td>Nächste Warenbuchungsbelegnummer:</td><td>[NEXT_GOODSPOSTINGDOCUMENT][MSGNEXT_GOODSPOSTINGDOCUMENT] </td></tr> <tr><td>Nächste Warenbuchungsbelegnummer:</td><td>[NEXT_GOODSPOSTINGDOCUMENT][MSGNEXT_GOODSPOSTINGDOCUMENT] </td></tr>
<tr><td>N&auml;chste Kundennummer:</td><td>[NEXT_KUNDENNUMMER][MSGNEXT_KUNDENNUMMER]&nbsp;</td></tr> <tr><td>N&auml;chste Kundennummer:</td><td>[NEXT_KUNDENNUMMER][MSGNEXT_KUNDENNUMMER]&nbsp;</td></tr>
<tr><td>N&auml;chste Lieferantenummer:</td><td>[NEXT_LIEFERANTENNUMMER][MSGNEXT_LIEFERANTENNUMMER]&nbsp;</td></tr> <tr><td>N&auml;chste Lieferantenummer:</td><td>[NEXT_LIEFERANTENNUMMER][MSGNEXT_LIEFERANTENNUMMER]&nbsp;</td></tr>

Some files were not shown because too many files have changed in this diff Show More