Compare commits
30
Commits
angebot_db
...
1.0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b39a7e5adb | ||
|
|
9f633a8fdd | ||
|
|
4d956f1e38 | ||
|
|
ca4825e84e | ||
|
|
1b952e3021 | ||
|
|
bce18dcece | ||
|
|
9fc07ca3df | ||
|
|
345bbc5a9d | ||
|
|
dd713c2286 | ||
|
|
c89c36e596 | ||
|
|
4d5b46e903 | ||
|
|
7b1d12d59b | ||
|
|
c6ee9c0faf | ||
|
|
324c7dbf17 | ||
|
|
4e5011c5f5 | ||
|
|
885cf37d29 | ||
|
|
e348560cf7 | ||
|
|
c3cbf0d214 | ||
|
|
c5cf7bcba4 | ||
|
|
ca4e320085 | ||
|
|
8dc86fdddf | ||
|
|
4a5a723a15 | ||
|
|
0360d5657f | ||
|
|
2efc34c280 | ||
|
|
9d543e6635 | ||
|
|
2ff5c007c1 | ||
|
|
4acb921b51 | ||
|
|
40734ccd66 | ||
|
|
15f4ef55f2 | ||
|
|
2b29457763 |
@@ -16769,6 +16769,26 @@ INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `ho
|
|||||||
(0, 'DatatablelabelsTransferDocumentIncomming', 1, 1, (SELECT id FROM hook WHERE name = 'transfer_document_incoming'), 'Datatablelabels', 0);
|
(0, 'DatatablelabelsTransferDocumentIncomming', 1, 1, (SELECT id FROM hook WHERE name = 'transfer_document_incoming'), 'Datatablelabels', 0);
|
||||||
/* OpenXE 2024-01-24 für datatablelabel */
|
/* OpenXE 2024-01-24 für datatablelabel */
|
||||||
|
|
||||||
|
/* OpenXE 2024-02-03 für belegvorlagen */
|
||||||
|
INSERT INTO `hook` (`name`, `aktiv`, `parametercount`, `alias`, `description`) VALUES
|
||||||
|
('BelegPositionenButtons', 1, 3, '', ''),
|
||||||
|
('AARLGPositionen_cmds_end', 1, 1, '', ''),
|
||||||
|
('ajax_filter_hook1', 1, 1, '', '');
|
||||||
|
|
||||||
|
INSERT INTO `hook_register` (`hook_action`, `function`, `aktiv`, `position`, `hook`, `module`, `module_parameter`) VALUES
|
||||||
|
(0, 'BelegevorlagenAARLGPositionen_cmds_end', 1, 2, (SELECT id FROM hook WHERE name = 'AARLGPositionen_cmds_end' LIMIT 1), 'belegevorlagen', 0),
|
||||||
|
(0, 'Belegevorlagenajax_filter_hook1', 1, 2, (SELECT id FROM hook WHERE name = 'ajax_filter_hook1' LIMIT 1), 'belegevorlagen', 0),
|
||||||
|
(0, 'BelegevorlagenBelegPositionenButtons', 1, 2, (SELECT id FROM hook WHERE name = 'BelegPositionenButtons' LIMIT 1), 'belegevorlagen', 0)
|
||||||
|
;
|
||||||
|
/* OpenXE 2024-02-03 für belegvorlagen */
|
||||||
|
|
||||||
|
/*
|
||||||
|
BelegPositionenButtons
|
||||||
|
|
||||||
|
Id,Hook_action,Function,Aktiv,Position,Hook,Module,Module_parameter
|
||||||
|
20,0,BelegevorlagenBelegPositionenButtons,1,2,16,belegevorlagen,0
|
||||||
|
*/
|
||||||
|
|
||||||
INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES
|
INSERT INTO `hook_menu` (`id`, `module`, `aktiv`) VALUES
|
||||||
(1, 'artikel', 1),
|
(1, 'artikel', 1),
|
||||||
(2, 'provisionenartikel', 1),
|
(2, 'provisionenartikel', 1),
|
||||||
|
|||||||
+17
-10
@@ -2847,21 +2847,28 @@ class YUI {
|
|||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
$sql = "SELECT $sortcol, CONCAT($hersteller_ansicht if(b.beschreibung!='',
|
$sql = "SELECT $sortcol, CONCAT($hersteller_ansicht if(b.beschreibung!='',
|
||||||
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(CONCAT(b.bezeichnung,' *'),1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),CONCAT(b.bezeichnung,' *')),
|
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(CONCAT(b.bezeichnung,' *'),1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),CONCAT(b.bezeichnung,' *')),
|
||||||
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(b.bezeichnung,1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),b.bezeichnung)) $erweiterte_ansicht)
|
if(CHAR_LENGTH(b.bezeichnung)>" . $this->app->erp->MaxArtikelbezeichnung() . ",CONCAT(SUBSTR(b.bezeichnung,1," . $this->app->erp->MaxArtikelbezeichnung() . "),'...'),b.bezeichnung)) $erweiterte_ansicht)
|
||||||
as Artikel,
|
as Artikel,
|
||||||
p.abkuerzung as projekt, a.nummer as nummer, b.nummer as nummer, DATE_FORMAT(lieferdatum,'%d.%m.%Y') as lieferdatum, trim(b.menge)+0 as menge, ".$this->FormatPreis($preiscell)." as preis
|
p.abkuerzung as projekt,
|
||||||
|
a.nummer as nummer,
|
||||||
|
b.nummer as nummer,
|
||||||
,b.waehrung, b.rabatt as rabatt,";
|
DATE_FORMAT(lieferdatum,
|
||||||
|
'%d.%m.%Y') as lieferdatum,
|
||||||
|
trim(b.menge)+0 as menge,
|
||||||
|
".$this->FormatPreis($preiscell)." as preis,
|
||||||
|
b.waehrung,
|
||||||
|
b.rabatt as rabatt,
|
||||||
|
'' AS Einkaufspreis,
|
||||||
|
'' AS DB,
|
||||||
|
";
|
||||||
}
|
}
|
||||||
$sql .= "b.id as id
|
$sql .= "b.id as id
|
||||||
FROM $table b
|
FROM $table b
|
||||||
LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id
|
LEFT JOIN artikel a ON a.id=b.artikel LEFT JOIN projekt p ON b.projekt=p.id
|
||||||
WHERE b.$module='$id'";
|
WHERE b.$module='$id'";
|
||||||
|
|
||||||
}
|
}
|
||||||
else if ($module == "verbindlichkeit") // OpenXE
|
else if ($module == "verbindlichkeit") // OpenXE
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -78533,6 +78533,17 @@
|
|||||||
"Privileges": "select,insert,update,references",
|
"Privileges": "select,insert,update,references",
|
||||||
"Comment": ""
|
"Comment": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Field": "next_lieferantengutschrift",
|
||||||
|
"Type": "text",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Field": "freifeld1",
|
"Field": "freifeld1",
|
||||||
"Type": "text",
|
"Type": "text",
|
||||||
@@ -110984,6 +110995,617 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "lieferantengutschrift",
|
||||||
|
"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": "usereditid",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "PRI",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "belegnr",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"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)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "schreibschutz",
|
||||||
|
"Type": "tinyint(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "rechnung",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "zahlbarbis",
|
||||||
|
"Type": "date",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "betrag",
|
||||||
|
"Type": "decimal(10,2)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "skonto",
|
||||||
|
"Type": "decimal(10,2)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "skontobis",
|
||||||
|
"Type": "date",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "freigabe",
|
||||||
|
"Type": "int(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "freigabemitarbeiter",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "adresse",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "projekt",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "status",
|
||||||
|
"Type": "varchar(64)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "bezahlt",
|
||||||
|
"Type": "int(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "firma",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "logdatei",
|
||||||
|
"Type": "timestamp",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0000-00-00 00:00:00",
|
||||||
|
"Extra": "on update current_timestamp()",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "waehrung",
|
||||||
|
"Type": "varchar(3)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "'EUR'",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "zahlungsweise",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "eingangsdatum",
|
||||||
|
"Type": "date",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "rechnungsdatum",
|
||||||
|
"Type": "date",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "rechnungsfreigabe",
|
||||||
|
"Type": "tinyint(1)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "kostenstelle",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "beschreibung",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "sachkonto",
|
||||||
|
"Type": "varchar(64)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "internebemerkung",
|
||||||
|
"Type": "text",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"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": [
|
||||||
|
{
|
||||||
|
"Key_name": "PRIMARY",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Key_name": "adresse",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"adresse"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lieferantengutschrift_position",
|
||||||
|
"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": "lieferantengutschrift",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "sort",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "artikel",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "projekt",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "bestellung",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "nummer",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "waehrung",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "einheit",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "vpe",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "bezeichnung",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "umsatzsteuer",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "status",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "beschreibung",
|
||||||
|
"Type": "text",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "lieferdatum",
|
||||||
|
"Type": "date",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "steuersatz",
|
||||||
|
"Type": "decimal(5,2)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "steuertext",
|
||||||
|
"Type": "varchar(1024)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "YES",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "kostenstelle",
|
||||||
|
"Type": "varchar(10)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "preis",
|
||||||
|
"Type": "decimal(14,4)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0.0000",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "menge",
|
||||||
|
"Type": "decimal(14,4)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0.0000",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "verbindlichkeit_position",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": "0",
|
||||||
|
"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": [
|
||||||
|
{
|
||||||
|
"Key_name": "PRIMARY",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Key_name": "lieferantengutschrift",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"lieferantengutschrift"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "verbindlichkeit_bestellungen",
|
"name": "verbindlichkeit_bestellungen",
|
||||||
"collation": "utf8mb3_general_ci",
|
"collation": "utf8mb3_general_ci",
|
||||||
@@ -111673,6 +112295,86 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "lieferantengutschrift_protokoll",
|
||||||
|
"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": "lieferantengutschrift",
|
||||||
|
"Type": "int(11)",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "MUL",
|
||||||
|
"Default": "0",
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "zeit",
|
||||||
|
"Type": "datetime",
|
||||||
|
"Collation": null,
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "bearbeiter",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Field": "grund",
|
||||||
|
"Type": "varchar(255)",
|
||||||
|
"Collation": "utf8mb3_general_ci",
|
||||||
|
"Null": "NO",
|
||||||
|
"Key": "",
|
||||||
|
"Default": null,
|
||||||
|
"Extra": "",
|
||||||
|
"Privileges": "select,insert,update,references",
|
||||||
|
"Comment": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"keys": [
|
||||||
|
{
|
||||||
|
"Key_name": "PRIMARY",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Key_name": "lieferantengutschrift",
|
||||||
|
"Index_type": "BTREE",
|
||||||
|
"columns": [
|
||||||
|
"lieferantengutschrift"
|
||||||
|
],
|
||||||
|
"Non_unique": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "verbindlichkeit_regelmaessig",
|
"name": "verbindlichkeit_regelmaessig",
|
||||||
"collation": "utf8mb3_general_ci",
|
"collation": "utf8mb3_general_ci",
|
||||||
|
|||||||
+42
-17
@@ -7191,6 +7191,7 @@ title: 'Abschicken',
|
|||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Lohnabrechnung','lohnabrechnung','list');
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Lohnabrechnung','lohnabrechnung','list');
|
||||||
|
|
||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Verbindlichkeiten','verbindlichkeit','list');
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Verbindlichkeiten','verbindlichkeit','list');
|
||||||
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Lieferantengutschriften','lieferantengutschrift','list');
|
||||||
|
|
||||||
$navarray['menu']['admin'][$menu]['sec'][] = array('Kassenbuch','kasse','list');
|
$navarray['menu']['admin'][$menu]['sec'][] = array('Kassenbuch','kasse','list');
|
||||||
|
|
||||||
@@ -8620,6 +8621,7 @@ function StandardFirmendatenWerte()
|
|||||||
$this->AddNeuenFirmendatenWert( 'next_proformarechnung', 'varchar', '128', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'next_proformarechnung', 'varchar', '128', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'next_serviceauftrag', 'varchar', '128', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'next_serviceauftrag', 'varchar', '128', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'next_verbindlichkeit', 'varchar', '128', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'next_verbindlichkeit', 'varchar', '128', '', '', '', 1, 1);
|
||||||
|
$this->AddNeuenFirmendatenWert( 'next_lieferantengutschrift', 'varchar', '128', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_sofort_de', 'text', '', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_sofort_de', 'text', '', '', '', '', 1, 1);
|
||||||
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_de', 'text', '', '', '', '', 1, 1);
|
$this->AddNeuenFirmendatenWert( 'zahlung_auftrag_de', 'text', '', '', '', '', 1, 1);
|
||||||
|
|
||||||
@@ -10517,15 +10519,19 @@ function SendPaypalFromAuftrag($auftrag, $test = false)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($variables['datum']=="") $variables['datum']=date('d.m.Y');
|
if (is_array($variables)) {
|
||||||
|
if($variables['datum']=="") {
|
||||||
|
$variables['datum']=date('d.m.Y');
|
||||||
|
}
|
||||||
|
|
||||||
if(!empty($variables))
|
if(!empty($variables))
|
||||||
{
|
{
|
||||||
foreach($variables as $key=>$value)
|
foreach($variables as $key=>$value)
|
||||||
{
|
{
|
||||||
$value = $this->UmlauteEntfernen($value);
|
$value = $this->UmlauteEntfernen($value);
|
||||||
$xml = str_replace("{".strtoupper($key)."}",$value,$xml);
|
$xml = str_replace("{".strtoupper($key)."}",$value,$xml);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// y to z wenn Kein PDF -> also nur bei EPL Drucker - 09.06.2019 BS heute auf 0 gestellt bei deutschen adapterboxen eventuell
|
// y to z wenn Kein PDF -> also nur bei EPL Drucker - 09.06.2019 BS heute auf 0 gestellt bei deutschen adapterboxen eventuell
|
||||||
@@ -13246,6 +13252,11 @@ function SendPaypalFromAuftrag($auftrag, $test = false)
|
|||||||
return $this->ReplaceANABRELSGSBE("rechnung",$db,$value,$fromform);
|
return $this->ReplaceANABRELSGSBE("rechnung",$db,$value,$fromform);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ReplaceVerbindlichkeit($db,$value,$fromform)
|
||||||
|
{
|
||||||
|
return $this->ReplaceANABRELSGSBE("verbindlichkeit",$db,$value,$fromform);
|
||||||
|
}
|
||||||
|
|
||||||
function ReplaceRetoure($db,$value,$fromform)
|
function ReplaceRetoure($db,$value,$fromform)
|
||||||
{
|
{
|
||||||
return $this->ReplaceANABRELSGSBE('retoure',$db,$value,$fromform);
|
return $this->ReplaceANABRELSGSBE('retoure',$db,$value,$fromform);
|
||||||
@@ -25530,31 +25541,31 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
|||||||
{
|
{
|
||||||
$signaturtext = $this->Signatur($from);
|
$signaturtext = $this->Signatur($from);
|
||||||
if($this->isHTML($signaturtext))
|
if($this->isHTML($signaturtext))
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".$signaturtext;
|
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
|
||||||
else
|
else
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".nl2br($signaturtext);
|
$body = str_replace('\r\n',"\n",$text)."<br>".nl2br($signaturtext);
|
||||||
}else{
|
}else{
|
||||||
if($projekt > 0 && $this->Projektdaten($projekt,"absendesignatur")!=""){
|
if($projekt > 0 && $this->Projektdaten($projekt,"absendesignatur")!=""){
|
||||||
$signaturtext = $this->Projektdaten($projekt,"absendesignatur");
|
$signaturtext = $this->Projektdaten($projekt,"absendesignatur");
|
||||||
if($this->isHTML($signaturtext))
|
if($this->isHTML($signaturtext))
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br><br>".$signaturtext;
|
$body = str_replace('\r\n',"\n",$text)."<br><br>".$signaturtext;
|
||||||
else
|
else
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br><br>".$this->ReadyForPDF(nl2br($signaturtext));
|
$body = str_replace('\r\n',"\n",$text)."<br><br>".$this->ReadyForPDF(nl2br($signaturtext));
|
||||||
}else{
|
}else{
|
||||||
if(strlen(trim($this->Signatur($from))) > 0 && $eigenesignatur == 0){
|
if(strlen(trim($this->Signatur($from))) > 0 && $eigenesignatur == 0){
|
||||||
$signaturtext = $this->Signatur($from);
|
$signaturtext = $this->Signatur($from);
|
||||||
if($this->isHTML($signaturtext))
|
if($this->isHTML($signaturtext))
|
||||||
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
|
$body = str_replace('\r\n',"\n",$text)."<br>".$signaturtext;
|
||||||
else
|
else
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text))."<br>".nl2br($signaturtext);
|
$body = str_replace('\r\n',"\n",$text)."<br>".nl2br($signaturtext);
|
||||||
}else{
|
}else{
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text));
|
$body = str_replace('\r\n',"\n",$text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$body = utf8_decode(str_replace('\r\n',"\n",$text));
|
$body = str_replace('\r\n',"\n",$text);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -25799,6 +25810,7 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
|||||||
$uebersetzung['dokument_artikelnummerkunde']['deutsch'] = "Ihre Artikelnummer";
|
$uebersetzung['dokument_artikelnummerkunde']['deutsch'] = "Ihre Artikelnummer";
|
||||||
$uebersetzung['dokument_menge']['deutsch'] = "Menge";
|
$uebersetzung['dokument_menge']['deutsch'] = "Menge";
|
||||||
$uebersetzung['dokument_gesamt']['deutsch'] = "Gesamt";
|
$uebersetzung['dokument_gesamt']['deutsch'] = "Gesamt";
|
||||||
|
$uebersetzung['dokument_gesamt_optional']['deutsch'] = "Gesamt optional";
|
||||||
$uebersetzung['dokument_gesamt_total']['deutsch'] = "Gesamt";
|
$uebersetzung['dokument_gesamt_total']['deutsch'] = "Gesamt";
|
||||||
$uebersetzung['dokument_mwst']['deutsch'] = "MwSt.";
|
$uebersetzung['dokument_mwst']['deutsch'] = "MwSt.";
|
||||||
$uebersetzung['dokument_zzglmwst']['deutsch'] = "zzgl. MwSt.";
|
$uebersetzung['dokument_zzglmwst']['deutsch'] = "zzgl. MwSt.";
|
||||||
@@ -25816,6 +25828,7 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
|||||||
$uebersetzung['dokument_ursprungsregion']['deutsch'] = "Ursprungsregion";
|
$uebersetzung['dokument_ursprungsregion']['deutsch'] = "Ursprungsregion";
|
||||||
$uebersetzung['dokument_gewicht']['deutsch'] = "Gewicht";
|
$uebersetzung['dokument_gewicht']['deutsch'] = "Gewicht";
|
||||||
$uebersetzung['dokument_gesamtnetto']['deutsch'] = "Gesamt netto";
|
$uebersetzung['dokument_gesamtnetto']['deutsch'] = "Gesamt netto";
|
||||||
|
$uebersetzung['dokument_gesamtnetto_optional']['deutsch'] = "Gesamt netto optional";
|
||||||
$uebersetzung['dokument_seite']['deutsch'] = "Seite";
|
$uebersetzung['dokument_seite']['deutsch'] = "Seite";
|
||||||
$uebersetzung['dokument_seitevon']['deutsch'] = "von";
|
$uebersetzung['dokument_seitevon']['deutsch'] = "von";
|
||||||
$uebersetzung['dokument_datum']['deutsch'] = "Datum";
|
$uebersetzung['dokument_datum']['deutsch'] = "Datum";
|
||||||
@@ -26074,7 +26087,14 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
|
|
||||||
|
$column_exists = $this->app->DB->Select("SHOW COLUMNS FROM firmendaten WHERE field = '".$field."'");
|
||||||
|
|
||||||
|
if ($column_exists) {
|
||||||
|
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
|
||||||
|
} else {
|
||||||
|
$this->AddNeuenFirmendatenWert($field, $typ, $typ1, $typ2, $value, $default_value, $default_null, $darf_null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$db = $this->app->Conf->WFdbname;
|
$db = $this->app->Conf->WFdbname;
|
||||||
if(!empty($this->firmendaten[$db])) {
|
if(!empty($this->firmendaten[$db])) {
|
||||||
@@ -27720,7 +27740,7 @@ function Firmendaten($field,$projekt="")
|
|||||||
$allowedtypes = ['angebot', 'auftrag', 'rechnung', 'lieferschein', 'arbeitsnachweis', 'reisekosten',
|
$allowedtypes = ['angebot', 'auftrag', 'rechnung', 'lieferschein', 'arbeitsnachweis', 'reisekosten',
|
||||||
'bestellung', 'gutschrift', 'kundennummer', 'lieferantennummer', 'mitarbeiternummer', 'waren',
|
'bestellung', 'gutschrift', 'kundennummer', 'lieferantennummer', 'mitarbeiternummer', 'waren',
|
||||||
'produktion', 'sonstiges', 'anfrage', 'artikelnummer', 'kalkulation', 'preisanfrage', 'proformarechnung',
|
'produktion', 'sonstiges', 'anfrage', 'artikelnummer', 'kalkulation', 'preisanfrage', 'proformarechnung',
|
||||||
'retoure', 'verbindlichkeit', 'goodspostingdocument', 'receiptdocument'];
|
'retoure', 'verbindlichkeit','lieferantengutschrift', 'goodspostingdocument', 'receiptdocument'];
|
||||||
|
|
||||||
$dbfield = "next_$type";
|
$dbfield = "next_$type";
|
||||||
$belegnr = $this->app->DB->Select("SELECT $dbfield FROM projekt WHERE id='$projekt' LIMIT 1");
|
$belegnr = $this->app->DB->Select("SELECT $dbfield FROM projekt WHERE id='$projekt' LIMIT 1");
|
||||||
@@ -27846,6 +27866,11 @@ function Firmendaten($field,$projekt="")
|
|||||||
if($belegnr == "0" || $belegnr=="") $belegnr = 10000;
|
if($belegnr == "0" || $belegnr=="") $belegnr = 10000;
|
||||||
$newbelegnr = $this->CalcNextNummer($belegnr);
|
$newbelegnr = $this->CalcNextNummer($belegnr);
|
||||||
break;
|
break;
|
||||||
|
case "lieferantengutschrift":
|
||||||
|
$belegnr = $this->Firmendaten("next_lieferantengutschrift");
|
||||||
|
if($belegnr == "0" || $belegnr=="") $belegnr = 20000;
|
||||||
|
$newbelegnr = $this->CalcNextNummer($belegnr);
|
||||||
|
break;
|
||||||
case 'receiptdocument':
|
case 'receiptdocument':
|
||||||
$belegnr = $this->Firmendaten('next_receiptdocument');
|
$belegnr = $this->Firmendaten('next_receiptdocument');
|
||||||
if($belegnr == '0' || $belegnr=='') {
|
if($belegnr == '0' || $belegnr=='') {
|
||||||
|
|||||||
@@ -41,8 +41,15 @@ class AngebotPDF extends BriefpapierCustom {
|
|||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
|
||||||
else $this->ust_spalteausblende=true;
|
$this->ust_spalteausblende=false;
|
||||||
|
|
||||||
|
if(!empty($check)) {
|
||||||
|
if (count($check) == 1) {
|
||||||
|
$this->ust_spalteausblende=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
@@ -491,30 +498,29 @@ class AngebotPDF extends BriefpapierCustom {
|
|||||||
"rabatt"=>$value['rabatt'],
|
"rabatt"=>$value['rabatt'],
|
||||||
"steuertext"=>$value['steuertext']));
|
"steuertext"=>$value['steuertext']));
|
||||||
if($positionenkaufmaenischrunden == 3){
|
if($positionenkaufmaenischrunden == 3){
|
||||||
$netto_gesamt = $value['menge'] * round($value['preis'] - ($value['preis'] / 100 * $value['rabatt']),2);
|
if (!$value['nicht_einrechnen']) {
|
||||||
}else{
|
$netto_gesamt = $value['menge'] * round($value['preis'] - ($value['preis'] / 100 * $value['rabatt']),2);
|
||||||
|
}
|
||||||
|
}else if (!$value['nicht_einrechnen']) {
|
||||||
$netto_gesamt = $value['menge'] * ($value['preis'] - ($value['preis'] / 100 * $value['rabatt']));
|
$netto_gesamt = $value['menge'] * ($value['preis'] - ($value['preis'] / 100 * $value['rabatt']));
|
||||||
}
|
}
|
||||||
if($positionenkaufmaenischrunden)
|
if($positionenkaufmaenischrunden)
|
||||||
{
|
{
|
||||||
$netto_gesamt = round($netto_gesamt, 2);
|
$netto_gesamt = round($netto_gesamt, 2);
|
||||||
}
|
}
|
||||||
if($value['optional']!="1"){
|
if(!isset($summen[$value['steuersatz']])) {
|
||||||
|
$summen[$value['steuersatz']] = 0;
|
||||||
|
}
|
||||||
|
if($value['optional']!="1"){
|
||||||
if($value['explodiert_parent'] == 0 || !$berechnen_aus_teile)
|
if($value['explodiert_parent'] == 0 || !$berechnen_aus_teile)
|
||||||
{
|
{
|
||||||
$summe = $summe + $netto_gesamt;
|
|
||||||
if(!isset($summen[$value['steuersatz']]))$summen[$value['steuersatz']] = 0;
|
|
||||||
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
|
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
|
||||||
|
$summe = $summe + $netto_gesamt;
|
||||||
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
|
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
|
||||||
}
|
}
|
||||||
/*
|
} else {
|
||||||
if($value['umsatzsteuer']=="" || $value['umsatzsteuer']=="normal")
|
$summe_netto_optional += $netto_gesamt;
|
||||||
{
|
$steuern_optional +=($netto_gesamt/100)*$value['steuersatz'];
|
||||||
$summeV = $summeV + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzNormal(false,$id,"angebot"));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$summeR = $summeR + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzErmaessigt(false,$id,"angebot"));
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -536,7 +542,7 @@ class AngebotPDF extends BriefpapierCustom {
|
|||||||
|
|
||||||
if($this->app->erp->AngebotMitUmsatzeuer($id))
|
if($this->app->erp->AngebotMitUmsatzeuer($id))
|
||||||
{
|
{
|
||||||
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0));
|
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0,"optional"=>$summe_netto_optional+$steuern_optional,"optional_netto"=>$summe_netto_optional));
|
||||||
//$this->setTotals(array("totalArticles"=>$summe,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR,"total"=>$summe+$summeV+$summeR));
|
//$this->setTotals(array("totalArticles"=>$summe,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR,"total"=>$summe+$summeV+$summeR));
|
||||||
} else {
|
} else {
|
||||||
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe));
|
$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe));
|
||||||
|
|||||||
@@ -43,8 +43,13 @@ class AuftragPDF extends BriefpapierCustom {
|
|||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
$this->ust_spalteausblende=false;
|
||||||
else $this->ust_spalteausblende=true;
|
|
||||||
|
if(!empty($check)) {
|
||||||
|
if (count($check) == 1) {
|
||||||
|
$this->ust_spalteausblende=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|||||||
@@ -658,7 +658,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
|
|
||||||
public function addItem($rdata){
|
public function addItem($rdata){
|
||||||
// add rabatt
|
// add rabatt
|
||||||
if($rdata['price']!='-'){
|
if($rdata['price']!='-' && is_numeric($rdata['price'])){
|
||||||
if($rdata['rabatt'] == 100){
|
if($rdata['rabatt'] == 100){
|
||||||
$rdata['tprice'] = round($rdata['amount'] * ((double)$rdata['price'] - (double)($rdata['price'] / 100.00 * (double)$rdata['rabatt'])), 13);
|
$rdata['tprice'] = round($rdata['amount'] * ((double)$rdata['price'] - (double)($rdata['price'] / 100.00 * (double)$rdata['rabatt'])), 13);
|
||||||
}else{
|
}else{
|
||||||
@@ -1775,7 +1775,12 @@ class Briefpapier extends SuperFPDF {
|
|||||||
$total=$totalFullTax=$totalReducedTax=0;
|
$total=$totalFullTax=$totalReducedTax=0;
|
||||||
$citems = !empty($this->items)?count($this->items):0;
|
$citems = !empty($this->items)?count($this->items):0;
|
||||||
for($i=0;$i<$citems;$i++) {
|
for($i=0;$i<$citems;$i++) {
|
||||||
$total += $this->items[$i]['tprice'];
|
if (!$this->items[$i]['optional']) {
|
||||||
|
$total += $this->items[$i]['tprice'];
|
||||||
|
} else {
|
||||||
|
$totalOptional += $this->items[$i]['tprice'];
|
||||||
|
}
|
||||||
|
|
||||||
if($this->items[$i]['tax']=="USTV") {
|
if($this->items[$i]['tax']=="USTV") {
|
||||||
$totalFullTax+= $this->items[$i]['tprice']*USTV;
|
$totalFullTax+= $this->items[$i]['tprice']*USTV;
|
||||||
}
|
}
|
||||||
@@ -1783,7 +1788,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
$totalReducedTax+= $this->items[$i]['tprice']*USTR;
|
$totalReducedTax+= $this->items[$i]['tprice']*USTR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return array($total,$totalFullTax,$totalReducedTax);
|
return array($total,$totalFullTax,$totalReducedTax,$totalOptional);
|
||||||
}
|
}
|
||||||
|
|
||||||
function GetFont()
|
function GetFont()
|
||||||
@@ -2498,7 +2503,6 @@ class Briefpapier extends SuperFPDF {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function renderItems() {
|
public function renderItems() {
|
||||||
|
|
||||||
$this->app->erp->RunHook('briefpapier_renderitems',1, $this);
|
$this->app->erp->RunHook('briefpapier_renderitems',1, $this);
|
||||||
// if($this->bestellungohnepreis) $this->doctype="lieferschein";
|
// if($this->bestellungohnepreis) $this->doctype="lieferschein";
|
||||||
$posWidth = $this->getStyleElement("breite_position");
|
$posWidth = $this->getStyleElement("breite_position");
|
||||||
@@ -2942,7 +2946,6 @@ class Briefpapier extends SuperFPDF {
|
|||||||
if($this->doctype!=='zahlungsavis')
|
if($this->doctype!=='zahlungsavis')
|
||||||
{
|
{
|
||||||
if($item['tax']!=='hidden'){
|
if($item['tax']!=='hidden'){
|
||||||
|
|
||||||
if($anzeigeBelegNettoAdrese){
|
if($anzeigeBelegNettoAdrese){
|
||||||
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
||||||
//&& $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
//&& $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
@@ -3068,16 +3071,18 @@ class Briefpapier extends SuperFPDF {
|
|||||||
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
{
|
{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
$this->Cell_typed($priceWidth,$cellhoehe,$item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']),0,0,'R');
|
// $this->Cell_typed($priceWidth,$cellhoehe,$item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']),0,0,'R');
|
||||||
|
$price_displayed = $item['ohnepreis']?'':$this->formatMoney((double)$item['tprice']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
$this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
// $this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
||||||
|
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->Cell_typed($rabattWidth,$cellhoehe,"",0,0,'R');
|
// $this->Cell_typed($rabattWidth,$cellhoehe,"",0,0,'R');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3093,7 +3098,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
$this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['price'] * $item['tmptax']), 0, 0, 'R');
|
$this->Cell_typed($priceWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['price'] * $item['tmptax']), 0, 0, 'R');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//$this->Cell_typed($sumWidth,$cellhoehe,$this->formatMoney($item['tprice']).' '.$item['currency'],0,0,'R');
|
//$this->Cell_typed($sumWidth,$cellhoehe,$this->formatMoney($item['tprice']).' '.$item['currency'],0,0,'R');
|
||||||
if($this->rabatt=='1')
|
if($this->rabatt=='1')
|
||||||
{
|
{
|
||||||
@@ -3107,12 +3112,14 @@ class Briefpapier extends SuperFPDF {
|
|||||||
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
//if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
||||||
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
||||||
|
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
||||||
|
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3121,18 +3128,29 @@ class Briefpapier extends SuperFPDF {
|
|||||||
// if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
// if(($this->anrede=="firma" || $this->app->erp->AnzeigeBelegNetto($this->anrede,$projekt) || $this->doctype=="bestellung" || $this->getStyleElement("immernettorechnungen",$projekt)=="1")
|
||||||
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
// && $this->getStyleElement("immerbruttorechnungen",$projekt)!="1")
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']), 0, 0, 'R');
|
||||||
|
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!$inventurohnepreis){
|
if(!$inventurohnepreis){
|
||||||
$this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
// $this->Cell_typed($sumWidth, $cellhoehe, $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']), 0, 0, 'R');
|
||||||
|
$price_displayed = $item['ohnepreis'] ? '' : $this->formatMoney((double)$item['tprice'] * $item['tmptax']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OpenXE add price here
|
||||||
|
if (!empty($price_displayed)) {
|
||||||
|
if ($item['optional']) {
|
||||||
|
$this->Cell_typed($sumWidth, $cellhoehe, "(".$price_displayed.")", 0, 0, 'R');
|
||||||
|
} else {
|
||||||
|
$this->Cell_typed($sumWidth, $cellhoehe, $price_displayed, 0, 0, 'R');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(($this->doctype==='lieferschein' || $this->doctype==='preisanfrage') && $this->getStyleElement('artikeleinheit')=='1')
|
else if(($this->doctype==='lieferschein' || $this->doctype==='preisanfrage') && $this->getStyleElement('artikeleinheit')=='1')
|
||||||
{
|
{
|
||||||
@@ -4008,7 +4026,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$beschriftung_zeile = ucfirst($zwischenpositionen[$i]['postype']);
|
$beschriftung_zeile = ucfirst($zwischenpositionen[$i]['postype']);
|
||||||
|
|
||||||
if($data['name']=="")
|
if($data['name']=="")
|
||||||
$html = ($fett?"<b>":"").$beschriftung_zeile.($fett?"</b>":"");
|
$html = ($fett?"<b>":"").$beschriftung_zeile.($fett?"</b>":"");
|
||||||
else
|
else
|
||||||
@@ -4029,10 +4047,10 @@ class Briefpapier extends SuperFPDF {
|
|||||||
$abstand_links = $posWidth +$itemNoWidth;
|
$abstand_links = $posWidth +$itemNoWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->SetX($x+$abstand_links);
|
$this->SetX($x+$abstand_links);
|
||||||
|
|
||||||
$text = $this->WriteHTML($html);
|
$text = $this->WriteHTML($html);
|
||||||
$text = empty($text)?"":$text;
|
$text = empty($text)?"":$text;
|
||||||
|
|
||||||
$this->Cell_typed($descWidth,4,);
|
$this->Cell_typed($descWidth,4,);
|
||||||
$this->SetX($x+$abstand_links+$descWidth);
|
$this->SetX($x+$abstand_links+$descWidth);
|
||||||
@@ -4279,7 +4297,7 @@ class Briefpapier extends SuperFPDF {
|
|||||||
$this->Cell_typed(40,3,'',0,0,'R');
|
$this->Cell_typed(40,3,'',0,0,'R');
|
||||||
}
|
}
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
}
|
}
|
||||||
$this->SetY($this->GetY()+2);
|
$this->SetY($this->GetY()+2);
|
||||||
//$this->Line(110, $this->GetY(), 190,$this->GetY());
|
//$this->Line(110, $this->GetY(), 190,$this->GetY());
|
||||||
}
|
}
|
||||||
@@ -4320,6 +4338,16 @@ class Briefpapier extends SuperFPDF {
|
|||||||
$this->Line($differenz_wegen_abstand+5, $this->GetY(), 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY());
|
$this->Line($differenz_wegen_abstand+5, $this->GetY(), 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY());
|
||||||
$this->Line($differenz_wegen_abstand+5, $this->GetY()+1, 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY()+1);
|
$this->Line($differenz_wegen_abstand+5, $this->GetY()+1, 210-$this->getStyleElement('abstand_seitenrandrechts'),$this->GetY()+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($this->totals['optional'])) {
|
||||||
|
$this->SetFont($this->GetFont(),'',$this->getStyleElement('schriftgroesse_gesamt'));
|
||||||
|
$this->Ln(2);
|
||||||
|
$this->Cell_typed($differenz_wegen_abstand,1,'',0);
|
||||||
|
$this->Cell_typed(30,5,"(".$this->app->erp->Beschriftung('dokument_gesamt_optional'),0,0,'L');
|
||||||
|
$this->Cell_typed(40,5,$this->formatMoney(round($this->totals['optional'],2), 2).' '.$this->waehrung.")",0,0,'R');
|
||||||
|
$this->Ln();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$this->SetY($this->GetY()+10);
|
$this->SetY($this->GetY()+10);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,201 +1,202 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||||
*
|
*
|
||||||
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
||||||
*
|
*
|
||||||
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
||||||
*
|
*
|
||||||
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
||||||
* to obtain the text of the corresponding license version.
|
* to obtain the text of the corresponding license version.
|
||||||
*
|
*
|
||||||
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
<?php
|
<?php
|
||||||
use Xentral\Components\Barcode\BarcodeFactory;
|
use Xentral\Components\Barcode\BarcodeFactory;
|
||||||
|
|
||||||
include_once "class.superfpdf.php";
|
include_once "class.superfpdf.php";
|
||||||
|
|
||||||
class EtikettenPDF extends SuperFPDF {
|
class EtikettenPDF extends SuperFPDF {
|
||||||
|
|
||||||
function __construct($app,$projekt="") {
|
function __construct($app,$projekt="") {
|
||||||
$this->app=$app;
|
$this->app=$app;
|
||||||
$this->page_definded=false;
|
$this->page_definded=false;
|
||||||
}
|
$this->images = array();
|
||||||
|
}
|
||||||
function SetXML($xml)
|
|
||||||
{
|
function SetXML($xml)
|
||||||
if(empty($xml))return;
|
{
|
||||||
$xml = str_replace('&','&', $xml);
|
if(empty($xml))return;
|
||||||
try {
|
$xml = str_replace('&','&', $xml);
|
||||||
$label = new SimpleXMLElement($xml);
|
try {
|
||||||
} catch (Exception $e) {
|
$label = new SimpleXMLElement($xml);
|
||||||
return;
|
} catch (Exception $e) {
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
foreach($label as $key=>$items)
|
|
||||||
{
|
foreach($label as $key=>$items)
|
||||||
switch($key)
|
{
|
||||||
{
|
switch($key)
|
||||||
case "settings":
|
{
|
||||||
if(!$this->page_definded)
|
case "settings":
|
||||||
{
|
if(!$this->page_definded)
|
||||||
parent::__construct('P','mm',array(trim($items->attributes()->width),trim($items->attributes()->height)));
|
{
|
||||||
$this->page_definded = true;
|
parent::__construct('P','mm',array(trim($items->attributes()->width),trim($items->attributes()->height)));
|
||||||
}
|
$this->page_definded = true;
|
||||||
|
}
|
||||||
$this->SetAutoPageBreak(false);
|
|
||||||
$this->SetFont('Arial','B',4);
|
$this->SetAutoPageBreak(false);
|
||||||
$this->SetLeftMargin(0);
|
$this->SetFont('Arial','B',4);
|
||||||
$this->SetMargins(0,0,0);
|
$this->SetLeftMargin(0);
|
||||||
$this->AddPage();
|
$this->SetMargins(0,0,0);
|
||||||
break;
|
$this->AddPage();
|
||||||
|
break;
|
||||||
case "line":
|
|
||||||
$this->SetXY(trim($items->attributes()->x),$items->attributes()->y,$items[0]);
|
case "line":
|
||||||
$this->SetFont('Arial','',$items->attributes()->size*2);
|
$this->SetXY(trim($items->attributes()->x),$items->attributes()->y,$items[0]);
|
||||||
$this->MultiCell(0,$items->attributes()->size,$items[0],0,'L');
|
$this->SetFont('Arial','',$items->attributes()->size*2);
|
||||||
break;
|
$this->MultiCell(0,$items->attributes()->size,$items[0],0,'L');
|
||||||
|
break;
|
||||||
case "rectangle":
|
|
||||||
$attributes = $items->attributes();
|
case "rectangle":
|
||||||
$borderwidth = 1;
|
$attributes = $items->attributes();
|
||||||
if(isset($attributes->size))$borderwidth = $attributes->size;
|
$borderwidth = 1;
|
||||||
$this->SetLineWidth($borderwidth / 10);
|
if(isset($attributes->size))$borderwidth = $attributes->size;
|
||||||
$this->Rect($items->attributes()->x, $items->attributes()->y,trim($items->attributes()->width),trim($items->attributes()->height),'B');
|
$this->SetLineWidth($borderwidth / 10);
|
||||||
break;
|
$this->Rect($items->attributes()->x, $items->attributes()->y,trim($items->attributes()->width),trim($items->attributes()->height),'B');
|
||||||
|
break;
|
||||||
case "image":
|
|
||||||
$filename = '';
|
case "image":
|
||||||
if(isset($items->attributes()->src))
|
$filename = '';
|
||||||
{
|
if(isset($items->attributes()->src))
|
||||||
$src = str_replace('&','&',$items->attributes()->src);
|
{
|
||||||
if(stripos($src,'http://') === false && stripos($src,'https://') === false)
|
$src = str_replace('&','&',$items->attributes()->src);
|
||||||
{
|
if(stripos($src,'http://') === false && stripos($src,'https://') === false)
|
||||||
$src = 'http://'.$src;
|
{
|
||||||
}
|
$src = 'http://'.$src;
|
||||||
$content = file_get_contents($src);
|
}
|
||||||
if($content)
|
$content = file_get_contents($src);
|
||||||
{
|
if($content)
|
||||||
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]);
|
{
|
||||||
file_put_contents($filename.'1.jpg', $content);
|
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]);
|
||||||
|
file_put_contents($filename.'1.jpg', $content);
|
||||||
$bildbreite = trim($items->attributes()->width);
|
|
||||||
$bildhoehe = trim($items->attributes()->height);
|
$bildbreite = trim($items->attributes()->width);
|
||||||
if(!class_exists('image'))include_once(__DIR__.'/../class.image.php');
|
$bildhoehe = trim($items->attributes()->height);
|
||||||
$img = new image($this->app);
|
if(!class_exists('image'))include_once(__DIR__.'/../class.image.php');
|
||||||
if($bildbreite > 0)
|
$img = new image($this->app);
|
||||||
{
|
if($bildbreite > 0)
|
||||||
$breite = $bildbreite;
|
{
|
||||||
}else{
|
$breite = $bildbreite;
|
||||||
$breite = 30;
|
}else{
|
||||||
}
|
$breite = 30;
|
||||||
if($bildhoehe > 0)
|
}
|
||||||
{
|
if($bildhoehe > 0)
|
||||||
$hoehe = $bildhoehe;
|
{
|
||||||
}else{
|
$hoehe = $bildhoehe;
|
||||||
$hoehe = $breite;
|
}else{
|
||||||
}
|
$hoehe = $breite;
|
||||||
$_breite = $breite;
|
}
|
||||||
$_hoehe = $hoehe;
|
$_breite = $breite;
|
||||||
list($width, $height) = getimagesize($filename.'1.jpg');
|
$_hoehe = $hoehe;
|
||||||
if($width > 0 && $height > 0)
|
list($width, $height) = getimagesize($filename.'1.jpg');
|
||||||
{
|
if($width > 0 && $height > 0)
|
||||||
$scalex = $breite / $width;
|
{
|
||||||
$scaley = $hoehe / $height;
|
$scalex = $breite / $width;
|
||||||
if($scalex < $scaley)
|
$scaley = $hoehe / $height;
|
||||||
{
|
if($scalex < $scaley)
|
||||||
$hoehe /= $scaley / $scalex;
|
{
|
||||||
$hoehe = ceil($hoehe);
|
$hoehe /= $scaley / $scalex;
|
||||||
}else{
|
$hoehe = ceil($hoehe);
|
||||||
$breite /= $scalex / $scaley;
|
}else{
|
||||||
$breite = ceil($breite);
|
$breite /= $scalex / $scaley;
|
||||||
}
|
$breite = ceil($breite);
|
||||||
$str = $content;
|
}
|
||||||
$manipulator = new ImageManipulator($str);
|
$str = $content;
|
||||||
$manipulator->resample($_breite*10, $_hoehe*10, false,true, true);
|
$manipulator = new ImageManipulator($str);
|
||||||
$typ = IMAGETYPE_JPEG;
|
$manipulator->resample($_breite*10, $_hoehe*10, false,true, true);
|
||||||
$manipulator->save($filename.'2.jpg', $typ);
|
$typ = IMAGETYPE_JPEG;
|
||||||
$items[0] = $filename.'2.jpg';
|
$manipulator->save($filename.'2.jpg', $typ);
|
||||||
}
|
$items[0] = $filename.'2.jpg';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
$type = exif_imagetype ( trim($items[0]) );
|
}
|
||||||
|
$type = exif_imagetype ( trim($items[0]) );
|
||||||
switch($type)
|
|
||||||
{
|
switch($type)
|
||||||
case IMAGETYPE_GIF: $type="gif"; break;
|
{
|
||||||
case IMAGETYPE_JPEG: $type="jpg"; break;
|
case IMAGETYPE_GIF: $type="gif"; break;
|
||||||
case IMAGETYPE_PNG: $type="png"; break;
|
case IMAGETYPE_JPEG: $type="jpg"; break;
|
||||||
default: $type="";
|
case IMAGETYPE_PNG: $type="png"; break;
|
||||||
}
|
default: $type="";
|
||||||
if($type!="")
|
}
|
||||||
{
|
if($type!="")
|
||||||
$this->Image(trim($items[0]),trim($items->attributes()->x),trim($items->attributes()->y),trim($items->attributes()->width),trim($items->attributes()->height),$type);
|
{
|
||||||
}
|
$this->Image(trim($items[0]),trim($items->attributes()->x),trim($items->attributes()->y),trim($items->attributes()->width),trim($items->attributes()->height),$type);
|
||||||
if($filename != '')
|
}
|
||||||
{
|
if($filename != '')
|
||||||
unlink($filename.'1.jpg');
|
{
|
||||||
unlink($filename.'2.jpg');
|
unlink($filename.'1.jpg');
|
||||||
}
|
unlink($filename.'2.jpg');
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
case "barcode":
|
|
||||||
if((String)($items->attributes()->type)=="E30") {
|
case "barcode":
|
||||||
$this->EAN13($items->attributes()->x,$items->attributes()->y, $items[0],$items->attributes()->size);
|
if((String)($items->attributes()->type)=="E30") {
|
||||||
}
|
$this->EAN13($items->attributes()->x,$items->attributes()->y, $items[0],$items->attributes()->size);
|
||||||
else if((String)($items->attributes()->type)=="Code128" || (String)($items->attributes()->type)=="1") {
|
}
|
||||||
$this->Code128($items->attributes()->x, $items->attributes()->y, $items[0], $items->attributes()->width, $items->attributes()->size);
|
else if((String)($items->attributes()->type)=="Code128" || (String)($items->attributes()->type)=="1") {
|
||||||
}
|
$this->Code128($items->attributes()->x, $items->attributes()->y, $items[0], $items->attributes()->width, $items->attributes()->size);
|
||||||
else if((String)($items->attributes()->type)=="GS1-128" || (String)($items->attributes()->type)=="1") {
|
}
|
||||||
//$items[0] = "!FNC1!0104012345012345!FNC1!081231!FNC1!1012345";
|
else if((String)($items->attributes()->type)=="GS1-128" || (String)($items->attributes()->type)=="1") {
|
||||||
|
//$items[0] = "!FNC1!0104012345012345!FNC1!081231!FNC1!1012345";
|
||||||
$tmp =explode("!FNC1!",$items[0]);
|
|
||||||
$codewithfnc1 = implode(chr(206),$tmp);
|
$tmp =explode("!FNC1!",$items[0]);
|
||||||
|
$codewithfnc1 = implode(chr(206),$tmp);
|
||||||
//echo chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345";
|
|
||||||
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345", $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
//echo chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345";
|
||||||
$this->Code128($items->attributes()->x, $items->attributes()->y, $codewithfnc1, $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206)."0104012345012345".chr(206)."081231".chr(206)."1012345", $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
||||||
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206).$items[0], $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
$this->Code128($items->attributes()->x, $items->attributes()->y, $codewithfnc1, $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
||||||
}
|
//$this->Code128($items->attributes()->x, $items->attributes()->y, chr(206).$items[0], $items->attributes()->width, $items->attributes()->size); // 206 = FNC1
|
||||||
else { // standard auf 2 bzw default
|
}
|
||||||
$this->Code39($items->attributes()->x,$items->attributes()->y, $items[0], 0.5, $items->attributes()->size);//, $printText=false)
|
else { // standard auf 2 bzw default
|
||||||
}
|
$this->Code39($items->attributes()->x,$items->attributes()->y, $items[0], 0.5, $items->attributes()->size);//, $printText=false)
|
||||||
|
}
|
||||||
break;
|
|
||||||
case "qrcode":
|
break;
|
||||||
/** @var BarcodeFactory $factory */
|
case "qrcode":
|
||||||
$factory = $this->app->Container->get('BarcodeFactory');
|
/** @var BarcodeFactory $factory */
|
||||||
$ecLevel = 'M';
|
$factory = $this->app->Container->get('BarcodeFactory');
|
||||||
$type = 'png';
|
$ecLevel = 'M';
|
||||||
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]).'.' . $type;
|
$type = 'png';
|
||||||
|
$filename = rtrim($this->app->erp->GetTMP(),'/').'/'.md5(microtime(true).$items[0]).'.' . $type;
|
||||||
$qrText = (string) $items[0];
|
|
||||||
$qrcode = $factory->createQrCode($qrText, $ecLevel);
|
$qrText = (string) $items[0];
|
||||||
$width = $items->attributes()->width ?? $items->attributes()->size;
|
$qrcode = $factory->createQrCode($qrText, $ecLevel);
|
||||||
$height = $items->attributes()->height ?? $items->attributes()->size;
|
$width = $items->attributes()->width ?? $items->attributes()->size;
|
||||||
$image = $qrcode->toPng(trim($width), trim($height));
|
$height = $items->attributes()->height ?? $items->attributes()->size;
|
||||||
|
$image = $qrcode->toPng(trim($width), trim($height));
|
||||||
if(file_put_contents($filename, $image) === false) {
|
|
||||||
throw new RuntimeException('qrcode image cannot be created. Perhaps due to missing write permission');
|
if(file_put_contents($filename, $image) === false) {
|
||||||
}
|
throw new RuntimeException('qrcode image cannot be created. Perhaps due to missing write permission');
|
||||||
unset($image);
|
}
|
||||||
$this->Image(
|
unset($image);
|
||||||
trim($filename),
|
$this->Image(
|
||||||
trim((int) $items->attributes()->x),
|
trim($filename),
|
||||||
trim((int) $items->attributes()->y),
|
trim((int) $items->attributes()->x),
|
||||||
trim((int) $width),
|
trim((int) $items->attributes()->y),
|
||||||
trim((int) $height),
|
trim((int) $width),
|
||||||
$type
|
trim((int) $height),
|
||||||
);
|
$type
|
||||||
unlink($filename);
|
);
|
||||||
|
unlink($filename);
|
||||||
break;
|
|
||||||
}
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -43,8 +43,13 @@ class GutschriftPDF extends BriefpapierCustom {
|
|||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
$this->ust_spalteausblende=false;
|
||||||
else $this->ust_spalteausblende=true;
|
|
||||||
|
if(!empty($check)) {
|
||||||
|
if (count($check) == 1) {
|
||||||
|
$this->ust_spalteausblende=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|||||||
@@ -50,8 +50,13 @@ class RechnungPDF extends BriefpapierCustom {
|
|||||||
{
|
{
|
||||||
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
// pruefe ob es mehr als ein steuersatz gibt // wenn ja dann darf man sie nicht ausblenden
|
||||||
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
$check = $this->app->erp->SteuerAusBeleg($this->doctype,$id);
|
||||||
if(!empty($check)?count($check):0>1)$this->ust_spalteausblende=false;
|
$this->ust_spalteausblende=false;
|
||||||
else $this->ust_spalteausblende=true;
|
|
||||||
|
if(!empty($check)) {
|
||||||
|
if (count($check) == 1) {
|
||||||
|
$this->ust_spalteausblende=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$lvl = null;
|
$lvl = null;
|
||||||
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
||||||
|
|||||||
+7
-4
@@ -3832,10 +3832,13 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
|||||||
$term = str_replace(',','',$term);
|
$term = str_replace(',','',$term);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$adresse = (int)$this->app->Secure->GetGET('adresse');
|
||||||
|
if (!empty($adresse)) {
|
||||||
|
$subwhere .= " AND a.id = ".$adresse;
|
||||||
|
}
|
||||||
|
|
||||||
$sql =
|
$sql =
|
||||||
"SELECT CONCAT(v.id,
|
"SELECT CONCAT(v.belegnr,
|
||||||
IF(IFNULL(v.belegnr, '') <> '' AND v.belegnr!=v.id,
|
|
||||||
CONCAT(' Nr. ',v.belegnr),''),
|
|
||||||
' Betrag: ',".$this->app->erp->FormatPreis('v.betrag',2).",
|
' Betrag: ',".$this->app->erp->FormatPreis('v.betrag',2).",
|
||||||
if(v.skonto <> 0,CONCAT(' mit Skonto ',v.skonto,'% ',
|
if(v.skonto <> 0,CONCAT(' mit Skonto ',v.skonto,'% ',
|
||||||
".$this->app->erp->FormatPreis("v.betrag-((v.betrag/100.0)*v.skonto)",2)."),''),' ',
|
".$this->app->erp->FormatPreis("v.betrag-((v.betrag/100.0)*v.skonto)",2)."),''),' ',
|
||||||
@@ -3848,7 +3851,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
|
|||||||
a.name,' (Lieferant ',a.lieferantennummer,if(a.lieferantennummer_buchhaltung!='' AND a.lieferantennummer <> a.lieferantennummer_buchhaltung,CONCAT(' ',a.lieferantennummer_buchhaltung),''),') RE ',v.rechnung,' Rechnungsdatum ',DATE_FORMAT(v.rechnungsdatum,'%d.%m.%Y')) as bezeichnung
|
a.name,' (Lieferant ',a.lieferantennummer,if(a.lieferantennummer_buchhaltung!='' AND a.lieferantennummer <> a.lieferantennummer_buchhaltung,CONCAT(' ',a.lieferantennummer_buchhaltung),''),') RE ',v.rechnung,' Rechnungsdatum ',DATE_FORMAT(v.rechnungsdatum,'%d.%m.%Y')) as bezeichnung
|
||||||
FROM verbindlichkeit AS v
|
FROM verbindlichkeit AS v
|
||||||
LEFT JOIN adresse AS a ON a.id=v.adresse
|
LEFT JOIN adresse AS a ON a.id=v.adresse
|
||||||
WHERE ($subwhere) AND bezahlt!=1 AND status!='storniert'
|
WHERE ($subwhere) AND bezahlt!=1 AND status!='storniert' AND belegnr <> ''
|
||||||
ORDER by v.id DESC"; //AND v.status!='bezahlt' // heute wieder raus
|
ORDER by v.id DESC"; //AND v.status!='bezahlt' // heute wieder raus
|
||||||
|
|
||||||
$arr = $this->app->DB->SelectArr($sql);
|
$arr = $this->app->DB->SelectArr($sql);
|
||||||
|
|||||||
+22
-9
@@ -1800,22 +1800,35 @@ class Artikel extends GenArtikel {
|
|||||||
// SQL statement
|
// SQL statement
|
||||||
|
|
||||||
if (!empty($this->app->Conf->WFdbType) && $this->app->Conf->WFdbType == 'postgre') {
|
if (!empty($this->app->Conf->WFdbType) && $this->app->Conf->WFdbType == 'postgre') {
|
||||||
$sql = 'SELECT s.id, a.name_de as artikel,a.nummer as nummer, trim(s.menge)+0 as menge,
|
$sql = 'SELECT
|
||||||
CASE WHEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id) > 0
|
s.id,
|
||||||
THEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id)
|
a.name_de as artikel,
|
||||||
ELSE 0
|
a.nummer as nummer,
|
||||||
END as lager, s.artikel as menu
|
trim(SUM(s.menge))+0 as menge,
|
||||||
|
CASE
|
||||||
|
WHEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id) > 0
|
||||||
|
THEN (SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=a.id)
|
||||||
|
ELSE 0
|
||||||
|
END as lager,
|
||||||
|
s.artikel as menu
|
||||||
FROM stueckliste s LEFT JOIN artikel a ON s.artikel=a.id ';
|
FROM stueckliste s LEFT JOIN artikel a ON s.artikel=a.id ';
|
||||||
} else {
|
} else {
|
||||||
$sql = 'SELECT SQL_CALC_FOUND_ROWS s.id, a.name_de as artikel,a.nummer as nummer, trim(s.menge)+0 as menge,
|
$sql = ' SELECT SQL_CALC_FOUND_ROWS
|
||||||
s.stuecklistevonartikel
|
s.id,
|
||||||
as menu
|
a.name_de as artikel,
|
||||||
FROM stueckliste s LEFT JOIN artikel a ON s.stuecklistevonartikel=a.id ';
|
a.nummer as nummer,
|
||||||
|
trim(SUM(s.menge))+0 as menge,
|
||||||
|
s.stuecklistevonartikel AS menu
|
||||||
|
FROM
|
||||||
|
stueckliste s
|
||||||
|
LEFT JOIN artikel a ON s.stuecklistevonartikel=a.id ';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fester filter
|
// Fester filter
|
||||||
$where = "s.artikel='$id' ";
|
$where = "s.artikel='$id' ";
|
||||||
|
|
||||||
|
$groupby = " GROUP BY a.id";
|
||||||
|
|
||||||
// gesamt anzahl
|
// gesamt anzahl
|
||||||
$count = "SELECT COUNT(s.id) FROM stueckliste s WHERE s.stuecklistevonartikel='$id' ";
|
$count = "SELECT COUNT(s.id) FROM stueckliste s WHERE s.stuecklistevonartikel='$id' ";
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -0,0 +1,238 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||||
|
*
|
||||||
|
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
||||||
|
*
|
||||||
|
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
||||||
|
*
|
||||||
|
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
||||||
|
* to obtain the text of the corresponding license version.
|
||||||
|
*
|
||||||
|
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
class Belegevorlagen
|
||||||
|
{
|
||||||
|
static function TableSearch(&$app, $name, $erlaubtevars)
|
||||||
|
{
|
||||||
|
switch($name)
|
||||||
|
{
|
||||||
|
case "belegevorlagen_list":
|
||||||
|
$heading = array('Bezeichnung','Belegtyp','Projekt','Menü');
|
||||||
|
$width = array('40%','20%','29%','1%');
|
||||||
|
$findcols = array('b.bezeichnung','b.belegtyp','pr.abkuerzung','b.id');
|
||||||
|
$searchsql = array('b.bezeichnung','b.belegtyp','pr.abkuerzung');
|
||||||
|
$menu = "<table><tr><td nowrap><a href=\"#\" onclick=\"deletevorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a></td></tr></table>";
|
||||||
|
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, b.bezeichnung,CONCAT(UCASE(LEFT(b.belegtyp, 1)), SUBSTRING(b.belegtyp, 2)), pr.abkuerzung, b.id FROM belegevorlagen b LEFT JOIN projekt pr ON b.projekt = pr.id";
|
||||||
|
$where = $app->erp->ProjektRechte('b.projekt');
|
||||||
|
break;
|
||||||
|
case "belegevorlagen_list2":
|
||||||
|
$belegtyp = $app->Secure->GetGET('smodule');
|
||||||
|
$heading = array('Bezeichnung','Projekt','Menü');
|
||||||
|
$width = array('50%','49%','1%');
|
||||||
|
$findcols = array('b.bezeichnung','pr.abkuerzung','b.id');
|
||||||
|
$searchsql = array('b.bezeichnung','pr.abkuerzung');
|
||||||
|
$menu = "<table><tr><td nowrap><a href=\"#\" onclick=\"loadbelegvorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/forward.svg\" border=\"0\"></a> <a href=\"#\" onclick=\"deletevorlage(%value%);\"><img src=\"themes/{$app->Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"></a></td></tr></table>";
|
||||||
|
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, b.bezeichnung, pr.abkuerzung, b.id FROM belegevorlagen b LEFT JOIN projekt pr ON b.projekt = pr.id";
|
||||||
|
$where = "belegtyp = '$belegtyp' ".$app->erp->ProjektRechte('b.projekt');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$erg = false;
|
||||||
|
foreach($erlaubtevars as $k => $v)
|
||||||
|
{
|
||||||
|
if(isset($$v))$erg[$v] = $$v;
|
||||||
|
}
|
||||||
|
return $erg;
|
||||||
|
}
|
||||||
|
function __construct(&$app, $intern = false)
|
||||||
|
{
|
||||||
|
$this->app=&$app;
|
||||||
|
$this->artikel = $this->app->erp->GetKonfiguration('gesamtrabatt_artikel');
|
||||||
|
if($intern)return;
|
||||||
|
$this->app->ActionHandlerInit($this);
|
||||||
|
$this->app->ActionHandler("list","BelegevorlagenList");
|
||||||
|
$this->app->ActionHandler("einstellungen","BelegevorlagenEinstellungen");
|
||||||
|
$this->app->DefaultActionHandler("list");
|
||||||
|
$this->app->ActionHandlerListen($app);
|
||||||
|
}
|
||||||
|
|
||||||
|
function BelegevorlagenMenu(){
|
||||||
|
$this->app->erp->MenuEintrag("index.php?module=belegevorlagen&action=list","Übersicht");
|
||||||
|
$this->app->erp->MenuEintrag("index.php?module=belegevorlagen&action=einstellungen","Einstellungen");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function BelegevorlagenList()
|
||||||
|
{
|
||||||
|
if($this->app->Secure->GetGET('cmd') == 'delvorlage')
|
||||||
|
{
|
||||||
|
$id = (int)$this->app->Secure->GetPOST('lid');
|
||||||
|
$this->app->DB->Delete("DELETE FROM belegevorlagen WHERE id = '$id' LIMIT 1");
|
||||||
|
echo json_encode(array('status'=>1));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$this->BelegevorlagenMenu();
|
||||||
|
$this->app->YUI->TableSearch('TAB1', "belegevorlagen_list", "show","","",basename(__FILE__), __CLASS__);
|
||||||
|
$this->app->Tpl->Parse('PAGE','belegevorlagen_list.tpl');
|
||||||
|
}
|
||||||
|
|
||||||
|
function BelegevorlagenEinstellungen()
|
||||||
|
{
|
||||||
|
$this->BelegevorlagenMenu();
|
||||||
|
|
||||||
|
$this->app->Tpl->Set('PREISEAKTUALISIEREN',$this->app->erp->GetKonfiguration('belegevorlagen_preiseaktualisieren')=='on'?'checked':'');
|
||||||
|
$this->app->YUI->AutoSaveKonfiguration('preiseaktualisieren','belegevorlagen_preiseaktualisieren');
|
||||||
|
|
||||||
|
$this->app->Tpl->Parse('PAGE','belegevorlagen_einstellungen.tpl');
|
||||||
|
}
|
||||||
|
|
||||||
|
function Install()
|
||||||
|
{
|
||||||
|
$this->app->erp->CheckTable('belegevorlagen');
|
||||||
|
$this->app->erp->CheckColumn("id","int(11)","belegevorlagen","DEFAULT '0' NOT NULL AUTO_INCREMENT");
|
||||||
|
$this->app->erp->CheckColumn("belegtyp", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
|
||||||
|
$this->app->erp->CheckColumn("bezeichnung", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
|
||||||
|
$this->app->erp->CheckColumn("projekt", "int(11)", "belegevorlagen", "DEFAULT '0' NOT NULL");
|
||||||
|
$this->app->erp->CheckColumn("json", "MEDIUMTEXT", "belegevorlagen", "DEFAULT '' NOT NULL");
|
||||||
|
$this->app->erp->CheckColumn("bearbeiter", "varchar(255)", "belegevorlagen", "DEFAULT '' NOT NULL");
|
||||||
|
$this->app->erp->CheckColumn("zeitstempel", "timestamp", "belegevorlagen","DEFAULT CURRENT_TIMESTAMP NOT NULL");
|
||||||
|
|
||||||
|
$this->app->erp->RegisterHook('BelegPositionenButtons', 'belegevorlagen', 'BelegevorlagenBelegPositionenButtons');
|
||||||
|
$this->app->erp->RegisterHook('AARLGPositionen_cmds_end', 'belegevorlagen', 'BelegevorlagenAARLGPositionen_cmds_end');
|
||||||
|
$this->app->erp->RegisterHook('ajax_filter_hook1', 'belegevorlagen', 'Belegevorlagenajax_filter_hook1');
|
||||||
|
}
|
||||||
|
|
||||||
|
function Belegevorlagenajax_filter_hook1($filtername,&$newarr, $term, $term2, $term3)
|
||||||
|
{
|
||||||
|
if($filtername == 'belegvorlagen')
|
||||||
|
{
|
||||||
|
$arr = $this->app->DB->SelectArr("SELECT CONCAT(b.id,' ',b.bezeichnung) as bezeichnung FROM belegevorlagen b
|
||||||
|
WHERE (b.bezeichnung LIKE '%$term%') ".$this->app->erp->ProjektRechte('b.projekt'));
|
||||||
|
if($arr)
|
||||||
|
{
|
||||||
|
for($i=0;$i<count($arr);$i++)
|
||||||
|
$newarr[] = $arr[$i]['bezeichnung'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function BelegevorlagenBelegPositionenButtons($target, $module, $id)
|
||||||
|
{
|
||||||
|
if($module=="angebot" || $module=="auftrag" || $module=="rechnung" || $module=="lieferschein" || $module=="gutschrift" || $module=="proformarechnung")
|
||||||
|
{
|
||||||
|
$this->app->Tpl->Set('ID', $id);
|
||||||
|
$this->app->Tpl->Set('MODULE', $module);
|
||||||
|
$this->app->YUI->AutoComplete('bestehendevorlage','belegvorlagen');
|
||||||
|
$this->app->YUI->TableSearch('BELEGEVORLAGENTABELLE', "belegevorlagen_list2", "show","","",basename(__FILE__), __CLASS__);
|
||||||
|
$this->app->Tpl->Add($target, "<input type=\"button\" id=\"belegevorlagen\" value=\"Belegevorlagen\"> ".$this->app->Tpl->Parse($target,'belegevorlagen_widget.tpl'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function BelegevorlagenAARLGPositionen_cmds_end($id){
|
||||||
|
$module = $this->app->Secure->GetGET('module');
|
||||||
|
if(!$module)return;
|
||||||
|
|
||||||
|
$projekt = $this->app->DB->Select("SELECT projekt FROM $module WHERE id='$id' LIMIT 1");
|
||||||
|
if($projekt <=0) $projekt=0;
|
||||||
|
|
||||||
|
if($this->app->Secure->GetGET('cmd') == 'deletebelegvorlage')
|
||||||
|
{
|
||||||
|
$status = 1;
|
||||||
|
$lid = (int)$this->app->Secure->GetPOST('lid');
|
||||||
|
$this->app->DB->Delete("DELETE FROM belegevorlagen WHERE id = '$lid' AND belegtyp = '$module' LIMIT 1");
|
||||||
|
echo json_encode(array('status'=>$status));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->app->Secure->GetGET('cmd') == 'loadbelegvorlage')
|
||||||
|
{
|
||||||
|
$status = 0;
|
||||||
|
$lid = (int)$this->app->Secure->GetPOST('lid');
|
||||||
|
$json = (String)$this->app->DB->Select("SELECT json FROM belegevorlagen WHERE id = '$lid' AND belegtyp = '$module' LIMIT 1");
|
||||||
|
if($json !== '')
|
||||||
|
{
|
||||||
|
$json = json_decode($json, true);
|
||||||
|
$maxsort = (int)$this->app->DB->Select("SELECT max(sort) FROM $module"."_position WHERE $module = '$id' LIMIT 1");
|
||||||
|
if(isset($json['positionen']))
|
||||||
|
{
|
||||||
|
foreach($json['positionen'] as $v)
|
||||||
|
{
|
||||||
|
$v[$module] = $id;
|
||||||
|
if($this->app->erp->GetKonfiguration('belegevorlagen_preiseaktualisieren')=='on'){
|
||||||
|
if($v['artikel'] != '0'){
|
||||||
|
$v['preis'] = $this->app->erp->GetVerkaufspreis($v['artikel'],$v['menge']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$v['sort'] += $maxsort;
|
||||||
|
$this->app->DB->Insert("INSERT INTO $module"."_position (id) VALUES ('')");
|
||||||
|
$idnew = $this->app->DB->GetInsertID();
|
||||||
|
$oldtonew[$v['id']] = $idnew;
|
||||||
|
if($v['explodiert_parent'] && isset($oldtonew) && isset($oldtonew[$v['explodiert_parent']]))$v['explodiert_parent'] = $oldtonew[$v['explodiert_parent']];
|
||||||
|
unset($v['id']);
|
||||||
|
$this->app->DB->UpdateArr($module.'_position',$idnew,"id",$v, true);
|
||||||
|
if(is_null($v['steuersatz']))$this->app->DB->Update("UPDATE ".$module."_position SET steuersatz = NULL WHERE id = '$idnew' LIMIT 1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isset($json['zwischenpositionen']))
|
||||||
|
{
|
||||||
|
$maxpos = $this->app->DB->SelectArr("SELECT id,sort FROM beleg_zwischenpositionen WHERE doctype = '$module' AND doctypeid = '$id' AND pos='$maxsort' ORDER BY sort DESC LIMIT 1");
|
||||||
|
if($maxpos)
|
||||||
|
{
|
||||||
|
$sortoffset = 1 + $maxpos[0]['sort'];
|
||||||
|
}else{
|
||||||
|
$sortoffset = 0;
|
||||||
|
}
|
||||||
|
foreach($json['zwischenpositionen'] as $v)
|
||||||
|
{
|
||||||
|
if($v['pos'] == 0)$v['sort'] += $sortoffset;
|
||||||
|
$v['doctypeid'] = $id;
|
||||||
|
$v['pos'] += $maxsort;
|
||||||
|
unset($v['id']);
|
||||||
|
$this->app->DB->Insert("INSERT INTO beleg_zwischenpositionen (id) VALUES ('')");
|
||||||
|
$idnew = $this->app->DB->GetInsertID();
|
||||||
|
$this->app->DB->UpdateArr('beleg_zwischenpositionen',$idnew,"id",$v, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$status = 1;
|
||||||
|
$this->app->erp->ANABREGSNeuberechnen($id,$module);
|
||||||
|
}
|
||||||
|
echo json_encode(array('status'=>$status));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if($this->app->Secure->GetGET('cmd') == 'savebelegevorlage')
|
||||||
|
{
|
||||||
|
$json = null;
|
||||||
|
$status = 0;
|
||||||
|
$bestehendevorlage = (int)reset(explode(' ',$this->app->Secure->GetPOST('bestehendevorlage')));
|
||||||
|
$bezeichnung = (String)$this->app->Secure->GetPOST('bezeichnung');
|
||||||
|
$vorlagetyp = $this->app->Secure->GetPOST('vorlagetyp');
|
||||||
|
$bearbeiter = $this->app->DB->real_escape_string($this->app->User->GetName());
|
||||||
|
$lid = null;
|
||||||
|
if($vorlagetyp == 'neu')
|
||||||
|
{
|
||||||
|
if($bezeichnung !== '')
|
||||||
|
{
|
||||||
|
$this->app->DB->Insert("INSERT INTO belegevorlagen (bezeichnung, belegtyp, bearbeiter, zeitstempel,projekt) VALUES ('$bezeichnung','$module','$bearbeiter',now(),'$projekt')");
|
||||||
|
$lid = $this->app->DB->GetInsertID();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$lid = $this->app->DB->Select("SELECT id FROM belegevorlagen WHERE id = '$bestehendevorlage' LIMIT 1");
|
||||||
|
if($lid && $bezeichnung !== '')$this->app->DB->Update("UPDATE belegevorlagen set bezeichnung = '$bezeichnung' WHERE id = '$bestehendevorlage' LIMIT 1");
|
||||||
|
}
|
||||||
|
if($lid)
|
||||||
|
{
|
||||||
|
$json['positionen'] = $this->app->DB->SelectArr("SELECT * FROM $module"."_position WHERE $module = '$id' ORDER BY sort");
|
||||||
|
$json['zwischenpositionen'] = $this->app->DB->SelectArr("SELECT * FROM beleg_zwischenpositionen WHERE doctype = '$module' AND doctypeid = '$id' ORDER BY pos, sort");
|
||||||
|
$json = $this->app->DB->real_escape_string(json_encode($json));
|
||||||
|
$this->app->DB->Update("UPDATE belegevorlagen set json = '$json', zeitstempel = now(), bearbeiter = '$bearbeiter' WHERE id = '$lid' LIMIT 1");
|
||||||
|
$status = 1;
|
||||||
|
}
|
||||||
|
echo json_encode(array('status'=>$status));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
|
||||||
|
</ul>
|
||||||
|
<!-- ende gehort zu tabview -->
|
||||||
|
|
||||||
|
<!-- erstes tab -->
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<fieldset>
|
||||||
|
<legend>Einstellungen</legend>
|
||||||
|
<input type="checkbox" name="preiseaktualisieren" id="preiseaktualisieren" [PREISEAKTUALISIEREN] /> <label for="preiseaktualisieren">Aktuelle Artikelpreise verwenden wenn Belegvorlage geladen wird.</label>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
[TAB1]
|
||||||
|
[TAB1NEXT]
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- tab view schließen -->
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
|
||||||
|
</ul>
|
||||||
|
<!-- ende gehort zu tabview -->
|
||||||
|
|
||||||
|
<!-- erstes tab -->
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
[TAB1]
|
||||||
|
[TAB1NEXT]
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- tab view schließen -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
function deletevorlage(belegid)
|
||||||
|
{
|
||||||
|
if(confirm('Vorlage wirklich löschen?'))
|
||||||
|
{
|
||||||
|
$('#belegevorlagendiv').dialog('close');
|
||||||
|
$.ajax({
|
||||||
|
url: 'index.php?module=belegevorlagen&action=list&cmd=delvorlage',
|
||||||
|
type: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
|
data: {lid:belegid},
|
||||||
|
success: function(data) {
|
||||||
|
var oTable = $('#belegevorlagen_list').DataTable( );
|
||||||
|
oTable.ajax.reload();
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -27,6 +27,10 @@
|
|||||||
<td>{|Verbindlichkeiten:|}</td>
|
<td>{|Verbindlichkeiten:|}</td>
|
||||||
<td><input type="checkbox" name="verbindlichkeit" value="1" [VBCHECKED] /></td>
|
<td><input type="checkbox" name="verbindlichkeit" value="1" [VBCHECKED] /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{|Lieferantengutschriften:|}</td>
|
||||||
|
<td><input type="checkbox" name="lieferantengutschrift" value="1" [LGCHECKED] /></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Datum von:</td>
|
<td>Datum von:</td>
|
||||||
<td><input type="text" name="von" id="von" value="[VON]" /></td>
|
<td><input type="text" name="von" id="von" value="[VON]" /></td>
|
||||||
|
|||||||
@@ -775,6 +775,10 @@
|
|||||||
<td>Nächste Verbindlichkeitsnummer:</td><td><input type="text" name="next_verbindlichkeit" readonly value="[NEXT_VERBINDLICHKEIT]" size="40">
|
<td>Nächste Verbindlichkeitsnummer:</td><td><input type="text" name="next_verbindlichkeit" readonly value="[NEXT_VERBINDLICHKEIT]" size="40">
|
||||||
<input type="button" onclick="next_number('verbindlichkeit','[NEXT_VERBINDLICHKEIT]');" value="bearbeiten"></td>
|
<input type="button" onclick="next_number('verbindlichkeit','[NEXT_VERBINDLICHKEIT]');" value="bearbeiten"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Nächste Lieferantengutschriftnummer:</td><td><input type="text" name="next_lieferantengutschrift" readonly value="[NEXT_LIEFERANTENGUTSCHRIFT]" size="40">
|
||||||
|
<input type="button" onclick="next_number('lieferantengutschrift','[NEXT_LIEFERANTENGUTSCHRIFT]');" value="bearbeiten"></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Nächste Kundennummer:</td><td><input type="text" name="next_kundennummer" readonly value="[NEXT_KUNDENNUMMER]" size="40">
|
<td>Nächste Kundennummer:</td><td><input type="text" name="next_kundennummer" readonly value="[NEXT_KUNDENNUMMER]" size="40">
|
||||||
<input type="button" onclick="next_number('kundennummer','[NEXT_KUNDENNUMMER]');" value="bearbeiten"></td>
|
<input type="button" onclick="next_number('kundennummer','[NEXT_KUNDENNUMMER]');" value="bearbeiten"></td>
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
[POSITIONENMESSAGE]
|
||||||
|
<form method="post" action="#tabs-2">
|
||||||
|
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend style="float:left">Artikel hinzufügen:</legend>
|
||||||
|
<div class="filter-box filter-usersave" style="float:right;">
|
||||||
|
<div class="filter-block filter-inline">
|
||||||
|
<div class="filter-title">{|Filter|}</div>
|
||||||
|
<ul class="filter-list">
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="passende" class="switch">
|
||||||
|
<input type="checkbox" id="passende">
|
||||||
|
<span class="slider round"></span>
|
||||||
|
</label>
|
||||||
|
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
[ARTIKELMANUELL]
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<legend>{|Aktionen|}</legend>
|
||||||
|
<tr [HINZUFUEGENHIDDEN]>
|
||||||
|
<td>
|
||||||
|
{|Multifilter|}: <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>
|
||||||
|
<td><input type="checkbox" name="bruttoeingabe" value="1" />Bruttopreise eingeben</td>
|
||||||
|
</tr>
|
||||||
|
<tr [HINZUFUEGENHIDDEN]>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="multifilter" id="multifilter" value="[MULTIFILTER]" size="20" style="width:98%;" form="">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><button [SAVEDISABLED] name="submit" value="artikel_manuell_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzufügen</button></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
@@ -0,0 +1,219 @@
|
|||||||
|
<div id="tabs">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#tabs-1">Lieferantengutschrift</a></li>
|
||||||
|
<li [POSITIONENHIDDEN]><a href="#tabs-2">Positionen</a></li>
|
||||||
|
<li [POSITIONENHIDDEN]><a href="#tabs-4">Artikel manuell</a></li>
|
||||||
|
<li><a href="#tabs-3">Protokoll</a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="tabs-1">
|
||||||
|
[MESSAGE]
|
||||||
|
<form action="" method="post">
|
||||||
|
[FORMHANDLEREVENT]
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-12 col-md-6 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-12 col-md-8 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset style="float: left;">
|
||||||
|
<legend>{|<b>Lieferantengutschrift <font color="blue">[BELEGNR]</font></b> Lf-Nr. <a href="index.php?module=adresse&action=edit&id=[ADRESSE_ID]">[LIEFERANTENNUMMER]|}</a></legend>
|
||||||
|
[STATUSICONS]
|
||||||
|
</fieldset>
|
||||||
|
<fieldset style="float: right;">
|
||||||
|
<button name="submit" value="speichern" class="ui-button-icon" style="width:100%;">Speichern</button>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-12 col-md-8 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Status|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" value="[STATUS]" size="20" disabled>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Adresse|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="adresse" id="adresse" value="[ADRESSE]" size="20" [ADRESSESAVEDISABLED] required>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferantengutschrifts-Nr.|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="rechnung" id="rechnung" value="[RECHNUNG]" size="20" [SAVEDISABLED] required>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Lieferantengutschriftsdatum|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="rechnungsdatum" id="rechnungsdatum" value="[RECHNUNGSDATUM]" size="20" [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Eingangsdatum|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="eingangsdatum" id="eingangsdatum" value="[EINGANGSDATUM]" size="20" [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Betrag brutto|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" step="0.01" name="betrag" id="betrag" value="[BETRAG]" size="20" [SAVEDISABLED]>
|
||||||
|
<select name="waehrung" [SAVEDISABLED]>[WAEHRUNGSELECT]</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Betrag Positionen brutto|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" step="0.01" name="betragbruttopos" id="betragbruttopos" value="[BETRAGBRUTTOPOS]" size="20" disabled><img class="wawitooltipicon" src="themes/new/images/tooltip_grau.png" title="Rundungsdifferenz [RUNDUNGSDIFFERENZ] wurde automatisch berücksichtigt" [RUNDUNGSDIFFERENZICONHIDDEN]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Betrag Positionen netto|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="number" step="0.01" name="betragnetto" id="betragnetto" value="[BETRAGNETTO]" size="20" disabled [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Zahlbar bis|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="zahlbarbis" id="zahlbarbis" value="[ZAHLBARBIS]" size="20" [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Skonto %|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="skonto" id="skonto" value="[SKONTO]" size="20" [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Skonto bis|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="skontobis" id="skontobis" value="[SKONTOBIS]" size="20" [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Bestellung|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="bestellung" id="bestellung" value="[BESTELLUNG]" size="20" [SAVEDISABLED]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Waren-/Leistungsprüfung (Einkauf)|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" id="wareneingang" value="1" [WARENEINGANGCHECKED] size="20" disabled>
|
||||||
|
<a href="index.php?module=lieferantengutschrift&action=freigabeeinkauf&id=[ID]" title="freigeben" [FREIGABEEINKAUFHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
|
||||||
|
<a href="index.php?module=lieferantengutschrift&action=ruecksetzeneinkauf&id=[ID]" title="rü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>
|
||||||
|
{|Lieferantengutschriftseingangsprüfung (Buchhaltung)|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" id="rechnungsfreigabe" [RECHNUNGSFREIGABECHECKED] size="20" disabled>
|
||||||
|
<a href="index.php?module=lieferantengutschrift&action=freigabebuchhaltung&id=[ID]" title="freigeben" [FREIGABEBUCHHALTUNGHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
|
||||||
|
<a href="index.php?module=lieferantengutschrift&action=ruecksetzenbuchhaltung&id=[ID]" title="rücksetzen" [RUECKSETZENBUCHHALTUNGHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Bezahlt|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" id="zahlungsstatus" [BEZAHLTCHECKED] size="20" disabled>
|
||||||
|
<a href="index.php?module=lieferantengutschrift&action=freigabebezahlt&id=[ID]" title="auf 'bezahlt' setzen" [FREIGABEBEZAHLTHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
|
||||||
|
<a href="index.php?module=lieferantengutschrift&action=ruecksetzenbezahlt&id=[ID]" title="rücksetzen" [RUECKSETZENBEZAHLTHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Projekt|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="projekt" id="projekt" value="[PROJEKT]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Kostenstelle|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="kostenstelle" id="kostenstelle" value="[KOSTENSTELLE]" size="20">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{|Internebemerkung|}:
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<textarea name="internebemerkung" id="internebemerkung" rows="6" style="width:100%;">[INTERNEBEMERKUNG]</textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-md-6 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{|Vorschau|}</legend>
|
||||||
|
[INLINEPDF]
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div id="tabs-2">
|
||||||
|
[POSITIONENTAB]
|
||||||
|
</div>
|
||||||
|
<div id="tabs-4">
|
||||||
|
[POSITIONENMANUELLTAB]
|
||||||
|
</div>
|
||||||
|
<div id="tabs-3">
|
||||||
|
[MINIDETAIL]
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@@ -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">{|Lieferantengutschriftseingangsprü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');
|
||||||
|
$('#lieferantengutschrift_list').find(':checkbox').prop('checked',wert);
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
[FORMHANDLEREVENT]
|
||||||
|
[MESSAGE]
|
||||||
|
<style>
|
||||||
|
.auftraginfo_cell {
|
||||||
|
color: #636363;border: 1px solid #ccc;padding: 5px;
|
||||||
|
}
|
||||||
|
.auftrag_cell {
|
||||||
|
color: #636363;border: 1px solid #fff;padding: 0px; margin:0px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div style="float:left; width:39%; padding-right:1%;">
|
||||||
|
<table width="100%" border="0">
|
||||||
|
<tr valign="top">
|
||||||
|
<td width="150">Lieferant:</td>
|
||||||
|
<td colspan="3">[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Lieferantengutschrifts-Nr.:</td>
|
||||||
|
<td>[RECHNUNG][MSGRECHNUNG]</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Lieferantengutschriftsdatum:</td>
|
||||||
|
<td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
|
||||||
|
<tr>
|
||||||
|
</tr>
|
||||||
|
</tr>
|
||||||
|
<td width="200">Zahlbar bis:</td>
|
||||||
|
<td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td>
|
||||||
|
</tr>
|
||||||
|
<td>Betrag/Total (Brutto):</td>
|
||||||
|
<td>[BETRAG][MSGBETRAG] [WAEHRUNG][MSGWAEHRUNG]</td>
|
||||||
|
<tr>
|
||||||
|
<td>Skonto in %:</td>
|
||||||
|
<td>[SKONTO][MSGSKONTO]</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Skonto bis:</td>
|
||||||
|
<td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Projekt:</td>
|
||||||
|
<td>[PROJEKT][MSGKOSTENSTELLE]</td>
|
||||||
|
<td> </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>
|
||||||
|
</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>
|
||||||
|
|
||||||
@@ -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>
|
||||||
|
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
[POSITIONENMESSAGE]
|
||||||
|
<form method="post" action="#tabs-2">
|
||||||
|
<div class="row" [POSITIONHINZUFUEGENHIDDEN]>
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<legend style="float:left">Artikel hinzufügen:</legend>
|
||||||
|
<div class="filter-box filter-usersave" style="float:right;">
|
||||||
|
<div class="filter-block filter-inline">
|
||||||
|
<div class="filter-title">{|Filter|}</div>
|
||||||
|
<ul class="filter-list">
|
||||||
|
<li class="filter-item">
|
||||||
|
<label for="passende" class="switch">
|
||||||
|
<input type="checkbox" id="passende">
|
||||||
|
<span class="slider round"></span>
|
||||||
|
</label>
|
||||||
|
<label for="passende">{|Nur passende (Bestellung/Rechnungsnummer)|}</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
[PAKETDISTRIBUTION]
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<legend>{|Aktionen|}</legend>
|
||||||
|
<tr>
|
||||||
|
<td><input type="checkbox" id="auswahlallewareneingaenge" onchange="allewareneingaengeauswaehlen();" />{|alle markieren|}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><button [SAVEDISABLED] name="submit" value="positionen_hinzufuegen" class="ui-button-icon" style="width:100%;">Hinzufügen</button></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<form method="post" action="#tabs-2">
|
||||||
|
<div class="row">
|
||||||
|
<div class="row-height">
|
||||||
|
<div class="col-xs-14 col-md-12 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
[POSITIONEN]
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-14 col-md-2 col-md-height">
|
||||||
|
<div class="inside inside-full-height">
|
||||||
|
<fieldset>
|
||||||
|
<table width="100%" border="0" class="mkTableFormular">
|
||||||
|
<legend>{|Aktionen|}</legend>
|
||||||
|
<tr [SACHKONTOCHANGEHIDDEN]>
|
||||||
|
<td><input type="checkbox" id="auswahlalle" onchange="alleauswaehlen();" />{|alle markieren|}</td>
|
||||||
|
</tr>
|
||||||
|
<tr [POSITIONHINZUFUEGENHIDDEN]>
|
||||||
|
<td><button [SAVEDISABLED] name="submit" value="positionen_entfernen" class="ui-button-icon" style="width:100%;">Entfernen</button></td>
|
||||||
|
</tr>
|
||||||
|
<tr [SACHKONTOCHANGEHIDDEN]>
|
||||||
|
<td><input type="text" name="positionen_sachkonto" id="positionen_sachkonto" value="" size="20"></td>
|
||||||
|
</tr>
|
||||||
|
<tr [SACHKONTOCHANGEHIDDEN]>
|
||||||
|
<td><button name="submit" value="positionen_kontorahmen_setzen" class="ui-button-icon" style="width:100%;">Sachkonto setzen</button></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<script>
|
||||||
|
function allewareneingaengeauswaehlen()
|
||||||
|
{
|
||||||
|
var wert = $('#auswahlallewareneingaenge').prop('checked');
|
||||||
|
$('#verbindlichkeit_positionen').find(':checkbox').prop('checked',wert);
|
||||||
|
}
|
||||||
|
function alleauswaehlen()
|
||||||
|
{
|
||||||
|
var wert = $('#auswahlalle').prop('checked');
|
||||||
|
$('#lieferantengutschrift_positionen').find(':checkbox').prop('checked',wert);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -172,6 +172,11 @@
|
|||||||
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschließen|}</button>
|
<button name="submit" class="ui-button-icon" style="width:100%;" value="abschliessen">{|Abschließen|}</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr [ABGESCHLOSSENHIDDEN]>
|
||||||
|
<td>
|
||||||
|
<button name="submit" class="ui-button-icon" style="width:100%;" value="oeffnen" form="oeffnen">{|Öffnen|}</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
@@ -218,6 +223,9 @@
|
|||||||
</div> [AFTERTAB2]
|
</div> [AFTERTAB2]
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
<form action="index.php?module=wareneingang&action=oeffnen" id="oeffnen" method="POST">
|
||||||
|
<input name="id" value="[ID]" hidden></input>
|
||||||
|
</form>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#tabs").tabs("option", "active", [TABINDEX]);
|
$("#tabs").tabs("option", "active", [TABINDEX]);
|
||||||
|
|||||||
@@ -161,10 +161,7 @@ $width = array('10%'); // Fill out manually later
|
|||||||
|
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
$emailbackup = $result[0];
|
$emailbackup = $result[0];
|
||||||
} else {
|
}
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($emailbackup as $key => $value) {
|
foreach ($emailbackup as $key => $value) {
|
||||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||||
}
|
}
|
||||||
@@ -296,10 +293,10 @@ $width = array('10%'); // Fill out manually later
|
|||||||
$this->app->erp->MailSend(
|
$this->app->erp->MailSend(
|
||||||
$result[0]['email'],
|
$result[0]['email'],
|
||||||
$result[0]['angezeigtername'],
|
$result[0]['angezeigtername'],
|
||||||
$result[0]['email'],
|
array($result[0]['email']),
|
||||||
$result[0]['angezeigtername'],
|
array($result[0]['angezeigtername']),
|
||||||
'OpenXE ERP: Testmail',
|
'OpenXE ERP: Testmail',
|
||||||
utf8_encode('Dies ist eine Testmail für Account "'.$result[0]['email'].'".'),
|
'Dies ist eine Testmail für Account "'.$result[0]['email'].'".',
|
||||||
'',0,false,'','',
|
'',0,false,'','',
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ class Exportbuchhaltung
|
|||||||
$rgchecked = $this->app->Secure->GetPOST("rechnung");
|
$rgchecked = $this->app->Secure->GetPOST("rechnung");
|
||||||
$gschecked = $this->app->Secure->GetPOST("gutschrift");
|
$gschecked = $this->app->Secure->GetPOST("gutschrift");
|
||||||
$vbchecked = $this->app->Secure->GetPOST("verbindlichkeit");
|
$vbchecked = $this->app->Secure->GetPOST("verbindlichkeit");
|
||||||
|
$lgchecked = $this->app->Secure->GetPOST("lieferantengutschrift");
|
||||||
$diffignore = $this->app->Secure->GetPOST("diffignore");
|
$diffignore = $this->app->Secure->GetPOST("diffignore");
|
||||||
$sachkonto = $this->app->Secure->GetPOST('sachkonto');
|
$sachkonto = $this->app->Secure->GetPOST('sachkonto');
|
||||||
|
|
||||||
@@ -97,6 +98,7 @@ class Exportbuchhaltung
|
|||||||
$rgchecked = true;
|
$rgchecked = true;
|
||||||
$gschecked = true;
|
$gschecked = true;
|
||||||
$vbchecked = true;
|
$vbchecked = true;
|
||||||
|
$lgchecked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$missing_obligatory = array();
|
$missing_obligatory = array();
|
||||||
@@ -134,7 +136,8 @@ class Exportbuchhaltung
|
|||||||
if (
|
if (
|
||||||
!$rgchecked &&
|
!$rgchecked &&
|
||||||
!$gschecked &&
|
!$gschecked &&
|
||||||
!$vbchecked
|
!$vbchecked &&
|
||||||
|
!$lgchecked
|
||||||
) {
|
) {
|
||||||
$msg = "<div class=error>Bitte mindestens eine Belegart auswählen.</div>";
|
$msg = "<div class=error>Bitte mindestens eine Belegart auswählen.</div>";
|
||||||
$dataok = false;
|
$dataok = false;
|
||||||
@@ -159,7 +162,7 @@ class Exportbuchhaltung
|
|||||||
if ($dataok) {
|
if ($dataok) {
|
||||||
$filename = "EXTF_".date('Ymd') . "_Buchungsstapel_DATEV_export.csv";
|
$filename = "EXTF_".date('Ymd') . "_Buchungsstapel_DATEV_export.csv";
|
||||||
try {
|
try {
|
||||||
$csv = $this->DATEV_Buchuchungsstapel($rgchecked, $gschecked, $vbchecked, $buchhaltung_berater, $buchhaltung_mandant, $buchhaltung_wj_beginn, $buchhaltung_sachkontenlaenge, $von, $bis, $projekt, $filename, $diffignore, $sachkonto_kennung);
|
$csv = $this->DATEV_Buchuchungsstapel($rgchecked, $gschecked, $vbchecked, $lgchecked, $buchhaltung_berater, $buchhaltung_mandant, $buchhaltung_wj_beginn, $buchhaltung_sachkontenlaenge, $von, $bis, $projekt, $filename, $diffignore, $sachkonto_kennung);
|
||||||
header("Content-Disposition: attachment; filename=" . $filename);
|
header("Content-Disposition: attachment; filename=" . $filename);
|
||||||
header("Pragma: no-cache");
|
header("Pragma: no-cache");
|
||||||
header("Expires: 0");
|
header("Expires: 0");
|
||||||
@@ -198,6 +201,7 @@ class Exportbuchhaltung
|
|||||||
$this->app->Tpl->SET('RGCHECKED',$rgchecked?'checked':'');
|
$this->app->Tpl->SET('RGCHECKED',$rgchecked?'checked':'');
|
||||||
$this->app->Tpl->SET('GSCHECKED',$gschecked?'checked':'');
|
$this->app->Tpl->SET('GSCHECKED',$gschecked?'checked':'');
|
||||||
$this->app->Tpl->SET('VBCHECKED',$vbchecked?'checked':'');
|
$this->app->Tpl->SET('VBCHECKED',$vbchecked?'checked':'');
|
||||||
|
$this->app->Tpl->SET('LGCHECKED',$lgchecked?'checked':'');
|
||||||
$this->app->Tpl->SET('DIFFIGNORE',$diffignore?'checked':'');
|
$this->app->Tpl->SET('DIFFIGNORE',$diffignore?'checked':'');
|
||||||
|
|
||||||
$this->app->Tpl->SET('VON', $von_form);
|
$this->app->Tpl->SET('VON', $von_form);
|
||||||
@@ -212,7 +216,7 @@ class Exportbuchhaltung
|
|||||||
* Create DATEV Buchhungsstapel
|
* Create DATEV Buchhungsstapel
|
||||||
* @throws ConsistencyException with string (list of items) if consistency check fails and no sachkonto for differences is given
|
* @throws ConsistencyException with string (list of items) if consistency check fails and no sachkonto for differences is given
|
||||||
*/
|
*/
|
||||||
function DATEV_Buchuchungsstapel(bool $rechnung, bool $gutschrift, bool $verbindlichkeit, string $berater, string $mandant, datetime $wj_beginn, int $sachkontenlaenge, datetime $von, datetime $bis, int $projekt = 0, string $filename = 'EXTF_Buchungsstapel_DATEV_export.csv', $diffignore = false, $sachkonto_differences) : string {
|
function DATEV_Buchuchungsstapel(bool $rechnung, bool $gutschrift, bool $verbindlichkeit, bool $lieferantengutschrift, string $berater, string $mandant, datetime $wj_beginn, int $sachkontenlaenge, datetime $von, datetime $bis, int $projekt = 0, string $filename = 'EXTF_Buchungsstapel_DATEV_export.csv', $diffignore = false, $sachkonto_differences) : string {
|
||||||
|
|
||||||
$datev_header_definition = array (
|
$datev_header_definition = array (
|
||||||
'1' => 'Kennzeichen',
|
'1' => 'Kennzeichen',
|
||||||
@@ -453,7 +457,6 @@ class Exportbuchhaltung
|
|||||||
'field_kundennummer' => 'b.kundennummer',
|
'field_kundennummer' => 'b.kundennummer',
|
||||||
'field_betrag_gesamt' => 'b.soll',
|
'field_betrag_gesamt' => 'b.soll',
|
||||||
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
||||||
'field_gegenkonto' => '\'\'',
|
|
||||||
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\',\'storniert\')',
|
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\',\'storniert\')',
|
||||||
'Buchungstyp' => 'SR',
|
'Buchungstyp' => 'SR',
|
||||||
'do' => $rechnung
|
'do' => $rechnung
|
||||||
@@ -472,14 +475,13 @@ class Exportbuchhaltung
|
|||||||
'field_kundennummer' => 'b.kundennummer',
|
'field_kundennummer' => 'b.kundennummer',
|
||||||
'field_betrag_gesamt' => 'b.soll',
|
'field_betrag_gesamt' => 'b.soll',
|
||||||
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
'field_betrag' => 'p.umsatz_brutto_gesamt',
|
||||||
'field_gegenkonto' => '\'\'',
|
|
||||||
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\')',
|
'condition_where' => ' AND b.status IN (\'freigegeben\',\'versendet\')',
|
||||||
'Buchungstyp' => '',
|
'Buchungstyp' => '',
|
||||||
'do' => $gutschrift
|
'do' => $gutschrift
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'typ' => 'verbindlichkeit',
|
'typ' => 'verbindlichkeit',
|
||||||
'subtable' => 'verbindlichkeit_kontierung',
|
'subtable' => 'verbindlichkeit_position',
|
||||||
'kennzeichen' => 'H',
|
'kennzeichen' => 'H',
|
||||||
'kennzeichen_negativ' => 'S',
|
'kennzeichen_negativ' => 'S',
|
||||||
'field_belegnr' => 'b.rechnung',
|
'field_belegnr' => 'b.rechnung',
|
||||||
@@ -490,11 +492,30 @@ class Exportbuchhaltung
|
|||||||
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
|
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
|
||||||
'field_kundennummer' => 'a.lieferantennummer',
|
'field_kundennummer' => 'a.lieferantennummer',
|
||||||
'field_betrag_gesamt' => 'b.betrag',
|
'field_betrag_gesamt' => 'b.betrag',
|
||||||
'field_betrag' => 'p.betrag',
|
'field_betrag' => 'p.preis*p.menge*((100+p.steuersatz)/100)',
|
||||||
'field_gegenkonto' => 'gegenkonto',
|
'field_gegenkonto' => '(SELECT sachkonto FROM kontorahmen k WHERE k.id = p.kontorahmen)',
|
||||||
'condition_where' => '',
|
'condition_where' => ' AND b.status IN (\'freigegeben\')',
|
||||||
'Buchungstyp' => '',
|
'Buchungstyp' => '',
|
||||||
'do' => $verbindlichkeit
|
'do' => $verbindlichkeit
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'typ' => 'lieferantengutschrift',
|
||||||
|
'subtable' => 'lieferantengutschrift_position',
|
||||||
|
'kennzeichen' => 'S',
|
||||||
|
'kennzeichen_negativ' => 'H',
|
||||||
|
'field_belegnr' => 'b.rechnung',
|
||||||
|
'field_name' => 'a.name',
|
||||||
|
'field_date' => 'rechnungsdatum',
|
||||||
|
'field_auftrag' => '\'\'',
|
||||||
|
'field_zahlweise' => '\'\'',
|
||||||
|
'field_kontonummer' => 'a.lieferantennummer_buchhaltung',
|
||||||
|
'field_kundennummer' => 'a.lieferantennummer',
|
||||||
|
'field_betrag_gesamt' => 'b.betrag',
|
||||||
|
'field_betrag' => 'p.preis*p.menge*((100+p.steuersatz)/100)',
|
||||||
|
'field_gegenkonto' => '(SELECT sachkonto FROM kontorahmen k WHERE k.id = p.kontorahmen)',
|
||||||
|
'condition_where' => ' AND b.status IN (\'freigegeben\')',
|
||||||
|
'Buchungstyp' => '',
|
||||||
|
'do' => $lieferantengutschrift
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -503,21 +524,30 @@ class Exportbuchhaltung
|
|||||||
if (!$typ['do']) {
|
if (!$typ['do']) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!empty($typ['field_gegenkonto'])) {
|
||||||
|
$sql_gegenkonto = $typ['field_gegenkonto'];
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
$sql_gegenkonto = "NULL";
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
|
".$typ['typ']." id,
|
||||||
".$typ['field_belegnr']." as belegnr,
|
".$typ['field_belegnr']." as belegnr,
|
||||||
".$typ['field_auftrag']." as auftrag,
|
".$typ['field_auftrag']." as auftrag,
|
||||||
".$typ['field_zahlweise']." as zahlweise,
|
".$typ['field_zahlweise']." as zahlweise,
|
||||||
if(".$typ['field_kontonummer']." <> '',".$typ['field_kontonummer'].",".$typ['field_kundennummer'].") as kundennummer,
|
if(".$typ['field_kontonummer']." <> '',".$typ['field_kontonummer'].",".$typ['field_kundennummer'].") as kundennummer,
|
||||||
".$typ['field_name']." as name,
|
".$typ['field_name']." as name,
|
||||||
b.ustid,
|
a.ustid,
|
||||||
b.".$typ['field_date']." as datum,
|
b.".$typ['field_date']." as datum,
|
||||||
p.id as pos_id,
|
p.id as pos_id,
|
||||||
".$typ['field_betrag_gesamt']." as betrag_gesamt,
|
".$typ['field_betrag_gesamt']." as betrag_gesamt,
|
||||||
b.waehrung,
|
b.waehrung,
|
||||||
ROUND(".$typ['field_betrag'].",2) as betrag,
|
ROUND(".$typ['field_betrag'].",2) as betrag,
|
||||||
".$typ['field_gegenkonto']." as gegenkonto,
|
".$sql_gegenkonto." as gegenkonto,
|
||||||
p.waehrung as pos_waehrung
|
b.waehrung as pos_waehrung
|
||||||
FROM
|
FROM
|
||||||
".$typ['typ']." b
|
".$typ['typ']." b
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
@@ -535,6 +565,7 @@ class Exportbuchhaltung
|
|||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
|
id,
|
||||||
belegnr,
|
belegnr,
|
||||||
datum,
|
datum,
|
||||||
betrag_gesamt,
|
betrag_gesamt,
|
||||||
@@ -546,10 +577,10 @@ class Exportbuchhaltung
|
|||||||
FROM
|
FROM
|
||||||
(".$sql.") posten
|
(".$sql.") posten
|
||||||
GROUP BY
|
GROUP BY
|
||||||
belegnr
|
id
|
||||||
) summen
|
) summen
|
||||||
WHERE betrag_gesamt <> betrag_summe OR betrag_summe IS NULL";
|
WHERE betrag_gesamt <> betrag_summe OR betrag_summe IS NULL";
|
||||||
|
|
||||||
$result = $this->app->DB->SelectArr($sql_check);
|
$result = $this->app->DB->SelectArr($sql_check);
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
|
|
||||||
@@ -590,7 +621,7 @@ class Exportbuchhaltung
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // diffignore
|
} // diffignore
|
||||||
|
|
||||||
// Query position data
|
// Query position data
|
||||||
$arr = $this->app->DB->Query($sql);
|
$arr = $this->app->DB->Query($sql);
|
||||||
while ($row = $this->app->DB->Fetch_Assoc($arr)) {
|
while ($row = $this->app->DB->Fetch_Assoc($arr)) {
|
||||||
@@ -619,7 +650,7 @@ class Exportbuchhaltung
|
|||||||
$data['Belegfeld 1'] = mb_strimwidth($row['belegnr'],0,12);
|
$data['Belegfeld 1'] = mb_strimwidth($row['belegnr'],0,12);
|
||||||
$data['Konto'] = $row['kundennummer']; // obligatory
|
$data['Konto'] = $row['kundennummer']; // obligatory
|
||||||
|
|
||||||
if ($typ['field_gegenkonto'] == 'gegenkonto') {
|
if (!empty($typ['field_gegenkonto'])) {
|
||||||
$data['Gegenkonto (ohne BU-Schlüssel)'] = $row['gegenkonto']; // obligatory
|
$data['Gegenkonto (ohne BU-Schlüssel)'] = $row['gegenkonto']; // obligatory
|
||||||
} else {
|
} else {
|
||||||
$data['Gegenkonto (ohne BU-Schlüssel)'] = $erloes; // obligatory
|
$data['Gegenkonto (ohne BU-Schlüssel)'] = $erloes; // obligatory
|
||||||
|
|||||||
@@ -446,6 +446,7 @@ class Firmendaten {
|
|||||||
'artikelnummer',
|
'artikelnummer',
|
||||||
'preisanfrage',
|
'preisanfrage',
|
||||||
'verbindlichkeit',
|
'verbindlichkeit',
|
||||||
|
'lieferantengutschrift',
|
||||||
'receiptdocument',
|
'receiptdocument',
|
||||||
];
|
];
|
||||||
if(in_array($cmd, $allowedNumbers)) {
|
if(in_array($cmd, $allowedNumbers)) {
|
||||||
@@ -1703,6 +1704,7 @@ class Firmendaten {
|
|||||||
$this->app->Tpl->Set('NEXT_ANFRAGE' , $data[0]['next_anfrage']);
|
$this->app->Tpl->Set('NEXT_ANFRAGE' , $data[0]['next_anfrage']);
|
||||||
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , $data[0]['next_preisanfrage']);
|
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , $data[0]['next_preisanfrage']);
|
||||||
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', $data[0]['next_verbindlichkeit']);
|
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', $data[0]['next_verbindlichkeit']);
|
||||||
|
$this->app->Tpl->Set('NEXT_LIEFERANTENGUTSCHRIFT', $data[0]['next_lieferantengutschrift']);
|
||||||
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', $data[0]['next_receiptdocument']);
|
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', $data[0]['next_receiptdocument']);
|
||||||
|
|
||||||
//Briefpapier Hintergrund
|
//Briefpapier Hintergrund
|
||||||
@@ -2060,6 +2062,7 @@ class Firmendaten {
|
|||||||
$this->app->Tpl->Set('NEXT_ANFRAGE' , ($data['next_anfrage']));
|
$this->app->Tpl->Set('NEXT_ANFRAGE' , ($data['next_anfrage']));
|
||||||
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , ($data['next_preisanfrage']));
|
$this->app->Tpl->Set('NEXT_PREISANFRAGE' , ($data['next_preisanfrage']));
|
||||||
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', ($data['next_verbindlichkeit']));
|
$this->app->Tpl->Set('NEXT_VERBINDLICHKEIT', ($data['next_verbindlichkeit']));
|
||||||
|
$this->app->Tpl->Set('NEXT_LIEFERANTENGUTSCHRIFT', ($data['next_lieferantengutschrift']));
|
||||||
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', ($data['next_receiptdocument']));
|
$this->app->Tpl->Set('NEXT_RECEIPTDOCUMENT', ($data['next_receiptdocument']));
|
||||||
|
|
||||||
//Briefpapier Hintergrund
|
//Briefpapier Hintergrund
|
||||||
@@ -2283,6 +2286,7 @@ class Firmendaten {
|
|||||||
$data['next_anfrage'] = ($this->app->Secure->POST["next_anfrage"]);
|
$data['next_anfrage'] = ($this->app->Secure->POST["next_anfrage"]);
|
||||||
$data['next_preisanfrage'] = ($this->app->Secure->POST["next_preisanfrage"]);
|
$data['next_preisanfrage'] = ($this->app->Secure->POST["next_preisanfrage"]);
|
||||||
$data['next_verbindlichkeit'] = ($this->app->Secure->POST["next_verbindlichkeit"]);
|
$data['next_verbindlichkeit'] = ($this->app->Secure->POST["next_verbindlichkeit"]);
|
||||||
|
$data['next_lieferantengutschrift'] = ($this->app->Secure->POST["next_lieferantengutschrift"]);
|
||||||
$data['produktionsverhalten'] = $this->app->Secure->POST["produktionsverhalten"];
|
$data['produktionsverhalten'] = $this->app->Secure->POST["produktionsverhalten"];
|
||||||
|
|
||||||
$data['sprachebevorzugen'] = ($this->app->Secure->POST["sprachebevorzugen"]);
|
$data['sprachebevorzugen'] = ($this->app->Secure->POST["sprachebevorzugen"]);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -716,7 +716,7 @@ class Ticket {
|
|||||||
|
|
||||||
$ticket_from_db = $this->app->DB->SelectArr($sql)[0];
|
$ticket_from_db = $this->app->DB->SelectArr($sql)[0];
|
||||||
|
|
||||||
$ticket_from_db['betreff'] = htmlentities(strip_tags($ticket_from_db['betreff'])); //+ #20230916 XSS
|
$ticket_from_db['betreff'] = strip_tags($ticket_from_db['betreff']);
|
||||||
|
|
||||||
foreach ($ticket_from_db as $key => $value) {
|
foreach ($ticket_from_db as $key => $value) {
|
||||||
$this->app->Tpl->Set(strtoupper($key), $value);
|
$this->app->Tpl->Set(strtoupper($key), $value);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 OpenXE project
|
* Copyright (c) 2022 OpenXE project
|
||||||
*/
|
*/
|
||||||
|
/* AUSKOMMENTIERT FB
|
||||||
use Xentral\Components\Database\Exception\QueryFailureException;
|
use Xentral\Components\Database\Exception\QueryFailureException;
|
||||||
|
|
||||||
class upgrade {
|
class upgrade {
|
||||||
@@ -22,7 +22,7 @@ class upgrade {
|
|||||||
public function Install() {
|
public function Install() {
|
||||||
/* Fill out manually later */
|
/* Fill out manually later */
|
||||||
}
|
}
|
||||||
|
/* AUSKOMMENTIERT FB
|
||||||
function upgrade_overview() {
|
function upgrade_overview() {
|
||||||
|
|
||||||
$submit = $this->app->Secure->GetPOST('submit');
|
$submit = $this->app->Secure->GetPOST('submit');
|
||||||
@@ -120,4 +120,4 @@ class upgrade {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
AUSKOMMENTIERT FB */
|
||||||
|
|||||||
@@ -244,16 +244,16 @@ class Verbindlichkeit {
|
|||||||
'<input type="number" name="werte[]" value="',
|
'<input type="number" name="werte[]" value="',
|
||||||
['sql' => $offen_menge],
|
['sql' => $offen_menge],
|
||||||
'" min="0"',
|
'" min="0"',
|
||||||
'" max="',
|
' max="',
|
||||||
['sql' => $offen_menge],
|
['sql' => $offen_menge],
|
||||||
'"/>'
|
'"/>'
|
||||||
);
|
);
|
||||||
|
|
||||||
$preise = array (
|
$preise = array (
|
||||||
'<input type="number" name="preise[]" step="0.00001" value="',
|
'<input type="number" name="preise[]" step="0.00001" value="',
|
||||||
['sql' => $this->app->erp->FormatMenge("COALESCE(bp.preis,0)",5)],
|
['sql' => "TRIM(COALESCE(bp.preis,0))+0"],
|
||||||
'" min="0"',
|
'" min="0"',
|
||||||
'"/>'
|
'/>'
|
||||||
);
|
);
|
||||||
|
|
||||||
$artikellink = array (
|
$artikellink = array (
|
||||||
|
|||||||
@@ -1474,6 +1474,7 @@ class Wareneingang {
|
|||||||
$this->app->ActionHandler("settings", "WareneingangSettings");
|
$this->app->ActionHandler("settings", "WareneingangSettings");
|
||||||
|
|
||||||
$this->app->ActionHandler("deletepos", "WareneingangPositionLoeschen");
|
$this->app->ActionHandler("deletepos", "WareneingangPositionLoeschen");
|
||||||
|
$this->app->ActionHandler("oeffnen", "WareneingangOeffnen");
|
||||||
|
|
||||||
$this->app->DefaultActionHandler("list");
|
$this->app->DefaultActionHandler("list");
|
||||||
$this->app->erp->Headlines('Wareneingang');
|
$this->app->erp->Headlines('Wareneingang');
|
||||||
@@ -1598,6 +1599,15 @@ class Wareneingang {
|
|||||||
$this->app->Location->execute('Location: index.php?module=wareneingang&action=distribution');
|
$this->app->Location->execute('Location: index.php?module=wareneingang&action=distribution');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function WareneingangOeffnen() {
|
||||||
|
$id = $this->app->Secure->GetPOST('id');
|
||||||
|
|
||||||
|
if ($id > 0 && is_numeric($id)) {
|
||||||
|
$this->app->DB->Delete("UPDATE paketannahme set status = 'angelegt' WHERE id='$id' LIMIT 1");
|
||||||
|
}
|
||||||
|
$this->app->Location->execute('Location: index.php?module=wareneingang&action=distriinhalt&id='.$id);
|
||||||
|
}
|
||||||
|
|
||||||
public function WareneingangMenu() {
|
public function WareneingangMenu() {
|
||||||
$action = $this->app->Secure->GetGET('action');
|
$action = $this->app->Secure->GetGET('action');
|
||||||
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Wareneingang');
|
$this->app->Tpl->Add('KURZUEBERSCHRIFT', ' Wareneingang');
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 545 KiB |
@@ -1,51 +1,51 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>OpenXE - Login</title>
|
<title>DBXE - Login</title>
|
||||||
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
<link id="shortcuticon" rel="shortcut icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
||||||
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
<link id="favicon" rel="icon" href="./themes/new/images/favicon/favicon.ico" type="image/x-icon">
|
||||||
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
|
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-16x16.png" sizes="16x16">
|
||||||
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-32x32.png" sizes="32x32">
|
<link rel="icon" type="image/png" href="./themes/new/images/favicon/favicon-32x32.png" sizes="32x32">
|
||||||
<script type="text/javascript" src="./js/jquery/jquery-3.5.0.min.js"></script>
|
<script type="text/javascript" src="./js/jquery/jquery-3.5.0.min.js"></script>
|
||||||
<script type="text/javascript" src="[JQUERYMIGRATESRC]"></script>
|
<script type="text/javascript" src="[JQUERYMIGRATESRC]"></script>
|
||||||
<script src="themes/new/js/scripts_login.js"></script>
|
<script src="themes/new/js/scripts_login.js"></script>
|
||||||
<link rel="stylesheet" href="themes/new/css/normalize.min.css?v=5">
|
<link rel="stylesheet" href="themes/new/css/normalize.min.css?v=5">
|
||||||
<link rel="stylesheet" href="themes/new/css/login_styles.css?v=3">
|
<link rel="stylesheet" href="themes/new/css/login_styles.css?v=3">
|
||||||
<link rel="stylesheet" href="themes/new/css/custom.css?v=3">
|
<link rel="stylesheet" href="themes/new/css/custom.css?v=3">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="login-container">
|
<div id="login-container">
|
||||||
<div id="login-slider-wrapper">
|
<div id="login-slider-wrapper">
|
||||||
<div id="login-slider">
|
<div id="login-slider">
|
||||||
[LOGINSLIDER]
|
[LOGINSLIDER]
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="login-wrapper">
|
<div id="login-wrapper">
|
||||||
|
|
||||||
<img src="[TPLLOGOFIRMA]" heigth="72">
|
<!--<img src="[TPLLOGOFIRMA]" heigth="72">
|
||||||
</img>
|
</img>-->
|
||||||
|
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
Willkommen bei OpenXE ERP.<br/>
|
Willkommen beim ERP von [FIRMENNAME]<br/>
|
||||||
Bitte gib Deinen Benutzernamen und Passwort ein!
|
Bitte gib Deinen Benutzernamen und Passwort ein!
|
||||||
</div>
|
</div>
|
||||||
<div [LOGINWARNING_VISIBLE] class="warning"><p>[LOGINWARNING_TEXT]</p></div>
|
<div [LOGINWARNING_VISIBLE] class="warning"><p>[LOGINWARNING_TEXT]</p></div>
|
||||||
|
|
||||||
[SPERRMELDUNGNACHRICHT]
|
[SPERRMELDUNGNACHRICHT]
|
||||||
[PAGE]
|
[PAGE]
|
||||||
<div id="login-footer">
|
<div id="login-footer">
|
||||||
<div class="copyright">
|
<div class="copyright">
|
||||||
© [YEAR] by OpenXE-org & Xentral ERP Software GmbH.<br>
|
© [YEAR] by DBXE & OpenXE-org & Xentral ERP Software GmbH.<br>
|
||||||
OpenXE is free open source software under AGPL/EGPL license, based on <a href="https://xentral.com" target="_blank">Xentral®</a>.<br>
|
DBXE is a OS software under AGPL/EGPL license, based on Xentral® and OpenXE.<br>
|
||||||
<a href="https://github.com/OpenXE-org/OpenXE/commits/master">[XENTRALVERSION]</a>
|
<a href="https://repo.dbxe.de/dbxe/DBXE/commits/branch/master">[XENTRALVERSION]</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -400,6 +400,9 @@ class WidgetGenprojekt
|
|||||||
$field = new HTMLInput("next_verbindlichkeit","text","","40","","","","","","","","0","","");
|
$field = new HTMLInput("next_verbindlichkeit","text","","40","","","","","","","","0","","");
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
|
||||||
|
$field = new HTMLInput("next_lieferantengutschrift","text","","40","","","","","","","","0","","");
|
||||||
|
$this->form->NewField($field);
|
||||||
|
|
||||||
$field = new HTMLInput("next_goodspostingdocument","text","","40","","","","","","","","0","","");
|
$field = new HTMLInput("next_goodspostingdocument","text","","40","","","","","","","","0","","");
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
|
||||||
|
|||||||
@@ -292,6 +292,7 @@
|
|||||||
<tr><td>Nächste Anfragenummer:</td><td>[NEXT_ANFRAGE][MSGNEXT_ANFRAGE] </td></tr>
|
<tr><td>Nächste Anfragenummer:</td><td>[NEXT_ANFRAGE][MSGNEXT_ANFRAGE] </td></tr>
|
||||||
<tr><td>Nächste Proformarechnungsnummer:</td><td>[NEXT_PROFORMARECHNUNG][MSGNEXT_PROFORMARECHNUNG] </td></tr>
|
<tr><td>Nächste Proformarechnungsnummer:</td><td>[NEXT_PROFORMARECHNUNG][MSGNEXT_PROFORMARECHNUNG] </td></tr>
|
||||||
<tr><td>Nächste Verbindlichkeitsnummer:</td><td>[NEXT_VERBINDLICHKEIT][MSGNEXT_VERBINDLICHKEIT] </td></tr>
|
<tr><td>Nächste Verbindlichkeitsnummer:</td><td>[NEXT_VERBINDLICHKEIT][MSGNEXT_VERBINDLICHKEIT] </td></tr>
|
||||||
|
<tr><td>Nächste Lieferantengutschriftsnummer:</td><td>[NEXT_LIEFERANTENGUTSCHRIFT][MSGNEXT_LIEFERANTENGUTSCHRIFT] </td></tr>
|
||||||
<tr><td>Nächste Warenbuchungsbelegnummer:</td><td>[NEXT_GOODSPOSTINGDOCUMENT][MSGNEXT_GOODSPOSTINGDOCUMENT] </td></tr>
|
<tr><td>Nächste Warenbuchungsbelegnummer:</td><td>[NEXT_GOODSPOSTINGDOCUMENT][MSGNEXT_GOODSPOSTINGDOCUMENT] </td></tr>
|
||||||
<tr><td>Nächste Kundennummer:</td><td>[NEXT_KUNDENNUMMER][MSGNEXT_KUNDENNUMMER] </td></tr>
|
<tr><td>Nächste Kundennummer:</td><td>[NEXT_KUNDENNUMMER][MSGNEXT_KUNDENNUMMER] </td></tr>
|
||||||
<tr><td>Nächste Lieferantenummer:</td><td>[NEXT_LIEFERANTENNUMMER][MSGNEXT_LIEFERANTENNUMMER] </td></tr>
|
<tr><td>Nächste Lieferantenummer:</td><td>[NEXT_LIEFERANTENNUMMER][MSGNEXT_LIEFERANTENNUMMER] </td></tr>
|
||||||
|
|||||||
@@ -235,6 +235,9 @@ class WidgetProjekt extends WidgetGenProjekt
|
|||||||
$field = new HTMLInput("next_verbindlichkeit","text","",40);
|
$field = new HTMLInput("next_verbindlichkeit","text","",40);
|
||||||
$field->readonly="readonly";
|
$field->readonly="readonly";
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
$field = new HTMLInput("next_lieferantengutschrift","text","",40);
|
||||||
|
$field->readonly="readonly";
|
||||||
|
$this->form->NewField($field);
|
||||||
$field = new HTMLInput("next_kundennummer","text","",40);
|
$field = new HTMLInput("next_kundennummer","text","",40);
|
||||||
$field->readonly="readonly";
|
$field->readonly="readonly";
|
||||||
$this->form->NewField($field);
|
$this->form->NewField($field);
|
||||||
|
|||||||
Reference in New Issue
Block a user