Merge branch 'master' into matrixartikel
# Conflicts: # .gitignore
1
.gitignore
vendored
@ -3,3 +3,4 @@ conf/user_defined.php
|
||||
userdata
|
||||
www/cache/
|
||||
node_modules/
|
||||
www/themes/new/css/custom.css
|
||||
|
@ -223,7 +223,7 @@ if ($task) {
|
||||
} catch (Exception $e) {
|
||||
$app->erp->LogFile(
|
||||
$app->DB->real_escape_string(
|
||||
'Prozessstarter Fehler bei Aufruf des Moduls ' . $task[$task_index]['parameter'] . ': ' . $e->getMessage()
|
||||
'Prozessstarter Fehler bei Aufruf des Moduls ' . $task[$task_index]['parameter'] . ': ' . $e->getMessage()." Trace: ".$e->GetTraceAsString()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -16729,7 +16729,9 @@ INSERT INTO `firmendaten_werte` (`id`, `name`, `typ`, `typ1`, `typ2`, `wert`, `d
|
||||
(386, 'cleaner_shopimport_tage', 'int', '11', '', '90', '90', 0, 0),
|
||||
(387, 'cleaner_adapterbox', 'tinyint', '1', '', '1', '1', 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
|
||||
@ -16749,6 +16751,24 @@ 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),
|
||||
(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);
|
||||
|
||||
|
||||
/* OpenXE 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);
|
||||
/* OpenXE 2024-01-24 für datatablelabel */
|
||||
|
||||
INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES
|
||||
(1, 'artikel', 1),
|
||||
(2, 'provisionenartikel', 1),
|
||||
|
@ -765,6 +765,7 @@ $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']['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']['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']['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.";
|
||||
|
@ -1230,7 +1230,7 @@ class DB{
|
||||
$sql = "UPDATE `$tablename` SET ";
|
||||
foreach($ArrCols as $key=>$value) {
|
||||
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)) {
|
||||
|
@ -736,9 +736,10 @@ class YUI {
|
||||
if($value == '')$value = '0';
|
||||
$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");
|
||||
$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");
|
||||
if($parent && $sort == 1)$this->app->DB->Update("UPDATE $module SET rabatt = '$value',keinrabatterlaubt=1 WHERE id = '$parent' 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");
|
||||
//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')))
|
||||
{
|
||||
$tmptable_value = $this->app->DB->Select("SELECT $module FROM $table WHERE id = '$id' LIMIT 1");
|
||||
@ -2853,7 +2854,64 @@ class YUI {
|
||||
LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id
|
||||
WHERE b.$module='$id'";
|
||||
|
||||
} else {
|
||||
}
|
||||
else if ($module == "verbindlichkeit") // OpenXE
|
||||
{
|
||||
$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;
|
||||
$this->app->erp->RunHook('yui_position_sql', 3, $table, $id, $sql);
|
||||
if($sql === null){
|
||||
@ -3539,34 +3597,26 @@ class YUI {
|
||||
|
||||
function IconsSQLVerbindlichkeit() {
|
||||
|
||||
$go_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/ware_go.png\" style=\"margin-right:1px\" title=\"Wareneingangsprüfung OK\" border=\"0\">";
|
||||
$stop_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/ware_stop.png\" style=\"margin-right:1px\" title=\"Wareneingangsprüfung fehlt\" border=\"0\">";
|
||||
$go_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/summe_go.png\" style=\"margin-right:1px\" title=\"Rechnungseingangsprüfung OK\" border=\"0\">";
|
||||
$stop_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/summe_stop.png\" style=\"margin-right:1px\" title=\"Rechnungseingangsprüfung fehlt\" border=\"0\">";
|
||||
$go_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/lagergo.png\" style=\"margin-right:1px\" title=\"Wareneingangsprüfung OK\" border=\"0\">";
|
||||
$stop_ware = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/lagerstop.png\" style=\"margin-right:1px\" title=\"Wareneingangsprüfung fehlt\" 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_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üfung OK\" border=\"0\">";
|
||||
$stop_summe = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/check_stop.png\" style=\"margin-right:1px\" title=\"Rechnungseingangsprüfung fehlt\" border=\"0\">";
|
||||
|
||||
$go_zahlung = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/bank_go.svg\" style=\"margin-right:1px\" title=\"Kontoverknüpfung OK\" border=\"0\">";
|
||||
$stop_zahlung = "<img src=\"./themes/{$this->app->Conf->WFconf['defaulttheme']}/images/bank_stop.svg\" style=\"margin-right:1px\" title=\"Kontoverknü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\">";
|
||||
$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=\"komplett 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\">";
|
||||
return "CONCAT('<table><tr><td nowrap>',
|
||||
if(datei_anzahl > 0,'$go_pdf','$stop_pdf'),
|
||||
if(v.freigabe,'$go_ware','$stop_ware'),
|
||||
if(v.rechnungsfreigabe,'$go_summe','$stop_summe'),
|
||||
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'
|
||||
),
|
||||
if(v.bezahlt,'$go_betragbezahlt','$stop_betragbezahlt'),
|
||||
'</td></tr></table>')";
|
||||
}
|
||||
|
||||
@ -14862,8 +14912,6 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
|
||||
$table->headings[4] = 'Abr. bei Kd';
|
||||
$table->headings[5] = 'sonst. MwSt'; // kann man auch umbenennen in Keine
|
||||
|
||||
|
||||
|
||||
$table->headings[6] = 'MwSt';
|
||||
$table->headings[7] = 'Kommentar';
|
||||
$table->headings[8] = 'Bezahlt';
|
||||
|
@ -41,6 +41,10 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
|
||||
$defaultorder = 1;
|
||||
$defaultorderdesc = 0;
|
||||
$aligncenter = array();
|
||||
$alignright = array();
|
||||
$numbercols = array();
|
||||
$sumcol = array();
|
||||
|
||||
$dropnbox = "PLACEHOLDER_DROPNBOX";
|
||||
|
||||
@ -97,7 +101,7 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
$id = $this->app->Secure->GetGET('id');
|
||||
|
||||
// Check if other users are editing this id
|
||||
if($this->app->erp->DisableModul('artikel',$id))
|
||||
if($this->app->erp->DisableModul('PLACEHOLDER_MODULENAME',$id))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -165,6 +169,12 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||
}
|
||||
|
||||
if (!empty($result)) {
|
||||
$PLACEHOLDER_MODULENAME_from_db = $result[0];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add displayed items later
|
||||
*
|
||||
@ -177,7 +187,6 @@ class PLACEHOLDER_MODULECLASSNAME {
|
||||
|
||||
*/
|
||||
|
||||
// $this->SetInput($input);
|
||||
$this->app->Tpl->Parse('PAGE', "PLACEHOLDER_MODULENAME_edit.tpl");
|
||||
}
|
||||
|
||||
|
@ -3649,6 +3649,17 @@
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "kontorahmen",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
@ -16976,6 +16987,17 @@
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "kontorahmen",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "YES",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
@ -30911,6 +30933,122 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "crossselling_artikel",
|
||||
"collation": "utf8mb3_general_ci",
|
||||
"type": "BASE TABLE",
|
||||
"columns": [
|
||||
{
|
||||
"Field": "id",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "PRI",
|
||||
"Default": null,
|
||||
"Extra": "auto_increment",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "aktiv",
|
||||
"Type": "int(1)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "art",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "artikel",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "crosssellingartikel",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "shop",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "sort",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "bemerkung",
|
||||
"Type": "varchar(255)",
|
||||
"Collation": "utf8mb3_general_ci",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "gegenseitigzuweisen",
|
||||
"Type": "int(1)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
{
|
||||
"Key_name": "PRIMARY",
|
||||
"Index_type": "BTREE",
|
||||
"columns": [
|
||||
"id"
|
||||
],
|
||||
"Non_unique": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "datei",
|
||||
"collation": "utf8mb3_general_ci",
|
||||
@ -52382,6 +52520,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "nummer",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "PRI",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "bezeichnung",
|
||||
"Type": "varchar(255)",
|
||||
@ -52393,6 +52542,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "beschreibung",
|
||||
"Type": "varchar(255)",
|
||||
"Collation": "utf8mb3_general_ci",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "projekt",
|
||||
"Type": "varchar(255)",
|
||||
@ -64439,6 +64599,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "datum_abgeschlossen",
|
||||
"Type": "datetime",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "verpackungszustand",
|
||||
"Type": "int(11)",
|
||||
@ -64494,6 +64665,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "bearbeiter_abgeschlossen",
|
||||
"Type": "varchar(255)",
|
||||
"Collation": "utf8mb3_general_ci",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "projekt",
|
||||
"Type": "int(11)",
|
||||
@ -94837,6 +95019,17 @@
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "produkt_ausgehend",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
@ -108970,6 +109163,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "usereditid",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "PRI",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "belegnr",
|
||||
"Type": "varchar(255)",
|
||||
@ -108981,6 +109185,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "datum",
|
||||
"Type": "date",
|
||||
"Collation": null,
|
||||
"Null": "YES",
|
||||
"Key": "",
|
||||
"Default": null,
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "status_beleg",
|
||||
"Type": "varchar(64)",
|
||||
@ -110707,6 +110922,39 @@
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "steuersatz_normal",
|
||||
"Type": "decimal(5,2)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "steuersatz_ermaessigt",
|
||||
"Type": "decimal(5,2)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "ust_befreit",
|
||||
"Type": "int(1)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
@ -111160,6 +111408,17 @@
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "paketdistribution",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "MUL",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "waehrung",
|
||||
"Type": "varchar(255)",
|
||||
@ -111302,6 +111561,17 @@
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
},
|
||||
{
|
||||
"Field": "kontorahmen",
|
||||
"Type": "int(11)",
|
||||
"Collation": null,
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "0",
|
||||
"Extra": "",
|
||||
"Privileges": "select,insert,update,references",
|
||||
"Comment": ""
|
||||
}
|
||||
],
|
||||
"keys": [
|
||||
@ -117925,7 +118195,7 @@
|
||||
{
|
||||
"name": "fibu_buchungen_alle_view",
|
||||
"type": "VIEW",
|
||||
"Create": "CREATE VIEW `fibu_buchungen_alle_view` AS select `fb`.`buchungsart` AS `buchungsart`,`fb`.`typ` AS `typ`,`fb`.`id` AS `id`,if(`fibu_objekte_view`.`datum` <> '',`fibu_objekte_view`.`datum`,`fb`.`datum`) AS `datum`,`fb`.`gegen_typ` AS `doc_typ`,`fb`.`gegen_id` AS `doc_id`,`fibu_objekte_view`.`info` AS `doc_info`, CAST(`fb`.`soll` AS decimal(10,2)) AS `betrag`,`fb`.`waehrung` AS `waehrung`,`fb`.`edit_module` AS `edit_module`,`fb`.`edit_id` AS `edit_id` from ((select 'umsatz' AS `buchungsart`,'rechnung' AS `typ`,`rechnung`.`id` AS `id`,-`rechnung`.`soll` AS `soll`,`rechnung`.`waehrung` AS `waehrung`,'rechnung' AS `gegen_typ`,`rechnung`.`id` AS `gegen_id`,`rechnung`.`datum` AS `datum`,'rechnung' AS `edit_module`,`rechnung`.`id` AS `edit_id` from `rechnung` where `rechnung`.`belegnr` <> '' union select 'umsatz' AS `umsatz`,'gutschrift' AS `gutschrift`,`gutschrift`.`id` AS `id`,`gutschrift`.`soll` AS `soll`,`gutschrift`.`waehrung` AS `waehrung`,'gutschrift' AS `gutschrift`,`gutschrift`.`id` AS `id`,`gutschrift`.`datum` AS `datum`,'gutschrift' AS `edit_module`,`gutschrift`.`id` AS `id` from `gutschrift` where `gutschrift`.`belegnr` <> '' union select 'aufwand' AS `aufwand`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id`,`verbindlichkeit`.`betrag` AS `betrag`,`verbindlichkeit`.`waehrung` AS `waehrung`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id`,`verbindlichkeit`.`rechnungsdatum` AS `rechnungsdatum`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id` from `verbindlichkeit` where `verbindlichkeit`.`belegnr` <> '' union select 'zahlung' AS `zahlung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id`,`kontoauszuege`.`soll` AS `soll`,`kontoauszuege`.`waehrung` AS `waehrung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id`,`kontoauszuege`.`buchung` AS `buchung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id` from `kontoauszuege` where `kontoauszuege`.`importfehler` is null union select 'abbuchung' AS `abbuchung`,`fibu_buchungen`.`von_typ` AS `von_typ`,`fibu_buchungen`.`von_id` AS `von_id`,`fibu_buchungen`.`betrag` AS `betrag`,`fibu_buchungen`.`waehrung` AS `waehrung`,`fibu_buchungen`.`nach_typ` AS `nach_typ`,`fibu_buchungen`.`nach_id` AS `nach_id`,`fibu_buchungen`.`datum` AS `datum`,'fibu_buchungen' AS `fibu_buchungen`,`fibu_buchungen`.`id` AS `id` from `fibu_buchungen` union select 'zubuchung' AS `zubuchung`,`fibu_buchungen`.`nach_typ` AS `nach_typ`,`fibu_buchungen`.`nach_id` AS `nach_id`,-`fibu_buchungen`.`betrag` AS `-``openxe``.``fibu_buchungen``.``betrag```,`fibu_buchungen`.`waehrung` AS `waehrung`,`fibu_buchungen`.`von_typ` AS `von_typ`,`fibu_buchungen`.`von_id` AS `von_id`,`fibu_buchungen`.`datum` AS `datum`,'fibu_buchungen' AS `fibu_buchungen`,`fibu_buchungen`.`id` AS `id` from `fibu_buchungen`) `fb` left join `fibu_objekte_view` on(`fb`.`gegen_typ` = `fibu_objekte_view`.`typ` and `fb`.`gegen_id` = `fibu_objekte_view`.`id`)) where `fb`.`datum` >= (select `firmendaten_werte`.`wert` from `firmendaten_werte` where `firmendaten_werte`.`name` = 'fibu_buchungen_startdatum') and `fibu_objekte_view`.`datum` >= (select `firmendaten_werte`.`wert` from `firmendaten_werte` where `firmendaten_werte`.`name` = 'fibu_buchungen_startdatum') or `fibu_objekte_view`.`datum` = ''"
|
||||
"Create": "CREATE VIEW `fibu_buchungen_alle_view` AS select `fb`.`buchungsart` AS `buchungsart`,`fb`.`typ` AS `typ`,`fb`.`id` AS `id`,if(`fibu_objekte_view`.`datum` <> '',`fibu_objekte_view`.`datum`,`fb`.`datum`) AS `datum`,`fb`.`gegen_typ` AS `doc_typ`,`fb`.`gegen_id` AS `doc_id`,`fibu_objekte_view`.`info` AS `doc_info`,cast(`fb`.`soll` as decimal(10,2)) AS `betrag`,`fb`.`waehrung` AS `waehrung`,`fb`.`edit_module` AS `edit_module`,`fb`.`edit_id` AS `edit_id` from ((select 'umsatz' AS `buchungsart`,'rechnung' AS `typ`,`rechnung`.`id` AS `id`,-`rechnung`.`soll` AS `soll`,`rechnung`.`waehrung` AS `waehrung`,'rechnung' AS `gegen_typ`,`rechnung`.`id` AS `gegen_id`,`rechnung`.`datum` AS `datum`,'rechnung' AS `edit_module`,`rechnung`.`id` AS `edit_id` from `rechnung` where `rechnung`.`belegnr` <> '' union select 'umsatz' AS `umsatz`,'gutschrift' AS `gutschrift`,`gutschrift`.`id` AS `id`,`gutschrift`.`soll` AS `soll`,`gutschrift`.`waehrung` AS `waehrung`,'gutschrift' AS `gutschrift`,`gutschrift`.`id` AS `id`,`gutschrift`.`datum` AS `datum`,'gutschrift' AS `edit_module`,`gutschrift`.`id` AS `id` from `gutschrift` where `gutschrift`.`belegnr` <> '' union select 'aufwand' AS `aufwand`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id`,`verbindlichkeit`.`betrag` AS `betrag`,`verbindlichkeit`.`waehrung` AS `waehrung`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id`,`verbindlichkeit`.`rechnungsdatum` AS `rechnungsdatum`,'verbindlichkeit' AS `verbindlichkeit`,`verbindlichkeit`.`id` AS `id` from `verbindlichkeit` where `verbindlichkeit`.`belegnr` <> '' union select 'zahlung' AS `zahlung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id`,`kontoauszuege`.`soll` AS `soll`,`kontoauszuege`.`waehrung` AS `waehrung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id`,`kontoauszuege`.`buchung` AS `buchung`,'kontoauszuege' AS `kontoauszuege`,`kontoauszuege`.`id` AS `id` from `kontoauszuege` where `kontoauszuege`.`importfehler` is null union select 'abbuchung' AS `abbuchung`,`fibu_buchungen`.`von_typ` AS `von_typ`,`fibu_buchungen`.`von_id` AS `von_id`,`fibu_buchungen`.`betrag` AS `betrag`,`fibu_buchungen`.`waehrung` AS `waehrung`,`fibu_buchungen`.`nach_typ` AS `nach_typ`,`fibu_buchungen`.`nach_id` AS `nach_id`,`fibu_buchungen`.`datum` AS `datum`,'fibu_buchungen' AS `fibu_buchungen`,`fibu_buchungen`.`id` AS `id` from `fibu_buchungen` union select 'zubuchung' AS `zubuchung`,`fibu_buchungen`.`nach_typ` AS `nach_typ`,`fibu_buchungen`.`nach_id` AS `nach_id`,-`fibu_buchungen`.`betrag` AS `-``openxe``.``fibu_buchungen``.``betrag```,`fibu_buchungen`.`waehrung` AS `waehrung`,`fibu_buchungen`.`von_typ` AS `von_typ`,`fibu_buchungen`.`von_id` AS `von_id`,`fibu_buchungen`.`datum` AS `datum`,'fibu_buchungen' AS `fibu_buchungen`,`fibu_buchungen`.`id` AS `id` from `fibu_buchungen`) `fb` left join `fibu_objekte_view` on(`fb`.`gegen_typ` = `fibu_objekte_view`.`typ` and `fb`.`gegen_id` = `fibu_objekte_view`.`id`)) where `fb`.`datum` >= (select `firmendaten_werte`.`wert` from `firmendaten_werte` where `firmendaten_werte`.`name` = 'fibu_buchungen_startdatum') and `fibu_objekte_view`.`datum` >= (select `firmendaten_werte`.`wert` from `firmendaten_werte` where `firmendaten_werte`.`name` = 'fibu_buchungen_startdatum') or `fibu_objekte_view`.`datum` = ''"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1699,7 +1699,6 @@ if (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 an
|
||||
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 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
|
||||
)
|
||||
UNION ALL (
|
||||
@ -1708,7 +1707,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
|
||||
FROM `seriennummern` s
|
||||
INNER JOIN lieferschein_position lp ON s.lieferscheinpos = lp.id
|
||||
INNER JOIN lieferschein l ON lp.lieferschein = l.id WHERE s.seriennummer <> '' AND l.id NOT IN (SELECT lieferscheinid FROM retoure LIMIT 1)
|
||||
INNER JOIN lieferschein l ON lp.lieferschein = l.id WHERE s.seriennummer <> ''
|
||||
GROUP BY s.seriennummer, lp.artikel
|
||||
|
||||
|
||||
|
@ -2676,7 +2676,7 @@ public function NavigationHooks(&$menu)
|
||||
// @refactor in Dateien Modul
|
||||
function AnzahlDateien($objekt,$id)
|
||||
{
|
||||
return $this->app->DB->Select("SELECT COUNT(id) FROM datei_stichwoerter WHERE objekt='$objekt' AND parameter='$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");
|
||||
}
|
||||
|
||||
|
||||
@ -8605,6 +8605,7 @@ function StandardFirmendatenWerte()
|
||||
$this->AddNeuenFirmendatenWert( 'bezeichnungproformarechnungersatz', 'varchar', '64', '', 'Lieferschein mit Preis', 'Lieferschein mit Preis', 0, 0);
|
||||
$this->AddNeuenFirmendatenWert( 'bezeichnungauftragersatz', 'varchar', '64', '', 'Proformarechnung', 'Proformarechnung', 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( 'bezeichnungbestellungersatz', 'varchar', '64', '', 'Alternative Beschriftung', 'Alternative Beschriftung', 0, 0);
|
||||
$this->AddNeuenFirmendatenWert( 'footer_zentriert', 'int', '1', '', '0', '0', 0, 0);
|
||||
@ -26850,7 +26851,9 @@ function Firmendaten($field,$projekt="")
|
||||
$tmp[$extra[$i]['type']] = $extra[$i]['bezeichnung'];
|
||||
}
|
||||
if($zahlungsweise && empty($tmp[$zahlungsweise]))$tmp[$zahlungsweise] = ucfirst($zahlungsweise);
|
||||
if (!empty($tmp)) {
|
||||
asort($tmp);
|
||||
}
|
||||
return $tmp;
|
||||
// return array('rechnung'=>'Rechnung','vorkasse'=>'Vorkasse','nachnahme'=>'Nachnahme','kreditkarte'=>'Kreditkarte','einzugsermaechtigung'=>'Einzugsermaechtigung','bar'=>'Bar','paypal'=>'PayPal','lastschrift'=>'Lastschrift');
|
||||
}
|
||||
@ -27033,7 +27036,7 @@ function Firmendaten($field,$projekt="")
|
||||
'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',
|
||||
'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','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','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',
|
||||
'beleg_pos_ean','beleg_pos_charge','beleg_pos_mhd','beleg_pos_sn','beleg_pos_zolltarifnummer',
|
||||
'schnellanlegen_ohnefreigabe','langeartikelnummern','noauth','belege_subpositionen',
|
||||
'belege_subpositionenstuecklisten','briefpapier_ohnedoppelstrich','bearbeiteremailimdokument',
|
||||
@ -34837,7 +34840,7 @@ function Firmendaten($field,$projekt="")
|
||||
$projekt = $orderRow['projekt'];
|
||||
$differenztage = $this->Projektdaten($projekt,'differenz_auslieferung_tage');
|
||||
if($differenztage<0 || empty($differenztage)) {
|
||||
$differenztage=2;
|
||||
$differenztage=0;
|
||||
}
|
||||
$lieferdatum = $orderRow['lieferdatum'];
|
||||
$land = $orderRow['land'];
|
||||
@ -35375,6 +35378,7 @@ function Firmendaten($field,$projekt="")
|
||||
{
|
||||
case 'bestellung':
|
||||
case 'anfrage':
|
||||
case 'verbindlichkeit':
|
||||
$aufwendung = true;
|
||||
break;
|
||||
}
|
||||
@ -37298,7 +37302,7 @@ function Firmendaten($field,$projekt="")
|
||||
|
||||
function GetDateiSubjektObjekt($subjekt,$objekt,$parameter)
|
||||
{
|
||||
$dateien = $this->app->DB->SelectArr("SELECT datei FROM datei_stichwoerter WHERE subjekt LIKE '$subjekt' AND objekt LIKE '$objekt' AND parameter='$parameter' GROUP by datei");
|
||||
$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");
|
||||
if(empty($dateien)) {
|
||||
return null;
|
||||
}
|
||||
|
@ -1586,14 +1586,20 @@ class Remote
|
||||
$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
|
||||
JOIN artikel a ON ca.artikel = a.id
|
||||
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 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')
|
||||
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");
|
||||
GROUP BY ca.artikel, ca.art";
|
||||
|
||||
$gegenseitigzugewiesen = $this->app->DB->SelectArr($sql);
|
||||
|
||||
if (!empty($gegenseitigzugewiesen)) {
|
||||
foreach ($gegenseitigzugewiesen as $gegenseitigzugewiesenercrosssellingartikel) {
|
||||
$data[$i]['crosssellingartikel'][] = $gegenseitigzugewiesenercrosssellingartikel;
|
||||
|
@ -302,7 +302,7 @@ class BestellungPDF extends BriefpapierCustom {
|
||||
}
|
||||
|
||||
if($this->bestellungohnepreis) {
|
||||
$value['preis'] = '-';
|
||||
$value['preis'] = null;
|
||||
}
|
||||
|
||||
if($value['waehrung']!='' && $value['waehrung']!=$this->waehrung){
|
||||
|
@ -38,6 +38,7 @@ class ObjGenVerbindlichkeit_Position
|
||||
private $preis;
|
||||
private $menge;
|
||||
private $kostenstelle;
|
||||
private $sachkonto;
|
||||
|
||||
public $app; //application object
|
||||
|
||||
@ -76,12 +77,13 @@ $result = $result[0];
|
||||
$this->preis=$result['preis'];
|
||||
$this->menge=$result['menge'];
|
||||
$this->kostenstelle=$result['kostenstelle'];
|
||||
$this->sachkonto=$result['sachkonto'];
|
||||
}
|
||||
|
||||
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`)
|
||||
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}')";
|
||||
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}')";
|
||||
|
||||
$this->app->DB->Insert($sql);
|
||||
$this->id = $this->app->DB->GetInsertID();
|
||||
@ -113,7 +115,8 @@ $result = $result[0];
|
||||
`steuertext`='{$this->steuertext}',
|
||||
`preis`='{$this->preis}',
|
||||
`menge`='{$this->menge}',
|
||||
`kostenstelle`='{$this->kostenstelle}'
|
||||
`kostenstelle`='{$this->kostenstelle}',
|
||||
`sachkonto`='{$this->sachkonto}'
|
||||
WHERE (`id`='{$this->id}')";
|
||||
|
||||
$this->app->DB->Update($sql);
|
||||
@ -152,6 +155,7 @@ $result = $result[0];
|
||||
$this->preis='';
|
||||
$this->menge='';
|
||||
$this->kostenstelle='';
|
||||
$this->sachkonto='';
|
||||
}
|
||||
|
||||
public function Copy()
|
||||
@ -234,5 +238,7 @@ $result = $result[0];
|
||||
public function GetMenge() { return $this->menge; }
|
||||
public function SetKostenstelle($value) { $this->kostenstelle=$value; }
|
||||
public function GetKostenstelle() { return $this->kostenstelle; }
|
||||
public function SetSachkonto($value) { $this->sachkonto=$value; }
|
||||
public function GetSachkonto() { return $this->sachkonto; }
|
||||
|
||||
}
|
||||
|
@ -682,6 +682,7 @@ class Ajax {
|
||||
echo $str;
|
||||
exit;
|
||||
}
|
||||
|
||||
if(!empty($datei['parameter'])) {
|
||||
if($cmd === 'projekt') {
|
||||
if(!$this->app->erp->UserProjektRecht($datei['parameter'])) {
|
||||
@ -716,7 +717,6 @@ class Ajax {
|
||||
}
|
||||
}
|
||||
//Rechte prüfen
|
||||
|
||||
$userdata = isset($this->app->Conf->WFuserdata)
|
||||
?$this->app->Conf->WFuserdata
|
||||
:(str_replace('index.php', '', $_SERVER['SCRIPT_FILENAME']).'../userdata');
|
||||
@ -754,29 +754,12 @@ class Ajax {
|
||||
exit;
|
||||
break;
|
||||
case 'application/pdf':
|
||||
$str = file_get_contents(dirname(__DIR__) . '/themes/new/images/pdf.svg');
|
||||
$str = file_get_contents(dirname(__DIR__) . '/themes/new/images/pdf.png');
|
||||
header('Content-type: image/png');
|
||||
echo $str;
|
||||
exit;
|
||||
break;
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -2391,7 +2374,14 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
||||
for($i = 0; $i < $carr; $i++)
|
||||
$newarr[] = $arr[$i]['name'];
|
||||
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":
|
||||
$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");
|
||||
@ -2470,6 +2460,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
||||
$subwhere = $this->AjaxFilterWhere($termorig,$felder);
|
||||
|
||||
$arr = $this->app->DB->SelectArr("SELECT CONCAT(nummer,' ',beschreibung) as name FROM kostenstellen WHERE $subwhere ORDER by nummer");
|
||||
|
||||
$carr = !empty($arr)?count($arr):0;
|
||||
for($i = 0; $i < $carr; $i++)
|
||||
$newarr[] = $arr[$i]['name'];
|
||||
@ -2510,7 +2501,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");
|
||||
}
|
||||
$beleg = str_replace('lieferanten','',$filtername);
|
||||
$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')
|
||||
$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')
|
||||
".($adresse?" AND adresse = '$adresse' ":'')." ".$this->app->erp->ProjektRechte('projekt')."
|
||||
ORDER by belegnr LIMIT 20" );
|
||||
$carr = !empty($arr)?count($arr):0;
|
||||
|
@ -802,7 +802,7 @@ if (!function_exists('getallheaders')) {
|
||||
return $permissions;
|
||||
}
|
||||
|
||||
private function fillApiPermissions()
|
||||
function fillApiPermissions()
|
||||
{
|
||||
foreach ($this->getGroupedPermissions() as $group => $permissions){
|
||||
foreach ($permissions as $permission){
|
||||
|
@ -267,6 +267,12 @@ class Api_account
|
||||
|
||||
$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 = [];
|
||||
foreach ($apiPermissions as $apiPermission){
|
||||
$groupedApiPermissions[$apiPermission['group']][] =$apiPermission;
|
||||
|
@ -1,6 +1,8 @@
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
<li><a href="#tabs-1"></a></li>
|
||||
<li>
|
||||
<a href="#tabs-1"></a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- Example for multiple tabs
|
||||
<ul hidden">
|
||||
@ -8,22 +10,46 @@
|
||||
<li><a href="#tabs-2">Second Tab</a></li>
|
||||
</ul>
|
||||
-->
|
||||
<div id="tabs-1">
|
||||
[MESSAGE]
|
||||
<form action="" method="post">
|
||||
[FORMHANDLEREVENT]
|
||||
<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>{|Allgemein|}</legend>
|
||||
<input type="submit" name="submit" value="Speichern" style="float:right" />
|
||||
<table width="100%" border="0" class="mkTableFormular">
|
||||
<tr><td>{|E-Mail-Adresse|}:</td><td><input type="text" name="email" value="[EMAIL]" size="40"></td></tr>
|
||||
<tr><td>{|Angezeigter Name|}:</td><td><input type="text" name="angezeigtername" value="[ANGEZEIGTERNAME]" size="40"></td></tr>
|
||||
<tr><td>{|Interne Beschreibung|}:</td><td><input type="text" name="internebeschreibung" value="[INTERNEBESCHREIBUNG]" size="40"></td></tr>
|
||||
<tr><td>{|Benutzername|}:</td><td><input type="text" name="benutzername" value="[BENUTZERNAME]" size="40"></td></tr>
|
||||
<tr><td>{|Passwort|}:</td><td><input type="password" name="passwort" value="[PASSWORT]" size="40"></td></tr>
|
||||
<tr>
|
||||
<td width="200">{|E-Mail-Adresse|}:</td>
|
||||
<td>
|
||||
<input type="text" name="email" value="[EMAIL]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Angezeigter Name|}:</td>
|
||||
<td>
|
||||
<input type="text" name="angezeigtername" value="[ANGEZEIGTERNAME]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Interne Beschreibung|}:</td>
|
||||
<td>
|
||||
<input type="text" name="internebeschreibung" value="[INTERNEBESCHREIBUNG]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Benutzername|}:</td>
|
||||
<td>
|
||||
<input type="text" name="benutzername" value="[BENUTZERNAME]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Passwort|}:</td>
|
||||
<td>
|
||||
<input type="password" name="passwort" value="[PASSWORT]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
@ -37,19 +63,64 @@
|
||||
<fieldset>
|
||||
<legend>{|SMTP|}</legend>
|
||||
<table width="100%" border="0" class="mkTableFormular">
|
||||
<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>
|
||||
<tr><td>{|Server|}:</td><td><input type="text" name="smtp" value="[SMTP]" size="40"></td></tr>
|
||||
<tr><td>{|Verschlüsselung|}:</td><td><input type="text" name="smtp_ssl" value="[SMTP_SSL]" size="40"><i>0 = keine, 1 = TLS, 2 = SSL</i></td></tr>
|
||||
<tr><td>{|Port|}:</td><td><input type="text" name="smtp_port" value="[SMTP_PORT]" size="40"></td></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><td>{|Authparam|}:</td><td><input type="text" name="smtp_authparam" value="[SMTP_AUTHPARAM]" size="40"></td></tr>
|
||||
<tr><td>{|Client_alias|}:</td><td><input type="text" name="client_alias" value="[CLIENT_ALIAS]" size="40"></td></tr>
|
||||
<tr><td>{|Loglevel|}:</td><td><input type="text" name="smtp_loglevel" value="[SMTP_LOGLEVEL]" size="40"></td></tr>
|
||||
|
||||
<tr><td width="50">Testmail:</td><td>
|
||||
<tr>
|
||||
<td width="200">{|SMTP benutzen|}:</td>
|
||||
<td>
|
||||
<input type="checkbox" name="smtp_extra" value="1" [SMTP_EXTRA]>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Server|}:</td>
|
||||
<td>
|
||||
<input type="text" name="smtp" value="[SMTP]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Verschlüsselung|}:</td>
|
||||
<td>
|
||||
<select name="smtp_ssl">
|
||||
[SMTP_SSL_SELECT]
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Port|}:</td>
|
||||
<td>
|
||||
<input type="text" name="smtp_port" value="[SMTP_PORT]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Authtype|}:</td>
|
||||
<td>
|
||||
<select name="smtp_authtype">
|
||||
[SMTP_AUTHTYPE_SELECT]
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Authparam|}:</td>
|
||||
<td>
|
||||
<input type="text" name="smtp_authparam" value="[SMTP_AUTHPARAM]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Client alias|}:</td>
|
||||
<td>
|
||||
<input type="text" name="client_alias" value="[CLIENT_ALIAS]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|SMTP Debug|}:</td>
|
||||
<td>
|
||||
<input type="checkbox" name="smtp_loglevel" value="1" [SMTP_LOGLEVEL]>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50">Testmail:</td>
|
||||
<td>
|
||||
<input type="submit" form="smtp_test" value="Testmail senden" id="testmail-senden-button"> <i>Bitte erst speichern und dann senden!</i>
|
||||
</td></tr>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
@ -63,117 +134,213 @@
|
||||
<fieldset>
|
||||
<legend>{|IMAP|}</legend>
|
||||
<table width="100%" border="0" class="mkTableFormular">
|
||||
<tr><td>{|IMAP server|}:</td><td><input type="text" name="server" value="[SERVER]" size="40"></td></tr>
|
||||
<tr><td>{|imap_sentfolder_aktiv|}:</td><td><input type="text" name="imap_sentfolder_aktiv" value="[IMAP_SENTFOLDER_AKTIV]" size="40"></td></tr>
|
||||
<tr><td>{|imap_sentfolder|}:</td><td><input type="text" name="imap_sentfolder" value="[IMAP_SENTFOLDER]" size="40"></td></tr>
|
||||
<tr><td>{|imap_port|}:</td><td><input type="text" name="imap_port" value="[IMAP_PORT]" size="40"></td></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>
|
||||
<tr><td width="50">Testmail:</td><td>
|
||||
<tr>
|
||||
<td width="200">{|IMAP server|}:</td>
|
||||
<td>
|
||||
<input type="text" name="server" value="[SERVER]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Gesendete Mails in IMAP-Ordner legen|}:</td>
|
||||
<td>
|
||||
<input type="checkbox" name="imap_sentfolder_aktiv" value="1" [IMAP_SENTFOLDER_AKTIV]>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|IMAP-Ordner|}:</td>
|
||||
<td>
|
||||
<input type="text" name="imap_sentfolder" value="[IMAP_SENTFOLDER]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|IMAP-Port|}:</td>
|
||||
<td>
|
||||
<input type="text" name="imap_port" value="[IMAP_PORT]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|IMAP-Typ|}:</td>
|
||||
<td>
|
||||
<select name="imap_type">
|
||||
[IMAP_TYPE_SELECT]
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="50">Testmail:</td>
|
||||
<td>
|
||||
<input type="submit" form="imap_test" value="IMAP testen" id="testimap-button"> <i>Bitte erst speichern und dann testen!</i>
|
||||
</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>{|Archiv|}</legend>
|
||||
<table width="100%" border="0" class="mkTableFormular">
|
||||
<tr><td>{|E-Mailarchiv aktiv|}:</td><td><input type="text" name="emailbackup" value="[EMAILBACKUP]" size="40"></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>{|ticket|}:</td><td><input type="text" name="ticket" value="[TICKET]" size="40"></td></tr>
|
||||
<tr><td>{|ticketprojekt|}:</td><td><input type="text" id="ticketprojekt" name="ticketprojekt" value="[TICKETPROJEKT]" size="40"></td></tr>
|
||||
<tr><td>{|ticketqueue|}:</td><td><input type="text" id="ticketqueue" name="ticketqueue" value="[TICKETQUEUE]" size="40"></td></tr>
|
||||
<tr><td>{|abdatum|}:</td><td><input type="text" name="abdatum" value="[ABDATUM]" size="40"></td></tr>
|
||||
<tr><td>{|ticketloeschen|}:</td><td><input type="text" name="ticketloeschen" value="[TICKETLOESCHEN]" size="40"></td></tr>
|
||||
<tr><td>{|ticketabgeschlossen|}:</td><td><input type="text" name="ticketabgeschlossen" value="[TICKETABGESCHLOSSEN]" size="40"></td></tr>
|
||||
<tr><td>{|ticketemaileingehend|}:</td><td><input type="text" name="ticketemaileingehend" value="[TICKETEMAILEINGEHEND]" 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>{|Sonstiges|}</legend>
|
||||
<table width="100%" border="0" class="mkTableFormular">
|
||||
<tr><td>{|autosresponder_blacklist|}:</td><td><input type="text" name="autosresponder_blacklist" value="[AUTOSRESPONDER_BLACKLIST]" size="40"></td></tr>
|
||||
<tr><td>{|eigenesignatur|}:</td><td><input type="text" name="eigenesignatur" value="[EIGENESIGNATUR]" size="40"></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>{|firma|}:</td><td><input type="text" name="firma" value="[FIRMA]" size="40"></td></tr>
|
||||
<tr><td>{|geloescht|}:</td><td><input type="text" name="geloescht" value="[GELOESCHT]" size="40"></td></tr>
|
||||
<tr><td>{|mutex|}:</td><td><input type="text" name="mutex" value="[MUTEX]" size="40"></td></tr>
|
||||
<tr><td>{|autoresponder|}:</td><td><input type="text" name="autoresponder" value="[AUTORESPONDER]" size="40"></td></tr>
|
||||
<tr><td>{|geschaeftsbriefvorlage|}:</td><td><input type="text" name="geschaeftsbriefvorlage" value="[GESCHAEFTSBRIEFVORLAGE]" size="40"></td></tr>
|
||||
<tr><td>{|autoresponderbetreff|}:</td><td><textarea id="autoresponderbetreff" name="autoresponderbetreff" rows="6" style="width:100%;">[AUTORESPONDERBETREFF]</textarea></td></tr>
|
||||
<tr><td>{|autorespondertext|}:</td><td><textarea id="autorespondertext" name="autorespondertext" rows="6" style="width:100%;">[AUTORESPONDERTEXT]</textarea></td></tr>
|
||||
<tr><td>{|projekt|}:</td><td><input type="text" id="projekt" name="projekt" value="[PROJEKT]" size="40"></td></tr>
|
||||
</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>
|
||||
<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>
|
||||
<input type="submit" name="submit" value="Speichern" style="float:right"/>
|
||||
<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ür Ticket|}:</td>
|
||||
<td>
|
||||
<input type="text" id="ticketprojekt" name="ticketprojekt" value="[TICKETPROJEKT]" size="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{|Warteschlange fü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ö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ä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>
|
||||
-->
|
||||
</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 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 id="imap_test" action = "index.php">
|
||||
<input type="text" name="module" value="emailbackup" 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 id="imap_test" action="index.php">
|
||||
<input type="text" name="module" value="emailbackup" 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>
|
||||
|
||||
|
@ -1412,6 +1412,7 @@
|
||||
<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]"> <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]"> <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]"> <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">Beschriftung Abweichend Lieferschein:</td><td><input type="text" name="bezeichnunglieferscheinersatz" data-lang="bezeichnunglieferscheinersatz" value="[BEZEICHNUNGLIEFERSCHEINERSATZ]"> <i>Beschriftung in Lieferschein</i></td></tr>
|
||||
|
119
www/pages/content/kostenstellen_edit.tpl
Normal file
@ -0,0 +1,119 @@
|
||||
<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>
|
||||
|
10
www/pages/content/kostenstellen_list.tpl
Normal file
@ -0,0 +1,10 @@
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
||||
</ul>
|
||||
<div id="tabs-1">
|
||||
[MESSAGE]
|
||||
[TAB1]
|
||||
[TAB1NEXT]
|
||||
</div>
|
||||
</div>
|
@ -8,6 +8,7 @@ SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
||||
<li><a href="#tabs-2">Aufträge</a></li>
|
||||
</ul>
|
||||
<div id="tabs-1">
|
||||
[MESSAGE]
|
||||
[MESSAGE_INVOICES]
|
||||
<form method="post" action="#">
|
||||
[TAB_INVOICES]
|
||||
@ -19,6 +20,7 @@ SPDX-License-Identifier: LicenseRef-EGPL-3.1
|
||||
</form>
|
||||
</div>
|
||||
<div id="tabs-2">
|
||||
[MESSAGE]
|
||||
[MESSAGE_ORDERS]
|
||||
<form method="post" action="#">
|
||||
[TAB_ORDERS]
|
||||
|
85
www/pages/content/report_databaseview.tpl
Normal file
@ -0,0 +1,85 @@
|
||||
<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 [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 [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>
|
@ -60,7 +60,7 @@
|
||||
<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%;">{|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%;" onclick="if(confirm('Wirklich Ticketregel erstellen?'))document.getElementById('form-id').submit(); else return false;">{|Spamregel erstellen|}</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
215
www/pages/content/verbindlichkeit_edit.tpl
Normal file
@ -0,0 +1,215 @@
|
||||
<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ü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ücksetzen" [RUECKSETZENEINKAUFHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
|
||||
<i [EINKAUFINFOHIDDEN]>Wird automatisch gesetzt wenn Positionen vollstä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ü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 'bezahlt' 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ü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>
|
||||
|
93
www/pages/content/verbindlichkeit_list.tpl
Normal file
@ -0,0 +1,93 @@
|
||||
<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ü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ü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();" /> {|alle markieren|}
|
||||
<select id="sel_aktion" name="sel_aktion">
|
||||
<option value="">{|bitte wählen|} ...</option>
|
||||
[MANUELLFREIGABEEINKAUF]
|
||||
[MANUELLFREIGABEBUCHHALTUNG]
|
||||
[ALSBEZAHLTMARKIEREN]
|
||||
</select>
|
||||
<button name="submit" value="ausfuehren" class="ui-button-icon">{|Ausführen|}</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
[TAB1NEXT]
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function alleauswaehlen()
|
||||
{
|
||||
var wert = $('#auswahlalle').prop('checked');
|
||||
$('#verbindlichkeit_list').find(':checkbox').prop('checked',wert);
|
||||
}
|
||||
|
||||
</script>
|
@ -1,176 +1,76 @@
|
||||
|
||||
[FORMHANDLEREVENT]
|
||||
[MESSAGE]
|
||||
|
||||
<table class="tableborder" border="0" cellpadding="3" cellspacing="0" width="100%">
|
||||
<tbody>
|
||||
<tr valign="top" colspan="3">
|
||||
<td >
|
||||
<fieldset><legend>{|Rechnungsdaten|}</legend>
|
||||
|
||||
<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>[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
|
||||
<td> </td>
|
||||
<td colspan="2" rowspan="2" align="center"><b style="color:green">[MELDUNG]</b>
|
||||
<br><font size="7">[VERBINDLICHKEIT]</font>
|
||||
</td></tr>
|
||||
|
||||
<tr><td><br><br>Rechnungs Nr.:</td><td><br><br>[RECHNUNG][MSGRECHNUNG]</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<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>
|
||||
<td> </td>
|
||||
<td width="200">Zahlweise:</td><td>[ZAHLUNGSWEISE][MSGZAHLUNGSWEISE]</td></tr>
|
||||
|
||||
<tr><td>Rechnungsdatum:</td><td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
|
||||
<td> </td>
|
||||
<td width="200">Zahlbar bis:</td><td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td></tr>
|
||||
|
||||
<tr><td>Betrag/Total (Brutto):</td><td>[BETRAG][MSGBETRAG] [WAEHRUNG][MSGWAEHRUNG]</td><td> </td>
|
||||
<td>Skonto in %:</td><td>[SKONTO][MSGSKONTO]</td>
|
||||
</tr>
|
||||
|
||||
<tr><td>USt. 19%:</td><td>[SUMMENORMAL][MSGSUMMENORMAL]</td><td> </td>
|
||||
<td>Skonto bis:</td><td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>USt. 7%:</td><td>[SUMMEERMAESSIGT][MSGSUMMEERMAESSIGT]</td>
|
||||
<td> </td>
|
||||
<td>Umsatzsteuer</td><td>[UMSATZSTEUER][MSGUMSATZSTEUER]</td>
|
||||
|
||||
<tr valign="top">
|
||||
<td width="150">Lieferant:</td>
|
||||
<td colspan="3">[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[STEUERSATZNAME3]</td><td>[SUMMESATZ3][MSGSUMMESATZ3]</td>
|
||||
<td> </td>
|
||||
<td>[STEUERSATZNAME4]</td><td>[SUMMESATZ4][MSGSUMMESATZ4]</td>
|
||||
<td>Rechnungs-Nr.:</td>
|
||||
<td>[RECHNUNG][MSGRECHNUNG]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Verwendungszweck:</td><td>[VERWENDUNGSZWECK][MSGVERWENDUNGSZWECK]</td>
|
||||
<td> </td>
|
||||
<td>Frachtkosten:</td><td>[FRACHTKOSTEN][MSGFRACHTKOSTEN]</td>
|
||||
</tr>
|
||||
|
||||
<td>Rechnungsdatum:</td>
|
||||
<td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
|
||||
<tr>
|
||||
<td>Projekt:</td><td>[PROJEKT][MSGKOSTENSTELLE]</td>
|
||||
<td> </td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>Kostenstelle:</td><td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
|
||||
<td> </td>
|
||||
<td>Freigabe:</td><td>[MSGFREIGABE] <i>Wareneingangsprüfung:</i> [FREIGABE] [MSGRECHNUNGSFREIGABE] <i>Rechnungseingangsprüfung:</i> [RECHNUNGSFREIGABE]</td>
|
||||
</tr>
|
||||
|
||||
<td width="200">Zahlbar bis:</td>
|
||||
<td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td>
|
||||
</tr>
|
||||
<td>Betrag/Total (Brutto):</td>
|
||||
<td>[BETRAG][MSGBETRAG] [WAEHRUNG][MSGWAEHRUNG]</td>
|
||||
<tr>
|
||||
<td>Sachkonto:</td><td>[SACHKONTO][MSGSACHKONTO]</td>
|
||||
<td> </td>
|
||||
<td>Aktion:</td><td>[BUTTONBEZAHLT]</td>
|
||||
<td>Skonto in %:</td>
|
||||
<td>[SKONTO][MSGSKONTO]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Interne Bemerkung:</td><td colspan="4">[INTERNEBEMERKUNG]</td>
|
||||
<td>Skonto bis:</td>
|
||||
<td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Projekt:</td>
|
||||
<td>[PROJEKT][MSGKOSTENSTELLE]</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kostenstelle:</td>
|
||||
<td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
|
||||
<td> </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">
|
||||
</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>
|
||||
|
||||
|
64
www/pages/content/verbindlichkeit_position_edit.tpl
Normal file
@ -0,0 +1,64 @@
|
||||
<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>
|
||||
|
91
www/pages/content/verbindlichkeit_positionen.tpl
Normal file
@ -0,0 +1,91 @@
|
||||
[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ä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ü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>
|
@ -3,6 +3,19 @@
|
||||
<li><a href="#tabs-1">[TABTEXT1]</a></li>
|
||||
</ul>
|
||||
<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]
|
||||
[TAB1]
|
||||
[TAB1NEXT]
|
||||
|
@ -6,15 +6,19 @@
|
||||
<table height="80" width="100%"><tr><td>
|
||||
<fieldset class="usersave"><legend> Filter</legend>
|
||||
<center>
|
||||
<table width="100%" cellspacing="5">
|
||||
<tr>
|
||||
<form method="POST">
|
||||
<table width="100%" cellspacing="5">
|
||||
<tr>
|
||||
<td width="33%"><input type="checkbox" id="eigene" title="nur Artikel vom Lieferant anzeigen"> <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%"></td>
|
||||
</tr></table>
|
||||
</center>
|
||||
</fieldset>
|
||||
</td></tr></table>
|
||||
<td width="33%">{|Artikel|}: <input type="text" size="40" name="artikel" autofocus id="artikel" /></td>
|
||||
<td width="33%">{|Menge|}: <input type="number" size="40" name="menge" id="menge" value="1"/></td>
|
||||
<td width="33%"><button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Weiter|}</button></td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
</fieldset>
|
||||
</td></tr></table>
|
||||
|
||||
[MESSAGE]
|
||||
[TAB1]
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
<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>Menge:</b></td><td>[MENGE]</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><b>Bemerkung:</b></td><td><textarea cols="35" rows="2" name="bemerkung">[BEMERKUNG]</textarea>
|
||||
</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]
|
||||
<tr valign="top"><td><br></td><td align="center"><input type="submit" name="submit" value="Speichern" /> <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="Buchen" /> <input type="button" onclick="window.location.href='index.php?module=wareneingang&action=distriinhalt&id=[ID]'" value="Abbrechen" /></td></tr>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
|
@ -1,31 +1,58 @@
|
||||
<!-- gehort zu tabview -->
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
[BEFORETAB1]<li><a href="#tabs-1">[TAB1TEXT]</a></li>[AFTERTAB1]
|
||||
[BEFORETAB2]<li><a href="#tabs-2">[TAB2TEXT]</a></li>[AFTERTAB2]
|
||||
[BEFORETAB3]<li><a href="#tabs-3">[TAB3TEXT]</a></li>[AFTERTAB3]
|
||||
</ul>
|
||||
<!-- ende gehort zu tabview -->
|
||||
|
||||
<!-- erstes tab -->
|
||||
<input type="hidden" id="paketannahme_id" value="[ID]" />
|
||||
[BEFORETAB1]
|
||||
<div id="tabs-1">
|
||||
[TAB1START]
|
||||
[MESSAGE1]
|
||||
<ul> [BEFORETAB1]
|
||||
<li><a href="#tabs-1">[TAB1TEXT]</a></li>[AFTERTAB1] [BEFORETAB2]
|
||||
<li><a href="#tabs-2">[TAB2TEXT]</a></li>[AFTERTAB2] [BEFORETAB3]
|
||||
<li><a href="#tabs-3">[TAB3TEXT]</a></li>[AFTERTAB3] </ul>
|
||||
<!-- ende gehort zu tabview -->
|
||||
<!-- erstes tab -->
|
||||
<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-10 col-md-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>{|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>
|
||||
<tr><td>{|Bemerkung|}:</td><td><textarea rows="5" cols="40" name="bemerkung">[BEMERKUNG]</textarea></td></tr>
|
||||
<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]
|
||||
<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>
|
||||
[ISLIEFERANTENDE]
|
||||
</table>
|
||||
</fieldset>
|
||||
@ -33,40 +60,72 @@
|
||||
</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]
|
||||
<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>
|
||||
[BEFOREMANUELLERFASSEN]
|
||||
<tr><td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="manuellerfassen">{|Artikel manuell erfassen|}</button>
|
||||
</td></tr>
|
||||
[AFTERMANUELLERFASSEN]
|
||||
[ISLIEFERANTSTART]
|
||||
<tr><td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="fuellen">{|Aus Bestellungen füllen|}</button>
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="leeren">{|Leeren|}</button>
|
||||
</td></tr>
|
||||
[ISLIEFERANTENDE]
|
||||
<tr><td>
|
||||
<tr>
|
||||
<td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="speichern">{|Speichern|}</button>
|
||||
</td></tr>
|
||||
</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ü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><td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="buchen">{|Buchen|}</button>
|
||||
</td></tr>
|
||||
<tr [HINZUFUEGENHIDDEN]>
|
||||
<td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="hinzufuegen">{|Hinzufügen|}</button>
|
||||
</td>
|
||||
</tr>
|
||||
[ISLIEFERANTENDE]
|
||||
<tr><td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschließen|}</button>
|
||||
</td></tr>
|
||||
[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ügen|}</button>
|
||||
</td>
|
||||
</tr>
|
||||
[ISNOTLIEFERANTENDE]
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
@ -77,7 +136,7 @@
|
||||
<div class="row-height">
|
||||
<div class="col-xs-12 col-md-10 col-md-height">
|
||||
<div class="inside-white inside-full-height">
|
||||
[TAB1]
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -85,76 +144,88 @@
|
||||
<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">
|
||||
[TAB1_SECOND]
|
||||
<div class="inside-white inside-full-height"> [TAB1_SECOND] </div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-2 col-md-height">
|
||||
<div class="inside inside-full-height">
|
||||
<fieldset>
|
||||
<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 [BUCHENHIDDEN]>
|
||||
<td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="vorlaeufige_buchen">{|Buchen|}</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr [BUCHENHIDDEN]>
|
||||
<td>
|
||||
{|Ziellager|}: <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.">
|
||||
</td>
|
||||
</tr>
|
||||
<tr [BUCHENHIDDEN]>
|
||||
<td>
|
||||
<input type=text name="ziellager" id="ziellager" value="[LAGER]" style="width:98%;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr [ABSCHLIESSENHIDDEN]>
|
||||
<td>
|
||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschließen|}</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
[TAB1ENDE]
|
||||
</div>
|
||||
[AFTERTAB1]
|
||||
[BEFORETAB2]
|
||||
<div id="tabs-2">
|
||||
|
||||
[TAB2START]
|
||||
[MESSAGE2]
|
||||
|
||||
</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="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>
|
||||
<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>
|
||||
[BUTTONS]
|
||||
<tr [HINZUFUEGENHIDDEN]>
|
||||
<td>
|
||||
{|Multifilter|}: <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 über Name oder Nummer">
|
||||
</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ügen|}</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</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> [TAB2ENDE]
|
||||
</div> [AFTERTAB2]
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$( "#tabs" ).tabs( "option", "active", [TABINDEX]);
|
||||
$(document).ready(function() {
|
||||
$("#tabs").tabs("option", "active", [TABINDEX]);
|
||||
if($('#frmWareneingangDistribution').length) {
|
||||
$('#btnabschliessen').on('click',function(){
|
||||
$('#btnabschliessen').on('click', function() {
|
||||
$('#frmWareneingangDistribution').append('<input type="hidden" value="1" name="abschliessen" />');
|
||||
$('#frmWareneingangDistribution').find('[name="submit"]').trigger('click');
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@ -116,6 +116,7 @@ $width = array('10%'); // Fill out manually later
|
||||
$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['ticketqueue'] = explode(" ",$input['ticketqueue'])[0]; // Just the label
|
||||
$input['abdatum'] = $this->app->erp->ReplaceDatum(true,$input['abdatum'],true);
|
||||
|
||||
$columns = "id, ";
|
||||
$values = "$id, ";
|
||||
@ -146,7 +147,6 @@ $width = array('10%'); // Fill out manually later
|
||||
else {
|
||||
$sql = "INSERT INTO emailbackup (".$columns.") VALUES (".$values.") ON DUPLICATE KEY UPDATE ".$update;
|
||||
$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=emailbackup&action=list&msg=$msg");
|
||||
@ -159,30 +159,68 @@ $width = array('10%'); // Fill out manually later
|
||||
// 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");
|
||||
|
||||
foreach ($result[0] as $key => $value) {
|
||||
if (!empty($result)) {
|
||||
$emailbackup = $result[0];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($emailbackup as $key => $value) {
|
||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add displayed items later
|
||||
*
|
||||
|
||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT2', $email);
|
||||
$this->app->Tpl->Add('EMAIL', $email);
|
||||
$this->app->Tpl->Add('ANGEZEIGTERNAME', $angezeigtername);
|
||||
*/
|
||||
// Checkboxes
|
||||
$this->app->Tpl->Set('SMTP_EXTRA', $emailbackup['smtp_extra']?'checked':'');
|
||||
$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->Set('TICKET', $emailbackup['ticket']?'checked':'');
|
||||
$this->app->Tpl->Set('TICKETLOESCHEN', $emailbackup['ticketloeschen']?'checked':'');
|
||||
$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("autoresponderbetreff","internal", null, 'JQUERY');
|
||||
$this->app->YUI->CkEditor("autorespondertext","internal", null, 'JQUERY');
|
||||
$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,$result[0]['ticketprojekt'],false)); // Parameters: Target db?, value, from form?
|
||||
$this->app->Tpl->Set('ADRESSE', $this->app->erp->ReplaceAdresse(false,$result[0]['adresse'],false)); // Convert ID to form display
|
||||
$this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$emailbackup['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('ADRESSE', $this->app->erp->ReplaceAdresse(false,$emailbackup['adresse'],false)); // Convert ID to form display
|
||||
$this->app->YUI->AutoComplete("projekt","projektname",1);
|
||||
$this->app->YUI->AutoComplete("ticketprojekt","projektname",1);
|
||||
$this->app->YUI->AutoComplete("adresse","adresse");
|
||||
$this->app->YUI->AutoComplete("ticketqueue","warteschlangename");
|
||||
$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");
|
||||
}
|
||||
|
||||
@ -235,7 +273,6 @@ $width = array('10%'); // Fill out manually later
|
||||
$input['abdatum'] = $this->app->Secure->GetPOST('abdatum');
|
||||
$input['email'] = $this->app->Secure->GetPOST('email');
|
||||
|
||||
|
||||
return $input;
|
||||
}
|
||||
|
||||
@ -245,45 +282,7 @@ $width = array('10%'); // Fill out manually later
|
||||
function SetInput($input) {
|
||||
// $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']);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
207
www/pages/kostenstellen.php
Normal file
@ -0,0 +1,207 @@
|
||||
<?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ü');
|
||||
$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> <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", "Übersicht");
|
||||
$this->app->erp->MenuEintrag("index.php?module=kostenstellen&action=create", "Neu anlegen");
|
||||
|
||||
$this->app->erp->MenuEintrag("index.php", "Zurü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ö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ück zur Ü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 ü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;
|
||||
}
|
||||
}
|
@ -2362,6 +2362,7 @@ class Rechnung extends GenRechnung
|
||||
|
||||
$belegmax = '';
|
||||
$ohnebriefpapier = $this->app->erp->Firmendaten('rechnung_ohnebriefpapier');
|
||||
$abweichendebezeichnung = $this->app->erp->Firmendaten('rechnungersatz_standard');
|
||||
|
||||
$usereditid = 0;
|
||||
if(isset($this->app->User) && $this->app->User && method_exists($this->app->User,'GetID')){
|
||||
@ -2375,24 +2376,24 @@ class Rechnung extends GenRechnung
|
||||
zahlungszieltageskonto,
|
||||
zahlungszielskonto,
|
||||
lieferdatum,
|
||||
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid)
|
||||
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid,abweichendebezeichnung)
|
||||
VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."',
|
||||
'".$this->app->erp->ZahlungsZielTage($projekt)."',
|
||||
'".$this->app->erp->ZahlungsZielTageSkonto($projekt)."',
|
||||
'".$this->app->erp->ZahlungsZielSkonto($projekt)."',NOW(),
|
||||
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid')");
|
||||
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid','$abweichendebezeichnung')");
|
||||
} else {
|
||||
$this->app->DB->Insert("INSERT INTO rechnung (id,datum,bearbeiter,firma,belegnr,zahlungsweise,
|
||||
zahlungszieltage,
|
||||
zahlungszieltageskonto,
|
||||
zahlungszielskonto,
|
||||
lieferdatum,
|
||||
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid)
|
||||
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid,abweichendebezeichnung)
|
||||
VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."',
|
||||
'0',
|
||||
'0',
|
||||
'0',NOW(),
|
||||
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid')");
|
||||
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid','$abweichendebezeichnung')");
|
||||
}
|
||||
|
||||
$id = $this->app->DB->GetInsertID();
|
||||
@ -2518,9 +2519,6 @@ class Rechnung extends GenRechnung
|
||||
$this->app->Secure->POST[$value] = str_replace("'", ''',$arr[0][$value]);
|
||||
$uparr[$value] = str_replace("'", ''',$arr[0][$value]);
|
||||
}
|
||||
|
||||
//$this->app->Secure->POST[$value] = $arr[0][$value];
|
||||
//$uparr[$value] = $arr[0][$value];
|
||||
}
|
||||
|
||||
$uparr['adresse'] = $adresse;
|
||||
@ -2531,6 +2529,10 @@ class Rechnung extends GenRechnung
|
||||
$uparr['ohne_briefpapier'] = '1';
|
||||
}
|
||||
|
||||
if($this->app->erp->Firmendaten('rechnungersatz_standard')=='1'){
|
||||
$uparr['abweichendebezeichnung']=1;
|
||||
}
|
||||
|
||||
$this->app->DB->UpdateArr('rechnung',$id,'id',$uparr,true);
|
||||
$uparr=null;
|
||||
|
||||
|
@ -248,6 +248,17 @@ class Rechnungslauf {
|
||||
$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');
|
||||
}
|
||||
|
||||
|
@ -109,6 +109,7 @@ class Report
|
||||
$this->app->ActionHandler('transfer', 'ReportTransfer');
|
||||
$this->app->ActionHandler('share', 'HandleActionShare');
|
||||
$this->app->ActionHandler('export', 'ReportExport');
|
||||
$this->app->ActionHandler('databaseview', 'DataBaseView');
|
||||
|
||||
$this->app->ActionHandlerListen($app);
|
||||
$this->app->erp->Headlines('Berichte');
|
||||
@ -526,7 +527,29 @@ class Report
|
||||
IF(c.sum = 1, 'Ja', 'Nein') as `sum`, c.sequence, c.id
|
||||
FROM `report_column` AS `c`";
|
||||
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 = [];
|
||||
@ -3098,7 +3121,7 @@ class Report
|
||||
'Zurück zur Übersicht'
|
||||
);
|
||||
|
||||
if ($action === 'list') {
|
||||
if ($action === 'list' or $action == 'databaseview') {
|
||||
$this->app->erp->MenuEintrag('index.php?module=report&action=list', 'Übersicht');
|
||||
} else {
|
||||
$this->app->erp->MenuEintrag(
|
||||
@ -3118,6 +3141,7 @@ class Report
|
||||
'Übertragung'
|
||||
);
|
||||
}
|
||||
$this->app->erp->MenuEintrag('index.php?module=report&action=databaseview', 'Datenbankansicht');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3187,4 +3211,91 @@ 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ä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ählen');
|
||||
}
|
||||
|
||||
$this->template->Parse('PAGE', 'report_databaseview.tpl');
|
||||
}
|
||||
|
||||
}
|
||||
|
1783
www/pages/verbindlichkeit.php
Normal file
@ -83,23 +83,26 @@ class Wareneingang {
|
||||
$adresse = $this->app->DB->Select("SELECT adresse FROM paketannahme WHERE id='$id' LIMIT 1");
|
||||
$subwhere = " AND (a.adresse=$adresse OR ( (e.gueltig_bis >= NOW() OR e.gueltig_bis='0000-00-00' OR e.gueltig_bis IS NULL) AND e.adresse=$adresse) )";
|
||||
|
||||
$addjoin = " RIGHT JOIN einkaufspreise e ON e.adresse=a.adresse ";
|
||||
$addjoin = " INNER JOIN einkaufspreise e ON e.adresse=a.adresse AND e.artikel = a.id ";
|
||||
|
||||
$groupby = " GROUP BY a.id ";
|
||||
}
|
||||
$sql = "SELECT SQL_CALC_FOUND_ROWS a.id, a.nummer as nummer,
|
||||
$sql = "
|
||||
SELECT SQL_CALC_FOUND_ROWS
|
||||
a.id,
|
||||
a.nummer as nummer,
|
||||
CONCAT('<span style=display:none>',a.name_de,'</span>',if(a.intern_gesperrt,CONCAT('<strike>',
|
||||
|
||||
if(a.variante AND a.variante_von > 0,CONCAT(name_de,' <font color=#848484>(Variante von ',ifnull((SELECT tmp.nummer FROM artikel tmp WHERE a.variante_von=tmp.id LIMIT 1),''),')</font>'),name_de)
|
||||
|
||||
if (
|
||||
a.variante AND a.variante_von > 0,CONCAT(name_de,' <font color=#848484>(Variante von ',ifnull((SELECT tmp.nummer FROM artikel tmp WHERE a.variante_von=tmp.id LIMIT 1),''),')</font>'),name_de)
|
||||
,'</strike>'),
|
||||
|
||||
if(a.variante AND a.variante_von > 0,CONCAT(name_de,' <font color=#848484>(Variante von ',ifnull((SELECT tmp.nummer FROM artikel tmp WHERE a.variante_von=tmp.id LIMIT 1),''),')</font>'),name_de)
|
||||
|
||||
)) as name_de,
|
||||
)
|
||||
) as name_de,
|
||||
CONCAT('<span style=display:none>',a.name_de,'</span>',trim((SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id))+0) as lagerbestand,
|
||||
p.abkuerzung as projekt, a.id as menu
|
||||
FROM artikel a
|
||||
p.abkuerzung as projekt,
|
||||
a.id as menu
|
||||
FROM
|
||||
artikel a
|
||||
LEFT JOIN projekt p ON p.id=a.projekt " . $addjoin;
|
||||
|
||||
$where = "a.geloescht=0 $subwhere " . $this->app->erp->ProjektRechte();
|
||||
@ -115,20 +118,73 @@ class Wareneingang {
|
||||
$adresse = $this->app->DB->Select("SELECT adresse FROM paketannahme WHERE id='$id' LIMIT 1");
|
||||
$wareneingangauftragzubestellung = $this->app->erp->Firmendaten('wareneingangauftragzubestellung');
|
||||
|
||||
$input_for_menge = "CONCAT(
|
||||
'<input type = \"number\" min=\"0\"',
|
||||
' value=\"',
|
||||
COALESCE((SELECT TRIM(SUM(menge))+0 FROM paketdistribution WHERE vorlaeufig = 1 AND bestellung_position = bp.id),''),
|
||||
'\"',
|
||||
' name=\"menge_',
|
||||
bp.id,
|
||||
'\" value=\"',
|
||||
'\" style=\"text-align:right; width:100%\">',
|
||||
'</input>'
|
||||
)";
|
||||
// Toggle filters
|
||||
$this->app->Tpl->Add('JQUERYREADY', "$('#ausfuellen').click( function() { fnFilterColumn1( 0 ); } );");
|
||||
|
||||
if ($wareneingangauftragzubestellung) {
|
||||
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Lieferdatum', 'Projekt', 'Menge', 'Geliefert', 'Offen', 'Auftrag', 'Menge', 'Eingabe', 'Aktion');
|
||||
for ($r = 1;$r <= 1;$r++) {
|
||||
$this->app->Tpl->Add('JAVASCRIPT', '
|
||||
function fnFilterColumn' . $r . ' ( i )
|
||||
{
|
||||
if(oMoreData' . $r . $name . '==1)
|
||||
oMoreData' . $r . $name . ' = 0;
|
||||
else
|
||||
oMoreData' . $r . $name . ' = 1;
|
||||
|
||||
$(\'#' . $name . '\').dataTable().fnFilter(
|
||||
\'\',
|
||||
i,
|
||||
0,0
|
||||
);
|
||||
}
|
||||
');
|
||||
}
|
||||
|
||||
$more_data1 = $this->app->Secure->GetGET("more_data1");
|
||||
$maximalmenge = 'trim(bp.menge - bp.geliefert)+0';
|
||||
if ($more_data1 == 1) {
|
||||
$ausfuellen = $maximalmenge;
|
||||
} else {
|
||||
$ausfuellen = "''";
|
||||
}
|
||||
// END Toggle filters
|
||||
|
||||
$artikel_link = array(
|
||||
'<a href=\"index.php?module=artikel&action=edit&id=',
|
||||
['sql' => 'art.id'],
|
||||
'\" tabindex=\"-1\">',
|
||||
['sql' => 'art.nummer'],
|
||||
'</a>',
|
||||
);
|
||||
|
||||
$auswahl = array (
|
||||
'<input type=\"text\" name=\"bestellposition_ids[]\" value=\"',
|
||||
['sql' => 'bp.id'],
|
||||
'" hidden/>',
|
||||
['sql' => 'bp.bestellnummer']
|
||||
);
|
||||
|
||||
$input_for_menge = array(
|
||||
'<input type = \"number\" min=\"0\"',
|
||||
' max=\"',
|
||||
['sql' => $maximalmenge],
|
||||
'\""',
|
||||
' value=\"',
|
||||
['sql' => $ausfuellen],
|
||||
'\"',
|
||||
' name=\"mengen[]\"',
|
||||
' style=\"text-align:right; width:100%\">',
|
||||
'</input>'
|
||||
);
|
||||
|
||||
$input_for_bemerkung = array(
|
||||
'<input type = \"text\"',
|
||||
' name=\"bemerkungen[]\"',
|
||||
' style=\"text-align:right; width:100%\">',
|
||||
'</input>'
|
||||
);
|
||||
|
||||
/* if ($wareneingangauftragzubestellung) {
|
||||
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Lieferdatum', 'Projekt', 'Menge', 'Geliefert', 'Offen', 'Auftrag', 'Menge', 'Eingabe', '');
|
||||
$width = array('5%', '5%', '5%', '30%', '5%', '5%', '5%', '5%', '5%', '5%', '5%', '5%', '5%');
|
||||
$findcols = array('bp.bestellnummer', 'art.nummer', 'b.belegnr',
|
||||
"CONCAT(art.name_de,'<br>Bei Lieferant: ',bp.bezeichnunglieferant,
|
||||
@ -144,23 +200,149 @@ class Wareneingang {
|
||||
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
||||
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
||||
)", "if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', "if((SELECT COUNT(auf2.id) FROM auftrag auf2 INNER JOIN auftrag_position ap2 ON auf2.id = ap2.auftrag WHERE bp.auftrag_position_id = ap2.id ) > 0,(SELECT auf2.belegnr FROM auftrag auf2 INNER JOIN auftrag_position ap2 ON auf2.id = ap2.auftrag WHERE bp.auftrag_position_id = ap2.id ORDER BY belegnr LIMIT 1),'-' )");
|
||||
} else {
|
||||
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Lieferdatum', 'Projekt', 'Menge', 'Geliefert', 'Offen', 'Eingabe', 'Aktion');
|
||||
$width = array('5%', '5%', '5%', '30%', '5%', '5%', '5%', '5%', '5%', '5%', '5%');
|
||||
$findcols = array('bp.bestellnummer', 'art.nummer', 'b.belegnr',
|
||||
"CONCAT(art.name_de,'<br>Bei Lieferant: ',bp.bezeichnunglieferant,
|
||||
IF(b.internebemerkung != '' AND b.internebemerkung IS NOT NULL, CONCAT('<br>Interne Bemerkung: ',b.internebemerkung),''),
|
||||
IF(b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL, CONCAT('<br>Interne Bezeichnung: ',b.internebezeichnung), ''),
|
||||
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
||||
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
||||
} else */ {
|
||||
$heading = array(
|
||||
'Art.-Nummer',
|
||||
'Beschreibung',
|
||||
'Bestellung',
|
||||
'Lieferant-Art.-Nr.',
|
||||
'Lieferdatum',
|
||||
'Projekt',
|
||||
'Menge',
|
||||
'Geliefert',
|
||||
'Offen',
|
||||
'Eingabe',
|
||||
'Bemerkung',
|
||||
''
|
||||
);
|
||||
$width = array(
|
||||
'1%',
|
||||
'25%',
|
||||
'1%',
|
||||
'1%',
|
||||
'1%',
|
||||
'1%',
|
||||
'1%',
|
||||
'1%',
|
||||
'1%',
|
||||
'1%',
|
||||
'10%',
|
||||
'1%'
|
||||
);
|
||||
$findcols = array(
|
||||
'art.nummer',
|
||||
"CONCAT(
|
||||
art.name_de,
|
||||
'<br>Bei Lieferant: ',
|
||||
bp.bezeichnunglieferant,
|
||||
IF(
|
||||
b.internebemerkung != '' AND b.internebemerkung IS NOT NULL,
|
||||
CONCAT(
|
||||
'<br>Interne Bemerkung: ',
|
||||
b.internebemerkung
|
||||
),
|
||||
''
|
||||
),
|
||||
IF(
|
||||
b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL,
|
||||
CONCAT(
|
||||
'<br>Interne Bezeichnung: ',
|
||||
b.internebezeichnung
|
||||
),
|
||||
''
|
||||
),
|
||||
IF(
|
||||
b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL,
|
||||
CONCAT(
|
||||
'<br>AB Nummer Lieferant: ',
|
||||
b.bestellungbestaetigtabnummer
|
||||
),
|
||||
''
|
||||
),
|
||||
IF(
|
||||
b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00',
|
||||
CONCAT(
|
||||
'<br>Best. Lieferdatum: ',
|
||||
DATE_FORMAT(
|
||||
b.bestaetigteslieferdatum,
|
||||
'%d.%m.%Y'
|
||||
)
|
||||
),
|
||||
''
|
||||
)
|
||||
)",
|
||||
"if(bp.lieferdatum,bp.lieferdatum,'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', $this->app->erp->FormatMenge("bp.menge - bp.geliefert"), 'bp.id');
|
||||
$searchsql = array('bp.bestellnummer', 'art.nummer', 'b.belegnr', "CONCAT(art.name_de,'<br>Bei Lieferant: ',bp.bezeichnunglieferant, '<i style=color:#999>',
|
||||
IF(b.internebemerkung != '' AND b.internebemerkung IS NOT NULL, CONCAT('<br>Interne Bemerkung: ',b.internebemerkung),''),
|
||||
IF(b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL, CONCAT('<br>Interne Bezeichnung: ',b.internebezeichnung), ''),
|
||||
IF(b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL, CONCAT('<br>AB Nummer Lieferant: ',b.bestellungbestaetigtabnummer), ''),
|
||||
IF(b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00', CONCAT('<br>Best. Lieferdatum: ',DATE_FORMAT(b.bestaetigteslieferdatum, '%d.%m.%Y')),'')
|
||||
,'</i>')", "if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort')", 'p.abkuerzung', 'bp.menge', 'bp.geliefert', $this->app->erp->FormatMenge("bp.menge - bp.geliefert"), 'art.ean', 'art.herstellernummer');
|
||||
'b.belegnr',
|
||||
'bp.bestellnummer',
|
||||
"if(
|
||||
bp.lieferdatum,
|
||||
bp.lieferdatum,
|
||||
'sofort'
|
||||
)",
|
||||
'p.abkuerzung',
|
||||
'bp.menge',
|
||||
'bp.geliefert',
|
||||
$this->app->erp->FormatMenge("bp.menge - bp.geliefert"),
|
||||
'bp.id',
|
||||
'bp.id',
|
||||
'bp.id'
|
||||
);
|
||||
$searchsql = array('bp.bestellnummer',
|
||||
'art.nummer',
|
||||
'b.belegnr',
|
||||
"CONCAT(
|
||||
art.name_de,
|
||||
'<br>Bei Lieferant: ',
|
||||
bp.bezeichnunglieferant,
|
||||
'<i style=color:#999>',
|
||||
IF(
|
||||
b.internebemerkung != '' AND b.internebemerkung IS NOT NULL,
|
||||
CONCAT(
|
||||
'<br>Interne Bemerkung: ',
|
||||
b.internebemerkung
|
||||
),
|
||||
''
|
||||
),
|
||||
IF(
|
||||
b.internebezeichnung != '' AND b.internebezeichnung IS NOT NULL,
|
||||
CONCAT(
|
||||
'<br>Interne Bezeichnung: ',
|
||||
b.internebezeichnung
|
||||
),
|
||||
''
|
||||
),
|
||||
IF(
|
||||
b.bestellungbestaetigtabnummer != '' AND b.bestellungbestaetigtabnummer IS NOT NULL,
|
||||
CONCAT(
|
||||
'<br>AB Nummer Lieferant: ',
|
||||
b.bestellungbestaetigtabnummer
|
||||
),
|
||||
''
|
||||
),
|
||||
IF(
|
||||
b.bestaetigteslieferdatum != '' AND b.bestaetigteslieferdatum IS NOT NULL AND b.bestaetigteslieferdatum != '0000-00-00',
|
||||
CONCAT(
|
||||
'<br>Best. Lieferdatum: ',
|
||||
DATE_FORMAT(
|
||||
b.bestaetigteslieferdatum,
|
||||
'%d.%m.%Y'
|
||||
)
|
||||
),
|
||||
''
|
||||
),
|
||||
'</i>'
|
||||
)",
|
||||
"IF(
|
||||
bp.lieferdatum,
|
||||
DATE_FORMAT(bp.lieferdatum, '%d.%m.%Y'),
|
||||
'sofort'
|
||||
)",
|
||||
'p.abkuerzung',
|
||||
'bp.menge',
|
||||
'bp.geliefert',
|
||||
$this->app->erp->FormatMenge("bp.menge - bp.geliefert"),
|
||||
'art.ean',
|
||||
'art.herstellernummer'
|
||||
);
|
||||
}
|
||||
|
||||
$alignright = array(7, 8, 9);
|
||||
@ -205,19 +387,29 @@ class Wareneingang {
|
||||
)";
|
||||
}
|
||||
// SQL statement
|
||||
$sql = "SELECT SQL_CALC_FOUND_ROWS bp.id, bp.bestellnummer, CONCAT('<a href=\"index.php?module=artikel&action=edit&id=',art.id,'\" tabindex=\"-1\">',art.nummer,'</a>'), b.belegnr as `Bestellung`,
|
||||
$sql = "
|
||||
SELECT SQL_CALC_FOUND_ROWS
|
||||
bp.id,
|
||||
".$this->app->erp->ConcatSQL($artikel_link).",
|
||||
$colBeschreibung as beschreibung,
|
||||
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum, p.abkuerzung as projekt,
|
||||
" . $this->app->erp->FormatMenge('bp.menge') . ", " . $this->app->erp->FormatMenge('bp.geliefert') . ",
|
||||
" . $this->app->erp->FormatMenge('bp.menge - bp.geliefert') . " as offen,
|
||||
".$input_for_menge.",
|
||||
b.belegnr as `Bestellung`,
|
||||
".$this->app->erp->ConcatSQL($auswahl).",
|
||||
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum,
|
||||
p.abkuerzung as projekt,
|
||||
".$this->app->erp->FormatMenge('bp.menge').",
|
||||
".$this->app->erp->FormatMenge('bp.geliefert').",
|
||||
".$this->app->erp->FormatMenge('bp.menge-bp.geliefert')." as offen,
|
||||
".$this->app->erp->ConcatSQL($input_for_menge).",
|
||||
".$this->app->erp->ConcatSQL($input_for_bemerkung).",
|
||||
bp.id
|
||||
FROM bestellung_position bp
|
||||
INNER JOIN bestellung b ON bp.bestellung=b.id
|
||||
$rdJoin
|
||||
INNER JOIN artikel art ON art.id=bp.artikel $lagerartikel
|
||||
LEFT JOIN projekt p ON b.projekt=p.id";
|
||||
if ($wareneingangauftragzubestellung) {
|
||||
LEFT JOIN projekt p ON b.projekt=p.id
|
||||
";
|
||||
|
||||
/* if ($wareneingangauftragzubestellung) {
|
||||
$sql = "SELECT SQL_CALC_FOUND_ROWS bp.id, bp.bestellnummer, art.nummer, b.belegnr as `Bestellung`,
|
||||
$colBeschreibung as beschreibung,
|
||||
if(bp.lieferdatum,DATE_FORMAT(bp.lieferdatum,'%d.%m.%Y'),'sofort') as lieferdatum, p.abkuerzung as projekt,
|
||||
@ -230,7 +422,7 @@ class Wareneingang {
|
||||
$rdJoin
|
||||
INNER JOIN artikel art ON art.id=bp.artikel $lagerartikel
|
||||
LEFT JOIN projekt p ON b.projekt=p.id ";
|
||||
}
|
||||
}*/
|
||||
|
||||
$where = "
|
||||
b.adresse='$adresse' AND
|
||||
@ -245,6 +437,71 @@ class Wareneingang {
|
||||
$moreinfo = false;
|
||||
$this->app->erp->RunHook('warneingang_tablesearch_wareneingang_lieferant', 4, $id, $sql, $where, $count);
|
||||
break;
|
||||
|
||||
case 'wareneingang_manuell':
|
||||
$allowed['paketdistribution_list'] = array('list');
|
||||
|
||||
$heading = array('Art.-Nummer', 'Beschreibung', 'Menge', 'Bemerkung','');
|
||||
$width = array( '5%', '30%', '5%', '15%', '1%');
|
||||
|
||||
$findcols = array('nummer','name_de','id','id');
|
||||
$searchsql = array('');
|
||||
|
||||
$alignright = array('5');
|
||||
$defaultorder = 1;
|
||||
$defaultorderdesc = 0;
|
||||
|
||||
$auswahl = array (
|
||||
'<input type=\"text\" name=\"manuell_artikel_ids[]\" value=\"',
|
||||
['sql' => 'a.id'],
|
||||
'" hidden/>',
|
||||
['sql' => 'a.nummer']
|
||||
);
|
||||
|
||||
$input_for_menge = array(
|
||||
'<input type = \"number\" min=\"0\"',
|
||||
' value=\"',
|
||||
'\"',
|
||||
' name=\"manuell_mengen[]\"',
|
||||
' style=\"text-align:right; width:100%\">',
|
||||
'</input>'
|
||||
);
|
||||
|
||||
$input_for_bemerkung = array(
|
||||
'<input type = \"text\"',
|
||||
' name=\"manuell_bemerkungen[]\"',
|
||||
' style=\"text-align:right; width:100%\">',
|
||||
'</input>'
|
||||
);
|
||||
|
||||
$sql = "
|
||||
SELECT SQL_CALC_FOUND_ROWS
|
||||
id,
|
||||
".$this->app->erp->ConcatSQL($auswahl).",
|
||||
name_de,
|
||||
".$this->app->erp->ConcatSQL($input_for_menge).",
|
||||
".$this->app->erp->ConcatSQL($input_for_bemerkung)."
|
||||
''
|
||||
FROM
|
||||
artikel a
|
||||
";
|
||||
|
||||
$where = "geloescht <> 1";
|
||||
|
||||
$multifilter = $this->app->YUI->TableSearchFilter($name, 8,'multifilter');
|
||||
if (!empty($multifilter)) {
|
||||
$multifilter_array = explode(' ',$multifilter);
|
||||
$where .= " AND (1=0";
|
||||
foreach($multifilter_array as $keyword) {
|
||||
$where .= " OR name_de LIKE '%".$keyword."%'";
|
||||
$where .= " OR nummer LIKE '%".$keyword."%'";
|
||||
}
|
||||
$where .= ")";
|
||||
}
|
||||
$count = "";
|
||||
|
||||
break;
|
||||
|
||||
case 'paketannahme_retoure':
|
||||
$allowed['wareneingang'] = array('distriinhalt');
|
||||
$adresse = $this->app->DB->Select("SELECT adresse FROM paketannahme WHERE id='$id' LIMIT 1");
|
||||
@ -962,22 +1219,101 @@ class Wareneingang {
|
||||
*/
|
||||
|
||||
|
||||
$heading = array('Lieferant-Art.-Nr.', 'Art.-Nummer', 'Bestellung', 'Beschreibung', 'Menge', 'Bemerkung', '');
|
||||
$width = array('5%', '5%', '5%', '30%', '5%', '5%', '45%');
|
||||
$heading = array('Pos.', 'Art.-Nummer', 'Beschreibung', 'Bestellung', 'Lieferant-Art.-Nr.', 'Menge','Standardlager', 'Bemerkung','Bearbeiter', '','','');
|
||||
$width = array( '1%', '5%', '30%', '5%', '5%', '5%', '5%', '15%', '5%', '1%','1%','1%');
|
||||
|
||||
$findcols = array('p.nummer', 'p.bestellbezug', 'p.name', 'p.menge', 'p.bemerkung');
|
||||
$findcols = array('p.pos', 'p.artikel', 'p.name', 'p.bestellbezug', 'p.lieferantnummer', 'p.menge', 'lagerplatz_bezeichnung', 'p.bemerkung','p.bearbeiter','p.vorlaeufig','p.vorlaeufig','p.vorlaeufig');
|
||||
$searchsql = array('p.nummer', 'p.name', 'p.bemerkung');
|
||||
|
||||
$alignright = array('5');
|
||||
$defaultorder = 1;
|
||||
$defaultorderdesc = 0;
|
||||
|
||||
$sql = "SELECT SQL_CALC_FOUND_ROWS p.nummer,p.lieferantnummer, p.nummer, p.bestellbezug, p.name, p.menge, p.bemerkung from
|
||||
(SELECT bestellung.belegnr as bestellbezug, bestellung_position.bestellnummer as lieferantnummer ,artikel.nummer as nummer, artikel.name_de as name, " . $this->app->erp->FormatMenge("paketdistribution.menge") . " as menge, paketdistribution.bemerkung
|
||||
$icon_nicht_eingelagert = "<img src=\"./themes/new/images/nicht_eingelagert.png\" title=\"Position ist nicht eingebucht\" style=\"margin-right:1px\" border=\"0\">";
|
||||
$icon_eingelagert = "<img src=\"./themes/new/images/eingelagert.png\" title=\"Position ist eingebucht\" style=\"margin-right:1px\" border=\"0\">";
|
||||
$icon_kein_lagerplatz = "<img src=\"./themes/new/images/lagerplatzstop.png\" title=\"Der Artikel hat kein Standardlager\" style=\"margin-right:1px\" border=\"0\">";
|
||||
$icon_lagerplatz = "<img src=\"./themes/new/images/lagerplatzgo.png\" title=\"Standardlager ok\" style=\"margin-right:1px\" border=\"0\">";
|
||||
$icon_lagerplatz_eingelagert = "<img src=\"./themes/new/images/lagerplatzgo.png\" title=\"Eingelagert\" style=\"margin-right:1px\" border=\"0\">";
|
||||
$icon_kein_lagerartikel = "<img src=\"./themes/new/images/lagerplatz_grau.png\" title=\"Kein Lagerartikel\" style=\"margin-right:1px\" border=\"0\">";
|
||||
|
||||
$deletelink = array(
|
||||
"<table cellpadding=0 cellspacing=0><tr><td nowrap>" . "<a href=\"index.php?module=wareneingang&action=deletepos&id=",
|
||||
['sql' => 'paketannahme'],
|
||||
'&posid=',
|
||||
['sql' => 'paketdistribution.id'],
|
||||
"\"><img src=\"./themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a> </td></tr></table>"
|
||||
);
|
||||
|
||||
$artikel_link = array(
|
||||
'<a href=\"index.php?module=artikel&action=edit&id=',
|
||||
['sql' => 'artikel.id'],
|
||||
'\" tabindex=\"-1\">',
|
||||
['sql' => 'artikel.nummer'],
|
||||
'</a>',
|
||||
);
|
||||
|
||||
|
||||
$sql = "SELECT SQL_CALC_FOUND_ROWS
|
||||
p.pos,
|
||||
p.pos,
|
||||
p.artikel,
|
||||
p.name,
|
||||
p.bestellbezug,
|
||||
p.lieferantnummer,
|
||||
p.menge,
|
||||
p.lagerplatz_bezeichnung,
|
||||
p.bemerkung,
|
||||
p.bearbeiter,
|
||||
p.icon,
|
||||
p.menu,
|
||||
p.vorlaeufig
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
paketdistribution.id as pos,
|
||||
bestellung.belegnr as bestellbezug,
|
||||
bestellung_position.bestellnummer as lieferantnummer,
|
||||
".$this->app->erp->ConcatSQL($artikel_link)." as artikel,
|
||||
artikel.name_de as name,
|
||||
" . $this->app->erp->FormatMenge("paketdistribution.menge") . " as menge,
|
||||
if (paketdistribution.vorlaeufig,lager_platz.kurzbezeichnung,'') AS lagerplatz_bezeichnung,
|
||||
paketdistribution.bemerkung,
|
||||
paketdistribution.bearbeiter,
|
||||
CONCAT(
|
||||
'<table><tr><td nowrap>',
|
||||
if (
|
||||
paketdistribution.vorlaeufig,
|
||||
CONCAT(
|
||||
'$icon_nicht_eingelagert',
|
||||
if (artikel.lagerartikel,
|
||||
if (
|
||||
artikel.lager_platz = 0,
|
||||
'$icon_kein_lagerplatz',
|
||||
'$icon_lagerplatz'
|
||||
),
|
||||
'$icon_kein_lagerartikel'
|
||||
)
|
||||
),
|
||||
CONCAT(
|
||||
'$icon_eingelagert',
|
||||
if (artikel.lagerartikel,
|
||||
'$icon_lagerplatz_eingelagert',
|
||||
'$icon_kein_lagerartikel'
|
||||
)
|
||||
)
|
||||
),
|
||||
'</td></tr></table>'
|
||||
)
|
||||
AS icon,
|
||||
if (paketdistribution.vorlaeufig,".$this->app->erp->ConcatSQL($deletelink).",'') as menu,
|
||||
paketdistribution.vorlaeufig
|
||||
FROM paketdistribution
|
||||
INNER JOIN artikel ON artikel.id = paketdistribution.artikel
|
||||
LEFT JOIN artikel ON artikel.id = paketdistribution.artikel
|
||||
LEFT JOIN lager_platz ON lager_platz.id = artikel.lager_platz
|
||||
LEFT JOIN bestellung_position ON bestellung_position = bestellung_position.id
|
||||
LEFT JOIN bestellung on bestellung_position.bestellung = bestellung.id
|
||||
where paketannahme = $id AND vorlaeufig IS NULL) as p";
|
||||
WHERE paketannahme = $id
|
||||
) AS p";
|
||||
|
||||
$where = "";
|
||||
$count = "SELECT count(DISTINCT id) FROM paketdistribution p WHERE paketannahme = $id AND vorlaeufig IS NULL";
|
||||
@ -1051,9 +1387,38 @@ class Wareneingang {
|
||||
|
||||
$where = "1";
|
||||
|
||||
// Toggle filters
|
||||
$this->app->Tpl->Add('JQUERYREADY', "$('#abgeschlossen').click( function() { fnFilterColumn1( 0 ); } );");
|
||||
|
||||
for ($r = 1;$r <= 1;$r++) {
|
||||
$this->app->Tpl->Add('JAVASCRIPT', '
|
||||
function fnFilterColumn' . $r . ' ( i )
|
||||
{
|
||||
if(oMoreData' . $r . $name . '==1)
|
||||
oMoreData' . $r . $name . ' = 0;
|
||||
else
|
||||
oMoreData' . $r . $name . ' = 1;
|
||||
|
||||
$(\'#' . $name . '\').dataTable().fnFilter(
|
||||
\'\',
|
||||
i,
|
||||
0,0
|
||||
);
|
||||
}
|
||||
');
|
||||
}
|
||||
|
||||
$more_data1 = $this->app->Secure->GetGET("more_data1");
|
||||
if ($more_data1 == 1) {
|
||||
} else {
|
||||
$where .= " AND paketannahme.status <> 'abgeschlossen'";
|
||||
}
|
||||
|
||||
// END Toggle filters
|
||||
|
||||
$count = "SELECT count(paketannahme.id) FROM paketannahme
|
||||
INNER JOIN adresse
|
||||
ON paketannahme.adresse = adresse.id";
|
||||
ON paketannahme.adresse = adresse.id WHERE ".$where;
|
||||
$groupby = "GROUP BY paketannahme.id";
|
||||
|
||||
$moreinfo = true; // Allow drop down details
|
||||
@ -1108,8 +1473,10 @@ class Wareneingang {
|
||||
$this->app->ActionHandler("stornieren", "WareneingangStornieren");
|
||||
$this->app->ActionHandler("settings", "WareneingangSettings");
|
||||
|
||||
$this->app->ActionHandler("deletepos", "WareneingangPositionLoeschen");
|
||||
|
||||
$this->app->DefaultActionHandler("list");
|
||||
$this->app->erp->Headlines('Wareneinang');
|
||||
$this->app->erp->Headlines('Wareneingang');
|
||||
|
||||
$this->app->ActionHandlerListen($app);
|
||||
}
|
||||
@ -1184,9 +1551,8 @@ class Wareneingang {
|
||||
$id = $this->app->Secure->GetGET('id');
|
||||
$action = $this->app->Secure->GetGET('action');
|
||||
$this->app->Tpl->Set('ID', $id);
|
||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Paketannahme');
|
||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Paketannahme / Leistungserfassung');
|
||||
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=paketannahme', 'Neu');
|
||||
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=list', 'Übersicht');
|
||||
$this->app->erp->RunMenuHook('wareneingangpaket');
|
||||
$this->app->erp->MenuEintrag(
|
||||
'index.php?module=wareneingang&action=settings&menu=paket',
|
||||
@ -1629,9 +1995,10 @@ class Wareneingang {
|
||||
}
|
||||
|
||||
public function WareneingangPaketDistriInhalt() {
|
||||
$this->WareneingangPaketMenu();
|
||||
|
||||
$id = $this->app->Secure->GetGET('id');
|
||||
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=distriinhalt&id='.$id, 'Details');
|
||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Paketannahme / Leistungserfassung');
|
||||
$cmd = $this->app->Secure->GetGET('cmd');
|
||||
$lsnr = $this->app->Secure->GetPOST('lsnr');
|
||||
$renr = $this->app->Secure->GetPOST('renr');
|
||||
@ -1639,6 +2006,8 @@ class Wareneingang {
|
||||
|
||||
$bemerkung = str_replace(array('\r\n', '\r', '\n'), "\n", $bemerkung);
|
||||
|
||||
$this->app->User->SetParameter('table_wareneingang_lieferant_ausfuellen', '');
|
||||
|
||||
// Load from DB
|
||||
if (($lsnr == '' && $renr == '' && $bemerkung == '') && $id != '') {
|
||||
$fields = $this->app->DB->SelectArr(
|
||||
@ -1653,13 +2022,14 @@ class Wareneingang {
|
||||
} else {
|
||||
|
||||
// Save header
|
||||
$this->app->DB->Update(
|
||||
"UPDATE paketannahme SET
|
||||
$sql = "
|
||||
UPDATE paketannahme SET
|
||||
lsnr='" . $lsnr . "',
|
||||
renr='" . $renr . "',
|
||||
bemerkung='" . $bemerkung . "'
|
||||
WHERE id='$id' LIMIT 1");
|
||||
|
||||
WHERE id='$id' LIMIT 1
|
||||
";
|
||||
$this->app->DB->Update($sql);
|
||||
$bemerkung = stripslashes($bemerkung);
|
||||
}
|
||||
|
||||
@ -1837,19 +2207,24 @@ class Wareneingang {
|
||||
}
|
||||
|
||||
break;
|
||||
case 'speichern':
|
||||
$menge_input = $this->app->Secure->GetPOSTArray();
|
||||
$mengen = array();
|
||||
case 'hinzufuegen':
|
||||
|
||||
$bestellposition_ids = $this->app->Secure->GetPOST('bestellposition_ids');
|
||||
$mengen = $this->app->Secure->GetPOST('mengen');
|
||||
$bemerkungen = $this->app->Secure->GetPOST('bemerkungen');
|
||||
|
||||
$msg = "";
|
||||
|
||||
foreach ($menge_input as $key => $menge) {
|
||||
if ((strpos($key,'menge_') === 0) && ($menge !== '')) {
|
||||
$bestellposition = substr($key,'6');
|
||||
foreach ($bestellposition_ids as $key => $bestellposition) {
|
||||
$menge = $mengen[$key];
|
||||
$bemerkung = $bemerkungen[$key];
|
||||
|
||||
if ($menge <= 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($menge >= 0) { // Allow 0 for reset of saved value
|
||||
// Gather info bestellung
|
||||
$bparr = $this->app->DB->SelectRow("SELECT * FROM bestellung INNER JOIN bestellung_position ON bestellung_position.bestellung = bestellung.id INNER JOIN artikel ON bestellung_position.artikel = artikel.id WHERE bestellung_position.id='$bestellposition' LIMIT 1");
|
||||
$bparr = $this->app->DB->SelectRow("SELECT bp.artikel, a.nummer, b.projekt, b.belegnr, bp.vpe, bp.menge, bp.geliefert FROM bestellung b INNER JOIN bestellung_position bp ON bp.bestellung = b.id INNER JOIN artikel a ON bp.artikel = a.id WHERE bp.id='$bestellposition' LIMIT 1");
|
||||
$artikel = $bparr['artikel'];
|
||||
$artikel_nr = $bparr['nummer'];
|
||||
$projekt = $bparr['projekt'];
|
||||
@ -1858,8 +2233,14 @@ class Wareneingang {
|
||||
$menge_bestellung = $bparr['menge'];
|
||||
|
||||
// Check existing preliminary value
|
||||
$sql = "SELECT id FROM paketdistribution WHERE paketannahme = ".$id." AND bestellung_position = ".$bestellposition." AND vorlaeufig = 1 LIMIT 1";
|
||||
$preliminary = $this->app->DB->Select($sql);
|
||||
$sql = "SELECT id, menge FROM paketdistribution WHERE paketannahme = ".$id." AND bestellung_position = ".$bestellposition." AND vorlaeufig = 1 LIMIT 1";
|
||||
$preliminary = $this->app->DB->SelectRow($sql);
|
||||
|
||||
$menge = $menge + $preliminary['menge'];
|
||||
if ($menge > $bparr['menge']-$bparr['geliefert']) {
|
||||
$menge = $bparr['menge']-$bparr['geliefert'];
|
||||
$this->app->YUI->Message('warning','Mengen wurden angepasst');
|
||||
}
|
||||
|
||||
if (empty($preliminary)) {
|
||||
$sql = "INSERT INTO paketdistribution(
|
||||
@ -1886,22 +2267,161 @@ class Wareneingang {
|
||||
'$menge',
|
||||
'$vpe',
|
||||
'',
|
||||
'$bemerkung',
|
||||
'".$this->app->DB->real_escape_string($bemerkung)."',
|
||||
'$bestellposition',
|
||||
1
|
||||
)";
|
||||
$this->app->DB->Insert($sql);
|
||||
} else {
|
||||
$sql = "UPDATE paketdistribution SET menge = ".$menge." WHERE id = ".$preliminary;
|
||||
$sql = "UPDATE paketdistribution SET menge = ".$menge.", bemerkung = '".$this->app->DB->real_escape_string($bemerkung)."' WHERE id = ".$preliminary['id'];
|
||||
$this->app->DB->Insert($sql);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'manuell_hinzufuegen':
|
||||
|
||||
$manuell_artikel_ids = $this->app->Secure->GetPOST('manuell_artikel_ids');
|
||||
$manuell_mengen = $this->app->Secure->GetPOST('manuell_mengen');
|
||||
$manuell_bemerkungen = $this->app->Secure->GetPOST('manuell_bemerkungen');
|
||||
|
||||
foreach ($manuell_artikel_ids as $key => $artikel) {
|
||||
$menge = $manuell_mengen[$key];
|
||||
$bemerkung = $manuell_bemerkungen[$key];
|
||||
if ($menge <= 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO paketdistribution(
|
||||
id,
|
||||
bearbeiter,
|
||||
zeit,
|
||||
paketannahme,
|
||||
adresse,
|
||||
artikel,
|
||||
menge,
|
||||
vpe,
|
||||
etiketten,
|
||||
bemerkung,
|
||||
bestellung_position,
|
||||
vorlaeufig
|
||||
)
|
||||
VALUES(
|
||||
'',
|
||||
'" . $this->app->User->GetName() . "',
|
||||
NOW(),
|
||||
'$id',
|
||||
'',
|
||||
'$artikel',
|
||||
'$menge',
|
||||
'1',
|
||||
'',
|
||||
'".$this->app->DB->real_escape_string($bemerkung)."',
|
||||
'',
|
||||
1
|
||||
)";
|
||||
$this->app->DB->Insert($sql);
|
||||
}
|
||||
break;
|
||||
case 'vorlaeufige_buchen':
|
||||
$ziellager_from_form = $this->app->erp->ReplaceLagerPlatz(true,$this->app->Secure->GetPOST('ziellager'),true); // Parameters: Target db?, value, from form?
|
||||
$sql = "SELECT * FROM paketdistribution WHERE paketannahme = ".$id." AND vorlaeufig = 1";
|
||||
$positionen = $this->app->DB->SelectArr($sql);
|
||||
foreach ($positionen as $position) {
|
||||
$bemerkung = "";
|
||||
$artikel = $position['artikel'];
|
||||
$menge = $position['menge'];
|
||||
$bestellposition = $position['bestellung_position'];
|
||||
if ($menge > 0) {
|
||||
|
||||
if (!empty($bestellposition)) {
|
||||
// Gather info bestellung
|
||||
$bparr = $this->app->DB->SelectRow("
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bestellung
|
||||
INNER JOIN
|
||||
bestellung_position ON bestellung_position.bestellung = bestellung.id
|
||||
INNER JOIN
|
||||
artikel ON bestellung_position.artikel = artikel.id
|
||||
WHERE
|
||||
bestellung_position.id='$bestellposition'
|
||||
LIMIT 1
|
||||
");
|
||||
|
||||
if ($menge > $bparr['menge']-$bparr['geliefert']) {
|
||||
$this->app->YUI->Message('error','Mengen ungültig');
|
||||
break;
|
||||
}
|
||||
|
||||
$artikel = $bparr['artikel'];
|
||||
$artikel_nr = $bparr['nummer'];
|
||||
$projekt = $bparr['projekt'];
|
||||
$bestellung_belegnr = $bparr['belegnr'];
|
||||
$vpe = $bparr['vpe'];
|
||||
$menge_bestellung = $bparr['menge'];
|
||||
$lagerartikel = $bparr['lagerartikel'];
|
||||
$info_bestellung = ", Bestellung $bestellung_belegnr";
|
||||
} else {
|
||||
$artikelarr = $this->app->DB->SelectRow("SELECT nummer, lagerartikel FROM artikel WHERE id =".$position['artikel']);
|
||||
$lagerartikel = $artikelarr['lagerartikel'];
|
||||
$artikel_nr = $artikelarr['nummer'];
|
||||
}
|
||||
|
||||
if ($lagerartikel) {
|
||||
// Get Lager_platz
|
||||
if (empty($ziellager_from_form)) {
|
||||
$lager = $this->app->DB->Select("SELECT lager_platz FROM artikel WHERE id='" . $artikel . "' LIMIT 1");
|
||||
if (empty($lager)) {
|
||||
$msg .= '<div class="error">Kein Ziellagerplatz gefunden für Artikel: '.$artikel_nr.'</div>';
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$lager = $ziellager_from_form;
|
||||
}
|
||||
|
||||
// Put stock
|
||||
$this->app->erp->LagerEinlagern($artikel, $menge, $lager, '', "Wareneingang Paket $id".$info_bestellung, '', $id);
|
||||
$lagerplatz_name = $this->app->DB->Select("SELECT kurzbezeichnung FROM lager_platz WHERE lager_platz.id = $lager LIMIT 1");
|
||||
$bemerkung = trim($position['bemerkung']." ".$lagerplatz_name);
|
||||
} else {
|
||||
$bemerkung = $position['bemerkung'];
|
||||
}
|
||||
|
||||
// Increase bestellung_position geliefert_menge
|
||||
$geliefert = $this->app->DB->Select("SELECT ifnull(geliefert,0) FROM bestellung_position WHERE id='$bestellposition' LIMIT 1");
|
||||
$geliefert += $menge;
|
||||
|
||||
$sql = "UPDATE bestellung_position SET geliefert='$geliefert' WHERE id='$bestellposition' LIMIT 1";
|
||||
$this->app->DB->Update($sql);
|
||||
|
||||
// Write paketdistribution
|
||||
$sql = "UPDATE
|
||||
paketdistribution
|
||||
SET
|
||||
bearbeiter = '". $this->app->User->GetName()."',
|
||||
zeit = NOW(),
|
||||
bemerkung = '".$bemerkung."',
|
||||
vorlaeufig = NULL
|
||||
WHERE
|
||||
id = ".$position['id']."
|
||||
";
|
||||
$this->app->DB->Update($sql);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 'abschliessen':
|
||||
|
||||
$sql = "SELECT id FROM paketdistribution WHERE paketannahme = ".$id." AND vorlaeufig = 1";
|
||||
|
||||
$vorlaeufige = $this->app->DB->SelectArr($sql);
|
||||
if (!empty($vorlaeufige)) {
|
||||
break;
|
||||
}
|
||||
// Save header and finish
|
||||
$sql = "UPDATE paketannahme SET status='abgeschlossen' WHERE id='$id'";
|
||||
$sql = "UPDATE paketannahme SET status='abgeschlossen', datum_abgeschlossen = NOW(), bearbeiter_abgeschlossen = '".$this->app->User->GetName()."' WHERE id='$id'";
|
||||
$this->app->DB->Update($sql);
|
||||
|
||||
$this->app->erp->RunHook('wareneinang_paketannahme_abschliessen', 1, $id);
|
||||
@ -1974,7 +2494,8 @@ class Wareneingang {
|
||||
} */ // Submit
|
||||
|
||||
$sql = sprintf(
|
||||
'SELECT `adresse`,%s FROM `paketannahme` WHERE `id` = %d LIMIT 1',
|
||||
'SELECT `adresse`,status,%s,bearbeiter_abgeschlossen,%s FROM `paketannahme` WHERE `id` = %d LIMIT 1',
|
||||
$this->app->erp->FormatDate('datum_abgeschlossen', 'datum_abgeschlossen'),
|
||||
$this->app->erp->FormatDate('datum', 'datum'),
|
||||
$id
|
||||
);
|
||||
@ -1982,7 +2503,10 @@ class Wareneingang {
|
||||
$paketannahme = $this->app->DB->SelectArr($sql)[0];
|
||||
|
||||
$adresse = $paketannahme['adresse'];
|
||||
$status = $paketannahme['status'];
|
||||
$datum = $paketannahme['datum'];
|
||||
$datum_abgeschlossen = $paketannahme['datum_abgeschlossen'];
|
||||
$bearbeiter_abgeschlossen = $paketannahme['bearbeiter_abgeschlossen'];
|
||||
|
||||
$addressRow = empty($adresse) ? null : $this->app->DB->SelectRow(
|
||||
sprintf(
|
||||
@ -2007,14 +2531,19 @@ class Wareneingang {
|
||||
//$this->app->Tpl->Set('TAB1TEXT', 'Bestellungen');
|
||||
//$this->app->Tpl->Set('TAB1START','<div id=\"tabs-1\">');
|
||||
//$this->app->Tpl->Set('TAB1ENDE','</div>');
|
||||
|
||||
$this->app->Tpl->Add('TAB1', "<h1>Offene Artikel aus Bestellungen bei $name:</h1>");
|
||||
$this->app->Tpl->Set('ISNOTLIEFERANTSTART', '<!--');
|
||||
$this->app->Tpl->Set('ISNOTLIEFERANTENDE', '-->');
|
||||
$this->app->Tpl->Set('TAB1TEXT', 'Artikel aus Bestellungen');
|
||||
$this->app->Tpl->Set('TAB2TEXT', 'Artikel manuell');
|
||||
$this->app->Tpl->Add('TAB1', "<legend>Offene Artikel aus Bestellungen bei $name:</legend>");
|
||||
$this->app->YUI->TableSearch('TAB1', 'wareneingang_lieferant', 'show', '', '', basename(__FILE__), __CLASS__);
|
||||
$this->app->YUI->TableSearch('TAB2', 'wareneingang_manuell', "show", "", "", basename(__FILE__), __CLASS__);
|
||||
} else {
|
||||
$this->app->Tpl->Set('ISLIEFERANTSTART', '<!--');
|
||||
$this->app->Tpl->Set('ISLIEFERANTENDE', '-->');
|
||||
$this->app->Tpl->Set('TAB1START', '');
|
||||
$this->app->Tpl->Set('TAB1ENDE', '');
|
||||
$this->app->YUI->TableSearch('TAB1', 'wareneingang_manuell', "show", "", "", basename(__FILE__), __CLASS__);
|
||||
/* $this->app->Tpl->Set('TAB1START', '');
|
||||
$this->app->Tpl->Set('TAB1ENDE', '');*/
|
||||
// $this->app->Tpl->Set('BEFORETAB1', '<!--');
|
||||
// $this->app->Tpl->Set('AFTERTAB1', '-->');
|
||||
}
|
||||
@ -2036,7 +2565,7 @@ class Wareneingang {
|
||||
$this->app->Tpl->Set('LEGENDE', "Paket <b>Nr.$id</b> vom $datum erfassen für Adresse '" . $addressRow['name'] . "':");
|
||||
}
|
||||
|
||||
$this->app->Tpl->Add('TAB1_SECOND', "<h1>Paketinhalt (eingebucht):</h1>");
|
||||
$this->app->Tpl->Add('TAB1_SECOND', "<legend>Paketinhalt / Leistungserfassung:</legend>");
|
||||
$this->app->YUI->TableSearch('TAB1_SECOND', 'paketdistribution_list', "show", "", "", basename(__FILE__), __CLASS__);
|
||||
|
||||
$this->app->erp->RunHook('wareneingang_distriinhalt', 1, $id);
|
||||
@ -2062,7 +2591,32 @@ class Wareneingang {
|
||||
|
||||
$this->app->YUI->AutoComplete('ziellager', 'lagerplatz');
|
||||
$this->app->Tpl->Set('MESSAGE1',$msg);
|
||||
$this->app->Tpl->Set('STATUS',$status);
|
||||
|
||||
if ($status == 'abgeschlossen') {
|
||||
$this->app->Tpl->Set('HINZUFUEGENHIDDEN','hidden');
|
||||
if (!empty($bearbeiter_abgeschlossen)) {
|
||||
$this->app->Tpl->Set('ABSCHLIESSENHIDDEN','hidden');
|
||||
$this->app->Tpl->Set('DATUM_ABGESCHLOSSEN',$datum_abgeschlossen);
|
||||
$this->app->Tpl->Set('BEARBEITER_ABGESCHLOSSEN',$bearbeiter_abgeschlossen);
|
||||
} else {
|
||||
$this->app->Tpl->Set('ABGESCHLOSSENHIDDEN','hidden');
|
||||
}
|
||||
} else {
|
||||
$this->app->Tpl->Set('ABGESCHLOSSENHIDDEN','hidden');
|
||||
}
|
||||
|
||||
$sql = "SELECT id FROM paketdistribution WHERE paketannahme = ".$id." AND vorlaeufig = 1";
|
||||
$vorlaeufige = $this->app->DB->SelectArr($sql);
|
||||
if (!empty($vorlaeufige)) {
|
||||
$this->app->YUI->Message('info','Nicht eingebuchte Positionen vorhanden');
|
||||
$this->app->Tpl->Set('ABSCHLIESSENHIDDEN','hidden');
|
||||
} else {
|
||||
$this->app->Tpl->Set('BUCHENHIDDEN','hidden');
|
||||
if ($status != 'abgeschlossen') {
|
||||
$this->app->YUI->Message('info','Wareneingang noch nicht abgeschlossen');
|
||||
}
|
||||
}
|
||||
$this->app->Tpl->Parse('PAGE', 'wareneingang_paketinhalt.tpl');
|
||||
|
||||
}
|
||||
@ -2118,10 +2672,16 @@ class Wareneingang {
|
||||
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=distriinhalt&id=' . $id, 'Zurück zur Übersicht');
|
||||
$this->app->erp->MenuEintrag('index.php?module=wareneingang&action=manuellerfassen&id=' . $id, 'Artikel');
|
||||
$artikel = $this->app->Secure->GetPOST('artikel');
|
||||
$menge = $this->app->Secure->GetPOST('menge');
|
||||
if (empty($menge)) {
|
||||
$menge = 1;
|
||||
}
|
||||
$artikel = reset(explode(' ',$artikel));
|
||||
|
||||
if ($artikel) {
|
||||
$artikelid = $this->app->DB->Select("SELECT a.id FROM artikel a LEFT JOIN projekt pr ON a.projekt = pr.id WHERE (a.nummer = '" . $artikel . "' OR a.herstellernummer = '" . $artikel . "' OR a.ean = '" . $artikel . "') AND a.geloescht = 0 " . $this->app->erp->ProjektRechte() . " LIMIT 1");
|
||||
if ($artikelid) {
|
||||
$this->app->Location->execute('index.php?module=wareneingang&action=distrietiketten&id=' . (int) $id . '&pos=' . $artikelid . '%&menge=1&cmd=manuell');
|
||||
$this->app->Location->execute('index.php?module=wareneingang&action=distrietiketten&id=' . (int) $id . '&pos=' . $artikelid . '%&menge='.$menge.'&cmd=manuell');
|
||||
}
|
||||
$this->app->Tpl->Add('MESSAGE', '<div class="error">{|Der Artikel wurde nicht gefunden|}</div>');
|
||||
}
|
||||
@ -2134,6 +2694,8 @@ class Wareneingang {
|
||||
$this->app->YUI->TableSearch('TAB1', 'wareneingangartikelmanuellerfassen', 'show', '', '', basename(__FILE__), __CLASS__);
|
||||
}
|
||||
|
||||
$this->app->YUI->AutoComplete('artikel','artikelnummer');
|
||||
|
||||
//$this->WareneingangPaketMenu();
|
||||
$this->app->Tpl->Parse('PAGE', 'wareneingang_manuellerfassen.tpl');
|
||||
}
|
||||
@ -2198,7 +2760,7 @@ class Wareneingang {
|
||||
$this->app->Tpl->Set('ID', $id);
|
||||
$weiterleitung = '';
|
||||
if ($cmd === 'manuell') {
|
||||
$this->app->DB->Update("UPDATE artikel SET lagerartikel='1' WHERE id='$pos' AND juststueckliste!=1 LIMIT 1");
|
||||
// $this->app->DB->Update("UPDATE artikel SET lagerartikel='1' WHERE id='$pos' AND juststueckliste!=1 LIMIT 1");
|
||||
$artikel = $pos;
|
||||
$this->app->Tpl->Set('ANZAHLAENDERN', "<input type=\"button\" value=\"ändern\" onclick=\"var menge = prompt('Neue Menge:',$menge); if(menge > 0) window.location.href=document.URL + '&menge=' + menge;\">");
|
||||
//$this->app->Tpl->Set('SHOWANZAHLSTART','<!--'); //BENE war auskommentiert
|
||||
@ -3271,5 +3833,13 @@ class Wareneingang {
|
||||
$this->app->User->SetParameter('wareneingang_action', 'paketannahme');
|
||||
$this->app->Tpl->Parse('PAGE', 'wareneingang_paketannahme.tpl');
|
||||
}
|
||||
|
||||
function WareneingangPositionLoeschen() {
|
||||
$id = $this->app->Secure->GetGET('id');
|
||||
$posid = $this->app->Secure->GetGET('posid');
|
||||
$sql = "DELETE FROM paketdistribution WHERE id = ".$posid." AND vorlaeufig = 1";
|
||||
$this->app->DB->Delete($sql);
|
||||
header('Location: index.php?module=wareneingang&wareneingang&action=distriinhalt&id='.$id);
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
www/themes/new/images/check_go.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
www/themes/new/images/check_gostop.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
www/themes/new/images/check_stop.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
www/themes/new/images/lagerplatz_grau.png
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
www/themes/new/images/lagerplatzgo.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
www/themes/new/images/lagerplatzgostop.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
www/themes/new/images/lagerplatzstop.png
Normal file
After Width: | Height: | Size: 1015 B |
@ -583,6 +583,9 @@ class WidgetGenadresse
|
||||
$field = new HTMLCheckbox("geburtstagskarte","","","1","0","0");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("sachkonto","text","","30","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLSelect("verrechnungskontoreisekosten",0,"verrechnungskontoreisekosten","","","0");
|
||||
$this->form->NewField($field);
|
||||
|
||||
|
@ -665,6 +665,9 @@ class WidgetGenartikel
|
||||
$field = new HTMLInput("steuergruppe","text","","30","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("sachkonto","text","","30","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("kostenstelle","text","","30","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
|
@ -85,10 +85,7 @@ class WidgetGenverbindlichkeit_position
|
||||
$this->form->NewField($field);
|
||||
$this->form->AddMandatory("menge","notempty","Pflichtfeld!","MSGMENGE");
|
||||
|
||||
$field = new HTMLInput("preis","text","","50","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("waehrung","text","","15","","","","","","","","0","","");
|
||||
$field = new HTMLInput("preis","text","","40","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLSelect("umsatzsteuer",0,"umsatzsteuer","","","0");
|
||||
@ -115,6 +112,9 @@ class WidgetGenverbindlichkeit_position
|
||||
$field = new HTMLInput("projekt","text","","50","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("sachkonto","text","","50","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
$field = new HTMLInput("kostenstelle","text","","50","","","","","","","","0","","");
|
||||
$this->form->NewField($field);
|
||||
|
||||
|
@ -849,7 +849,87 @@
|
||||
[DISABLECLOSESHOP]
|
||||
|
||||
<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ö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äß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äß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äß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äß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ü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>
|
||||
|
||||
<script>
|
||||
|
@ -25,31 +25,41 @@ $('#anderersteuersatz').click(function() { if (!$(this).is(':checked')) {
|
||||
});
|
||||
</script>
|
||||
<form action="" method="post" name="eprooform">
|
||||
[FORMHANDLEREVENT]
|
||||
[FORMHANDLEREVENT]
|
||||
<table border="0" style="padding-right:10px;" class="mkTableFormular">
|
||||
<tbody>
|
||||
<tr valign="top">
|
||||
<td width="550">
|
||||
<table border="0" style="padding-right:10px;" class="mkTableFormular">
|
||||
<tr><td nowrap>{|Artikel-Nr|}:</td><td>[ARTIKEL][MSGARTIKEL]</td></tr>
|
||||
<tr><td nowrap>{|Beschreibung|}:</td><td>[BEZEICHNUNG][MSGBEZEICHNUNG]</td></tr>
|
||||
<tr><td nowrap>{|Artikel-Nr|}:</td><td>[NUMMER][MSGNUMMER]</td></tr>
|
||||
<tr><td>{|Beschreibung|}:</td><td>[BESCHREIBUNG][MSGBESCHREIBUNG]</td></tr>
|
||||
<tr><td>{|Menge|}:</td><td>[MENGE][MSGMENGE]</td></tr>
|
||||
<tr><td>{|Preis|}:</td><td>[PREIS][MSGPREIS]</td></tr>
|
||||
<tr><td>{|Währung|}:</td><td>[WAEHRUNG][MSGWAEHRUNG] [WAEHRUNGSBUTTON]</td></tr>
|
||||
<tr><td>{|Preis|}:</td><td>[PREIS][MSGPREIS][WAEHRUNG]</td></tr>
|
||||
<!-- <tr><td>{|Währung|}:</td><td>[WAEHRUNG][MSGWAEHRUNG] [WAEHRUNGSBUTTON]</td></tr>-->
|
||||
<tr><td>{|Steuersatz|}:</td><td>[UMSATZSTEUER][MSGUMSATZSTEUER]
|
||||
|
||||
[ANDERERSTEUERSATZ][MSGANDERERSTEUERSATZ] individuellen Steuersatz verwenden
|
||||
</td></tr>
|
||||
[ANDERERSTEUERSATZ][MSGANDERERSTEUERSATZ] individuellen Steuersatz verwenden
|
||||
</td></tr>
|
||||
<tr style="display:none" class="steuersatz"><td>{|Individueller Steuersatz|}:</td><td>[STEUERSATZ][MSGSTEUERSATZ] in Prozent</td></tr>
|
||||
<tr><td>{|Rechtlicher Steuerhinweis|}:</td><td>
|
||||
[STEUERTEXT][MSGSTEUERTEXT]
|
||||
</td></tr>
|
||||
<tr><td>{|Einheit|}:</td><td>[EINHEIT][MSGEINHEIT]</td></tr>
|
||||
<tr><td>{|VPE|}:</td><td>[VPE][MSGVPE]</td></tr>
|
||||
<tr><td>{|Lieferdatum|}:</td><td>[LIEFERDATUM][MSGLIEFERDATUM]</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="30%" [STYLERECHTS]>
|
||||
<table width="100%">
|
||||
<tr><td></td><td align="right"><input type="submit" value="Speichern" ></td></tr>
|
||||
<tr><td>{|Projekt|}:</td><td>[PROJEKT][MSGPROJEKT]</td></tr>
|
||||
<tr><td>{|Kostenstelle|}:</td><td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td></tr>
|
||||
<tr><td>{|Lieferdatum|}:</td><td>[LIEFERDATUM][MSGLIEFERDATUM]</td></tr>
|
||||
<tr><td></td><td><input type="submit" value="Speichern" ></td></tr>
|
||||
|
||||
</tbody></table>
|
||||
<tr><td>{|Sachkonto|}:</td><td>[SACHKONTO][MSGSACHKONTO]</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
[WAEHRUNGSTABELLE]
|
||||
|
@ -34,6 +34,9 @@ class WidgetAdresse extends WidgetGenAdresse
|
||||
$this->form->ReplaceFunction("kreditlimit",$this,"ReplaceBetrag");
|
||||
$this->form->ReplaceFunction("kreditlimiteinmalig",$this,"ReplaceBetrag");
|
||||
|
||||
$this->app->YUI->AutoComplete("sachkonto","sachkonto",1);
|
||||
$this->form->ReplaceFunction("sachkonto",$this,"ReplaceKontorahmen");
|
||||
|
||||
$this->form->ReplaceFunction("lat",$this,"ReplaceBetrag");
|
||||
$this->form->ReplaceFunction("lng",$this,"ReplaceBetrag");
|
||||
$this->form->ReplaceFunction("name",$this,"ReplaceTrim");
|
||||
@ -473,6 +476,11 @@ class WidgetAdresse extends WidgetGenAdresse
|
||||
return trim($value);
|
||||
}
|
||||
|
||||
function ReplaceKontorahmen($db,$value,$fromform)
|
||||
{
|
||||
return $this->app->erp->ReplaceKontorahmen($db,$value,$fromform);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int|bool $db
|
||||
* @param string|int $value
|
||||
|
@ -38,6 +38,7 @@ class WidgetArtikel extends WidgetGenArtikel
|
||||
$this->app->YUI->AutoComplete("zolltarifnummer","zolltarifnummer",1);
|
||||
$this->app->YUI->AutoComplete("bestandalternativartikel","artikelnummer");
|
||||
$this->app->YUI->AutoComplete("steuergruppe","steuergruppe");
|
||||
$this->app->YUI->AutoComplete("sachkonto","sachkonto",1);
|
||||
$this->app->YUI->AutoComplete("kostenstelle","kostenstelle",1);
|
||||
$this->app->YUI->AutoComplete("steuersatz","steuersatz",1);
|
||||
$this->app->YUI->AutoComplete("preproduced_partlist","lagerartikelnummer");
|
||||
@ -68,6 +69,7 @@ class WidgetArtikel extends WidgetGenArtikel
|
||||
$this->form->ReplaceFunction("nummer",$this,"ReplaceTrim");
|
||||
$this->form->ReplaceFunction("ean",$this,"ReplaceTrim");
|
||||
$this->form->ReplaceFunction("name_de",$this,"ReplaceTrim");
|
||||
$this->form->ReplaceFunction("sachkonto",$this,"ReplaceKontorahmen");
|
||||
$this->form->ReplaceFunction("steuersatz",$this,"ReplaceSteuersatz");
|
||||
$this->app->Tpl->Set('GEWICHTBEZEICHNUNG', $this->app->erp->GetGewichtbezeichnung());
|
||||
|
||||
@ -643,6 +645,11 @@ class WidgetArtikel extends WidgetGenArtikel
|
||||
return $this->app->erp->ReplaceArtikel($db,$value,$fromform);
|
||||
}
|
||||
|
||||
function ReplaceKontorahmen($db,$value,$fromform)
|
||||
{
|
||||
return $this->app->erp->ReplaceKontorahmen($db,$value,$fromform);
|
||||
}
|
||||
|
||||
function ReplaceSteuersatz($db,$value,$fromform)
|
||||
{
|
||||
if($db)
|
||||
|
@ -24,6 +24,7 @@ class WidgetVerbindlichkeit_position extends WidgetGenVerbindlichkeit_position
|
||||
|
||||
$this->app->YUI->AutoComplete("projekt","projektname",1);
|
||||
$this->app->YUI->AutoComplete("kostenstelle","kostenstelle",1);
|
||||
$this->app->YUI->AutoComplete("sachkonto","sachkonto_aufwendungen",1);
|
||||
|
||||
$this->app->YUI->AutoComplete("artikel","artikelnummer");
|
||||
//$this->app->YUI->AutoComplete(AUTO,"artikel",array('nummer','name_de','warengruppe'),"nummer");
|
||||
@ -36,6 +37,7 @@ class WidgetVerbindlichkeit_position extends WidgetGenVerbindlichkeit_position
|
||||
$this->form->ReplaceFunction("menge",$this,"ReplaceMenge");
|
||||
//$this->form->ReplaceFunction("geliefert",$this,"ReplaceMenge");
|
||||
$this->form->ReplaceFunction("projekt",$this,"ReplaceProjekt");
|
||||
$this->form->ReplaceFunction("sachkonto",$this,"ReplaceSachkonto");
|
||||
|
||||
if($this->app->erp->Firmendaten("briefhtml")=="1")
|
||||
{
|
||||
@ -79,6 +81,11 @@ class WidgetVerbindlichkeit_position extends WidgetGenVerbindlichkeit_position
|
||||
return $this->app->erp->ReplaceProjekt($db,$value,$fromform);
|
||||
}
|
||||
|
||||
function ReplaceSachkonto($db,$value,$fromform)
|
||||
{
|
||||
return $this->app->erp->ReplaceKontorahmen($db,$value,$fromform);
|
||||
}
|
||||
|
||||
function ReplaceSteuersatz($db,$value,$fromform)
|
||||
{
|
||||
if($db)
|
||||
|