{"id":2139,"date":"2017-04-12T22:27:33","date_gmt":"2017-04-12T20:27:33","guid":{"rendered":"http:\/\/archivista.ch\/cms\/?page_id=2139"},"modified":"2017-12-21T22:34:19","modified_gmt":"2017-12-21T21:34:19","slug":"eingangsstempel","status":"publish","type":"page","link":"https:\/\/archivista.ch\/cms\/de\/aktuell-blog\/jahre-2008-2019\/blogs-2017\/eingangsstempel\/","title":{"rendered":"Eingangsstempel"},"content":{"rendered":"<h1>ArchivistaBox 2017\/III: Posteingang vollautomatisiert<\/h1>\n<p><em><strong>Egg, M\u00e4rz 2017:<\/strong> Mit der Version 2017\/III steht das Abstempeln der eingehenden Post zur Verf\u00fcgung. Wurde bisher das Datum des Posteinganges im Feld &#8218;Datum&#8216; erfasst, so kann neu eine automatisierte Haftnotiz erfasst werden, die auf dem Beleg automatisiert angebracht wird. Ganz egal, ob gescannte Dokumente oder digitale Dateien, mit den neuen Stempel-Funktionen lassen sich die Eingangsbelege wunderbar automatisieren.<\/em><\/p>\n<p><img decoding=\"async\" style=\"width: 600px; height: 123px;\" src=\"https:\/\/archivista.ch\/cms\/wp-content\/uploads\/image\/varazze1.jpg\" alt=\"\" \/><\/p>\n<h2>Poststempel in drei Schritten<\/h2>\n<p>Mitunter sind Kunden und Interessenten erstaunt, wie einfach und elegant neue Funktionen realisiert werden. Dies ist beim neuen Poststempel nicht anders.<\/p>\n<h3>1. Schritt: Skript erstellen<\/h3>\n<p>Dank der vollintegrierten Skriptf\u00e4higkeit von ArchivistaDMS wird f\u00fcr das Anbringen von Eingangsstempeln einzig ein kleines Skript ben\u00f6tigt:<\/p>\n<pre><strong><span style=\"font-size: 12px;\"><span style=\"font-family: comic sans ms,cursive;\">#!\/usr\/bin\/perl<\/span><\/span><\/strong>\r\n<strong><span style=\"font-size: 12px;\"><span style=\"font-family: comic sans ms,cursive;\">use strict;\r\nuse lib qw(\/home\/cvs\/archivista\/jobs);\r\nuse AVJobs;\r\nmy $host=shift;\r\nmy $db=shift;\r\nmy $user=shift;\r\nmy $pw=shift;\r\nmy $doc=shift;\r\nmy $note=\"3;92;141;521;432;0;0;1;1;255;16777215;2;6;0;18;1;0;0;0;\".\r\n  \"imgx;imgy;300;300;Arial;Eingang\";\r\nmy $date=DateStamp(time());\r\nmy $year=substr($date,8,2);\r\nmy $dbh=MySQLOpen();\r\nif ($dbh) {\r\n  if (!HostIsSlave($dbh)) {\r\n    $dbh-&gt;do(\"use $db\");\r\n    my $nr=($doc*1000)+1;\r\n    my $sql = \"select count(Seite) from archivbilder where Seite=$nr\";\r\n    my @row = $dbh-&gt;selectrow_array($sql);\r\n    if ($row[0]&gt;0) {\r\n      $sql = \"select Notes from archivseiten where Seite=$nr\";\r\n      my @row = $dbh-&gt;selectrow_array($sql);\r\n      if ($row[0] eq \"\") {\r\n        $sql = \"select BildInput from archivbilder where Seite=$nr\";\r\n        @row = $dbh-&gt;selectrow_array($sql);\r\n        if (length($row[0])&gt;0) {\r\n          my $imgo = ExactImage::newImage();\r\n          ExactImage::decodeImage($imgo,$row[0]);\r\n          my $width = ExactImage::imageWidth($imgo);\r\n          my $height = ExactImage::imageHeight($imgo);\r\n          if ($width&gt;0 &amp;&amp; $height&gt;0) {\r\n            $note =~ s\/imgx\/$width\/g;\r\n            $note =~ s\/imgy\/$height\/g;\r\n            $sql = \"show tables like 'stamp$year'\";\r\n            @row = $dbh-&gt;selectrow_array($sql);\r\n            if ($row[0] eq \"\") {\r\n              $sql = \"create table stamp$year \".\r\n                \"(id int(11) primary key auto_increment,Laufnummer int(11))\";\r\n              $dbh-&gt;do($sql);\r\n            }\r\n            $sql = \"insert into stamp$year set Laufnummer=$doc\";\r\n            $dbh-&gt;do($sql);\r\n            $sql = \"select id from stamp$year where Laufnummer=$doc\";\r\n            @row = $dbh-&gt;selectrow_array($sql);\r\n            my $count = $row[0];\r\n            if ($count&gt;0 &amp;&amp; $count&lt;=9999) {\r\n              my $countnew = ($year*10000)+$count;\r\n              my $note1 = $note.\" \".DateStamp(time()).\" \".$countnew;\r\n              my $seite = ($doc*1000)+1;\r\n              $sql = \"update archivseiten set Notes='$note1' where \".\r\n                \"Seite=$seite\";\r\n              $dbh-&gt;do($sql);\r\n              $sql = \"update archiv set intRechnungNr='$countnew',\".\r\n                \"DokTyp='Eingangsrechnung' where Laufnummer=$doc\";\r\n              $dbh-&gt;do($sql);\r\n} }  }  }  }  }  }<\/span><\/span><\/strong><\/pre>\n<p>2. Schritt: Skript in WebAdmin erfassen<\/p>\n<p>Dieses Skript f\u00fcgen wir nun in WebAdmin unter &#8218;Jobs administrieren&#8216; hinzu, dazu der nachfolgende Bildschirm:<\/p>\n<p><img decoding=\"async\" style=\"width: 601px; height: 454px;\" src=\"https:\/\/archivista.ch\/cms\/wp-content\/uploads\/image\/stempel2.png\" alt=\"\" \/><\/p>\n<p>Dabei gibt es zu beachten, dass Skripts nur nach &#8218;\/home\/data\/archivista\/cust\/autofields&#8216; abgelegt werden k\u00f6nnen. Zudem ist ein g\u00fcltiger Benutzername und das dazugeh\u00f6rende Passwort festzulegen, damit das Skript in den gew\u00fcnschten Ordner kopiert werden kann. Die Option &#8218;Update aktiviert&#8216; sowie ein g\u00fcltiger Benutzername sowie das dazugeh\u00f6rende Passwort sind ebenfalls analog zu oben einzutragen.<\/p>\n<p>Nun ist das Skript in WebAdmin bei &#8218;Scannen&#8216; in der gew\u00fcnschten Scan-Definitionen bei &#8218;Vorgabfelder&#8216; einzutragen, diesmal freilich ohne den Pfad (konkret nur &#8217;stamp.pl&#8216;).<\/p>\n<p>3. Schritt: Dateien verarbeiten<\/p>\n<p>Sobald nun eine Datei bzw. gescannte Seiten mit der gew\u00fcnschten Scan-Definition verarbeitet werden, wird das Skript jedes Mal automatisiert im Hintergrund ausgef\u00fchrt.<\/p>\n<p>Als Resultat wird vorliegend der gew\u00fcnschte Stempel auf dem Beleg angebracht:<\/p>\n<p><img decoding=\"async\" style=\"width: 600px; height: 319px;\" src=\"https:\/\/archivista.ch\/cms\/wp-content\/uploads\/image\/stempel.png\" alt=\"\" \/><\/p>\n<p>Damit ist der automatische Stempel beim Posteingang aktiviert. Im Unterschied zu den normalen Haftnotizen kann der Stempel zwar verschoben, nicht aber gel\u00f6scht werden.<\/p>\n<h2>Fazit: Automatisierung leicht gemacht<\/h2>\n<p>Die hier vorgestellte Stempel-L\u00f6sung steht seit einigen Monaten bei Kunden im Einsatz. Vorliegend mussten die Haftnotizen so erweitert ewrden, dass automatisiert hinzugf\u00fcgt Haftnotizen nicht gel\u00f6scht werden k\u00f6nnen. Dadurch ist zwingend minimal die ArchivistaBox 2017\/I erforderlich.<\/p>\n<p>Die vorliegende L\u00f6sung ist \u00fcberdies ein gutes Beispiel, wie einfach (und elegant) die ArchivistaBox erweitert werden kann. Dies muss nicht (wie obenstehend) mit Perl realisiert werden, denn auf der ArchivistaBox stehen neben Perl die Skriptsprachen PHP und Python ebenfalls zur Verf\u00fcgung.<\/p>\n<p>Es versteht sich von alleine, dass niemand selber &#8217;skripten&#8216; muss (wohl aber darf), eine Kontaktaufnahme und Terminabsprache gen\u00fcgt, damit die L\u00f6sung f\u00fcr Sie realisiert werden kann.<\/p>\n<p><strong>Zum Abschluss ein Tipp:<\/strong> Die Stempel erscheinen auch auf den exportieren PDF-Dateien, nicht aber wenn Sie auf &#8218;PIC&#8216; oder &#8218;IMG&#8216; in der Tabellenansicht klicken, bei den letzteren beiden Optionen werden die gerasterten Originaldaten bereitgestellt, d.h. die verarbeiteten Archivdaten werden durch die Stempel nicht &#8218;gesch\u00e4digt&#8216;. Dagegen werden die Stempel bei den PDF-Dateien in die Bilddaten &#8218;gerastert&#8216;, d.h. in den PDF-Datien k\u00f6nnen die Stempel nicht ver\u00e4ndert (auch nicht verschoben) werden.<\/p>\n\n\n\n\t<div class=\"dkpdf-button-container\" style=\"            text-align:right \">\n\n\t\t<a class=\"dkpdf-button\" href=\"\/cms\/wp-json\/wp\/v2\/pages\/2139?pdf=2139\" target=\"_blank\"><span class=\"dkpdf-button-icon\"><i class=\"fa fa-file-pdf-o\"><\/i><\/span> PDF Button<\/a>\n\n\t<\/div>\n\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>ArchivistaBox 2017\/III: Posteingang vollautomatisiert Egg, M\u00e4rz 2017: Mit der Version 2017\/III steht das Abstempeln der eingehenden Post zur Verf\u00fcgung. Wurde bisher das Datum des Posteinganges im Feld &#8218;Datum&#8216; erfasst, so kann neu eine automatisierte Haftnotiz erfasst werden, die auf dem Beleg automatisiert angebracht wird. Ganz egal, ob gescannte Dokumente oder digitale Dateien, mit den neuen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":5147,"menu_order":191,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2139","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/2139","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/comments?post=2139"}],"version-history":[{"count":9,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/2139\/revisions"}],"predecessor-version":[{"id":5162,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/2139\/revisions\/5162"}],"up":[{"embeddable":true,"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/pages\/5147"}],"wp:attachment":[{"href":"https:\/\/archivista.ch\/cms\/wp-json\/wp\/v2\/media?parent=2139"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}