diff --git a/www/pages/content/importvorlage_formate.tpl b/www/pages/content/importvorlage_formate.tpl
index 08e09585..f20cb45a 100644
--- a/www/pages/content/importvorlage_formate.tpl
+++ b/www/pages/content/importvorlage_formate.tpl
@@ -6,6 +6,7 @@
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
diff --git a/www/pages/importvorlage.php b/www/pages/importvorlage.php
index fdc370aa..eac2209f 100644
--- a/www/pages/importvorlage.php
+++ b/www/pages/importvorlage.php
@@ -1418,7 +1418,7 @@ class Importvorlage extends GenImportvorlage {
$ersterdatensatz = 1;
$zeitstempel = time();
- $number_of_rows = count($tmp['cmd']);
+ $number_of_rows = empty($tmp['cmd'])?0:count($tmp['cmd']);
$number_of_rows = $number_of_rows + 2;
if($isCronjob) {
@@ -1553,6 +1553,13 @@ class Importvorlage extends GenImportvorlage {
}
}
+ // HERE START OF PROCESSING OF THE ROWS
+ // INSIDE FOR LOOP
+ // $i -> loop counter row number starting with 1
+ // $number_of_rows
+ // access data -> $tmp['column_name'][$i]
+ // $tmp['cmd'] -> create or update
+ // $tmp['checked'] -> 0 or 1
switch($ziel)
{
@@ -5021,7 +5028,61 @@ class Importvorlage extends GenImportvorlage {
}
}
break;
- }
+ case 'kontorahmen':
+
+ // Create a row dataset (without checked and cmd)
+ $update_sql = "";
+ $row = array();
+ $comma = "";
+ foreach ($tmp as $key => $value) {
+ if ($key != 'cmd' && $key != 'checked') {
+ $row[$key] = $value[$i];
+ $comma = ", ";
+ }
+ }
+
+ if (empty($row['sachkonto'])) {
+ break;
+ }
+
+
+ $art_array = array(
+ '1' => 'Aufwendungen',
+ '2' => 'Erlöse',
+ '3' => 'Geldtransit',
+ '9' => 'Saldo'
+ );
+
+ $row['art'] = array_search($row['art'], $art_array);
+ $row['projekt'] = $this->app->erp->ReplaceProjekt(true,$row['projekt'],true); // Parameters: Target db?, value, from form?
+
+ $sql = "SELECT * FROM kontorahmen WHERE sachkonto = '".$row['sachkonto']."'";
+ $result = $this->app->DB->SelectArr($sql);
+
+ if (!empty($result)) {
+
+ $comma = "";
+ foreach ($row as $key => $value) {
+ $update_sql .= $comma."`".$key."` = '".$value."'";
+ $comma = ", ";
+ }
+
+ $sql = "UPDATE kontorahmen SET ".$update_sql." WHERE `sachkonto` = '".$row['sachkonto']."'";
+ $result = $this->app->DB->Update($sql);
+ } else {
+ $sql = "INSERT INTO kontorahmen (".
+ implode(", ",array_keys($row)).
+ ") VALUES ('".
+ implode("', '",array_values($row)).
+ "')";
+ $result = $this->app->DB->Update($sql);
+ }
+
+ break;
+ }
+
+ // HERE END OF PROCESSING THE ROWS switch($ziel);
+
if($isCronjob) {
$this->app->DB->Update(
sprintf(
diff --git a/www/widgets/_gen/widget.gen.importvorlage.php b/www/widgets/_gen/widget.gen.importvorlage.php
index 7b8fea06..ead82519 100644
--- a/www/widgets/_gen/widget.gen.importvorlage.php
+++ b/www/widgets/_gen/widget.gen.importvorlage.php
@@ -1,113 +1,114 @@
-app = $app;
- $this->parsetarget = $parsetarget;
- $this->Form();
- }
-
- public function importvorlageDelete()
- {
-
- $this->form->Execute("importvorlage","delete");
-
- $this->importvorlageList();
- }
-
- function Edit()
- {
- $this->form->Edit();
- }
-
- function Copy()
- {
- $this->form->Copy();
- }
-
- public function Create()
- {
- $this->form->Create();
- }
-
- public function Search()
- {
- $this->app->Tpl->Set($this->parsetarget,"SUUUCHEEE");
- }
-
- public function Summary()
- {
- $this->app->Tpl->Set($this->parsetarget,"grosse Tabelle");
- }
-
- function Form()
- {
- $this->form = $this->app->FormHandler->CreateNew("importvorlage");
- $this->form->UseTable("importvorlage");
- $this->form->UseTemplate("importvorlage.tpl",$this->parsetarget);
-
- $field = new HTMLInput("bezeichnung","text","","50","","","","","","","","0","2","");
- $this->form->NewField($field);
- $this->form->AddMandatory("bezeichnung","notempty","Pflichfeld!","MSGBEZEICHNUNG");
-
- $field = new HTMLSelect("ziel",0,"ziel","","","0");
- $field->AddOption('Adresse (min. Angabe: name)','adresse');
- $field->AddOption('Artikel (min. Angabe: nummer oder name_de)','artikel');
- $field->AddOption('Einkaufspreise (min. Angabe: lieferantennummer und herstellernummer oder herstellernummer )','einkauf');
- $field->AddOption('Zeiterfassung (min. Angabe datum_von,zeit_von,datum_bis,zeit_bis,kundennummer,taetigkeit)','zeiterfassung');
- $field->AddOption('Wiedervorlagen (min. Angabe datum_faellig, kundennummer,mitarbeiternummer,betreff)','wiedervorlagen');
- $field->AddOption('Notizen (min. Angabe datum,kundennummer,mitarbeiternummer,betreff)','notizen');
- $this->form->NewField($field);
-
- $field = new HTMLInput("importerstezeilenummer","text","","15","","","","","","","","0","","");
- $this->form->NewField($field);
-
- $field = new HTMLSelect("importtrennzeichen",0,"importtrennzeichen","","","0");
- $field->AddOption(';','semikolon');
- $field->AddOption(',','komma');
- $this->form->NewField($field);
-
- $field = new HTMLSelect("importdatenmaskierung",0,"importdatenmaskierung","","","0");
- $field->AddOption('keine','keine');
- $field->AddOption('"','gaensefuesschen');
- $this->form->NewField($field);
-
- $field = new HTMLInput("charset","text","","","","","","","","","","0","","");
- $this->form->NewField($field);
-
- $field = new HTMLCheckbox("utf8decode","","","1","0","0");
- $this->form->NewField($field);
-
- $field = new HTMLTextarea("fields",15,60,"","","","","0");
- $this->form->NewField($field);
-
- $field = new HTMLTextarea("internebemerkung",5,50,"","","","","0");
- $this->form->NewField($field);
-
-
- }
-
-}
-
-?>
\ No newline at end of file
+app = $app;
+ $this->parsetarget = $parsetarget;
+ $this->Form();
+ }
+
+ public function importvorlageDelete()
+ {
+
+ $this->form->Execute("importvorlage","delete");
+
+ $this->importvorlageList();
+ }
+
+ function Edit()
+ {
+ $this->form->Edit();
+ }
+
+ function Copy()
+ {
+ $this->form->Copy();
+ }
+
+ public function Create()
+ {
+ $this->form->Create();
+ }
+
+ public function Search()
+ {
+ $this->app->Tpl->Set($this->parsetarget,"SUUUCHEEE");
+ }
+
+ public function Summary()
+ {
+ $this->app->Tpl->Set($this->parsetarget,"grosse Tabelle");
+ }
+
+ function Form()
+ {
+ $this->form = $this->app->FormHandler->CreateNew("importvorlage");
+ $this->form->UseTable("importvorlage");
+ $this->form->UseTemplate("importvorlage.tpl",$this->parsetarget);
+
+ $field = new HTMLInput("bezeichnung","text","","50","","","","","","","","0","2","");
+ $this->form->NewField($field);
+ $this->form->AddMandatory("bezeichnung","notempty","Pflichfeld!","MSGBEZEICHNUNG");
+
+ $field = new HTMLSelect("ziel",0,"ziel","","","0");
+ $field->AddOption('Adresse (min. Angabe: name)','adresse');
+ $field->AddOption('Artikel (min. Angabe: nummer oder name_de)','artikel');
+ $field->AddOption('Einkaufspreise (min. Angabe: lieferantennummer und herstellernummer oder herstellernummer )','einkauf');
+ $field->AddOption('Zeiterfassung (min. Angabe: datum_von,zeit_von,datum_bis,zeit_bis,kundennummer,taetigkeit)','zeiterfassung');
+ $field->AddOption('Wiedervorlagen (min. Angabe: datum_faellig, kundennummer,mitarbeiternummer,betreff)','wiedervorlagen');
+ $field->AddOption('Notizen (min. Angabe: datum,kundennummer,mitarbeiternummer,betreff)','notizen');
+ $field->AddOption('Kontenrahmen (min. Angabe: sachkonto,beschriftung,art)','kontorahmen');
+ $this->form->NewField($field);
+
+ $field = new HTMLInput("importerstezeilenummer","text","","15","","","","","","","","0","","");
+ $this->form->NewField($field);
+
+ $field = new HTMLSelect("importtrennzeichen",0,"importtrennzeichen","","","0");
+ $field->AddOption(';','semikolon');
+ $field->AddOption(',','komma');
+ $this->form->NewField($field);
+
+ $field = new HTMLSelect("importdatenmaskierung",0,"importdatenmaskierung","","","0");
+ $field->AddOption('keine','keine');
+ $field->AddOption('"','gaensefuesschen');
+ $this->form->NewField($field);
+
+ $field = new HTMLInput("charset","text","","","","","","","","","","0","","");
+ $this->form->NewField($field);
+
+ $field = new HTMLCheckbox("utf8decode","","","1","0","0");
+ $this->form->NewField($field);
+
+ $field = new HTMLTextarea("fields",15,60,"","","","","0");
+ $this->form->NewField($field);
+
+ $field = new HTMLTextarea("internebemerkung",5,50,"","","","","0");
+ $this->form->NewField($field);
+
+
+ }
+
+}
+
+?>