2021-05-21 08:49:41 +02:00
< ? php
include ( " _gen/widget.gen.verbindlichkeit.php " );
class WidgetVerbindlichkeit extends WidgetGenVerbindlichkeit
{
/** @var Application $pp */
private $app ;
/**
* WidgetVerbindlichkeit constructor .
*
* @ param Application $app
* @ param string $parsetarget
*/
function __construct ( $app , $parsetarget )
{
$this -> app = $app ;
$this -> parsetarget = $parsetarget ;
parent :: __construct ( $app , $parsetarget );
$this -> ExtendsForm ();
}
function ExtendsForm ()
{
$id = $this -> app -> Secure -> GetGET ( 'id' );
if ( $id > 0 && $this -> app -> Secure -> GetPOST ( 'speichern' ) != '' ){
$before = $this -> app -> DB -> SelectRow (
sprintf ( 'SELECT `schreibschutz` FROM `verbindlichkeit` WHERE `id` = %d' , $id )
);
if ( ! empty ( $before [ 'schreibschutz' ])) {
$freigabe = ( int ) $this -> app -> Secure -> GetPOST ( 'freigabe' );
$rechnungsfreigabe = ( int ) $this -> app -> Secure -> GetPOST ( 'rechnungsfreigabe' );
$klaerfall = ( int ) $this -> app -> Secure -> GetPOST ( 'klaerfall' );
$klaergrund = $this -> app -> Secure -> GetPOST ( 'klaergrund' );
$this -> app -> DB -> Update (
sprintf (
" UPDATE `verbindlichkeit`
SET `freigabe` = % d , `rechnungsfreigabe` = % d , `klaerfall` = % d , `klaergrund` = '%s'
WHERE `id` = % d " ,
$freigabe , $rechnungsfreigabe , $klaerfall , $klaergrund , $id
)
);
$this -> app -> Location -> execute (
'index.php?module=verbindlichkeit&action=edit&id=' . $id
. '&msg=' . $this -> app -> erp -> base64_url_encode ( '<div class="info">Die Daten wurden gespeichert!</div>' ));
}
}
$this -> form -> ReplaceFunction ( " adresse " , $this , " ReplaceLieferant " );
$this -> form -> ReplaceFunction ( " zahlbarbis " , $this , " ReplaceDatum " );
$this -> form -> ReplaceFunction ( " rechnungsdatum " , $this , " ReplaceDatum " );
$this -> form -> ReplaceFunction ( " eingangsdatum " , $this , " ReplaceDatum " );
$this -> form -> ReplaceFunction ( " skontobis " , $this , " ReplaceDatum " );
$this -> form -> ReplaceFunction ( " bezahltam " , $this , " ReplaceDatum " );
$this -> form -> ReplaceFunction ( " betrag " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " skonto " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " frachtkosten " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " summenormal " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " summeermaessigt " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " bestellung " , $this , " ReplaceBestellung " );
$this -> form -> ReplaceFunction ( " projekt " , $this , " ReplaceProjekt " );
$this -> form -> ReplaceFunction ( " auftrag " , $this , " ReplaceAuftrag " );
$this -> app -> YUI -> AutoComplete ( " waehrung " , " waehrung " );
$this -> app -> YUI -> AutoSaveUserParameter ( 'projekt' , 'teilprojekt_filter' );
$this -> app -> YUI -> AutoComplete ( 'teilprojekt' , 'arbeitspaket' );
$this -> form -> ReplaceFunction ( " teilprojekt " , $this , " ReplaceArbeitspaket " );
for ( $i = 1 ; $i <= 15 ; $i ++ )
{
$this -> form -> ReplaceFunction ( " bestellung " . $i , $this , " ReplaceBestellung " );
$this -> app -> YUI -> AutoComplete ( " bestellung " . $i , " bestellung " , 1 );
$this -> form -> ReplaceFunction ( " bestellung " . $i . " betrag " , $this , " ReplaceDecimal " );
$this -> app -> YUI -> AutoComplete ( " bestellung " . $i . " projekt " , " projektname " , 1 );
$this -> form -> ReplaceFunction ( " bestellung " . $i . " projekt " , $this , " ReplaceProjekt " );
$this -> app -> YUI -> AutoComplete ( " bestellung " . $i . " kostenstelle " , " kostenstelle " , 1 );
$this -> form -> ReplaceFunction ( " bestellung " . $i . " auftrag " , $this , " ReplaceAuftrag " );
$this -> app -> YUI -> AutoComplete ( " bestellung " . $i . " auftrag " , " auftragihrebestellnummer " , 1 );
}
$this -> app -> YUI -> AutoComplete ( " adresse " , " lieferant " );
$this -> app -> YUI -> AutoComplete ( " kunde " , " kunde " );
$this -> app -> YUI -> AutoComplete ( " mitarbeiter " , " mitarbeiter " );
$this -> app -> YUI -> AutoComplete ( " sonstige " , " adresse " );
$this -> app -> YUI -> AutoComplete ( " kostenstelle " , " kostenstelle " , 1 );
$this -> app -> YUI -> AutoComplete ( " bestellung " , " bestellung " , 1 );
$this -> app -> YUI -> AutoComplete ( " projekt " , " projektname " , 1 );
//$this->app->YUI->AutoComplete("sachkonto","sachkonto",1);
$this -> app -> YUI -> AutoComplete ( " buha_konto1 " , " sachkonto " , 1 );
$this -> app -> YUI -> AutoComplete ( " buha_konto2 " , " sachkonto " , 1 );
$this -> app -> YUI -> AutoComplete ( " buha_konto3 " , " sachkonto " , 1 );
$this -> app -> YUI -> AutoComplete ( " buha_konto4 " , " sachkonto " , 1 );
$this -> app -> YUI -> AutoComplete ( " buha_konto5 " , " sachkonto " , 1 );
$this -> form -> ReplaceFunction ( " buha_betrag1 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " buha_betrag2 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " buha_betrag3 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " buha_betrag4 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " buha_betrag5 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " ustnormal " , $this , " ReplaceSteuersatzNormal " );
$this -> form -> ReplaceFunction ( " ustermaessigt " , $this , " ReplaceSteuersatzErmaessigt " );
$this -> form -> ReplaceFunction ( " uststuer3 " , $this , " ReplaceSteuersatz " );
$this -> form -> ReplaceFunction ( " uststuer4 " , $this , " ReplaceSteuersatz " );
$this -> form -> ReplaceFunction ( " summesatz3 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " summesatz4 " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( " betragbezahlt " , $this , " ReplaceDecimal " );
$this -> form -> ReplaceFunction ( 'skonto_erhalten' , $this , 'ReplaceDecimal' );
$this -> app -> YUI -> AutoComplete ( " auftrag " , " auftragihrebestellnummer " , 1 );
$this -> app -> Secure -> POST [ " firma " ] = $this -> app -> User -> GetFirma ();
$field = new HTMLInput ( " firma " , " hidden " , $this -> app -> User -> GetFirma ());
$this -> form -> NewField ( $field );
$this -> app -> YUI -> DatePicker ( " zahlbarbis " );
$this -> app -> YUI -> DatePicker ( " skontobis " );
$this -> app -> YUI -> DatePicker ( " rechnungsdatum " );
$this -> app -> YUI -> DatePicker ( " eingangsdatum " );
$this -> app -> YUI -> DatePicker ( " bezahltam " );
$this -> app -> YUI -> CkEditor ( " internebemerkung " , " internal " );
$field = new HTMLSelect ( " art " , 0 );
$field -> onchange = " onchange_art(this.form.art.options[this.form.art.selectedIndex].value); " ;
$field -> AddOptionsSimpleArray ( array ( 'lieferant' => 'Lieferant' , 'kunde' => 'Kunde' , 'sonstige' => 'Sonstige' ));
$this -> form -> NewField ( $field );
$id = $this -> app -> Secure -> GetGET ( " id " );
$this -> app -> erp -> RunHook ( 'liability_widget' , 1 , $id );
$zahlungsweise = $this -> app -> erp -> GetZahlungsweise ( 'verbindlichkeit' , $id );
$field = new HTMLSelect ( " zahlungsweise " , 0 );
$field -> onchange = " aktion_buchen(this.form.zahlungsweise.options[this.form.zahlungsweise.selectedIndex].value); " ;
$field -> AddOptionsSimpleArray ( $zahlungsweise );
$this -> form -> NewField ( $field );
$weiteresteuer1 = $this -> app -> erp -> GetKonfiguration ( 'verbindlichkeit_steuertext1' );
if ( ! $weiteresteuer1 ) $weiteresteuer1 = 'Weitere Steuer' ;
$weiteresteuer2 = $this -> app -> erp -> GetKonfiguration ( 'verbindlichkeit_steuertext2' );
if ( ! $weiteresteuer2 ) $weiteresteuer2 = 'Weitere Steuer' ;
$this -> app -> Tpl -> Set ( 'WEITERESTEUER1' , rtrim ( $weiteresteuer1 , ':' ) . ':' );
$this -> app -> Tpl -> Set ( 'WEITERESTEUER2' , rtrim ( $weiteresteuer2 , ':' ) . ':' );
$action = $this -> app -> Secure -> GetGET ( " action " );
$speichern = $this -> app -> Secure -> GetPOST ( " speichern " );
if ( $action == " edit " && $speichern != " " )
{
2022-09-12 17:23:56 +02:00
// Missing in API
// $this->app->erp->VerbindlichkeitProtokoll($id,"Verbindlichkeit gespeichert");
2021-05-21 08:49:41 +02:00
}
$this -> app -> Tpl -> Parse ( " OCRDIALOGE " , " verbindlichkeit_ocrdialoge.tpl " );
}
function ReplaceDecimal ( $db , $value , $fromform )
{
//value muss hier vom format ueberprueft werden
return $this -> app -> erp -> ReplaceMengeBetrag ( $db , $value , $fromform );
return str_replace ( " , " , " . " , $value );
}
function ReplaceAuftrag ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceAuftrag ( $db , $value , $fromform );
}
function ReplaceArbeitspaket ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceArbeitspaket ( $db , $value , $fromform );
}
function ReplaceDatum ( $db , $value , $fromform )
{
//value muss hier vom format ueberprueft werden
$dbformat = 0 ;
if ( strpos ( $value , '-' ) > 0 ) $dbformat = 1 ;
// wenn ziel datenbank
if ( $db )
{
if ( $dbformat ) return $value ;
else return $this -> app -> String -> Convert ( $value , " %1.%2.%3 " , " %3-%2-%1 " );
}
// wenn ziel formular
else
{
if ( $dbformat ) return $this -> app -> String -> Convert ( $value , " %1-%2-%3 " , " %3.%2.%1 " );
else return $value ;
}
}
function ReplaceBestellung ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceBestellung ( $db , $value , $fromform );
}
function ReplaceLieferant ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceLieferant ( $db , $value , $fromform );
}
function ReplaceKunde ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceKunde ( $db , $value , $fromform );
}
function ReplaceMitarbeiter ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceMitarbeiter ( $db , $value , $fromform );
}
function ReplaceAdresse ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceAdresse ( $db , $value , $fromform );
}
function ReplaceProjekt ( $db , $value , $fromform )
{
return $this -> app -> erp -> ReplaceProjekt ( $db , $value , $fromform );
}
function ReplaceSteuersatz ( $db , $value , $fromform )
{
if ( $db )
{
if ( $value === " " || $value === null ) return - 1 ;
return str_replace ( ',' , '.' , $value );
} else {
if ( $value < 0 || is_null ( $value )) return " " ;
return number_format ( $value , 2 , ',' , '' );
}
}
function ReplaceSteuersatzNormal ( $db , $value , $fromform )
{
if ( $db )
{
if ( $value === " " || $value === null ) return - 1 ;
return str_replace ( ',' , '.' , $value );
} else {
if ( $value < 0 || is_null ( $value )) return str_replace ( '.' , ',' , $this -> app -> erp -> GetKonfiguration ( 'verbindlichkeit_steuersatznormal' ) ? $this -> app -> erp -> GetKonfiguration ( 'verbindlichkeit_steuersatznormal' ) : $this -> app -> erp -> Firmendaten ( 'steuersatz_normal' ));
return number_format ( $value , 2 , ',' , '' );
}
}
function ReplaceSteuersatzErmaessigt ( $db , $value , $fromform )
{
if ( $db )
{
if ( $value === " " || $value === null ) return - 1 ;
return str_replace ( ',' , '.' , $value );
} else {
if ( $value < 0 || is_null ( $value )) return str_replace ( '.' , ',' , $this -> app -> erp -> GetKonfiguration ( 'verbindlichkeit_steuersatzermaessigt' ) ? $this -> app -> erp -> GetKonfiguration ( 'verbindlichkeit_steuersatzermaessigt' ) : $this -> app -> erp -> Firmendaten ( 'steuersatz_ermaessigt' ));
return number_format ( $value , 2 , ',' , '' );
}
}
public function Table ()
{
$table = new EasyTable ( $this -> app );
$this -> app -> Tpl -> Set ( $this -> parsetarget , " <form action= \" \" method= \" post \" > " );
$this -> app -> Tpl -> Set ( 'SUBSUBHEADING' , " " );
// $table->Query("SELECT a.name, verbindlichkeit.betrag, verbindlichkeit.rechnung, DATE_FORMAT(verbindlichkeit.skontobis,'%d.%m.%Y') as bis,verbindlichkeit.id FROM verbindlichkeit, adresse a WHERE verbindlichkeit.adresse = a.id AND verbindlichkeit.bezahlt!=1 AND verbindlichkeit.skontobis <= NOW() AND verbindlichkeit.status!='bezahlt' AND verbindlichkeit.skonto > 0 order by verbindlichkeit.skontobis");
$table -> Query ( " SELECT
CONCAT ( '<input type=\"checkbox\" ' , if ( verbindlichkeit . zahlbarbis <= NOW (), 'checked' , '' ), if ( verbindlichkeit . skontobis >= NOW (), 'checked' , '' )
, ' name=\"verbindlichkeit[]\" value=\"' , verbindlichkeit . id , '\">' ) as auswahl , verbindlichkeit . id as 'nr.' , a . name as lieferant ,
if ( a . swift = '' , 'fehlt - bitte nachtragen' , a . swift ) as BIC ,
if ( a . iban = '' , 'fehlt - bitte nachtragen' , a . iban ) as IBAN ,
betrag , verbindlichkeit . betrag , verbindlichkeit . rechnung ,
if ( verbindlichkeit . skontobis = '0000-00-00' , '-' , if ( verbindlichkeit . skontobis >= NOW (),
CONCAT ( '<font color=red>' , DATE_FORMAT ( verbindlichkeit . skontobis , '%d.%m.%Y' ), '</font>' ), DATE_FORMAT ( verbindlichkeit . skontobis , '%d.%m.%Y' ))) as skonto_bis ,
if ( verbindlichkeit . zahlbarbis = '0000-00-00' , '-' , DATE_FORMAT ( verbindlichkeit . zahlbarbis , '%d.%m.%Y' )) as zahlbar_bis ,
if ( verbindlichkeit . skonto > 0 , CONCAT ( verbindlichkeit . skonto , ' %' ), '-' ) as skonto ,
if ( verbindlichkeit . status = '' , 'offen' , verbindlichkeit . status ) as status ,
verbindlichkeit . id FROM verbindlichkeit LEFT JOIN adresse a ON verbindlichkeit . adresse = a . id
WHERE verbindlichkeit . status != 'bezahlt' Order by verbindlichkeit . skontobis , verbindlichkeit . zahlbarbis " );
$table -> DisplayNew ( 'INHALT' , " <a href= \" index.php?module=verbindlichkeit&action=edit&id=%value% \" ><img border= \" 0 \" src= \" ./themes/[THEME]/images/edit.svg \" ></a>
< a onclick = \ " if(!confirm('Wirklich löschen?')) return false; else window.location.href='index.php?module=verbindlichkeit&action=delete&id=%value%'; \" >
< img src = \ " ./themes/[THEME]/images/delete.svg \" border= \" 0 \" ></a>
< a onclick = \ " if(!confirm('Wirklich als bezahlt markieren?')) return false; else window.location.href='index.php?module=verbindlichkeit&action=bezahlt&id=%value%'; \" >
< img src = \ " ./themes/[THEME]/images/ack.png \" border= \" 0 \" ></a>
" );
$this -> app -> Tpl -> Parse ( $this -> parsetarget , " rahmen70_ohne_form.tpl " );
$this -> app -> Tpl -> Set ( 'SUBSUBHEADING' , " " );
$this -> app -> Tpl -> Set ( 'INHALT' , " <center>Auswahl Konto:
< select name = \ " konto \" > " . $this -> app -> erp -> GetSelectBICKonto () . " </select> <input type= \" submit \" name= \" submit \" value= \" Sammelüberweisung herunterladen und Verbindlichkeit als bezahlt markieren \" ></center></form> " );
$this -> app -> Tpl -> Parse ( $this -> parsetarget , " rahmen70_ohne_form.tpl " );
}
public function Search ()
{
//$this->app->Tpl->Set($this->parsetarget,"suchmaske");
//$this->app->Table(
//$table = new OrderTable("veranstalter");
//$table->Heading(array('Name','Homepage','Telefon'));
}
}
?>