Merge branch 'faser2k'

This commit is contained in:
OpenXE 2025-03-06 12:30:36 +01:00
commit 4fe78e0c7b
10 changed files with 131 additions and 94 deletions

View File

@ -33270,7 +33270,7 @@ function Firmendaten($field,$projekt="")
}
if($kurs<>0)
{
$this->app->DB->Update("UPDATE $typ SET kurs='$kurs' WHERE id='$id' LIMIT 1");
$this->app->DB->Update("UPDATE $typ SET kurs='$kurs' WHERE id='$id' AND kurs = 0 LIMIT 1");
}
}
@ -34129,7 +34129,7 @@ function Firmendaten($field,$projekt="")
}
//$this->LoadSteuersaetze($id,$art); //03.01.2019 Bruno entfernt, da Shopaufträge umsgestellt werden
//$this->LoadKurs($id,$art); //03.01.2019 Bruno entfernt
$this->LoadKurs($id,$art); //03.01.2019 Bruno entfernt
$belegarr = $this->app->DB->SelectRow("SELECT * FROM $art WHERE id='$id' LIMIT 1");
if(empty($belegarr))
{
@ -34215,7 +34215,7 @@ function Firmendaten($field,$projekt="")
$rabatt5 = 0;
if($art==='angebot' || $art==='auftrag' || $art==='rechnung' || $art==='gutschrift' || $art==='proformarechnung')
{
$rabattarr = $this->app->DB->SelectRow("SELECT * FROM $art WHERE id='$id' LIMIT 1");
$rabattarr = $this->app->DB->SelectRow("SELECT rabatt, rabatt1, rabatt2, rabatt3, rabatt4, rabatt5, realrabatt FROM $art WHERE id='$id' LIMIT 1");
if(!empty($rabattarr)){
$grundrabatt = $rabattarr['rabatt'];
$rabatt1 = $rabattarr['rabatt1'];
@ -34225,6 +34225,17 @@ function Firmendaten($field,$projekt="")
$rabatt5 = $rabattarr['rabatt5'];
}
$gruppe = $belegarr['gruppe'];
$preisgruppen = $this->app->DB->SelectRow("SELECT * FROM gruppen WHERE id = '$gruppe' AND art = 'preisgruppe' LIMIT 1");
if(!empty($preisgruppen)){
$grundrabatt = $preisgruppen['grundrabatt'];
$rabatt1 = $preisgruppen['rabatt1'];
$rabatt2 = $preisgruppen['rabatt2'];
$rabatt3 = $preisgruppen['rabatt3'];
$rabatt4 = $preisgruppen['rabatt4'];
$rabatt5 = $preisgruppen['rabatt5'];
}
if($grundrabatt>0) $rabattarr[] = ((100-$grundrabatt)/100.0);
if($rabatt1>0) $rabattarr[] = ((100-$rabatt1)/100.0);
if($rabatt2>0) $rabattarr[] = ((100-$rabatt2)/100.0);

View File

@ -3069,12 +3069,6 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
$adresse = $document['adresse'];// $this->app->DB->Select("SELECT adresse FROM $smodule WHERE id='$sid' LIMIT 1");
$waehrung = $document['waehrung'];//$this->app->DB->Select("SELECT waehrung FROM $smodule WHERE id='$sid' LIMIT 1");
$posanz = (int)$this->app->DB->Select("SELECT count(id) FROM $smodule"."_position WHERE $smodule = '$sid'");
if($posanz == 0)
{
$waehrung = '';
}
$anzeigebrutto = false;
if($smodule == 'auftrag' || $smodule == 'rechnung' || $smodule == 'gutschrift' || $smodule == 'angebot' || $smodule == 'proformarechnung')

View File

@ -3700,8 +3700,8 @@ class Artikel extends GenArtikel {
$adresse = $this->app->DB->Select("SELECT adresse FROM $smodule WHERE id='$sid' LIMIT 1");
}
if (!is_null($module)) {
if ($this->app->DB->Select("SHOW COLUMNS FROM `$module` LIKE 'waehrung'")) {
if (!is_null($smodule)) {
if ($this->app->DB->Select("SHOW COLUMNS FROM `$smodule` LIKE 'waehrung'")) {
$waehrung = $this->app->DB->Select("SELECT waehrung FROM $smodule WHERE id='$sid' LIMIT 1");
}
}

View File

@ -449,6 +449,10 @@ class Auftrag extends GenAuftrag
}
if ($tmp != "" && !$ignore) $tmp.= " AND a.status='freigegeben' ";
if ($tmp == "") {
$tmp = " AND a.status != 'angelegt' ";
}
// ENDE EXTRA more
$where = " a.id!='' $tmp " . $this->app->erp->ProjektRechte('a.projekt', true, 'a.vertriebid');

View File

@ -1,6 +1,7 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">[TABTEXT1]</a></li>
<li><a href="#tabs-2">[TABTEXT2]</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
@ -83,6 +84,9 @@
</form>
[TAB1NEXT]
</div>
<div id="tabs-2">
[TAB2]
</div>
</div>
<script>

View File

@ -273,7 +273,7 @@ class Fibu_buchungen {
'' AS dummy,
'' AS dummy2,
auswahl,
datum,
".$this->app->erp->FormatDate(" datum ").",
".$this->app->erp->FormatUCfirst("typ").",
objektlink,
saldo,
@ -308,7 +308,7 @@ class Fibu_buchungen {
FROM
(
SELECT
".$this->app->erp->FormatDate(" fb.datum ")." AS datum,
fb.datum,
fb.typ,
fb.id,
fo.info,

View File

@ -120,8 +120,8 @@ class Kontoauszuege {
$sumcol = array(10);
$findcols = array('q.id','q.id','q.kurzbezeichnung', 'q.importdatum', 'q.buchung', 'q.soll', 'q.waehrung', 'q.buchungstext','q.internebemerkung','q.saldo');
$searchsql = array('q.kurzbezeichnung', 'q.buchung', 'q.soll', 'q.buchungstext','q.internebemerkung');
$findcols = array('q.id','q.id', 'q.importdatum', 'q.kurzbezeichnung', 'q.buchungdatum', 'q.soll', 'q.waehrung', 'q.buchungstext','q.internebemerkung','q.saldo');
$searchsql = array('q.kurzbezeichnung', 'q.buchungdatum', 'q.soll', 'q.buchungstext','q.internebemerkung');
$defaultorder = 1;
$defaultorderdesc = 0;
@ -173,13 +173,14 @@ class Kontoauszuege {
".$app->erp->FormatMenge('(k.soll)',2).",
'</del>'
),
".$app->erp->FormatMenge('(k.soll)',2)."),
".$app->erp->FormatMenge('(k.soll)',2).") AS soll,
k.waehrung,
k.buchungstext,
k.internebemerkung,
".$app->erp->FormatMenge('SUM(fb.betrag)',2)." AS saldo,
k.id as menuid,
SUM(fb.betrag) AS saldonum
SUM(fb.betrag) AS saldonum,
k.buchung AS buchungdatum
FROM kontoauszuege k
LEFT JOIN fibu_buchungen_alle fb ON
fb.id = k.id AND fb.typ = 'kontoauszuege'

View File

@ -1572,7 +1572,9 @@ class Seriennummern {
UCASE(LEFT(sbp.beleg_typ, 1)),
SUBSTRING(sbp.beleg_typ, 2)
) AS Belegtyp,
COALESCE(l.belegnr,w.id) AS Beleg,
COALESCE(IF(w.id IS NOT NULL, CONCAT('<a href=\"index.php?module=wareneingang&action=distriinhalt&id=', w.id, '\">', w.id, '</a>'), NULL),
IF(l.id IS NOT NULL, CONCAT('<a href=\"index.php?module=lieferschein&action=edit&id=', l.id, '\">', l.belegnr, '</a>'), NULL),
'') AS Beleg,
".$this->app->erp->FormatDate('COALESCE(l.datum,w.datum)')." AS Datum,
COALESCE(al.name,aw.name) AS Adresse
FROM seriennummern_beleg_position sbp

View File

@ -44,7 +44,10 @@ class Verbindlichkeit {
function TableSearch(&$app, $name, $erlaubtevars) {
switch ($name) {
case "verbindlichkeit_list":
case 'verbindlichkeit_inbearbeitung':
$entwuerfe = true;
// break ommitted
case "verbindlichkeit_list":
$allowed['verbindlichkeit_list'] = array('list');
$heading = array('','','Belegnr','Adresse', 'Lieferant', 'RE-Nr', 'RE-Datum', 'Betrag (brutto)', 'W&auml;hrung','Zahlstatus', 'Ziel','Skontoziel','Skonto','Status','Monitor', 'Men&uuml;');
$width = array('1%','1%','10%'); // Fill out manually later
@ -114,90 +117,98 @@ class Verbindlichkeit {
) d ON d.parameter = v.id
";
$where = "1";
$count = "SELECT count(DISTINCT id) FROM verbindlichkeit WHERE $where";
// $groupby = "";
// Toggle filters
$this->app->Tpl->Add('JQUERYREADY', "$('#anhang').click( function() { fnFilterColumn1( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#wareneingang').click( function() { fnFilterColumn2( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#rechnungsfreigabe').click( function() { fnFilterColumn3( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#nichtbezahlt').click( function() { fnFilterColumn4( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#stornierte').click( function() { fnFilterColumn5( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#abgeschlossen').click( function() { fnFilterColumn6( 0 ); } );");
if ($entwuerfe) {
$where .= " AND v.belegnr = '' OR v.belegnr IS NULL";
$count = "SELECT count(DISTINCT id) FROM verbindlichkeit v WHERE $where";
}
else {
$where .= " AND v.belegnr <> ''";
$count = "SELECT count(DISTINCT id) FROM verbindlichkeit v WHERE $where";
// Toggle filters
$this->app->Tpl->Add('JQUERYREADY', "$('#anhang').click( function() { fnFilterColumn1( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#wareneingang').click( function() { fnFilterColumn2( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#rechnungsfreigabe').click( function() { fnFilterColumn3( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#nichtbezahlt').click( function() { fnFilterColumn4( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#stornierte').click( function() { fnFilterColumn5( 0 ); } );");
$this->app->Tpl->Add('JQUERYREADY', "$('#abgeschlossen').click( function() { fnFilterColumn6( 0 ); } );");
for ($r = 1;$r <= 8;$r++) {
$this->app->Tpl->Add('JAVASCRIPT', '
function fnFilterColumn' . $r . ' ( i )
{
if(oMoreData' . $r . $name . '==1)
oMoreData' . $r . $name . ' = 0;
else
oMoreData' . $r . $name . ' = 1;
for ($r = 1;$r <= 8;$r++) {
$this->app->Tpl->Add('JAVASCRIPT', '
function fnFilterColumn' . $r . ' ( i )
{
if(oMoreData' . $r . $name . '==1)
oMoreData' . $r . $name . ' = 0;
else
oMoreData' . $r . $name . ' = 1;
$(\'#' . $name . '\').dataTable().fnFilter(
\'\',
i,
0,0
);
}
');
}
$(\'#' . $name . '\').dataTable().fnFilter(
\'\',
i,
0,0
);
}
');
}
$more_data1 = $this->app->Secure->GetGET("more_data1");
if ($more_data1 == 1) {
$where .= " AND datei_anzahl IS NULL";
} else {
}
$more_data1 = $this->app->Secure->GetGET("more_data1");
if ($more_data1 == 1) {
$where .= " AND datei_anzahl IS NULL";
} else {
}
$more_data2 = $this->app->Secure->GetGET("more_data2");
if ($more_data2 == 1) {
$where .= " AND v.freigabe <> '1'";
}
else {
}
$more_data2 = $this->app->Secure->GetGET("more_data2");
if ($more_data2 == 1) {
$where .= " AND v.freigabe <> '1'";
}
else {
}
$more_data3 = $this->app->Secure->GetGET("more_data3");
if ($more_data3 == 1) {
$where .= " AND v.rechnungsfreigabe <> '1'";
}
else {
}
$more_data3 = $this->app->Secure->GetGET("more_data3");
if ($more_data3 == 1) {
$where .= " AND v.rechnungsfreigabe <> '1'";
}
else {
}
$more_data4 = $this->app->Secure->GetGET("more_data4");
if ($more_data4 == 1) {
$where .= " AND v.bezahlt <> 1";
}
else {
}
$more_data4 = $this->app->Secure->GetGET("more_data4");
if ($more_data4 == 1) {
$where .= " AND v.bezahlt <> 1";
}
else {
}
$more_data5 = $this->app->Secure->GetGET("more_data5");
if ($more_data5 == 1) {
}
else {
$where .= " AND v.status <> 'storniert'";
}
$more_data5 = $this->app->Secure->GetGET("more_data5");
if ($more_data5 == 1) {
}
else {
$where .= " AND v.status <> 'storniert'";
}
$more_data6 = $this->app->Secure->GetGET("more_data6");
if ($more_data6 == 1) {
}
else {
$where .= " AND v.status <> 'abgeschlossen'";
}
$more_data6 = $this->app->Secure->GetGET("more_data6");
if ($more_data6 == 1) {
}
else {
$where .= " AND v.status <> 'abgeschlossen'";
}
$this->app->YUI->DatePicker('zahlbarbis');
$filterzahlbarbis = $this->app->YUI->TableSearchFilter($name, 7,'zahlbarbis');
if (!empty($filterzahlbarbis)) {
$filterzahlbarbis = $this->app->String->Convert($filterzahlbarbis,'%1.%2.%3','%3-%2-%1');
$where .= " AND v.zahlbarbis <= '".$filterzahlbarbis."'";
}
$this->app->YUI->DatePicker('zahlbarbis');
$filterzahlbarbis = $this->app->YUI->TableSearchFilter($name, 7,'zahlbarbis');
if (!empty($filterzahlbarbis)) {
$filterzahlbarbis = $this->app->String->Convert($filterzahlbarbis,'%1.%2.%3','%3-%2-%1');
$where .= " AND v.zahlbarbis <= '".$filterzahlbarbis."'";
}
$this->app->YUI->DatePicker('skontobis');
$filterskontobis = $this->app->YUI->TableSearchFilter($name, 8,'skontobis');
if (!empty($filterskontobis)) {
$filterskontobis = $this->app->String->Convert($filterskontobis,'%1.%2.%3','%3-%2-%1');
$where .= " AND v.skontobis <= '".$filterskontobis."'";
}
// END Toggle filters
$this->app->YUI->DatePicker('skontobis');
$filterskontobis = $this->app->YUI->TableSearchFilter($name, 8,'skontobis');
if (!empty($filterskontobis)) {
$filterskontobis = $this->app->String->Convert($filterskontobis,'%1.%2.%3','%3-%2-%1');
$where .= " AND v.skontobis <= '".$filterskontobis."'";
}
$where .= " AND v.status <> 'angelegt'";
// END Toggle filters
}
$moreinfo = true; // Allow drop down details
$menucol = 1; // For moredata
@ -539,9 +550,12 @@ class Verbindlichkeit {
$this->app->erp->MenuEintrag("index.php?module=verbindlichkeit&action=create", "Neu anlegen");
$this->app->erp->MenuEintrag("index.php", "Zur&uuml;ck");
$this->app->Tpl->Set('TABTEXT1','Verbindlichkeiten');
$this->app->Tpl->Set('TABTEXT2','In Bearbeitung');
$this->app->YUI->TableSearch('TAB1', 'verbindlichkeit_list', "show", "", "", basename(__FILE__), __CLASS__);
$this->app->YUI->TableSearch('TAB2', 'verbindlichkeit_inbearbeitung', "show", "", "", basename(__FILE__), __CLASS__);
if($this->app->erp->RechteVorhanden('verbindlichkeit', 'freigabeeinkauf')){
$this->app->Tpl->Set('MANUELLFREIGABEEINKAUF', '<option value="freigabeeinkauf">{|freigeben (Einkauf)|}</option>');

View File

@ -220,4 +220,11 @@ class Waehrungumrechnung {
}
public function GetWaehrungUmrechnungskurs($von, $nach, $onlytable) {
$result = $this->app->DB->Select("SELECT kurs FROM waehrung_umrechnung WHERE waehrung_von = '$von' AND waehrung_nach = '$nach' AND gueltig_bis is NULL");
if (!is_null($result)) {
return $result;
}
return 0;
}
}