app = &$app; $this->parsetarget = $parsetarget; parent::__construct($app,$parsetarget); $this->ExtendsForm(); } function ExtendsForm() { $id = $this->app->Secure->GetGET("id"); $this->form->ReplaceFunction("datum",$this,"ReplaceDatum"); $this->form->ReplaceFunction("reservationdate",$this,"ReplaceDatum"); $this->form->ReplaceFunction("einzugsdatum",$this,"ReplaceDatum"); $this->form->ReplaceFunction("lieferdatum",$this,"ReplaceDatum"); $this->form->ReplaceFunction("tatsaechlicheslieferdatum",$this,"ReplaceDatum"); $this->form->ReplaceFunction("gueltigbis",$this,"ReplaceDatum"); $this->form->ReplaceFunction("projekt",$this,"ReplaceProjekt"); $this->form->ReplaceFunction("adresse",$this,"ReplaceKunde"); $this->form->ReplaceFunction("angebotid",$this,"ReplaceAngebot"); $this->form->ReplaceFunction("gruppe",$this,"ReplaceGruppe"); $this->form->ReplaceFunction("standardlager",$this,"ReplaceLager"); $this->form->ReplaceFunction("zahlungszielskonto",$this,"ReplaceBetrag"); $this->form->ReplaceFunction("kurs",$this,"ReplaceBetrag"); $this->app->YUI->AutoComplete("kostenstelle","kostenstelle",1); if($this->app->Secure->GetPOST('speichern')!='') { $before = $this->app->DB->SelectRow( sprintf('SELECT projekt, schreibschutz FROM auftrag WHERE id = %d', $id) ); $schreibschutzbefore = $before['schreibschutz']; $projektbevor = $before['projekt']; $projektabkuerzung = $this->app->DB->Select("SELECT abkuerzung FROM projekt WHERE id = '$projektbevor' LIMIT 1"); $projektdanach = explode(' ',$this->app->Secure->GetPOST('projekt')); $projektdanach = reset($projektdanach); $overwriteZahlungsweise = null; $overwriteVersandart = null; if(!$schreibschutzbefore && $projektdanach != $projektabkuerzung){ $projektdanach = $this->app->DB->Select("SELECT id FROM projekt WHERE abkuerzung = '$projektdanach' LIMIT 1"); $this->app->erp->LoadSteuersaetze($id, 'auftrag', $projektdanach); if(!empty($projektdanach)){ $standardlager = $this->app->DB->Select("SELECT l.id FROM projekt p INNER JOIN lager l ON p.standardlager = l.id WHERE p.id = '$projektdanach' LIMIT 1"); if($standardlager && $this->form->CallbackAndMandatorycheck(true)){ $this->form->HTMLList['standardlager']->htmlvalue = $this->app->DB->Select("SELECT bezeichnung FROM lager WHERE id = '$standardlager' LIMIT 1"); $this->form->HTMLList['standardlager']->dbvalue = $standardlager; } $deactivateautoshipping = $this->app->erp->Projektdaten($projektdanach, 'deactivateautoshipping'); if($deactivateautoshipping && $this->form->CallbackAndMandatorycheck(true)) { $this->form->HTMLList['autoversand']->htmlvalue = 0; $this->form->HTMLList['autoversand']->dbvalue = 0; } $query = sprintf("SELECT zahlungsweise, zahlungsweiselieferant, versandart FROM projekt WHERE id='%s'", $projektdanach); $projectDefaultData = $this->app->DB->SelectRow($query); if($this->form->HTMLList['lieferantenauftrag']->htmlvalue){ if(!empty($projectDefaultData['zahlungsweiselieferant']) && $this->form->CallbackAndMandatorycheck(true)){ $overwriteZahlungsweise = $projectDefaultData['zahlungsweiselieferant']; } }else{ if(!empty($projectDefaultData['zahlungsweise']) && $this->form->CallbackAndMandatorycheck(true)){ $overwriteZahlungsweise = $projectDefaultData['zahlungsweise']; } } if(!empty($projectDefaultData['versandart']) && $this->form->CallbackAndMandatorycheck(true)){ $overwriteVersandart = $projectDefaultData['versandart']; } } } if(!$schreibschutzbefore && (bool)$this->app->Secure->GetPOST('schreibschutz')) { $this->app->DB->Update( sprintf( 'UPDATE auftrag SET zuarchivieren = 1 WHERE id = %d', $id ) ); } if($this->form->CallbackAndMandatorycheck(true)) { if($this->app->Secure->GetPOST('lieferantenauftrag')) { $this->app->DB->Update("UPDATE auftrag SET lieferantkdrnummer = '".reset(explode(' ',($this->app->Secure->GetPOST('lieferant'))))."' WHERE id = '$id' LIMIT 1"); }else{ $this->app->DB->Update("UPDATE auftrag SET lieferantkdrnummer = '".reset(explode(' ',($this->app->Secure->GetPOST('adresse'))))."' WHERE id = '$id' LIMIT 1"); } $modus = 'speichern'; $this->app->erp->RunHook('auftrageditdetail', 2, $id, $modus); } } $adresse = $this->app->DB->Select("SELECT adresse FROM auftrag WHERE id='$id' LIMIT 1"); $this->app->YUI->AutoComplete("adresse","kunde",1); $this->app->YUI->AutoComplete("lieferant","lieferant",1); $this->app->YUI->AutoComplete("angebotid","angebot",1); $this->app->YUI->AutoComplete("projekt","projektname",1); $this->app->YUI->AutoComplete("gruppe","verband"); $this->app->YUI->AutoComplete("aktion","aktionscode",1); $this->app->YUI->AutoComplete("standardlager","lager"); $this->app->YUI->AutoComplete("lieferbedingung","lieferbedingungen"); if($this->app->erp->Firmendaten("briefhtml")=="1") { $this->app->YUI->CkEditor("bodyzusatz","belege"); $this->app->YUI->CkEditor("freitext","belege"); $this->app->YUI->CkEditor("internebemerkung","internal"); } $this->form->ReplaceFunction("lieferant",$this,"ReplaceLieferant"); $field = new HTMLCheckbox("lieferantenauftrag","","","1"); $field->onclick="lieferantenauftraganzeige(this.form.lieferantenauftrag.value);"; $this->form->NewField($field); $this->app->erp->AnzeigeAbweichendeBezeichnung("auftrag"); if($adresse > 0) { $this->app->YUI->AutoComplete("ihrebestellnummer","ihrebestellnummer",0,"&adresse=$adresse"); } if($this->app->Secure->GetGET("action")=="edit"){ $this->app->Tpl->Add('FURTHERTABS','
  • Protokoll
  • '); $this->app->Tpl->Add('FURTHERTABSDIV','
    '); } $this->app->YUI->DatePicker("datum"); $this->app->YUI->DatePicker("lieferdatum"); $this->app->YUI->DatePicker("einzugsdatum"); $this->app->YUI->DatePicker("reservationdate"); $this->app->YUI->DatePicker("tatsaechlicheslieferdatum"); $this->app->Tpl->Set('READONLY',"readonly"); $typOptions = $this->app->erp->GetTypSelect(); $field = new HTMLSelect("typ",0); //$field->onchange="onchange_typ(this.form.typ.options[this.form.typ.selectedIndex].value);"; $field->AddOptionsSimpleArray($typOptions); $this->form->NewField($field); $versandart = $this->app->erp->GetVersandartAuftrag((int)$this->app->DB->Select("SELECT projekt FROM auftrag WHERE id = '$id' LIMIT 1")); $zahlungsweise = $this->app->erp->GetZahlungsweise('auftrag', $id); $zahlungsstatus= $this->app->erp->GetZahlungsstatus(); $typ = $this->app->erp->GetKreditkarten(); $status = $this->app->erp->GetStatusAuftrag(); for($i=2009;$iapp->Tpl->Set('VORWUNSCHLAGER',''); $projectRow =$this->app->DB->SelectRow( "SELECT p.standardlager, p.kommissionierverfahren, a.projekt FROM auftrag a INNER JOIN projekt p ON a.projekt=p.id WHERE a.id='$id'" ); $projekt = $projectRow['projekt'];//$this->app->DB->Select("SELECT projekt FROM auftrag WHERE id = '$id' LIMIT 1"); if($projekt) { if($this->app->DB->Select("SELECT count(id) FROM lager") > 1 || $projectRow['standardlager'] > 0) { $kommissionierverfahren = $projectRow['kommissionierverfahren'];//$this->app->DB->Select("SELECT kommissionierverfahren FROM projekt WHERE id = '$projekt' LIMIT 1"); if(($kommissionierverfahren==='lieferscheinlager' || $kommissionierverfahren==='lieferscheinlagerscan' || $kommissionierverfahren==='lieferscheinscan' || $kommissionierverfahren === 'lieferschein')) { $this->app->Tpl->Set('VORWUNSCHLAGER',''); $this->app->Tpl->Set('NACHWUNSCHLAGER',''); } } } if($this->app->erp->ModulVorhanden('kommissionskonsignationslager')) { $this->form->ReplaceFunction("kommissionskonsignationslager",$this,"ReplaceLagerPlatz"); $this->app->YUI->AutoComplete("kommissionskonsignationslager","lagerplatz"); $kommissionskonsignationslagerbezeichnung = $this->app->erp->Firmendaten('kommissionskonsignationslager'); if((String)$kommissionskonsignationslagerbezeichnung === '')$kommissionskonsignationslagerbezeichnung = 'Kommissions-/Konsignationslager'; $this->app->Tpl->Set('KOMMISSIONIERLAGER', $kommissionskonsignationslagerbezeichnung); }else{ $this->app->Tpl->Set('VORKOMMISSIONSKONSIGNATIONSLAGER',''); } $waehrungOptions = $this->app->erp->GetWaehrung(); $field = new HTMLSelect("waehrung",0,"waehrung",false,false,"1"); $field->AddOptionsSimpleArray($waehrungOptions); $this->form->NewField($field); $sprachenOptions = $this->app->erp->GetSprachenSelect($id?$this->app->DB->Select("SELECT sprache FROM adresse WHERE id = '$id' LIMIT 1"):null); $field = new HTMLSelect("sprache",0,"sprache",false,false,"1"); //$field->onchange="onchange_typ(this.form.typ.options[this.form.typ.selectedIndex].value);"; $field->AddOptionsSimpleArray($sprachenOptions); $this->form->NewField($field); //$this->app->erp->GetSelect($versandart,$this->app-> $field = new HTMLSelect("versandart",0); // $field->onchange="versand(this.form.versandart.options[this.form.versandart.selectedIndex].value);"; $field->AddOptionsSimpleArray($versandart); $this->form->NewField($field); if(!empty($overwriteZahlungsweise)){ $this->form->HTMLList['versandart']->htmlvalue = $overwriteVersandart; $this->form->HTMLList['versandart']->dbvalue = $overwriteVersandart; } $field = new HTMLSelect("kreditkarte_typ",0); $field->AddOptionsSimpleArray($typ); $this->form->NewField($field); $field = new HTMLSelect("kreditkarte_monat",0); $field->AddOptionsSimpleArray($monat); $this->form->NewField($field); $field = new HTMLSelect("kreditkarte_jahr",0); $field->AddOptionsSimpleArray($jahr); $this->form->NewField($field); // $this->app->Tpl->Set(ONCHANGE_ZAHLUNGSART,"onchange=\"aktion_buchen(this.form.zahlungsweise.options[this.form.zahlungsweise.selectedIndex].value);\""); $zahlungsweisenmodule = $this->app->DB->SelectArr("SELECT id, modul, type FROM zahlungsweisen WHERE verhalten = 'rechnung'"); if (!is_null($zahlungsweisenmodule)) { for($iz=0;$iz 0) $field->onchange="var cmd = this.form.zahlungsweise.options[this.form.zahlungsweise.selectedIndex].value; if(".implode(' || ',$cmdcheck).") cmd='rechnung'; aktion_buchen(cmd);"; else $field->onchange="var cmd = this.form.zahlungsweise.options[this.form.zahlungsweise.selectedIndex].value; aktion_buchen(cmd);"; } $field->AddOptionsSimpleArray($zahlungsweise); $this->form->NewField($field); if(!empty($overwriteZahlungsweise)){ $this->form->HTMLList['zahlungsweise']->htmlvalue = $overwriteZahlungsweise; $this->form->HTMLList['zahlungsweise']->dbvalue = $overwriteZahlungsweise; } $field = new HTMLSelect("zahlungsstatus",0); $field->AddOptionsSimpleArray($zahlungsstatus); $this->form->NewField($field); $field = new HTMLCheckbox("abweichendelieferadresse","","","1"); $field->onclick="abweichend2();"; $this->form->NewField($field); $field = new HTMLInput("land","hidden",""); $this->form->NewField($field); $field = new HTMLInput("lieferland","hidden",""); $this->form->NewField($field); $field = new HTMLInput("datum","text","",10); //$field->readonly="readonly"; $this->form->NewField($field); if($this->app->erp->ModulVorhanden('bundesstaaten')) { $typOptions = $this->app->erp->GetTypSelect(); $field = new HTMLSelect("bundesstaat",0,"bundesstaat",false,false,"1"); $this->form->NewField($field); $typOptions = $this->app->erp->GetTypSelect(); $field = new HTMLSelect("lieferbundesstaat",0,"lieferbundesstaat",false,false,"1"); $this->form->NewField($field); if($id > 0){ $schreibschutz = $this->app->DB->Select("SELECT schreibschutz FROM auftrag WHERE id = '$id' LIMIT 1"); }else{ $schreibschutz = 0; } $this->app->YUI->BundeslaenderSelect('EPROO_SELECT_BUNDESSTAAT', 'land', 'bundesstaat',$this->app->DB->Select("SELECT land FROM auftrag WHERE id = '$id' LIMIT 1"),$this->app->DB->Select("SELECT bundesstaat FROM auftrag WHERE id = '$id' LIMIT 1"),$schreibschutz?true:false); $this->app->YUI->BundeslaenderSelect('EPROO_SELECT_LIEFERBUNDESSTAAT', 'lieferland', 'lieferbundesstaat',$this->app->DB->Select("SELECT lieferland FROM auftrag WHERE id = '$id' LIMIT 1"),$this->app->DB->Select("SELECT lieferbundesstaat FROM auftrag WHERE id = '$id' LIMIT 1"),$schreibschutz?true:false); }else{ $this->app->Tpl->Set('VORBUNDESSTAAT',''); } $modus = 'anzeigen'; $this->app->erp->RunHook('auftrageditdetail', 2, $id, $modus); } function ReplaceGruppe($db,$value,$fromform) { return $this->app->erp->ReplaceGruppe($db,$value,$fromform); } function ReplaceAngebot($db,$value,$fromform) { return $this->app->erp->ReplaceAngebot($db,$value,$fromform); } function ReplaceLieferant($db,$value,$fromform) { return $this->app->erp->ReplaceLieferantennummer($db,$value,$fromform); } function ReplaceProjekt($db,$value,$fromform) { return $this->app->erp->ReplaceProjekt($db,$value,$fromform); } function ReplaceKunde($db,$value,$fromform) { if($db && $this->app->Secure->GetPOST('lieferantenauftrag')) { return $this->app->erp->ReplaceLieferantennummer(1,$this->app->Secure->GetPOST('lieferant'),1); } return $this->app->erp->ReplaceKundennummer($db,$value,$fromform); } function ReplaceDatum($db,$value,$fromform) { return $this->app->erp->ReplaceDatum($db,$value,$fromform); } function ReplaceLager($db,$value,$fromform) { return $this->app->erp->ReplaceLager($db,$value,$fromform); } function ReplaceLagerPlatz($db,$value,$fromform) { return $this->app->erp->ReplaceLagerPlatz($db,$value,$fromform); } function ReplaceBetrag($db,$value,$fromform) { return $this->app->erp->ReplaceBetrag($db,$value,$fromform); } function ReplaceDecimal($db,$value,$fromform) { return $this->app->erp->ReplaceDecimal($db,$value,$fromform); } }