FAQ Übersicht

AG-VIP SQL

Zur Kategorie

3-stellige Ländercodes nach ISO 3166

AG-VIP SQL verwendet im Feld "Land" den 3-stelligen Ländercode noch ISO 3166-1-alpha-3. Für die Vorbereitung einer Datenübernahme ist es hilfreich zu wissen, welche Ländernamen mit welchem Code zu versehen ist.

Weitere Informationen und eine vollständige Übersicht aller ISO-3166 finden Sie auch hier:
http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste

Nachfolgend eine Übersichtsliste:

ISO3   ISO2  Name
--------------------------------------------
ABW    AW    Aruba
AFG    AF    Afghanistan
AGO    AO    Angola
AIA    AI    Anguilla
ALA    AX    Åland Inseln
ALB    AL    Albanien
AND    AD    Andorra
ANT    AN    Niederländische Antillen
ARE    AE    Vereinigte Arabische Emirate
ARG    AR    Argentinien
ARM    AM    Armenien
ASM    AS    Amerikanisch Samoa
ATA    AQ    Antarktis
ATF    TF    Französische Südgebiete
ATG    AG    Antigua und Barbuda
AUS    AU    Australien
AUT    AT    Österreich
AZE    AZ    Aserbaidschan
BDI    BI    Burundi
BEL    BE    Belgien
BEN    BJ    Benin
BFA    BF    Burkina Faso
BGD    BD    Bangladesch
BGR    BG    Bulgarien
BHR    BH    Bahrain
BHS    BS    Bahamas
BIH    BA    Bosnien und Herzegowina
BLR    BY    Weißrussland
BLZ    BZ    Belize
BMU    BM    Bermuda
BOL    BO    Bolivien
BRA    BR    Brasilien
BRB    BB    Barbados
BRN    BN    Brunei Darussalam
BTN    BT    Bhutan
BVT    BV    Bouvetinsel
BWA    BW    Botsuana
CAF    CF    Zentralafrikanische Republik
CAN    CA    Kanada
CCK    CC    Kokosinseln
CHE    CH    Schweiz
CHL    CL    Chile
CHN    CN    China
CIV    CI    Côte d´Ivoire
CMR    CM    Kamerun
COD    CD    Kongo, Dem. Rep.
COG    CG    Kongo
COK    CK    Cookinseln
COL    CO    Kolumbien
COM    KM    Komoren
CPV    CV    Kap Verde
CRI    CR    Costa Rica
CUB    CU    Kuba
CXR    CX    Weihnachtsinsel
CYM    KY    Kaimaninseln
CYP    CY    Zypern
CZE    CZ    Tschechische Republik
DEU    DE    Deutschland
DJI    DJ    Republik Dschibuti
DMA    DM    Dominica
DNK    DK    Dänemark
DOM    DO    Dominikanische Republik
DZA    DZ    Algerien
ECU    EC    Ecuador
EGY    EG    Ägypten
ERI    ER    Eritrea
ESH    EH    Westsahara
ESP    ES    Spanien
EST    EE    Estland
ETH    ET    Äthiopien
FIN    FI    Finnland
FJI    FJ    Fidschi
FLK    FK    Falklandinseln
FRA    FR    Frankreich
FRO    FO    Färöer
FSM    FM    Mikronesien, Föderierte Staaten von
GAB    GA    Gabun
GBR    GB    Vereinigtes Königreich
GEO    GE    Georgien
GGY    GG    Guernsey
GHA    GH    Ghana
GIB    GI    Gibraltar
GIN    GN    Guinea
GLP    GP    Guadeloupe
GMB    GM    Gambia
GNB    GW    Guinea-Bissau
GNQ    GQ    Äquatorialguinea
GRC    GR    Griechenland
GRD    GD    Grenada
GRL    GL    Grönland
GTM    GT    Guatemala
GUF    GF    Französisch Guiana
GUM    GU    Guam
GUY    GY    Guyana
HKG    HK    Hong Kong
HMD    HM    Heard Insel und McDonald Inseln
HND    HN    Honduras
HRV    HR    Kroatien
HTI    HT    Haiti
HUN    HU    Ungarn
IDN    ID    Indonesien
IMN    IM    Isle of Man
IND    IN    Indien
IOT    IO    Britische Territorien im Indischen Ozean
IRL    IE    Irland
IRN    IR    Iran, Islam. Rep.
IRQ    IQ    Irak
ISL    IS    Island
ISR    IL    Israel
ITA    IT    Italien
JAM    JM    Jamaika
JEY    JE    Jersey
JOR    JO    Jordanien
JPN    JP    Japan
KAZ    KZ    Kasachstan
KEN    KE    Kenia
KGZ    KG    Kirgisistan
KHM    KH    Kambodscha
KIR    KI    Kiribati
KNA    KN    St. Kitts und Nevis
KOR    KR    Korea, Rep.
KWT    KW    Kuwait
LAO    LA    Laos, Dem. Volksrep.
LBN    LB    Libanon
LBR    LR    Liberia
LBY    LY    Libysch-Arabische Dschamahirija
LCA    LC    St. Lucia
LIE    LI    Liechtenstein
LKA    LK    Sri Lanka
LSO    LS    Lesotho
LTU    LT    Litauen
LUX    LU    Luxemburg
LVA    LV    Lettland
MAC    MO    Macao
MAR    MA    Marokko
MCO    MC    Monaco
MDA    MD    Moldau, Rep.
MDG    MG    Madagaskar
MDV    MV    Malediven
MEX    MX    Mexiko
MHL    MH    Marshallinseln
MKD    MK    Mazedonien, ehemalige jugoslawische Republik
MLI    ML    Mali
MLT    MT    Malta
MMR    MM    Myanmar
MNE    ME    Montenegro
MNG    MN    Mongolei
MNP    MP    Nördliche Marianen
MOZ    MZ    Mosambik
MRT    MR    Mauretanien
MSR    MS    Montserrat
MTQ    MQ    Martinique
MUS    MU    Mauritius
MWI    MW    Malawi
MYS    MY    Malaysia
MYT    YT    Mayotte
NAM    NA    Namibia
NCL    NC    Neukaledonien
NER    NE    Niger
NFK    NF    Norfolk Insel
NGA    NG    Nigeria
NIC    NI    Nicaragua
NIU    NU    Niue
NLD    NL    Niederlande
NOR    NO    Norwegen
NPL    NP    Nepal
NRU    NR    Nauru
NZL    NZ    Neuseeland
OMN    OM    Oman
PAK    PK    Pakistan
PAN    PA    Panama
PCN    PN    Pitcairn
PER    PE    Peru
PHL    PH    Philippinen
PLW    PW    Palau
PNG    PG    Papua-Neuguinea
POL    PL    Polen
PRI    PR    Puerto Rico
PRK    KP    Korea, Dem. Volksrep.
PRT    PT    Portugal
PRY    PY    Paraguay
PSE    PS    Palästinische Gebiete
PYF    PF    Französisch Polynesien
QAT    QA    Katar
REU    RE    Réunion
ROU    RO    Rumänien
RUS    RU    Russische Föderation
RWA    RW    Ruanda
SAU    SA    Saudi-Arabien
SDN    SD    Sudan
SEN    SN    Senegal
SGP    SG    Singapur
SGS    GS    Südgeorgien und die Südlichen Sandwichinseln
SHN    SH    Saint Helena
SJM    SJ    Svalbard und Jan Mayen
SLB    SB    Salomonen
SLE    SL    Sierra Leone
SLV    SV    El Salvador
SMR    SM    San Marino
SOM    SO    Somalia
SPM    PM    Saint Pierre und Miquelon
SRB    RS    Serbien
STP    ST    São Tomé und Príncipe
SUR    SR    Suriname
SVK    SK    Slowakei
SVN    SI    Slowenien
SWE    SE    Schweden
SWZ    SZ    Swasiland
SYC    SC    Seychellen
SYR    SY    Syrien, Arab. Rep.
TCA    TC    Turks- und Caicosinseln
TCD    TD    Tschad
TGO    TG    Togo
THA    TH    Thailand
TJK    TJ    Tadschikistan
TKL    TK    Tokelau
TKM    TM    Turkmenistan
TLS    TL    Timor-Leste
TON    TO    Tonga
TTO    TT    Trinidad und Tobago
TUN    TN    Tunesien
TUR    TR    Türkei
TUV    TV    Tuvalu
TWN    TW    Taiwan
TZA    TZ    Tansania, Vereinigte Rep.
UGA    UG    Uganda
UKR    UA    Ukraine
UMI    UM    United States Minor Outlying Islands
URY    UY    Uruguay
USA    US    Vereinigte Staaten von Amerika
UZB    UZ    Usbekistan
VAT    VA    Heiliger Stuhl
VCT    VC    St. Vincent und die Grenadinen
VEN    VE    Venezuela
VGB    VG    Britische Jungferninseln
VIR    VI    Amerikanische Jungferninseln
VNM    VN    Vietnam
VUT    VU    Vanuatu
WLF    WF    Wallis und Futuna
WSM    WS    Samoa
YEM    YE    Jemen
ZAF    ZA    Südafrika
ZMB    ZM    Sambia
ZWE    ZW    Simbabwe

2011-08-18 15:16
Markus Grutzeck

Wo speichert AG-VIP SQL Crash Dumps

Sollte AG-VIP SQL Abstürzen, dann wird normalerweise automatisch ein so genannter Crash-Dump erzeugt.

Ein Crash-Dump kann unserem Support detaillierte Informationen geben über die Ursache und Art des Fehlers, der in unserer Anwendung aufgetreten ist. Das Sam-meln dieser Daten kann immens dazu beitragen Probleme mit unserer Software zu lokalisieren und zu lösen. Diese Informationen helfen uns unsere Software zu ver-bessern.

Problembericht senden 

Wenn solch ein Fehler auftritt, dann erhält der Benutzer in den meisten Fällen die folgende Fehlermeldung:

Wenn diese Anzeige erfolgt, dann wurde bereits ein entsprechender Crash-Dump lokal gespeichert. Der Anwender hat nun die Möglichkeit zusätzlich noch den Schalter Problembericht senden auszuwählen.
In diesem Fall werden die zusätzliche Crash-Informationen über Microsoft direkt an den Support der Firma Grutzeck-Software gesendet. Die Datenerfassung hierbei erfolgt anonym und lässt sich nicht zurück verfolgen. Sie ist aber auch für unseren Support ein wichtiges Hilfsmittel um Fehlern in unserem Programm auf die Spur zu kommen. Deshalb sollte nach Möglichkeit der Schalter Problembericht senden immer gewählt werden.

Der lokale Crash-Dump

Der Name dieser Datei lautet AGVIP.EXE yyyymmdd hhmm-n.DMP. Wobei yyyymmdd hhmm-n ein Zeitstempel für den Crash sind mit einer fortlaufenden Nummer. Crash-Dumps können je nach Art beachtliche Größen erreichen. Sie überschreiten im Allgemeinen jedoch als Minidumps nicht die 1MB Marke.

AG-VIP SQL speichert nicht mehr als 10 Dumps.

Besonders aussagekräftig sind volle Speicherdumps. Diese können mit der Pro-gramm Option -fulldump erzeugt werden. Oder auch über den Taskmanager.

Wie bereits erwähnt wird immer ein lokaler Crash-Dump erzeugt. Sofern Schreib-zugriff auf das Programmverzeichnis von AG-VIP SQL existiert, d.h. das Ver-zeichnis in dem das Programm AGVIP.EXE liegt, so wird der Crash-Dump auch in diesem Verzeichnis gespeichert.
Existiert kein Schreibzugriff auf das Programmverzeichnis, weil der Benutzer keine administrativen Rechte hat, oder der Zugriff auf das Programmverzeichnis einge-schränkt ist (z.B. bei Verwendung von Windows 7 und später), dann wird die Dump Datei im temporären Benutzerverzeichnis angelegt. Der leichteste Weg die-ses Verzeichnis zu finden ist es, über den Windows Start-Schalter, Ausführen aus-zuwählen und im dem nun offenen Dialog einfach %TMP% einzugeben und den OK-Schalter zu wählen. Das funktioniert auch in der Ordnerleiste des Explorers.

Nach Eingabe und Auslösen des OK-Schalters wird ein Explorer Fenster angezeigt in dem die entsprechende Dump-Datei zu finden ist. Sie sollte eine aktuelle Uhrzeit und Datum aufweisen.

Crash-Logs

Im gleichen Verzeichnis finden sich auch eine entsprechende LOG-Datei mit dem Namen AGVIP.EXE.LOG. In dieser Datei wird zusätzlich zu der Dump-Datei der Absturz aufgezeichnet. Diese Datei wird aber einer bestimmten Größe umbenannt und gelöscht um ein übermassiges Anwachsen der Datei zu verhindern.

Fehler-Logs

Bei bestimmten Fehlern wird zusätzlich eine AGVIP_Error.log Datei geschrieben. In dieser Datei steht zum Beispiel die Ursache und Fehlermeldung bei einem Ver-lust der Verbindung zum SQL-Server. Auch diese Informationen können hilfreich sein.

Weitergabe der Crash Informationen an den Support

Sollten solche Crash-Informationen an den Support von Grutzeck-Software (support@grutzeck.de) weiter gegeben werden, dann ist es unbedingt erforderlich eine möglichst genau Beschreibung anzugeben, wie es zu dem Fehler kam. D.h. folgende Fragen sollten beantwortet werden müssen.

  • Welche Funktion sollte ausgelöst werden als der Fehler auftrat?
  • Welche Aktion wurde unmittelbar vor dem Fehler ausgeführt?
  • In welcher Adressentabelle, bzw. in welcher Projektstufe des Workflows erfolgte der Fehler?
  • Welches Skript/Hilfsmittel/Ansicht war in dem Moment involviert?
  • Ist der Fehler reproduzierbar?
  • Ist gleichzeitig ein anderes offenes Programm abgestürzt?

Anmerkung:

Der Name der Dump-Datei bzw. der LOG-Datei entspricht dem Namen des ausge-führten Programmes. D.h. sollte der Formular-Editor, oder der Datenbank-Wizard abstürzen, dann lauten die Namen entsprechend AGVIPFormEditor.exe usw. Oder es wird der Name des Dientstes verwendet z.B. AGVIPBackendService.exe

Fehlfunktionen erzeugen natürlich keinen Crash-Dump. Auch ein Auftretender Verbindungsfehler zur Datenbank löst im Allgemeinen keinen Crash-Dump aus. In diesen Fällen wird nur eine entsprechende Fehlermeldung angezeigt.
Die Ursache für solch einen Fehler ist meistens in einer instabilen oder zusammen-gebrochenen Netzwerkverbindung zu suchen. Die Fehlermeldungen enthalten ent-sprechend auch meistens Hinweise auf ein Timeout, oder ein Connection failed. In diesem Fall wird die entsprechende Information in der Datei AVIP_Error.log ge-speichert, oder Sie finden diese Information in den normalen Logs der Dienste.

Siehe auch:

Erzeugen eines vollen Crash Dumps

2020-04-21 12:57
Martin Richter

Entwicklung von VIP SQL, Bekannte Fehler, neue Funktionen, neue Releases

AG-VIP SQL wird permanent weiterentwickelt.

Neue Funktionen werden immer zuerst hier auf unserer Knowledge Base veröffentlicht.

Alle registrierten Anwender mit Wartungsvertrag erhalten automatisch eine Nachricht über neu verfügbare Update mit dem entsprechenden Link zur Dokumentation, was neu geworden ist sowie den Link zum Download des Updates selbst inkl. Kennwort zum Entpacken.

Wir benachrichtigen nicht alle Nutzer auf einemal, sondern wir führen die senden Informationen zyklisch in kleinen Einheiten an unsere Kunden um einen guten Support gewährleisten zu können.
Wollen Sie sofort die Informationen zum aktuellen Update senden Sie eine Email mit Ihrer Seriennummer an vertrieb@grutzeck.de. 
Auch wenn Sie eine aktuelle Lizenz-CD zugesandt haben möchten, genügt eine Email an vertrieb@grutzeck.de unter Angabe Ihrer Serien-Nr.

Zu Allgemeinen Fragen der Installation steht Ihnen unserer Support-Team unter der Emailadresse support@grutzeck.de zur Verfügung.

2020-10-13 12:21
support@grutzeck.de

Kurzanleitung für Anwender

Auf 44 Seiten haben wir die wichigsten Funktionen von AG-VIP SQL für Sie zusammengefaßt.
Diese Seminarunterlagen eigenen Sie als Einstieg oder Handout für Seminare.

Wer diese Seminarunterlagen auf eigene Anforderungen anpassen will, kann auf Anfrage die Unterlagen als Word-Dokument erhalten. Damit können Sie Ihre Funktionen und Screenshots integrieren und so einen unternehmensspezifischen Handlungsleitfaden erstellen.

Schnelleinstieg für Anwender (ca. 50 S.)
PDF-Datei, 3 MB

Seminarunterlage AG-VIP SQL + Workflow für Outbound
PDF-Datei, 8 MB

Eine Liste aller zur Verfügung stehenden Dokumentationen finden sie hier.

2018-05-16 12:27
Martin Richter

Anmerkungen zu Adressen kopieren und versetzen

Beschreibung:

Das Versetzen und Kopieren von Adressen erfolgt immer in einer Transaktion, im Gegensatz von Datenimport, bei dem dies optional ist.

Dies geschieht aus Sicherheitsgründen, um unvollständige und inkonsistente Datenbestände zu vermeiden.
Daraus ergibt sich, dass solche Operationen nicht unter Volllast während des Callcenter Betriebes durchgeführt werden sollen. Währen der entsprechenden Transaktion ist sowohl Quell- als auch Zieldatenbank zum Teil zu 100% gesperrt.

Anmerkungen und Seiteneffekte:
  • Das Versetzen von Adressen löscht zwangsläufig alle Tickets! In der Zieldatenbank werden keine Projektdaten erzeugt.
    Tickets können nicht kopiert werden!!!
  • Wie auch das Löschen von Datensätzen beeinflusst das Versetzen von Adressen die Projektstatistik.
  • Die Historiendatensätze werden zwar kopiert, aber zu normalen Notizeinträgen umgewandelt. Diese haben keine Relevanz mehr für eine Projektstatistik.

2011-08-18 15:16
Martin Richter

Erzeugen eines vollen Crash Dumps

Problem:

Unter bestimmten Umständen genügt eine Dumpdatei im Minidump-Format, wie er standardmäßig von AG-VIP SQL erzeugt wird, nicht um Fehler zu lokalisieren.

ACHTUNG: Entsprechende volle Speicher Dumps können bis an die 300 MB groß werden!

Dynamisch können Speicherdumps für AG-VIP SQL auch ohne einen Crash direkt auf Anforderung des Benutzers erzeugt werden. Es wird ein Speicherabbild geschrieben wenn die Tasten Umschalt+Strg+Alt+Druck zusammen gedrückt werden.

Vorgehensweise 1:

Ab der Version 1.07.010 ist es auch möglich einen vollen Speicherdump für AG-VIP SQL zu erzeugen.
Dies wird auf einem PC in der Registry eingestellt.

32bit Betriebssystem:

  1. Starten von REGEDIT.EXE
  2. Auswahl des Pfades
    HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORT-Wert auf FullDump umbenennen
  5. Den neuen Wert auf 1 setzen.

64bit Betriebssystem:

  1. Starten von REGEDIT.EXE
  2. Auswahl des Pfades 
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Grutzeck Software\AG-VIP SQL
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORT-Wert auf FullDump umbenennen
  5. Den neuen Wert auf 1 setzen.

Wird der Wert auf 0 zurück gesetzt oder der Eintrag aus der Registry gelöscht, so erfolgt ein Dump wieder im kompakten Minidump-Format.

Vorgehensweise 2: 

Ab der AG-VIP SQL Version 2.00.003 ist es möglich einen Fulldump auch über die AGVIP.INI zu defijnieren. In diesem Fall wird im Abschnitt [Options] der folgende Eintrag hinzugefügt

[Options]
FullDump=1

Vorgehensweise 3: 

Weiterhin ist es auch möglich die AGVIP.EXE mit dem Befehlszeilenschalter /fulldump zu starten. Gehen sie wie folgt vor:

  1. Wählen Sie mit der rechten Maustaste dsas Symbol aus mit dem Sie AG-VIP SQL starten. 
  2. Klicken Sie auf Eigenschaften.
  3. Im Feld Ziel geben Sie zusätzlich mit einer Leertaste getrennt die Option /fulldump ein.

Vorgehensweise 4:

Seid Windows Vista, kann man über den Taskmanager ebenfalls einen vollen Crash Dump erzeugen.

  1. Starten Sie den Taskmanager über die Tastenkombination STRG + ALT + ENTF und klicken Sie dann auf "Taskmanager starten"
  2. Wechseln Sie in den Reiter "Prozesse" sofern dieser noch nicht aktiv sein sollte
  3. Klicken Sie mit der rechten Maustaste auf den Prozess "AGVIP.exe"
  4. Klicken Sie anschließend auf den Menüpunkt "Abbilddatei erstellen"

Siehe auch:

 

Änderungslog:

25.08.2021

  • Entfernen der Unterscheidung von 32bit und 64bit Task Manager (seit Windows 10 obsolet)
  • Neuer Link für Dump Erzeugung mir Procdump

08.07.2013

  • Erweiterung des Artikelpunktes "Vorgehensweise 1" um den Registrypfad bei 64bit Betriebssystemen

04.07.2013

  • Textkorrekturen vorgenommen
  • Erweiterung des Artikels um den neuen Vorgehensweise.
  • Erweiterung des Artikels um den Abschnitt "Änderungslog".

 05.06.2019

  • Neue Vorgehensweise mit Eintrag in der AGVIP.INI ab AG-VIP 2.00.003

2021-08-25 09:06
Martin Richter

Installationsvorraussetzungen für AG-VIP SQL

Beschreibung:

Für die Installation von AG-VIP SQL sind bestimmte Vorraussetzungen notwendig.

Server:

  • Mind. lokale Administratorrechte
  • MS-SQL Server 2014 oder höher mit installierten aktuellen Servicepacks.
    Weiterführende Infos zu den MS-SQL-Versionen und technischen Voraussetzungen finden Sie unter http://www.microsoft.com/germany/sql/
  • Microsoft SQL-OLEDB Provider / SQL Native Client ab Version 2012 oder später
  • Bei Serverinstallation von AG-VIP ca. 800 MB für Programmverzeichnis von AG-VIP sowie Freigabe des Ordners mit mind. Lese-Rechten für die Clients, um die AGVIP.EXE aus dem Programmverzeichnis aufrufen zu können.
  •  Die optionale Installation von AG-VIP Backend Service bzw. AG-VIP Job Scheduler erfordert mindestens Windows 8.1, Windows 2012 R2 Server oder später.

Client:

AG-VIP SQL ist eine 32 Bit Anwendung, die unter 64 Bit Betriebssystemen lauffähig ist. Dabei wird AG-VIP SQL mithilfe von Windows-32-on-Windows-64 (WOW64) ausgeführt.
Für die Verwendung des Outlook AddIns empfiehlt es sich Office 2013 oder Office 2016 wie von Microsoft empfohlen als 32 Bit Version zu installieren. Die 64bit Version wird durch das Addin auch unterstützt.

  • Mind. lokale Administratorrechte zur Installation
  • ab Windows 8.1 oder später mit entsprechender empfohlenen mindest-Hardwareanforderungen. (Im Allgemeinen verbraucht AG-VIP SQL weniger Systemressourcen als Microsoft Office)
    AG-VIP SQL ist lauffähig unter MS-Terminal-Server oder in Citrix Umgebungen. Beachten Sie bitte, dass nicht alle TAPI-Treiber in Remote- oder Terminal Server-, bzw. Citrix-Umgebungen funktionsfähig sind.
  • Netzwerkanbindung an den entsprechenden an den MS-SQL-Server via TCP/IP oder Named Pipes
  • Netzwerkanbindung an optionale Dienste über Named Pipes
  • Outlook-Plugin: Setzt MS-Outlook 32/64 Bit ab Version 2010 oder später voraus.
  • Musterhilfsmittel vorhanden für die Dokumenterstellung für MS-Office 2010 oder höher
  • Net Framework ab Version 4.5 oder später
  • Microsoft SQL-OLEDB Provider / SQL Native Client ab Version 2012 oder später
  • Aktuellstes Windows Update für eingesetztes Windows Betriebssystem

Für CTI-Funktion:

  • SIP/VoIP Zugänge für die Clients. Entsprechende Zugangsdaten und Portfreigaben müssen für alle Clients vorhanden sein.
  • TAPI fähige Wähleinrichtung mit Interactive Voice für Telefoniefunktion
    Folgende TAPI-Funktionen werden von AG-VIP unterstützt:
    Outbound:
    - Erkennung des Verbindungsaufbau
    - Besetzt: busy
    - Falsche Ruf-Nummer: bad address, wrong number
    - Übermittlung abgehende Ruf-Nr. wird über dwOrigAddressOffset sowie dwCallingPartyIDOffset realisiert
    Inbound:
    - Identifizierung Anrufer über eingehende Rufnummer: CallerID
    - Identifizierung zugehöriger Kampagne / Auftraggeber über angewählte (CalledID) oder weiterleitende Ruf-Nummer (Redirected ID)
    Tipp: unter https://kb.grutzeck.de/content/21/441/de/tapi_test-tool-fuer-ag_vip-sql.html finden Sie ein kostenloses Testtool, um unabhängig von einer AG-VIP Installation die Funktionalität des TAPI Treibers zu testen und protokollieren.

AG-VIP SQL ist lauffähig unter Terminal-Server oder in Citrix Umgebungen.
Beachten Sie bitte, dass nicht alle TAPI-Treiber in Remote- oder Terminal Server-, bzw. Citrix-Umgebungen funktionsfähig sind.

 Lizenzen mit Dongle Softwareschutz:

  • Lizenzen mit Dongle Softwareschutz:
    Dongleserver: USB (Typ 1.1/2.0, 5V, 5...60mA), ab Windows 8.1 (32 oder 64 Bit), oder ab Windows Server 2012 R2.
    Für die direkte Installation der WiBu Codemeter Software kann auch Apple Mac OS X ab 10.3, Linux mit Kernel 2.4.x oder 2.6.x mit i386 (ia32 bzw. x86_64) Architektur zu Einsatz kommen.

 Lizenzen mit Internet Softwareschutz:

  • Eine bestehende Internetverbindung während der Nutzung von AG-VIP SQL

Hinweis:

Weder Windows Server 2012, Windows 8, Windows Vista, Windows 2008 Server, Windows 2000, NT4 oder Windows 9x werden von AG-VIP SQL unterstützt.

2024-02-20 12:02
Martin Richter

Kanonische Telefonnummern

Beschreibung:

Grundsätzlich muss man unterscheiden zwischen der Telefonnummer, die ein Anwender in AG-VIP anlegt und der Nummer, die physikalisch auf einer Leitung gewählt wird.
Im Allgemeinen findet immer eine Aufbereitung der Telefonnummer statt. Dies wird unter Andrem notwendig, da eine Telefonnummer selbst noch keine Amtsholung, oder auch keine nationalen- oder regionalen Sonderheiten berücksichtigt.

AG-VIP benutzt intern für die Anwahl das kanonische Telefonnummernformat.
D.h. alle Telefonnummern werden, sofern sie nicht bereits im kanonischen Format vorliegen in ein kanonisches Telefonnummern Format gebracht. Aus dieser kanonischen Telefonnummer wird dann die physikalisch zu wählende Nummer erzeugt.

Es ist dringend anzuraten Telefonnummern kanonisch zu hinterlegen, denn nur diese Schreibweise garantiert, dass eine Adresse unabhängig vom Standort korrekt angewählt wird. Der kanonischen Schreibweise ist es vor allem auch möglich Standorte in unterschiedlichen Ländern zu unterstützen. Ohne diese einheitliche Schreibweise kann keine standortunabhängige Vorwahl garantiert und unterstützt werden.

Der Aufbau einer kanonischen Telefonnummer ist wie folgt:
+ Ländervorwahl Leerzeichen [(Ortsvorwahl) Leerzeichen] Rufnummer
z.B: +49 (6181) 9701-0

Kanonische Telefonnummern beginnen immer mit einem Pluszeichen. AG-VIP SQL verändert kanonische Telefonnummern nicht weiter, sonder übergibt diese direkt an die TAPI, die daraus die physikalisch zu wählende Telefonnummer aufbaut.

Auf das Pluszeichen folgt der Ländercode. (z.B. 49 für Deutschland) gefolgt von einem Leerzeichen. Der Ländercode wird immer angegeben, auch wenn die Telefonnummer selbst dasselbe Zielland hat.

Auf den Ländercode getrennt mit einem Leerzeichen folgt die regionale Vorwahl, die in Klammern gesetzt wird. Eine regionale Vorwahl ist optional bei kanonischen Telefonnummern. Die regionale Vorwahl hat im Allgemeinen keine führende 0. Sollte dennoch eine führende 0 angegeben werden, so wird diese ignoriert.

Auf die Vorwahl folgt, wieder durch ein Leerzeichen getrennt die Durchwahl. Der Aufbau der Durchwahl (weitere Trennzeichen wie Komma, Bindestrich, Schrägstrich) spielt keine Rolle.

Für die Umwandlung der kanonischen Telefonnummern werden die Standardort Einstellungen in der Systemsteuerung (unter START -> SYSTEMSTEUERUNG -> DRUCKER UND ANDERE HARDWARE -> TELEFON-UND MODEMOPTIONEN die WÄHLREGELN) herangezogen.
Hier wird der Standardort definiert von dem aus der Anruf erfolgt. Hinterlegt sind hier das eigene Land, die eigene Vorwahl und eine evtl. notwendige Ziffernfolge zur Amtsholung.

Für die in diesem Artikel aufgeführten Beispiele gilt, das aktuelle Land: Deutschland (Ländercode 49), Vorwahl für Hanau (06181), Amtsholung für eine TK_Anlage (0).
Innerhalb von AG-VIP SQL ist es zusätzlich möglich eine Projektvorwahl zu definieren, die der kompletten Nummer voran gestellt wird.

Die zu wählende Nummer enthält zuerst die Projektvorwahl, anschließend wird die Amtsholung angehängt. Der weitere Aufbau der Nummer hängt entscheidend von Übereinstimmung bzw. Unterschied von Länder- bzw. Vorwahlnummer ab.
Ist der Ländercode der zu wählenden Nummer identisch zum Ländercode des Standortes wird keine weitere Ziffernfolge zur Wahl hinzugefügt. Ist der Ländercode unterschiedlich wird die notwendige Ziffernfolge angehängt die einen internationalen Ruf in das entsprechende Zielland auslöst.
Ist der Ländercode identisch wird als nächstes die zu wählende Vorwahl mit der Vorwahl des Standortes verglichen. Ist diese identisch wird nur noch die Durchwahl zur zu wählenden Nummer hinzugefügt. Unterscheidet sich Vorwahl oder Ländercode wird die entsprechende Vorwahlnummer und Durchwahl angehängt.

Beispiel Standort:
Projektvorwahl = 4711
Amtsholung = 0
Land: Deutschland = 49
Vorwahl = 6181

Zu wählen eine internationale Nummer in den USA: +1 (123) 4567890
Es wird gewählt: 4711 0 001 123 4567890
(die Leerzeichen dienen nur der besseren Darstellung, diese werden normalerweise nicht eingefügt).

Zu wählen ein nationaler Ruf nach München: +49 (89) 4567890
Es wird gewählt: 4711 0 089 4567890

Zu wählen ein nationaler Ruf ins gleiche Ortsnetz: +49 (6181) 4567890
Es wird gewählt: 4711 0 4567890

2011-08-17 15:39
Martin Richter

Online-Hilfe zeigt "Aktion abgebrochen" anstatt den Hilfetext

Problem:

Durch die Installation der Sicherheitsupdates MS05-026 bzw. MS04-023 ist es nicht mehr möglich den Inhalt von Hilfedateien einzusehen wenn diese auf einem Netzwerklaufwerk liegen. Die Online-Hilfe zeigt dann an, dass die entsprechende Seite nicht geladen werden kann. Es wird im Hilfe Fenster eine Fehlermeldung "Aktion abgebrochen" angezeigt. Die Anzeige von Index und das Inhaltsverzeichnis sind davon nicht betroffen.

Insbesondere AG-VIP SQL und AG-V.I.P. Netzwerkinstallation sind davon betroffen weil beide die Hilfe Datei zentral auf dem Server installieren.

Betrifft:

Windows Vista, Windows XP, Windows 2000

Lösung:

Es ist möglich weiterhin den Zugriff auf diese chm Hilfedateien zu erlauben. Dazu wird der Zugriff auf Hilfedateien gewährt, die innerhalb des eigenen Intranets liegen. Die Sicherheitseinstellungen werden dadurch leicht gelockert.

Vorgehensweise 1:
  1. Wechseln ins AG-VIP SQL Installationsverzeichnis
    Standard: C:\Programme (x86)\AG-VIP SQL
  2. Erstellen Sie eine Verknüpfung von der "SetupAGVIPClient.exe"
  3.  In den Eigenschaften der Verknüpfung (Rechtsklick -> Eigenschaften)
    ergänzen Sie im Bereich "Ziel" am Ende des Dateipfads mit einem Leerzeichen getrennt den Parameter: -f
    Beispiel:  "C:\Programme (x86)\AG-VIP SQL\SetupAGVIPClient.exe" -f
  4. Speichern Sie die Änderung und starten Sie die Verknüpfung (Das Setup installiert/registriert nun alle notwendigen Komponenten).
Vorgehensweise 2:
  1. Starten Sie REGEDIT.EXE
  2. Wählen Sie den Pfad
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions
    bzw. bei 64bit Betriebssystemen wählen Sie den Pfad
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\HTMLHelp\1.x\ItssRestrictions
  3. Tragen Sie im MaxAllowedZone den Wert 1 ein.
  4.  Tragen Sie im UrlAllowList den Dateipfad zur AGVIPDEU.chm ein.

Hinweis:
Falls der Pfad nicht existieren sollte,
muss dieser über einen Rechtsklick auf den weitesten Ast des Pfades über den Begriff "Schlüssel" hinzugefügt werden.
Beispiel:
Der Pfad geht nur bis: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\
und muss daher mit einem Rechtsklick auf 1.x um den "Schlüssel" ItssRestrictions erweitert werden.
Dadurch fehlt auch das Feld MaxAllowedZone welches dann durch ebenfalls einem Rechtsklick jedoch auf ItssRestrictions als DWORD hinzugefügtwird.
Nachdem Sie dies getan haben, sollte der Rechner neugestartet werden, damit die Einstellungen auch übernommen werden.

Vorgehensweise 3:

  1. Starten Sie den Editor (Notepad)
  2. Kopieren Sie den unten stehenden Text aus diesem Artikel in den Editor.
  3. Speichern Sie die Datei unter dem Namen "CHM-Intranet-Fix.reg". Achten Sie beim Speichern darauf das Sie den neuen Namen in Anführungszeichen setzen, sonst wird die Datei mit der Endung .txt gespeichert und nicht mit der Endung .reg.
  4. Doppelklicken Sie auf jedem betroffenen Rechner diese Datei.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
"UrlAllowList"="\\\\Rechnername\\Pfad\\AG-VIP SQL\\AGVIPDEU.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
"UrlAllowList"="\\\\Rechnername\\Pfad\\AG-VIP SQL\\AGVIPDEU.chm"
Weiterführende Infos finden Sie unter den folgenden Links:

http://support.microsoft.com/kb/896358/de

http://support.microsoft.com/kb/896054/de

2013-04-18 12:11
Martin Richter

Wie werden Locks von abgestürzten AG-VIP-SQL Sessions behandelt?

Beschreibung:

Wenn AG-VIP SQL durch einen Rechner Absturz unvorhergesehen beendet wird, kann es vorkommen, dass beim erneuten Anmleden die folgende Fehlermeldung erscheint:

Das Benutzerkonto "xyz" ist gesperrt!
Dieses Objekt ist durch den Benutzer "xyz" an der Arbeitsstation "abc" gesperrt seit "12.07.2007 14:35"!

Hintergrund:

Datenbanksperren werden in zwei Tabellen der SQL Datenbank gehalten. Es ist klar, dass Einträge in diesen Tabellen erhalten bleiben, wenn AG-VIP SQL oder eine Komponente abstürzt, oder eine Komponente durch einen Rechnerabsturz oder Netzwerkdefekt nicht beendet werden konnte.

Jede aktive Session setzt alle 5 Minuten ein bestimmtes Feld im aktuellen Sessioneintrag. Gleichzeitig wird von jeder aktiven Session alle 5 Minuten geprüft ob es Sessions gibt die länger als 10 Minuten keine Aktualisierung durchgeführt haben.
Sessions die keine Aktualisierung für mehr als 10 Minuten durchgeführt haben gelten als tot und werden automatisch mit allen gehaltenen Locks entfernt.
Dieser Test startet beim Aufruf einer neuen AG-VIP SQL Instanz und erfolgt dann alle 5 Minuten.

Gleichzeitig gibt es eine automatische Aktualisierung für den aktuellen PC.
Beim Start einer Instanz von AG-VIP SQL wird die aktuelle Session in der Registry des Rechners vermerkt. Stürzt der Rechner ab, oder AG-VIP SQL und wird AG-VIP SQL sofort neu gestartet, dann wird in der Registry der entsprechende Wert der letzten Session gefunden und diese Session automatisch entfernt.
Ansonsten bliebe diese Session für 10 Minuten gesperrt.

Das hat aber folgenden Seiteneffekt: Stürzt eine AG-VIP SQL Session ab für Benutzer X. Aber der Benutzer wechselt nun den PC und will sich an einem neuen Rechner anmelden, so ist seine Session weiterhin gesperrt (für 10 Minuten). An dem Rechner an dem er gearbeitet hatte und die letzte Session nicht ordnungsgemäß abgeschlossen wurde, hätte er sich sofort neu anmelden können.

Auch für AGVIPDBUpdate gilt die gleiche Regel.
Manche Administratoren können oder wollen nicht warten bis alle Nutzer AG-VIP SQL beendet haben und Terminieren diese laufenden Sitzungen. Die Folge es bleiben offene Sessions. AGVIPDBUpdate kann nun nicht gestartet werden, weil diese Session AGVIPDBUpdate anzeigen, dass es noch aktive Nutzer gibt.

Das Problem löst sich auch in diesem Fall nach ca. 10-15 Minuten.

2011-08-18 16:14
Martin Richter

Zurücksetzen der Fensterpositionen in AG-VIP SQL

Problem:

Es kommt immer wieder vor, dass die Fensterpositionen in AG-VIP SQL so verstellt sind, dass ein vernünftiges Arbeiten nicht mehr möglich ist. Man kann die Fensterpositionen löschen, indem man den gesamten Ast HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL löscht. Dies ist aber insofern negativ, als auch andere Einstellungen, wie die letzte Suche und Filter in der Historie dadurch gelöscht werden.

Lösung 1 (ab der Version 2.05.002) direkt mit AG-VIP SQL:

Direkt in den Fenstereinstellungen gibt es einen neuen Schalter UI zurücksetzen.
Gehen Sie wie folgt vor.

  • Klicken Sie mit der rechten Maustaste in das Ribbon oder eine Schalterleiste.
  • Wählen Sie aus dem Menü Symbolleiste anpassen 
  • In dem neuen Einstellungen-Dialog wählen sie nun den Karteireiter Benutzeroberfläche
  • Klicken Sie hier den Schalter UI Zurücksetzen. 

Dieser Schalter löscht alle Einstellungen in der Registry. Die aktuellen Einstellungen werden jedoch nicht zurückgesetzt. 

Lösung 2 direkt mit einer Batch-Datei:
  • Starten Sie die Sie die Datei ResetUI.bat.
  • Bestätigen Sie durch die Eingabetaste die Ausführung des ResetUI Befehls
  • Es erscheint eine Meldung, dass die Fensterpositionen gelöscht wurden. Drücken Sie die Eingabetaste.

Alle Fenster Positionen wurden gelöscht.

Arbeitsweise: Durch den Batch wird der Befehl REG ausgeführt und die relevanten Einträge in der Registry entfernt.
Vorteil: Es sind keine Adminsitratorrechte nötig. Nur die Ausführung des REG-Befehls muss möglich sein.

Lösung 3 indirekt mit einer Batch Datei und dem Start von AG-VIP SQL:

In der Anlage zu diesem Artikel befindet sich eine ZIP-Datei. Laden Sie diese herunter und entpacken diese. In dieser Datei befinden sich 3 Dateien.

  • Starten Sie die Sie die Datei AGVIP-ResetUI.bat.
  • Bestätigen Sie durch die Eingabetaste die Ausführung des ResetUI Befehls
  • Melden Sie sich in AG-VIP SQL an.
  • Beenden Sie das Programm
  • Es erscheint eine Meldung, dass die Fensterpositionen gelöscht wurden. Drücken Sie die Eingabetaste.

Alle Fenster Positionen wurden gelöscht.

Arbeitsweise: Durch den Batch wird die AGVIP.EXE mit der Option -ResetUI gestartet. Diese Option löscht alle aktuellen Fensterpositionen.
Vorteil: Es sind keine Administratorrechte nötig. Nur die normale Ausführung von AGVIP.EXE muss möglich sein.

Lösung 4 direkt mit einer Reg-Datei:

In der Anlage zu diesem Artikel befindet sich eine ZIP-Datei. Laden Sie diese herunter und entpacken diese. In dieser Datei befinden sich 3 Dateien.

  • Doppelklicken Sie die Datei ResetUI.reg
  • Bestätigen Sie den Zugriff als Administrator.
  • Bestätigen Sie den Import der Datei und setzen den Vorgang fort in dem Sie auf Ja klicken.
  • Es erscheint die Meldung, dass die Reg-Datei erfolgreich importiert wurde.

Arbeitsweise: Durch die Anweisungen in der Reg-Datei werden die entsprechenden Knoten in der Registry gelöscht.
Nachteil: Administrator Rechte sind notwendig.

Lösung 5 direkt durch manuelles Löschen der Registry Einträge:

Wer nur die Fensterposition direkt aus der Registry entfernen will, der muss die folgenden Äste löschen.

  • Starten Sie den REGEDIT.EXE
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\Settings
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsAddrSet
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsEmpty
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsProject
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsProjectCRM 
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsRibbon
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsStateDesigner
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsWorkflow
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsWorkflowScript 
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL FormEditor\Settings
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL ScriptEditor\Settings

Nachteil: Adminisrative Rechte nötig zum Start von REGEDIT.EXE

2023-11-07 16:33
Martin Richter

Zählung von Lizenzen und Arbeitsplätzen in einer Installation

Grundsätzlich werden in AG-VIP SQL nur aktive Arbeitsplätze gezählt. Das bedeutet, dass jeder Platz auf dem AG-VIP SQL gestartet wird als genutzte Lizenz zählt. Es spielt hierbei keine Rolle wie oft AG-VIP SQL installiert wird.

Wenn in einem System mehrere Lizenzdateien mit unterschiedlichen Seriennummern genutzt werden, dann zählt jede Lizenz für sich. Das heißt wenn AG-VIP SQL gestartet wird, dann wird kontrolliert wie viele Programme bereits mit der Seriennummer laufen, die auch von dem zu startenden Programm verwendet wird.
Ist die Anzahl noch nicht erreicht wird der Start erlaubt. Ist die Anzahl bereits erreicht wird eine Meldung ausgegeben, dass die Anzahl der Arbeitsplätze bereits erreicht ist.

Der Overdial-Server selbst oder andere Dienste von AG-VIP SQL zählen nie als Arbeitsplatz.

Beispiel:

  • Eine normale Netzwerkinstallation wurde mit einer 10er Netzwerklizenz und der Seriennummer N222/91234 durchgeführt. Dann können mit dieser Lizenz 10 Benutzer arbeiten.
  • Ist auf einem externen Arbeitsplatz z.B. eine Extra-Einzelplatz Lizenz erworben worden mit einer anderen Seriennummer (z.B. E223/91234), dann kann ein weitere User mit dieser Lizenz auf der Datenbank arbeiten. Sollte die gleiche Einzelplatz-Lizenz allerdings noch einmal gestartet werden, dann würde eine Meldung erscheinen, die besagt, dass die Anzahl der Arbeitsplätze ausgeschöpft ist, selbst wenn von der 10er Netz Lizenz nicht alle aktiv sind.

Auf diese Weise ist es möglich Lizenzen Additiv zu verwenden und auch für Kooperationspartner zu erwerben, die komplett unabhängig von einander verwaltet werden.

2011-08-18 16:40
Martin Richter

Übersicht über alle veröffentlichten AG-VIP SQL Versionen

Übersicht über alle bisher veröffentlichten AG-VIP SQL Versionen und dessen Servicepacks:

2021

23.08.2021 2.03.003.939
09.07.2021 2.03.002.935
25.06.2021 2.03.002.932
11.05.2021 2.03.001.927
10.05.2021 2.03.001.926
07.05.2021 2.03.001.925
06.05.2021 2.03.001.924
03.05.2021 2.03.001.923
22.04.2021 2.03.001.921
22.01.2021 2.02.002.904

2020

 18.12.2020 2.02.002.898
13.10.2020 2.02.001.889
02.07.2020 2.01.006.879
04.05.2020 2.01.005.874
03.03.2020 2.01.004.868
14.02.2020 2.01.002.866
13.02.2020 2.01.002.865
04.02.2020 2.01.002.863

2019

16.12.2019 2.01.001.858
22.10.2019 2.00.006.853
18.09.2019 2.00.005.846
31.07.2019 2.00.004.838
11.07.2019 2.00.003.832
19.06.2019 2.00.002.827
08.02.2019 2.00.001.810

2018

05.10.2018 1.51.003.792
24.07.2018 1.51.002.783

2017

13.10.2017 1.50.006.764
22.08.2017 1.50.005.757
29.06.2017 1.50.004.747
29.05.2017 1.50.003.744
18.05.2017 1.50.003.742
10.05.2017 1.50.003.738
13.03.2017 1.50.002.731
02.03.2017 1.50.001.730
27.01.2017 1.45.002.724

2016

08.12.2016 1.45.001.717
27.09.2016 1.44.003.710
08.07.2016 1.44.002.702
17.05.2016 1.44.001.693
18.03.2016 1.44.000.686
20.01.2016 1.43.006.676

2015

08.12.2015 1.43.005.673
17.11.2015 1.43.004.669
23.09.2015 1.43.003.659
28.07.2015 1.43.002.651
12.05.2015 1.43.001.639
24.03.2015 1.42.004.626

2014

16.12.2014 1.42.003.607
26.11.2014 1.42.002.600
06.10.2014 1.42.001.598
30.07.2014 1.40.013.591
01.07.2014 1.40.012.585
17.06.2014 1.40.011.583
28.05.2014 1.40.010.581

 

 

2014 

28.03.2014 1.40.009.574
20.03.2014 1.40.008.571
28.01.2014 1.40.007.564 

2013 

11.10.2013 1.40.006.558
21.08.2013 1.40.005.547
05.07.2013 1.40.004.540
13.06.2013 1.40.003.537
07.06.2013 1.40.003.536
23.05.2013 1.40.002.532
18.03.2013 1.40.001.525
28.02.2013 1.40.000.522 
07.03.2013 1.30.005.492 Hotfix 9
30.01.2013 1.30.005.491 Hotfix 8 

2012  

14.11.2012 1.30.005.490 Hotfix 7
29.10.2012 1.30.005.489 Hotfix 6
24.10.2012 1.30.005.488 Hotfix 5
30.07.2012 1.30.005.487 Hotfix 4
26.06.2012 1.30.005.486 Hotfix 3
10.01.2012 1.30.005.485 Hotfix 2

2011

02.12.2011 1.30.005.484 Hotfix 1
25.11.2011 1.30.005.483
21.10.2011 1.30.004.482 Hotfix 1
05.10.2011 1.30.004.481
28.09.2011 1.30.003.480 Hotfix 1 
15.09.2011 1.30.003.479 
12.09.2011 1.30.002.478 
17.08.2011 1.30.001.475 

2010

15.12.2010 1.21.003.456
22.11.2010 1.21.002.454
27.10.2010 1.21.000.448 Hotfix 1
10.06.2010 1.20.011.434
22.01.2010 1.20.009.419  

2009

05.08.2009 1.20.005.401
16.03.2009 1.20.002.388

2008

31.10.2008 1.10.012.376
18.06.2008 1.10.006.362
02.04.2008 1.10.005.354
18.03.2008 1.10.004.351

2007

11.12.2007 1.10.003.348
21.11.2007 1.10.002.343
12.09.2007 1.10.001.340
30.08.2007 1.10.000.337
23.07.2007 1.09.014.332
16.04.2007 1.09.013.322
27.03.2007 1.09.012.321
25.01.2007 1.09.011.318
10.01.2007 1.09.010.317

2006

11.12.2006 1.09.009.314
16.11.2006 1.09.008.308
07.11.2006 1.09.007.305
01.11.2006 1.09.006.304
17.10.2006 1.09.005.303
07.09.2006 1.09.004.302
12.07.2006 1.09.002.299
15.05.2006 1.08.009.294
10.05.2006 1.08.008.293
04.05.2006 1.08.007.292
20.03.2006 1.08.006.287
01.03.2006 1.08.005.284
23.02.2006 1.08.004.283
15.02.2006 1.08.003.279
13.02.2006 1.08.002.278
02.07.2006 1.08.001.277

2005

12.12.2005 1.07.013.267
03.11.2005 1.07.012.259
28.10.2005 1.07.011.257
06.10.2005 1.07.010.256
19.07.2005 1.07.009.245
15.07.2005 1.07.008.244
11.07.2005 1.07.007.242
28.06.2005 1.07.006.239
22.06.2005 1.07.005.235
09.05.2005 1.07.004.231
22.04.2005 1.07.003.229
13.04.2005 1.07.002.228
25.02.2005 1.07.001.223
02.02.2005 1.06.011.218
21.01.2005 1.06.010.216
05.01.2005 1.06.009.210

2004

28.12.2004 1.06.008.208
16.09.2004 1.06.007.192
13.09.2004 1.06.006.190
29.07.2004 1.06.004.177
05.07.2004 1.06.003.162
25.06.2004 1.06.002.158
14.06.2004 1.06.001.152
19.03.2004 1.05.005.137
24.02.2004 1.05.004
10.02.2004 1.05.003 

2003 

08.12.2003 1.05.002
03.12.2003 1.05.001
13.11.2003 1.04.002 

Anmerkung:

Das jeweilige angegebene Datum ist das Datum des Builds, und ist nicht identisch mit dem Datum der Veröffentlichung. Zudem kamen manche der hier aufgeführten Versionen nicht zur Veröffentlichung.

2021-08-25 10:18
Martin Richter

Warum ist ein Benutzer aktiv ? (Anmelden bei AG-VIP SQL nicht möglich)

Beschreibung:
Ein Benutzer versucht sich bei AG-VIP SQL anzumelden. Er bekommt aber die Meldung, dass dieser Benutzer aktiv ist und somit das Anmelden abgebrochen wird.

Ursache:
Der Benutzer hat vor maximal 10 Minuten in AG-VIP SQL gearbeitet und hat das Programm nicht korrekt beendet (z.B. durch einen PC-Absturz etc.). Zusätzlich hat er während dessen den PC gewechselt (Arbeitsplatz) und sich an dem neuen PC versucht bei AG-VIP SQL anzumelden.

Begründung:
AG-VIP SQL arbeitet mit Sessions. Diese werden dem Benutzer und dem Arbeitsplatz zugeordnet.
Hintelegt werden diese Informationen in der Registry des Client Rechners (Session Id) und in der Datenbank des Servers (Benutzer Id, Session Id und andere Daten wie z.B. Einlogzeitpunkt, Lebenszykluszeit etc.).
Bei einem normalen Anmeldeversuch, überprüft AG-VIP SQL die Session Id in der Registry des Clients mit evtl. bereits existierenden Sessions in der Datenbank. Wenn nun bereits eine Session auf der Datenbank existiert und die Session Id in der Registry des Client Rechners sind identisch, wird einfach eine neue Session Id vergeben und der Benutzer kann sich wie gewohnt bei AG-VIP SQL anmelden. Hat der Benutzer jedoch den PC gewechselt (Session in der Datenbank besteht noch) und versucht sich über diesen anzumelden, wird beim Vergleich der Session Id keine Übereinstimmung gefunden und somit der Zugang verweigert.

Session Verwaltung:
Eine Session wird alle 5 Minuten überprüft (RefreshTime).
Die Lebenszykluszeit (AliveAt) der Session wird bei einem Fünftel des RefreshTime Wertes erneuert (jede Minute wird ein sogenanntes KeepAlive in einem im Hintergrund laufenden Prozess von AG-VIP SQL gesetzt).
Wenn nach zwei maliger RefreshTime (10 Minuten) die Lebenszykluszeit (AliveAt) nicht gesetzt wurde, wird die Session gelöscht.

Lösungs-Möglichkeiten:
1. Nach 10 Minuten wird die Session aus der Datenbank gelöscht und der Benutzer kann sich von jedem Arbeitsplatz wieder anmelden.
2. Der Benutzer meldet sich an dem Arbeitsplatz an, an dem er zuvor gearbeitet hat (Session wird gelöscht und neu angelegt).
3. Falls keine der bereits aufgezählten Lösungs-Möglichkeiten umsetzbar sein sollte kann sich der System-Administrator an unseren Support wenden (support@grutzeck.de).

2012-08-24 09:29
Peter Brandt

PLZ-Ermittlung funktioniert nicht

Problem: Einstellungen bei AG-VIP SQL Nutzung außerhalb Deutschlands.

Wer AG-VIP SQL nicht in Deutschland nutzt, muss einige Einstellungen beachten.

Die Vorbelegung des Datenbankfeldes Land ist in der Vorlage für neu angelegte Adresstabellen immer "DEU". Daher ist es erforderlich alle Felder vom Typ ?Land? entsprechend auf das gewünschte Land umzustellen.
Ansonsten wird beim Datenimport oder der Neuanlage eines Datensatzes immer Das "Land" mit DEU (= Deutschland) vorbelegt. Damit funktioniertendann aber die PLZ-Ermittlung oder die Telefon-Nr. Suche nicht.

Unter MENÜ, OPTIONEN lässt sich das "Land Postversand" sowie "Sprache Postversand" ändern. Dies hat nur Auswirkungen auf die Ausgabe des synthetischen Feldes "AdresseStraße" bzw. "AdressePostfach". d.h. bei der Ausgabe der Anschrift z.B. für Briefe.

Lösung:

Unter DATEI, ADMINISTRATION, ADRESSTABELLEN muss in allen Adresstabellen im Feld "Land" die Vorbelegung auf den entsprechenden Standort geändert werden. Ansonsten wird beim Datenimport oder der Neuanlage eines Datensatzes immer Das "Land" mit DEU (= Deutschland) vorbelegt. Damit funktioniert dann aber nicht die PLZ-Ermittlung oder die Telefon-Nr. Suche.

2021-08-25 08:52
Markus Grutzeck

Einspielen einer Sicherungsdatei (.bak Datei) auf einem anderem SQL Server:

Beschreibung:
In diesem Artikel wird beschrieben wie man eine Datensicherung wie im folgenden Artikel beschrieben in eine neue Datenbank auf einem anderem SQL Server einspielt.
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=188&artlang=de

Einleitung:
Die erstellte .bak Datei übernehmen Sie in Ihre neue Datenbank ähnlich wie das manuelle Erstellen der Sicherungsdatei im zuvor erwähnten Knowledgebase Artikel.
Zuvor jedoch sollten Sie im Installationsverzeichnis von AG-VIP SQL die "AGVIPDBWizard.exe" ausführen und auf Ihren neuen SQL Server auf dem Sie später die Sicherung der Datenbank übernehmen wollen eine neue Datenbank erstellen.
Der Hintergrund dafür ist der evtl. für den Zugriff auf die alte Datenbank benutzte SQL Benutzer "AGUser" (oder sonstige).
Dieser wird auf Ihrem neuen SQL Server noch nicht existieren und wenn Sie nun die Datensicherung einfach übernehmen ohne dass dieser Benutzer auf dem SQL Server existiert, kann es zu Konflikten / Störungen kommen.
Daher empfehlen wir zuerst eine (leere) Datenbank über den AGVIPDBWizard anzulegen und bei dem Anlegen den entsprechenden SQL Benutzer für den Zugriff auf die Datenbank anzugeben welcher auch zuvor schon benutzt wurde (Standard Benutzer bei einer Installation durch einen Grutzeck-Mitarbeiter wäre der Bentzer "AGUser").
Welchen SQL Benutzer Sie für den Zugriff bei Ihrer alten Datenbank verwenden können Sie in der Verbindungsdatei (AGVIP.agdb) überprüfen.
AGVIP.agdb - User ID=AGUser

Diese Datei ist normalerweise im Installationsverzeichnis von AG-VIP SQL jedoch hat der Benutzer auch die Möglichkeit diese Datei woanders zu speichern und aufzurufen.
Verwenden Sie zum Anlegen der Datenbank den SQL Benutzer "sa" und für den Zugriff auf die Datenbank den Benutzer "AGUser" bzw. den von Ihnen in der AGVIP.agdb verwendeten SQL Benutzer (Auch nachzulesen im Administrator Handbuch beim Punkt 4.6 Anlegen der SQL-Datenbank).

Durchführung:
Nach Abschluss des AGVIPDBWizards verbinden Sie sich mit dem SQL Management Studio auf Ihren neuen SQL Server.
Dort wird nun unter "Datenbanken" Ihre so eben (leere) AG-VIP Datenbank angezeigt.
Aktivieren Sie nun mit einem Rechtsklick auf "Datenbanken" das Auswahl Menü und wählen Sie dort "Datenbank wiederherstellen..." aus.
Datenbank wiederherstellen

In dem nun angezeigten Dialog wählen Sie als Ziel Ihre neue (leere) AG-VIP SQL Datenbank aus und als Quelle über "Hinzufügen" die von Ihnen zuvor erstellte .bak Datei.
DB Ziel und Quelle

Dabei muss zusätzlich noch nach dem hinzufügen der .bak Datei die Checkbox "Wiederherstellen" aktiviert werden.
Danach sollten Sie unter "Optionen" noch die Checkbox zum Überschreiben der existierenden Datenbank aktivieren.
DB Optionen

Sobald Sie nun auf "Ok" drücken wird Ihre angegebene Ziel Datenbank mit der Sicherung Ihrer Quell .bak Datei überschrieben.

Überprüfen Sie anschließend, ob der Benutzer "AGUser" Ihrer wiederhergestellten Datenbank als "db_owner" zugeordnet wurde.
SQLAGUser
Hinweis:
Beim Anlegen einer neuen Datenbank mit dem AGVIPDBWizard steht in der Spalte "Benutzer" die Bezeichnung "dbo", welches jedoch dem "AGUser" zugeordnet ist und somit die Anmeldung darüber gewährleistet.

Danach sollten Sie den Kompatibilitätsgrad der neuen Datenbank auf die Ihres neuen SQL Servers einstellen.
Aktivieren Sie mit einem Rechtsklick auf Ihre Datenbank "AGVIP" das Auswahl-Menü und wählen Sie "Eigenschaften aus".
In dem Datenbankeigenschaften Dialog stellen Sie unter "Optionen" den Kompatibilitätsgrad auf Ihre neue SQL Server Version.
Kompatibilität


Wenn dieser Vorgang beendet ist, haben Sie die Einspielung Ihrer Daten abgeschlossen.

2012-01-24 15:12
Peter Brandt

Makromodell - Die Methode "Script.Fields" auf Skripten unterscheidet sich von anderen ".Fields" Eigenschaften.

Beschreibung:
In den meisten Fällen wird anstelle eines Gesprächleitfadens (Skripte) mit Ansichten gearbeitet (Forms).
Diese scheinen sich Optisch und auch von den Objekten her nicht wirklich zu unterscheiden.
Jedoch gibt es gerade bei der Verwendung des Aufrufs "Fields" im Makromodell einen großen Unterschied.

Unterschied:
"Fields" liefert bei einem Skript nur den Wert aus temporären Variablen oder Datenfeldern zurück, während die Eigenschaft "Fields" bei anderen Verwendungen wie z.B. ActiveAddress.Fields, Ticket.Fields etc. ein Objekt zurückliefert.

Beispiel:
Auf dem Skript ist ein Feld angelegt welches unter dessen Eigenschaften bei Name die Bezeichnung "Test" hat.
Variablen Definition:
Script.Fields("Test") = ActiveAddress.Fields("ShortName").value
Das Feld wird mit dem Kurznamen befüllt

Objekt Eigenschaft .Value Definition:
Script.Fields("Test").Value = ActiveAddress.Fields("ShortName").value
Das Makro bricht mit folgender Fehlermeldung ab:
...
Objekt erforderlich: 'Script.Fields(...)'
Das Makro wird abgebrochen!
...

Sofern man mit Objekten bei einem Skript-Feld arbeiten möchte, muss anstelle der Eigenschaft ".Fields", die Eigenschaft ".Controls" verwendet werden:
Script.Controls("Test").value = ActiveAddress.Fields("ShortName").value

Erläuterung:
Script.Fields erlaubt den Zugriff auf temporäre Variablen und Datenfelder,
die keine Bindung an den aktuellen Datensatz haben. Dadurch können Abfragen
durchgeführt werden, die den Skriptablauf steuern, jedoch nicht datenrelevant
sind und somit auch nicht im Datensatz gespeichert werden sollen.

Im Gegensatz zu anderen Fields Eigenschaften wird hier sofort der Wert zurückgegeben bzw. gesetzt.


Hinweis:
Es gibt jedoch auch Steuerelemente, welche überhaupt nicht per Makro bearbeitet werden können.
Zum Beispiel das RTF-Controll kann lediglich per Makro bezüglich seiner Eigenschaften über Script.Controls angesprochen werden.
So könnte man zum Beispiel die Eigenschaft ".visible" (sichtbar) auf "false" (nicht sichtbar) setzen:
Script.Controls("Test").Visible = false

2012-06-18 08:44
Peter Brandt

Fehlerhafte Anwahl von Rufnummern in Italien (0039 / +39) obwohl die Rufnummer im kanonischen Format gespeichert wurde.

Wird eine Rufnummer wie +39 (6) 0608 in Italien angewählt, kommt keine Verbindung zustande.

Hintergrund ist, das nach der Ländervorwahl 0039 für die Ortsvorwahl eine 0 mitgewählt werden muss. Im obigen Beispiel als 0039-06-06808 wobei 06 die Ortsvorwahl für Rom ist. Dies ist aber für andere Länder meist nicht erforderlich.

Um einheitlich das Kanonische Telefonnummernformat nutzen zu können, können die für die Aufbereitung der Rufnummern verantwortlichen Windowseinstellungen verändert werden, damit diese 0 nicht entfernt wird.

Diese Einstellung kann über einen entsprechenden Registryeintrag vorgenomen werden. Sie finden den Eintrag unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\CountryList\39
In Windows10 ist der Registryeintrag hier zu finden:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country/region List\39

Hier ist für den Wert InternationalRule der Wert 00E0FG anstatt 00EFG einzutragen.

Dieser Eintrag sorgt dafür das die 0 in der Vorwahl erhalten bleibt. Dies ist jedoch für die Rufnummern in Italien keine finale Lösung, denn es gibt auch Nummernkreise, die nur ohne die 0 in der Vorwahl aus internationalen Telefonnetzen erreichbar sind. Bspw. Mobilfunktnummern und besondere Ortsnetznummern. Es macht daher mehr Sinn die Rufnummern in einem korrekten Format in AG-VIP SQL anzulegen bzw. zu importieren. Folgende Formate sind für eine korrekte Anwahl gut geeignet:

Formate die mit italienischen Nummern funktionieren:
Kanonisches Format:
+39 (0) 6123456
+39 (06) 123456
+39 (061) 23456
Etc. Die 0 muss in den Klammern aufgeführt sein, denn Sie gehört zur Ortsvorwahl. Bei Rufnummern, die keine 0 benötigen, muss diese weggelassen werden, wie dies auch bei anderen Ländern üblich ist.

Nicht kanonisches Format:
0039 0 6123456
00390 6123456

Im kanonischen Format haben Sie keine Probleme mit italienischen Nummern.
Alle anderen Formate werden durch die Telefonnummern Aufbereitung in AG-VIP SQL in ein kanonisches Format umgewandelt wobei die führende 0 entfernt wird (VAZ), außer die Nummer wurde wie in einem der beiden nicht kanonischen Formatbeispielen angegeben.

2012-12-18 12:00
Ulrich Sticker

Hinweis zu Änderungen über direkten Datenbankzugriff von AG-VIP SQL Datenbanken

Es ist auf das einfachste möglich AG-VIP SQL Datenbanken über SQL Befehle direkt zu beschreiben und zu verändern.

Hierzu folgende Hinweise:

  1. Sollten Sie per SQL Befehle verändernd auf AG-VIP SQL Datenbanken zugreifen, dann verlieren Sie jeglichen Anspruch auf Support.
  2. Fehlerhafte Historieneinträge oder Mischung von Feldtypen, die nicht programmkompatibel sind können zu Programmabstürzen und ungewolltem Verhalten führen.
  3. Sollten wir solche Manipulationen feststellen ist jeder weitere Support und die Suche nach solchen Fehlern und die Reparatur solcher defekten Datenbanken kostenpflichtig

2013-04-24 15:27
Martin Richter

Veraltete SQL-Server Versionen erzeugen evtl. Fehler bei einer Auswertung in AG-VIP SQL

Beschreibung:
Beim Versuch in AG-VIP SQL eine beliebige Auswertung mit Filterkriterien auszuführen, wird folgender Fehler angezeigt:
OrderByError

Ursache:
Der SQL-Server wurde nicht gepflegt. Dadurch wird eine veraltete SQL-Server Version verwendet, welche Fehler enthält.
In diesem Beispiel wird ein SQL-Server 2005 mit der RTM Version (Release to Market) eingesetzt.

Lösung:
Aktuallisieren Sie den SQL-Server und überprüfen Sie regelmäßig ob es neuere Versionen für den SQL-Server gibt.
Ein nicht gepflegter und somit veralteter SQL-Server bringt Sicherheitsrisiken mit sich und sollte unbedingt vermieden werden.

Link:
In folgendem KB-Artikel wird beschrieben wie man eine Aktuallisierung des SQL-Servers umsetzt:
http://kb.grutzeck.de/content/20/317/de/aktualisierung-des-eingesetzten-ms_sql-servers.html

 

2013-12-03 11:45
Peter Brandt

AG-VIP SQL und AG-VIP SQL Makro Debugger beenden sich nicht nachdem man den Debugger benutzt hat

Beschreibung:

Der AG-VIP SQL Makro Debugger verwendet den "Process Debug Manager" von Microsoft. Dieser ist allerdings in bestimmten Versionen fehlerhaft.

Ursache:

Wenn der Makro Debugger aktiv geworden ist werden auch aktive Variablen angezeigt. Bei der Ermittlung dieser Daten macht der Process Debug Manager einen Fehler und gibt diese nicht mehr frei. In der Folge kann weder AG-VIP SQL noch der AG-VIP SQL Makro Debugger beendet werden.

Dies hat grundsätzlich keinen Einfluss auf zuvor bearbeitete Daten. Die Datenbank Verbindung ist zwar noch aktiv, aber alle Daten wurden zurückgeschrieben und es gibt auch keinerlei Sperren mehr auf Datensätze oder Tabellen.

Folgende Versionen der PDM.DLL weisen einen Fehler auf:

9.0.30729.1 08.01.2009 VS-2008 IE 9 
10.0.20319.1 18.03.2010 VS-2010 MSSQL-2014 

Folgende Versionen arbeiten nach unserem Wissen korrekt:

7.0.9466.0 05.01.2002 VS-NET
8.0.50727.1826 21.04.2008 VS-2005 MSSQL 2008 R2
11.0.50727.1 26.07.2012 VS-2012
12.0.20712.1 01.04.2014 VS-2013 Preview / IE-11
12.0.21005.1 05.10.2013 VS-2013  

Die aktuell verwendete PDM.DLL finden Sie über die Registry heraus. Öffnen Sie dazu im Registrierungseditor den folgenden Pfad:
HKEY_CLASSES_ROOT\CLSID\{78A51822-51F4-11D0-8F20-00805F2CD064}\InprocServer32

Übliche Pfade sind
C:\Program Files (x86)\Internet Explorer\pdm.dll
bzw.
C:\Program Files (x86)\Common Files\Microsoft Shared\VS7Debug\pdm.dll

Lösung 1: 

Da die Ursache nur in der Variablenansicht liegt ist es möglich durch einen Eintrag in der Registry die Variablenansicht  im Makro Debugger auszuschalten. Dazu wird ein Registry Eintrag vom Typ DWORD32 mit dem Wert 0 im folgenden Pfad benötigt:
HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL Macro Debugger\VariablesBar\Enable

Lösung 2: 

Man sucht eine funktionierende PDM.DLL auf dem Rechner oder einem anderen Rechner und registriert diese dann. Die Datei kann in jedem belieben Ordner stehen.

Öffnen Sie dazu ein Befehlszeilenfenster (CMD.EXE) mit administrativen Rechten und registrieren sie die neue PDM.DLL mit dem Befehl:
REGSVR32 PDM.DLL

Bitte ersetzen Sie die alte Datei nicht, bzw. Löschen diese auch nicht! Versichern Sie sich zuvor, welche Datei registriert war um den Vorgang wieder rückgängig machen zu können.

Achtung:
Diese DLL beeinflusst und ermöglicht das Debuggen von allen VBScript Komponenten und HTML Seiten mit Visual Studio. Somit kann sich in Bezug auf VBScript Debugging das Verhalten in Visual Studio verändern.

Betrifft nur AG-VIP SQL Installation ab der Version 1.40.013

2014-08-04 16:51
Martin Richter

Allgemeine Dump Erzeugung aktivieren

Problem:
Um bei einem Programmabsturz den Hersteller möglichst genaue Angaben diesbezüglich zu geben wird oft ein Crashdump benötigt.

Lösung:
Um bei einem Programmabsturz einen Crashdump zu erzeugen, kann ab Windows Vista SP1 bzw. Windows Server 2008 in der Registry das "Windows Error Reporting" verwendet werden.

Unter dem Registrypfad:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\AGVIP.exe

werden folgende Werte angelegt:

  • DumpFolder
  • DumpCount
  • DumpType

Erklärung der Werte:

Wert Beschreibung Type Standardwert
DumpFolder Ablagepfad Wert der erweiterbaren Zeichenfolge %PROGRAMDATA%/CrashDumps
DumpCount Max. Anzahl an Dumps im Ablagepfad DWORD (32bit) 10
DumpType

Art des Dumps:

  • 0: individueller Dump
  • 1: Mini Dump
  • 2: Full Dump
DWORD (32bit)

2

 

 

Bei MSDN werden die Einstellungen unter folgendem Artikel beschrieben:

MSDN: Allgemeine Dump Erzeugung aktivieren

 

Am Ende unseres KB-Artikels finden Sie eine "Aktiviere Fulldumps.reg" Datei zum Herunterladen.
Diese Datei erzeugt die hier beschriebenen Werte an dem genannten Registrypfad.

Bedenken Sie, dass ein einzelner Full Dump über 100MB groß werden kann und dies bei einer maximalen Anzahl an 10 Dumps einen Speicherbedarf von über 1GB beanspruchen kann.

Hinweis:
Das Ausführen dieser Datei bzw. das Anpassen der Registry geschieht auf eigene Gefahr. Grutzeck Software übernimmt keine Haftung für eventuell dadurch entstandenen Kosten und/oder Schäden.

 

2021-08-25 08:55
Peter Brandt

Informationen über das persönliche Wörterbuch von AG-VIP SQL

Bei der Rechtschreibprüfung können Wörter hinzugefügt oder ignoriert werden. Der Unterscheid hier ist, dass Wörter, die hinzugefügt werden auch in der Vorschlagliste bei einer Korrektur erscheinen. Wörter, die ignoriert werden dagegen nicht.

Das persönliche Wörterbuch ist lokal und benutzerspezifisch. Es ist auch nicht Sprachspezifisch und gilt immer über alle Sprachen hinweg.

Das Verzeichnis befindet sich in den Benutzerdaten unter \Users\<Benutzername>\AppData\Roaming\Grutzeck Software. Das persönliche Wörterbuch für AG-VIP SQL ist eine einfache Unicode-Textdatei. mit dem Namen UserDictonary.txt.

Diese Datei kann zum Beispiel mit einem beliebigen Editor (Notepad) bearbeitet werden. Sie kann auch von anderen Rechnern kopiert werden. achten Sie unbedingt darauf, die datei als Unicode-Datei zu speichern. (Notepad macht dies automatisch).

Jede Zeile beginnt mit einem + oder - Zeichen.

  • Zeilen mit dem + markieren Wörter die zusätzlich in die Rechtschreibprüfung aufgenommen werden sollen.
  • Zeilen mit einem - markieren Wörter, die ignoriert werden sollen.

Zeilen können einfach aus der Liste gelöscht werden. I.A. ist die Wörterliste sortiert. Es ist aber nicht notwendig neue Wörter sortiert einzufügen.

AG-VIP SQL speichert diese Liste automatisch, wenn AG-VIP SQL beendet wird. Sofern Sie diese Liste ändern wollen, ist es ratsam zuvor AG-VIP SQL zu schließen um zu vermeiden, dass Ihre Änderungen überschrieben werden.

 

2014-12-16 09:33
Martin Richter

Ansicht ein-/ausblenden

Zweck:

Abhängig von der Datenlage soll im freien Arbeiten eine Ansicht eingeblendet oder ausgeblendet werden.


Achtung:

Im Workflow werden immer die Ansichten angezeigt, die auch in der Bearbeitungsstufe gewählt wurden. Hier ist es nicht möglich über einen Makro Ansichten ein- oder auszublenden.


Vorgehensweise:

Auf Ebene der Adresstabelle gibt es den Makro BEIM LADEN.
Über nachfolgenden Makro-Code kann die Ansicht ein- oder ausgeblendet werden:

Die Eigenschaft Visible gibt an, ob eine Ansicht aktuell sichtbar ist.
Wird die Eigenschaft Visible innerhalb eines Makros auf den Wert True gesetzt, so wird eine Ansicht sichtbar (eingeblendet). Durch Setzen der Eigenschaft Visible auf False wird eine Ansicht ausgeblendet.

Beispiel:


' Ansicht Ausblenden, wenn Feld NUMMER = ""
' Über ActiveAddressSet.Forms erhalten wir Zugriff auf
' alle Ansichten

    Dim oForm
    Set oForm = ActiveAddressSet.Forms
    

' Makro darf im Workflow nicht ausgeführt werden
    If Context.WorkflowMode = false then

 

' Bedingung, wann Ansicht ein- / ausgeblendet wird
        If ActiveRecord.Fields("Number") ="" Then


            oForm("Stammdaten").Visible = false
        Else
            oForm("Stammdaten").Visible = true
        End If
    End If

2015-07-23 08:37
Markus Grutzeck

Anzeige einer Ansicht begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Ansichten nur von einem bestimmten Nutzerkreis angezeigt werden dürfen.

Das betrifft hier natürlich nur Ansichten im freien Arbeiten. Ansichjten im Workflow werden zentral gesteurt.

Der nachflogende Makro kann als OnOpen-Makros in einer Ansicht angelegt werden. Er begrenzt die Ausführung des OnOpen-Makros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups     
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For
    End If
Next

If Not bInGroup Then
      MsgBox "Sie haben keine Berechtigung für diese Aktion!"
      CurrentForm.Visible = false
End If

 

2015-12-16 13:12
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet:Der Anmeldevorgang konnte wegen Verzögerung beim Öffnen der Serververbindung nicht abgeschlossen werden.

Beschreibung:
Die Anmeldung an den SQL-Server dauert länger als die im Standard festgelegten 20 Sekunden.

Ursache:
Dieses Problem könnte z.B. durch Antivirenprogramme verursacht werden, welche Anwendungen wie z.B. "AG-VIP SQL" analysieren und dann diese erst erlauben im Netzwerk zu kommunizieren.

Lösung:
Optimal wäre es, das Problem am Schopf zu packen und z.B. im Falle eines Antivirenprogramms die Anwendung z.B. "AG-VIP SQL" freizugeben.
Falls die Ursache nicht ermittelt werden kann, ist es möglich die Dauer der Anmeldung in der Verbindungsdatei (.agdb) festzulegen.
Dazu erweitert man den ConnectionString am Ende um folgende zwei Eigenschaften (durch Semikolon getrennt):

;Connect Timeout=120;General Timeout=120

Die angegebene Zahl 120 entspricht den Sekunden -> 120s = 2 Minuten Anmeldetimeout.
Ein vollständiger ConnectionString könnte also wiefolgt aussehen:

InitString=Provider=SQLNCLI11.1;User ID=AGUser;Initial Catalog=AGVIP;Data Source=SERVER\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False;Application Intent=READWRITE;Connect Timeout=120;General Timeout=120

2016-01-20 14:19
Peter Brandt

Outlook 2016 - Fehler: Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert.

Beschreibung:
Beim Versuch ein Outlook Hilfsmittel aus AG-VIP SQL heraus zu verwenden, tritt folgender Fehler in Outlook 2016 auf:

"Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert."

OLMAPI32.DLL

 

 

AG-VIP SQL stürzt nach bestätigen der Meldung ab.

 

Ursache:
Das Outlook 2016 Modul "OLMAPI32.DLL" verursacht diesen Fehler.

 

Lösung:
Einsatz von AG-VIP SQL mit mindestens der Version 1.43.005.675 (empfohlen)
oder eine ältere Version von Outlook einsetzen.

2016-02-22 11:13
Peter Brandt

Startparameter / Befehlszeilenparameter von AGVIP SQL

Die Startparameter / Befehlszeilenparameter von AGVIP SQL

AGVIP SQL kann mit verschiedenen Schaltern gestartet werden, die unterschiedliches bewirken.
Dieser Artikel beschreibt die Funktion der zur Verfügung stehenden Schalter für die Befehlszeile.

Der Startparameter kann entweder über Start->Ausführen "<Pfad zur AGVIP SQL Installation>\agvip.exe -<Schalter>" oder in die Eigenschaften der AGVIP SQL Verknüpfung integriert werden.

Übergabe der zu verwendenden Verbindungsdatei:
AGVIP.exe <Verbindungsdateiname und Pfad>.agdb

Startbefehle die einen Arbeitsbereich öffnen

Option -ad:
Mit der Option ad lässt sich eine Adresstabelle direkt beim Start aufrufen.
/ad:[Name der aufzurufenden Adresstabelle]
Beispiel: /ad:Kunden
Damit wird direkt die Adresstabelle Kunden geöffnet.

Option -pr:
Mit der Option pr lässt sich ein Projekt direkt beim Start aufrufen.
/pr:[Name des Projektes]
Beispiel: /pr:Support
Damit wird direkt das Projekt Support geöffnet.

Option -st:
Mit der Option st lässt sich eine Bearbeitungsstufe direkt beim Start aufrufen.
/st:[Name der Bearbeitungsstufe]
Beispiel: /st:Support
Damit wird direkt die Bearbeitungsstufe Support geöffnet.

Einstellungen zum Steuern der Telefonie

Option -phone:
Mit der Option phone ist es möglich auf der Befehlszeile eine Abweichende Nummer für den aktuellen Benutzer anzugeben, der sich anmeldet. Diese Nummer wird dann beim Verwenden der R-Taste benutzt um von anderen Arbeitsplätzen einen Rückruf für den Benutzer einzuleiten. Diese Einstellung überschreibt den Parameter der evtl. lokal für den Arbeitsplatz in der Registry angelegt wurde
Beispiel: /phone:"+49 (6181) 471108-15
Bei einer Nutzung der R-Taste werden Telefonate an diese Nebenstelle mit dieser Nummer durchgeführt, egal was lokal eingestellt ist oder über die Benutzereinstellung gesetzt wurde.

Option -phoneprofile (ab Version 2.00):
Die option /phoneprofile:n erlaubt es mehrere Profile in der Registry für die Telefonieeinstellungen zu benutzen.

Option -phoneprovider (ab Version 2.00):
In der AGVIP.INI ist der Provider für die Telefonie hinterlegt. Die Einstellungen befinden sich normalerweise im Abschnitt [Telephone]. 
Über den Befehl /phoneprovider:n, können bis zu 9 unterschiedliche Einstellungen in der AGVIP.INI angesteuert werden.
/phoneprovider:0 entspricht dabei der Grundeinstellung, wenn AG-VIP SQL ohne Parameter gestartet wird.

Anwendungsbereich: Man kann unterschiedliche Verknüpfungen anlegen. Dabei wird in der normalen Verknüpfung (ohne /phoneprovider), die Einstellungen für den TAPI-Provider eingerichtet.
Unter /phoneprovider:1 kann man nun eine AG-VIP SQL starten und dort Einstellungen zum Beispiel für den VoIP oder Elsbeth Provider benutzen. Dadurch wird es überflüssig mehrere AGVIP.INI Dateien zu benuzten.
(siehe auch /phoneprofile:n)

Option -disablephonesetup (ab Version 2.02.002)
Normalerweise wird das Telefon-Setup für persönlichen Telefonieeinstullungen aufgerufen, wenn zum Beispiel der TSP nicht zur Verfügung steht oder die Telefonie Umgebung sich gravierend geändert hat oder noch nie eingestellt war.

Durch die Option /disablephonesetup ist es möglich, dass dieser Dialog für die Einstellungen zur Telefonie bei Programmstart niemals beim Programmstart angezeigt wird.

Option -forcephonesetup (ab Version 2.01.002)
Normalerweise wird das Telefon-Setup für persönlichen Telefonieeinstullungen nur aufgerufen, wenn zum Beispiel der TSP nicht zur Verfügung steht oder die Telefonie Umgebung sich gravierend geändert hat.

Durch die Option /forcephonesetup ist es möglich, dass der Dialog für die Einstellungen zur Telefonie bei Programmstart sofort angezeigt wird.

Parameter zum Steuern der UI

Option -dialogstyles:
Mit der Option -dialogstyles:yes/no wird der eingestellte visuelle Stil der Oberfläche von AG-VIP SQL auch auf die Dialoge angewendet. Mit -dialogstyles:no werden die Dialoge im normalen Windows Stil angezeigt.

Option -mode:
Über den -mode:touch/mouse Befehl ist es möglich die Anwendung in den Touch- oder Mouse-Modus zu zwingen. Im Touch-Modus wird zwischen den Symbolen im Ribbon und in den Menüs ein größerer Abstand gelassen.
Beispiel: -mode:touch  / -mode:mouse

Option -nofreeze:
Mit der Option -nofreeze wird das neue Verhalten bei Ansichten abgeschaltet, bei dem ein allgemeiner Wartetext angezeigt wird "Bitte warten...". Wird diese Option angegeben, wird der Aufbau der Ansichten sichtbar. Die Verwendung dieses Schalters macht AG-VIP SQL im Allgemeinen langsamer.
Beispiel: /nofreeze

Option -nowarnings:
Mit der Option -nowarnings werden Warnungen beim Start von AG-VIP SQL SQL unterdrückt.
Beispiel: /nowarnings

Option -resetui:
Mit der Option -resetui lassen sich die Fenstereinstellungen und Anzeigeoptionen von AG-VIP SQL zurück setzen. Dieser Schalter eignet sich nicht um ihn permanent zu verwenden. Bei Bedarf kann er benutzt werden um alle Bildschirmeinstellungen auf den Startzustand zurückzusetzen.
Beispiel: -resetui

Option -ribbon:
Über den -ribbon:yes/no Befehl, kann die Anwendung in den Ribbon-Modus oder in den Modus für normale Befehlszeilen gezwungen werden, egal in welchem Modus zuvor die Anwendung gestartet wurde. Alle Einstellungen, die in der Registry dazu gespeichert wurden werden ignoriert.
Beispiel: -ribbon:no / -ribbon-yes

Option -scale:
Über den -scale:n Befehl ist es möglich die Ansichten in AG-VIP SQL zu skalieren und zu vergrößern. Das betrifft nicht die normalen Dialoge, sondern nur die angelegten Ansichten in AG.VIP SQL. Der zusätzliche Paramater gibt die prozentuale Vergrößerung an.
Beispiel: -scale:120
Durch diesen Befehl werden Ansichten um 120% vergrößert.

Option -wintoast:
Um fällige Aktivitäten anzuzeigen nutzt AG-VIP SQL auch das Windows-Info Center. Über die Befehlszeile mit /wintoasts:no kann AG-VIP SQL untersagt wer-den Benachrichtigungen über das Windows-Info Center anzuzeigen.
Die Benachrichtigungen können auch direkt im Windows-Info Center abgestellt werden, genauso wie die Einstellungen für die Art der Benachrichtigung (Audio-Einstellungen).
Die zulässigen Einstellungen sind no und yes.
Beispiel: /wintoasts:no
Durch diesen Befehl werden Benachrichtigungen im Windows Info Bereich abgeschlatet.

 

Nutzen der AGVIP.INI Datei für Voreinstellungen

Einige der oben genannten Schalter können auch in der AGVIP.INI Datei eingestellt werden und gelten damit automatisch für alle Rechner und Installationen, die diese Datei verwenden.
Die Einträge werden dazu im Abschnitt [Options] hinterlegt. Der entsprechende Wert ist meistens 0 bzw. 1 bzw. der Wert der bei dem spezfischen Schalter hinterlegt wurde.

Folgende Schalter sind für die AGVIP.INI verfügbar:

  • FullDump 
  • NoFreezeWindow
  • NoSound
  • ShowDBName
  • ForcePhoneSetup
  • DisablePhoneSetup
  • FormCacheSize

Option -FormCacheSize=<Anzahl>:
AG-VIP SQL kann intern Ansichten die geschlossen werden wiederverwenden, wenn diese erneut benutzt werden. Dies kann bei einem Kontextwechsel viel Zeit einsparen. Der Standard Cache ist 30 Einträge groß. Erlaubte Werte sind 0-100. Durch 0 Wird das Caching ausgeschaltet.
Beachten Sie, dass die Nutzung dieses Cache zu einem größeren Ressourcenver-brauch von AG-VIP SQL führt.
Dieser Eintrag kann in der Registry oder der AGVIP.INI defiiert werden.

 

 Nutzen der AGVIPJobAgent.INI Datei für Voreinstellungen

Auch für die AGVIPJobAgent.exe existiert eine ini Datei mit dem Namen. Für die Hintergrundprozesse existieren keine Dialoge für die Standardeinstellungen. Entsprechend gibt es folgende Einträge in der AGVIPJobAgent.INI angepasst können.

Abschnitt [Options]

Option -CountryDefault:
Hier kann das Standardlanmd angepasst werden, dass intern vom Job Agent benutzt wird. Wenn dies abweichend vom eingestellten Standardland des Systems ist.

Option -DebugReporting:
Mit DebugReporting=1 kann für die Reporterzeugung eine erweiterte Debug Ausgabe erzzeugt werden. Dies kann bei der Fehlersuche sehr nützlich sein.

Option -BankcodePathDEU:
 Hier kann ein abweichender Datenpfad für die deutschen Bankdaten hinterlegt werden. Der Default Wert ist automatisch das folgende Unterverzeichnis: Data\Bankcode\DEU

Option -NumLogFiles:
Durch die Option NumLogFiles kann die Anzahl der Log-Dateien, die für jeden Job vorgehalten werden verändert werden. Die maximale Anzahl beträgt 999.

Abschnitt [Location]

Option -Country, -Language, -Holidays:
 Die Parameter Country, Language, und Holidays sind identisch zu der Verwednung in AGVIP.INI und erlauben auch hier Anpassungen in der Nutzung der Sprache und der Feiertagsberechnung.

Nutzen der Registry Datei für Voreinstellungen

Einige der oben genannten Schalter können auch in der Registry eingestellt werden und gelten damit für diesen.
Der Pfad unter dem die Einträge erzeugt werden müssen ist bei einem 64bit System:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Grutzeck Software\AG-VIP SQL
Bei einem 32 bit System lautet der Pfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL
Der entsprechende Wert ist meistens DWORD Werte (0 bzw. 1) bzw. der Wert/Typ der bei dem spezfischen Schalter hinterlegt wurde.

Folgende Schalter sind für die Registry verfügbar:

  • FullDump 
  • NoFreezeWindow
  • NoSound
  • ShowDBName
  • ForcePhoneSetup
  • DisablePhoneSetup
  • FormCacheSize
  • EnableWindowsToasts

Sonstige Parameter

Option -debug / -trace:
Mit der Option -debug / -trace ist es möglich besondere Ausgaben auf der Debug Ebene zu erhalten (siehe DbgView). Insbesondere im Reporting werden hier zusätzliche Informationen mit ausgegeben.
Im allgemeinen werden Sie vom Support angewiesen, diese Option zu benutzen.
Beispiel: /debug bzw. /trace

Option -noDebugger
Seit Windows 10 v1607 kann die PDM.DLL nicht mehr manuell registriert werden. Dies hat zur Folge, dass der in AG-VIP SQL integrierte Makro-Debugger nicht mehr funktioniert. Über den Parameter -noDebugger, kann der Debug Modus deaktiviert werden, um diese Warn Meldungen in AG-VIP zu unterbinden.

Option -DumpOnException:
Mit der Option -DumpOnException erzeugt AG-VIP SQL bei jeder internen Ausnahme einen Speicher-Dump. Dies dient zur werweiteren Fehleranalyse und sollte nur auf Anraten des Supports verwendet werden.
Es werden unbegrenzt viele Dumps erzeugt. Beim Start von AG-VIP SQL werden die ältesten Dumps gelöscht so dass nur 10 Dumps verbleiben.
Volle Seicherdumps können sehr groß werden. Im Normalfall werden nur Minidumps erzeugt.
Beispiel: -dumponexception

Option -ini:
Mit der Option -ini:<pfad> ist es möglich eine abweichende AGVIP.INI Datei zu verwenden, d.h. man kann einen kompletten neuen Namen für eine INI Datei angeben, die auch in einem anderen Pfad liegen kann. Sinnvoll ist dieser Parameter wenn unterschiedliche Nutzer unterrschiedliche Einstellungen in der AGVIP.INI Datei benötigen (Telefonieeinstellungen o.ä.). Alle Einstellungen in den Systemeinstellungen beziehen sich dann auf diese INI-Datei.

Beispiel: /ini:"C:\MeinPfad\NeueAGVIP.ini"
Damit wird die AGVIP.INI im Ordner MeinPfad mit dem Namen NeueAGVIP.INI verwendet.

Option -lic:
Mit der Option -lic:<pfad> ist es möglich eine abweichende Lizenzsatei AGVIP.LIC Datei zu verwenden, d.h. man kann einen kompletten neuen Namen für eine LIC Datei angeben, die auch in einem anderen Pfad liegen kann. Sinnvoll ist dieser Parameter wenn unterschiedliche Nutzer mit unterrschiedliche Lizenzen arbeiten müssen.  Es kann entweder ein Pfad oder ein voller Dateiname angegeben werden.

Beispiel: /lic:"C:\MeinPfad\AGVIP2.lic"
Damit wird die AGVIP2.LIC im Ordner MeinPfad verwendet.

Option -showdbname:
Mit der Option -showdbname wir im Fenstertitel die verwendete Datenbank angezeigt.
Beispiel: - showdbname

Option -s / -silent:
Mit der Option -s (-silent) lässt sich AGVIP SQL ohne Meldungen starten.
Beispiel: -s bzw. -silent
Diese Option macht vor allem Sinn in Verbindung mit der Option -register

Option -nosound:
Mit der Option -nosound werden Sound Ausgaben von AG.-IPSQL unterdrückt.
Beispiel : -nosound

Option -register:
Mit der Option -register lässt sich AGVIP SQL als COM-Server neu registrieren.
Beispiel : -register

Um AGVIP SQL zum Beispiel per Adminscript als COM-Server neu zu registrieren kann die Kombination:
Agvip.exe -s -register
verwendet werden. So wird der COM-Server im Silentmodus neu registriert.

Option -fulldump:
Mit der Option -fulldump erzeugt AGVIP SQL ein vollständiges Speicherabbild. Dies dient zur werweiteren Fehleranalyse und sollte nur auf Anraten des Supports verwendet werden.
Volle Seicherdumps können sehr groß werden. Im Normalfall werden nur Minidumps erzeugt.
Siehe Hierzu auch KB-Artikel ID 1060. ?Erzeugen eines vollen Crash Dumps"

 

Die Startparameter von AG-VIP SQL Clientsetup

Option: -u
Deinstalliert einen AG-VIP SQL Client

Option: -m
Installiert nur einen Menübefehl zum Aufrufen von AG-VIP SQL.

Option: -d
Erzeugt nur ein Symbol auf dem Desktop, um AG-VIP SQL zu starten.

Option: -s
Die Installation des Client wird ohne Ausgabe von Fehlermeldungen durchgeführt. Damit eignet sich diese Variante z.B. zur Remoteinstallation.

Option: -f
Erzwingt eine neue Installation, auch wenn bereits eine Installation vorhanden ist. Bestehende Komponenten werden erneut registriert. 

 

Die Startparameter von AGVIPDBUpdate.exe:

Option: -force
Führt ein Datenbankupdate auch durch wenn der vorhandene Speicherplatz auf dem SQL-Server nicht ermittelt werden konnte. Siehe Hierzu auch KB-Artikel ID 1091. ?AGVIPDBUpdate meldet: Das Update benötigt n MB freien Plattenplatz auf dem SQL-Server, aber es stehen nur 0 MB freier Speicher zur Verfügung"

Tipp: Alle Anwendungen sind Drag 'N' Drop - fähig. Das bedeutet wenn eine Verbindungsdatei (*.agdb) im Explorer auf die Anwendung AGVIPDBUpdate.exe gezogen wird, wird der Update-Assistent direkt mit dieser Verbindungsdatei ausgeführt.
Ebenso wenn eine Lizenzdatei, auch als ZIP-Datei verpackt, auf den Lizenzmanager gezogen wird.

2024-01-18 11:33
Martin Richter

Ansicht zu klein?

Problem:

Die Auflösung der Bildschirme nimmt immer mehr zu. Viele Ansichten sind bereits vor einigen Jahren kreiert worden und verschenken rechts Platz. Aber im Ansichteneditor ist der Platz rechts begrenzt:
Ansicht zu klein für hohe Auflösung im CRM


Lösung:

Im Ansichteneditor können Sie zum einen die Hintergrundfläche mit der Maus am Rand erweitern.
Oder
Sie wählen im Formulareditor aus dem Menü HILFSMITTEL den Befehl GRÖSSE DER ANSICHT FESTLEGEN. Hier stehen verschiedene Bildschirmauflösungen zur Auswahl:

Größe der Ansicht erweitern im CRM

Damit definieren Sie die Größe der Ansicht, für die Sie den Reiter in AG-VIP designen.

2016-06-03 11:26
Markus Grutzeck

Outlook Web Access (OWA) in AG-VIP SQL darstellen

Beschreibung:
Der OWA wird über Exchange oder über die Microsoft Cloud (365) Online bereitgestellt.
Dieser wird daher üblicherweise in einem Browser dargestellt.

Problemstellung:
Benutzer sollen kein weiteres Programm wie z.B. einen Browser bedienen bzw. das ständige hin und her wechseln zwischen AG-VIP SQL und dem Browser stört.

Lösung:
Durch Verwendung eines Browsercontrols in AG-VIP SQL, kann direkt über z.B. eine Ansicht der OWA in AG-VIP SQL dargestellt werden.

Vorgehensweise:
Sie finden den Pfad zum OWA in ihrem Outlook unter Datei->Informationen

Diesen kopieren Sie und testen diesen in Ihrem verwendeten Browser.
Wenn alles in Ordnung ist, erscheint ein Anmeldebildschirm.

Mit dieser Gewissheit, tragen wir nun diesen Pfad zum OWA in das Browsercontrol auf der AG-VIP SQL Ansicht ein, welche Sie am Ende dieses KB-Artikels herunterladen und in AG-VIP SQL importieren können.
Browsercontrol selektieren -> in den Eigenschaften rechts auf "Standard URL" klicken und im Dialog dann die URL einfügen.

Hinweis:
Falls Sie nicht die im KB-Artikel beigefügte Ansicht verwenden und ein eigenes Browsercontrol erstellt haben, müssen Sie die Eigenschaften "Navigieren erlauben" und "Formularmodus" auf "Ja" setzen.
Desweiteren ergänzt die beigefügte Ansicht noch zusätzlich an die von ihnen eingefügte URL den Pfad zum Kalender im Abschnitt "Makros beim Laden". Dieses Makro funktionieren nur, wenn das Browsercontrol wie in der angehängten Ansicht den Namen "Browser" besitzt.

Verwendung:
Nachdem nun alles fertig eingerichtet ist, kann die Ansicht verwendet werden.
Beim ersten Aufruf bzw. nach einer Abmeldung im OWA muss sich der Benutzer stets am OWA anmelden.

Bei dieser Neuanmeldung geht die Information verloren, dass man eigtl. den Kalender angezeigt haben möchte.
Daher muss man dies nach einer Anmeldung manuell auswählen.

Danach wird jedoch immer direkt der Kalender angezeigt (bis zur nächsten Anmeldung).

Tipp:
Manchmal reicht eventuell die Bandbreite der Internetverbindung nicht aus um die grafische Darstellung des OWAs schnell anzuzeigen.
Es gibt eine "Light" Version des OWAs welche auf einige grafische Elemente verzichtet.
Diese kann in den Optionen aktiviert werden.

2016-06-24 13:01
Peter Brandt

Anwendung von Platzhaltern im RTF Control

Beschreibung:
Das RTF-Control erlaubt es statische formatierte Texte anzuzeigen.

Problem:
Oft reicht ein statischer Text nicht aus, da z.B. der Name des Bearbeiters oder des Kunden dynamisch angezeigt werden soll.

Lösung:
Über Platzhalter können Feldwerte dynamisch in den statischen Text eingebunden werden.
Dabei gibt es zwischen Datenbankfeldern, Temporärefeldern und Globalefelder bzw. Variable unterschiedliche Aufrufsweisen.

- Datenbankfelder können über %<interner Feldname>% aufgerufen werden z.B. für den Kurznamen %ShortName%
- Temporärefelder können über %Fields.<ControlName>% aufgerufen werden z.B. wenn man im Formulareditor dem Feld den Namen "VerantwortlicherMA" gegeben hat wäre der Aufruf %Fields.VerantwortlicherMA%
- Globalefelder können über %GlobalData.<GlobalerName>% aufgerufen werden z.B. für die Globale Variable Application.GlobalData("AuftragsNummer") wäre der Aufruf %Globaldata.AuftragsNummer%

Hinweis:
Der Aufruf für die GlobalData Felder bzw. Variable ist erst ab der AG-VIP SQL Version 1.44.003 möglich.

2016-09-08 11:01
Peter Brandt

Probleme mit dem Process Debug Manager (PDM.DLL) in Windows 10

Beschreibung:
Seit Windows 10 v1607 kann die PDM.DLL nicht mehr manuell registriert werden. Dies hat zur Folge, dass der in AG-VIP SQL integrierte Makro-Debugger nicht mehr funktioniert. Dies macht sich über einer von zwei möglichen Varianten erkenntlich.

1. Beim Starten von AG-VIP SQL erscheint direkt eine Fehlermeldung mit dem Process Debug Manager. Beim Versuch die PDM.DLL zu registrieren tritt ein weiterer Fehler auf.

2. Beim Debuggen fehlt die Variablen/Werte Einsicht.

Lösung:
Im Zip-Archiv "PDM-Files.Zip" sind 3 Dateien welche am besten in ein Unterverzeichnis im AG-VIP SQL Installationsverzeichnis kopiert werden. Dadurch wird verhindert, dass diese beim nächsten Windowsupdate wieder überschrieben werden.

Die PDM.DLL muss registriert werden.

-> regsvr32.exe PDM.DLL

Alternativ kann auch das "Remote Debugging Tool" installiert und anschließend wieder deinstalliert werden.
Dieses Tool stellt ebenfalls die 3 erforderlichen Dateien bereit und registriert die PDM.DLL zusätzlich gleich mit.

Remote Debug Tool Download: https://go.microsoft.com/fwlink/?LinkId=615470&clcid=0x407

2018-06-13 15:23
Peter Brandt

Add On Terminvereinbarung zeigt keine Entfernungen

Problem:

Das optionale Add-On Terminvereinbarung wird eingesetzt. Terminkalender öffnet sich direkt, aber es werden keine Entfernungen vom aktuellen Kontakt zu bereits gelegten Terminen angezeigt:

Lösung:

Bitte prüfen Sie, den Adressdatensatz. Vermutlich ist das Feld LAND leer oder ein falscher Ländercode zugeordnet. Damit kann keine Geocodierung erfolgen, so dass keine Entfernung vom aktuellen Gesprächspartner zu bereits vereinbarten Terminen kalkuliert werden kann.

2017-09-07 16:46
Markus Grutzeck

Wie setze ich die DSGVO in der CRM Software AG-VIP um?

Inhalt

Die EU Datenschutz Grundverordnung ( DSGVO ) schützt Personenbezogene Daten. Zu den fachlichen Anforderungen lesen Sie das kostenlose eBook "Die DSGVO im vertrieblichen Kontext".

Nachfolgend haben wir ein Muster für die CRM Software AG-VIP bereit gestellt, das keinen Anspruch auf Vollständigkeit darstellt. Bitte sprechen Sie notwendige Änderungen mit Ihrem Datenschutzbeauftragten ab.

Umsetzung

1. Umsetzung der DSGVO in Adresstabelle

In der Musterstruktur sind folgende Felder ergänzt worden:

  Feldnamen Typ Bedeutung
  Herkunft_Adresse Kennzeichen Eigene Erhebung oder fremde Datenquelle
  Löschdatum Datum Die DSGVO verlangt die Löschung oder Anonymisierung Personenbezogener Daten. Man könnte via Makro BEIM SPEICHERN das Löschdatum automatisch beim Anlegen setzen lassen und über einen Hintergrundjob oder über eine manuelle Auswertung diese Daten löschen. Es ist aber auch möglich im Verfahrensverzeichnis ein Verfahren zu beschreiben, durch das Daten gelöscht werden
  Last_CheckDate Datum Für die DSGVO nicht zwingend. Hilfreich zur Motivation der Anwender zur Datenpflege
  Last_CheckUser ID Benutzer Für die DSGVO nicht zwingend.
  Zweck_Datenspeicherung Kennzeichen Zweck der Datenspeicherung, z.B. Vertrieb, Abwicklung Auftrag, Marktforschung, Service etc.

  1. Laden Sie die ZIP-Datei am Ende der Seite herunter und entpacken Sie die Musterdaten.
  2. Importieren Sie die Muster-Datenstruktur über DATEI, ADMINISTRATION.
  3. Wählen Sie ADRESSTABELLEN und nutzen Sie den Schalter IMPORT und importieren Sie die Datei Datenstruktur Kontakte DSGVO.agtbstr.
  4. Importieren Sie dazu den MakroInclude RecordChanges.agminc, über DATEI, ADMINISTRATION, den Punkt MAKRO INCLUDES und den Schalter IMPORT

Schalter Beauskunftung

Über den Schalter "Beauskunftung" wird ein exemplarisches Word-Dokument mit der Ausgabe Personenbezogener Daten erzeugt. Nach § 15 DSGVO sind Sie zur Beauskunftung innerhalb von 30 Tagen verpflichtet.

Um das Hilfsmittel zu nutzen, gehen Sie wie folgt vor:

  1. Wählen Sie über DATEI, ADMINISTRATION den Bereich HILFSMITTEL.
  2. Über den IMPORT Schalter importieren Sie das Muster.
  3. ÄNDERN Sie das Musterhilfsmittel und passen im Tab HILFSMITTEL VORLAGE die Pfadeinstellungen an.
  4. Passen Sie die Word Mustervorlage auf Ihre Anforderungen an.

2. Opt-In verwalten

AG-VIP verfügt standardmäßig über Opt-In Felder je Kommunikationskanal zur Abbildung der Werbeeinwilligungen. Wenn ein Opt-Out vorliegt (leeres Feld), ist der entsprechende Kommunikationskanal gesperrt. Es erfolgt dann z.B. kein Anruf mehr aus AG-VIP. Hilfsmittel, die vom Typ Email deklariert wurden, sind dann gesperrt. Im optionalen Workflow können Übergänge in andere Bearbeitungsstufen bei einem Opt-Out definiert werden.

Um die Anwender auf fehlende Opt-Ins optisch hinzuweisen, werden in der Ansicht entsprechend Icons angezeigt.

Um die Ansicht zu nutzen, gehen Sie wie folgt vor:

  1. Über DATEI, ADMINISTRATION öffnen Sie unter ANSICHTEN den Ansichteneditor.
  2. Wählen Sie dort über DATEI, IMPORT die Musteransicht Stammdaten DSGVO.agfrm und laden so das Beispiel in Ihr AG-VIP System.

3. Adresse geprüft

AG-VIP verfügt automatisch über das Erfassungs-/Importdatum (= AngelegtDatum) sowie das Datum der letzten Änderung (= ÄnderungDatum). Dieses Datum wird bei jeder  Änderung am Datensatz aktualisiert. Also z.B. auch wenn ein Historieneintrag ergänzt wird.

Mitarbeiter schenken Stammdaten oft keine Beachtung. Wurde der Datensatz von einem Mitarbeiter innerhalb der letzten 12 Monate nicht bewusst geprüft, erscheint ein rotes X Symbol. Erfolgt die Prüfung und der Anwender wählt den Schalter ADRESSE GEPRÜFT, wird das Datum der Prüfung eingetragen und ein grüner Haken erscheint.
Der entsprechende Makro ist auf der Musteransicht Stammdaten DSGVO.agfrm hinterlegt

4. Protokollierung von Änderung an Stammdaten / Opt-In

Über Makros lassen sich Änderungen an frei definierbaren Feldern (auch Zusatztabellen) automatisch in einer Zusatztabelle protokollieren. Somit wird man dem Transparenzgebot gerecht.

  1. Importieren Sie dazu den MakroInclude RecordChanges.agminc, über DATEI, ADMINISTRATION, den Punkt MAKRO INCLUDES und den Schalter IMPORT, falls noch nicht geschehen.

Weitere Details dazu finden Sie hier ...

Wie Sie automatisiert bei Änderungen des Opt-Ins eine Bestätigung versenden ...

5. Geocodierung - Adresse in Karte anzeigen

Seit einiger Zeit beherrscht AG-VIP das Geocodieren von Adressen. Wenn Sie auf der Ansicht den Schalter KARTE ANZEIGEN nutzen, wird die aktuelle Anschrift geocodiert, der Längen- und Breitengrad ermittelt. Das Bundesland sowie der Kreisgemeindeschlüssel ergänzt und die aktuelle Adresse in einem Browsercontroll in einer Karte dargestellt.

2019-03-05 08:50
Markus Grutzeck

Daten importieren und Tickets in Projekt automatisch anlegen

Herausforderung:

Sie erhalten regelmäßig Daten, die in AG-VIP zu importieren sind. Außerdem sollen direkt aus der Importdatei Tickets in einer fest definierten Bearbeitungsstufe erzeugt werden.

Lösung:

Über diesen exemplarischen Hintergrundjob lassen sich Daten zeitgesteuert in eine Adresstabelle in AG-VIP importieren und Tickets in einer fest definierten Bearbeitungsstufe erzeugen.

Vorgehensweise:

  1. Laden Sie sich die angehängte ZIP Datei herunter und entpacken diese.
  2. Wählen Sie aus dem AG-VIP START Menü den Arbeitsbereich ADMINISTRATION und gehen dort auf HINTERGRUNDPROZESSE.
  3. Markieren Sie die Adresstabelle, für die der Importer und Ticket erzeuger ausgeführt werden soll.
  4. Wählen Sie rechts den Schalter IMPORT und importieren die entpackte Musterdatei.
  5. Über den ÄNDERN Schalter nehmen Sie die notwendigen Anpassen am Hintergrundprozess vor. Im Makrocode sind in grün die einzelnen Parameter beschrieben.
  6. Im Tab ZEITPLAN stellen Sie ein, wann dieser Hintergrundjob ausgeführt werden soll.

Die wichtigsten Parameter in diesem Hintergrundjob:

' Der Datenimport läuft übermehrere Dateien in mehreren Zyklen. D.h. die Adressdaten werden durch andere Dateien ergänzt.
' Zu den Adressen kann eingeschränkt ein neues Ticket angelegt werden.

Option Explicit
MacroInclude "Standard1"

' Dateien für den Import
' strFolder gibt den Pfad für den Import an, strMask die Maske für den Import.
' Wird stFolderDone leer gelassen, dann wird die Datei nur in .bak umbenannt mit dem
' aktuellen Datum davor. Ansonsten wird die bearbeitete Datei umbenannt und verschoben.
Dim strFolder, strFolderDone, strMask, strProjekt, strBearbeitungsstufe, strImportFileName, iAnzahlSpalten, bTicketImmerAnlegen, iImportMode
strFolder = "C:\Temp\Musterfirma"
strFolderDone = "C:\Temp\Musterfirma\Done"

' Name der zu importierenden Datei. Die Wildcards * für X-Zeichen und ? für genau 1-Zeichen können verwendet werden.
strImportFileName = "Import_*"

' In den folgenden 2 Variablen wird festgelegt, wo die Tickets angelegt werden sollen.
' Ist es nicht erwünscht ein Ticket anzulegen, so setzen Sie beide Variablen auf leer --> ""
' Projektname in dem die Bearbeitungsstufe angelegt ist
strProjekt = "Katalogversand"

' Bearbeitungsstufennamen in dem das Ticket angelegt werden soll
strBearbeitungsstufe = "1. Telefonakquise"

' Import Modus
' 1 = Nur neue Datensätze
' 2 = Nur Update
' 3 = Neue ergänzen und für bestehende ein Update durchführen
' Der Abgleich erfolgt über die Angabe in der MatchDefinition in Zeile 114
const ImportNew = 1
const ImportUpdate = 2
const ImportAll = 3
iImportMode = ImportNew

' Falls dieser Wert auf true steht, wird grundsätzlich immer ein Ticket zu der Adresse in der oben angegebenen Projekttabelle/Bearbeitungsstufe angelegt.
' Steht dieser Wert auf false, wird nur ein Ticket angelegt, wenn in der Bearbeitungsstufen die in 'strBearbeitungsstufe' angegeben ist,
' nicht bereits ein Ticket zu der Adresse vorhanden ist.
bTicketImmerAnlegen = false

' Um eventuelle Leerspalten in der Importdatei am Ende zu erkennen, muss die Anzahl an Spalten angegeben werden, die in der Immportdatei existieren.
' Diese Anzahl muss NICHT der Anzahl zu importierenden Feldern entsprechen,
' sondern der Anzahl der in der Importdatei vorhandenen Spalten !
' Wenn dies nicht berücksichtigt werden soll, kann eine 0 als Wert gesetzt werden.
' (Änderungen in der Struktur der Datei können dadurch jedoch nicht mehr erfasst werden, wodurch evtl. eine falsche Importdatei verarbeitet wird).
iAnzahlSpalten = 0


' Fail on Error
' Falls dieser Wert auf true steht, wird ein Fehler ausgelöst, sofern ein Feld nicht vorhanden ist,
' oder zum Beispiel ein Kennzeichenwert nicht umgesetzt werden kann.
' Falls dieser Wert auf false steht wird ein Fehler ignoriert und der Import wird fortgesetzt.
const bFailOnError = true

' Protokoll Level
' Wird bLogActionForEachRecord auf true gesetzt wird für jeden Update/Insert in die
' Datenbank auch eine Protokollzeile erzeugt.
const bLogActionForEachRecord = true

' Weitere Anpassungen bezüglich der Feldzuordnung sind in der Klasse "ImportClass" durchzuführen (ab Zeile 108)

....

...

Function Init()
' Festlegung der Feldzuordnungen zwischen AG-VIP SQL und der Importdatei
' 1. Wert entspricht dem internen Feldnamen in AG-VIP SQL.
' 2. Wert entspricht dem Spaltennamen der Importdatei
ImportDef = Array( _
Array("NameSalutation", "anrede"), _
Array("NameFirst", "vorname"), _
Array("Name1", "vorname"), _
Array("NameLast", "nachname"), _
Array("Name2", "nachname"), _
Array("Street", "strasse"), _
Array("ZipCode", "plz"), _
Array("City", "Ort"), _
Array("CommPhone1", "telefon"), _
Array("CommPhone2", "telefon2"), _
Array("CommEmail1", "email2") _
)

Siehe auch: Hintergrundprozess Datenimport

2019-02-18 06:58
Markus Grutzeck

Fernwartung

Um einen guten Support zu gewährleisten ist in der AG-VIP SQL Installation ein Fernwartungsclient installiert.
Bis zum 31.12.2019 unterstützen und nutzen wir TeamViewer.
Seit Oktober 2019 kommt ausschließlich AnyDesk zum Einsatz. 
In einer Übergangszeit bis Mitte Februar werden wir beide Versionen unterstützen.

Wird der Menüpunkt Fernwartun in AG-VIP SQL angeklickt wird die Datei Support.exe im Programmverzeichnis ausgeführt. Je nach Version wird dann der TeamViewer oder AnyDesk Client gestartet´.

AnyDesk

Ab der Version 2.00.006 unterstützen wir den Support mit AnyDesk.
Folgende Module stehen für den Download zur Verfügung:

Standard Fernwartungsclient (dieser ist als Setup.exe in der Installation enthalten):

https://anydesk.grutzeck.de 
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
In älteren Installationen ist es ohne Probleme möglich den neuen AnyDesk Client unter dieser Adresse herunter zu laden und in der bestehenden älteren AG-VIP SQL Installation zu ersetzen.

Fernwartungsclient, der auch ausgehende Verbindungen erlaubt:

https://get.anydesk.com/6OXM42zN/Support-Full.exe
Diese Version ist identisch zum Standard-Client, erlaubt aber auch ausgehende Verbindung.
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
Auch dieser Client kann den aktuell im Programmverzeichnis installierte Support.exe ersetzen.

Komplette Installation für AnyDesk:

https://get.anydesk.com/rrnBf17n/AnyDesk.msi
Mit dieser Version installieren Sie AnyDesk permanent auf einem Rechner. Die Installation erlaubt ein- und ausgehende Verbindungen.
Dieser Setup ist von Grutzeck-Software angepasst und mit unserem Logo versehen.

Allgemeine AnyDesk Version:

Auf der Seite https://www.anydesk.com/de kann die AnyDesk Standard Version heruntergeladen werden.
Diese finden Sie auch direkt unter dem folgenden Link https://download.anydesk.com/AnyDesk.exe
Diese Programmversion erlaubt es die aktuelle AnyDesk Version nur auszuführen und auch zu installieren. Sie ist nicht angepasst.
Unser Support kann sich mit jeder Ihrer AnyDesk Versionen verbinden.

2020-02-24 12:34
Martin Richter

Personalisierte Serienemails mit SuperMailer

Problem:

Sie möchten personalisierte Emails ohne viel Aufwand versenden. In AG-VIP gibt es für den Versand von Emails an einen Kontakt die Hilfsmittel für Outlook und SMTP oder Lotus Notes.  Versendet man personalisierte Emails via Outlook als BC, ist keine Personalisierung im Email Body möglich. Über die Serien-Email-Funktion von Word via Outlook lassen sich keine Attachments an die Emails anhängen.

Aber es gibt mit der Newsletter-Software www.SuperMailer.de eine einfache und preiswerte Lösung.

Lösung:

SuperMailer ist eine einfache Serien-Email-Software, um ähnlich wie bei einem Serienbrief mit Word Serienemails zu versenden. Dabei werden Emails im MIME Format (TXT und HTML) versendet. Der Versand kann über das eigene Outlook-Konto oder via SMTP direkt über den Email-Server erfolgen.

Schritt-für-Schritt-Anleitung:

  1.  Über die AUSWERTUNG (Icon Fernglas) selektieren Sie die Empfänger Adressen. Dazu sollten Sie als Selektionskriterium u.a. angeben, dass das Email-Feld nicht leer sein darf.

    Ggf. schließen Sie Datensätze ohne Opt-In für den Email-Empfang aus.
  2. Als Ergebnis erhalten Sie eine Ausgabeliste mit den Treffern. Wählen Sie das Export-Symbol:
  3. Exportieren Sie die Daten im Format WinWord, ANSI, Tab getrennt ...
  4. Geben Sie den Zielordner und Dateinamen der zu erzeugenden Exportdatei an.
  5. Wählen Sie alle Datenfelder aus, die Sie in Ihrer Email später einfügen wollen, also z.B. BRIEFANREDE, EMAIL1 etc.
  6. Einmalig können Sie über den Speichern-Schalter diesen Exportfilter für die zukünftige Wiederverwendung speichern.
    Damit haben Sie für jede weitere Serienemail mit wenigen Klicks die Empfängerliste aus AG-VIP exportiert. Sie brauchen dann beim nächsten Mal nur in der Ausgabeliste auf das Speichern-Symbol klicken und über den Laden-Schalter diesen Exportfilter aufrufen.
  7. Über den Schalter Fertig stellen, wird der Export Vorgang abgeschlossen.

  8. Jetzt starten Sie SuperMailer.
    Auf der Website finden Sie eine kostenlose Freewareversion können an Serienemails an maximal 100 Empfänger gleichzeitig versendet werden.  Aber selbst die unlimited Version kostet einmalig € 52 aktuell. Das lohnt sich in jedem Fall.
  9. Wählen Sie aus dem Menü Datei, Neues Projekt.
  10. Klicken Sie auf Importieren und wählen die in AG-VIP erzeugte Exportdatei aus. Diese Verbindung bleibt im Projekt erhalten, so dass Sie beim nächsten Export aus AG-VIP direkt in diesem Projekt die aktuelle Empfängerliste verknüpft haben.
  11. Wechseln Sie links in der Sidebar in den Arbeitsbereich Text der E-Mail.
  12. Über Feld einfügen können Sie jetzt jedes aus AG-VIP exportierte Datenfeld in Ihren Emailtext einfügen:
  13. Über den Schalter Serienemailvorschau können Sie sich die einzelnen personalisierten Emails im HTML- und TEXT-Format ansehen.
  14. Wählen Sie aus dem Menü Projekt, Einstellungen für den Email-Versand. Hier legen Sie die Absender- und Reply-Adresse fest und über welches Medium der Versand erfolgen soll. Und ob Limitierungen für den Email-Versand erfolgen sollen, damit die Emails nicht als Spam gewertet werde.

    Details dazu finden Sie in der Dokumentation von SuperMailer.

Bewertung:

 SuperMailer ist eine tolle Möglichkeit, einfach und schnell personalisierte Emails zu versenden mit einem überschaubaren finanziellen Invest. Teurere Lösungen wie Klick-Tipp oder EVALANCHE bieten Dank der AG-VIP Schnittstelle die Möglichkeit das Verhalten der Empfänger direkt in AG-VIP in der Historie oder eine Zusatztabelle zu vermerken. Unzustellbare Emailadressen lassen sich direkt in AG-VIP auswerten und korrigieren. Das bietet der SuperMailer so leider nicht.

2020-01-09 13:39
Markus Grutzeck

SIP/VOIP Telefonie - Gesprächspartner hört mich nicht - "one-way" Problem

Beschreibung:
Wenn Ihr Gesprächspartner Sie nicht hört, Sie jedoch Ihn schon, dann spricht man von einem "one-way" (Einbahnstraße) Problem.
Dieses Problem kann mehrere Ursachen haben, häufig jedoch liegt es an der Konfiguration der eingesetzten Antivirensoftware.

Mögliche Ursache beim Einsatz von Kaspersky Endpoint Secutiry:
Kaspersky Endpoint Security, genauer die Komponente «Programm-Überwachung»,
fügt die AGVIP.exe der Sicherheitsgruppe «Schwach eingeschränkt» hinzu.
Programme, welche sich in dieser Sicherheitsgruppe befinden haben eingeschränkte Rechte auf dem Computer, wie z.B. kein Zugriff auf Aufnahmegeräte (Mikrofon).
Zur Ermittlung einer Sicherheitsgruppe dienen die digitalen Signaturen und die Informationen,
die von den KSN-Teilnehmern (Kaspersky Security Network) zur Verfügung gestellt werden.
KSN ist eine cloudbasierte Wissensdatenbank mit Informationen zur Reputation von Dateien, Internet-Ressourcen und Programmen.

Lösung für Kaspersky Endpoint Security:
Umgangen werden kann das Problem damit, dass die AGVIP.exe manuell der Sicherheitsgruppe «Vertrauenswürdig» hinzugefügt wird.
Dazu muss folgendermassen vorgegangen werden:

- Kaspersky Endpoint Security > Einstellungen > Erweiterter Schutz > Programm-Überwachung
- Schaltfläche «Programme»
- Registerkarte «Rechte für Programme»
- «Hinzufügen» respektive «Ändern» 
- AGVIP.exe in Gruppe «Vertrauenswürdig» hinzufügen respektive verschieben

2020-06-22 09:58
Peter Brandt

Bearbeitungszähler: Anzahl Bearbeitungen von Tickets in Stufen vom Typ SONSTIGES begrenzen

Problem:

Kontaktbezogene Geschäftsprozesse werden in AG-VIP in Workflows, bestehend aus  mehreren Stufen, abgebildet. Nicht jede Outboundstufe wird dabei vom Typ TELEFON mit dem Powerdialer abgearbeitet, sondern die Anwender nutzen Klick-To-Dial. Dabei möchte man aber trotzdem die Anzahl der Bearbeitungen des Vorgangs auf x begrenzen und nicht ewig nicht erreichbaren Kontakten hinterher telefonieren.

Lösungen:

Jeder Bearbeitungszyklus wird in AG-VIP im Feld BEARBEITUNGSZÄHLER registriert und bei jeder Einstufung um eins hochgezählt.

Über einen Makro VOR EINSTUFUNG in der Reaktion z.B. "Wiedervorlage" kann die Einstufung auf eine versteckte Reaktion "Max. Anzahl Bearbeitungen" umgebogen werden.

Vorgehensweise:

  1. Importieren Sie den MacroInclude limit_bearbeitungszähler.agminc im Anhang.
  2. Markieren Sie den MacroInclude Limit Bearbeitungszähler und wählen den Ändern-Schalter, um die Parameter einzustellen

' Hier bitte die Anzahl maximaler Bearbeitungen eintragen
    iLimit = 2

' Soll dem Agenten eine Messagebox angezeigt werden, dass die max. Anzahl Bearbeitungen bei diesem Ticket erreicht wurde? Ja = true, Nein = false
   iMsg = true

' Soll das Fenster zur Ergänzung eines Kommentars dem Anwender angezeigt werden? Ja = true, Nein = false
   iComment = false

3. Wechseln Sie im Administrationsbereich auf WORKFLOW PROJKETVERWALTUNG.

4. Klicken Sie doppelt auf die Bearbeitungsstufe, in der die Begrenzung der Anzahl Bearbeitungen eingeführt werden soll und wechseln  Sie in den Tab Reaktionen.

5. Ergänzen Sie ein neue Reaktion "Max. Anzahl Bearbeitungen" mit der gewünschten Folgestufe, z.B. "Ende x-mal nicht erreicht".
Bei Modus wählen Sie "Reaktion verbergen". Damit kann diese Einstufung nur über den Makro ausgewählt werden und ist für die Mitarbeiter zur Einstufung nicht sichtbar.

6. Wechseln Sie in die Reaktion, bei der die Begrenzung der Anzahl Bearbeitungen aktiv werden soll, z.B. bei "Wiedervorlage".
Im Makro vor Einstufung ergänzen Sie bitte:

' Begrenzung der max. Anzahl Bearbeitungen
MacroInclude "Limit Bearbeitungszähler"

Damit werden Tickets nicht mehr endlos bearbeitet. Sie haben als Administrator immer die Möglichkeit, Tickets aus der Endstufe "Ende x-mal nicht erreicht" wieder in die Stufe zur aktiven Bearbeitung zu verschieben.

2020-11-20 14:20
Markus Grutzeck

Hotkeys in AG-VIP SQL

Tipps, zur effektiven Bedienung von Programmen mit der Tastatur:

Ribbons über die Tastatur bedienen

Drücken Sie zuerst die Alt-Taste und lassen diese los, oder halten Sie diese fest und warten einen kurzen Moment.
Es erscheinen nun im Ribbon die Buchstabenkürzel für die Bedienung. Wenn Sie die Tastenkombination auswendig kennen, können Sie auch die weiteren Tasten drücken.

Anschließend tippen Sie die Buchstaben für den Befehl, den Sie auslösen wollen. Gibt es weitere Unterkategorien, klappt ein eigenes Menü  auf. Andernfalls wird der Befehl sofort ausgelöst. So als ob Sie den entsprechenden Schalter angeklickt hätten.

Sie können auch die Alt-Taste drücken und loslassen. Die Kürzel erscheinen dann sofort.

Haben Sie die falsche Kategorie geöffnet, drücken Sie einfach zweimal die Alt-Taste. Das erste Drücken der Alt-Taste bricht die Auswahl ab. Mit dem zweiten Drücken der Alt-Taste öffnen Sie die korrekte Kageorie im Ribbon.

Folgende Bedienungen sind gleichwertig.

Beispiel: Sie wollen in AG-VIP SQL einen Rückruf über das Ribbon mit einer eigenen Nummer auslösen. 

  • Der Tastenpfad (Buchstabenkürzel), ist T (Telefonmenü) Ü (Rückruf) T (Telefonnummer eingeben).
  • Sie Drücken die Alt-Taste  und dann die Buchstaben TÜT und lassen die Alt-Taste los.
  • Sie Drücken die Alt-Taste  und lassen sie los, dann drücken Sie die Buchstaben TÜT.

Technisch gesehen, können Sie die Alt-Taste an jeder beliebigen Stelle loslassen.

Wollen Sie die Bedienung des Ribbons abbrechen ohne eine Auswahl zu tätigen, drücken Sie erneut die Alt-Taste. Es ist nicht mögich die Tastaturbedienung des Ribbons mit der Esc-Taste abzubrechen.
Es ist auch möglich mit der Maus in ein beliebiges anderes Fenster zu klicken.

Menüs über die Tastatur bedienen

Normale Menüs können auch einfachst über die Tastatur bedient werden. Drücken Sie dazu die ALT-Taste und halten Sie diese fest.
In der ersten Menüzeile haben die einzelnen Menüpunkte Buchstaben mit Unterstrichen. Drücken Sie nun den entsprechenden Buchstaben und lassen die Alt-Taste los.
Das entsprechende Menü klappt auf.

Auch die entsprechenden Untermenüpunkte haben wieder Buchstaben, die unterstrichen sind. Sie können die Pfeiltasten wählen und den entsprechenden Menüpunkt auswählen, oder Drücken direkt einen der unterstrichenen Buchstaben. 
Der entsprechende Befehl wird ausgeführt, als ob Sie ihn mit der Maus angeklickt hätten.

Es ist auch möglich zu Beginn die Alt-Taste zu drücken und direkt loszulassen. Der erste Menüeintrag links wird markiert.
Sie können entweder die unterstrichenen Buchstaben eingeben oder verwenden wieder die Pfeiltasten.
Untermenüs werden durch die Pfeil-Rechts Taste oder den markierten Buchstaben geöffnet.

Wollen Sie die Bedienung des Menüs abbrechen ohne eine Auswahl zu tätigen, drücken Sie die Esc-Taste, oder erneut die Alt-Taste.
Es ist auch möglich mit der Maus in ein beliebiges anderes Fenster zu klicken.

Dialogen nutzen:

Die Tabfolge in Dialogen ist optimiert. Durch Drücken der Tab-Taste wird der Eingabe Fokus in das nächste Feld verschoben. Das kann auch ein Button sein. Ein selektierter (ausgewählter) Button kann durch Leertaste und die Eingabetaste ausgelöst werden.

Durch Drücken der Alt-Taste + Buchstabe kann auch hier direkt ein anderes Feld angesprungen werden.

Die Eingabetaste löst den aktuellen Default-Schalter aus. Das ist der Schalter, der einen fetten Rahmen hat. Im Allgemeinen ist das der OK Schalter.  Aber es kann auch ein anderer Schalter als Default ausgewählt werden.

Bei Ja/Nein Abfragen, die eine evtl. weitreichendere Konsequenz haben wird oft auch Nein, anstatt Ja als Default vorbelegt. Erscheint die Frage, kann man mit der Eingabetaste diesen Vorgang nicht bestätigen. Man muss mit den Cursortasten entweder die Ja-Taste auswählen oder über die Alt+Buchstabentaste , die entsprechende Antwort wählen.

Tastenkombinationen in Dialogen immer anzeigen:

In die Dialogen können Felder per Alt+Buchstabe oft gezielt angesprungen werden. Die normalen Windows Einstellungen zeigen aber diese Zugriffstasten erst an, wenn die Alt-Taste gedrückt wird. Man kann Windows so einstellen, dass diese Tastenkombinationen in allen Dialogen automatisch (also immer) angezeigt werden.

Windows 10:
Einstellungen -> Erleichterte Bedienung -> Tastatur -> Funktionsweise von Tastenkombinationen ändern -> Zugriffstasten unterstreichen, falls verfügbar.

Über die Registry:
HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference -> Wert On auf 1 setzen (Typ REG_SZ)

Nutzen Sie Kontextmenüs

Kontextmenüs fassen oft für bestimmte Objekte gängige Operationen zusammen. Kontextmenüs öffnen Sie durch Klick auf das Objekt mit der rechten Maustaste, oder einfach über die Tastatur mit der Kontextmenütaste (rechts neben der Leertaste).
Das Kontextmenü lässt sich auch über die Tasten Umschalt+F10 öffnen.
Die Bedienung des Kontextmenüs erfolgt wieder direkt über entsprechende Tastenebfehle wie es oben für Menüs bereits beschrieben ist.

 

Allgemeine Hinweise

Es ist ergonomisch nicht effektiv, permanent zwischen der Maus und der tastatur zu wechseln.

Viele Nutzer wissen gar nicht, dass die meisten Programm komplett ohne Maus bedient werden können. Greifen Sie also nur zur Maus, wenn Sie länger mit der Maus arbeiten oder Verwaltungsaufgaben lösen wollen.

Während Sie Daten eingaben, vermeiden Sie am Besten den Griff zur Maus. Andere Felder und Masken lassen sich leicht über hier beschriebene Hotkeys anspringen und auswählen. Das ist effektiver und schneller als die Nutzung der Maus.

 

Auflistung der Hotkeys

Allgemeine Hotkeys in AG-VIP

F1 Zeige die Online Hilfe zu dem aktuellen Kontext
Umschalt+F1 Ermöglicht die Auswahl eines Objektes zu dem die Online Hilfe angezeigt werden soll
Alt+F4 Schließen des Programmmes
F5 Anzeige aktualsieren / Neu Laden
Kontextmenütaste
Umschalt+F10
Öffnet das Kontext Menü für das aktuelle Feld, den aktuellen Eintrag oder das aktuell markierte Objekt.
Strg+C
Strg+Einfg
Kopieren die aktuelle Auswahl oder den Feldinhalt in die Zwischenablage.
Strg+V
Umschalt-Einfg
Einfügen des Inhalts der Zwischenablage in das aktuelle Feld. Die aktuelle Selektion wird ersetzt.
Strg+X
Umschalt+Entf
Auschneiden der aktuelle Auswahl oder des Feldinhalt und kopieren in die Zwischenablage. Der Inhalt der aktuellen Markierung wird entfernt.
Strg+P Drucken
Alt+Strg+Umschalt+Druck Minidump erzeugen.
Strg+F Suche für das aktuelle Fenster / den aktuellen Kontext

 

Hotkeys in AG-VIP SQL bei geöffneten Ansichten / Workflow

ESC Aktuelle Bearbeitung abbrechen (nicht speichern)
Bild-Unten Nächster Datensatz
Bild-Oben Vorhergehender Datensatz
Alt+Bild-Unten Öffnet eine Combobox, die Datumsauswahl oder einen Auswahldialog für Kennzeichen
F3 In den den Feldern Kurzname und Nummer wird eine Schnellsuche ausgelöst (Prefix Suche)
Beispiel: Müller F3 Sucht alle Datensätze die mit dem Begriff Müller anfangen.
In anderen Eingabefeldern wird die Auswahlliste angezeigt oder ein Textbaustein abgerufen.
Umschalt+F3 In den den Feldern Kurzname und Nummer wird eine Schnellsuche ausgelöst (Ähnlichkeitssuche)
Beispiel: Müller Umschalt+F3 Sucht alle Datensätze die den Begriff Müller enthalten.
F4 Suchdialog öffnen
Strg+F4 Aktuelle Bearbeitung beenden (Arbeitsbereich schließen)
Umschalt+F4 Dialog für globale Suche öffnen
Strg+Umschalt+F4 Auswertungsdialog öffnen
F5 Aktuellen Datensatz neu einlesen (aktuelle Änderungen werden verworfen)
F12 Aktuellen Datensatz speichern
Eingabetaste
Tab
Springe in das nächste Eingabefeld
Umschalt+Tab Springe in das vorhergehende Eingabefeld
Alt+F2
Alt+Strg+F2
Strg+#
Strg+^
Setze den Fokus in die Kurzname/Nummern Leiste
Strg+Ziffer 1-9 und 0 Aktiviere Ansicht 1, 2, ... 10
Strg+Umschalt+B Kopiere Postfachadresse in die Zwischenablage
Strg+Umschalt+S Kopiere Straßenadresse in die Zwischenablage
Strg+N Neuen Datensatz anlegen
Alt+Strg+N Neuen Datensatz als untergeordnete Adresse der aktuellen Adresse anlegen

 

Hotkeys zum aktivieren bestimmte Fenster bei geöffneten Ansichten / Workflow

Strg+Umschalt+A Aktiviere das Aktivitätenfenster
Strg+Umschalt+C Aktiviere das CRM-Verknüpfungsfenster
Strg+Umschalt+H Aktiviere das Hierrachiefenster
Strg+Umschal+M Aktiviere das Monitorfenster
Strg+Umschal+N Aktiviere das Notizenfenster (Workflow)
Strg+Umschal+O Aktiviere das Ausgabefenster
Strg+Umschal+P Aktiviere das Projektstatistikfenster
Strg+Umschal+T Aktiviere die Telefonieleiste
Strg+Umschal+W Aktiviere das Arbeitsbereichsfenster
Alt+F2
Alt+Strg+F2
Strg+#
Strg+^
Setze den Fokus in die Kurzname/Nummern Leiste
Strg+Tab
Strg+Bild-Unten
F6
Alt+Rechts
Nächste Ansicht
Strg+Umschalt+Tab
Strg+Bild-Oben
Umschalt+F6
Alt+Links
Vorhergehende Ansicht

 

Hotkeys zum aktivieren bestimmter Tabs in gedockten Fenstern

Strg+Tab
Strg+Bild-Unten
F6
Alt+Rechts
Nächstes Fenster in der Tab-Ansicht
Strg+Umschalt+Tab
Strg+Bild-Oben
Umschalt+F6
Alt+Links
Vorhergehendes Fenster in der Tab-Ansicht
Strg+Ziffer 1-9 und 0 Aktiviere Tab-Fenster 1, 2, ... 10

 

Hotkeys in Ausgabefenstern/Listenanzeigen für Datensätze
(siehe auch Hotkeys für Listen und Listen mit Mehrfachauswahl)

Eingabetaste Lädt den markierten Datensatz
Esc Blendet das Ausgabefenster aus bzw. fährt das gedockte Fenster ein
Strg+C Markierte Datensätze der Liste in die Zwischenablage kopieren
Strg+P Drucken
Strg+S Auswahl speichern

 

Hotkeys in Dialogen

Tab Springe in das nächste Eingabefeld
Umschalt+Tab Springe in das vorhergehende Eingabefeld
Eingabetaste Führe den Standard-Schalter/Aktion aus
(Dieser Schalter hat einen fetten Rand) 
Escape Abbruch des Dialoges/Vorganges ohne Ausführung/Änderung
Leertaste Ist ein Schalter aktiv wird dieser ausgeführt.
Ist eine Checkbox aktiv wird der Status gewechselt.
Pfeil-Hoch
Pfeil-Links
In einer Liste von Optionsfeldern wird die vorherige Option ausgewählt, oder das vorherige Feld angesprungen.
Pfeil-Runter
Pfeil-Rechts
In einer Liste von Optionsfeldern wird die nächste Option ausgewählt, oder das nächste Feld angesprungen.
Alt+Buchstabe Direkte Navigation zu dem Feld mit dem entsprechenden Buchstabenkürzel im Namen. 
Leertaste Aktivieren des Schalters, eines Radiobuttons oder iener Checkbox wenn diese Fokus haben.

 

Hotkeys in Dialogen mit mehreren Seiten (Listenauswahl rechts, oder Tableiste oben)
(siehe auch Hotkeys für Dialoge)

Strg+Tab
Strg+Bild-Unten
Aktiviere die nächste Dialogseite
Strg+Umschalt+Tab
Strg+Bild-Oben
Springe in die vorhergehende Dialogseite

 

Hotkeys in Eingabefeldern

Entf Löschen des Zeichens rechts vom Cursor, oder löscht den aktuellen markierten Text.
Rück-Taste Löschen des Zeichens links vom Cursor, oder löscht den aktuellen markierten Text.
Strg+Pfeil-Rechts Springt nach rechts zum nächsten Wortanfang oder bis zum Textende.
Strg+Pfeil-Links Springt nach links bis zum nächsten Wortanfang oder bis zum Textanfang.
Umschalt+Pfeil-Rechts Erweitert die Markierung um ein Zeichen nach rechts.
Umschalt+Pfeil-Links Erweitert die Markierung um ein Zeichen nach links.
Umschalt+Pos1 Erweitert die Markierung nach links bis zum Textanfang. 
Umschalt+Ende Erweitert die Markierung nach rechts bis zum Textende. 
Strg+Umschalt+Pfeil-Rechts Erweitert die Markierung um bis zum nächsten Wortanfang nach rechts oder bis zum Textende.
Strg+Umschalt+Pfeil-Links Erweitert die Markierung um bis zum nächsten Wortanfang nach links oder bis zum Textanfang.
Strg+A Markiert den gesamten Feldinhalt
Strg+Y Zuletzt rückgängig gemachte Aktion wiederholen.
Strg+Z Letzte Änderung Rückgängig machen
Umschalt+Mausklick Der Text von der bisherigen Cursorposition bis zu der Stelle an die man klickt markiert.
Doppelklick Markiert das Wort auf das geklickt wurde.

 

Hotkeys in Listen und Tabellen

F2 Aktuellen Eintrag bearbeiten (sofern Änderungen in der Zeile direkt erlaubt sind)
F5 Liste aktualisieren / Neu einlesen
(wird nur teilweise unterstützt wo es Sinn macht)
Einfg Neuen Eintrag erzeugen (sofern direktes Anlegen erlaubt ist)
Entf Löscht die aktuelle Zeile (sofern direktes Löschen erlaubt ist).
Strg+A Sofern eine Merhfachauswahl erlaubt ist werden alle Einträge markiert.
Leertaste Markiert die aktuelle Zeile
Pfeil-Unten Nächster Eintrag
Pfeil-Oben Vorhergehender Eintrag
Bild-Unten Eine Seite weiter blättern.
Bild-Oben Eine Seite nach oben blättern.
Pos1 Auf ersten Eintrag springen.
Ende Auf letzten Eintrag springen
Buchstabe oder Ziffer Selektiert den ersten Eintrag mit dem entsprechenden Buchstaben oder Ziffer in der Liste.
Tipp: Man kann auch ganze Begriffe eingeben. Der Eingabepuffer wird nach ca. 1sec wieder gelöscht.
ab schnell getippt amrkiert den Eintrag der mit ab beginnt.
ab langsam eingegeben markiert erst einen Eintrag der mit a beginnt, dann einen der mit b beginnt.

 

Hotkeys in Listen mit Mehrfachauswahl
(siehe auch Hotkeys für  Listen)

Strg+A Alle Einträge markieren
Strg+Leertaste Hebt die Markierung der aktuellen Zeile auf
Strg+Pfeil-Unten Fokus auf nächsten Eintrag verschieben ohne ihn zu markieren.
Strg+Pfeil-Oben Fokus auf vorhergehenden Eintrag verschieben ohne ihn zu markieren.
Umschalt+Pfeil-Unten Markierung um nächsten Eintrag erweitern
Umschalt+Pfeil-Oben Markierung um vorhergehenden Eintrag erweitern
Umschalt+Pos1 Markierung bis zum ersten Eintrag erweitern.
Umschalt+Ende Markierung bis zum letzten Eintrag erweitern.
Strg+Mausklick Aktuellen Eintrag markieren bzw. Markierung aufheben.
Umschalt+Mausklick Alle Einträge ab dem aktuellen Eintrag bis zu dem angeklickten Eintrag markieren.

 

Hotkeys in Baumanzeigen
(siehe auch Hotkeys in Listen und Listen mit Mehrfachauswahl)

Entf Löscht die aktuelle Zeile sofern direktes Löschen erlaubt ist.
Pfeil-Rechts Ist ein Knoten nicht geöffnet wird der Knoten aufgeklappt.
Ist der Knoten geöffnet wird der nächste Eintrag ausgewählt.
Pfeil-Links Ist der aktuelle Knoten geschlossen, wird der Elterndatensatz selektiert.
Ist der aktuelle Knoten geöffnet wird der aktuelle Knoten geschlossen.
Multiplikationstaste (Numpad) Der aktuelle Knoten inkl. aller Unterknoten wird komplett aufgeklappt.
Plustaste (Numpad) Der aktuelle Knoten wird aufgeklappt. Unterknoten werden nicht geöffnet.
Minustaste (Numpad) Der aktuelle Knoten wird geschlossen. Der Status der Unterknoten ändert sich nicht.
Strg+Multiplikationstaste (Numpad) Öffnet alle Knoten des gesamten Baumes inkl. aller Unterknoten.
Strg+Minustaste (Numpad) Schließt alle Knoten des gesamten Baumes inkl. aller Unterknoten
Leertaste Markiert die aktuelle Zeile
Strg+Leertaste Hebt die Markierung der aktuellen Zeile auf

 

Hotkeys für Kombinationsboxen/Kombinationsfelder
Tipp: Für fast alle Hotkeys muss die Kombinationsbox nicht geöffnet werden. D.h. die Auswahl von Einträgen kann auch direkt bei geschlossener Kombinationsbox über die Pfeiltasten oder eine Buchstabenkmbination erfolgen.

Alt+Pfeil-Unten Kombinatiopnsbox aufklappen
Pfeil-Unten Markiere nächsten Eintrag.
Pfeil-Oben Markiere vorhergehenden Eintrag.
Buchstabe oder Ziffer Selektiert den ersten Eintrag mit dem entsprechenden Buchstaben oder Ziffer in der Liste.
Tipp: Dazu muss die Kombinationsbox nicht geöffnet werden.

 

 Hotkeys in der Datumsauswahl

Escape Beenndet die Datumsauswahl. 
Pfeil-Rechts Nächster Tag.
Pfeil-Links Vorhergehender Tag.
Pfeil-Unten Nächste Woche.
Pfeil-Oben Vorhergehende Woche.
Bild-Unten Nächster Monat
Bild-Oben Vorhergehender Monat.
Strg+Bild-Unten Nächstes Jahr.
Strg+Bild-Oben Vorhergehendes Jahr.

 

Interaktion mit anderen Programmen / Windows

Windows-Taste Öffnet das Startmenü
Alt+Tab Wechselt zwischen Programmen.
Alt-Tab festhalten - öffnet die Auswahl der aktuellen Programme
Alt-Tab und loslassen - wechselt zum zuvor aktiven Programm
Alt-Tab kann mehrfach hinmtereinander gedrückt werden, bevor die Alt-Taste losgelassen wird.
Strg+Bild-Oben Vorhergehendes Jahr.

 

2023-03-13 12:05
Martin Richter

Abstürze und Programmhänger protokollieren mit Procdump

Hintergrund:

Programmabstürze oder Hänger sind ärgerlich und die Ursachen sind meistens nicht leicht zu ermitteln.

AG-VIP SQL verfügt über Mechanismen um Dumps automatisch zu erzeugen. Leider gibt es bestimmte Arten von Abstürzen, die dennoch nicht protokoliert werden.

Abhilfe kann hier das Programm Procdump schaffen. Microsoft stellt dieses Tool über die SysInternals Tools zur Verfügung:
https://docs.microsoft.com/en-us/sysinternals/downloads/procdump

Procdump sollte nur zum Einsatz kommen, wenn AG-VIP SQL keine eigenen Dump erzeugt.
Oder lange Hänger im Programm analysiert werden sollen.

Anwendung:

Laden Sie Procdump herunter und entpacken Sie die Datei.

  • Starten Sie AG-VIP SQL wie gewohnt.
  • Öffnen Sie nun einen Command Prompt / Eingabeaufforderung
    (Alt+R, CMD.EXE, Eingabetaste, oder über Windowstaste+S, Eingabeaufforderung)
  • Der Command Prompt muss nicht als Admin gestartet werden.
  • Starten Sie nun Procdump aus dem Installationsverzeichnis, dass Sie gewählt haben mit:
    procdump -ma -h -e -n 10 AGVIP.EXE <Pfad für Dump Dateien>

Achtung! Volle Dump Dateien können von 100MB bis zu 800MB groß werden!

Wenn ein Crash oder ein Hänger festgestellt wird, dann wird ein voller Speicherdump erzeugt und in dem Verzeichnis abgelegt.
Notieren Sie unbedingt was zu diesem Dump geführt hat.

Procdump beendet sich automatisch wenn die Anzahl der Dumps erreicht wurde oder AGVIP.EXE beendet wird.

Achtung: Wenn auch AGVIP.EXE einen Dump erzeugt, kommt es vor, dass zeitglich Procdump auch mehrere eigene Dumps erzeugt.

Erläuterung der Programmparameter:

  • -ma instruiert Procdump volle Speicher Dumps zu erzeugen.
  • -h erzeugt Dumps auch wenn das Programm hängt (d.h. länger als 5 Sekunden keine Nachrichten erhält) 
    Achtung: Mit dieser Option werden Dumps auch bei langen Operationen (Kontextwechsel, öffnen vieler Ansichten, langsamer Netzwerkverbindung) erzeugt. Das ist nicht unbedingt gewünscht, aber bei dieser Option nicht zu vermeiden.
  • -e erzeugt Dumps wenn in AG-VIP SQL eine unbehandelte Ausnahme auftritt (üblicherweise ein Crash)
  • -n 10 begrenzt die Anzahl der Dumps auf 10.
  • AGVIP.EXE  ist der zu untersuchende Programmname. Andere Prozesse werden nicht beobachtet.
  • <Pfad für Dump Dateien> Geben Sie hier einen Speicherort für die erzeugten Dumps an.

Was mache ich mit den Dumps?

  1. Schreiben Sie sich zu jedem Dump auf, wie er entstanden ist. D.h. was Sie in AG-VIP SQL gerade gemacht haben. Dazu die genaue Uhrzeit, damit wir diese Aktivität einem Dump zuordnen können.
  2. Packen Sie die Dateien (Zip, 7z, o.ä.)
    Senden Sie diese Dateien nicht per Email! Diese Dateien sind zu groß!
  3. Verwenden Sie OneDrive oder Dropbox oder einen anderen Filesharing Dienst und erzeugen einen Link für unseren Support.
  4. Alternativ kontaktieren Sie unseren Support und Fragen nach einem FTP Upload. Laden Sie die Dateien mit dem Explorer oder einem FTP Programm (FileZilla) hoch.
  5. Senden Sie uns eine Email mit Link auf die Filesharing Plattform und dem Hinweis, dass Sie Dumps fertiggestellt haben. Bitte senden Sie uns auch die Aufstellung der detaillierten Aktionen, die zu den Dumps geführt haben.

 

Siehe auch:

 

2024-01-25 11:50
Martin Richter

SetupAGVIPClient kann eine nicht kompatible Version des MS-OLE DB Providers in den Versionen 2.05.001 und 2.05.002 installieren

Hintergrund:

SetupAGVIPClient.exe dienst dazu AG-VIP SQL auf einem Netzwerk Arbeitsplatz vorzubereiten.

Damit AG-VIP SQL starten kann und eine Verbindung zur Datenbank aufbauen kann ist ein passender OLE DB Provider notwendig. Welcher OLE DB Provider benutzt wird. ist durch die aktuelle AGVIP.AGDB Datei festgelegt.

SetupAGVIPClient ermittelt den korrekten OLE DB Provider der benötigt wird. Ist der entsprechende Provider nicht vorhanden wird die passende Installation aus dem Tools Verzeichnis gestartet.

Problem:

In das Setup der AG-VIP SQL Programm Versionen 2.05.001 und 2.05.002 wurde eine falsche MSOLEDB-Provider Installationsdatei mit der Version 19.3 hinterlegt.
Wenn nun SetupAGVIPClient feststellt, dass der MSOLEDBSQL Provider verwendet werden muss, weil dieser Provider in der AGVIP.AGDB ausgewählt wurde und bisher der passende OLE DB Provider nicht installiert ist, wird nun die Datei Tools\msoledbsql_x64.msi ausgeführt.

Der Provider wird installiert, aber dieser Provider ist mit der Version 19.x nicht mit AG-VIP SQL kompatibel. Beim Programmstart von AG-VIP SQL kommt weiterhin die Meldung, dass der passende OLE-DB Provider nicht installiert wurde.
AG-VIP SQL benötigt bis einschließlich der Version 2.05.002 einen MSOLEDBSQL Provider der Version 18.x.

Lösung:

Laden SIe den passenden MSOLEDBSQL Provider der Version 18.x herunter.  Kopieren Sie die heruntergeladene Datei in das Tools Verzeichnis.
Dann wird beim nächsten Aufruf von SetupAGVIPClient auch der passende kompatible MSOLEDBSQL Provider installiert.

Auf dem Rechner auf dem eine Meldung erscheint, dass der passende Provider nicht installiert wurde wird nun das neu heruntergeladene Paket Tools\msoledbsql_x64.msi installiert.

Siehe auch folgende Artikel:

MS-OLE DB Provider ab der Version 19.x sind nicht mit AG-VIP SQL bis Version 2.05.002 kompatibel
Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert
Welcher OLE-DB Provider wird aktuell verwendet?
Microsoft OLE DB Provider

2023-11-07 16:13
Martin Richter

E-Mail auf mehrere Vorkommen überprüfen

Beschreibung:

Insbesondere bei Anbindung von Email-Marketing-Software ist es notwendig, dass Email-Adressen eindeutig sind. Denn der Abgleich zwischen Kontakten in der CRM-Software AG-VIP und der Email-Marketing-Software, z.B. Klick-Tipp oder EVALANCHE, erfolgt über das Feld EMAIL1.

Kommt die identische Email-Adresse in mehreren Kontakten vor, ist es Zufall welche Daten von AG-VIP in der Email-Marketing-Software ankommen bzw. in welcher Adresse in AG-VIP das Verhalten des Email-Empfängers eingetragen wird.

Möglichkeiten der Prüfung:

Im Reiter "Sonstiges" gibt es den Option "Doppelte Adressen suchen..." in der auch über identische E-Mail Adressen gesucht werden kann:
Suche nach gleicher E-Mail

Wenn man jedoch direkt beim Speichern eines Vorgangs prüfen möchte, ob die E-Mail Adresse im Feld "Email1" noch in einem anderen Datensatz vorkommt, fügt man folgendes Makro an die gewünschte Makro-Position ein:

If ActiveAddressSet.Query("commEmail1='"&Trim(ActiveRecord.fields("commEmail1").value)&"'&Id<>"&ActiveRecord.IdAddress).Count > 0 Then
   MsgBox "Die E-Mail Adresse '"&ActiveRecord.fields("commEmail1").value&"' wird bereits in einem anderen Datensatz verwendet!" & vbCrLf &
          "Bitte eine andere E-Mail Adresse wählen oder im anderen Datensatz die E-Mail Adresse anpassen!",
           vbOkonly+vbExclamation,"AG-VIP SQL - E-Mail Adresse nicht eindeutig"
   Macro.Abort
   Macro.Exit
End If
 

2024-06-20 08:18
Peter Brandt

Kann ich mit AG-VIP elektronische Rechnungen erstellen?

Herausforderung elektronische Re

Herausforderung elektronische Rechnungslegung:

Die Umstellung auf elektronische Rechnungslegung gemäß Wachstumschancengesetz wird bis 2025 für alle Unternehmen im B2B-Sektor verpflichtend. Herkömmliche PDF-Rechnungen, die z.B. über Hilfsmittel in AG-VIP aus Word- oder Excel-Dateien erstellt wurden, erfüllen die neuen gesetzlichen Anforderungen nicht. Sie unterstützen weder das PDF- noch das XML-Format für elektronische Rechnungen.

So sieht der zeitliche Fahrplan aus:

Phase 1: Bis 2025 – Empfangsbereitschaft für elektronische Rechnungen herstellen

Alle Unternehmen müssen E-Rechnungen empfangen können.
Schaffen Sie jetzt eine Basis für die nahtlose Verarbeitung elektronischer Rechnungen in bestehende Systeme.
Viele Firmen verwenden bereits elektronische Formate wie ZUGFeRD oder XRechnung für ihre Rechnungsprozesse.
Schon jetzt dürfen Rechnungen an Behörden und öffentliche Institutionen nur als XRechnung erfolgen. Somit müssen diese bereits seit längerem in der Lage sein, E-Rechnungen zu empfangen.

Phase 2: Ab 2026 – Gesetzliche Erstellungspflicht nach dem Wachstumschancen Gesetz

Ab diesem Jahr wird die Erstellung von E-Rechnungen in mehreren Stufen bis 2028 für alle Unternehmen verpflichtend.
Dadurch sollen Unternehmen sich schrittweise mit den Anforderungen und Vorteilen der E-Rechnung vertraut machen.


Anforderungen und Formate für elektronische Rechnungslegung

Elektronische Rechnungen müssen in einem strukturierten Format vorliegen, wie z.B. ZUGFeRD oder Factur-X, um die gesetzlich vorgeschriebenen Standards zu erfüllen. Diese Formate kombinieren PDF-Dokumente mit XML-Daten, die von Maschinen gelesen und verarbeitet werden).

Lösungsmöglichkeiten:

Eine einfache Lösung für die elektronische Rechnungslegung bietet die Integration von easybill mit der CRM-Software AG-VIP. Mit easybill erstellen Sie Rechnungen, die alle gesetzlichen Anforderungen erfüllen und im notwendigen PDF- und XML-Format bereitgestellt werden. Easybill ist eine preiswerte online Lösung für Rechnungslegung und -versand. Damit überwachen Sie den Zahlungseingang. Die Daten übergeben Sie im DATEV Format für die Buchhaltung oder Rechnungswesen. Sprechen Sie uns bei Interesse einfach an. Mehr zur Schnittstelle zwischen AG-VIP und easybill ... <-  Klick.

Vorteile der elektronischen Rechnungslegung:

  • Effizienz und Automatisierung: Schnellere Zahlungsabwicklung und reduzierte Fehlerquote.
  • Kostenersparnis: Wegfall von Druck- und Versandkosten.
  • Nachhaltigkeit: Reduzierung des Papierverbrauchs.
  • Sicherheit: Hohe Standards durch Verschlüsselung und digitale Signaturen.

Fazit

Die Umstellung auf elektronische Rechnungen ist nicht nur eine gesetzliche Anforderung, sondern bietet Unternehmen zahlreiche Vorteile. Nutzen Sie Tools wie easybill, um den Übergang reibungslos zu gestalten und die Vorteile voll auszuschöpfen.

2024-07-09 10:14
Martin Richter

Wie kann ich Fenster- / Ribboneinstellungen auf einen anderen Rechner übertragen?

Problem:

In AG-VIP lassen sich Schalterleisten / Ribbons sowie Fensterpositionen individuell einstellen. So lassen sich nicht benötigte Schalter ausblenden. Diese Einstellungen werden lokal für jeden Benutzer in der Registrierungsdatenbank gespeichert.

Diese individuelle Einstellungen will man aber auch auf andere AG-VIP Arbeitsplätze übertragen.

Lösung:

  1. Nehmen Sie in AG-VIP am Arbeitsplatz die gewünschten Einstellungen für Ribbons, Fensterpositionen etc. vor.
  2. Starten Sie den Registrierungseditor über Windows Eingabefeld REGEDIT. Der Registrierungseditor öffnet sich.
  3. Wechseln Sie in den Bereich "Computer\HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\"
  4. Exportieren Sie alle Einträge, die mit "Settings ..." beginnen.
    Dazu markieren Sie einen Eintrag. Wählen über Rechts-Klick aus dem Kontextmenü EXPORTIEREN.
    Registrierungsdatenbank: Export Ribbon Einstellungen und Fensterpositionen

  5. Speichern Sie die REG-Datei auf einem Netzwerklaufwerk ab.
  6. Wechseln Sie an den neuen AG.-VIP Arbeitsplatz. Klicken Sie dort doppelt auf die zuvor exportierte REG-Datei.
    Die Einstellungen werden somit von dem einen AG-VIP Arbeitsplatz auf den anderen übertragen.

2025-04-28 10:16
Markus Grutzeck

Installation / Update

Zur Kategorie

Entwicklung von VIP SQL, Bekannte Fehler, neue Funktionen, neue Releases

AG-VIP SQL wird permanent weiterentwickelt.

Neue Funktionen werden immer zuerst hier auf unserer Knowledge Base veröffentlicht.

Alle registrierten Anwender mit Wartungsvertrag erhalten automatisch eine Nachricht über neu verfügbare Update mit dem entsprechenden Link zur Dokumentation, was neu geworden ist sowie den Link zum Download des Updates selbst inkl. Kennwort zum Entpacken.

Wir benachrichtigen nicht alle Nutzer auf einemal, sondern wir führen die senden Informationen zyklisch in kleinen Einheiten an unsere Kunden um einen guten Support gewährleisten zu können.
Wollen Sie sofort die Informationen zum aktuellen Update senden Sie eine Email mit Ihrer Seriennummer an vertrieb@grutzeck.de. 
Auch wenn Sie eine aktuelle Lizenz-CD zugesandt haben möchten, genügt eine Email an vertrieb@grutzeck.de unter Angabe Ihrer Serien-Nr.

Zu Allgemeinen Fragen der Installation steht Ihnen unserer Support-Team unter der Emailadresse support@grutzeck.de zur Verfügung.

2020-10-13 12:21
support@grutzeck.de

Tools zur Administration der MSDE

Problem:

Die MSDE ist zwar kostenlos aber ohne grafische Administrationsoberfläche. Das macht das Einrichten von Datensicherungsjobs u.ä. über Scripte sehr zeitaufwändig.

Lösung:

Drittanbieter haben den MS-SQL-Server Enterprise-Manager "nachgebaut" und bieten hier z.T. kostenlos Administrationssoftware an. Die Liste wird jedoch immer kürzer seit Erscheinen von MS-SQL 2005 Express.

Anmerkung:

Mit dem erscheinen von der MS-SQL 2005 Express Edition sind solche Frontends nicht mehr notwendig, denn für die Express Edition steht die Management Console von Microsoft kostenlos zur Verfügung.

2011-08-17 16:03
Martin Richter

Analyse von Fehlern bei der Installation von AG-VIP SQL

Beschreibung:

Wenn es zu Installationsproblemen mit AG-VIP SQL kommt kann es nützlich sein ein Protokoll der Installation schreiben zu lassen.

Vorgehensweise:

Ein Protokoll der Installation in die Datei c:\log.txt wird durch die Eingabe der folgenden Befehlszeile erreicht:

setup /v"/l*v c:\log.txt" 

 

Das ganze sollte aus einem DOS-Fenster ausgeführt werden aus dem Verzeichnis in dem die setup.exe liegt. Das entsprechende Eingabefenster öffen Sie über Start -> Alle Programme -> Zubehör -> Eingabeaufforderung.

Die Date log.txt kann an unseren Support gesendet werden oder selbst mit einem beliebigen Editor geöffnet werden.

 

 

2008-01-11 13:50
Martin Richter

Anzeige der verwendeten Datenbank in AG-VIP SQL

Beschreibung:

In AG-VIP SQL ist es möglich über einen internen versteckten Schalter, die jeweils verwendete Datenbank und den genutzten Datenbank-Server in der Kopfzeile des Programmes anzuzeigen.

Zusätzlich wird mit dieser Option auch der angemeldete Anwender in der Kopfzeile des Programmes mit angezeigt.

Vorgehensweise 1: 

Dazu ist der folgende Eintrag in der Registry zu erzeugen:

  1. Starten von REGEDIT.EXE 
  2. Auswahl des Pfades HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL 
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORD-Wert auf ShowConnection umbenennen
  5. Den neuen Wert auf 1 setzen.

Wird der Wert auf 0 zurück gesetzt oder der Eintrag aus der Registry gelöscht, so erfolgt keine spezielle Anzeige mehr in der Kopfzeile.

Vorgehensweise 2: 

Die gleiche Funktion kann erreicht werden indem auf der Befehlszeile der Schalter -showdbname mit angegeben wird.

  1. Klicken Sie dazu mit der rechten Maustaste auf das Symbol mit dem Sie AG-VIP SQL starten.
  2. Wählen Sie Eigenschaften
  3. Hinter dem Zeil ergänzen Sie ein Leerzeichen und den Text -showdbname
Vorgehensweise 3:

Ergänzen Sie in der Datei AGVIP.INI den im Abschnitt [Database] den Eintrag ShowConnection.

  1. Öffnen Sie mit dem Editor (Zubehör), die Datei AGVIP.INI aus dem Programmverzeichnis
  2. Suchen Sie den Abschnitt [Database], ist dieser nicht vorhanden ergänzen Sie diesen Eintrag am Ende der Datei.
  3. Fügen Sie nun unter dem Abschnitt [Database] die Zeile
    ShowConnection=1
    ein.

2011-08-17 16:02
Martin Richter

Asterisk TK-Anlage - TAPI

Was ist Asterisk?

Asterisk ist eine kostenlose OpenSource VoIP Telefonanlage (PBX) auf Linux-Basis. Der Download und weitere Informationen ist unter www.asterisk.org möglich.
Uns erreichen zunehmend mehr Anfragen, von Unternehmen, die die Asterisk Telefonanlage einsetzen.

Administration / Einrichtung

Asterisk kann flexibel angepasst werden. Die Flexibilität führt aber zu einem hohen Maß an Komplexität, der über Kommandozeilen gesteuerten PBX. (http://pbx-manager.de/asterisk.php)
Mittlerweile hat sich ein ganzer Dienstleistungsbereich entwickelt, der Asterisk TK-Anlagen für Kunden anpasst und administriert. Selbst große Unternehmen, wei z.B. Aspect, sind auf diesen Dienstleisterzug aufgesprungen.

Zunehmend mehr Unternehmen nutzen Asterisk, um darauf eine eigene grafische Oberfläche zu setzen, und dadurch eine vollwertige leistungsstarke VoIP-TK-Anlage anzubieten.

Daneben gibt es eine Reihe kostenpflichtiger Zusatzprogramme zu Asterisk.

TAPI-Treiber für Asterisk

Es gibt eine große Anzahl TAPI-Treiber für die Asterisk PBX. Allerdings habe ich bislang noch keine Informationen über die Leistungsmerkmale oder Qualität der Treiber enthalten. Ich bin dankbar für Infos:

Hilfreiche Links:

 

2016-01-25 10:21
support@grutzeck.de

Beim Start von AG-VIP SQL wird die GDIPLUS.DLL nicht gefunden

Beschreibung:

Beim Start von AG-VIP SQL auf einem Windows 2000 Rechner kommt es zu der Fehlermeldung:

AGVIP.EXE - DLL nicht gefunden
Die Dynamic Link Library GDIPLUS.DLL wurde nicht im angegebenen Pfad xyz gefunden.

Ursache: 
Die neuen AG-VIP SQL Programmversionen ab 1.10.x brauchen die GDIPLUS.DLL.
Erfolgt die Installation s
erverseitig auf einem Windows 2003 Server, dann wird diese Datei nicht mit kopiert, da diese bereits zum Betriebssystem gehört. Wird nun von einem älteren Windows 2000 Rechner AG-VIP SQL gestartet kann es sein, dass diese DLL nicht installiert ist. Diese Datei würde nur bei direkten Installationen auf einem Arbeitsplatz durch unser Setup installiert.
Lösung:

Diese Datei kann von unserer Homepage herunterladen werden:
http://www.grutzeck.de/download/GDIPLUS.zip

Entpacken Sie diese Datei und kopieren Sie diese in das C:\WINDOWS\SYSTEM32 Verzeichnis des Rechners.

Windows 2003, XP und Vista Rechner sind von diesem Effekt nicht betroffen. In diesen Fällen gehört die Datei GDIPLUS.DLL zum Betriebssystem und sollte nicht ersetzt werden.

2008-01-09 15:29
Martin Richter

Datenbank Update mit abweichendem Verbindungsdateien oder mehreren Datenbanken

Beschreibung: 

Alle AG-VIP SQL Programme nutzen standardmäßig die Datei AGVIP.AGDB. Wird also eines der Programme AGVIP.EXE, AGVIPDBUpdate.EXE aufgerufen, dann eine Verbindungsdatei mit dem Namen AGVIP.AGDB gesucht und verwendet. Ist diese Datei nicht vorhanden so erfolgt eine Fehlermeldung.

Tipp:

Hat man nun mehrere Verbindungsdateien oder auch mehrere unterschiedliche Datenbanken mit den entsprechenden Verbindungsdateien, dann kann es mühsam sein ein Datenbank Updatedurchzuführen. Denn dazu muss AGVIPDBUpdate.EXE mit dem jeweiligen Verbindungsdateinamen aufgerufen werden.
Hier kann ein kleiner Trick helfen.

Man öffnet den Explorer und zieht die markiert die Verbindungsdatei und zieht diese auf den Namen der EXE Datei AGVIPDBUpdate.EXE. Das Update-Programm startet und das Update wird für die gegebene Verbindungsdatei durchgeführt.

Gleiches funktioniert auch mit AGVIP.EXE. In diesem Fall wird AGVIP.EXE mit der entsprechenden Verbindungsdatei gestartet.

2008-01-18 15:32
Martin Richter

Einrichtung und Installation der virtuellen Telefonanlage AG-PBX

A. Was ist die virtuelle AG-PBX?

Die virtuelle AG-PBX ist eine Simulation einer Telefonanlage, die über eine 3rd-Party-TAPI-Schnittstelle verfügt.
Dabei können Sie frei definieren, über wie viele interne und Amtsleitungen, die PBX verfügen soll, mit welcher Häufigkeit Ereignisse, wie besetzt, keine Verbindung, falsche Telefon-Nr. usw. auftreten. Wie schnell eine Verbindung zustande kommt und wie lange ein Gespräch im Durchschnitt dauern soll (Min, Max).

B. Einrichtung der virtuellen AG-PBX

Die virtuelle AG-PBX besteht aus zwei Komponenten:

  • AGPBXCallSimulator.tsp
  • AGPBXCallSimulator.ini

Die AGPBXCallSimulator.ini Datei enthält die Einstellungsparameter für die virtuelle AG-PBX. Die Datei AGPBXCallSimulator.tsp ist der TAPI-Treiber für die virtuelle AG-PBX.

  1. Kopieren Sie bitte die Datei AGPBXCallSimulator.tsp sowie die Datei AGPBXCallSimulator.ini in das c:\windows\system32 Verzeichnis.
  2. Wechseln Sie nun in die SYSTEMSTEUERUNG von Windows und öffnen den Bereich TELEFON UND MODEMOPTIONEN.
  3. Wechseln Sie in den Reiter ERWEITERT und aktivieren den HINZUFÜGEN-Schalter.
    Sie finden dort nun den neuen TAPI-Treiber AG-PBX SIMULATOR SERVICE PROVIDER.
  4. Diesen TAPI-Treiber bitte markieren und HINZUFÜGEN-Schalter wählen.
  5. Verlassen Sie die Windows SYSTEMSTEUERUNG.
  6. Nehmen Sie ggf. Anpassungen an der Simulation vor, in dem Sie die AGPBXCallSimulator.ini bearbeiten. Liegt Ihnen keine *.INI Datei vor, wird diese beim ersten Start des TSP automatisch erzeugt. Die Simualationsparameter sind dann ggf. anzupassen.
  7. Der TSP erzeugt automatisch eine Protokolldatei mit dem Namen AGPBXCallSimulator.log. In dieser Datei werden alle Anwahlversuche und die vom TSP errechnete zufällige Reaktion, die vorgesehen ist verzeichnet. Es werden insgesamt 9 Protokoll Dateien rotierend erhalten.
C. Erklärung der Simulationsparameter der AGPBXCallSimulator.ini
Im Block [TSP]
  • NumInternalDigits=2
    Anzahl der internen Nebenstelle.
    "2" = zweistellige Nebenstellen-Nr., z.B. 20, 30, 40
  • BaseLineNo=10
    Niedrigste Nummer der Nebenstelle (bei zweistelligen Nebenstellennummern 10, bei dreistelligen 100, etc.)
  • IntLines=20
    Anzahl der internen Leitungen zu den Agentenarbeitsplätzen, Beginnend mit BaseLineNo.
  • ExtLines=20
    Anzahl der externen Leitungen zum Amt hin
  • Im Block [Outbound]:
    • Busy=5 
      Prozentzahl, wie viel Prozent aller Anwahlversuche als "besetzt" retourniert werden sollen. "5" führt zu 5% besetzten Anwahlversuchen.
    • WrongNumber=2
      Prozentanzahl der Anwahlversuche, die als falsche Telefon-Nr. gelten "2" ergibt 2 Prozent ungültiger Ruf-Nr.
    • NoConnect=23
      Prozentanzahl der Verbindungen, bei denen niemand nach x Sekunden abnimmt. "23" In 23 % aller Anwahlversuchen nimmt die Gegenstellt das Gespräch nicht an.
    • MinTimeToConnect=5
      Minimale Zeit, die die PBX benötigen soll, um eine erfolgreiche Verbindung herzustellen.
    • MaxTimeToConnect=25
      Maximale Anzahl Zeit in Sekunden, die die PBX auf eine Verbindung wartet. Danach gilt der Anwahlversuch als "Keine Verbindung"
    • MinTimeConnection=30
      Minimale Gesprächsdauer für ein verbundenes Telefonat.
    • MaxTimeConnection=90
      Maximale Gesprächsdauer in Sekunden für ein verbundenes Telefonat. Die PBX-Simulation verteilt dabei die Gesprächsdauern zwischen minimaler und maximaler Gesprächsdauer gleichmäßig.
    • TimeUntilBusy=4000
      Anzahl Millisekunden, die vergehen, bis die AG-PBX einen Besetzt-Status liefert.
    • TimeUntilWrongnumber=4000
      Anzahl Millisekunden, die die virtuelle AG-PBX benötigt, um eine falsche Ruf-Nr. zurück zu liefern.
Im Block [Timing]:

Alle Angaben in diesem Block sollten nicht verändert werden. Hier kann das Zeitverhalten des TAPI-Treibers bei den verschiedensten Nachrichten des TSPs fein eingestellt werden. Alle Werte sollten auf 200 Millisekunden stehen bleiben.

  • Reply=200
  • Offering=200
  • Accepted=200
  • Answer=200
  • Dialtone=200
  • Dialing=200
  • Proceeding=200
  • CallstateDisconnect=200
  • CallstateIdle=200
  • Ringback=3000

Durch den Eintrag Ringback wird gesteuert alle wieviel Millisekunden ein "Ruf geht durch" Signal vom TSP zurückgemeldet werden soll. "3000" bedeutet, dass ein Ringback alle 3 Sekunden erfolgt. Wird dieser Wert auf 0 gesetzt, dann erfolgt nur ein einziges Ringback Signal.
Dies kann bei einem Test die Ausgabe in die Protokolle erheblich minimieren.

2011-08-17 15:37
Martin Richter

Installationsvorraussetzungen für AG-VIP SQL

Beschreibung:

Für die Installation von AG-VIP SQL sind bestimmte Vorraussetzungen notwendig.

Server:

  • Mind. lokale Administratorrechte
  • MS-SQL Server 2014 oder höher mit installierten aktuellen Servicepacks.
    Weiterführende Infos zu den MS-SQL-Versionen und technischen Voraussetzungen finden Sie unter http://www.microsoft.com/germany/sql/
  • Microsoft SQL-OLEDB Provider / SQL Native Client ab Version 2012 oder später
  • Bei Serverinstallation von AG-VIP ca. 800 MB für Programmverzeichnis von AG-VIP sowie Freigabe des Ordners mit mind. Lese-Rechten für die Clients, um die AGVIP.EXE aus dem Programmverzeichnis aufrufen zu können.
  •  Die optionale Installation von AG-VIP Backend Service bzw. AG-VIP Job Scheduler erfordert mindestens Windows 8.1, Windows 2012 R2 Server oder später.

Client:

AG-VIP SQL ist eine 32 Bit Anwendung, die unter 64 Bit Betriebssystemen lauffähig ist. Dabei wird AG-VIP SQL mithilfe von Windows-32-on-Windows-64 (WOW64) ausgeführt.
Für die Verwendung des Outlook AddIns empfiehlt es sich Office 2013 oder Office 2016 wie von Microsoft empfohlen als 32 Bit Version zu installieren. Die 64bit Version wird durch das Addin auch unterstützt.

  • Mind. lokale Administratorrechte zur Installation
  • ab Windows 8.1 oder später mit entsprechender empfohlenen mindest-Hardwareanforderungen. (Im Allgemeinen verbraucht AG-VIP SQL weniger Systemressourcen als Microsoft Office)
    AG-VIP SQL ist lauffähig unter MS-Terminal-Server oder in Citrix Umgebungen. Beachten Sie bitte, dass nicht alle TAPI-Treiber in Remote- oder Terminal Server-, bzw. Citrix-Umgebungen funktionsfähig sind.
  • Netzwerkanbindung an den entsprechenden an den MS-SQL-Server via TCP/IP oder Named Pipes
  • Netzwerkanbindung an optionale Dienste über Named Pipes
  • Outlook-Plugin: Setzt MS-Outlook 32/64 Bit ab Version 2010 oder später voraus.
  • Musterhilfsmittel vorhanden für die Dokumenterstellung für MS-Office 2010 oder höher
  • Net Framework ab Version 4.5 oder später
  • Microsoft SQL-OLEDB Provider / SQL Native Client ab Version 2012 oder später
  • Aktuellstes Windows Update für eingesetztes Windows Betriebssystem

Für CTI-Funktion:

  • SIP/VoIP Zugänge für die Clients. Entsprechende Zugangsdaten und Portfreigaben müssen für alle Clients vorhanden sein.
  • TAPI fähige Wähleinrichtung mit Interactive Voice für Telefoniefunktion
    Folgende TAPI-Funktionen werden von AG-VIP unterstützt:
    Outbound:
    - Erkennung des Verbindungsaufbau
    - Besetzt: busy
    - Falsche Ruf-Nummer: bad address, wrong number
    - Übermittlung abgehende Ruf-Nr. wird über dwOrigAddressOffset sowie dwCallingPartyIDOffset realisiert
    Inbound:
    - Identifizierung Anrufer über eingehende Rufnummer: CallerID
    - Identifizierung zugehöriger Kampagne / Auftraggeber über angewählte (CalledID) oder weiterleitende Ruf-Nummer (Redirected ID)
    Tipp: unter https://kb.grutzeck.de/content/21/441/de/tapi_test-tool-fuer-ag_vip-sql.html finden Sie ein kostenloses Testtool, um unabhängig von einer AG-VIP Installation die Funktionalität des TAPI Treibers zu testen und protokollieren.

AG-VIP SQL ist lauffähig unter Terminal-Server oder in Citrix Umgebungen.
Beachten Sie bitte, dass nicht alle TAPI-Treiber in Remote- oder Terminal Server-, bzw. Citrix-Umgebungen funktionsfähig sind.

 Lizenzen mit Dongle Softwareschutz:

  • Lizenzen mit Dongle Softwareschutz:
    Dongleserver: USB (Typ 1.1/2.0, 5V, 5...60mA), ab Windows 8.1 (32 oder 64 Bit), oder ab Windows Server 2012 R2.
    Für die direkte Installation der WiBu Codemeter Software kann auch Apple Mac OS X ab 10.3, Linux mit Kernel 2.4.x oder 2.6.x mit i386 (ia32 bzw. x86_64) Architektur zu Einsatz kommen.

 Lizenzen mit Internet Softwareschutz:

  • Eine bestehende Internetverbindung während der Nutzung von AG-VIP SQL

Hinweis:

Weder Windows Server 2012, Windows 8, Windows Vista, Windows 2008 Server, Windows 2000, NT4 oder Windows 9x werden von AG-VIP SQL unterstützt.

2024-02-20 12:02
Martin Richter

Längenbeschränkung für Benutzername und Kennwort in Verbindungsdatei AGVIP.AGDB

Beschreibung:

In der Verbindungsdatei von AG-VIP SQL wird bei Verwendung der SQL Authentifizierung der Benutzername und das Kennwort gespeichert.

Das Kennwort darf allerdings nur eine maximale Länge von 32 Zeichen haben.
Der Benutzername ist auf 40 Stellen begrenzt.

Da lange Kennworte oft per Copy&Paste in die Anmeldebildschirme übertragen werden fällt es manchmal nicht auf wenn längere Kennworte abgeschnitten werden, da das Kennwort in diesem Fenster verdeckt angezeigt werden und die Begrenzung nicht auffällt.

Diese Beschränkungen sind by Design. 

2015-08-18 08:34
Martin Richter

MS-SQL Server Authentifizierung umstellen

Beschreibung:

Die MSDE und der MS-SQL Server unterstützen zwei Authentifizierungs Modis.

  1. Nur Windows Authentifizierung
  2. Windows Authentifizierung und SQL-Server Authentifizierung

In den meisten Fällen ist nach der Installation einer MSDE oder eines MS-SQL Server nur die Windows Authentifizierung aktiv.

Was bedeutet es wenn nur Windows Authentifizierung eingestellt ist?

Das bedeutet, dass auch beim Anlegen der Datenbanken Rechte für die existierenden Benutzerkonten eingerichtet werden müssen. Zudem muss der Anwender der die Datenbanken anlegt Administrative Rechte im SQL Server (MSDE) haben. Ist dies nicht der Fall kann auch mit der Kenntnis eines "sa" Kennwortes keine Datenbank angelegt werden und keine Verbindung.
Im Allgemeinen bedeutet es auch, das nach dem Anlegen der Datenbank, die entsprechende Windows Benutzergruppe den Zugriff auf die SQL Datenbank zugeteilt bekommen muss. Dies ist bei der MSDE mangels Userinterface nicht ohne weiteres möglich.

Was ist der Vorteil der SQL Authentifizierung?

Es gibt einen entsprechenden Usernamen und ein Kennwort das den Zugriff regelt. Dieses Beiden Informationen werden in der Verbindungsdatei (.agdb) von AG-VIP SQL verschlüsselt hinterlegt. Nur AG-VIP SQL und jeder der das Kennwort kennt ist somit in der Lage eine Verbindung zu der Datenbank aufzubauen.
Wird ein Zugriff über die Windows Authentifizierung gestattet, dann kann jeder Anwender mit jedem Programm (also auch Access) auf die AG-VIP SQL Datenbank zugreifen und alle Daten auslesen und manipulieren. Ein Zugriff über die SQL-Server Authentifizierung erlaubt eine Datenbank wirklich abzuschotten und nur dem Programm (und nicht dem Anwender) den Zugriff zu gestatten.

Wie stellt man die Authentifizierung um?
  1. MS-SQL Server 2000
    Beim MS-SQL Server öffnet man den Enterprise Manager. Klickt mit der rechten Maustaste, den entsprechenden Server an und wählt Eigenschaften. In den Eigenschaften wählt man den Karteireiter Sicherheit aus. Dort kann man nun die gewünschte Einstellung "Windows und SQL-Server" vornehmen.
  2. MSDE
    Bei der MSDE kann man den folgenden Registry Schlüssel verändern (funktioniert auch beim MS-SQL Server):
    HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
    Wert 1 = Nur Windows Authentifizierung
    Wert 2 = Windows Authentifizierung und SQL-Server Authentifizierung
  3. MS-SQL Server 2005 (Express Edition)
    Beim MS-SQL Server 2005 öffnet man das Management Studio. Klickt mit der rechten Maustaste, den entsprechenden Server an und wählt Eigenschaften. In den Eigenschaften wählt man den Karteireiter Sicherheit aus. Dort kann man nun die gewünschte Einstellung "Windows und SQL-Server" vornehmen.

In allen Fällen muss der Server oder zumindest alle MS-SQL/MSDE Services neu gestartet werden.

In der normalen Installation der MSDE ist die "nur Windows Authentifizierung" eingestellt. Die Installation der MSDE von unserer Demo bzw. Lizenz-CD erlaubt "Windows Authentifizierung und SQL-Server Authentifizierung".
Dies hat zur Folge das bei den meisten bereits bestehenden MSDE Installationen die Authentifizierung umgestellt werden muss.
Achtung in diesem Fall ist oft das sa Kennwort unbekannt oder es ist dringend empfohlen das sa Kennwort zu ändern.

Siehe auch:

Ändern des sa Kennwortes in der MSDE

2011-08-17 15:59
Martin Richter

Reparatur einer bestehenden AG-VIP SQL Installation erzwingen

Beschreibung:

Beim erneuten Aufruf des AG-VIP SQL Setups wird unter anderem eine Reparatur der Installation angeboten.
Diese Reparatur soll alle alten Dateien ersetzen und fehlende Dateien neu installieren. Bis zur Version 1.08.007 wurden unter bestimmten Umständen jedoch alte Dateien durch die Reparatur nicht ersetzt. Eine Reparatur alter Dateien war also nur zu erreichen indem die entsprechenden Dateien gelöscht wurden und anschließend die Reparatur-Installation durchgeführt wird. Ab der Version 1.08.008 funktioniert auch das Ersetzen alter Dateien korrekt.

Man kann jedoch in jedem Fall eine Reparatur Installation erzwingen und die entsprechenden Dateien ersetzen lassen. Dies geschieht durch Aufruf des Setup Programms mit bestimmten Parametern:

Vorgehensweise:

Unter Start Ausführen gibt man die folgende Befehlszeile ein:

<pfad>\SETUP.EXE /V"REINSTALL=ALL" 


Ist ein Update über eine gepackte EXE Datei durchgeführt worden, dann lautet die Befehlszeile:

<pfad>\VIP_SQL_1xxyyy.exe -a /V"REINSTALL=ALL"


In diesem Fall muss wie gewohnt das gültige Kennwort angegeben werden.

Diese Parameter dürfen nicht für die erste Installation, oder die Installation eines Updates angegeben werden.

Während der Installation eines Updates oder einer Reparatur-Installation darf das Programm nicht genutzt werden!

 

2008-01-18 11:53
Martin Richter

Beschreibung des Client-Setups für AG-VIP SQL

Beschreibung:

SetupAgvipClient.exe ist eine EXE Datei, die ein Setup für einen Arbeitsplatz durchführt, damit AG-VIP SQL auf einem Client PC gestartet werden kann. Hierbei werden außer dem manuellen Tapi-Treiber, keine Dateien kopiert sondern nur Registrierungsvorgänge für alle benötigten COM Komponenten vorgenommen.
SetupAgvipClient erzeugt automatisch einen Eintrag in den Systemeinstellungen "Software" des entsprechenden Rechners für eine Deinstallation.

Achtung: Die Installation benötigt mindestens Rechte eines Hauptbenutzers!

Wird SetupAgvipClient.exe ohne Parameter gestartet erfolgt, dann wird eine Installation gestartet und es erfolgt eine Sicherheitsfrage.

Bei dieser Installation werden Symbole im Ordner Programme und auf dem Desktop angelegt.

Die Sicherheitsabfrage kann übergangen werden durch den Befehlszeilenschalter "/s". Durch diesen Schalter werden auch Warnungen bei der Installation unterdrückt, gravierende Fehlermeldungen werden nicht unterdrückt.

Alle Befehlszeilenschalter des Programms SetupAgvipClient:
  • /u - Deinstallation (auch in Verbindung mit /s möglich)
  • /s - Unterdrücken von Fragen und Warnmeldungen
  • /m - Installation eines Symbols im Ordner Programme
  • /d - Installation eines Symbols auf dem Desktop
  • /? - Anzeige aller Optionen

Erfolgt keine Angabe von Optionen erfolgt eine Installation mit den Optionen /m /d.

2014-05-07 17:09
Marc Pascal Busch

Zurücksetzen der Fensterpositionen in AG-VIP SQL

Problem:

Es kommt immer wieder vor, dass die Fensterpositionen in AG-VIP SQL so verstellt sind, dass ein vernünftiges Arbeiten nicht mehr möglich ist. Man kann die Fensterpositionen löschen, indem man den gesamten Ast HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL löscht. Dies ist aber insofern negativ, als auch andere Einstellungen, wie die letzte Suche und Filter in der Historie dadurch gelöscht werden.

Lösung 1 (ab der Version 2.05.002) direkt mit AG-VIP SQL:

Direkt in den Fenstereinstellungen gibt es einen neuen Schalter UI zurücksetzen.
Gehen Sie wie folgt vor.

  • Klicken Sie mit der rechten Maustaste in das Ribbon oder eine Schalterleiste.
  • Wählen Sie aus dem Menü Symbolleiste anpassen 
  • In dem neuen Einstellungen-Dialog wählen sie nun den Karteireiter Benutzeroberfläche
  • Klicken Sie hier den Schalter UI Zurücksetzen. 

Dieser Schalter löscht alle Einstellungen in der Registry. Die aktuellen Einstellungen werden jedoch nicht zurückgesetzt. 

Lösung 2 direkt mit einer Batch-Datei:
  • Starten Sie die Sie die Datei ResetUI.bat.
  • Bestätigen Sie durch die Eingabetaste die Ausführung des ResetUI Befehls
  • Es erscheint eine Meldung, dass die Fensterpositionen gelöscht wurden. Drücken Sie die Eingabetaste.

Alle Fenster Positionen wurden gelöscht.

Arbeitsweise: Durch den Batch wird der Befehl REG ausgeführt und die relevanten Einträge in der Registry entfernt.
Vorteil: Es sind keine Adminsitratorrechte nötig. Nur die Ausführung des REG-Befehls muss möglich sein.

Lösung 3 indirekt mit einer Batch Datei und dem Start von AG-VIP SQL:

In der Anlage zu diesem Artikel befindet sich eine ZIP-Datei. Laden Sie diese herunter und entpacken diese. In dieser Datei befinden sich 3 Dateien.

  • Starten Sie die Sie die Datei AGVIP-ResetUI.bat.
  • Bestätigen Sie durch die Eingabetaste die Ausführung des ResetUI Befehls
  • Melden Sie sich in AG-VIP SQL an.
  • Beenden Sie das Programm
  • Es erscheint eine Meldung, dass die Fensterpositionen gelöscht wurden. Drücken Sie die Eingabetaste.

Alle Fenster Positionen wurden gelöscht.

Arbeitsweise: Durch den Batch wird die AGVIP.EXE mit der Option -ResetUI gestartet. Diese Option löscht alle aktuellen Fensterpositionen.
Vorteil: Es sind keine Administratorrechte nötig. Nur die normale Ausführung von AGVIP.EXE muss möglich sein.

Lösung 4 direkt mit einer Reg-Datei:

In der Anlage zu diesem Artikel befindet sich eine ZIP-Datei. Laden Sie diese herunter und entpacken diese. In dieser Datei befinden sich 3 Dateien.

  • Doppelklicken Sie die Datei ResetUI.reg
  • Bestätigen Sie den Zugriff als Administrator.
  • Bestätigen Sie den Import der Datei und setzen den Vorgang fort in dem Sie auf Ja klicken.
  • Es erscheint die Meldung, dass die Reg-Datei erfolgreich importiert wurde.

Arbeitsweise: Durch die Anweisungen in der Reg-Datei werden die entsprechenden Knoten in der Registry gelöscht.
Nachteil: Administrator Rechte sind notwendig.

Lösung 5 direkt durch manuelles Löschen der Registry Einträge:

Wer nur die Fensterposition direkt aus der Registry entfernen will, der muss die folgenden Äste löschen.

  • Starten Sie den REGEDIT.EXE
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\Settings
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsAddrSet
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsEmpty
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsProject
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsProjectCRM 
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsRibbon
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsStateDesigner
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsWorkflow
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsWorkflowScript 
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL FormEditor\Settings
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL ScriptEditor\Settings

Nachteil: Adminisrative Rechte nötig zum Start von REGEDIT.EXE

2023-11-07 16:33
Martin Richter

AGVIPDBUpdate meldet: Das Update benötigt n MB freien Plattenplatz auf dem SQL-Server, aber es stehen nur 0 MB freier Speicher zur Verfügung.

Beschreibung:

Ein neues Update von AG-VIP SQL wurde installiert. Es ist notwendig ein Datenbankupdate durchzuführen. Während des Updates erscheint jedoch die folgende Fehlermeldung:

Das Update benötigt n MB freien Plattenplatz auf dem SQL-Server, aber es stehen nur 0 MB freier Speicher zur Verfügung.
Das Update kann nur durchgeführt werden, wenn genug freier Festplattenspeicher auf dem SQL-Server zur Verfügung steht!

Nach dem bestätigen dieser Meldung steht das Programm unverändert an der bisherigen Stelle im Assistenten und es wird kein Datenbankupdate durchgeführt.

Ursache:

Seit der Version 1.10 wird im Datenbank Update Programm für AG-VIP SQL AGVIPDBUpdate auch eine Prüfung durchgeführt wieviel Speicherplatz verfügbar ist bzw. wann die letzte Datensicherung druchgeführt wurde.

Je nach Art der Berechtigung und wie die Verbindungsdatei erzeugt wurde ist es jedoch möglich, dass das Programm AGVIPDBUpdate auf dem SQL Server keinen freien Speicherplatz ermitteln kann, weil  es nicht über genügend Rechte verfügt.

Lösung: 

Um das Update dennoch durchzuführen kann man AGVIPDBUpdate mit der Option -force zwingen diese Warnungen auf eigene Gefahr hin zu übergehen. Dazu geht man wie folgt vor.

  1. Wählen Sie aus dem Start Menü Start -> Ausführen. Oder man drückt Windows-Taste+R
  2. Geben Sie dort den vollständigen Pfad des Update Programmes ein. Einfach geht dies in dem man zusätzlich ein Explorerfenster öffnet und die Datei AGVIPDBUpdate.exe auf das offene Ausführen Fenster zieht.
  3. Hinter den ausgeschrieben Programmnamen schreibt man zusätzlich die Option -force mit einem Leerzeichen getrennt vom Dateinamen. In einer Standardinstalation lautet also die Befehlszeile:
    "C:\Programme\AG-VIP SQL\AGVIPDBUpdate.exe" -force
  4. Anmerkung: Soll ein Datenbankupdate mit einer anderen Verbindungsdatei als AGVIP.agdb durchgeführt werden, dann muss zusätzlich noch der Name der Verbindungsdatei mit angegeben werden.

Führen Sie das Update wie gewohnt durch. Nach dem Erscheinen der obigen Meldung erfolgt nun die folgende Frage:

Sie haben die Option /FORCE gesetzt!
Wollen Sie wirklich auf eigene Gefahr hin fortfahren, obwohl das System meldet, dass nicht genügend Speicherplatz zur Verfügung steht?

Beantworten Sie diese Frage nun mit Ja.
Das Datenbankupdate wird nun korrekt durchgeführt.

2008-05-23 12:55
Martin Richter

AGVIPDBUpdate meldet: Es wurde noch nie ein Backup Ihrer MS-SQL Datenbank "AGVIP" gemacht! Sie verfügen über keine Datensicherung und Sie können keine Datenrücksicherung nach einem Crash durchführen. Wollen Sie dennoch das Datenbank Update durchzuführen?

Beschreibung:

Ein neues Update von AG-VIP SQL wurde installiert. Es ist notwendig ein Datenbankupdate durchzuführen. Während des Updates erscheint jedoch die folgende Fehlermeldung:

Es wurde noch nie ein Backup Ihrer MS-SQL Datenbank "AGVIP" gemacht! Sie verfügen über keine Datensicherung und Sie können keine Datenrücksicherung nach einem Crash durchführen. Wollen Sie dennoch das Datenbank Update durchzuführen?

Ursache:

Seit der Version 1.10 wird im Datenbank Update Programm für AG-VIP SQL AGVIPDBUpdate auch eine Prüfung durchgeführt wieviel Speicherplatz verfügbar ist bzw. wann die letzte Datensicherung durchgeführt wurde.

Je nach Art der Berechtigung und wie die Verbindungsdatei erzeugt wurde ist es jedoch möglich, dass das Programm AGVIPDBUpdate auf dem SQL Server nicht ermitteln kann ob eine Datensicherung durchgeführt wurde, weil es nicht über genügend Rechte verfügt.

Lösung: 

Wenn Sie sich sicher sind, dass eine Datensicherung durchgeführt wird ignorieren Sie diese Meldung.

Anmerkung:

SQL-Datenbanken können nicht mit einfachen Backup Programmen gesichert werden. So kann NTBackup (mitgeliefertes Datensicherungsprogramm von Microsoft) und die Volumenschattenkopie nur dann SQL-Dateien sichern, sofern die Datenbank im einfachen Wiederherstellungsmodell befinden.

Das einfache Kopieren der Datenbankdateien mit der .mdf und .ldf Erweiterung ist im laufenden Betrieb des SQL-Servers gar nicht möglich. Dazu müssen die Datenbanken erst abgehängt werden oder der SQL-Service beendet werden.

Sie sollten unbedingt über eine Datensicherungsstrategie verfügen, die auch die Daten des SQL-Servers einschließen.

Weiterführende Links und Informationen:

Weitere Informationen zum Thema Datensicherung und Datenbankwartung finden sie im Adminstrator Handbuch in den Kapiteln 4.10 und 4.11.

Übersicht über Wiederherstellungsvorgänge in SQL Server
Implementieren von Wiederherstellungsszenarien für SQL Server-Datenbanken
Ausführen einer vollständigen Datenbankwiederherstellung ...

2008-01-09 15:30
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert<br />

Beschreibung: 

Es wurde eine Installation mit Microsoft-SQL 2008 /2012/2014/1016/2017 (auch Express Edition) durchgeführt.
Auf dem Server wurde eine Verbindungsdatei erfolgreich mit dem Microsoft-SQL Server 2008/2012 SQL Server Native Client (SNAC) bzw. Microsoft OLE DB Provider for SQL  Server  erzeugt.

Wird AG-VIP SQL nach der Installation mit SetupAGVipClient.exe nun auf einem der Client Rechner gestartet, dann erhält man die folgende Fehlermeldung:

AG-VIP SQL
Verbinden zur Datenbank ist fehlgeschlagen!
Es ist ein größeres Problem beim Aufbauen der Verbindung zur Datenbank aufgetreten. Der gemeldete Fehler lautet:
Database open
Microsoft OLE DB Service Components: Klasse nicht registriert

Ursache:

AG-VIP SQL greift auf die MS-SQL Datenbanken mit einem OLE-DB Provider zu. AG-VIP SQL unterstützt  zwei verschiedene OLE-DB Provider.  Zum einen den Microsoft-SQL Server 2012 SQL Server Native Client (SNAC)  und zusätzlich den neuesten Provider Microsoft OLE DB Provider for SQL  Server.

Die entsprechenden OLE-DB Provider werden automatisch mit dem entsprechenden MS-SQL Server installiert und stehen dann auch auf dem Server zur Verfügung . Für den Zugriff von einem beliebigen Client müssen  die passenden OLE-DB Provider jedoch mit installiert werden.

Entsprechende MSI Pakete finden sich auf der Installations CD im Ordner Tools.

SQL 2008 Server:
Tools\sqlncli_2008_x64.msi  (64bit)
Tools\sqlncli_2008_x86.msi (32bit)

SQL 2012/2014/2017 Server:
Tools\sqlncli_2012_x64.msi (64bit)
Tools\sqlncli_2012_x86.msi (32bit)

Seit SQL 2019 Server wird ein neutraler MS-SQL OLEDB Provider als Standard verwendet:
Tools\msoledbsql_x64.msi  (64bit)
Tools\msoledbsql_x86.msi (32bit)

Oder stehen hier zum Download auf unserer Homepage zur Verfügung:

SQL 2008 Server:
http://download.grutzeck.de/sqlncli_2008_x64.msi (64bit)
http://download.grutzeck.de/sqlncli_2008_x86.msi (32bit)

SQL 2012/2014/2017 Server:
http://download.grutzeck.de/sqlncli_2012_x64.msi (64bit)
http://download.grutzeck.de/sqlncli_2012_x86.msi (32bit)

SQL 2019 Server (MS-SQL OLEDB Provider):
http://download.grutzeck.de/msoledbsql_x64.msi (64bit)
http://download.grutzeck.de/msoledbsql_x86.msi (32bit)

Anmerkung:

Nach Möglichkeit sollte immer der neueste passende OLE-DB Provider für den entsprechenden SQL Server verwendet werden.
Der neue Microsoft OLE DB Provider for SQL unterstützt alle uns bekannen Microsoft SQL Server 2008, 2012, 2014, 2016, und 2017 (inkl. aller Express Versionen).

Alle SQL OLE DB Provider sind nach unserer Erkenntnis rückwärtskompatibel, d.h. jeder neue OLE DB Provider funktioniert auch mit älteren SQL Server Versionen..

Auch sind uns sind keine Probleme bekannt, wenn ältetere SQL Native Client Provider mit neueren Servern verwendet werden.
In Einzelfällen wird jedoch von langsameren Verbindungsaufbau oder Verbindungsproblemen berichtet, was sich in unserem Testfeld nicht bestätigen lässt.

Man  kann davon ausgehen, das die Funktionalität der aktuell unterstützten drei Provider untereinander austauchbar und gleich ist. (Dies betrifft die Basisfunktionalitäten, nicht jedoch die individuellen Leistungsmerkmale, die zum Teil gravierend unterschiedlich sind).

Microsoft empfiehlt die Nutzung des neuen Microsoft OLE DB Provider for SQL .
Die Reihe der SQL Native Clients (SNAC)
wird nicht fortgesetzt.
Der neue Microsoft OLE DB Provider for SQL  ist explizit rückwärtskompatibel zum Microsoft SQL 2012 Native Client.  

Siehe auch:

Microsoft Artikel: OLE DB Driver for SQL Server

Welcher OLE-DB Provider wird aktuell verwendet?

2023-11-07 14:48
Martin Richter

Welcher OLE-DB Provider wird aktuell verwendet?

Frage:

Wenn eine Verbindungsdatei zu einer AG-VIP SQL Datenbank erzeugt wurde ist es im nachhinen gut zu wissen welcher OLE DB Provider hier verwendet wurde.

Wie kann man nun ermitteln welcher OLE DB Provider aktuel verwendet wird?

Beschreibung:
  1. Öffnen Sie den Editor über Start -> Ausführen über Notepad und Eingabe-Taste. Oder man startet den Editor über Start -> Alle Programme -> Zubehör -> Editor
  2. Öffnen Sie nun mit dem Editor AGVIP.AGDB aus dem AG-VIP Programmverzeichnis. Dies erreichen Sie auch dadurch, dass Sie den Explorer starten (z.B. Windows-Taste+E) und nun Datei AGVIP.AGDB auf den Editor ziehen.

Findet sich in der Datei eine Zeile die wie folgt beginnt:

InitString=Provider=SQLOLEDB.1;  ...

dann der wird der MS-SQL Server 2000 OLE-DB Provider verwendet. (Dieser wird seit der Version 1.50.001 vom 16.02.2017 nicht mehr unterstützt)


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI.1; ...

dann wird der Microsoft-SQL Server 2005 SQL Server Native Client (SNAC) verwendet. (Dieser kann aktuell noch verwendet werden, wird jedoch im AGVIPDBWizard ab der Version 1.51.002.777 nicht mehr unterstützt)


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI10.1; ...

dann wird der Microsoft-SQL Server 2008 SQL Server Native Client (SNAC) verwendet.


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI11.1; ...

dann wird der Microsoft-SQL Server 2012 SQL Server Native Client (SNAC) verwendet.  


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=MSOLEDBSQL.1; ...

dann wird der neue Microsoft OLE DB Provider for SQL  Server Version 18 verwendet.  (Dieser wird ab der Version 1.51.002.777 vom 17.05.2018 untersützt).


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=MSOLEDBSQL19.1; ...

dann wird der neue Microsoft OLE DB Provider for SQL  Server Version 19 verwendet.  (Dieser wird ab der Version 2.05.003.1055 vom 29.01.2023 untersützt).


Siehe auch:

Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert

2024-12-09 09:44
Martin Richter

Welche Lizenzdatei passt zu welchem Programm? Welches Update kann ich mit der aktuellen Lizenzdatei nutzen?

Beschreibung:

Eine Lizenzdatei enthält Informationen über Ihre erworbene Softwarelizenz. In dieser Datei sind enthalten:

  • Die Seriennummer, die Ihr Produkt identifiziert
  • Die Programmversion für die die Lizenz erworben wurde
  • Ihr Kundenname unter dem die Software registriert ist
  • Ihr zuständiger Händler
  • Die Anzahl der Arbeitsplatz Lizenzen, die erworben wurden.
  • Dongle Verwendung
  • Zusätzliche Optionen, die je nach Produkt freigeschaltet werden können.

Ist keine oder eine ungültige Lizenzdatei vorhanden so meldet AG-VIP SQL die folgende Fehlermeldung:

Das Modul "C:\Programme\AG-VIP SQL\AGVIP.LIC" kann nicht geladen werden bzw. es stimmt nicht mit der Version des aktuellen Programms überein.

Wird bei der Installation keine gültige oder passende Lizenzdatei angegeben, so erhält man die folgende Fehlermeldung:

Die Lizenzdatei in dem angegeben Verzeichnis <Lizenzverzeichnis> hat eine nicht kompatible Version.
Bitte legen Sie eine CD mit einer gültigen Lizenzdatei für die Version 1.21.x.y ein oder wählen Sie ein anderes Verzeichnis mit einer gültigen Lizenzdatei.

Im  Allgemeinen müssen keine zusätzlichen Softwarekomponenten installiert werden, wenn Sie eine zusätzliche Option erhalten. Alle Programmteile werden grundsätzlich installiert. Nur die Freischaltung der Funktion (Workflow) erfolgt über die Lizenzdatei.

Wie ist die Seriennummer aufgebaut? 

Anhand der Versionsnummer lässt sich ermitteln, welche Programme und Lizenzdateien zu einander passen. Dazu ist es wichtig den Aufbau der Versionsnummer zu kennen. 
Alle Programme haben eine interne Versionsnummer. Die Version einer EXE oder DLL Datei lässt sich auch ermitteln, ohne das das Programm gestartet ist und man sich den Info über... Dialog anzeigen lässt. Man klickt dazu im Explorer mit der rechten Maustaste auf die entsprechende Datei und wählt Eigenschaften. In dem Eigenschaftsdialog wählt man nun den Karteireiter Version bzw. unter Vista Details. Unter Windows Vista ist es auch möglich die Version direkt anzeigen zu lassen, indem man mit dem Mauscursor über die Datei fährt. Oder man wählt die Ansicht Kacheln im Explorer.

Die Seriennummer besteht aus 4 Zahlen die durch einen Punkt getrennt sind, z.B.: 1.21.003.460.
Oft wird die dritte Zahl in den Programmen ohne führende Null angezeigt: 1.21.3.460

Die erste Zahl gibt die so genannte Major-Release Nummer an und ist aktuell einstellig. Die zweite Zahl das Minor-Release und ist in unserer Zählung zweistellig (von 00-99). Die dritte Zahl gibt das entsprechende Update an und ist bis zu dreistellig (von 000-999). Die letzte Zahl ist die so genannte Build-Nummer und ist im allgemeinen fortlaufend durchnummeriert.

Welche Lizenzdatei passt?

Auch eine Lizenzdatei hat eine Seriennummer, wie auch das zu installierende Programm. Damit die Lizenzdatei mit dem entsprechenden Programm zusammenarbeitet muss die Major-Release Nummer (erste Zahlengruppe) und die erste Ziffer er Minor-Release Nummer übereinstimmen.

D.h. wen sie über eine Lizenzdatei mit der Version 1.10.013.322 verfügen, dann kann diese Lizenzdatei zusammen mit Programmversionen beginnend von 1.10.000.0 bis 1.19.999.9999 verwendet werden. Die Ziffern, die übereinstimmen müssen werden hier fett und kursiv dargestellt.
Das bedeutet, dass diese Lizenzdatei nicht mit einem Programm der Version 1.21.003.460 verwendet werden kann. Die Versionsnummer unterscheidet sich in der zweiten Zahlengruppe an der ersten Stelle.

Umgekehrt kann eine Lizenzdatei mit der Version 1.21.003.460 nicht rückwirkend für die Programmversion 1.10.x.y verwendet werden.

Was ist an der Lizenzdatei besonderes wenn ich einen Dongle habe?  

Dongle und Lizenzdatei gehören immer zusammen. In dem Dongle ist die Seriennummer verzeichnet, für die das Produkt lizensiert ist.

Das heißt der Dongle passt genau nur zu einer Seriennummer und damit nur zu einerbestimmten Lizenzdatei.
Die Lizenzdatei kann getauscht werden, der Dongle ist davon unberührt, solange sich nicht die Anzahl der Benutzer ändert oder die Seriennummer.
Wenn sich die Seriennummer oder die Anzahl der Anwender ändert, dann erhalten Sie szusätzlich zu der neuen Lizenzdatei auch eine Dongle-Update Datei.

Sofern Sie den Lizenz-Manager verwenden müssen Sie sich darum gar nicht kümmern. Ziehen Sie einfach die Dateien, die Sie von unserem Vertrieb oder Support erhalten auf den Lizenzmanager.

Welche Dateien muss ich archivieren?

Um immer wieder die AG-VIP SQL Software installieren zu können, benötigen Sie nicht nur das Programm-Update sondern eben auch die passende Lizenzdatei. Die aktuelle Lizenzdatei befindet sich im Programmverzeichnis von AG-VIP SQL.
Bei der Auslieferung erhalten Sie eine CD, auf der im Hauptverzeichnis Ihre aktuelle Lizenzdatei enthalten ist. Vergessen Sie auch nicht das Kennwort für das letzte Programmupdate mit zu archivieren!

Achtung: Da wir mehrmals im Jahr Updates herausgeben, veraltet die Lizenz-CD sehr schnell. Legen Sie sich deshalb immer aktuelle Datensicherungen der Updates, Kennwörter und Lizenzdateien an!

Installation der Lizenzdatei:

Es gibt keine spezielle Installation von Lizenzdateien. Die Lizenzdateien müssen nur einfach in das entsprechende Programmverzeichnis kopiert werden. Hierbei hilft Ihnen der Lizenzmanager AGVIPLicenseManager.exe.

Verwenden Sie für die Installation iimmer den Lizenzmanager, denn er garantiert, dass alle Fälle der Installation korrekt behandelt werden und führt auch alle notwendingen Prüfungen aus. Sollte es Probleme geben, erhalten Sie über den Lizenz-Manager detailierte Auskunft.
Wir empfehlen nicht die Dateien selbst zu entpacken und zu kopieren!

Der Lizenz-Manager zeigt beim Start Ihre aktuelle Lizenz an. Das Programm benötigt Administrative rechte, bzw. Schreibzugriff auf das Programmverzeichnis. Sie können nun die neue Lizenzdatei einfach auf dieses Programm ziehen (auch als ZIP-Datei) und damit die neue Lizenz installieren. Oder Sie wählen den Neu... Schalter um die Datei selbst im Dateisystem auszuwählen.
Die neuen Lizenzdaten werden Ihnen vor der Installation angezeigt.
Die alte Lizenzdatei wird als BAK, Datei gesichert.

Beachten Sie bitte, dass es nicht möglich ist direkt aus einer Email eine ZIP-Datei auf den Lizenzmanager zu ziehen. Speichern Sie die empfangene ZIP-Datei auf dem Desktop und ziehen Sie sie von dort in den Lizenzmanager.

Beachten Sie, dass ZIP-Dateien, die von uns versendet werden unter Umständen mit einem Kennwort verschlüsselt sind. Dies geschieht damit, Firewalls die Emails mit den Lizenzdateien nicht abfangen und ausfiltern. Das Kenwort, dass in diesem Fall verwendet wird lautet Grutzeck (achten Sie auf die Großkleinschreibung).

Probleme?

Sollten Sie Probleme mit Ihrer aktuellen Lizenz haben wenden Sie sich einfach an unseren Support (support@grutzeck.de) oder Vertrieb (vertrieb@grutzeck.de).

Rechtlicher Hinweis:

Die Unbefugte Weitergabe einer Lizenzdatei an Dritte verstösst gegen den Lizenzvertrag.

2011-04-08 14:06
Martin Richter

Prüfen einer Verbindung zum SQL Server ohne AG-VIP SQL

Beschreibung:

AG-VIP SQL verwendet die Standard MS-SQL Server OLE-DB Provider, die auf dem entsprechenden Rechner installiert sind. Kommt es beim Verbindungsaufbau zu Problemen ist oft unklar wo die Fehlerursache liegt.

Es bietet sich deshalb an, eine Verbindung zum SQL Server mit Standard-Microsoft Komponenten zu testen, die auf jedem Client installiert sind, sofern MDAC_TYP (Microsoft Data Access Components) installiert sind.

Vorgehensweise:
  • Starten Sie die Systemsteuerung
  • Leistung und Wartung auswählen und dort Verwaltung wenn man die Kategorienansicht verwendet. Direkt Verwaltung in der Standardansicht.
  • Dort wählt man den Eintrag Datenquellen
  • Da es sich nur um einen Test handelt, wählt man am besten Benutzer-DSN, d.h. die Daten der Verbindung werden nur für diesen Anwender gespeichert.
  • Wählen Sie nun den Schalter hinzufügen.
  • In der Liste der Treiber finden Sie nun SQL Server und SQL-Native Client wählen Sie den entsprechenden Treiber und  klicken auf Fertigstellen.
  • Geben Sie nun einen Namen ein (z.B. Test). Das Beschreibungsfeld können Sie leer lassen.
    Wählen Sie im Feld Server, Ihren Datenbankserver aus, oder geben Sie die IP-Adresse oder den Namen ein sofern der Server nicht automatisch in der Liste aufgeführt wird. Wenn der SQL-Server nicht die Standardinstanz ist, so muss zusätzlich noch der Instanzennamen mit einem Backslash an den Servernamen angefügt werden. Klicken Sie auf weiter.
  • Geben Sie nun die entsprechenden Informationen für die Authentifizierung ein. D.h. entweder den Benutzernamen und das Kennwort für den SQL-Server. Entsprechend den normalen Installationsanweisungen empfehlen wir hier den Benutzernamen AGUser. Geben Sie das korrekte Kennwort ein, oder verwenden Sie die Windows-Authentifizierung.
  • Wenn Sie den Haken in dem Feld anhaken Zum SQL-Server verbinden, um Standardeinstellungen für die zusätzliche Konfiguration zu erhalten, dann wird wenn Sie auf Weiter klicken bereits ein Verbindung zum SQL-Server hergestellt. Sollten Sie keine Fehlermeldung erhalten ist der Verbindungsversuch bereits erfolgreich verlaufen.
  • Erhalten Sie dagegen eine Fehlermeldung, wie z.B.

Microsoft SQL Server-Anmeldung
---------------------------
Fehler bei der Verbindung:
SQLState: '01000'
SQL Server-Fehler: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Fehler bei der Verbindung:
SQLState: '08001'
SQL Server-Fehler: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server existiert nicht oder Zugriff verweigert.
---------------------------
OK  

  • dann  konnte keine Verbindung zum SQL Server hergestellt werden. Die Ursachen müssen entsprechend der Fehlermeldung analysiert werden.
  • Wenn es gewünscht wird, kann das Erzeugen einer Datenbankverbindung fortgesetzt werden. In diesem Fallmuss auf der nächsten Seite der Datenbankname aus der Liste ausgewählt werden oder manuell eingegeben werden.
    Lassen Sie alle anderen Einstellungen auf den Standardwerten und klicken Sie auf Weiter.
  • Im letzten Dialog sind keine Einstellungen mehr zu machen und sie wählen nur noch Fertigstellen aus.
  • Sie erhalten nun einen Dialog indem Sie erneut die Verbindung testen können über den Schalter Datenquelle testen. Mit OK wird nun die Datenbankverbindung gespeichert.

Man kann nun jederzeit über die Systemsteuerung erneut eine bestehende Verbindung prüfen indem der Verbindungsdialog geöffnet wird und so lange Weiter ausgewählt wird bis wieder der Dialog erscheint mit der Auswahl Datenquelle testen.

Zur weiteren Fehlersuche

In den meisten Fällen liegen die Ursachen in den folgenden Bereichen:

  • Die Namensauflösung zum Server funktioniert nicht. (Evtl. IP Adresse verwenden)
  • Der Server ist nicht in diesem Sub-Netz erreichbar (Ping)
  • Der Server hat einen Instanznamen, der nicht angegeben wurde.
  • Der Server ist nicht auf SQL-Authentifizierung geschaltet (wenn nicht die Windows Authentifizierung verwendet wird)
  • Der SQL-Server befindet sich in einer anderen Domäne oder in keiner Domäne und kann die Windows Authentifizierung nicht durchführen (wenn die Windows Authentifizierung verwendet wird)
  • Berechtigungen für die entsprechende Datenbank wurde nicht gesetzt. 
  • Benutzername und Kennwort stimmen nicht.

2011-08-17 15:57
Martin Richter

Fehlermeldung: Das Programm ist zerstört! - oder - Das Modul "AGVIPS.DLL" kann nicht geladen werden bzw. es stimmt nicht mit der Version des aktuellen Programmes überein.

Beschreibung:

Beim Start eines Programmes kommt es zu der Meldung:

Das Programm ist zerstört!

oder

Das Modul "AGVIPS.DLL" kann nicht geladen werden bzw. es stimmt nicht mit der Version des aktuellen Programmes überein.

Ursache:

Alle unsere Programm benötigen eine Lizenzdatei. Diese Lizenzdatei heißt bei AG-VIP SQL AGVIPS.DLL.

Ist diese Datei nicht vorhanden oder zerstört, oder sie passt nicht zu der aktuellen Programmversion, dann erhalten Sie die oben erwähnte Fehlermeldung.

Siehe auch:

Welche Lizenzdatei passt zu welchem Programm? Welches Update kann ich mit der aktuellen Lizenzdatei nutzen?

2008-03-14 14:03
Martin Richter

Zählung von Lizenzen und Arbeitsplätzen in einer Installation

Grundsätzlich werden in AG-VIP SQL nur aktive Arbeitsplätze gezählt. Das bedeutet, dass jeder Platz auf dem AG-VIP SQL gestartet wird als genutzte Lizenz zählt. Es spielt hierbei keine Rolle wie oft AG-VIP SQL installiert wird.

Wenn in einem System mehrere Lizenzdateien mit unterschiedlichen Seriennummern genutzt werden, dann zählt jede Lizenz für sich. Das heißt wenn AG-VIP SQL gestartet wird, dann wird kontrolliert wie viele Programme bereits mit der Seriennummer laufen, die auch von dem zu startenden Programm verwendet wird.
Ist die Anzahl noch nicht erreicht wird der Start erlaubt. Ist die Anzahl bereits erreicht wird eine Meldung ausgegeben, dass die Anzahl der Arbeitsplätze bereits erreicht ist.

Der Overdial-Server selbst oder andere Dienste von AG-VIP SQL zählen nie als Arbeitsplatz.

Beispiel:

  • Eine normale Netzwerkinstallation wurde mit einer 10er Netzwerklizenz und der Seriennummer N222/91234 durchgeführt. Dann können mit dieser Lizenz 10 Benutzer arbeiten.
  • Ist auf einem externen Arbeitsplatz z.B. eine Extra-Einzelplatz Lizenz erworben worden mit einer anderen Seriennummer (z.B. E223/91234), dann kann ein weitere User mit dieser Lizenz auf der Datenbank arbeiten. Sollte die gleiche Einzelplatz-Lizenz allerdings noch einmal gestartet werden, dann würde eine Meldung erscheinen, die besagt, dass die Anzahl der Arbeitsplätze ausgeschöpft ist, selbst wenn von der 10er Netz Lizenz nicht alle aktiv sind.

Auf diese Weise ist es möglich Lizenzen Additiv zu verwenden und auch für Kooperationspartner zu erwerben, die komplett unabhängig von einander verwaltet werden.

2011-08-18 16:40
Martin Richter

Übersicht über alle veröffentlichten AG-VIP SQL Versionen

Übersicht über alle bisher veröffentlichten AG-VIP SQL Versionen und dessen Servicepacks:

2021

23.08.2021 2.03.003.939
09.07.2021 2.03.002.935
25.06.2021 2.03.002.932
11.05.2021 2.03.001.927
10.05.2021 2.03.001.926
07.05.2021 2.03.001.925
06.05.2021 2.03.001.924
03.05.2021 2.03.001.923
22.04.2021 2.03.001.921
22.01.2021 2.02.002.904

2020

 18.12.2020 2.02.002.898
13.10.2020 2.02.001.889
02.07.2020 2.01.006.879
04.05.2020 2.01.005.874
03.03.2020 2.01.004.868
14.02.2020 2.01.002.866
13.02.2020 2.01.002.865
04.02.2020 2.01.002.863

2019

16.12.2019 2.01.001.858
22.10.2019 2.00.006.853
18.09.2019 2.00.005.846
31.07.2019 2.00.004.838
11.07.2019 2.00.003.832
19.06.2019 2.00.002.827
08.02.2019 2.00.001.810

2018

05.10.2018 1.51.003.792
24.07.2018 1.51.002.783

2017

13.10.2017 1.50.006.764
22.08.2017 1.50.005.757
29.06.2017 1.50.004.747
29.05.2017 1.50.003.744
18.05.2017 1.50.003.742
10.05.2017 1.50.003.738
13.03.2017 1.50.002.731
02.03.2017 1.50.001.730
27.01.2017 1.45.002.724

2016

08.12.2016 1.45.001.717
27.09.2016 1.44.003.710
08.07.2016 1.44.002.702
17.05.2016 1.44.001.693
18.03.2016 1.44.000.686
20.01.2016 1.43.006.676

2015

08.12.2015 1.43.005.673
17.11.2015 1.43.004.669
23.09.2015 1.43.003.659
28.07.2015 1.43.002.651
12.05.2015 1.43.001.639
24.03.2015 1.42.004.626

2014

16.12.2014 1.42.003.607
26.11.2014 1.42.002.600
06.10.2014 1.42.001.598
30.07.2014 1.40.013.591
01.07.2014 1.40.012.585
17.06.2014 1.40.011.583
28.05.2014 1.40.010.581

 

 

2014 

28.03.2014 1.40.009.574
20.03.2014 1.40.008.571
28.01.2014 1.40.007.564 

2013 

11.10.2013 1.40.006.558
21.08.2013 1.40.005.547
05.07.2013 1.40.004.540
13.06.2013 1.40.003.537
07.06.2013 1.40.003.536
23.05.2013 1.40.002.532
18.03.2013 1.40.001.525
28.02.2013 1.40.000.522 
07.03.2013 1.30.005.492 Hotfix 9
30.01.2013 1.30.005.491 Hotfix 8 

2012  

14.11.2012 1.30.005.490 Hotfix 7
29.10.2012 1.30.005.489 Hotfix 6
24.10.2012 1.30.005.488 Hotfix 5
30.07.2012 1.30.005.487 Hotfix 4
26.06.2012 1.30.005.486 Hotfix 3
10.01.2012 1.30.005.485 Hotfix 2

2011

02.12.2011 1.30.005.484 Hotfix 1
25.11.2011 1.30.005.483
21.10.2011 1.30.004.482 Hotfix 1
05.10.2011 1.30.004.481
28.09.2011 1.30.003.480 Hotfix 1 
15.09.2011 1.30.003.479 
12.09.2011 1.30.002.478 
17.08.2011 1.30.001.475 

2010

15.12.2010 1.21.003.456
22.11.2010 1.21.002.454
27.10.2010 1.21.000.448 Hotfix 1
10.06.2010 1.20.011.434
22.01.2010 1.20.009.419  

2009

05.08.2009 1.20.005.401
16.03.2009 1.20.002.388

2008

31.10.2008 1.10.012.376
18.06.2008 1.10.006.362
02.04.2008 1.10.005.354
18.03.2008 1.10.004.351

2007

11.12.2007 1.10.003.348
21.11.2007 1.10.002.343
12.09.2007 1.10.001.340
30.08.2007 1.10.000.337
23.07.2007 1.09.014.332
16.04.2007 1.09.013.322
27.03.2007 1.09.012.321
25.01.2007 1.09.011.318
10.01.2007 1.09.010.317

2006

11.12.2006 1.09.009.314
16.11.2006 1.09.008.308
07.11.2006 1.09.007.305
01.11.2006 1.09.006.304
17.10.2006 1.09.005.303
07.09.2006 1.09.004.302
12.07.2006 1.09.002.299
15.05.2006 1.08.009.294
10.05.2006 1.08.008.293
04.05.2006 1.08.007.292
20.03.2006 1.08.006.287
01.03.2006 1.08.005.284
23.02.2006 1.08.004.283
15.02.2006 1.08.003.279
13.02.2006 1.08.002.278
02.07.2006 1.08.001.277

2005

12.12.2005 1.07.013.267
03.11.2005 1.07.012.259
28.10.2005 1.07.011.257
06.10.2005 1.07.010.256
19.07.2005 1.07.009.245
15.07.2005 1.07.008.244
11.07.2005 1.07.007.242
28.06.2005 1.07.006.239
22.06.2005 1.07.005.235
09.05.2005 1.07.004.231
22.04.2005 1.07.003.229
13.04.2005 1.07.002.228
25.02.2005 1.07.001.223
02.02.2005 1.06.011.218
21.01.2005 1.06.010.216
05.01.2005 1.06.009.210

2004

28.12.2004 1.06.008.208
16.09.2004 1.06.007.192
13.09.2004 1.06.006.190
29.07.2004 1.06.004.177
05.07.2004 1.06.003.162
25.06.2004 1.06.002.158
14.06.2004 1.06.001.152
19.03.2004 1.05.005.137
24.02.2004 1.05.004
10.02.2004 1.05.003 

2003 

08.12.2003 1.05.002
03.12.2003 1.05.001
13.11.2003 1.04.002 

Anmerkung:

Das jeweilige angegebene Datum ist das Datum des Builds, und ist nicht identisch mit dem Datum der Veröffentlichung. Zudem kamen manche der hier aufgeführten Versionen nicht zur Veröffentlichung.

2021-08-25 10:18
Martin Richter

AG-Overdial Server: "Es konnte keine Verbindung zum Overdial Server "xyz" hergestellt werden! Grund: Anmeldung fehlgeschlagen: unbekannter Benutzer oder falsches Kennwort. Wollen Sie im Powerdial Modus fortfahren?

Problem:

AG-Overdial Server: "Es konnte keine Verbindung zum Overdial Server "xyz" hergestellt werden! Grund: Anmeldung fehlgeschlagen: unbekannter Benutzer oder falsches Kennwort. Wollen Sie im Powerdial Modus fortfahren?

Alle notwendigen Einstellungen für den Overdialer sind korrekt eingerichtet:

  • Unter Extras, Optionen ist der Name des Overdialservers angegeben worden.
  • An den Clients ist unter Extras, Telefon Optionen im Reiter Verbinden die Rückruf Nummer für Overdialserver angegeben worden.
  • Ein Ping auf den Overdial Server ist erfolgreich. Auch AG-VIP SQL arbeitet im Powerdialmodus korrekt
  • Der AG-Overdial-Service auf dem angegebenen Overdialserver läuft korrekt und ist gestartet.
Lösung:

Hintergrund:

Der AG-Overdial-Server nutzt für die Kommunikation zwischen Client und AG-Overdial-Service "Named Pipes" und nicht TCP/IP, wie die normale Kommunikation zwischen AG-VIP SQL und dem Microsoft SQL-Server. Die Fehlermeldung weist auf ein Rechteproblem beim Anmelden des Clients auf den Overdialserver über Named Pipes hin.

Aus den Microsoft SQL 2000 Server Tools befindet sich ein Werkzeug "MakePipe.EXE" und "ReadPipe.EXE", um die Named Pipe Verbindung zwischen Client und Server zu testen.

Vorgehensweise:

  1. Laden Sie die angehängte ZIP-Datei herunter.
  2. Am Server, auf dem der AG-Overdial-Service läuft, führen Sie bitte "MakePipe.EXE" aus. Damit wird in einer DOS-Konsole die Named Pipe iniitiert.
  3. Am Client führen Sie dann bitte in einer DOS-Konsole die ReadPipe.EXE mit den Attributen

    "Readpipe /s[IP-Adresse oder Servernamen] /D[Teststring, z.B. XYZ]"

    aus. Über "/?" erhalten Sie eine Übersicht der möglichen Attribute.
  4. Jetzt sollten Sie auf dem Server den Teststring des Clients stehen. Das schickt der Server direkt so wieder an den Client zurück. Am Client erscheint der gesendete und vom Server zurück erhaltene String.

 Wenn jetzt Fehlermeldungen kommen, kann AG-VIP SQL Overdialer nicht funktionieren. Allerdings können wir Ihnen dann kaum Tipps geben, wo das Problem zu suchen ist. Evtl. liegt es dann an der Namensauflösung der Server (unterschiedliche Domänen etc.??)

2008-07-01 12:45
Markus Grutzeck

Wie kann ich Zeilenschaltungen, Absatzmarken, manuelle Umbrüche aus Word und Excel Tabellen entfernen?

Problem:

Beim Datenimport von Daten aus Excel oder Tabellen aus Word, können Zellen Zeilenschaltungen enthalten. Wandelt man diese Dateien in ein ASCII Text TAB Format um, wird eine Zeile der Tabelle mit einer  Zeilenschaltung (CRLF) abgeschlossen.
Das Gleiche passiert allerdings auch, wenn Zellen eine Absatzmarke oder Zeilenschaltung enthalten. Damit wird ein Datensatz "zerhackt". Beim Import erhält man dann zerstörte Datensätze.

Lösung:

Über die Tastenkombination STRG + H (= Suchen und Ersetzen) lassen sich Zeilenschaltungen in Tabellenzellen finden und z.B. durch Leerzeichen ersetzen. Die Standardwordfunktionen liefern hierzu in Tabellen leider keine Ergebnisse.
Folgende Zeichenkombinationen finden Absatzmarken und Ümbrüche:Die Standarderstetzenfunktion in Word liefert hier falsche Codes:

- Absatzmarke finden ^p
- Manueller Zeilenumbruch ^l
- Seitenumbruch ^m

2008-09-09 15:30
Markus Grutzeck

Bei Programmstart erscheint die Meldung "Ausführen erlauben? Ja / Nein"

Problem:

Sie starten eine Anwendung und es erscheint zunächst die Meldung "Ausführen erlauben? Ja / Nein".

 

Ursache:

Die ausführbare Datei liegt nicht auf Ihrem lokalen Rechner, sondern auf einem Server. Dieser Server liegt außerhalb Ihres Subnetzes.

 

Lösung:

Sie können diesen Server zu den vertrauenswürdigen Sites hinzufügen.

  1. Starten Sie dazu den Internet Explorer.
  2. Starten Sie aus dem Menü Extras, den Befehl Internetptionen und wechseln in den Reiter SICHERHEIT.
  3. Markieren Sie das Symbol  Vertrauenswürdige Sites .
  4. Aktivieren Sie den Schalter Sites.
  5. Über den Schalter  Hinzufügen können Sie nun Ihren Server ergänzen.
    Damit erscheint bei Start einer Anwendung von diesem Server dann auf Ihrem Arbeitsplatz nicht mehr die Meldung: "Ausführen erlauben?"

2008-11-06 15:07
Markus Grutzeck

Kann AGVIP SQL mit MySQL oder PostgreSQL im Backend betrieben werden? Wird es dafür eine Unterstüzung geben?

Nein. Wir unterstüzen derzeit alle gängigen Versionen des Microsoft SQL-Server. (Auch die kostenfreien Express Versionen):

  • Microsoft SQL Server 2005 Express
  • Microsoft SQL Server 2005 Standard oder Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard oder Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard oder Enterprise

Eine Unterstüzung der Linux-Datenbankserver MySQL und PostgreSQL ist derzeit nicht gegeben und auf absehbare Zeit auch nicht geplant.

Hinweise zur Installation finden Sie unter http://sqlserver.grutzeck.de

Links und Systemvoraussetzungen zum SQL Server 2008 R2 finden Sie im KB-Artikel: Microsoft SQL Server 2008 R2 Downloadlinks

2011-10-06 10:59
Ulrich Sticker

Kann AGVIP SQL unter Linux oder Mac OS betrieben werden?

Nein. AGVIP SQL ist eine Windowsanwendung und ist übrigens auch für Windows Vista zertifiziert.

Für Linux Distributionen wie openSuse Linux, Ubuntu, Fedora, FreeBSD o.ä. gibt es ebenso wie für Apple Mac-Systeme nur die Möglichkeit Windows zusätzlich, also als Dualboot-Betriebssystem zu installieren oder Windows als virtuelles System zu betreiben.

Als Lösung für den Einsatz von AGVIP SQL bietet sich unter Mac OS X z. B. die Boot Camp Software an, die mit jedem neuen Mac geliefert wird. Damit können Sie Windows nativ ausführen, so als ob Ihr Mac ein PC wäre. Wenn Sie Mac OS X und Windows gleichzeitig ausführen möchten, können Sie zum Beispiel Parallels Desktop für den Mac oder VMware Fusion kaufen. Installieren Sie eines dieser Programme zusammen mit Windows (eine Windows Installations-CD ist erforderlich), damit Sie AGVIP SQL direkt neben Ihren Mac Programmen ausführen können, ohne den Computer neu starten zu müssen.

Unter Linux stehen Ihnen Virtualisierungslösungen von VMWare, XEN, VirtualBox und vielen anderen zur Verfügung.

Uns ist keine funktionierende Lösung mit WINE bekannt.

Bitte beachten Sie das wir Ihnen für diese speziellen Lösungen keinen gesonderten Support anbieten können.

2009-02-03 18:51
Ulrich Sticker

Beschleunigung beim AG-vIP SQL Start

Problem:

Speziell bei geringen Netzwerkbandbreiten, z.B. Zugriff von unterwegs mittels UMTS oder GSM, dauert das Arbeiten mit AG-VIP SQL länger als wie im lokalen Netzwerk.

Lösung:

Wir haben aktuell Zeitmessungen vorgenommen, um im Detail zu evaluieren, welche Aktionen viel Zeit kosten.
Daraus leiten sich folgende Tipps für Sie in der Gestaltung von AG-VIP SQL bei mobilen Anwendern ab:

1. Ansichten: Anzahl und Größe

Beim Starten von AG-VIP SQL werden alle Ansichten der ausgewählten Adresstabelle geladen. Das betrifft auch Ansichten, der der Anwender evtl. in seinem persönlichen Profil ausgeblendet hat.

Tipp 1: Anzahl
Reduzieren Sie die Anzahl der Ansichten. Es empfiehlt sich Ansichten, die zwar hübsch aber aktuell nicht benötigt werden, zu exportieren und damit zu archivieren, zu löschen und nicht im produktiven System zu belassen.

Tipp 2: Größe
Die Ansichten werden als XML-Stream abgebildet. Grafiken werden als Binärcode abgelegt und kosten Speicherplatz. Deswegen:
a) Sparsam mit Grafiken umgehen
b) Grafiken vor Einbindung in der Auflösung reduzieren und auf die tatsächlich benötigte Größe anpassen.
c) *.BMP-Dateien vermeiden. BMP-Dateien sind die Platzfresser schlechthin.

2. Hilfsmittel
Beim Starten von AG-VIP SQL werden alle globalen Hilfsmittel geladen. Beim Öffnen einer Adresstabelle werden zusätzlich die adresstabellen spezifischen Hilfsmittel nachgeladen. Erst danach werden Hilfsmittel ggf. wieder entsprechend dem Benutzerprofil ausgeblendet.

Tipp 3:
Nicht benötigte Hilfsmittel löschen oder zunächst exportieren und damit archivieren.

3. zu übertragende Daten
Innerhalb der Historie lassen sich die Einträge auf die letzten x Einträge reduzieren. Damit verringern Sie die Anzahl zu übertragender Daten beim Blättern oder der Anzeige von Adressdatensätzen erheblich.

2009-03-26 17:27
Markus Grutzeck

Auswahlkriterien für die Installation eines MS-SQL Servers in Verwendung mit AG-VIP SQL

Beschreibung:
SQL Server Express mit Verwaltungstools (SQL Server Management Studio (SMSS)).
Für die Verwendung von AG-VIP SQL ist ein solcher Server notwendig um die Daten in dessen Datenbank zu speichern/verwalten.

Empfehlung:
Wir empfehlen den SQL Server 2019 Express, da diese Version die momentan aktuellste kostenfreie MS-SQL Server Version ist..

Systemanforderungen:
Unterstützte Betriebssysteme: Windows 10 TH1 1507 oder höher; Windows Server 2016 oder höher
Prozessoren: Ausschließlich x64-Prozessoren werden unterstützt.

  • 1,4-GHz-Prozessor oder schneller (2,0-GHz oder schneller empfohlen)
  • Mindestens 512 MB RAM für Express Version; 1 GB  für alle anderen Versionen (Empfohlen wird mindestens 1GB)
  • 6 GB verfügbarer Festplattenspeicher (Abhängig von den ausgewählten Features)

Vorteile:
- Kostenfreie MS-SQL Server Express Version
- Integrierte Verwaltungswerkzeuge (SQL Server Management Studio)
- Einfache Installation und Einrichtung des MS-SQL Servers
- Bis zu 10GB Datenbank Volumen (Express)
- Datensicherung über die Verwaltungswerkzeuge
- Einfaches einrichten einer Datenbank für AG-VIP SQL (automatisch)

Nachteile: (beziehen sich auf die Express Version eines MS-SQL Servers)
- 10GB maximales Datenbank Volumen (unbegrenzt bei einer kostenpflichtigen Version)
- keine automatisierte Datensicherung über Wartungspläne (jedoch über eine von uns entwickelte Lösung möglich)
- max 1 CPU Verwendbar
- max 1 GB Arbeitsspeicher Verwendbar (1410MB)

Feature Übersicht:
Die genaueren Details der Features entnehmen Sie bitte der Tabelle unter folgendem Link:
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

Download:
Dies bezüglich möchten wir Sie auf unseren Knowledgebase Artikel "Installation des MS-SQL Servers 2019 Express" hinweisen. Diesen finden Sie am schnellsten über folgenden Link:
http://www.kb.grutzeck.de/index.php?action=artikel&cat=26&id=187&artlang=de

2013-03-14 11:18
Peter Brandt

Installation des MS-SQL Servers 2019 Express

Hinweis:
Wie bereits im Knowledgebase Artikel "Vorteile einer Installation eines MS-SQL Servers" erwähnt,
Link: http://www.kb.grutzeck.de/index.php?action=artikel&cat=26&id=186&artlang=de
benötigt AG-VIP SQL mindestens die Version mit den Verwaltungstools (Database with Management Tools).
Falls Sie diesen Artikel noch nicht gelesen haben sollten, empfiehlt es sich, dies vorab zu tun, bevor Sie mit der eigtl. Installation beginnen bzw. fortfahren.

Download:
Den MS-SQL Server 2019 Express können Sie unter folgenden Link kostenlos herunterladen:
https://www.microsoft.com/de-de/download/details.aspx?id=101064

Aktuelle Linksammlung zum SQL-Server 2019:
http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=207&artlang=de

Hinweis:
Zum Herunterladen müssen Sie den von Microsoft benötigten Downloadmanager installieren. Sie werden beim Start des Downloads direkt aufgefordert diesen zu installieren (nach Bestätigung installiert dieser sich automatisch).

Ob Sie eventuell eine kostenpflichtige SQL Server Edition benötigen entnehmen Sie bitte der von Microsoft angegebenen Eigenschaftstabelle:
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

Installation:
Nach erfolgreichem herunterladen des MS-SQL Servers 2019 (Express Version) starten Sie diesen nun auf Ihren als Server eingesetzten Rechner um mit der Installation zu beginnen. Eventuell werden Sie aufgefordert das MS .NET Framework 3.5 sowie den Windows Installer 4.5 oder andere Programme zu installieren. Installieren Sie diese über die in der Meldung angegebenen Downloadlinks. Überprüfen Sie sobald Sie diese zusätzlichen Programme installiert haben, ob nicht bereits updates für diese Programme vorliegen. Führen Sie dafür einfach das WindowsUpdate aus.

Sobald Sie im Dialog "SQL Server-Installationscenter" sind, wechseln Sie zu "Extras" und drücken auf "Systemkonfigurationsprüfung". Dadurch starten Sie ein Tool zur Überprüfung des Systems auf Bedingungen, die eine erfolgreiche Installation von dem SQL Server verhindern könnten. Falls dort nicht alle Punkte mit dem Status "Erfolgreich" abgeschlossen wurden, erscheint eine Liste mit allen Modulen. Die betroffenen Module (erkennbar durch den Status "Fehler") müssen Sie noch installieren bzw. erfüllen. Sie erhalten leider in der Auflistung keine Links und müssen daher diese fehlenden Module selbstständig aus dem Internet herunterladen. Zum Beispiel für das Windows PowerShell Modul geben Sie in Ihrer Suchmaschine als Suchbegriff "MSDN PowerShell download" ein.

Sobald die "Systemkonfigurationsprüfung" keine Fehlermeldungen mehr erzeugt, wechseln Sie im "SQL Server-Installationscenter" Dialog zu "Installation" und wählen dann "Neuinstallation oder Hinzufügen von Funktionen zu einer vorhandenen Installation" aus um mit der Installation zu beginnen. Sofern Sie keine speziellen Änderungen vornehmen möchten, bestätigen Sie die Dialoge mit "Weiter" bis Sie zum Dialog "Serverkonfiguration" gelangen. Dort aktivieren Sie den Dienst "SQL Server Browser" in dem Sie diesen in der Spalte "Starttyp" auf "Automatisch" einstellen.
Zusätzlich geben Sie in der Spalte "Kontoname" des Dienstes "SQL Server Database Engine" den Kontonamen "NT-AUTORITÄT\NETZWERKDIENST" an. Nachdem Sie beide Änderungen vorgenommen haben, bestätigen Sie Ihre Eingabe in dem Sie auf "Weiter" drücken.

Im nächsten Dialog "Datenbankmodulkonfiguration" wählen Sie als Authentifizierungsmodus den "Gemischter Modus (SQL Server-Authentifizierung und Windows-Authentifizierung)" aus und geben ein Passwort für den Server-Systemadministrator (SA) an.
Dieses Passwort muss mindestens 8 Zeichen lang sein, mind. eine Ziffer, mind. ein Sonderzeichen sowie mind. einen großgeschriebenen Buchstaben beinhalten. Notieren Sie sich dieses Passwort unbedingt und bewahren Sie es an einen sicheren Ort auf. Bei bedarf können Sie noch einen Benutzer hinzufügen, welcher als SQL Server-Administrator uneingeschränkten Zugriff auf das Datenbankmodul besitzt.
Standard ist hier der Windows Administrator angegeben. Drücken Sie zur Bestätigung Ihrer Eingabe auf "Weiter". Nach dem bestätigen des darauffolgenden Dialogs, beginnt letztendlich die Installation des MS SQL Servers.
Sofern bei der Installation keine Fehler aufgetreten sind, ist die Installation des MS SQL Servers 2019 Express nach ca. 10 Minuten abgeschlossen.

Weitere Konfigurationen:
Starten Sie nun über Start - Alle Programme - Microsoft SQL Server 2019 - Konfigurationstools
den "SQL Server-Konfigurations-Manager"
Maximieren Sie den Ast über das [+] Symbol bei "SQL Server-Netzwerkkonfiguration" und selektieren Sie anschließend "Protokolle für 'SQLEXPRESS'" bzw. die Bezeichnung welche Sie evtl. bei der Installation des SQL Servers vergeben haben.
Dort müssten nun 4 Protokolle aufgelistet werden, welche folgenden Zustand haben müssen:
Shared Memory    -    Aktiviert
Named Pipes        -    Aktiviert
TCP/IP                  -    Aktiviert
VIA                        -    Deaktiviert 

Falls bei einem Protokoll die Einstellungen nicht zutreffen sollten, klicken Sie bei dem zutreffenden Protokoll in der Spalte "Status" doppelt auf den vorhandenen Eintrag und ändern diesen durch die Angabe von Aktiviert = "Ja" oder "Nein" und bestätigen anschließend Ihre Eingabe.

Um die Änderung zu übernehmen müssen Sie den Dienst neustarten. Wechseln Sie in der Baumstruktur links auf "SQL Server-Dienste" und selektieren Sie anschließend den Dienst "SQL Server (SQLEXPRESS)". Durch Rechtsklick beenden Sie diesen und starten diesen ebenfalls durch einen Rechtsklick, sobald er beendet ist erneut. Der Dienst "SQL Server-Agent (SQLEXPRESS)" wird hier irreführend als zur Verfügungstehender Dienst dargestellt. Dieser wird jedoch nicht von der Express Version unterstützt. Der SQL Server-Agent würde die automatische Datensicherung über einen Wartungsplan durchführen. Beenden Sie nun den "SQL Server Konfigurationsmanager".
Der MS SQL Server ist nun soweit eingerichtet, dass Sie diesen für die Installation und Nutzung von AG-VIP SQL verwenden können.

Datensicherung:
Bezüglich der Umsetzung und des Konfigurierens einer manuellen oder automatischen Datensicherung lesen Sie bitte folgenden Artikel:
http://www.kb.grutzeck.de/index.php?sid=25174&lang=de&action=artikel&cat=2&id=188&artlang=de

2013-03-14 11:30
Peter Brandt

Der Start von AG-VIP SQL schlägt fehl. Es wird ein Problem mit der Signatur angezeigt.

Beschreibung:
Dieses Phänomen kann auf Systemen auftreten, für die längerer Zeit kein Windowsupdate mehr durchgeführt wurde.
Die Ursache ist ein nicht mehr gültige Stammzertifikat von VeriSign, welches durch das Windowsupdate aktualisiert wird.

Eine weitere Ursache kann sein, dass der Rechner nicht für die Nutzung von SHA-2 / SHA-256 Zertifikaten vorbereitet ist.
Auch diese Voraussetzung sollte normalerweise durch Installation aller Updates von Windowsupdate geschaffen werden.

Fehlerbeschreibung:
Beim Starten von AG-VIP SQL erhalten Sie folgende Fehlermeldung:
AG-VIP SQL Fehlermeldung - Signatur zerstört

Durch öffnen der Eigenschaften einer EXE oder DLL aus dem AG-VIP SQL Verzeichnis (Rechtsklick -> Eigenschaften), können Sie über den Karteireiter "Digitale Signaturen" unsere Signatur auswählen und über die Schaltfläche "Details" Informationen darüber wiefolgt anzeigen lassen:
Details der digitalen Signatur (Fehler)

Durch weiteres betätigen der Schaltfläche "Zertifikat anzeigen" bekommen Sie eine nähere Beschreibung über das Zertifikat:
Zertifikat (Fehler)

Lösung:
 
Das Problem wird durch die Aktualisierung der Stammzertifikate behoben.
 Führen Sie dazu die Windowsupdates aus oder installieren Sie die aktuellen Stammzertifikate von Microsoft.

Die Zertifikate können auch direkt durch das Programm rootupd.exe aktualisiert werden.
Das Programm kan von dieser Microsoft Seite heruntergeladen werden.
Danach muss es einmal auf allen entsprechenden Rechnern ausgeführt werden.
http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe

Grundsätzlich sollten alle Windows Update ausgeführt werden, dann gibt hier aucch keine Probleme!

Überprüfung:
Wenn Sie den Vorgang aus dem Abschnitt "Fehlerbeschreibung" nun wiederholen, müssten folgende Ausgaben erscheinen:
Details der digitalen Signatur (gültig)

und über die Schalftläche "Zertifikat anzeigen" müssten Sie folgende Informationen erhalten:
Zertifikat (gültig)

Weiterfürhende Links und Informationen:

Änderungslog:
27.03.2017
- Aktualisierung des Downloadlinks

24.05.2015
- Aktualisierung von weiteren Links und weitere Lösungsmöglichkeiten

2017-05-24 10:52
Ulrich Sticker

Eine kürzlich durch ein Update erhaltene Erweiterung funktioniert nicht.

Beschreibung:
Eine Erweiterung (zum Beispiel die Möglichkeit per Makro auf die Zwischenablage zuzugreifen) funkioniert nicht und gibt eine ähnliche Meldung wie die Folgende aus:
---------------------------
AG-VIP SQL
---------------------------
Das Ausführen eines Makros (Makro) ist fehlgeschlagen!
In Modul "Hauptmodul" Zeile 10, Spalte 1 trat ein Laufzeitfehler auf:Das Objekt unterstützt diese Eigenschaft oder Methode nicht.: 'Macro.Clipboard'Das Makro wird abgebrochen!
---------------------------
OK  
---------------------------
 

Lösung:
Bei der Installation wurden nicht alle .dll Dateien korrekt registriert.
Eine manuelle Registrierung ist notwendig.

Vorgang:
Sie benötigen Administrator-Rechte, das heißt in Windows XP müssen Sie sich mit einem Benutzer mit solchen Rechten anmelden.
Starten Sie auf dem Rechner auf dem die neuen Erweiterungen nicht funktionieren eine Kommandozeileneingabeaufforderung über das Windowslogo bzw. der "Start" Schaltfläche in Ihrer Taskleiste von Windows.
Geben Sie nun in das Eingabefeld "Programme / Dateien durchsuchen" bzw. bei Windows XP drücken Sie auf "Ausführen" und geben dann in das Eingabefeld die Buchstabenkürzel "cmd" ein. Die Windows XP Benutzer mit Administrator-Rechten können die Eingabe mit Enter bestätigen. Die Windows Vista und Windows 7 Benutzer, müssen die nun in der Liste aufgefürte "cmd.exe" mit einem rechtsklick "Als Administrator ausführen" starten. Geben Sie nun in der Kommandozeileneingabeaufforderung den Pfad Ihrer AGVIP.EXE an und übergeben zusätzlich den Parameter
-register z.B. wenn sich die AGVIP.EXE auf einem Netzwerkverzeichnis befindet (Server) und das Netzwerklaufwerk den Buchstaben W verwendet:
"W:\Programme\AG-VIP SQL\AGVIP.EXE" -register

Beachten Sie bitte, dass AG-VIP SQL und Outlook währenddessen geschlossen ist um evtl. auftretende Abhängigkeiten im Vorfeld auszuschließen.

Sofern keine Fehlermeldung nach Bestätigung der Eingabe angezeigt wird, war die Registrierung erfolgreich.
Die Kommandozeileneingabeaufforderung können Sie nun mit der Eingabe von "Exit" beenden.

2011-08-17 15:03
Peter Brandt

Terminvereinbarung - Webportal: Der externe Agent, kann seine Zeiten im Webportal nicht verändern.

Beschreibung:
Interner Zugriff:
Der Zugriff auf das Webportal sowie das Ändern von Zeiten funktioniert.

Externer Zugriff:
Der Zugriff auf das Webportal funktioniert, jedoch können die Zeiten nicht geändert werden (Änderungen funktionieren nicht).

Ursache: 
Die Ursache liegt sehr wahrscheinlich an den Einstellungen der Firewall bzw. den IPS-Regeln (Intrusion Prevention Systems). 

Lösung:
Die Einstellungen der Firewall sowie der IPS-Regeln (falls vorhanden) überprüfen und anpassen.

2011-08-17 16:03
Peter Brandt

Das Outlook AddIn und/oder E-Mail Hilfsmittel für Outlook funktionieren nicht (Outlook 64bit)

Beschreibung:
Das AG-VIP SQL Outlook AddIn und/oder E-Mail Hilfsmittel die eine E-Mail in Outlook erstellen funktionieren bei Outlook mit 64bit nicht.

Problemdarstellung:
Beim Outlook AddIn tritt bereits bei der Installation des Outlook AddIns über die SetupAGVIPClient.exe ein Fehler auf, dass die "AGVIPSQLOLAddin.dll" Datei nicht installiert werden konnte.

Bei einem E-Mail Hilfsmittel tritt folgender Makrofehler beim Ausführen des Hilfsmittels auf:
Outlook64bitError

Erklärung:
Das AddIn sowie die E-Mail Hilfsmittel können nicht mit einer 64bit Version von Outlook verwendet werden.

Lösung:
Die 32bit Version von Outlook installieren und bei geschlossenen Outlook die SetupAGVIPClient.exe erneut ausführen.

Der Einsatz der 32-Bit-Version von Office 2010 wird für die meisten Benutzer empfohlen.

Siehe auch http://office.microsoft.com/de-de/outlook-help/auswahlen-der-32-bit-oder-64-bit-version-von-microsoft-office-HA010369476.aspx

 

Änderungslog:
25.09.2013:

  • Suchbegriffe um Fehlermeldung in AG-VIP SQL erweitert ("BS", "Falsches BS", "BS-Version", "Falsche BS-Version")

10.06.2013:

  • Erweiterung des Artikels um das selbe Problem, jedoch auch für E-Mail Hilfsmittel in Verbindung mit Outlook 64bit
  • Erweiterung des Artikels um den Abschnitt "Problemdarstellung"
  • Erweiterung des Artikels um den Abschnitt "Änderungslog"

 

2013-09-25 14:35
Peter Brandt

Kann AG VIP SQL mit dem Internet Protokoll Version 6 (IPv6) betrieben werden?

Das Internetprotokoll Version 6 ist das Internetprotokoll
der Zukunft. Hauptziel von IPv6 ist die Vergrößerung des knapp werdenden IPv4
Adressraums sowie die Vermeidung von Network Address Translation (NAT), die
derzeit verwendet wird um den knappen Adressraum zu vergrößern. Dies
wiederspricht jedoch dem Ende-zu-Ende-Prinzip das von manchen Protokollen
eigentlich erwartet wird. (z.B. das SIP-Protokoll.). (Siehe auch http://de.wikipedia.org/wiki/IPv6)

Damit das IPv6 Protokoll mit AG VIP SQL verwendet werden
kann müssen alle an der Kommunikation zwischen Client und Server beteiligten
Komponenten IPv6-fähig sein.

Dies Betrifft sowohl das Client-Betriebssystem, den
verwendeten SQL-Client sowie das SQL-Server-Betriebssystem, den SQL-Server
sowie alle dazwischen liegenden Netzwerkkomponenten. (Hardware und Software wie
Netzwerkkarten, Switches, Firewalls, DNS etc.)

Für Windowsbetriebssysteme gilt: (Siehe auch http://www.microsoft.com/ipv6)

Windows XP ab SP1 und Windows Server 2003 sind mit
zusätzlicher Konfiguration mit IPv6 nutzbar.

Während Microsoft den Produktiveinsatz von IPv6 für Windows
Server 2003 eingeschränkt betrachtet ist die produktive Nutzung unter Windows
XP möglich.

Windows Vista und Windows 7 bringen von Haus aus IPv6 mit einer
Duallayer-Architektur mit.  Dasselbe gilt
für Windows Server 2008.

Der Microsoft SQL-Server ab der Version 2005 unterstützt
sowohl Client wie auch Serverseitig IPv6. Dies muss jedoch entsprechen im
SQL-Server-Konfigurations-Manager eingerichtet werden.

Ist dies erfolgt und Clientseitig der Native Client
installiert und eine IPv6-Kommunikation mit dem SQL Server möglich, so ist ein
IPv6-Zugriff auf den SQL-Server möglich.

Da Microsoft hier im Regelfall einen Dual-Stack als
Konfiguration vorsieht (IPv4 und IPv6 parallel), wird zunächst immer versucht
eine IPv4-Kommunikation aufzubauen. Erst nach dessen Timeout, erfolgt der
Zugriff via IPv6. (siehe http://msdn.microsoft.com/en-us/library/ms345359.aspx)

Sofern der ?Fully qualified domain name" (FQDN) verwendet
wurde um die Verbindungsdatei für AG VIP-SQL zu erzeugen und bereits der Native
Client im Einsatz ist, sind keine weiteren Änderungen erforderlich.

Siehe auch:

KB-Artikel: Welcher OLE-DB Provider wird aktuell verwendet? http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=97&artlang=de

KB-Artikel: Installation des MS-SQL Servers 2008 R2 Express http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=187&artlang=de

Handbuch für Administratoren ?Anlegen der SQL-Datenbank: AGVIPDBWizzard.EXE" http://www.grutzeck.de/de/Bedienungsanleitung/bedienungsanleitung.html

2011-08-17 15:53
Ulrich Sticker

Beim Ausführen eines Outlook Hilfsmittels kommt jedes Mal ein Warnhinweis (Outlook 2003)

Beschreibung:
Beim Ausführen eines in AG-VIP SQL eingerichteten Outlook Hilfsmittels um z.B. eine E-Mail zu verfassen erscheint in Outlook (2003) ein Pop-Up Fenster mit einem Warnhinweis, dass ein Programm auf Outlook zugreifen möchte.
Sie werden dabei aufgefordert den Zugriff zu gewähren oder zu verweigern.
Diese Bestätigung muss bei jedem Ausführen des Hilfsmittel erneut durchgeführt werden und ist daher äußerst nervend und Zeit raubend.

Lösung:
Die Firma MAPILab stellt ein kostenfreies Outlook Add In zur Verfügung, mit welchem es einem ermöglicht diese Sicherheitsabfragen auf Programme bezogen zu speichern.
Leider erscheint häufig nicht tatsächlich der Programmname des Programmes sondern lediglich die .dll Datei worüber das Programm die Verbindung zu Outlook herstellt.
Nichts desto trotz kann man dadurch die lästigen Warnhinweise auch für AG-VIP SQL bearbeiten und so muss der Zugriff nur noch einmalig gewährt werden (sofern man den Haken "Immer diese Aktion ausführen" aktiviert und natürlich auf "Zugriff erlauben" klickt)

Advanced Security für Outlook Dialog

Hinweis:
Lesen Sie wie von MAPILab empfohlen die beiligende Anleitung vor der Verwendung dieses Outlook Add Ins durch.
Die Verwendung dieses Outlook Add Ins von MAPILab geschieht auf eigene Gefahr!
Schäden oder sonstige Verluste welche durch die Verwendung dieses Outlook Add Ins zustande kommen werden nicht von uns Übernommen!
Bei einen dadurch entstandenen Support-Antrag wird dieser trotz evtl. bestehenden Wartungsvertrag kostenpflichtig berechnet!

Link zur MAPILab Webseite:
http://www.mapilab.com/de/outlook/security/

2011-08-17 16:09
Peter Brandt

Verschiedene Registry-Äste bei einem 64bit Betriebssystem (32bit & 64bit Ast)

Beschreibung:
AG-VIP SQL ist eine reine 32bit Anwendung und verfügt tatsächlich nur bei dem AG-Manual TSP Treiber - welcher nur benötigt wird um ein Telefonat zu simulisieren - über eine 64bit Version.
Wie viele andere Programme, schreibt AG-VIP SQL bestimmte lokal benötigte Einstellungen in die Registry.
Dies funktioniert auch obwohl es ein 32bit Programm ist auf einem Betriebssystem welches auf 64bit basiert.
Denn bei einem 64bit Betriebssystem gibt es den Stamm für 64bit (Standard) und einen Ast für 32bit Programme.
Das Betriebssystem erkennt also automatisch, dass dies ein 32bit Programm ist und fügt den Registryeintrag in dem 32bit Registry-Ast hinzu bzw. ändert dort diesen ab.

Problem:
Wenn man eine Registrydatei (.reg) erzeugt, welche für ein 32bit Programm gedacht ist, wird dieses beim Ausführen auf einem 64bit Betriebssystem irrtümlicherweise in den Registry Stamm für 64bit Programme eingetragen und nicht in dem dafür vorgesehenen Unterast HKEY_LOCAL_MACHINE\Software\WOW6432Node

in dem die 32bit Registry Einträge normalerweise in einem 64bit Betriebssystem abgelegt werden.
Die Registrydatei enthält nämlich keine Informationen für welche bit Variante es angewendet werden soll und daher wird der Standard (64bit) ausgewählt.


Lösung:
Starten Sie die 32bit Variante der regedit.exe und führen darüber dann einen Importvorgang durch (Datei - Import -> .reg Datei auswählen).
Zum Starten einfach folgenden Schritten folgen:
  1. Klicken Sie auf Start und anschließend auf Ausführen bzw. setzen Sie den Cursor in das Eingabefeld
    Programme/Dateien durchsuchen.
  2. Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit ein.
    Klicken Sie dann auf OK.

Falls sich keine Registry öffnen sollte, haben Sie vermutlich noch die 64bit Registry geöffnet.
Schließen Sie diese und wiederholen Sie den Vorgang oder setzen Sie den Parameter /m bei Schritt 2. wie folgt:

  • Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit /m ein.
    Klicken Sie dann auf OK.

So wird eine weitere Instanz erzeugt.

2011-09-26 10:59
Peter Brandt

Microsoft SQL Server 2019 Linksammlung

Hardware und Softwareanforderungen für Microsoft SQL Server 2019

Beschreibung der Hard und Softwareanforderungen für den SQL Server 2019

Microsoft SQL Server 2019 Express

Downloadlink zum SQL Server 2019 Expressversion.

Microsoft SQL Server 2019 Editionen und Features

Beschreibung für die verschiedenen SQL Server 2019 Versionen und deren jeweilige Features.

 Microsoft SQL Server Management Studio (SSMS)

Downloadlink zum SQL Server Management Studio.

 

Siehe auch http://sqlserver.grutzeck.de

2016-12-13 08:28
Ulrich Sticker

Das Outlook Add In funktioniert bei Benutzern welche geringe Rechte besitzen nicht.

Hinweis:
Dieses Problem besteht ab der AG-VIP SQL Version 1.30.001 nicht mehr.

Beschreibung:
Nachdem Installieren des Outlook Add Ins über die SetupAGVIPClient.exe als Administrator, können Benutzer welche nicht über die notwendigen Rechte verfügen das Outlook Add In nicht ausführen. Das Problem liegt dabei daran, dass die Verbindungsinformationen in der Registry nicht wie gewünscht im HKEY_LOCAL_MACHINE Pfad eingetragen werden sondern im HKEY_CURRENT_USER Pfad des Administrators.

Lösung 1:
Ab der AG-VIP SQL Version 1.30.001 ist dieser Fehler behoben.
Der Workarround für ältere Versionen ist, dass man die fehlenden Einträge als Administrator in der Registry ergänzt.
Dazu starten Sie einfach als Administrator auf den betroffenen Rechnern mit einem Doppelklick die .reg Datei im Anhang dieses Artikels.
Nun kann JEDER Benutzer an DIESEM Rechner das Outlook Add In verwenden (sofern zuvor bereits die SetupAGVIPClient.exe ausgeführt wurde). 

Lösung 2:
Die etwas umständlichere Lösung ist, dass der Benutzer kurzfristig der Administrator Gruppe hinzugefügt wird, dieser anschließend die SetupAGVIPClient.exe ausführt und ihm dann die Administratorrechte wieder entzogen werden.
Dadurch hat DIESER Benutzer an DIESEM Rechner seinen eigenen Verbindungseintrag im HKEY_CURRENT_USER Pfad der Registry und kann daher das Outlook Add In verwenden.
Eventuell muss der Benutzer vorher noch die "AG-VIP SQL Arbeitsstation" deinstallieren, da sonst das Setup die Installation mit der Meldung, dass bereits AG-VIP SQL auf diesem Rechner installiert sei beendet.

Warum tritt das Problem erst jetzt auf?
Das Problem bestand seit der ersten Version des Outlook Add Ins und trat auch schon früher auf.
Unsere anfänglichen Analysen ergaben, dass der Benutzer mindestens Hauptbenutzerrechte haben muss um das Outlook Add In nach einer Registrierung zu verwenden.
Die meisten Anwender haben diese Anforderung dann erfüllt und dadurch wurde das Problem umgangen.
Jedoch durch den immer mehr werdenden Einsatz von Terminal-Lösungen war es unbedingt notwendig, dass die Benutzer eben in Ihren Rechten sehr eingeschränkt sind.

Wie kam es dazu?
Dieser falsche Pfad wird automatisch beim Erstellen der AGVIPSQLOLAddin.dll (Outlook Add In) von der Entwicklungsoberfläche "Visual Basic 6" in der Connect.dsr Datei festgelegt und ist nicht für den Entwickler in der Entwicklungsoberfläche ersichtlich und konfigurierbar.
Dieser Artikel beschreibt das Problem und bietet für Entwickler auch einige Lösungsmöglichkeiten an:
http://www.darinhiggins.com/registering-vb6-office-com-add-ins-as-per-machine

Aber warum funktionierte es nicht, wenn der Benutzer mit den geringen Rechten die SetupAGVIPClient.exe mit "Als Administrator ausführen" ausgeführt hat?
Wenn der Benutzer nicht bereits über die notwendigen Administratorrechte besitzt, erscheint ein Pop-Up in dem zu einem Benutzerkonto mit Administratorrechten das Zugangspasswort eingegeben werden muss. Wenn man dies jedoch gemacht hat, war man für diesen Vorgang mit diesem Benutzer eingeloggt und die Registrierungen liefen somit in dessen Registrierungspfad HKEY_CURRENT_USER und nicht in dem Registrierungspfad des Benutzers mit den geringen Rechten.

2011-08-18 15:15
Peter Brandt

AGVIPDBWizard.exe schlägt mit einem Fehler bezüglich des SQL Servers fehl.

Beschreibung:
Beim Ausführen des Verbindungsassistenten (AGVIPDBWizard.exe) tritt beim Versuch eine Verbindung mit dem SQL Server herzustellen folgender Fehler auf:

SQL Provider 2000:
Fehler: Server Existiert nicht bzw. Zugriff verweigert

Native Client:
Named Pipes Provider - Error: Could not open a connection to SQL Server

Ursache:
Für diesen Fehler kann es unterschiedliche Ursachen geben.
Häufigste Ursachen:

  1. Der SQL-Server Name bzw. dessen IP ist nicht korrekt (existiert also tatsächlich nicht).
  2. Der Client-Rechner hat Probleme den Namen des Servers in eine IP aufzulösen (DNS nicht richtig konfiguriert).
  3. Die Ports des SQL-Servers werden von der Windows Firewall bei nicht autorisierten Zugriff geblockt (Windows 7 und Windows Server 2008).
    Zur Konfiguration der Windows Firewall und MS SQL Server 2014 ...
  4. Sie verwenden einen SQL-Server-Instanznamen und der SQL-Server Browser Dienst ist nicht gestartet.
  5. Der Client-Rechner ist nicht in der Domäne. Der für den SQL-Server eingetragene Dienst ist jedoch ein Netzwerkdienst welcher dies vorraussetzt.

Lösung:

  1. Kontrollieren Sie den Servernamen bzw. die IP des SQL-Servers
  2. Überprüfen Sie ob die Namensauflösung funktioniert in dem Sie über eine Eingabeaufforderung (command prompt) Ihren Server über dessen Namen anpingen z.B. Ping PC-Test
    Wenn dies nicht funktionieren sollte wiederholen Sie den Versuch nur dieses mal mit der IP.
    Nun müssten Sie 4 erfolgreich abgeschlossene Verbindungen angezeigt bekommen.
    Wenn dies der Fall ist, kontrollieren Sie Ihre DNS-Einstellungen oder setzen Sie anstelle des Server Namens einfach die Server IP in den Verbindungsassistenten ein.
  3. Dies ist leider schwer zu überprüfen, da ein Ping zum Server trotzdem funktioniert, der Verbindungsaufbau zum SQL-Server jedoch von der Firewall geblockt wird. Der Microsoft Support Artikel beschreibt das Problem und bietet gleichzeitig eine Batch Datei als Lösung an um die betroffenen Ports automatisch freizuschalten: http://support.microsoft.com/kb/968872/de
    Windows Firewall für MS SQL Server 2014 konfigurieren
  4. Falls Sie einen Instanznamen bei Ihrem SQL-Server verwenden z.B. PC-Test\SQLExpress muss der SQL-Server Browser Dienst gestartet sein um diese Instanz auflösen zu können. Starten Sie dafür den Konfigurationsmanager des SQL-Servers:
    Start - (Alle) Programme - Microsoft SQL Server 200x - Konfigurationstools -> SQL Server-Konfigurations-Manager
    Unter "SQL Server-Dienste" wird der "SQL Server Browser" augeführt welcher mit einem Rechtsklick gestartet werden kann.
    Falls sich der SQL Server Browser nicht starten lassen sollte, muss dieser erst über dessen Eigenschaften im Reiter "Dienst" aktiviert werden.
  5. Die einfachste und wohl auch beste Lösung ist es, den Rechner der Domäne hinzuzufügen. Ansonsten kann man dem SQL Server Dienst im Konfigurationsmanager (wie unter 4. beschrieben) den für die Anmeldung im Reiter "Anmeldung" eingetragenen Netzwerkdienst auf Lokaler Dienst bzw. Lokales System ändern.

2016-06-01 10:28
Peter Brandt

Nach der Installation von AG-VIP SQL mit einem Dongle auf einem virtuellen Server oder virtuellen Arbeitsstation wird der Dongle nciht erkannt

Beschreibung: 

Auf einem virtuellen Rechner oder virtuellem Server wird eine AG-VIP SQL Installation mit Dongle durchgeführt.
Der Dongle wird für diesen virtuellen-Server freigegeben, allerdings wird der Dongle nicht gefunden.

Im WebAdmin von Wibu erscheint der Fehler 201 "Der angegebene CmStick () wurde nicht gefunden"
Im Protokoll des CodeMeter Kontrollzentrums kann man den Fehler "API Event WB0070 (BOX ERROR) occurred (returned to caller)"  finden.

Ursache:

Die Ursache liegt in enem falschen Registryschlüssel für die CodeMeter Software bei virtuellen Rechnern.
Deiser Fehler tritt im Allgemeinen nur auf, wenn die neue Software Version 4.30c von WiBu verwendet wird.

Lösung:

  1. Starten Sie das Programm RegEdit.
  2. Navigieren Sie auf den Pfad:
    HKEY_LOCAL_MACHINE\SOFTWARE\WIBU-SYSTEMS\CodeMeter\Server\CurrentVersion
  3. Löschen Sie den Eintrag ChunkSizeMode aus der Registry.

2011-08-22 15:37
Martin Richter

Optimierte CodeMeter Einstellungen auf Client-Rechner

Beschreibung:
Bei der Verwendung des Dongle Schutzes über die CodeMeter Software, werden beim Installieren dieser Software auf dem Client-Rechner über die SetupAGVIPClient.exe bislang die Einstellungen so eingestellt, wie Sie auf einem Server sinnvoll sind.
Da jedoch die Installation auf einem Clienten erfolgt, welcher vermutlich (jedoch nicht ausgeschlossen) keinen Dongle physikalisch anderen Rechnern zur Verfügung stellt, sind die vordefinierten Server Einstellungen in der CodeMeter Software unnötig.

Erklärung:
Wenn keinerlei Anpassungen der CodeMeter Einstellungen auf dem Client-Rechner vorgenommen wurden, so versucht dieser beim Starten von AG-VIP SQL über einen Broadcast (Anfrage an das ganze verfügbare Netzwerk) den Server zu finden an dem der Donlge physikalisch zur Verfügung gestellt wird. Wenn jedoch die Einstellungen jedes Client-Rechners auf die eines Servers beruhen, so antworten alle als Server definierten Rechner dem anfragenden Clienten welcher maximal 1000ms (1sek) auf jede Antwort warten kann (Standardeinstellung).
In den meisten Fällen dauert jedoch eine Antwort <1ms (internes Netzwerk) und dürfte daher kaum Einfluss auf den Ablauf haben.
Im schlimmsten Fall jedoch, gibt es keine Antwort und der Client wartet die vollen 1000ms und bremst somit den Startvorgang von AG-VIP SQL.

Lösung:
Die Client-Rechner nicht als Server eintragen und zusätzlich sollte zudem auch noch über eine ausgefüllte Serverliste der Broadcast umgangen werden.
PS. Im AG-VIP SQL Administrator Handbuch wird der Eintrag des Servers in der Serverliste im Abschnitt "4.5.1 Erstinstallation" als "Hinweis" beschrieben, sofern der Client den Server nicht finden sollte.

Nachteil:
Dadurch kann jedoch nicht mehr an jedem X-beliebigen Rechner der Dongle auf die schnelle eingesteckt werden.
Bei einem Wechsel des Dongle Servers, müssten auf allen Clientrechnern dieser in der Serverliste eingetragen werden.
Wenn der Dongle desöfteren an einen anderen Rechner in dem Netzwerk zur Verfügung gestellt wird, so ist es einfacher keine Serverliste zu definieren und jeden Clienten über einen Broadcast den Dongle im Netzwerk suchen zu lassen.
Daraus könnten jedoch wie bereits erwähnt eventuelle Wartezeiten beim Starten von AG-VIP SQL entstehen.

Optimierte Einstellung:
Nach der Installation über die SetupAGVIPClient.exe starten Sie das CodeMeter ControlCenter über:
-> Start -> Alle Programme -> CodeMeter -> CodeMeter Control Center
CodeMeterControlCenter


Danach öffnen Sie über die Schaltfläche "WebAdmin" den WebAdmin in Ihrem Browser:
WebAdminStart


Dort wechseln Sie in den Reiter "Einstellungen" und deaktivieren die Auswahlbox "Starte als Server" und fügen in der "Server Suchliste" den Namen bzw. die IP-Adresse (sofern Fix vorgegeben) auf die der Client den Dongle suchen soll hinzu.
WebAdmin

Anschließend bestätigen Sie diese Einstellungen mit "Übernehmen" und stoppen den Dienst im CodeMeter ControlCenter:
DienstStoppen

Danach wird "CodeMeter Dienst starten" auswählbar worüber Sie dann letztendlich den Dienst auch wieder starten und Ihre Anpassung abgeschlossen ist.

TIPP für mehrere Clientrechner:
Die Einträge der Serversuchliste können auch über eine Codemeter.ini eingerichtet werden.
Dazu eine neue Datei mit dem Namen "Codemeter.ini" im Codemeter BIN Verzeichnis mit folgenden Inhalt anlegen:
Verzeichnis:
C:\Program Files (x86)\CodeMeter\Runtime\bin

Inhalt der CodeMeter.ini:

[ServerSearchList]
[ServerSearchList\Server1]
Address=DongleServerNameOderIP

 


Optimierte Einstellungen über die Registry:
Hinweis:
### !! Verwendung auf eigene Gefahr !! ###
Die Beschreibung der Registry Variante dient lediglich als Hilfestellung!
Machen Sie sich vorher eine Sicherung Ihrer Registry um eventuell bei einer falsch Bedienung diese wiederherzustellen.

Falls die oben beschriebene Vorgehensweise Ihnen viel Zeit kosten würde, da Sie z.B. dies auf einer Vielzahl von Rechnern durchführen müssten, könnten Sie dies wie oben beschrieben auf nur einem Rechner durchführen und über diese korrekt konfigurierte Installation eine Registry-Datei erzeugen.
Diese würde es Ihnen ermöglichen, dass Sie nur diese Datei auf jedem Client-Rechner ausführen müssten.
Eventuell sollte jedoch auch bei dieser Variante der Dienst neu gestartet werden um sicherzustellen, dass der Dienst auch die neuen Einträge in der Registry verwendet.

Starten Sie für diese Variante den Registry-Editor über:
-> Start -> Ausführen -> regedit.exe
Ausführen

Gehen Sie zum Installations Registry-Pfad von der CodeMeter Software.
-> HKEY_LOCAL_MACHINE\SOFTWARE\WIBU-SYSTEMS\CodeMeter\Server\CurrentVersion

Dort finden Sie "IsNetworkServer" und je nachdem wieviele Server Sie in der "Server Suchliste" eingetragen haben dementsprechend "Server1" bis "ServerX".
Registyr

Mit einem Rechtsklick auf "CurrentVersion" und der Auswahl "Exportieren" erzeugen Sie eine Registry-Datei (.reg) mit allen Werten.
Export

Diese Datei editieren Sie mit einem Rechtsklick -> "Bearbeiten" bzw. "öffnen mit..." (Text-Editor).
Entfernen Sie alle Einträge bis auf den Pfad und den gewünschten Einstellungen die Sie übernehmen möchten.
Diese könnte dann so aussehen:
RegDatei

Diese Datei können Sie nun auf jedem gewünschten Client-Rechner ausführen um die dort beschriebenen Werte in der Registry zu setzen.
Starten Sie danach über das CodeMeter Control Center den Dienst neu um sicherzustellen, dass der Dienst die neuen Werte auch verwendet.

Hinweis:
### !! Verwendung auf eigene Gefahr !! ###
Die Beschreibung der Registry Variante dient lediglich als Hilfestellung!
Machen Sie sich vorher eine Sicherung Ihrer Registry um eventuell bei einer falsch Bedienung diese wiederherzustellen.

14.10.2020
Ergänzung des Abschnitts "Verwendung Codemeter.ini zum Einrichten der ServerSuch-Liste".

2012-03-08 10:04
Peter Brandt

Wie kann man AG-VIP SQL im Silent Modus installieren?

Beschreibung:
Der Artikel beschreibt wie z.B. ein Netzwerk-Administrator AG-VIP SQL über eine Softwareverteilung ohne einen Wizard bzw. Dialoge über eine Kommandozeilen Eingabe installieren kann. Dies hat den Vorteil, dass bei evtl. mehreren Installationen an verschiedenen Rechnen der Netzwerk-Administrator nicht direkt auf alle Rechner zugreifen muss, um die Dialoge zu bestätigen.

Lösung:
Eine Installation im Silent Modus über die auf der CD befindlichen Daten erfolgt über folgenden Kommandozeilen Aufruf:
Setup.exe /s /v/qn

/s = Silent Mode (für .exe)
/v/qn = Silent Mode für integrierte Pakete (für .msi)

AG-VIP SQL wird dann auf dem Rechner im vordefinierten Verzeichnis C:\Programme\AG-VIP SQL installiert.
Um AG-VIP SQL in einem anderen Pfad zu installieren, verwenden Sie bitte folgenden Kommandozeilen Aufruf: z.B. für das Zielverzeichnis C:\Temp\AG-VIP SQL :
Setup.exe /s /v"/qn INSTALLDIR=\"C:\Temp\AG-VIP SQL\""

Es können auch die im Betriebssystem integrierten Konstanten, wie z.B. für das temporäre Benutzerverzeichnis %Temp%, verwendet werden:
Setup.exe /s /v"/qn INSTALLDIR=\"%Temp%\AG-VIP SQL\""


Sie erhalten jedoch keinerlei Rückmeldung über den Abschluss der Installation.
Sollte also z.B. bei der Installationspfadangabe das Verzeichnis nicht existieren, so wird die Installation ohne weiteren Hinweis abgebrochen.
Bei einer erfolgreichen Installation erhalten Sie ebenfalls keine Rückmeldung.

Bei einer Installation mit der aus dem Internet (Homepage oder E-Mail etc. ) erhaltenen Datei z.B. "VIP_SQL_130005.exe" ist etwas Vorarbeit nötigt, da die .exe Passwort geschützt ist und leider keine Parameterübergabe des Passwortes im verwendeten "Package for the WEB" InstallShield integriert ist.

Daher muss der Package Inhalt der .exe erst extrahiert werden, um dann mit den extrahierten Dateien eine Installation im Silent Modus durchzuführen zu können.

1. Dazu starten Sie die z.B. "VIP_SQL_130005.exe" und geben das Passwort ein.
Kennwort

2. Nachdem Sie das Passwort eingegeben haben, werden die Daten in Ihrem Benutzertempverzeichnis extrahiert.
Entpacken

3. Nachdem Sie das Passwort eingegeben haben und die Übergabe des Passwortes mit "Weiter" bestätigt haben, lassen Sie also den Dialog offen.
(Der "Willkommen" Dialog darf also nicht geschlossen und auch nicht mit "Weiter" fortgesetzt werden)
Willkommen

4. Wechseln Sie in Ihrem Windows-Explorer und geben dort %tmp% als Pfadangabe an:
TEMP

5. In Ihrem temporären Benutzerverzeichnis wurde ein neues Verzeichnis angelegt das mit "pft" beginnt:
Temp Dir

6. In diesem Verzeichnis finden Sie die extrahierten Dateien, welche Sie auf einer unserer Installations-CDs auffinden würden.
Extrahierte Dateien

7. Den Inhalt dieses Verzeichnisses kopieren Sie in ein anderes beliebiges Verzeichnis.
Mit diesen kopierten Dateien können Sie wie anfangs beschrieben dann eine Installation im Silent Modus durchführen.

8. Den "Willkommen" Dialog können Sie nachdem Sie die Dateien kopiert haben beenden.
Dadurch wird das temporär angelegte Verzeichnis "pft..." wieder gelöscht.

2014-05-07 17:11
Peter Brandt

Anpassung des Formates der Felder AdresseStraße / AddressStreet und AdressePostfach / AddressPOBox

Die vorformatierten Felder Adresse Straße / AddressStreet und Adresse Postfach / AddressPOBox werden für das Kopieren einer Adresse in die Zwischenablage, für den Etikettendruck und für den Datenexport verwendet.

Adresse Straße ist dabei die postalisch korrekt formatierte Adresse für das Zielland. Bevorzugt wird hier die Straßenanschrift ausgegeben. Ist nur eine Postfachanschrift vorhanden und keine Straßenanschrift, wird automatisch die Postfachanschrift verwendet. Eine Straßenanschrift gilt als vorhanden wenn das Feld Ort / City gefüllt ist.

Adresse Postfach ist dabei die postalisch korrekt formatierte Adresse für das Zielland. Bevorzugt wird hier die Postfachanschrift ausgegeben. Ist nur eine Straßenanschrift vorhanden und keine Postfachanschrift, wird automatisch die Straßenanschrift verwendet. Eine Postfachanschrift gilt als vorhanden wenn das Feld Postfach Ort / POBoxCity gefüllt ist.

Dennoch kommt es immer wieder zu speziellen wünschen wie das Adressfeld formatiert werden soll, bzw. welche Felder verwendet werden sollen.

Grundsätzlich bestehen diese Adressenfelder aus zwei Teilen. Einem Namensblock und einem Anschriften Block. Der Anschriftenblock wird je nach Zielland und gemäß den Postspezifikationen formatiert. Dabei kann der Anschriftenblock auch über dem Namensblock stehen.

Das Format des Namensblocks ist üblicherweise:
Name1*Name2*Name3*Abteilung*Funktion*Anrede Titel Vorname Nachname

Es gibt zusätzlich eine Personifizierung über das logische Feld Personifizierung. Ist dieser Schalter gesetzt werden die Namenszeilen unter den Vornamen und Nachnamen gesetzt. Nach Postrecht gilt dann der Empfänger mit diesem Namen als persönlicher Empfänger. Die Sendung muss also als privat und persönlich übermittelt werden.
Bei Verwendung dieser Option wird der Adressblock wie folgt aufgebaut:
Funktion*Anrede Titel Vorname Nachname*Name1*Name2*Name3*Abteilung

Zum Syntax siehe weiter unten.

Soll nun von dem Aufbau des Namensblockes geändert werden dann kann dies über die AGVIP.INI Datei im Programmverzeichnis geschehen.
Dabei wird in der AGVIP.INI ein entsprechender Abschnitt eingefügt.

[AddressLayout]
; Leerzeichen ist ein Leerzeichen.
; * = Weiche Zeilenschaltung (leere Zeilen werden entfernt)
; # = Harte Zeilenschaltung, es wird auch bei leerem Feld/Zeileninhalt eine Zeile ausgegeben
Normal=Name1*Name2*Name3*Department*Function*NameSalutation NameTitle NameFirst NameLast
Swapped=Function*NameSalutation NameTitle NameFirst NameLast*Name1*Name2*Name3*Department

[AddressLayout-Kunden]
Normal=Name1*Name2*Name3*Department*NameSalutation NameTitle*NameFirst NameLast
Swapped=NameSalutation NameTitle*NameFirst NameLast*Name1*Name2*Name3*Department


Dabei kann für jede Adressentabelle ein eigenes Layout definiert werden. Dazu muss ein Abschnitt mit dem Namen [AddressLayout-<Name der Adressentabelle>] eingefügt werden. Ist kein solcher Abschnitt für die verwendete Adressentabelle vorhanden, dann wird der Abschnitt [AddressLayout] verwendet. Je nach Art der Anschrift (Personifiziert oder nicht), wird der Eintrag Normal oder Swapped verwendet. Als Namen können alle internen Feldnamen verwendet werden die in der Adressentabelle vorhanden sind. Der Inhalt wird immer als Text interpretiert.

Es gelten folgende Symbole und Regeln:

  • * weiche Zeichenschaltung. D.h. Ist bisher die Zeile leer wird keine Zeile in den Text eingefügt
  • # Es wird immer eine Zeilenschaltung eingefügt, auch wenn der Text der Zeile bisher leer ist.
  • @ Durch ein vor- oder nachgestelltes @ Zeichen ist es Möglich bei Kennzeichen den voll ausgeschriebenen Kennzeichentext bzw. den kompletten Benutzernamen anstatt eines Kürzels zu erhalten. Bei Feldern, die dies nicht unterstützen wird das @ Zeichen ignoriert.
  • Leerzeichen werden als Leerzeichen übernommen.
  • Sonstige Texte werden als Feldnamen interpretiert. Ist ein Feld nicht vorhanden so wird diese Formatierungsanweisung ignoriert.
  • Fehlt ein Definition Normal oder Swapped in der INI Datei, oder sind die Felder leer, wird der Standard verwendet.
  • Gibt es keine passenden Abschnitte in der INI Datei dann wird der Standard verwendet.

Das obige Beispiel, definiert für die Adressentabelle Kunden eine abweichende Regel. Das Feld Funktion wird hier nicht verwendet und in der Adresse ausgegeben. Zusätzlich werden die Zeilen Anrede und Titel in eine eigene Zeile über Vorname und Nachname gesetzt. Sind die beiden Felder Anrede und Titel leer wird keine Leerzeile ausgegeben, gleiches gilt für die Zeilen Name1, Name2, Name3.

Für andere Adressentabellen gilt das Format das unter [AddressLayout] definiert wurde. Hier ist das Standardformat hinterlegt.

Verfügbar ist diese Funktion ab der Version AG-VIP SQL 1.40.001.526 (1.40.001.526 = Hotfix 1 bzw. Installations-CDs ab dem 29.04.2012, bzw. Update-Downloads ab dem 29.04.2013)

2018-10-17 07:37
Martin Richter

Verhindern, dass ein Dongle sich als Festplatte an einem System anmeldet

Beschreibung:

Ein Wibu-Codemeter-Dongle meldet sich normalerweise immer als Festplatte an einem Gerät an. Der USB-Dongle hat aber selbst keinen persistenten Speicher. Er kann für die Laufzeit der Session jedoch begrenzt Daten aufnehmen und funktioniert wie eine RAM-Disk.

Es kommt aber immer wieder zu Problemen, mit dieser virtuellen RAM-Disk. Zum einen kann der Bootvorgang verzögert oder gestört werden wenn der USB-Stick sich vor anderen Boot-Devices meldet.
Weiterhin gibt es bekannte Probleme mit Windows 8 64bit, dass evtl. die Anzeige des Papierkorbes nicht korrekt funktioniert.

Lösung:

Man kann den Dongle umprogrammieren, dass er sich nicht mehr als Festplatte meldet. Der USB-Dongle wird dann als weiteres HID-Device (Eingabegerät) erkannt und stört somit das System nicht mehr.

Vorgehensweise:
  1. Der Dongle muss über die neueste Firmware verfügen. Mindestens jedoch die Version 2.02.
    Ein Update ist einfach möglich.
    Man startet dazu das CodeMeter Control Center (C:\Program Files (x86)\CodeMeter\Runtime\bin\CodeMeterCC.exe).
    Wenn der Dongle eingesteckt ist, kann er nun markiert werden. Auf der rechten Seite findet sich die aktuelle Firmware Version (z.B. 1.15, 1.16, bzw. 2.00). Sollte nicht eine Version gleich oder größer als 2.02 angezeigt werden, kann man ein Firmware Update durch en Schalter mit dem gebogenen Pfeil starten. Folgen Sie den Anweisungen.
  2. Auf einem Rechner muss für die Umprogrammierung des Dongles die neueste WiBu-Runtme Version installiert sein. Mindestens jedoch die Version 5.0b.
    Im CodeMeter-Control-Center unter Hilfe -> Über können sie die aktuell installierte Runtime Version kontrollieren.
    Achtung: Mit AG-VIP SQL wird normalerweise nur die Version 4.x ausgeliefert mit der die Umprogrammierung nicht möglich ist.
    Die neueste WiBu-Runtime finden Sie hier zum herunterladen: http://www.wibu.com/de/anwendersoftware.html
  3. Ermitteln Sie nun die Seriennummer Ihres Dongles und notieren sie diese.
    Diese können sie einfach im CodeMeter-Control-Center auslesen. Sie steht links im Fenster und hat die Form 1-2345678
  4. Starten Sie nun ein Befehlszeilenfenster und wechseln sie in das Wibu-Runtime Verzeichnis:
    CD C:\Program Files (x86)\CodeMeter\Runtime\bin\
  5. Programmieren Sie den Dongle um durch:
    cmu32.exe /s1-2345678 --set-config-disk HidCommunication
    (Großklenschreibung beachten!!!)
  6. Ziehen Sie den Dongle ab und stecken ihn erneut ein.
  7. Der Dongle dürfte nun nicht mehr als Festplatte erscheinen. 
  8. Den Status eines Dongles lässt sich durch folgenden Befehl anzeigen:
    cmu32.exe /s1-2345678 --show-config-disk

 

 

 

2013-11-18 09:22
Martin Richter

Aktualisierung des eingesetzten MS-SQL Servers

Beschreibung:
Wenn Sie einen SQL-Server wie in folgenden KB-Artikel beschrieben installiert haben:
http://kb.grutzeck.de/content/2/187/de/installation-des-ms_sql-servers-2008-r2-express.html

sollten Sie regelmäßig überprüfen ob es zu diesem SQL-Server eine aktuellere Version (Service Pack) bzw. einen Hotfix (kumulatives Update) gibt.

Update Center:
Welche die aktuellsten Service Packs und kumulative Updates sind können Sie auf der "Update Center" Webseite von Microsoft einsehen:
http://technet.microsoft.com/en-us/sqlserver/ff803383.aspx

SQL-Server Version ermitteln:
Wenn Sie nicht wissen sollten, welche SQL-Server Version Sie einsetzen, können Sie dies über einer der in dem folgenden Microsoftartikel beschriebenen Methoden ermitteln und weiter unten im selben Artikel einem Service Pack zuordnen:
http://support.microsoft.com/kb/321185/de

2013-08-22 10:53
Peter Brandt

Office 2013 - Probleme mit dem Outlook Add In

Problem Szenario 1:
Bei der Netzwerkinstallation von AG-VIP SQL tritt eine Fehlermeldung auf, welche das Outlook Add In betrifft.
Beim Versuch das Outlook Add In manuell zu registrieren kommt folgender Fehler:
Add In Fehlermeldung

 

Problem Szenario 2:
In Outlook wird das Addin unter "inaktive Add-Ins" aufgeführt. Eine Aktivierung hat jedoch keinen Effekt bzw. das Addin bleibt trotzdem weiterhin inaktiv.

Begründung:
Seit der Office 2013 Version, liefert Microsoft eine bestimmte Bibliotheksdatei nicht mehr mit.
Diese Datei "MSADDNDR.DLL" wird jedoch von jedem customized Outlook Add In benötigt,
welches Ansichten verwendet (Einstellungsdialog und Infodialog).

KB-Artikel von Microsoft:
http://support.microsoft.com/kb/2792179

Da Microsoft den KB-Artikel entfernt hat, ist er nur noch über "Web.Archive.org" verfügbar:
https://web.archive.org/web/20141220201335/http://support.microsoft.com/kb/2792179

 

 

Lösung:
Die fehlende Datei muss manuell installiert/registriert werden.
Am Ende dieses KB-Artikels gibt es ein Setup, welches das AG-VIP SQL Outlook Add In installiert und sofern die "MSADDNDR.DLL" fehlen sollte, diese ebenfalls zuvor installiert und registriert.
Der Installationspfad ist freiwählbar, jedoch wäre zu empfehlen, den selben Pfad anzugeben, welcher dem Installationspfad von AG-VIP SQL entspricht.

 

Hinweis:
Das Problem tritt nicht auf, wenn man zuvor auf dem Rechner bereits eine ältere Version von Office installiert hatte.
Dadurch wurde nämlich die in Office 2013 fehlende .dll bereits erstellt und wird somit auch im Office 2013 verwendet.

Weiterer Hinweis:
Das Outlook Add In funktioniert nur bei einer Office Installation in der 32bit Variante (standard). Falls Sie Office als 64bit Variante installiert haben sollten, so deinstallieren Sie dieses und installieren Sie Office als 32bit Variante erneut.

 

Änderungslog:

12.08.2015

  • Weitere Szenarien und Hinweise ergänzt

16.03.2015

  • Link zum Microsoft KB-Artikel aktualisiert

09.12.2013

  • bestehende .dll durch signierte ersetzt (sonst keine Änderungen)

03.12.2013

  • AGVIPSQLOLAddin.dll im Setup aktuallisiert auf Version 3.32.6

01.10.2013

  • Link zum Microsoft KB-Artikel hinzugefügt

2015-03-16 13:20
Peter Brandt

Fehlermeldung: Der "Process Debug Manager" kann nicht gestartet werden! Bitte konsultieren Sie unsere Knowledge Base um sich über die Ursachen zu informieren. Der Makro Debugger wird in dieser Sitzung abgeschaltet. Ursache: Klasse nicht registriert

Beschreibung:

Beim Start von AG-VIP SQL erscheint nach dem Anmelden eine Fehlermeldung mit dem folgenden Text:

 Der "Process Debug Manager" kann nicht gestartet werden!
Bitte konsultieren Sie unsere Knowledge Base um sich über die Ursachen zu informieren.
Der Makro Debugger wird in dieser Sitzung abgeschaltet.
Ursache: Klasse nicht registriert

 

Ursache:

Der AG-VIP Makro Debugger kann nur zusammen mit dem Process Debug Manager arbeiten. Dieser ist jedoch auf diesem Computer nicht registriert. Die Fehlermeldung erscheint einmalig, wenn die Funktion "Debugger starten" bzw. "Bei Ausführung Stop im Debugger" ausgewählt wurde.

Diese Fehlermeldung weißt nur darauf hin, dass wichtige Komponenten für den Makro Debugger nicht vorhanden sind bzw. nicht registriert wurden und dass Debuggen somit nicht möglich ist. Die entsprechenden Schalter und Optionen bleiben ausgegraut.

Alle sonstigen Funktionen in AG-VIP SQL bleiben davon unberührt und funktionieren normal.

Lösung: 

Je nach benutztem Betriebssystem von Microsoft befindet sich der Process Debug Manager (PDM.DLL) im einem der folgenden Verzeichnisse:

  • Windows Vista, Windows 7, Windows 8, Windows 8.1 (64bit)
    C:\Program Files (x86)\Internet Explorer\pdm.dll
  • Windows Vista, Windows 7, Windows 8, Windows 8.1 (32bit)
    C:\Program Files\Internet Explorer\pdm.dll

    Für Windows 10 ab der Version 1607 bitte im Abschnitt "Windows 10 v1607" fortfahren.
  • Windows 10 (64bit)
    C:\Windows\SysWow64\F12\pdm.dll
  • Windows 10 (32bit)
    C:\Windows\System32\F12\pdm.dll 

Diese Datei muss registriert werden. Dazu öffnen Sie ein Befehlszeilen Fenster (CMD.EXE) als Administrator und führen Sie den folgenden Befehl auf die gefundene PDM.DLL aus:
REGSVR32 "<kompletter Pfad der PDM.DLL>"

Schrittweises Vorgehen:
  1. Starten Sie den Explorer und lokalisieren Sie die PDM.DLL anhand der oben aufgeführten Liste
  2. Klicken Sie mit der rechten Maustaste bei gedrückter Umschalt-Taste auf die Datei. Wählen Sie den Menüpunkt Als Pfad kopieren
  3. Suchen Sie nun die CMD.EXE indem Sie den Startknopf anklicken und CMD.EXE eingeben, oder die Windows Suche nach CMD.EXE ausführen.
  4. Klicken Sie nun auf die CMD.EXE mit der rechten Maustaste und wählen Als Administrator ausführen.
  5. Geben Sie nun REGSVR32 ein und klicken mit der rechten Maustaste in das Fenster. Wählen Sie den Menüpunkt Einfügen
  6. Drücken Sie die Eingabetaste. Das Modul wird registriert. 

Windows 10 v1607:
Mit der Version 1607 von Windows 10 kann die von Microsoft mit gelieferte PDM.DLL nicht mehr manuell registriert werden.
Daher muss die PDM.DLL durch Microsoft Produkte automatisch registriert werden.
Im folgenden Link können Sie über die Installation der "Remote Tools for Visual Studio 2015 Update 3"  die PDM.DLL registrieren:
32bit: https://go.microsoft.com/fwlink/?LinkId=615469&clcid=0x407
64bit: https://go.microsoft.com/fwlink/?LinkId=615470&clcid=0x407
Nach der Installation der "Remote Tools" können Sie diese direkt wieder deinstallieren.
Die PDM.DLL bleibt trotz Deinstallation der "Remote Tools" weiterhin registriert und kann von AG-VIP SQL verwendet werden.

Beachten Sie auch die Anmerkungen zu den Problemen mit verschiedenen Versionen der PDM.DLL:
http://kb.grutzeck.de/content/1/328/de/ag_vip-sql-und-ag_vip-sql-makro-debugger-beenden-sich-nicht-nachdem-man-den-debugger-benutzt-hat.html

Betrifft nur AG-VIP SQL Installation ab der Version 1.40.013

 

2015-08-05 13:16
Martin Richter

Emailversand an einen Administrator für Hintergrundprozesse

Es ist möglich aus dem AGVIPJobScheduler Prozess Emails zu versenden.

Dadurch kann ein Administrator benachrichtigt werden, wenn Prozesse ausgeführt wurden oder Fehler mleden.

Damit dies aber möglich ist muss ein SMTP Zugriff verfügbar sein und die Anmeldedaten im JobScheduler eingerichtet werden.
Dazu ist eine Datei mit dem Namen AGVIPJobScheduler.ini notwendig. Diese Datei ist nach der Installation des Job-Schedulers noch nicht vorhanden und muss angelegt werden.

Eine Beispieldatei mit einigen Anmerkungen finden Sie hier (auch las Download):

 

[EMail]
; Allgemeine Infos
Host="mail.server.loc"
Port=465 Username="anybody@domain.de"
Password="theverysecretsecret"

; Empfänger Informationen
To="Admin <administrator@domain.de>"
; Absende Informationen
From="Job Scheduler <administrator@domain.de>"
ReplyTo="Admin Job Scheduler <admin@domain.de>"
;Die LoginMethod gibt an, wie Sie sich am SMTP-Server anmelden möchten. Folgende Möglichkeiten
; stehen Ihnen zur Auswahl:
; 0 = Keine Anmeldung, z.B. lokalem SMTP-Server
; 1 = Anmeldedaten werden verschlüsselt an den SMTP-Server übertragen (CramMD5Method),
; 2 = Anmeldedaten werden mit BASE64 versschlüsselt. Dies dient nur zum korrekten darstellen von Umlauten bzw.
; Sonderzeichen. Die eigentlichen Daten werden im Klartext übertragen (AuthLoginMethod), z.B. bei GMX, Freenet, ...
; 3 = Anmeldedaten werden im Klartext übertragen. Von dieser Methode ist abzuraten (LoginPlainMethod).
LoginMethod=0

; Der ConnectionType gibt an, ob die Datenübertragung per SSL verschlüsselt ist.
; 0 = Keine Verschlüsselung
; 1 = SSL Verschlüsselung (Port Anpassung für SSL berücksichtigen ! z.B. 465)
ConnectionType=1

Eine genaue Beschreibung aller Einstellungen und Werte finden Sie im aktuellen Makrto-Handbuch.

2015-07-29 10:10
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet:Der Anmeldevorgang konnte wegen Verzögerung beim Öffnen der Serververbindung nicht abgeschlossen werden.

Beschreibung:
Die Anmeldung an den SQL-Server dauert länger als die im Standard festgelegten 20 Sekunden.

Ursache:
Dieses Problem könnte z.B. durch Antivirenprogramme verursacht werden, welche Anwendungen wie z.B. "AG-VIP SQL" analysieren und dann diese erst erlauben im Netzwerk zu kommunizieren.

Lösung:
Optimal wäre es, das Problem am Schopf zu packen und z.B. im Falle eines Antivirenprogramms die Anwendung z.B. "AG-VIP SQL" freizugeben.
Falls die Ursache nicht ermittelt werden kann, ist es möglich die Dauer der Anmeldung in der Verbindungsdatei (.agdb) festzulegen.
Dazu erweitert man den ConnectionString am Ende um folgende zwei Eigenschaften (durch Semikolon getrennt):

;Connect Timeout=120;General Timeout=120

Die angegebene Zahl 120 entspricht den Sekunden -> 120s = 2 Minuten Anmeldetimeout.
Ein vollständiger ConnectionString könnte also wiefolgt aussehen:

InitString=Provider=SQLNCLI11.1;User ID=AGUser;Initial Catalog=AGVIP;Data Source=SERVER\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False;Application Intent=READWRITE;Connect Timeout=120;General Timeout=120

2016-01-20 14:19
Peter Brandt

Liste der Programmversionen und zugehörigen Datenbankversionen

Die nachfiolgende Liste umfasst alle erzeugten internen und externen AG-VIP SQL Builds und Hotfixes.
Nicht alle Versionen wurden zur Installation freigegeben.

Ofizielle Versionen sind in fett aufgeführt

Nr. Datum Build Anmerkung DB-Version
3186 31.01.2017 08:29 1.45.002.725    
3180 27.01.2017 10:35 1.45.002.724    
3171 20.01.2017 18:29 1.45.002.723    
3167 19.01.2017 09:28 1.45.002.723    
3165 19.01.2017 08:48 1.45.002.721    
3162 11.01.2017 08:10 1.45.002.720    
3155 21.12.2016 11:46 1.45.002.719   2.03
3142 16.12.2016 07:30 1.45.002.718    
3142 16.12.2016 07:30 1.45.002.718    
3136 08.12.2016 15:29 1.45.001.717    
3135 08.12.2016 13:32 1.45.001.716    
3133 08.12.2016 09:03 1.45.001.715    
3124 05.12.2016 12:18 1.45.001.714   2.02
3117 01.12.2016 14:42 1.45.001.713    
3116 01.12.2016 13:14 1.45.001.712   2.01
3096 17.11.2016 08:12 1.45.001.711    
3070 30.09.2016 14:39 1.45.001.711   2.00
3065 27.09.2016 08:16 1.44.003.710    
3063 26.09.2016 08:31 1.44.003.708    
3059 23.09.2016 08:58 1.44.003.708    
3053 14.09.2016 13:47 1.44.003.707    
3049 08.09.2016 08:22 1.44.003.706    
3031 17.08.2016 08:05 1.44.003.705   1.93
3010 22.07.2016 11:20 1.44.003.705    
3006 20.07.2016 14:24 1.44.002.704    
3000 15.07.2016 14:37 1.44.002.703    
2994 08.07.2016 14:23 1.44.002.702    
2991 08.07.2016 09:40 1.44.002.700    
2983 05.07.2016 11:57 1.44.002.699    
2980 01.07.2016 10:10 1.44.002.698    
2974 25.06.2016 09:48 1.44.002.697    
2969 24.06.2016 07:55 1.44.002.696   1.92
2961 15.06.2016 07:56 1.44.002.695    
2953 06.06.2016 09:10 1.44.002.694   1.91
2935 24.05.2016 10:50 1.44.002.694    
2935 24.05.2016 10:50 1.44.002.694    
2932 17.05.2016 10:55 1.44.001.693    
2930 13.05.2016 13:21 1.44.001.692    
2924 03.05.2016 13:12 1.44.001.691    
2920 29.04.2016 12:57 1.44.001.690    
2917 28.04.2016 08:24 1.44.001.689    
2912 27.04.2016 09:12 1.44.001.688    
2906 04.04.2016 17:01 1.44.001.687   1.90
2904 04.04.2016 15:47 1.44.001.687    
2901 18.03.2016 14:23 1.44.000.686    
2897 10.03.2016 12:41 1.44.000.684    
2896 10.03.2016 07:54 1.44.000.683    
2893 08.03.2016 19:37 1.44.000.682    
2885 03.03.2016 13:19 1.44.000.681    
2881 03.03.2016 08:10 1.44.000.680    
2867 18.02.2016 09:25 1.44.000.679    
2853 27.01.2016 19:41 1.43.007.677   1.89
2844 20.01.2016 20:43 1.43.006.676    
2825 08.12.2015 08:52 1.43.005.673    
2817 30.11.2015 09:14 1.43.005.672    
2804 17.11.2015 13:18 1.43.004.669    
2793 05.11.2015 08:39 1.43.004.668    
2791 30.10.2015 14:38 1.43.004.667   1.88
2757 23.09.2015 07:46 1.43.003.659    
2751 09.09.2015 08:09 1.43.003.658    
2748 07.09.2015 14:35 1.43.003.657    
2742 28.08.2015 13:57 1.43.003.656    
2738 24.08.2015 14:54 1.43.003.655    
2703 28.07.2015 08:04 1.43.002.651   1.87
2642 12.05.2015 08:27 1.43.001.639   1.86
2575 24.03.2015 15:46 1.42.004.626   1.85
2549 12.03.2015 15:26 1.42.003.622    
2537 24.02.2015 10:48 1.42.003.621    
2520 09.02.2015 15:43 1.42.003.617    
2515 04.02.2015 15:17 1.42.003.616    
2491 13.01.2015 17:20 1.42.003.612    
2480 18.12.2014 14:39 1.42.003.608    
2476 16.12.2014 14:23 1.42.003.607   1.84
2437 26.11.2014 08:14 1.42.002.600   1.82
2409 06.10.2014 12:55 1.42.001.598    
2364 07.08.2014 10:17 1.41.001.592    
2355 30.07.2014 16:39 1.40.013.591    
2317 01.07.2014 08:51 1.40.012.585    
2298 17.06.2014 09:38 1.40.011.583    
2286 28.05.2014 16:44 1.40.010.581    
2255 01.04.2014 14:37 1.40.009.575    
2253 31.03.2014 16:17 1.40.009.574    
2241 21.03.2014 09:30 1.40.008.571    
2201 28.01.2014 16:06:51 1.40.007.564    
2199 24.01.2014 14:14 1.40.007.563   1.81
2193 13.01.2014 12:08 1.40.007.562    
2136 11.10.2013 09:16 1.40.006.558   1.79 / 1.80
2081 20.08.2013 15:44 1.40.005.546    
2043 05.07.2013 20:36 1.40.004.540   1.78
2012 13.06.2013 14:49 1.40.003.537    
2004 07.06.2013 13:07 1.40.003.536    
1987 23.05.2013 12:24 1.40.002.532    
1906 18.03.2013 09:38 1.40.001.525   1.77
1891 07.03.2013 16:24 1.30.005.492 Hotfix 9  
1872 28.02.2013 14:05 1.40.000.522    
1867 27.02.2013 14:03 1.40.000.521    
1820 30.01.2013 14:52 1.30.005.491 Hotfix 8  
1777 19.12.2012 11:24 1.35.004.506   1.76
1741 14.11.2012 10:35 1.30.005.490 Hotfix 7  
1725 29.10.2012 15:27 1.30.005.489 Hotfix 6  
1718 24.10.2012 12:40 1.30.005.488 Hotfix 5  
1611 30.07.2012 16:18 1.30.005.487 Hotfix 4  
1585 26.06.2012 14:31 1.30.005.486 Hotfix 3  
1577 20.06.2012 13:16 1.35.000.483    
1572 19.06.2012 10:06 1.35.000.482    
1570 18.06.2012 16:44 1.35.000.481   1.70
1444 10.01.2012 15:43 1.30.005.485 Hotfix 2  
1415 02.12.2011 14:36 1.30.005.484 Hotfix 1  
1408 25.11.2011 18:00 1.30.005.483 RTM 1.64
1357 21.10.2011 14:14 1.30.004.482 Hotfix  
1326 05.10.2011 13:45 1.30.004.481   1.63
1308 28.09.2011 12:46 1.30.003.480 Hotfix  
1287 15.09.2011 14:50 1.30.003.479    
1280 12.09.2011 11:23 1.30.002.478   1.62
1252 17.08.2011 13:22 1.30.001.475   1.61
1180 08.07.2011 13:03 1.30.000.466   1.60
1071 08.03.2011 14:56 1.21.004.462    
1010 14.12.2010 10:14 1.21.003.456    
989 22.11.2010 13:54 1.21.002.454    
983 17.11.2010 15:25 1.21.001.453   1.55
947 27.10.2010 14:10 1.21.000.448 Hotfix  
937 22.10.2010 07:55 1.21.000.447   1.54
776 10.06.2010 17:04 1.20.011.434 Hotfix  
772 09.06.2010 11:08 1.20.011.433   1.52
733 06.05.2010 11:41 1.20.010.428   1.49
649 22.01.2010 12:33 1.20.009.419    
637 13.01.2010 08:44 1.20.008.418    
602 18.11.2009 16:26 1.20.007.416    
596 13.11.2009 11:07 1.20.006.415   1.48
506 04.08.2009 16:35 1.20.005.401    
501 03.08.2009 16:34 1.20.005.400    
482 02.07.2009 15:26 1.20.005.399    
460 26.05.2009 14:13 1.20.005.398    
458 12.05.2009 13:08 1.20.005.398    
455 12.05.2009 08:02 1.20.004.397    
446 05.05.2009 15:43 1.20.003.396   1.47
406 17.03.2009 10:54 1.20.002.388    
385 03.03.2009 11:56 1.20.001.385    
284 31.10.2008 13:02 1.10.012.376   1.46
280 30.10.2008 08:45 1.10.011.375    
279 22.10.2008 16:09 1.10.011.374    
275 22.10.2008 12:44 1.10.010.373    
272 22.10.2008 09:08 1.10.009.372   1.45
240 23.09.2008 11:15 1.10.008.367    

2017-02-21 10:22
Martin Richter

Die Unterstützung des SQL-2000 OLE-DB Providers endet mit der AG-VIP SQL Version 1.45.002

Bisher haben wurde immer noch den Zugriff über den OLEDB Provider aus SQL 2000 erlaubt.

Dieser OLEDB Provider ist meistens auf den Rechner bereits installiert.
Leider mussten wir in Tests feststellen, dass dieser Provider nicht zuverlässig alle Datentypen übermittelt, die modernere SQL Server (2005 und später) unterstützen.

Mit der nächsten Programmversion nach der Version 1.45.002 wird kein AG-VIP SQL Produkt mehr eine Datenbank mit diesem alten Provider öffnen könen. Man erhält in Zukunft dann die folgende Fehlermeldung:

Die Datenbank kann nicht geöffnet werden!
Es wurde kein kompatibler OLEDB-Provider gefunden oder die Verbindungsdatei ist defekt!  

Ältere AG-VIP SQL sind funktional nach unserer Erkenntnis nicht betroffen. Wir raten dennoch dazu alle entsprechenden betroffenen alten Verbindungsdateien neu zu erzeugen und einen aktuellen, zum eingesetzten SQL Server passenden, Provider zu benutzen.
Bei Bedarf müssen diese Provider auf den Clients nachinstalliert werden.  

Erkennbar sind betroffene Verbindungsdateien am InitString.
Ist der Inhalt InitString=Provider=SQLOLEDB.1;… wird in dieser Datei der alte SQL 2000 Provider verwendet.
Der aktuelle SQL Native Provider hat die Version 11 (Provider= SQLNCLI11.1;…) und wird mit den SQL-Server Versionen 2012/2014/2016 ausgeliefert.

Kompatibel sind weiterhin auch die SQL Native Provider aus SQL-Server 2005 (Provider= SQLNCLI.1;…)und 2008 (Provider= SQLNCLI10.1;…).

2017-03-23 11:55
Martin Richter

Das Programm kann nicht gestartet werden: api-ms-win-crt-runtime-l1-1-0.dll fehlt.

Beschreibung:
Beim Versuch ein Datenbankupdate auszuführen erscheint folgende Fehlermeldung:

AGVIP.exe - Systemfehler  
Das Programm kann nicht gestartet werden,
da api-ms-win-crt-runtime-l1-1-0.dll auf dem Computer fehlt.
Installieren Sie das Programm erneut, um das Problem zu beheben.

Ursache:
Auf dem betroffenen Rechner wurden schon länger keine Windowsupdates installiert bzw. das Windowsupdate  KB2999226

Lösung:
Installieren der Windowsupdates bzw. des einzelnen KB2999226:
https://support.microsoft.com/de-de/help/2999226/update-for-universal-c-runtime-in-windows

2017-03-28 09:25
Peter Brandt

Nach einem Update kommt es zu eigentümlichen Makro Fehlern in allen möglichen Bereichen

Beschreibung:

Es wurde ein Update ausgeführt. Nach einem Update kommt es zu eigentümlichen Makro Fehlern in allen möglichen Bereichen. In keinem der Makros (Hilfsmittel, Ansichten etc.) wurden Änderungen gemacht.

Syntaktisch sind die Befehle korrekt. Dennoch kommt es auf den Client Rehcnern zu diesen Fehlern.

Das Update von AG-VIP SQL war ein Update mit einem großen Versionssprung.

Validierung:

Zu prüfen wäre es ob, die gleichen Abläufe auf dem Server, oder einem neu eingerichteten Rechner funktionieren.

Ursache:

Die Type-Library des Makro Modelles hat sich gravierend geändert.
Damit können die Makrobefehle nicht mehr korrekt ausgeführt werden.
Auf den Clients wurde SetupAGVIPClient.exe nicht ausgeführt, obwohl dies in den Update Informationen beschrieben und angeraten wird.

Lösung:

Auf allen Client Rechner muss SetupAGVIPClient.exe nochmals ausgeführt werden.

Alternativ ist es auch möglich AG-VIP SQL neu zu registrieren. Dies geschieht in dem man in einer Comsole mit administrativen Rechten den folgenden Befehl ausführt:

AGVIP.EXE -Register

2019-09-13 08:05
Martin Richter

Fernwartung

Um einen guten Support zu gewährleisten ist in der AG-VIP SQL Installation ein Fernwartungsclient installiert.
Bis zum 31.12.2019 unterstützen und nutzen wir TeamViewer.
Seit Oktober 2019 kommt ausschließlich AnyDesk zum Einsatz. 
In einer Übergangszeit bis Mitte Februar werden wir beide Versionen unterstützen.

Wird der Menüpunkt Fernwartun in AG-VIP SQL angeklickt wird die Datei Support.exe im Programmverzeichnis ausgeführt. Je nach Version wird dann der TeamViewer oder AnyDesk Client gestartet´.

AnyDesk

Ab der Version 2.00.006 unterstützen wir den Support mit AnyDesk.
Folgende Module stehen für den Download zur Verfügung:

Standard Fernwartungsclient (dieser ist als Setup.exe in der Installation enthalten):

https://anydesk.grutzeck.de 
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
In älteren Installationen ist es ohne Probleme möglich den neuen AnyDesk Client unter dieser Adresse herunter zu laden und in der bestehenden älteren AG-VIP SQL Installation zu ersetzen.

Fernwartungsclient, der auch ausgehende Verbindungen erlaubt:

https://get.anydesk.com/6OXM42zN/Support-Full.exe
Diese Version ist identisch zum Standard-Client, erlaubt aber auch ausgehende Verbindung.
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
Auch dieser Client kann den aktuell im Programmverzeichnis installierte Support.exe ersetzen.

Komplette Installation für AnyDesk:

https://get.anydesk.com/rrnBf17n/AnyDesk.msi
Mit dieser Version installieren Sie AnyDesk permanent auf einem Rechner. Die Installation erlaubt ein- und ausgehende Verbindungen.
Dieser Setup ist von Grutzeck-Software angepasst und mit unserem Logo versehen.

Allgemeine AnyDesk Version:

Auf der Seite https://www.anydesk.com/de kann die AnyDesk Standard Version heruntergeladen werden.
Diese finden Sie auch direkt unter dem folgenden Link https://download.anydesk.com/AnyDesk.exe
Diese Programmversion erlaubt es die aktuelle AnyDesk Version nur auszuführen und auch zu installieren. Sie ist nicht angepasst.
Unser Support kann sich mit jeder Ihrer AnyDesk Versionen verbinden.

2020-02-24 12:34
Martin Richter

Entfernen aller durch den Benutzer installierten TSPs

Hintergrund:

Seit Windows 10 kommt es nach Updates immer wieder vor, das die TSPs (Telephony Service Provider) in der TAPI nicht mehr funktionieren.
Das Problem nach einem Update ist weiterhin, dass sich die TSPs dann auch oft nicht entfernen lassen.

Lösung:

Das Hilfsmittel RemoveAllTSPs.exe kann hier Abhilfe schaffen.
Das Tool entfernt alle TSPs aus der Registry, die nicht von Microsoft stammen.

Hintergrund:

In der TAPI sind 3 TSPs durch Microsoft vorinstalliert:

  • unimdm.tsp (Unimodem Service Provider)
  • kmddsp.tsp (TAPI Kernel-Mode Service Provider)
  • hidphone.tsp (Microsoft HID Phone TSP)

Üblicherweise sind dies die ersten drei installierten TSPs, die auch immer geladen werden.

Das Tool geht nun die Liste der TSPs in der Registry durch, und sucht solange in aufsteigender Installationsfolge bis ein TSP gefunden wird, der nicht von Microsoft stammt.

Alle folgenden TSPs werden nun aus der Registry entfernt.
Dadurch werden die TSPS nicht deinstalliert aber sie werden nicht mehr aktiv, d.h. bei Start des TAPI-Dienstes werden diese nun nicht mehr geladen.

Wird dieses Tool ausgeführt, wird ein Neustart des Rechners fällig, wenn der TAPI-Dienst gestartet wird. Zumindest ein Neustart des Dienstes ist nötig.
Zur Sicherheit wird automatisch ein Reboot nach Ausführung des Tools angeboten.

Das Tool kann nur ausgeführt werden, wenn es mit administrativen Rechten gestartet wird.

Die TSPs werden hierbei nur aus der Liste der aktiven TSPs entfernt! DIe TSPs können jederzeit wieder über die Telefon- und Modem Einstellungen zu den aktiven TSPs hinzugefügt werden. Eine Neuinstallation der TSPS ist nicht nötig. Nach der Installation eines TSPs liegen diese im Windows\Systerm32 Verzeichnis mit der Endung .TSP als Dateien vor. Diese können jederzeit zu den aktiven TSPs hinzugefügt werden oder auch wieder aus der Liste der aktiven TSPs entfernt werden. Dies ist keine Installation!

Das Tool hat weiterhin folgende Befehlszeilen Parameter:

  • /s Silent -Modus. Keine Fragen. Keine Meldungen
  • /r Ein Reboot wird sofort automatisch ausgeführt, wenn dieser notwendig ist.
Wird das Tool ohne Parameter aufgerufen, dann wird der Nutzer gefragt ob er die TSPs entfernen möchte. Nach Entfernen von TSPs wird dann gefragt ob das System neu gestartet werden soll.

2023-02-14 11:15
Martin Richter

Datenübernahme aus AG-V.I.P. 5.x Dateien nach AG-VIP SQL ohne eigenständige AG-V.I.P. 5.x Installation

Hintergrund:

Mit dem Programm AGVIP5Import ist es möglich alte AG-V.I.P. 5.x Dateien nach AG-VIP SQL zu importieren. Oft ist allerdings keine alte AG-V.I.P. 5.x Installation mehr verfügbar. Oder die AG-V.I.P. 5.x Versionen laufen auf Rechnern auf denen AG-VIP SQL nicht installiert werden kann, oder umgekehrt, AG-VIP SQL läuft auf Rechnern auf denen AG-V.I.P. 5.x nicht zur Verfügung steht.

Versucht man AGVIP5Import.exe auf einem Rechner ohne alte AG-V.I.P. 5.x Installation zu starten, dann erscheint die Fehlermeldung:

AG-VIP SQL Import Assistent für 5.x Adressendateien
Datenbankmanager Btrieve ist nicht installiert oder konnte nicht geladen werden:
Das angegebene Modul wurde nicht gefunden.
AG-V.I.P. 5.x sollte installiert sein!

Lösung:

Alle benötigten .ADR und KONSTANT.AG Dateien werden auf einen Rechner oder in das Netz kopiert auf dem AG-VIP SQL läuft. Zusätzlich wird die Btrieve DB-Engine auf dem entsprechenden Rechner, auf dem der Import durchgeführt werden soll lauffähig gemacht.

Vorgehensweise:

Für den nachfolgenden Lösungsweg, benötigen Zugriff auf das Programmverzeichnis von AG-VIP SQL und lokale administrative Rechte. Die Anleitung und die Dateien sind für ein 64bit Betriebssystem gedacht.

  1. Laden Sie zuerst die Datei Btrieve32.zip und Btrieve.reg aus dem Anhang herunter. 
  2. Entfernen Sie das Flag für den Download. Datei Eigenschaften -> Abschnitt Sicherheit -> Dort Zulassen anklicken -> OK.
  3. Entpacken Sie nun den Inhalt der Datei Btrieve.zip und Kopieren Sie den gesamten Inhalt in das AG-VIP SQL Programmverzeichnis.
  4. Öffnen SIe nun eine Eingabe Aufforderung (CMD.EXE) als Administrator. (Windows Taste -> CMD.EXE -> Rechte Maustaste -> Als Administrator ausführen)
  5. Wechseln Sie nun in das Programmverzeichnis von AG-VIP SQL. (CD ...)
  6. Führen Sie den folgenden Befehl aus:
    W32MKDE.EXE /register
  7. Starten Sie den Registrierungseditor. Windows-Taste -> Regedit.exe -> OK
  8. Selektieren Sie den Knoten bei einem 64bit System
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies
    Klicken Sie mit der Rechten Maus auf den Knoten und wählen Berechtigungen....
  9. Wählen sie den Eintrag Benutzer aus und selektieren Sie das Recht Vollzugriff und auf OK.
  10. Doppelklicken Sie nun die Datei Btrieve.reg
  11. Starten Sie nun den Importvorgang mit AGVIP5Import.exe.

Achten Sie unbedingt darauf, dass die passende Datei Konstant.AG mit zusammen in dem Verzeichnis liegen in dem auch die ADR Dateien von AG-V.I.P. 5.x liegen.

Weitere Informationen zur Datenübernahme finden Sie im Handbuch.

Alle Maßnahmen in diesem Artikel haben keinen Einfluß auf eine bestehende AG-VIP SQL Installation. Nach dem Import können die Btrieve-Dateien alle wieder entfernt werden. Können aber auch für spätere Importvorgänge in dem Programmverzeichnis liegen bleiben.

Hinweis:

Unter Umständen erhalten Sie die Meldung <20> RECORD MANAGER INACTIVE. 

Kontrollieren Sie in diesem Fall den Eintrag HomeDirectory in der Registry im Ast HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Settings. Der Eintrag sollte auf ein Verzeichnis verweisen auf das alle Benutzer Lese- und Schreiberechte haben, die an diesem PC arbeiten.

Alternativ starten Sie AGVIP5Import als Administrator.

2023-11-03 09:34
Martin Richter

Manuelle Installation von AG-VIP SQL Backend Dienst und AG-VIP SQL Job Scheduler

Hintergrund:

Mit der Installation der Dienste wird eine Standard Konfiguration vorgenommen.
Es kann aber hilfreich sein, die Dienste selber manuell zu konfigurieren. Insbesondere wenn mehrere Dienste zu unterschiedlichen Datenbanken auf einem Server laufen sollen (Möglich ab der Version 2.01.004). Durch die Befehle in der Eingabeanforderung ist auch möglich den Dienst gezielt zu starten und zu beenden. Der der Installation über die Befehlszeile kann auch ein entsprechendes Benutzerkonto definiert werden aber auch eine abweichende AGDB Datei anzugeben oder weitere Parameter an den Dienst zu übergeben.

AG-VIP SQL Backend Service

Der normale Dienstname lautet "AGVIPBackendService". Der Anzeigename (der Name der in der Liste der Dienste angezeigt wird), lautet "AG-VIP SQL Backend Service".
Man beachte, dass Anzeigenamen nicht eindeutig sein müssen. Der Dienstname dagegen ist eindeutig.

AG-VIP SQL Job Scheduler Service

Der normale Dienstname lautet "AGVIPJobSchedulerService". Der Anzeigename (der Name der in der Liste der Dienste angezeigt wird), lautet "AG-VIP SQL Job Scheduler Service".

Nutzung der Befehlszeile

Um die Dienste zu steuern, ist es notwendig auf dem Server eine Eingabeaufforderung mit Administrativen Rechten zu öffnen. (CMD.EXE suchen, rechter Mausklick und "Als Administrator ausführen")
Nun wird dir EXE des Dienstes (AGVIPBackendService.exe bzw. AGVIPJobScheduler.exe) mit entsprechenden Parametern gestartet.
Nachfolgend wird immer der Backendservice beschrieben. Die Funktionen sind für den Job-Scheduler gleichlautend.
Parameter können beginnend mit einem Bindestrich (- ) oder Schrägstrich (/) angegeben werden. Entsprechend sind Parameter wir -install und /install, oder /p:PC\Test oder -p:PC\Test gleichbedeutend.
Sollten im Parameter selbst Leerzeichen vorkommen müssen zusätzlich doppelte Anführungszeichen verwendet werden. Beispiel -p:"Kennword mit Leerzeichen"

Dienstname -SN:ServiceName

Der folgende allgemeinen Parameter ist notwendig, wenn es mehrere Instanzen eines Dienstes auf einer Maschine gibt (Möglich seit der Version 2.01.004). Je Datenbank ist grundsätzlich nur ein Dienst erlaubt. Aber wenn man über mehrere Datenbanken verfügt (unterschiedliche Mandanten, Testdatenbank), dann kann es notwendig sein, mehrere Dienst Instanzen zu installieren.

Mit dem Parameter -SN:AGVIPBackendService wird der eindeutige Dienstname definiert auf den sich der entsprechende Befehl (Start, Stop, Install, Uninstall) bezieht. Der Parameter /SN kann wegelassen werden, wenn es sich um eine Standard-Instanz mit umgeändertem Namen handelt. Der Dienstname sollte keine Leerzeichen und Sonderzeichen beinhalten (es ist zwar erlaubt macht aber das Handling schwieriger).
Der Abweichende Dienstname wird auch für den Namen der Log-Dateien verwendet.

Installation eines Dienstes

Die Installation eines Dienstes erfolgt mit dem Befehl -install.

Syntax:
Dienst.exe -install [-sn:Dienstname] [-sdn:"Anzeigename des Dienstes"] [-sd:"Lange Beschreibung des Dienstes"]
[-auto] [-u:Username -p:"Password" [-EnableServiceLogonRight]] [-scl:"Zusätzliche Befehlszeilen Paramerter"]

-install
Notwendiger Parameter für die Installation.

-sn:ServiceName
Muss angegeben werden, wenn nicht der Standarddienstname benutzt werden soll oder eine zweite Instanz des Dienstes installiert werden so. Es ist evtl. Ratsam bei mehreren Instanzen hier den Datenbanknamen mit zu verwenden.

-sdn:ServiceDisplayName
Der Anzeigename des Dienstes, der in der Verwaltung der Dienste angezeigt werden soll. Auch hier sollte ein entsprechender Name verwendet werden, wenn mehrere Instanzen benutzt werden. Bei Nutzung von Leerzeichen sind Anführungszeichen nötig.

-sd:ServiceDescription
Eine zusätzliche Dienstschreibung, die auch in der Dienste Verwaltung angezeigt wird. Bei Nutzung von Leerzeichen sind Anführungszeichen nötig.

-auto
Wird -auto angegeben, dann wird der Dienst installiert und zum automatischen Start eingerichtet. Die normale Einstellung ist, dass der Dienst zum manuellen Start eingerichtet wird.
Der Dienst wird nicht automatisch nach der Installation gestartet.

Benutzer und Kennwort -u:username, -p:password
Soll ein spezielles Dienstkonto benutzt werden weil zum Beispiel Zugriff auf das Netzwerk nötig wird, dann kann mit den Parametern -u und -p Benutzer und Kennwort angegeben werden. Es ist darauf zu achten, dass der Benutzername Domäne oder Coomputernamen entsprechend einschließt. Beispiel:
-u:Domain\JobAccount -p:"Geheimes Kennwort"

-EnableServiceLogonRight
Wird ein Benutzerkonto bei der Installation angegeben, dann kann man über den Parameter EnableServiceLogonRight sicherstellen, dass der entsprechende Benutzeraccount auch die Rechte hat als "Dienst Ausführen" erhält. Dieses Recht ist nicht automatisch mit jedem Benutzerkonto verknüpft. Es empfiehlt sich diesen Parameter bei der ersten Nutzung eines Kontos anzugeben, wenn dies nicht sichergestellt ist oder unbekannt ist ob dieses Rechte vorhanden ist.

-scl:"ExtendedCommanLine"
Erweiterte Befehlszeile. Mit dem -scl Parameter werden weitere Angaben an den Dienst übergeben, die seine Funktionsweise steuern oder auch definieren wo Logs abgelegt werden müssen. Diese erweiterte Befehlszeile benötigt eine entsprechende Behandlung bzgl. Leerzeichen und Anführungszeichen. Anführungszeichen müssen hier evtl. gedoppelt werden.
Die erweiterten Befehlszeilen Parameter werden weiter unten behandelt. Mögliche Parameter sind hier -log, -conn, -fulldump.

Deinstallation eines Dienstes

Die Deinstallation eines Dienstes erfolgt mit dem Befehl -uninstall.

Syntax:
Dienst.exe -uninstall [-sn:Dienstname] [-sdn:"Anzeigename des Dienstes"]

Die Parameter -sn und -sdn müssen angegeben werden, wenn Sie bei der Installation geändert wurden, oder es sich nicht um die Standard Dienstnamen bzw. Standard Anzeigenamen handelt.

Starten eines Dienstes

Das Starten eines Dienstes erfolgt mit dem Befehl -start.

Syntax:
Dienst.exe -start [-sn:Dienstname]

Die Parameter -sn muss angegeben werden, wenn Sie bei der Installation geändert wurden, oder es sich nicht um die Standard Dienstnamen handelt, der gestartet werden soll.

Stoppen eines Dienstes

Das Stoppen/Beenden eines Dienstes erfolgt mit dem Befehl -stop.

Syntax:
Dienst.exe -stop [-sn:Dienstname]

Die Parameter -sn muss angegeben werden, wenn Sie bei der Installation geändert wurden, oder es sich nicht um die Standard Dienstnamen handelt, der gestartet werden soll.

Testbetrieb eines Dienstes

Es ist möglich auch einen Dienst testweise zu betreiben. Das geschieht mit der Angabe -debug oder console.
Der entsprechende Dienst wird, dann in der Eingabeaufforderung direkt ausgeführt unter den Berechtigungen des aktuellen Benutzers. Alle Ausgaben, die normalerweise nur in die Log-Datei erfolgen werden auf in der Eingabeaufforderung angezeigt.
Für Testzwecke ist dies ein geeigneter Weg um schnell Fehler zu finden.
Der entsprechende Dienst darf anderweitig natürlich nicht gestartet sein.

Syntax:
Dienst.exe -debug

 Erweiterte Befehlszeile

Wenn ein Dienst unter mehreren Instanzen läuft oder auch für die Fehlerfindung sind zusätzliche Startparameter notwendig. Diese können nur bei der Installation über die Befehlszeile eingerichtet werden.
Die Parameter sind:

-conn:AGDBPath
Hier kann ein abweichende AGDB Datei definiert werden. Es muss der komplette Pfadname eingetragen werden. Entsprechende notwendige Leerzeichen müssen in doppelte Anführungszeichen gesetzt werden.

-log:LogPath
Hier wird ein Ausgabepfad definiert in den der Dienst seine Log-Dateien schreiben soll. Der Dienst muss Schreibrechte auf dieses Verzeichnis haben. Der Pfad muss existieren. Entsprechende notwendige Leerzeichen müssen in doppelte Anführungszeichen gesetzt werden.
Für den Job Scheduler Dienst ist die Angabe des Log-Pfades wichtig, um die einzelnen Ausgaben der Jobs von mehreren Instanzen unterscheiden zu können.

-fulldump
Mit dem Parameter -fulldump kann der Dienst angewiesen werden bei einem Crash einen vollen Speicherdump zu erzeigen. Diese Option ist zur Fehlersuche durch den Support manchmal notwendig.

-ini:PfadZuIniDatei
Mit dem Parameter -ini kann der Dienst angewiesen werden, die .INI Datei für die lokalen Diensteinstellungen (Email-Server für JobScheduler u.a.) aus einer anderen Datei oder Verzeichnis zu lesen, als der vorgegebenen INI-Datei. Normalerweise, wird die INI Datei benutzt, die den gleichen Namen wir die ausführbare Datei des Dienstes hat, also AGVIPBackendService.INI oder AGVIPJobScheduler.ini

Anwendungsbeispiel 1:

In der nachfolgenden Befehlszeile wird ein Backendservice installiert, der unter dem Namen AGVIPBackendService-Demo laufen soll. Die Dienstbeschreibung lautet entsprechend.
Es wird eine abweichende AGDB Datei angegeben sowie ein abweichender Pfad für die LOG Ausgabe.
Obwohl keine Leerzeichen in den Pfaden vorhanden sind, wurde hier die Pfade in Anführungszeichen gesetzt zur besseren Verdeutlichung.
Ein abweichendes Konto wurde hier nicht benutzt.

AGVIPBackendService.exe -install /sn:AGVIPBackendService-Demo -sdn:"AG-VIP SQL Backend Service - Demo" -scl:"-conn:""D:\Dev\Root\Projects\Bin\Debug\AGVIP-Demo.agdb"" /log:""D:\Dev\Root\Projects\Bin\Debug\Demo"""

Anwendungsbeispiel 2:

In dem zweiten Beispiel wird ein Job Scheduler unter dem Account des PCs PC-4711 angelegt mit dem entsprechenden Kennwort. Es wird garantiert, dass dieser Account auch als Dienst ausführen darf. Es werden die Standard Dienstnamen verwendet.

AGVIPJobScheduler -install -u:PC-4711\XYZ -p:ahfkdf,1ghj -EnableServiceLogonRight

2020-04-20 11:38
Martin Richter

Durchführen einer Reparaturinstallation mit Neuinstallation aller AG-VIP SQL Dateien

Hintergrund:

Wird das Installation Programm nach einer bestehenden Installation oder einem bestehenden Update erneut mit der gleichen Version gestartet wird eine Reparaturinstallation ausgeführt.

Reparatur Installation mit dem All-In-One-Installer

Wird der All-InOne-Installer (SetupAVIP.exe auf der CD oder VIP_SQL_xyyzzz.exe) ausgeführt, erfolgt automatisch eine Reparaturinstallation, wenn zuvor die gleicher Version installiert war. Ansonsten erfolgt ein Update.
Downgrades sind ohne Deinstallation nicht erlaubt.

Die Reparaturinstallation ersetzt immer alle Dateien, die zu diesem Setup-Paket gehören.
Im Allgemeinen müssen zuvor keine alten Dateien gelöscht werden.

Es werden garantiert keine Benutzereinstellungen (AGVIP.INI oder AGVIP.AGDB) oder Benutzerdaten (andere Dateien die in den AG-VIP SQL Ordner gelegt wurden verändert oder gelöscht. Auch andere Dateien, die in den Ordner kopiert wurden werden nicht überschrieben, sofern diese nicht den gleichen Namen wie eine AG-VIP SQL Komponente.

Reparaturinstallation mit einem MSI Paket.

Man kann mit den MSI Paketen, die wir ausliefern auch eine Reparaturinstallation ausführen. Dazu muss das MSI Paket mit folgenden Parametern gestartet werden, damit auch in diesem Fall alle Dateien aktualisiert werden

msiexe /I <Pfad auf MSI Datei>] REINSTALL=ALL REINSTALLMODE=vamus

Welche Dateien gehören zur AG-VIP SQL Installation

 Die folgenden Dateien können im Problemfall und auf Anweisung des Support-Teams ohne Probleme gelöscht werden.
Nachfolgend werden die Dateigruppen aufgeführt und erklärt.

  • Ausführbare Dateien: Dateien mit der Endung *.exe, *.dll, *.manifest, *.vsto
  • Dokumentation:  Ordner Docs mit den Endungen *.pdf
  • Reporting-Engine: Ordner LL25 (alle Dateien mit verschiedenen Dateiendungen)
  • VoIPSIP Komponente: Ordner VoIPSIP (alle Dateien mit verschiedenen Dateiendungen)
  • Manueller TAPI Treiber: Ordner TSP (alle Dateien und Unterordner mit verschiedenen Dateiendungen)
  • Daten für Kontonummernprüfung: Ordner Data\Bankcode (alle Dateien mit verschiedenen Dateiendungen)
  • Daten für Rechtschreibprüfung: Ordner Data\Dictonaries (alle Dateien mit verschiedenen Dateiendungen)
  • Hilfedateien: Dateien mit der Endung *.chm
  • Geodaten: AGCountry1.DAT und AGCountry2.DAT
  • Diverse .BAT Dateien

 

2020-07-07 15:52
Martin Richter

Automatisches Update von AG-VIP SQL Lizenzen über das Internet

Hintergrund:

Gerade bei Kunden, die zeitlich befristet Ihre Lizenzen variabel mieten oder erwerben muss regelmäßig eine neue AGVIP.LIC Datei eingespielt werden. Manchmal gehen Emails verloren oder der Spamfilter schlägt zu.

Hier schafft das neue Lizenz-Update über das Internet Abhilfe.

Vorgehensweise:

Der Lizenzmanager verfügt über einen neuen Update-Modus "Lizenz vom Internet-Lizenzserver aktualisieren".
Über diesen Menüpunkt kann unser Vertrieb für alle AG-VIP SQL Versionen ab der Version 2.01.006 Lizenzdateien direkt bereitstellen.

Diese Lizenzen sind verfügbar sobald unser Vertrieb, um diese Lizenzen erzeugt hat.
Die Lizenz wird nicht automatisch installiert. Die neuen Lizenzinformationen werden angezeigt und erst wenn der Anwender den Schalter "Installieren" anklickt, wird die Lizenz übernommen.

Beachten Sie, dass das Starten des Lizenzmanagers lokale administrative Rechte benötigt

Wird eine neue Lizenz für Sie bereit gestellt erhalten Sie weiterhin diese Lizenz mit einer Email als Kopie.
Wenn Sie diese Email erhalten, steht zeitgleich die neue Lizenz auf dem Lizenzserver bereit.

Dongle-Updates:

Der Lizenzserver überträgt auch automatisch die notwendigen Dongle-Update Dateien. Diese werden sofort mit installiert. Es ist kein weiterer Arbeitsschritt notwendig.

Vorraussetzung:

Um den Lizenzserver zu benutzen ist eine aktuelle gültige Lizenz notwendig. Es kann auch nur diese Lizenz aktualisiert werden. 
Ist keine neue Lizenz vorhanden oder hat sich die Lizenz nicht verändert, erhalten Sie eine entsprechende Fehlermeldung.

2020-07-07 13:41
Martin Richter

Sicherheitslücke in der CodeMeter Runtime CVE-2020-14519

Hintergrund:

Die Firma Wibu hat uns am 16.09.2020 informiert, dass es ein Sicherheitsproblem mit der CodeMeter Runtime geben kann.
Dieses Problem wurde in der CodeMeter Runtime 7.10a behoben.
Beachten Sie, dass diese Lücke nur ausgenutzt werden kann, wenn ein Hacker sich bereits Zugang zu Ihrem Netz verschafft hat (siehe auch FAQ zu den Sicherheitshinweisen von Wibu).

Betroffen sind alle Rechner auf denen die CodeMeter Runtime installiert wurde.
Anders ausgedrückt, auf allen Rechner auf denen AG-VIP SQL lokal oder als Client Installation mit SetupAGVIPClinet.exe installiert wurde sind betroffen, wenn Ihre Lizenz einen Schutz mit einem Dongle einschließt.
Beachten Sie bitte, dass nur die CodeMeter Runtime betroffen ist und nicht AG-VIP SQL oder einer unserer Dienste.

Der Download der neuesten CodeMeter Software findet sich hier auf unserer Homepage
http://download.grutzeck.de/AGVIPLaDM.exe 

Alternativ können Sie sich die entsprechende Runtime auch direkt bei Wibu Systems herunterladen.
https://www.wibu.com/de/support/anwendersoftware/anwendersoftware.html 
Alle neuen CodeMeter Runtime sind mit unserer Software kompatibel (auch mit älteren Versionen).

Installationshinweise:

Bei Installationen vor der Version 2.01.005 wird noch ein AGVIPLaDM.msi Paket bei einer Client-Installation verwendet. Hierfür können wir kein Update bereitstellen.
Seit der Version 2.01.005 haben wir das Setup komplett überarbeitet und umgestellt. Die AGVIPLaDM.msi entfällt. Stattdessen gibt es jetzt eine AGVIPLaDM.exe, mit der die CodeMeter Runtime installiert wird.
Diese Datei ist identisch mit dem Runtime Download von Wibu Systems.

Sollte also ein neuer Client-Rechner mit einer Software Version vor der 2.01.005 installiert werden muss anschließend auch ein Update der CodeMeter Runtime mit der neuen AGVIPLaDM.exe erfolgen.
Sollten Sie eine Version 2.01.005 oder später haben, können Sie die AGVIPLaDM.exe im Programmverzeichnis mit der neuen hier im Artikek angegebenen Version überschreiben.
Dann werden neue Client-Installationen auch mit der neuen sicheren Runtime installiert.

Hinweise zur individuellen Installation auf den Clients zum ausrollen der AGVIPLaDM.exe finden Sie im Kapitel 5.6ff des Installations-Handbuchs:
https://www.grutzeck.de/sites/default/files/bedienungsanleitung/handbuch_ag-vip_sql_installation.pdf 
Die Installationsanweisungen dort gelten auch für Ihre ältere Programmversionen.

Beachten Sie bitte, dass auf allen Rechner, auf denen sich eine AG-VIP SQL-Installation befindet die neue Runtime installiert werden muss.
Das gilt auch für den Server auf denen ein WCF Dienst von uns läuft. Nicht betroffen sind Backend Dienst, oder Job-Scheduler sofern diese eigenständig installiert wurden.

Weiterführende Informationen:

Weitere Informationen bzgl. der Sicherheit der CodeMeter Software mit einer entsprechenden FAQ finden Sie hier:
https://www.wibu.com/de/support/security-advisories.html 

2021-08-25 08:22
Martin Richter

Funktionsweise des Papierkorb in AG-VIP SQL (ab Version 2.02.001)

Die Papierkorbfunktion in AG-VIP SQL

Der Papierkorb in AG-VIP SQL ist eine spezielle Datenbank Funktion, die das Löschen von Adressen und Tickets überwacht.
Das Löschen von untergeordneten Datensätzen, wie Zusatztabellen, Kennzeichenlisten und einzelne Eingabefelder werden nicht überwacht.
Die Datensätze werden im Moment der Löschung gesichert und können exakt so wiederhergestellt werden.
Gelöschte Datensätze werden nicht durch AG-VIP SQL bearbeitet. Tickets werden nicht automatisch verschoben. Die Datensätze erscheinen in keiner Auswertung oder Reports.
Wird eine Adresse gelöscht, sind damit auch alle untergeordneten Tickets mit gelöscht. Wird nur ein Ticket gelöscht, bleibt wie bei einem normalen Löschvorgang die Adresse erhalten.

Ein- und Ausschalten des Papierkorbes

Der Papierkorb wird als Funktion über die Globalen Einstellungen ein- bzw. ausgeschaltet.
Ist der Papierkorb ausgeschaltet (Vorhaltezeit = 0 Tage), werden Datensätze sofort und augenblicklich gelöscht. Datensätze, die so gelöscht wurden, können nicht wiederhergestellt werden.
Nach dem Ausschalten des Papierkorbs kann es noch eine Zeit dauern bis alle Datensätze endgültig gelöscht wurden.
Wird eine Vorhaltezeit >=1 Tage eingestellt, so verbleiben die Datensätze für mindestens diesen eingestellten Zeitraum erhalten und können in dem Zustand, in dem Sie bei Löschung vorlagen, wiederhergestellt werden.

Leeren des Papierkorbes

Das Leeren des Papierkorbs geschieht automatisch im Hintergrund in festgesetzten Intervallen. Alle Adressen und Tickets, die länger als die Anzahl der eingestellten Tage im Papierkorb liegen, werden endgültig gelöscht.

Wiederherstellen von Datensätzen

Die Wiederherstellung von Datensätzen finden Sie im Anwenderhandbuch beschrieben.

  1. Öffnen Sie die entsprechende Tabelle im freien Arbeiten.
  2. Wählen Sie die Funktion Papierkorb öffnen.
  3. Nun können Sie auswählen, welchen Papierkorb Sie öffnen wollen (Adressen oder Tickets) und angeben von wem oder in welchem Zeitraum die Daten gelöscht wurden.
  4. Nun ist auch eine Wiederherstellung möglich. 

Datenbank Implementierung
In der Tabelle für Adressen und Tickets existiert ein zusätzliches, nicht sichtbares Feld mit dem Namen IdUserDelete. Ist ein Datensatz aktiv (nicht gelöscht), enthält dieses Feld immer den Wert NULL. Beim Löschen über den Papierkorb wird hier der Benutzer eingetragen, der den Löschvorgang ausgelöst hat.

Alle Abfragen, Reports, Auswertungen und Makros berücksichtigen gelöschte Datensätze. Das heißt diese Datensätze sind zwar in der Tabelle, werden aber nie berücksichtigt.

Um die Behandlung von gelöschten Datensätzen zu erleichtern, wurden Views für alle betroffenen Tabellen eingebaut. Diese Views heißen identisch zu den Datentabellen, nur beginnen Sie nicht mit dem Kürzel tbl, sondern view. Eine Auswertung über diese Views zeigt immer nur aktive Datensätze, die nicht gelöscht wurden.

Eigene SQL Statements

Problematisch sind eigene SQL Statements oder Abfragen, die direkt auf die Tabellen von AG-VIP SQL zugreifen.
Ist die Papierkorb Funktion nicht eingeschaltet, werden alle Datensätze sofort gelöscht und es müssen keine Vorkehrungen getroffen werden.

AG-VIP SQL berücksichtigt bei Makro-Abfragen (Query-Methode) und auch in den Reports bei benutzerdefinierten Abfragen immer auch die gelöschten Datensätze. Hier wird automatisch ein entsprechendes Statement, so umformatiert, dass die eingebauten Views zur Anwendung kommen, die immer Datensätze im Papierkorb berücksichtigen (d.h. diese Datensätze ignorieren).

Bei eingeschalteter Papierkorbfunktion verbleiben gelöschte Datensätze in der gleichen Tabelle. Sie werden nur mit dem Kennzeichen "gelöscht" versehen. Das geschieht durch setzen eines Wertes in das Feld IdUserDelete.

Alle eigenen Abfragen bzw. Statements sollten so gebaut sein, dass die vorgebenenen Views nutzen, damit auch in Tests im SQL Management Studio gleiche Ergebnisse erzielt werden. AG-VIP SQL würde gelöschte Einträge berücksichtigen, aber nicht die Ausführung das Management Studio.  Sie können gelöschte Datensätze ausschließen, indem man die Bedingung [IdUserDelete] IS NULL ergänzt oder die entsprechenden Views benutzt.
Dies ist insbesondere wichtig wenn auch die SQL Integration Services oder SQL Reporting genutzt werden.

2021-09-29 10:27
Martin Richter

Entfernen / Deinstallation des Outlook Addins

Diese Beschreibung gilt nur für die Version des Outlook Addins ab Version 2.01.006.

Hintergrund:

Das Addin wird nur auf Rechnern installiert auf denen SetupAGVIPClient.EXE ausgeführt wird.

Das Registrieren erfolgt entweder für Outlook 32bit oder Outlook 64bit je nachdem was installiert wurde.

Die Installation erfolgt duch einen Eintrag in der Registry. Dies erfolgt durch SetupAGVIPClient.exe üblicherweise für alle Benutzer des Rechners unter HKEY_LOCAL_MACHINE. Es ist auch eine Installation pro User möglich. In diesem Fall erfolgen die Einträge in der Registry unter HKEY_CURRENT_USER.

Sollte es unter bestimmten Umständen nicht gewünscht sein, dass das Outlook Addin installiert wird, dann kann diesesd Addin auch entfernt werden.

Folgen des Entfernens des Addins:

Das Addin wird benötigt, damit Hilfsmittel Emails korrekt erzeugen und ablegen können. Das Addin sorgt dafür, dass Emails beim Senden korrekt in der entsprechenden Ablage gespeichert werden. Nur wenn keine Email Ablage verwendet wird und auch keine Emails aus Outlook nach AG-VIP übernommen werden sollen kann das Addin entfernt/deinstalliert werden.

Entfernen des Outlook Addins mit dem ausgelieferten Batch:

Mit der Batch Datei RegisterAGVIPOutlookAddin.bat kann dass Addin sowohl regisrtiert als auch deregistriert werden.
Der Batch muss im Administrator Modus ausgeführt werden und bearbeitet nur die Einstellungen für alle Benutzer.
Outlook sollte während dessen nicht  gestartet sein!

Das Addin wird entfernt durch folgenden Aufruf:

RegisterAGVIPOutlookAddin.bat /unregister

Manuelles Entfernen des Outlook Addins:

Outlook sollte während dessen nicht  gestartet sein!

Für Outlook 32bit auf einem 64bit Betriebssystem, löschen Sie den folgenden Ast in der Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

Für Outlook 64bit auf einem 64bit Betreibssystem, bzw. Office 32bit auf einem 32bit Betriebssystem löschen Sie den folgenden Ast in der Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

 Sollte eine lokale Installation für jeden Benutzer erfolgt sein, dann müssen der folgende Eintrag unter HKEY_CURRENT_USER entfernt werden:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

2020-07-05 08:45
Martin Richter

Welche Operationen führt SetupAGVIPClient durch?

Hintergrund:

SetupAGVIPClient.exe führt alle Operationen aus, die notwednig sind damit AGVIP.EXE auf einem Rechner gestartet werden kann auf dem kein volles Setup durchgeführt werden soll oder ist.

Normalerweise werden alle notwendigen Operationen durch ein volles Programm Setup durchgeführt. Dabei werden alle zur Ausführung nötigen Dateien auf den lokalen Rechner kopiert und alle Registrierungen und Änderungen am System durchgeführt.

SetupAGVIPClient.exe ist ein spezielles Programm, dass eine bestehende Installation im Netzwerk auf einem lokalen Ablauffähig macht. Üblicherweise wird hier eine bestehende Installation über einen Netzwerkshare freigegeben.
SetupAGVIPClient.exe benötigt immer eine komplette vollständige lauffähige Installation.

Beschreibung:

SetupAGVIPClient.exe kopiert einige Dateien, installiert einige notwendigen Client und führt hauptsächlich Änderungen an der Registry durch um COM-Komponenten zu registrieren.

Die einzelnen Schritte sind wie folgt:

  1. Es wird eine Verknüpfung auf dem Desktop angelegt.
  2.  Es wird ein Untermenü im Startmenü erzeugt mit den entsprechenden Verknüpfungen auf AG-VIP SQL, den Fernwartungs-Client und die Dokumentation.
  3. Die Komponente HHACTIVEX.DLL wird in das System Verzeichnis kopiert und registriert.
  4. Es werden die folgenden COM-Komponenten aus dem Netzwerk registriert. Diese stellen diverse COM Funktionen für Makros und Hilfsmittel zur Verfügung.
    - AGVIPCDO.DLL
    - AGSendMailSMTP.DLL
    - AGReceiveMailPOP3.DLL
    - AGAutoCompleteHook.DLL
    - AGGenderCheck.DLL
  5.  Es werden die folgenden Programm Dateien aus dem Netzwerk registriert
    - AGVIP.EXE
    - AGVIPMacroDebugger.exe
    - AGVIPFormEditor.exe
    - AGVIPScriptEditor.exe
  6.  Der manuelle TSP wird in das Systemverzeichnis kopiert und installiert.
  7. Die CodeMeter Runtime für die Dongle Software wird bei Bedarf installiert.
  8. Die Edge Browser Runtime wird bei Bedarf installiert.
  9. Der Process-Debug-Manager für den Makro-Debugger wird registriert.
  10. Die CHM Dateien von AG-VIP SQL im Netzwerk werden zum Öffnen freigegeben.
  11. Die Einstellungen für den Internet Explorer werden angepasst für AG-VIP SQL

Jede dieser Operationen kann auch manuell ausgeführt werden.

2020-12-18 10:28
Martin Richter

Umstellung der Datenbankstruktur von DATETIME auf DATE und TIME(0) ab der Version 2.03.001

Beschreibung:

Bis zur AG-VIP SQL Version 2.03.001 wurden Datum, Zeit und Datum/Zeit Felder im Datentyp DATETIME gespeichert.

Dieser Datentyp speichert immer ein Datum in Verbindung einer Uhrzeit. Dies hat historische Gründe weil zur Zeit der ersten Entwicklung von AG-VIP SQL keine anderen Datentypen von den SQL Server Versionen unterstützt wurden und eine hohe Flexibilität von AG-VIP SQL erwartet wurde.

  • Bei einem Datum/Zeit Feld wurde sowohl der Datumsteil als auch der Zeitanteil eines DATETIME Feldes benutzt. (Beispiel: AngelegtDatum)
  • Bei einem Datumsfeld wurde der Zeitanteil immer auf 00:00Uhr gesetzt. Bei SQL Abfragen in AG-VIP SQL wurde jedweder Zeitanteil ignoriert.
  • Bei einem Zeitfeld wurde der Datumwert fest auf  den 30.12.1899 gesetzt. Nur der Zeitwert zwischen 00:00 und 23:59 wurde geprüft. 

Alle nun unterstützten SQL Server können stellen nun auch andere Datentypen zur Verfügung um Datum und Zeit Felder abzulegen.

Problem:

Das Problem war, dass man mit SQL Befehlen auch "ungültige" oder nicht der Regel entsprechende Daten in die Tabellen eintragen konnte. Gleichfalls lieferten SQL Abfragen nicht unbedingt die gewünschten Ergebnisse, ohne dass man die Ausgabe entsprechend formatiert.

Zudem nehmen diese Datentypen immer 8 Bytes in der Datenbank je Spalte in Anspruch. Obwohl ein Großteil der Daten gar nicht benötigt wurde.

Lösung:

Mit der Version 2.03.001 werden nun die Datum und Zeit Felder in passenden Datentypen gespeichert. Die neuen Datentypen nehmen weniger Platz in der Datenbank weg. Abfragen im SQL Server liefern passende Ergebnisse ohne das man bestimmte Informationen ignorieren muss.

  • Datum/Zeit Felder werden wie bisher in DATETIME Spalten abgespeichert. Diese benötigen in der Datenbank 8 Bytes.
  • Felder vom Typ Datum werden nun in DATE Spalten gespeichert. Dieser Datentyp benötigt nur 3 Bytes.
  • Felder vom Typ Zeit werden nun in Spalten vom Typ TIME(0) abgespeichert. Dieser Datentyp benötigt auch nur 3 Bytes. Zeit Felder können auch Sekunden abspeichern, diese werden jedoch von AG-VIP SQL nicht berücksichtigt.

Wichtig DATETIME Spalten können sowohl in DATE als auch TIME(0) Spalten umgewandelt werden. DATE Spalten können in DATETIME Spalten umgewandelt werden. TIME(0) Spalten können weder in DATE noch in DATETIME Spalten umgewandelt werden.

Folgen:

Es ist möglich dass bestehende SQL Abfragen, die direkt in einem Hintergrundprozess oder einem Report benutzt werden bei Datum und Zeit Felder nun andere Ergbenisse liefern, oder dass deren Abfrage ungültig wird.
Die entsprechenden Abfragen müssen neu geschrieben werden.

Abfragen, die in AG-VIP-Makros mit der Query Methode gemacht werden oder gespeicherte Auswertungen sind davon nicht betroffen. Auch Abfragen, die mit Filtern im Reportmanager gemacht werden sind davon nicht betroffen.

2021-04-26 15:03
Martin Richter

Grundlagen für die Datensicherung von AG-VIP SQL über den SQL Server

Hintergrund

Datensicherung ist essentiell. Warum?

Nach einer Statistik werden Datenverluste verursacht zu

  • 60% durch Hardware Defekte unterschiedlicher Art
  • 25% durch menschliche Fehler und Fehlbedienung
  • 10% durch Software Fehler
  • 5% durch sonstiges (Viren etc.)

Ein falscher Import, ein falscher Löschvorgang, ein falsches Feld entfernt, eine Änderung an einem Hintergrundprozesse ... und ohne Datensicherung sind Ihrem dem Datenbestand evtl. Informationen verloren gegangen, die nicht wiederherstellbar sind.

Komplette Datensicherungen der entsprechenden Maschinen sind eine häufige Variante. D.h. virtuelle Maschinen oder physische Maschinen werden als Ganzes mit allen Festplatten gesichert. Meistens sind diese bei virtuellen Maschinen einfach einzurichten. Bei physischen Maschinen ist dazu spezielle Software nötig. (Hinweis: Eine SQL-Datenbank die benutzt wird, kann nicht kopiert werden). Der Nachteil ist, dass der Zugriff auf einen bestimmten Bestand zu einer bestimmten Zeit, nicht einfach möglich ist, da solche Sicherungen relativ selten laufen.

Sicherung über den MS SQL-Server sind hier der Beste weg. Über den SQL-Server lassen sich Sicherungen nach allen Möglichkeiten und Varianten einrichten.

Wichtig ist, dass die gesicherten Dateien natürlich auch in eine externe Datensicherung einbezogen werden, um auch gegen elementare Bedrohungen geschützt zu sein. Diese Sicherungen sollten auch außerhalb des Firmenstandortes gelagert werden.

Schutzfunktionen in AG-VIP SQL

Intern in AG-VIP SQL sollten aber auch alle Möglichkeiten genutzt werden, die vor Datenverlust durch Benutzer schützen. Das sind zum einen die eingebaute Papierkorb Funktion in AG-VIP und  das Änderungsprotokoll.

Die Daten im SQL Server

Eine SQL Datenbank besteht physisch gesehen aus mindestens 2 Dateien. Den Datendateien (Endung .mdf) und den sogenannten Transaktionslog-Protokolldateien (Im weiteren nur noch Protokolldateien genannt).

Die Datendateien (.mdf) enthalten die eigentlichen Tabellen und Daten und stellen immer den Zustand zum aktuellen Zeitpunkt dar.

In den Protokolldateien (.ldf) werden alle Transaktionen und Vorgänge protokolliert und mitgeschrieben. Diese Dateien sind essentiell wichtig, wenn man granulare häufige Schnappschüsse des Datenbestandes erreichen möchte. Also z.B. eine stündliche oder gar eine Sicherung alle 15 Minuten.

Wiederherstellungsmodell der Datenbank

Je nach Einstellung wird der Platz in der Protokolldatei sofort nach einer Transaktion wiederverwendet. Oder die Protokolldatei wächst immer weiter bis der Plattenplatz aufgebraucht ist.
Unser Support hat bei Kunden Datenbanken gesehen, bei denen die Datendateien ca. 200 MB groß waren. Aber Protokolldateien in der Größe von 600 GB!

Die Verwendung der Protokolldateien wird durch die Einstellung des Wiederherstellungsmodells in der Datenbank bestimmt. Gleichzeitig muss die Einstellungen für die Protokolldateien auch entsprechend der gewollten Backupstrategie angepasst werden.

Das Wiederherstellungsmodell der Datenbank kann über die Eigenschaften der Datenbank kontrolliert und verändert werden.

Dazu gehen Sie wie folgt vor:

  1. Starten Sie das MS-SQL Management Studio
  2. Wählen Sie die entsprechende Datenbank aus.
  3. Öffnen Sie die Eigenschaften der Datenbank (Rechter Mausklick -> Eigenschaften)
  4. Wählen Sie den Karteireiter Optionen.
  5. Hier werden drei Wiederherstellungsmodelle angeboten: Einfach, Vollständig und Massenprotokolliert. In diesem Artikel betrachte ich nur die Modelle Einfach und Vollständig.

Wiederherstellungsmodell Einfach

Datenbanken, die nach mit der Version 2.03.001 oder später angelegt wurden, werden im Wiederherstellungsmodell Einfach angelegt.

In diesem Modell werden alle Änderungen an der Datenbank im Transaktionsprotokoll aufgezeichnet und am Ende der Operation in die Datenbank übertragen.
Der Platz in der Protokolldatei wird anschließend wieder als verfügbar markiert.

D.h. bei großen Datenänderungen (zum Beispiel einem großen Import, oder einem Datenbankupdate) wächst die Protokolldatei entsprechend an. Die Größe bleibt auch nach der Operation erhalten, aber der Platz in der Datei wird  für die nächste Transaktion wiederverwendet.

Typischerweise haben Protokolldateien eine Größe zwischen 1-250 MB. Diese Protokolldateien können sofort jederzeit verkleinert werden auf eine Größe von ca. 1 MB.

Passende Backupstrategien sind:

  • Komplette Backups
  • Differentielle Backups
  • Kopie-Sicherung

In diesen Backup Modellen benötigen Sie immer nur die Backupdatei der Daten!
Ein separates Backup der Transaktionslog Dateien ist nicht notwendig.

 

Wiederherstellungsmodel Vollständig

Datenbanken die mit einer Version 2.02.002 oder davor angelegt wurden, werden im Wiederherstellungsmodell Vollständig angelegt.

In diesem Modell werden alle Änderungen an der Datenbank im Transaktionsprotokoll aufgezeichnet und am Ende der Operation in die Datenbank übertragen.
Im Unterschied zum Model Einfach wird der Speicherplatz in der Protokolldatei anschließend nicht wieder als verfügbar markiert. D.h. mit der nächsten Transaktion und Datenbankänderung wächst die Protokolldatei weiter. Der Platz in der Protokolldatei wird bei diesem Verfahren erst wieder freigegeben, wenn eine Sicherung des Transaktionsprotokolls durchgeführt wird.

D.h. ohne eine Sicherung des Transaktionsprotokolls wird im Wiederherstellungsmodell Vollständig die Protokolldatei immer weiterwachsen, bis Sie den gesamten Platz auf der Festplatte einnimmt und der SQL Server seinen Betrieb einstellt.

Im Modell Vollständig ist eine Sicherung der Protokolldateien zwingend notwendig.

Passende Backupstrategien sind:

  • Komplette Backups mit regelmäßigen Protokolldatei Sicherungen
  • Differentielle Backups mit evtl. regelmäßigen Protokolldateisicherungen
  • Kopie-Sicherung

In diesen Backup Modellen benötigen Sie immer die Backupdatei der Daten und je nach gewünschtem Wiederherstellungszeitpunkt die passenden Transaktionslog Dateien.

Sicherungsverfahren für die Daten

Unabhängig vom Wiederherstellungsmodell bietet der SQL Server mehrere Sicherungsverfahren an:

  • Vollsicherung,
  • Differentialsicherung,
  • Kopie-Sicherung.

Vollsicherung

Die Vollsicherung ist die Basis für alle Sicherungsformen. Die Vollsicherung enthält den gesamten Datenbestand zu einem bestimmten Zeitpunkt.

Die Vollsicherung ist auch immer der Ausgangspunkt und die Grundlage für alle anderen Sicherungsformen.

Für einen Restore-Vorgang mit einer Vollsicherung benötigen Sie genau eine einzige Datei: Die Datei der Vollsicherung. Der Restore-Vorgang ist einfach: Man gibt nur die Vollsicherung als Medium an, die importiert werden soll.

Differentialsicherung

Bei der Differentialsicherung wird immer zuerst ein vollständiges Backup erzeugt. Anschließend können eine beliebige Anzahl von differenziellen Sicherungen erfolgen.

Nach einer Vollsicherung führt jede Datenänderung an der DB dazu, dass bestimmte Teile der DB als geändert markiert werden. Diese werden dann in die differentielle Sicherung aufgenommen.

Jede nachfolgende differenzielle Sicherung umfasst dann nur noch die geänderten Daten, die seit der letzten Vollsicherung geändert wurden. D.h. jede neue differentielle Sicherung wird je nach Menge der Änderungen größer sein als die Datei zuvor.

Durch eine neue Vollsicherung werden alle Datenseiten wieder als umgeändert markiert.
Führt man also nach einer Vollsicherung direkt eine differenzielle Sicherung aus, dann ist diese Datei nahezu leer.

Wichtig sind immer nur die Vollsicherung und die letzte differenzielle Sicherung. Alle anderen differenziellen Sicherungen können benutzt werden, um Zwischenstände der Datenbank wiederherzustellen.

Für einen Restore-Vorgang benötigen Sie zwei Dateien: zuerst immer die Vollsicherung und die letzte Differentialsicherung. D.h. bei einem Restore-Vorgang muss die Vollsicherung und die Differentialsicherung direkt beim Restore angegeben werden. Der Restore erfolgt nicht nacheinander, sondern in einer Aktion.

Ist die Vollsicherung nicht mehr verfügbar, sind auch alle Differenz-Backupdateien wertlos.

Sicherung Transaktionsprotokolls

Die Sicherung des Transaktionsprotokolls ist nur im Wiederherstellungsmodell Vollständig möglich.

Das Transaktionsprotokoll wird gesichert und der Speicherplatz in der Protokolldatei wird wieder als verfügbar markiert. D.h. die Datei wird nicht verkleinert, aber intern wird eine neue Änderung der Datenbank den verfügbaren Platz wieder verwenden.

Nach der Sicherung des Transaktionsprotokolls lässt sich eine Protokolldatei auch verkleinern.

Die Transaktionslog-Sicherung umfasst nur die Änderungen an der Datenbank seit der letzten Vollsicherung bzw. seit der letzten Protokollsicherung. Die Größe der Sicherung richtet sich also ausschließlich nach der Menge der Datenänderungen.

Um einen Datensicherung zurückzuspielen ist es nötig bei einem restore Vorgang die Vollsicherung anzugeben und dazu alle weiteren Protokollsicherungen, die gemacht wurden. Alle Protokollsicherungen müssen lückenlos vorliegen. Alle Dateien werden im Restore Vorgang gemeinsam angegeben.

Kopie-Sicherung der Daten

Eine Kopie-Sicherung ist nichts anderes als eine Vollsicherung. Mit dem Unterschied, dass die Datenseiten in der Datenbank nicht zurückgesetzt werden und die nächste differenzielle Sicherung wieder die Daten sichert, die seit der letzten "echten" Vollsicherung geändert wurden.

Mit einer Kopie-Sicherung lässt sich also ein Schnappschuss der aktuellen Datenbank erzeugen ohne die Sicherungs-Sequenz selbst zu stören.

Kopie-Sicherung der Protokolldatei

Die Kopie-Sicherung des Transaktionsprotokolls ist nur im Wiederherstellungsmodell Vollständig möglich.

Wie bei der Kopie-Sicherung der Daten wird die Sicherungssequenz nicht gestört. Man erzeugt eine Kopie der Protokolldatei. Der interne Speicherplatz wird aber hierbei nicht freigegeben. Die Datei wird anschließend weiterwachsen, wenn es erneute Änderungen an der Datenbank gibt.

Die Kopie-Sicherung stört nicht die übliche Sequenz einer normalen Protokollsicherung.

Backupstrategien

Ausschließliche Verwendung von Vollsicherungen

Es werden ausschließlich Vollsicherungen erzeugt.
Das Wiederherstellungsmodel ist auf Einfach eingestellt. Eine Sicherung der Transaktionsprotokolle ist nicht notwendig.
Typisches Sicherungsinterval: 1-3 x wöchentlich.

Gut anwendbar:

  • Bei kleinen Datenbeständen
  • Bei Datenbeständen, bei denen eine Sicherung nicht in kurzen Abständen nötig ist.

Vorteile:

  • Einfache Rücksicherung.
  • Einfache Einrichtung.

Nachteile:

  • Wird das Sicherungsintervall kurz, kommen große Datenbestände zusammen.
  • Keine granulare Sicherung (in kurzen Zeitabständen) möglich.

 

Verwendung Vollsicherungen und Differenzialsicherungen

Es werden regelmässig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Einfach eingestellt.
Eine Sicherung der Transaktionsprotokolle ist nicht notwendig.
Typisches Sicherungsinterval: 1 x wöchentlich eine Vollsicherung. 1-2 x täglich eine differenzielle Sicherung.

Gut anwendbar:

  • Bei kleinen bis mittleren Datenbeständen
  • Bei wenigen Datenänderungen
  • Wenn eine schnelle einfache Rücksicherung nötig ist.

Vorteile:

  • Einfache Rücksicherung. (Rücksicherung der letzten Vollsicherung + Rücksicherung der passenden Differenzialsicherung)
  • Übersichtliche Anzahl von Dateien. Nur zwei Dateien werden für eine Rücksicherung benötigt.
  • Oft verwirrend, weil Vollsicherung und Differentialsicherung oft mit der gleichen Dateinamenerweiterung (.bak) erzeugt werden.

Nachteile:

  • Wird das Sicherungsintervall kurz, kommen große Datenbestände zusammen.
  • Keine granulare Sicherung (in kurzen Zeitabständen) möglich bzw. nur mit großem Volumen.
  • Große Datenänderungen am Anfang des Sicherungszyklus vergrößern auch alle folgenden Differentialsicherungen.
  • Die Differentialle Sicherung kann so lange dauern wie ein Vollsicherung (Belastung des SQL Servers ist größer)

 

Verwendung von Vollsicherungen mit Sicherung der Transaktionsprotokollen

Es werden regelmäßig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Vollständig eingestellt.
Typisches Sicherungsintervall: 1 x wöchentlich eine Vollsicherung. Sicherung des Transaktionsprotokolls im 15min - 4 Stunden Zyklen.

Gut anwendbar:

  • Bei jeder Form von Datenbestand
  • Sicherungsvolumen ist klein.
  • Dieses Sicherungsformat ist für alle AG-VIP SQL Nutzer geeignet und wird von uns favorisiert.

Vorteile:

  • Extrem kompaktes Sicherungsformat, da nur die Änderungen seit der letzten Vollsicherung aufgezeichnet werden.
  • Auch sehr kurze Sicherungsintervalle sind möglich (alle 5 Minuten)
  • Belastung des SQL Servers ist extrem gering während des laufenden Betriebes.
  • Damit werden extrem granulare Sicherungen möglich.

Nachteile:

  • Komplexe Rücksicherung. (Rücksicherung der letzten Vollsicherung + Rücksicherung aller notwendigen Transaktionsprotokollen). Bei einem Sicherungsintervall von 15min, können in einer Woche bis zu 400 Dateien zusammenkommen.

 

Verwendung von Vollsicherungen, zusätzlich mit Differenzialsicherungen und mit Sicherung der Transaktionsprotokollen

Es werden regelmäßig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Vollständig eingestellt.
In regelmässigen Abständen werden zusätzlich Differentialsicherungen erzeugt.
Typisches Sicherungsintervall: 1 x wöchentlich eine Vollsicherung. Differentielle Sicherung 1x täglich, Sicherung des Transaktionprotokolls im 15min - 4 Stunden Zyklen.

Gut anwendbar:

  • Bei jeder Form von Datenbestand
  • Wenn Sicherungsvolumen keine Rolle spielen.

Vorteile:

  • Einfacheres Rückspielen von Datensicherungen durch die Differentialsicherungen (2 Dateien: Voll- und Differentialsicherung, dazu die entsprechenden Transaktionssicherungen)

Nachteile:

  • Komplexe Rücksicherung. 
  • Dateiform Chaos (welche Sicherung ist welche Datei)

 

Weitere Artikel zu dem Thema

 

2023-08-28 12:14
Martin Richter

Automatische Lizenz-Aktualisierung über die Datenbank und das Internet

Lizenz-Aktualisierung aus dem Internet mit dem AGVIPLicenseManager.exe:

Beim Start des Lizenzmanagers  erfolgt sofort eine Prüfung, ob im Internet eine neue Lizenz vorhanden ist. Ist eine neue Lizenz vorhanden, kann diese sofort installiert werden.

Die neue Lizenzdatei wird bei einer Installation automatisch auf der Festplatte für die aktuelle Installation und auch in der Datenbank aktualisiert.

Automatische Lizenz-Aktualisierung aus dem Internet ohne den AGVIPLicenseManager.exe:

Sofern ein Benutzer das Recht hat, eine Update Prüfung auszuführen, wird auch zusätzlich geprüft, ob eine neue Lizenzdatei vorliegt.
Diese Prüfung erfolgt einmalig bei Programmstart.

Erkennt AG-VIP beim Start, dass eine neue Lizenz im Internet bereitliegt, wird der Benutzer mit einem entsprechenden Dialog darauf hingewiesen. Er kann nun den Lizenzmanager starten und die Lizenz normal installieren. Dafür sind administrative Windows Rechte notwendig und Schreibrecht auf das AG-VIP Programmverzeichnis.

Klickt der Anwender OK an, wird gefragt, ob die aktuelle Lizenz in die Datenbank übernommen werden soll, wenn die Lizenz im Internet neuer ist. Übernimmt der Benutzer die Lizenz in die Datenbank, wird er darauf hingewiesen, dass AG-VIP neu starten muss, um diese neue Lizenz zu verwenden.

Alle neu gestarteten AG-VIP SQL Instanzen, verwenden automatisch sofort, die interne neue AG-VIP SQL Lizenz.

Vorteil:
Für die Lizenzaktualisierung sind keine administrativen oder erweiterten Rechte nötig. Man benötigt einfach nur die Rechte auf eine Update-Prüfung und Zugriff auf AG-VIP SQL.

Achtung!
Dies enthebt Sie nicht Ihrer Verantwortung eine Sicherung Ihrer aktuellen Lizenz vorzunehmen.
Bitte verwahren Sie die Lizenzemails und Lizenzdateien zusammen mit Ihrer Datensicherung. Durch die Übernahme der Lizenz in die Datenbank existíert keine Kopie der Lizenz als Datei.

Lizenzaktualisierung über die Datenbank:

Eine Lizenzaktualisierung, ob manuell (durch Kopieren der LIC-Datei) oder über den AGVIPLicenseManager.exe betrifft immer nur die Installation eines Programmverzeichnisses.

D.h. wenn es eine Netzwerkinstallation gibt und dazu noch Einzelplatzinstallationen auf Laptops oder in anderen Standorten (Homeoffice), musste eine neue Lizenz bisher in allen diesen Installationen installiert oder verteilt werden.

Durch die neue automatische Lizenz-Aktualisierung über die Datenbank entfällt dies. 

Arbeitsweise:

Wird eine AG-VIP SQL gestartet, wird die aktuelle Lizenz von der Festplatte gelesen.
Nachdem eine Datenbankverbindung erfolgreich hergestellt wurde, prüft AG-VIP SQ,L ob eine Lizenz in der Datenbank auch abgespeichert wurde.

Fall A: In der Datenbank existiert bisher keine Lizenz zu dieser Seriennummer:
In diesem Fall wird die aktuelle Lizenz in die Datenbank aufgenommen.

Fall B: In der Datenbank existiert bereits eine Lizenz zu dieser Seriennummer und die neue Lizenz aus der aktuellen Installation ist neuer.
In diesem Fall wird die aktuelle Lizenz in die Datenbank aufgenommen und ersetzt die bisherige Kopie.

Fall C: In der Datenbank existiert bereits eine Lizenz zu dieser Seriennummer und diese Lizenz ist neuer als die aus der aktuellen Installation.
In diesem Fall wird die aktuelle Lizenzdatei verworfen und die Lizenz aus der Datenbank wird gelesen.

Durch dieses Verfahren werden neue Lizenzen automatisch auch von externen Arbeitsplätzen aktualisiert, wenn AG-VIP SQL gestartet wird.

Ausnahmen / Sonderfälle:

  • Eine automatische Lizenzaktualisierung kann nicht erfolgen, wenn die neue Lizenz Update Informationen für den Dongle enthält.
  • Eine Lizenz aus der Datenbank wird nicht verwendet, wenn auf der Befehlszeile von AG-VIP SQL die Option /lic:<Pfad> angegeben wurde.
  • Wird im Lizenzmanager eine Lizenz installiert, wird diese Lizenz auch sofort in die Datenbank aufgenommen. Hierbei spielt es keine Rolle, ob die Lizenz, die installiert wurde neuer oder älter ist.

 

Die hier beschriebenenen Funktionen sind ab der AG-VIP SQL Verison 2.04.002 verfügbar.

2022-02-07 10:55
Martin Richter

Was ist bei einem Serverumzug in Bezug auf AG-VIP SQL zu beachten?

Hintergrund:

Ein Serverumzug ist eine komplexe Angelegenheit. Hier kann es helfen, alle Tätigkeiten im Vorfeld zu kennen und eine entsprechende Liste anzufertigen.

Diese Liste der Tätigkeiten ist aus unserer Erfahrung heraus entstanden und erhebt keinen Anspruch auf Vollständigkeit.
Nicht berücksichtigt wurden hier Änderungen an der Telefoninfrastruktur.

ToDos:

  1. Neuen Server einrichten. 
  2. Alle Freigaben möglichst identisch zum alten Server. (Hierbei die Zugriffsrechte beachten/anpassen)
  3. MS-SQL Express / MS SQL Standard installieren. Vorzugsweise mit SQL-Authentifizierung. 
    Kennworte für den sa Benutzer entsprechend notieren.
  4. Bei MS-SQL Express im SQL-Konfigrationsmanager müssen die entsprechenden Netzwerkprotokolle TCP/IP und Named Pipes aktivieren.
  5. Alte Datenbank auf dem alten Server sichern (SQL-Backup).
    Die Datenbank danach im SQL-Server inaktiv schalten, damit nicht versehentlich mit der alten Software gearbeitet wird.
  6. Das Datenbank Backup auf neuen Server zurückspielen
  7. Zugriffsrechte für die Datenbank anpassen/einrichten.
    D.h. neuen AGUser anlegen und zuordnen, oder eben die sonstigen gewünschten Berechtigungen eintragen.
  8. Alten Programmordner auf neuen Server kopieren in den gleichen Ordner kopieren.
    Dies dient zur Übernahme vorhandener INI Dateien und anderer Konfigurationsdateien (AGDB Datei).
    Evtl. die Rechte gleich mitübernehmen mit ROBOCOPY (siehe Doku).
    Wenn nötig Laufwerksfreigabe beachten und neu einrichten und Rechte entsprechend vergeben.
  9. Alte Programmordner der Dienste (Job-Scheduler, Backenddienst) kopieren falls notwendig.
    Dies dient zur Übernahme vorhandener INI und Dateien für evtl. Cachevorgänge (KlickTipp, Evalanche).
    LOG-Dateien können gelöscht werden.
  10. Alte Konfiguration der Dienste (verwendete Benutzerkonten) notieren.
  11. Alte Dienste deaktivieren und beenden.
  12. Alten Anlage/Vorlagen Ordner (sofern vorhanden) in gleichen Ordner Pfad auf dem neuen Server kopieren.
    Zugriffrechte Rechte beachten/anpassen/kopieren (siehe ROBOCOPY Doku).
  13. Einmal als Administrator vor dem Update den Befehl „AGVIP.EXE -register“ ausführen.
    Das garantiert, dass ein späteres AG-VIP SQL Update in das korrekte Verzeichnis erfolgt.
  14. Mit der AGVIPDBWizard.exe im Programmverzeichnis eine neue Verbindung zu der neuen DB auf dem neuen Rechner aufbauen.
    Hierdurch wird eine neue AGVIP.AGDB-Datei erzeugt. Das ist auch möglich ohne, dass AG-VIP SQL vollständig installiert ist.
    Dies garantiert, dass das Datenbank Update korrekt ausgeführt werden kann, wenn das Update ausgeführt wird.
    Alternativ kann eine alte AGDB-Datei einfach mit einem Editor angepasst werden, wenn sich nur der Servername geändert hat.
  15. Neuestes AG-VIP SQL Installlation/Update herunterladen und durchführen.
  16. Falls der Server für die AG-VIP Dienste abweicht nun die Dienste neu installieren.
  17. Benutzerkonten für Dienste evtl. anpassen (siehe alte Konfiguration des alten Server).
  18. Dongle gegebenfalls umstecken, wenn sich der Dongle server ändert.
  19. Testen bis dahin installierten Software (AG-VIP sollte sich nun starten lassen)
  20. Ändern sich UNC Pfade auch für die Vorlagen müssen alle Hilfsmittel händisch mit Quelldate und Zielpfad evtl. angepasst werden.
    Wurden Freigaben und Laufwerksbuchstaben bisher verwendet und sind nun auf die neuen UNC Pfade umgestellt, ist dies nicht notwendig.
  21. Gegebenenfalls nun bei geänderten Anlagenpfaden die Historieneinträge über Ändern/Ergänzen anpassen, sofern sich der UNC Name geändert hat.
    Wurden Freigaben und Laufwerksbuchstaben bisher verwendet und sind nun auf die neuen UNC Pfade umgestellt, ist dies nicht notwendig.
  22. Freigaben (Laufwerkfreigaben / Shares) auf bestehenden Clients anpassen.
  23. Nun SetupAGVIPClient.exe auf Clients für das neu installierte Update ausführen. 
  24. Wenn notwendig einen neuen SQL Native Client nachinstallieren. (Passiert meistens automatisch mit SetupAGVIPClient).
  25. Datensicherung für neue SQL-Datenbank auf neuem Server einrichten.

Hinweise / Tipps:

  • Natürlich sollten vor der Installation alle Kennworte bekannt sein.
    AG-VIP SQL Admin Kennwort
    AG-VIP SQL Installations-Kennwort
    Administrator Kennworte für Server und Clients
    Dienstkonten und Kennworte für den Backend-Dienst und den Job-Scheduler.
  • Wenn der Dongle mit umgezogen werden soll, muss auch physikalischer Zugriff auf den alten und neuen Server möglich sein.
  • Für alle Kopieraufgaben eignet sich ROBOCOPY, dass zum Windows Betriebssystem gehört. Damit lassen sich auch Zugriffsrechte kopieren und übernehmen.

2023-11-09 12:24
Martin Richter

Google Cloud SQL-Server - AG-VIP Datenbank erstellen

1. Hintergrund

Viele Firmen möchten keine lokalen Server besitzen, da die Wartung sehr aufwendig ist und die Personalkosten steigen – als Alternative bietet sich Cloud Hosting an. Mit dem Microsoft SQL Server von Google Cloud können Datenbanken für AG-VIP SQL in wenig Zeit erstellt und konfiguriert werden.

2. Kosten

Google Cloud bietet eine 90-tägige kostenlose Testversion. Mit 300€ Startguthaben können Nutzer unterschiedliche Dienste von Google testen: virtuelle Maschinen, Kubernetes, APIs... Für die Anmeldung ist eine E-Mail und Kreditkarte erforderlich. Alle Preise sind von Region und Konfiguration abhängig. Einen Preisrechner von Google finden Sie hier. Für unsere Beispielskalkulation nehmen wir das Produkt Cloud SQL und wählen Cloud SQL for SQL-Server - Dies ist der mit AG-VIP kompatible Microsoft SQL-Server.

Monatliche Preise in der Tabelle sind vom 09.12.2022.

Leistung Bezugszeitraum: 1 Monat 1 Jahr 3 Jahre
1 vCPU 28,33€ 21,24€ 13,60€
1 GB Arbeitsspeicher 4.80€ 3,60€ 2,30€

 

3. Musterbeispiel

In diesem Beispiel nutzen wir einen 24/7 laufenden SQL-Server in Belgien mit einer Laufzeit von einem Jahr. Der Server ist mit 4 vCPUs, 3,75 GB Arbeitsspeicher, 20 GB Speicher und Backups ausgestattet. In dieser Konfiguration kostet uns der SQL-Server 105.05 € im Monat.

4. Registrierung

Eine Registrierung bei Google Cloud dauert nur wenige Minuten. Über den Link melden Sie sich für die kostenlose Testversion an: cloud.google.com
Klicken Sie auf die Schaltfläche Jetzt kostenlos starten und setzen Sie die Registrierung fort.

Für die Registrierung benötigen Sie ein Google-Konto. Sie können ein bereits bestehendes Konto verwenden oder ein neues anlegen.

Wählen Sie aus, ob Sie sich einloggen oder ein neues Privat- oder Firmenkonto erstellen, und folgen Sie den Anweisungen.

Um die Testversion zu aktivieren, hinterlegen Sie Ihre Zahlungsdaten. Innerhalb des Testzeitraums von 90 Tagen fallen keine Kosten an.

5. Installation MS-SQL Server

Die Google Cloud Console dient zur Verwaltung verschiedener Dienste und Projekte, die Sie erstellen und nutzen. Dort können beliebig viele Projekte verwaltet werden. Mit Projekten können Dienste gruppiert und die Prozesse übersichtlicher gestaltet werden. Sie könnten die Projekte beispielsweise nach den verschiedenen Abteilungen Ihres Unternehmens aufteilen.

  1. Auf der Kopfleiste klicken Sie auf das Menü Projekt auswählen:

2. Hier sehen und verwalten Sie alle von Ihnen erstellten Projekte. Um ein neues Projekt anzulegen, wählen Sie den Schalter Neues Projekt

3. Geben Sie den Namen des neuen Projekts an, z.B. "AG-VIP".

Das Projekt kann optional einer Organisation zugeordnet werden. In Organisationen werden Projekte erstellt und in Projekten werden Dienste verwendet. Wenn Sie Google Cloud nur für die AG­-VIP Datenbank verwenden, ist das nicht nötig. Lassen Sie das Feld Speicherort leer.

4. Klicken Sie auf den Schalter Erstellen. Das Projekt wird erstellt.

SQL-Instanz erstellen

1. Da Sie jetzt ein leeres Projekt haben, müssen Sie eine SQL-Instanz installieren. Auf dem Projektverwaltungs-Dashboard wählen Sie in der oberen linken Ecke im Hamburger Menu das Produkt SQL.

2. Erstellen Sie eine Instanz.
Eine Instanz ist eine vollständig verwaltete SQL-Datenbank. Die Wartung und Verwaltung übernimmt Google. Klicken Sie dazu auf den Schalter INSTANZ ERSTELLEN.

3. Im nächsten Schritt wählen Sie aus, welchen SQL-Server Sie verwenden. AG-VIP ist nur mit dem SQL-Server von Microsoft kompatibel. Drücken Sie unter SQL Server auf den Schalter SQL Server auswählen.

Danach aktivieren Sie die Compute Engine API aktiviert. Das sind konfigurierbare virtuelle Maschinen von Google, die in deren Rechenzentren auf der physischen Hardware von Google ausgeführt werden. Drücken Sie auf den Schalter API AKTIVIEREN.

6. Konfiguration Leistungsmerkmale Server

Zweck:
Als nächstes entscheiden Sie,
 - wie viel Rechenleistung Sie benötigen,
 - wo der Server sich befindet und
 - wie oft Backups gemacht werden.

Vorgehensweise:
Von diesen Parametern ist der Preis, die Leistung und die Zuverlässigkeit abhängig. Hier wählt der Nutzer die Datenbankversion, die Konfiguration der Instanz, Region, Rechenleistung, Speicher, Backups sowie andere relevante Angaben. Sie sind unter den Screenshots beschrieben.



Konfiguration Beschreibung
Instanz-ID Der "Name" der Instanz. Er muss mit einem Buchstaben beginnen und darf nur Kleinbuchstaben enthalten.
Passwort Das Passwort des Standard-Superadmins namens sqlserver. Sie werden dieses Konto verwenden, um Datenbanken zu erstellen.
Datenbankversion Erhältlich sind Versionen von 2017 und 2019. Sie sollten die 2019er Version wählen, weil sie neuer und besser optimiert ist.
Konfiguration Production eignet sich besser für die Speicherung großer Datenmengen wie Datensätze für AG-VIP.
Region Definiert, in welcher Region die Daten gespeichert werden. Aufgrund der DSGVO sollten Sie einen Speicherort innerhalb der EU wählen!
Optional: Mehrere Zonen. Sie können Ihre Datenbank in mehreren Zonen hosten, so dass Ihre Daten immer verfügbar sind, auch wenn einige Server ausfallen. Dadurch erhöht sich der Preis erheblich.
Maschinentyp Die Anzahl der CPUs und des RAM-Speichers. Dies sind 2 wichtige Faktoren für die Leistung.
Speicher Wie viele Gigabytes Speicherplatz ihr SQL-Server haben wird. AG-VIP benötigt für 2 Millionen Datensätze ungefähr 10 GB.
Verbindungen Sie können der Instanz eine private oder eine öffentliche IP zuweisen.
Datenschutz Mit automatischen Sicherungen können Sie Ihre Daten zu geringen Kosten vor Verlust schützen. Hier wählen Sie das Zeitfenster, wann Backups erstellt werden sollen und wo sie erstellt werden.

Es gibt weitere optionale Einstellungen, die für die AG-VIP SQL Datenbank nicht relevant sind - sie werden in der Anleitung nicht erwähnt.

Klicken Sie auf den Schalter Instanz erstellen – dies kann einige Minuten dauern.

7. Nutzer

Zweck:
Im Hamburger Menu Bereich Nutzer können Sie neue Nutzerkonten anlegen. Dieser Benutzer wird später zum Aufbau der AG-VIP SQL Datenbank über den AGVIPDBWizard.exe benötigt.

Vorgehensweise:
1. Öffnen Sie das das Bereich Nutzer und wählen Nutzerkonto hinzufügen:

2. Vergeben Sie dem Nutzer einen beliebigen Namen und Passwort. Vergessen Sie nicht, komplexe Passwörter zu verwenden.

Achtung! Diese Benutzerdaten verwenden Sie später im AGVIPDBWizard, um sich mit dem SQL-Server zu verbinden und die Datenbank für AG-VIP zu erstellen.

Optional: Aus Sicherheitsgründen empfiehlt es sich, nur bestimmten IP-Adressen den Zugriff auf die Instanz zu ermöglichen. Neue IP-Adressen fügen Sie im Bereich Verbindungen ein Neues Netzwerk zufügen. Dort geben Sie eine Bezeichnung und die IP-Adresse ein. Benutzer mit dieser IP-Adresse werden mit richtigen Zugangsdaten auf die SQL-Datenbank zugreifen können.

Tipp: Ihre IP-Adresse können Sie auf der Website WhatsMyIP sehen.

8. Verbindung

Zweck:
Sie können mit einer externen Software (in unserem Fall dem AGVIPDBWizard oder Microsoft SQL Management Studio) auf Ihren neuen SQL-Server zugreifen und ihn verwalten. Um sich mit dem Server zu verbinden, benötigen Sie die Server-IP. Diese ist in der Instanzübersicht unter dem Graphen zu sehen.

Erforderliche Zugangsdaten für den AGVIPDBWizard / DB-Client:
 - Server IP-Adresse
 - Benutzerdaten (siehe 7. Nutzer)

Achtung! Diese IP-Adresse brauchen Sie im AGVIPDBWizard um die AG-VIP Datenbank anzulegen. Es ist sinnvoll, diese Adresse zu kopieren.

8.1 AGVIPDBWizard

Zweck:
Der AGVIPDBWizard befindet sich in dem Installationsverzeichnis von AG-VIP. Er verbindet sich mit dem SQL-Server. Erstellt automatisch eine SQL Datenbank mit allen notwendigen Tabellen für AG-VIP. Zum Schluss legt er den ersten AG-VIP Administrator User an.

Nutzer Beschreibung Verantwortung
SQL-Server Admin Der Nutzer auf dem SQL-Server, der die AG-VIP Datenbank anlegen kann. SQL-Server Benutzer
Admin
Verwaltet AG-VIP Datenbank
AG-VIP Admin Der erste AG-VIP Benutzer mit uneingeschränkten Admin-Rechten. AG-VIP Benutzer
Superadmin
Verwaltet AG-VIP

Vorgehensweise:
1. Starten Sie den AGVIPDBWizard.exe aus dem AG-VIP Programmverzeichnis.

2. Wählen Sie die Option Neue Datenbank anlegen

Hier müssen Sie darauf achten, dass Sie die gleiche Server-Version auswählen, wie in der Google Cloud Server Konfiguration. In unserem Musterbeispiel ist es der MS-SQL Server 2019. Wenn Sie die falsche Version wählen, könnte die Installation beschädigt werden, da die beiden Versionen unterschiedliche Funktionen und Anweisungen haben könnten.

3. Der AGVIPDBWizard verbindet sich mit dem SQL-Server, loggt sich mit den Benutzerdaten vom SQL-Server Admin ein und führt dort SQL Befehle aus und erstellt die notwendigen Tabellen für die AG-VIP Datenbank. Folgen Sie den Schritten in der Tabelle von oben nach unten. Die linke Spalte zeigt Ihnen, wo die benötigten Informationen zu finden sind und die rechte, wo sie eingegeben werden sollen.



4. Nachdem Sie die Datenbank erstellt haben, muss der erste AG-VIP Admin erstellt werden.

Das ist der erste User in AG-VIP und wird auch AG-VIP Super Admin genannt. Seine Rechte sind nicht einschränkbar. Dieses Konto hat immer vollen Zugriff und wird später für die Durchführung von Updates von AG-VIP benötigt.

5. Wählen Sie einen Pfad zum Speichern der AGVIP.agdb Datei. Standardmäßig wird das Installationsverzeichnis von AG-VIP verwendet, in dem die AGVIP.exe liegt  Beim Starten von AG-VIP wird standardmäßig die Verbindungsdatei AGVIP.agdb aus dem  AG-VIP Programmverzeichnis verwendet.

Der Pfad lässt sich auch über einen Befehlszeilenparameter bei Aufruf von AG-VIP mitgeben: z.B. x:\agvip\agvip.agdb. Dadurch kann die AGVIP.agdb auch an einem zentralen, für alle Anwender erreichbaren Ablageort liegen, damit alle mit derselben Datei arbeiten. Die Datenbank wird erstellt und die AGVIP.agdb Datei im ausgewählten Ordner abgelegt.

Tipp:

Ist AG-VIP lokal auf jedem Computer installiert, legen Sie die AGVIP.agdb -Datei in einem zentralen Fileshare ab. Über die AG-VIP Verknüpfiung auf dem Desktop können Sie den Pfad der zu verwendenen AGVIP.agdb Verbindungsdatei mit übergeben.

So funktioniert´s:
Klicken Sie mit der rechten Maustaste auf die AG-VIP-Verknüpfung und wählen Sie "Eigenschaften". Dort ergänzen Sie den Pfad in die Zeile "Ziel" hinzufügen.

Beispiel: C:\WINDOWS\AGVIP.exe "\\MeinServer\Zentraler Order\AGVIP.agdb"

Kontrolle erfolgreiches Anlegen AG-VIP SQL Datenbank

Die neue SQL Datenbank sehen Sie in der Google Cloud Übersicht. Der Name der mit dem AGVIPDBWizard erstellten Datenbank ist in der linken Spalte sichtbar.

8.3 Microsoft SQL-Server Management Studio (SSMS)

Zweck:
SSMS ist ein Programm zur Verwaltung und Änderung von SQL-Datenbanken. Um die Verbindung zu testen, können Sie auch direkt mit Microsoft SQL Server Management Studio auf die Datenbank zugreifen.

Vorgehensweise:
1. Geben Sie die Server-IP ein und Authentifizieren Sie sich mit SQL Server Authentication – hier geben Sie ihre Benutzerdaten (Siehe 5. Zugang) an. 

Die Verbindung ist erfolgreich. Nach dem Login kann der Benutzer die Datenbank verwalten und SQL-Befehle ausführen.

2023-01-23 10:52
Marko Sekuljica

Amazon RDS SQL-Server - AG-VIP Datenbank erstellen

1. Hintergrund

Viele Firmen möchten keine lokalen Server nutzen, da die Wartung aufwendig ist und die Personalkosten steigen – als Alternative bietet sich Cloud Hosting an. Mit dem Microsoft SQL Server von Amazon AWS können Datenbanken für AG-VIP SQL in kurzer Zeit erstellt und konfiguriert werden. 

2. Kosten

AWS bietet eine kostenlose 12-monatige Testphase mit einer Grundausstattung an Hardware. So testen Sie, ob AWS der richtige Anbieter für Sie ist.

Zweck
Verwenden Sie den AWS-Kostenrechner, um zu sehen, ob die Preise und Angebote Ihren Anforderungen und Ihrem Budget entsprechen. Die Verwendung des Kostenrechners ist nicht kompliziert. Der „AWS Pricing Calculator“ gibt nur einen Überblick über Ihre AWS-Gebühren und enthält keine anfallenden Steuern. Ihre tatsächlichen Gebühren hängen von einer Vielzahl von Faktoren ab, einschließlich Ihrer tatsächlichen Nutzung der AWS-Services.

Vorgehensweise
1. Öffnen Sie den AWS-Kostenrechner unter dem folgenden Link: https://calculator.aws/#/


2. Klicken Sie auf den Schalter Schätzung erstellen.


3. Wählen Sie das Produkt, für das Sie die Kosten berechnen lassen. In der Suchleiste „Find Service” geben Sie „Amazon RDS for SQL server” ein.



4. Der Dienst „Amazon RDS for SQL server“ ist die einzige angezeigte Option. Für weitere Informationen lesen Sie die Beschreibung. Klicken Sie auf den Schalter Konfigurieren.



5. Ein neues Fenster wird geöffnet. In den ersten beiden Feldern geben Sie Ihrer Berechnung einen Namen und wählen die Region. Die Region legt fest, wo sich der Server Standort befindet. Dies ist wichtig für die EU-Datenschutzregelungen. Für unser Beispiel verwenden wir den Namen „SQL-Server für AG-VIP“ und wählen als Region „Europa (Irland)“.



6. Wählen Sie die Anzahl der virtuellen CPUs und RAM-Speicher, die Sie für Ihre Datenbank benötigen. Diese Faktoren beeinflussen die Leistung sowie den Preis. Wir empfehlen mindestens 2 vCPUs und 4 GB RAM-Speicher: db.t2.medium




7. Wählen Sie, wie lange Ihr Server läuft und ob Sie On-Demand oder ein Jahresbetrag zahlen möchten. Ihr SQL-Server ist gegen Aufpreis ebenfalls in mehreren Verfügbarkeitszonen betreibbar (Multi-AZ: mehrere Server, die sich replizieren). Diese Option ist teurer als Single-AZ. Wählen Sie die gewünschte SQL-Datenbankversion. I.d.R. reicht die „Express“ Version. Die „Standard“ Version vom SQL-Server wird nur in Ausnahmefällen benötigt (Wenn in AG-VIP mehr als 1 Million Datensätze verwaltet werden).



Tipp! Mit dem Schalter Berechnungen anzeigen sehen Sie, wie sehr die Änderungen die monatliche Gesamtgebühr beeinflussen.


8. Wählen Sie, wie viel Speicherplatz Sie benötigen. 20 GB Speicherplatz und Backup sollten ausreichen.



9. Klicken Sie zum Schluss auf den Schalter Speichern und Zusammenfassung anzeigen, um Ihre endgültige Berechnung anzuzeigen.


10. Es wird eine Kosten Übersicht über alle Ihre Berechnungen angezeigt. Von hier aus duplizieren, löschen und verwalten Sie alle Ihre kalkulierten Kosten. Unser Beispiel SQL Server kostet uns 95,69 USD pro Monat oder 1.148,28 USD für 12 Monate.




3. Anmeldung

Zweck:
Um AWS und RDS zur Erstellung Ihres SQL-Servers zu verwenden, registrieren Sie sich mit einem Amazon-Konto, um Zugang zur AWS-Konsole zu erhalten. Bestätigen Sie Ihre Zahlungsdetails, auch wenn Sie die kostenlose Testversion nur ausprobieren.

Vorgehensweise:
1. Registrieren Sie sich über den folgenden Link: Amazon Web Services. Klicken Sie in der rechten oberen Ecke auf den orangefarbenen Schalter AWS-Konto erstellen.
2. Sie werden aufgefordert, sich zu registrieren oder ein bestehendes Konto zu verwenden. Nachdem Sie Ihre E-Mail-Adresse angegeben haben, werden Sie in 5 kurzen Schritten registriert. Dazu geben Sie einige persönliche Daten und eine Zahlungsmethode an, um Ihre Identität zu verifizieren.

4. Installation: Einrichtung MS-SQL Express

Zweck:
Über das AWS-Dashboard konfigurieren Sie den SQL-Server. Hierfür benötigen wir RDS, kurz für „Relational Database Service“.

Vorgehensweise:
2. Verwenden Sie die Suchleiste oben auf der Website und geben Sie „RDS“ ein. Klicken Sie auf den Schalter RDS mit dem blauen Icon.


2. Sie haben zwei Optionen: Standard-Erstellung und Einfache Erstellung. Um die Preisgestaltung zu optimieren, empfehlen wir Ihnen, Ihre eigene Konfiguration zu erstellen, indem Sie Standard-Erstellung wählen.



3. Wählen Sie als Datenbank-Engine den Microsoft SQL-Server, der für AG-VIP benötigt wird. Für den Verwaltungstyp wählen Sie Amazon RDS, da wir keine weiteren Änderungen vornehmen.



4. „Express“ ist die einfachste Version der Microsoft SQL-Server-Datenbank und unterstützt bis zu 10 GB große Datenbanken. Dies ist für die meisten Unternehmen ausreichend. Wenn Sie mit sehr großen Datenmengen (>1 Million Datensätze) arbeiten, wählen Sie die „Standard“ SQL-Server Version mit mehr Speicherplatz.


5. Benennen Sie Ihre Datenbankinstanz nach den Regeln, die unter dem Eingabefeld angegeben sind.


6. Erstellen Sie den ersten SQL-Server-Administrator. Die hier geschriebenen Anmeldedaten werden später für die Erstellung der AG-VIP-Tabelle im AGVIPDBWizzard.EXE verwendet.

Tipp! Kopieren oder speichern Sie diese Anmeldedaten, damit die Einrichtung zügig fortgesetzt wird.
7. Wählen Sie den DB-Instance-Typ aus, der die Rechen-, Netzwerk- und Arbeitsspeicherkapazität zuteilt, welche Sie benötigen. Wie vorhin erwähnt, ist unsere Empfehlung mindestens 2 CPUs und 4 GB Arbeitsspeicher zu haben.


8. Weisen Sie dem SQL-Server 20 GB Speicherplatz zu, dies genügt für die AG-VIP Datenbank.


9. Der Rest der Konfiguration ist nicht essentiell für die AG-VIP Datenbank und wird daher nicht erwähnt. Sie sollten jedoch festlegen, dass der SQL-Server öffentlich ist, um auf diese später vom AGVIPDBWizard und AG-VIP aus zuzugreifen. Der AGVIPDBWizard wird für die Verbindung und die Erstellung der AG-VIP-Tabellen in der Datenbank verwendet.


10. Am Ende finden Sie eine Kostenübersicht. Klicken Sie auf den Schalter Datenbank erstellen. 

Nachdem Sie Ihren SQL-Server erstellt haben, zeigt Ihnen das RDS-Dashboard an, dass eine neue DB-Instanz „DB-Instance“ erstellt wurde. Erkennbar an dem Text „(1/40)“. Um Ihre neue DB-Instanz zu verwalten, klicken Sie auf den Text „DB-Instances“ und dann auf die soeben erstellte DB-Instanz.


In unserem Beispiel heißt diese „agvipdb“. Klicken Sie auf den Namen. Es öffnet sich eine neue Benutzeroberfläche. Hier passen Sie Ihre aktuelle Konfiguration an wie z.B. die Serverauslastung, Verbindungsdetails und finden viele andere nützliche Informationen.

5. Zugangsdaten

Um eine Verbindung zu Ihrem neu erstellten SQL-Server herzustellen, benötigen Sie die Administrator-Anmeldedaten, die Sie im vorherigen Schritt erstellt haben. In unserem Fall haben wir den Administrator „aguser“ genannt und diesem ein komplexes Passwort vergeben.

Administrator-Anmeldedaten verloren? Klicken Sie in der Datenbankübersicht auf die Schaltfläche Konfiguration, schauen Sie in der mittleren Spalte der Registerkarte „Instanzen“ nach und Sie werden den Benutzernamen des Administrators sehen.


Wenn Sie das Passwort vergessen haben, gehen Sie zurück zum Menü Databases, wählen Sie Ihre Datenbank aus und klicken Sie auf die Schaltfläche Modifizieren im oberen rechten Bereich der Seite.


Auf der Seite erstellen Sie sich am Ende des ersten Abschnitts ein neues Administrator-Passwort.

Vergessen Sie nicht, Ihre Einstellungen zu speichern, nachdem Sie die Konfiguration geändert haben.

6. Verbindung

Zweck:
Nachdem Sie nun einen SQL-Server mit einer laufenden Datenbankinstanz erstellt haben, ist es Zeit, ihn für Verbindungen von außen einzurichten.

Vorgehensweise:
Zunächst geben wir dem SQL-Server unsere eigene IP-Adresse bekannt und ihm sagen, dass er Verbindungen von dieser Adresse zulassen soll.
Tipp! Sie Ihre eigene IP-Adresse finden Sie auf der Website WhatsMyIP: https://www.whatsmyip.org/

1. Kopieren Sie Ihre IP-Adresse. Als Nächstes kehren wir zum Dashboard zurück und setzen alle IP-Adressen, die Zugriff auf den SQL-Server haben, auf die Whitelist. 

2. Klicken Sie in der SQL-Server-Übersicht auf die „default“ VPC-Sicherheitsgruppe.


3. Wechseln Sie im unteren Bereich auf die Registerkarte "Eingehende Verkehrsregeln". Klicken Sie in der oberen rechten Ecke auf den Schalter Eingehende Verkehrsregeln bearbeiten.


4. Klicken Sie auf die Schaltfläche Regel hinzufügen. Es werden mehrere neue Felder angezeigt.

ID der Sicherheitsgruppenregel Eine Nummer, die zur Identifierung jeder Regel verwendet wird.
Typ Das Protokoll, das für den Netzwerkverkehr geöffnet werden soll.
Protokoll Der Typ des Protokolls, z.B. TCP oder UDP.
Portbereich Für benutzerdefinierte Regeln und Protokolle geben Sie manuell eine Portnummer oder einen Portbereich ein
Quelle Bestimmt den Verkehr, der Ihre Instance erreichen kann.
Beschreibung Eine Beschreibung für eine Sicherheitsgruppenregel. Die maximale Länge beträgt 255 Zeichen.


Wir passen nur zwei Einstellungen an: Typ und Quelle

Ändern Sie den Typ auf "MSSQL" und wählen Sie "Meine IP" im Feld Quelle. Ihre IP wird automatisch übernommen. Für weitere Geräte eintragen Sie die IPs selbstständig ein, indem Sie „Benutzerdefiniert“ wählen und in das rechte Feld schreiben.

Vergessen Sie nicht, Ihre Änderungen zu speichern.

Nachdem Sie diesen Schritt erfolgreich durchgeführt haben, verbinden Sie sich mit dem SQL-Server.
Für die Verbindung zur Datenbank über DB-Client oder andere Programme benötigen Sie Folgendes:

1. Administrator-Anmeldedaten
2. IP-Adresse vom SQL-Server

Der Standort der Administrator-Anmeldedaten ist im vorherigen Abschnitt „5. Zugangsdaten“ erwähnt. Die IP-Adresse vom SQL-Server ist in der Übersicht unter „Endpunkt“ zu sehen.
Im nächsten Schritt verwenden wir den AGVIPDBWizard, um uns mit dem SQL-Server zu verbinden und die AG-VIP-Datenbank zu erstellen.

6.1 AGVIPDBWizard

Zweck:
Damit AG-VIP mit dem SQL-Server arbeiten kann, erstellen Sie zunächst eine Verbindung zwischen AG-VIP und SQL-Server. Im ersten Schritt wird eine neue Datenbank angelegt. Im zweiten Schritt wird ein neuer User am SQL-Server angelegt, womit die Verbindung zu der SQL-Datenbank hergestellt wird. Diese Zugriffsdaten werden in einer Verbindungsdatei AGVIP.AGDB im Programmverzeichnis von AG-VIP gespeichert. Darin befinden sich Informationen über die zu öffnende SQL-Datenbank und die notwendigen Angaben zum Zugriff. (Alternativ arbeiten Sie auch über die Windows-Authentifizierung im SQL-Server, was aus Sicherheitsgründen vermieden werden sollte.)
Die Verbindungsdatei AGVIP.AGDB kann beim Aufruf von AG-VIP als Parameter mit angegeben werden. So lässt sich z.B. ein AG-VIP –Symbol für den Zugriff auf eine lokale Datenbank und ein zweites Symbol für den Zugriff auf eine Netzwerkdatenbank einrichten.

Vorgehensweise:
1. Im Programmverzeichnis von AG-VIP finden Sie den AGVIPDBWizard.exe. Starten Sie das Programm mit einem Doppelklick. Für mehr Informationen lesen Sie die Beschreibung auf der ersten Seite. Klicken Sie auf den Schalter Weiter >.

2. Wir möchten eine neue AG-VIP-Datenbank auf dem SQL-Server anlegen. Klicken Sie auf den Schalter Neue Datenbank anlegen.

3. Achten Sie hier darauf, dass Sie die gleiche Server-Version auswählen, wie in der Google Cloud Server Konfiguration. In unserem Musterbeispiel ist es der „MS-SQL Server 2019“.

4. Fügen Sie in das erste Feld die Adresse des SQL-Server-Endpunkts ein. Damit wird dem AGVIPDBWizard mitgeteilt, wohin er sich verbinden soll.

- Verwenden Sie die SQL-Server Authentifizierung, werden Sie aufgefordert das Administratorkennwort des SQL-Servers anzugeben, damit eine neue Datenbank angelegt werden kann.
- Wollen Sie die Windows-Authentifizierung verwenden, muss ein entsprechender Benutzer mit administrativen Rechten im MS-SQL-Server angelegt worden sein!

Diese Informationen dienen nur dem einmaligen Anlegen der Datenbank und werden nicht gespeichert. Das Administratorkennwort für den MS-SQL Server erhalten Sie von Ihrem Datenbankadministrator.


5. Geben Sie nun den Namen der neuen Datenbank auf dem SQL-Server an. Wählen Sie einen Benutzernamen sowie ein Kennwort, über den die Verbindung zur SQL-Datenbank zum Arbeiten für AG-VIP aufgebaut werden soll. Hier legen Sie im MS-SQL Server ein neues Benutzerkonto, z.B. „AG-VIP Admin“, an. 

 Vor der Erstellung der Datenbank werden Sie aufgefordert, die Erstellung eines neuen Benutzers im SQL-Server zu bestätigen.

6. Liegt Ihr SQL-Server in einer anderen Zeitzone, warnt AG-VIP Sie und schlägt vor, die Zeitverschiebung automatisch zu berücksichtigen. Nur wenn AG-VIP und Ihre Datenbank synchronisiert sind, funktioniert das Wiedervorlagemanagement einwandfrei. Über AGVIPDBUpdate.EXE kann eine Zeitdifferenz ggf. auch zu einem späteren Zeitpunkt noch angepasst werden.


7. Als nächstes legen Sie den ersten AG-VIP-Admin-Benutzer, auch "Superuser" genannt, an. Seine Rechte sind nicht veränderbar. Dieses Konto hat immer vollen Zugriff und wird auch später für die Durchführung von Updates von AG-VIP benötigt.


8. AG-VIP kann Prozesse im Hintergrund laufen lassen, wie z.B. das Versenden von E-Mails, das Löschen alter Daten oder einfach nur das Ausführen von Code. Hierfür muss der AG-VIP SQL Backend Service installiert werden. Wenn Sie diesen nutzen möchten, geben Sie im Feld den Namen des Servers an, auf dem Sie den Backend Service nutzen möchten.


9. Wählen Sie einen beliebigen Pfad zum Speichern der „AGVIP.agdb“ Datei. Standardmäßig wird das Installationsverzeichnis von AG-VIP verwendet, wo die AGVIP.exe liegt – denn darin schaut AG-VIP welche Datenbank verwendet werden soll. Beim Starten von AG-VIP wird standardmäßig die Verbindungsdatei „AGVIP.agdb“ verwendet. 

Der Pfad lässt sich auch über einen Befehlszeilenparameter bei Aufruf von AG-VIP mitgeben: z.B. x:\agvip\agvip.agdb. Dadurch kann die „AGVIP.agdb“ auch an einem zentralen, für alle Anwender erreichbaren Ablageort liegen. Die Datenbank wird erstellt und die „AGVIP.agdb“ Datei im ausgewählten Ordner abgelegt.

6.2 Microsoft SQL Management Studio

Zweck:
Microsoft verfügt über einen eigenen Datenbank-Client, mit dem Sie Datenbanken erstellen, darauf zugreifen, sie ändern und löschen sowie ganze SQL-Server verwalten. Er wird SQL Management Studio genannt. Damit überprüfen Sie die Verbindung, indem Sie sich mit unserer neuen Datenbank verbinden.

Vorgehensweise:
1. Das SQL Server Management Studio ist nicht vorinstalliert - wir richten die Software manuell ein. Besuchen Sie diese Website, scrollen Sie nach unten zum Abschnitt "Download SSMS" und klicken Sie auf den zweiten Hyperlink: Microsoft SSMS Download


SSMS extrahiert und installiert alle Dateien, die Sie benötigen. Dies dauert meistens zwischen 5 – 10 Minuten.

2. Wenn Sie Microsoft SQL Management Studio öffnen, werden Sie aufgefordert, eine Verbindung zum SQL-Server herzustellen. Hierfür benötigen Sie den Endpunkt und Ihre Login-Daten, die Sie auf dem Screenshot unten sehen.


3. Klicken Sie auf den Schalter „Verbinden“

2023-02-17 15:26
Marko Sekuljica

Microsoft Azure SQL-Server - AG-VIP Datenbank erstellen

1. Hintergrund

Eine attraktive Alternative zu einem lokalen Service ist das Cloud Hosting. Mit Microsoft Azures Microsoft SQL-Server können Datenbanken für AG-VIP SQL erstellt und konfiguriert werden.

2. Kosten

Mit einer kostenlosen 12-monatigen Testphase und einer Grundausstattung an Hardware bietet Microsoft die Möglichkeit, Azure als Hosting-Anbieter zu testen.

Zweck
Verwenden Sie den Azure-Kostenrechner um zu prüfen, ob die Preise und Angebote Ihren Anforderungen und Ihrem Budget entsprechen. Der Kostenrechner ist einfach zu verwenden und gibt einen Überblick über die Azure-Gebühren. Steuern sind in den Preisangaben nicht enthalten. Beachten Sie, dass die Gebühren von verschiedenen Faktoren wie der tatsächlichen Nutzung der Azure-Services abhängig sind.

Vorgehensweise
1. Öffnen Sie den Azure-Kostenrechner unter dem folgenden Link: https://azure.microsoft.com/de-de/pricing/calculator/


2. Scrollen Sie nach Unten und wählen Sie aus dem Produkte Reiter die Option Azure SQL-Datenbank.



3. Sie erhalten auf der rechten Seite der Website ein Pop-up. Klicken Sie auf den Text Anzeigen.


4. Ihre Schätzung wird angezeigt. Befüllen Sie die Felder um den Preis zu ermitteln. Diese Eingaben beeinflussen die Leistung und Kosten von ihrem SQL-Server



- Region: West Europe
Die Region legt fest, wo der physische Server liegt. Wegen den EU-Datenschutzregelungen (DSGVO) empfohlen wir einen Standort innerhalb der EU zu wählen.

- Typ: Einzeldatenbank Wählen Sie hier die Option Einzeldatenbank. Diese Option bietet die Möglichkeit, die Leistung und die Kosten für eine einzelne Anwendung oder einen einzelnen Benutzer zu optimieren.

- Kaufmodell: DTU
Hier wählen Sie, wie Sie für die Leistung des SQL-Servers bezahlen. Wählen Sie die Option „DTU“

- Leistungsstufe: S2 (50 DTUs) Azure DTUs (Database Transaction Units) sind eine Messgröße für die Leistung von Azure SQL-Datenbanken. Sie beruhen auf einer Kombination aus CPU, Speicher und Übertragungsgeschwindigkeit. Je höher die Anzahl der DTUs, desto höher die Leistung der Datenbank.


5. Die geschätzten monatlichen Kosten werden unten ausgerechnet.


3. Anmeldung

Zweck
Um Ihren eigenen SQL-Server mit Microsoft Azure zu hosten, benötigen Sie ein Microsoft-Konto, um sich in dem Azure-Portal anzumelden. Geben Sie Ihre Zahlungsinformationen an, um die 12-monatige kostenlose Testversion zu starten.

Vorgehensweise
1.
Registrieren Sie sich über den folgenden Link: Microsoft Azure - klicken Sie auf den Schalter Kostenloses Konto erstellen.


2. Sie werden aufgefordert, sich zu registrieren oder ein bestehendes Konto zu verwenden. Nachdem Sie Ihre E-Mail-Adresse angegeben haben, werden Sie in 5 kurzen Schritten registriert. Dazu geben Sie einige persönliche Daten und eine Zahlungsmethode an, um Ihre Identität zu verifizieren.


4. Installation

Zweck
Mit dem Azure-Portal von Microsoft können Sie alle Ihre Dienste verwalten. Hier erstellen und konfigurieren wir unseren SQL-Server.

4.1 MS SQL Server Konfiguration

Vorgehensweise
1.
Klicken Sie im Dashboard auf die blaue Datenbank-Schaltfläche "SQL-Datenbanken" oder geben Sie in der Suchleiste oben den Suchbegriff ein.


2. Hier verwalten Sie ihre von Azure gehosteten Datenbanken. Um eine neue Datenbank zu erstellen, klicken Sie auf den Schalter SQL-Datenbank erstellen in der Mitte der Seite.


3. Fügen Sie die Datenbank in eine Ressourcengruppe ein. Eine Ressourcengruppe ist eine logische Sammlung von Azure-Ressourcen, die zusammengefasst und verwaltet werden. Sie kann zum Beispiel alle Ressourcen enthalten, die für ein bestimmtes Projekt oder eine bestimmte Umgebung erstellt wurden.


4. Zunächst benennen Sie die Datenbank. Beachten Sie die Namensregeln.


5. Damit eine Datenbank angelegt und verwendet werden kann, muss Sie einen SQL-Server haben. Diesen erstellen wir jetzt mit dem Schalter Neu erstellen.


6. Vergeben Sie dem neuen SQL-Server einen Namen und wählen Sie den Server-Standort. Nehmen Sie dafür ein DSGVO konformer Standort in der EU.


7. Jetzt konfigurieren Sie den Administrator, der für die Datenbank zuständig ist. Wir werden diesen verwenden, um eine Verbindung zu unserer Datenbank herzustellen und sie von AG-VIP aus zu verwalten.


8. Um die Eingaben zu bestätigen klicken Sie auf den Schalter Ok. Der Server wird erstellt und Sie werden automatisch weitergeleitet. Sie sehen nun, dass der neue SQL-Server automatisch hinzugefügt wurde. In Datenbankdetails, klicken Sie auf den Schalter Datenbank konfigurieren. 


9. Konfigurieren Sie die Datenbank.

Compute:
Als Nächstes wählen Sie die Anzahl der gewünschten DTU.

Speicher: 10 GB reichen für die meisten Unternehmen. In Ausnahmefällen, wenn Sie mit sehr großen Datenmengen (>1 Million Datensätze) arbeiten, wählen Sie die „Standard“ SQL-Server Version mit mehr Speicherplatz


10. Die Datenbank kann auf verschiedene Wege gesichert werden.

Lokalredundant: Eine Option für die Datenspeicherung in Azure, bei der Daten mehrfach innerhalb eines Azure-Rechenzentrums repliziert werden. Das ist die kostengünstigste Wahl.

Zonenredundant: Diese Option sorgt für eine höhere Verfügbarkeit der Daten im Falle eines Ausfalls eines Rechenzentrums, da sie in zwei verschiedenen Standorten gespeichert werden. Wenn ein Rechenzentrum ausfällt, sind die Daten auf dem anderen verfügbar.

Georedundant: Eine Option für die Datenspeicherung in Azure, bei der Daten in mindestens zwei Azure-Rechenzentren repliziert werden, die sich in unterschiedlichen geografischen Regionen befinden. Um eine Verbindung zu Ihrem neu erstellten SQL-Server herzustellen, benötigen Sie die Administrator-Anmeldedaten, die Sie im vorherigen Schritt erstellt haben. In unserem Fall haben wir den Administrator „sqladmin“ genannt und diesem ein komplexes Passwort vergeben.


4.2 AGVIPDBWizard

Zweck
Damit AG-VIP mit dem SQL-Server arbeiten kann, erstellen Sie zunächst eine Verbindung zwischen AG?VIP und SQL-Server. Im ersten Schritt wird eine neue Datenbank angelegt. Im zweiten Schritt wird ein neuer User am SQL-Server angelegt, womit die Verbindung zu der SQL-Datenbank hergestellt wird. Diese Zugriffsdaten werden in einer Verbindungsdatei AGVIP.AGDB im Programmverzeichnis von AG-VIP gespeichert. Darin befinden sich Informationen über die zu öffnende SQL-Datenbank und die notwendigen Angaben zum Zugriff. Alternativ arbeiten Sie auch über die Windows-Authentifizierung im SQL-Server, was aus Sicherheitsgründen vermieden werden sollte.

Vorgehensweise
1.
Im Programmverzeichnis von AG-VIP finden Sie den AGVIPDBWizard.exe. Starten Sie das Programm mit einem Doppelklick. Für mehr Informationen lesen Sie die Beschreibung auf der ersten Seite.


2. Wir möchten die AG-VIP-Datenbank auf dem SQL-Server mit der leeren AG-VIP Datenbankstruktur befüllen. Klicken Sie auf den Schalter Datenbankstruktur in einer leeren existierenden Datenbank erzeugen.


3. Wählen Sie hier die Option „MS-SQL Server 2019“.


4. Geben Sie nun den Namen der Datenbank auf dem SQL-Server an. Wählen Sie einen Benutzernamen sowie ein Kennwort, über den die Verbindung zur SQL-Datenbank zum Arbeiten für AG-VIP aufgebaut werden soll.


5. Liegt Ihr SQL-Server in einer anderen Zeitzone, warnt AG-VIP Sie und schlägt vor, die Zeitverschiebung automatisch zu berücksichtigen. Nur wenn AG-VIP und Ihre Datenbank synchronisiert sind, funktioniert das Wiedervorlagemanagement einwandfrei. Über AGVIPDBUpdate.EXE kann eine Zeitdifferenz ggf. auch zu einem späteren Zeitpunkt noch angepasst werden. 


6. Als nächstes legen Sie den ersten AG-VIP-Admin-Benutzer, auch "Superuser" genannt, an. Seine Rechte sind nicht veränderbar. Dieses Konto hat immer vollen Zugriff und wird auch später für die Durchführung von Updates von AG-VIP verwendet.


7. AG-VIP kann Prozesse im Hintergrund laufen lassen, wie z.B. das Versenden von E-Mails, das Löschen alter Daten oder einfach nur das Ausführen von Code. Hierfür muss der AG-VIP SQL Backend Service installiert werden. Wenn Sie diesen nutzen möchten, geben Sie im Feld den Namen des Servers an, auf dem Sie den Backend Service nutzen möchten.


8. Wählen Sie einen beliebigen Pfad zum Speichern der „AGVIP.agdb“ Datei. Standardmäßig wird das Installationsverzeichnis von AG-VIP verwendet, wo die AGVIP.exe liegt – denn darin schaut AG-VIP welche Datenbank verwendet werden soll. Beim Starten von AG-VIP wird standardmäßig die Verbindungsdatei „AGVIP.agdb“ verwendet.



Der Pfad lässt sich auch über einen Befehlszeilenparameter bei Aufruf von AG-VIP mitgeben: z.B. x:\agvip\agvip.agdb. Dadurch kann die „AGVIP.agdb“ auch an einem zentralen, für alle Anwender erreichbaren Ablageort liegen. Die Datenbank wird erstellt und die „AGVIP.agdb“ Datei im ausgewählten Ordner abgelegt.


4.3 Microsoft SQL Management Studio

Zweck
Microsoft verfügt über einen eigenen Datenbank-Client, mit dem Sie Datenbanken erstellen, darauf zugreifen, sie ändern und löschen sowie ganze SQL-Server verwalten. Er wird SQL Management Studio genannt. Damit überprüfen Sie die Verbindung, indem Sie sich mit unserer neuen Datenbank verbinden.

Vorgehensweise
1.
Das SQL Server Management Studio ist nicht vorinstalliert - wir richten die Software manuell ein. Besuchen Sie diese Website, scrollen Sie nach unten zum Abschnitt "Download SSMS" und klicken Sie auf den zweiten Hyperlink: Microsoft SSMS Download



SSMS extrahiert und installiert alle Dateien, die Sie benötigen. Dies dauert meistens zwischen 5 – 10 Minuten.


2. Wenn Sie Microsoft SQL Management Studio öffnen, werden Sie aufgefordert, eine Verbindung zum SQL-Server herzustellen. Hierfür benötigen Sie den Endpunkt und Ihre Login-Daten, die Sie auf dem Screenshot unten sehen.


3. Klicken Sie auf den Schalter „Verbinden“ 

2023-02-17 15:26
Marko Sekuljica

Wie kann ich die MS-SQL Datenbank hosten?

Die CRM Software AG-VIP speichert die Daten in der Microsoft SQL Datenbank. Auf diese Datenbank benötigen alle Arbeitsplätze Zugriff. In diesem Artikel erfahren Sie, welche Möglichkeiten des Hostings von MS SQL Datenbanken gibt.

Grundsätzlich sollten Sie folgende Dinge beachten:#

Kompatibilität:

Stellen Sie sicher, dass die Version von SQL Server, die Sie hosten möchten, mit Ihrem Betriebssystem und anderen Anwendungen auf Ihrem Server kompatibel ist.

Sicherheit:

Konfigurieren Sie Ihre SQL Server-Instanz so, dass sie sicher ist. Bedenken Sie immer, dass die einzige Hürde die ein Angreifer überwinden muss, Ihr Nutzername und das zugeordnete Kennwort ist. Verwenden Sie deshalb starke Passwörter für Konten und stellen Sie sicher, dass diese Konten nur die notwendigen Berechtigungen haben. Schränken Sie den Netzwerkzugriff auf Ihre SQL Server-Instanz auf nur die erforderlichen IPs und Ports ein.

Backup und Recovery:

Sichern Sie regelmäßig Ihre SQL-Datenbanken und sorgen Sie dafür, dass Sie einen Wiederherstellungsplan haben, falls etwas schief geht. Passen Sie Ihre Backup/Recovery Strategie an die Häufigkeit der Datenänderungen an. Bedenken Sie, wie hoch ein evtl. Verlust von x-Arbeitstagen wäre.

Skalierbarkeit:

Stellen Sie genügend Ressourcen für Ihre SQL Server-Instanz bereit, um Ihre Anforderungen zu erfüllen. Überwachen Sie regelmäßig die Leistung und passen Sie die Ressourcen bei Bedarf an. Beachten Sie, dass ein schneller SQL Server Ihnen nichts nützt, wenn die Bandbreite Ihrer Internetanbindung zu klein ist.

Verfügbarkeit:

Stellen Sie sicher, dass Ihre SQL Server-Instanz verfügbar ist, wenn Sie sie benötigen. Verwenden Sie Failover-Clustering oder Always On-Verfügbarkeitsgruppen, um eine hohe Verfügbarkeit zu gewährleisten. Auch hier nützt aber jegliche Always On Strategie nur etwas, wenn auch Ihr Internet und Netzwerk stabil ist.

Lizenzierung:

Prüfen Sie, ob Sie die erforderlichen Lizenzen für Ihre SQL Server-Instanz haben. Informieren Sie sich über die unterschiedlichen Lizenzierungsoptionen und wählen Sie diejenige aus, die am besten zu Ihren Anforderungen passt.

Nachfolgend finden Sie detaillierte Schritt-für-Schritt-Anleitungen, wie Sie MS-SQL Server bei Amazon, Google oder Microsoft Azure hosten:

Amazon Web Services (AWS)

Google Web Services

Microsoft Azure

Bei diesen Anbietern finden Sie detaillierte Preisrechner und haben einige Monate als kostenlose Testphase.

Zu bedenken

Mit dem Hosting der MS-SQL Datenbank haben Sie die Datenspeicherung innerhalb von AG-VIP gelöst. AG-VIP nutzt zwei optionale Dienste:

  • AG-VIP Job-Scheduler
    zeitgesteuerte Aufgaben in AG-VIP im Hintergrund automatisch ausführen
  • AG-VIP Backend-Service
    Statistikupdates und Präsenzanzeige für Telefonie

Nutzen Sie Hilfsmittel benötigen Sie eine zentrale Dateivorlage mit mindestens Lese-Zugriff für die AG-VIP Anwender und ggf. eine zentrale Dateiablage.

2023-02-28 16:27
Markus Grutzeck

MS-OLE DB Provider ab der Version 19.x sind nicht mit AG-VIP SQL bis Version 2.05.002 kompatibel

Beschreibung:

AG-VIP SQL unterstützt bis zur Version 2.05.002 drei verschiedene Datenbankprovider für den SQL Server, die mit unterschiedlichen SQL Server Versionen ausgeliefert wurden:

  • MS-SQL Server 2008 - SQL Server Native Client (SNAC)
  • MS-SQL Server 2012/2014/2016 - SQL Server Native Client (SNAC)
  • MS-SQL Server 2017/2019 - Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)

Microsoft hat nun für den MSOLEDBSQL Provider eine neue Versionsreihe 19.x veröffentlicht. Diese ist mit AG-VIP SQL bis zur Version 2.05.002 nicht mehr kompatibel. Die AG-VIP SQL Version 2.05.003 unterstützt auch die MSOLEDBSQL Provider ab der Version 19.x.

Beachten Sie auch, dass die MSOLEDB Provider ab der Version 19.x immer eine Verschlüsselung aktivieren. Das bedeutet, dass der SQL-Server auch entsprechend eingerichtet sein muss. Andernfalls ist eine Verbindung zur einer SQL-Datenbank über diesen Provider nicht möglich, solange bis die Verschlüsselung abgeschaltet wird.
In der Standard Einstellung der Provider der Version 18.x ist die Verschlüsselung ausgeschaltet. Kann aber eingeschaltet werden.

Alle MSOLEDBSQL Provider bis zur Version 18.x sind mit den aktuellen Versionen von AG-VIP SQL kompatibel.

Download Links:

MS-SQL OLE DB Provider v18 64bit
MS-SQL OLE DB Provider v18 32bit

Hinweis:

Die Microsoft OLD-DB Provider der Versionen 18.x und 19.x lassen sich parallel installieren.

Weitere Informationen:

Microsoft OLE DB Provider
Welcher OLE-DB Provider wird aktuell verwendet?

 

2024-02-12 12:47
Martin Richter

AG-V.I.P. Standard

Zur Kategorie

Fehlermeldung: Inkorrekte Installation im Netzwerk!

Beschreibung:

Beim Öffnen einer Adressendatei erscheint der Fehler: Inkorrekte Installation im Netzwerk!!!

Ursache:

Dieser Fehler tritt immer auf, wenn ein Anwender im Netzwerk mit einer falschen Einstellung des PfadLog Parameters der Systemeinstellung von AG-V.I.P. arbeitet. Dieser Pfad muss für alle Anwender in einer Netzwerkumgebung auf den selben physikalischen Pfad (Verzeichnis) verweisen. In diesem Verzeichnis werden Dateien angelegt, die AG-V.I.P. zur Synchronisierung Ihrer Aktionen benötigen (z.B. Satzsperren von AG-V.I.P., Benutzerrechte).

Startet ein Anwender AG-V.I.P. mit einer anderen Einstellung des PfadLog Verzeichnisses als ein anderer Anwender, der bereits AG-V.I.P. gestartet hat, so ist eine Synchronisierung nicht möglich. Die Folge ist die entsprechende Fehlermeldung.

Beachten Sie bitte, dass in vielen Fällen bei der Installation im PfadLog kein Eintrag vorgenommen wird. Dies ist gewollt und beabsichtigt. In diesem Fall verwendet AG-V.I.P. bei leerem PfadLog Eintrag das Verzeichnis aus dem die AG-V.I.P. EXE Datei gestartet wurde.

Sollten Sie also mehrere AG-V.I.P. Installationen haben (z.B. auf jedem Rechner befindet sich eine AGVIP5.EXE Datei) UND ist der PfadLog Eintrag leer, so ist diese Fehlermeldung die unvermeidliche Folge.

ES GIBT KEINE ANDERE URSACHE FÜR DIESEN FEHLER!

Lösungsmöglichkeit:

Kontrollieren aller Systemeinstellungen von AG-V.I.P., ob der PfadLog Eintrag wirklich überall auf das selbe Verzeichnis (im Netzwerk) verweist und gegebenenfalls entsprechende Korrekturen vornehmen.

Sollte der PfadLog Eintrag leer sein UND Sie arbeiten mit mehreren AG-V.I.P. Installationen, so tragen Sie am besten das Verzeichnis ein, in dem sich Ihre Daten befinden.

Beachten Sie bitte: Wenn Sie den PfadLog verändern sollten, dass damit auch die Einstellungen für die Benutzerrechte verloren gehen können, diese werden ja auch in diesem angegebenen Verzeichnis gespeichert. Es kann deshalb notwendig sein die Datei KONSTBEN.AG in das neue Verzeichnis zu kopieren.

Tipp:

Falls einzelne Arbeitsstationen (speziell Laptops) jedoch in unterschiedlichen Umgebungen arbeiten müssen, d.h. mit Netz und ohne Netz, so müssen hier spezielle Vorkehrungen etroffen werden.

Es wird der PfadLog Parameter über die Kommandozeile beim Starten von AG-V.I.P. mit angegeben. Dies geschieht über den Schalter /L:<Pfad> (also direkt gefolgt von dem Namen des entsprechenden Verzeichnisses).

Siehe dazu auch das AG-V.I.P. Handbuch Abschnitt 2.7.2 AG-V.I.P. mit unterschiedlichem PfadLog starten

Siehe auch:

Fehlermeldung: Die Log-Datei kann nicht geöffnet bzw. angelegt werden!
Datei "<Pfad>\KONSTBEN.AG" kann nicht geöffnet werden!
Die Datei "<Pfad>\AGVIP.LOC" konnte nicht geöffnet werden!

2008-01-11 13:36
Marc Pascal Busch

Die Datei kann nicht exklusiv geöffnet werden. Fehlermeldung: Datei ist gesperrt oder exklusiv geöffnet


Beschreibung:

Sie möchten in AG-V.I.P. eine Adressendatei exklusiv öffnen, um z.B. die Feldstruktur zu verändern.
AG-V.I.P. verweigert Ihnen jedoch das exklusive Öffnen der Datei.

Ursache:
  1. Fehlende Benutzerrechte:
    In diesem Fall wird die Adressendatei mit dem höchsten Ihnen zustehenden Recht, z.B. Ändern, geöffnet. Funktionen, die jedoch einen exklusiven Zugriff auf die Adressendatei erfordern, sind nicht verfügbar.
  2. Andere Anwender sind aktiv:
    Andere Anwender haben diese Adressendatei noch geöffnet. Es erscheint die Fehlermeldung: "Datei ist gesperrt oder exklusiv geöffnet".
Lösung:

Wenn Ihnen die Benutzerrechte fehlen, wenden Sie sich bitte an Ihren Systemadministrator oder lassen die Operation von ihm durchführen.

Sind andere Anwender aktiv, bitten Sie diese die Adressendatei zu schließen. Andere Adressendateien sind hiervon nicht betroffen!

Siehe auch: Fehlermeldung: Datei ist gesperrt oder exklusiv geöffnet 

2007-12-14 14:38
Martin Richter

Datenexport von AG-V.I.P. nach Outlook

Beschreibung:

Um Adressdaten oder Termine in Palmtops, PDAs, Handhelds, usw. übernehmen zu können, kann es notwendig sein, Adressdaten aus AG-V.I.P. zunächst nach MS-Outlook zu übernehmen. Denn alle gängigen Palmtops (Windows CE-, Palm OS-basierte Lösungen oder PSION) können ihre Daten mit MS-Outlook synchronisieren.

Vorgehensweise:
  1. Öffnen Sie die Adressdatei AG-V.I.P.
  2. Selektieren Sie die Daten in AG-V.I.P. über das Menü Datei den Befehl Auswertungen. Sie sollten nicht mehr als 10.000 Adressen nach Outlook übertragen, da sonst die Verarbeitungsgeschwindigkeit in MS-Outlook extrem sinkt.
  3. Wählen Sie aus dem Menü Listen den Befehl Speichern
  4. Speichern Sie die Adressliste, indem Sie alle Ausgabefelder auswählen und Zuordnen. Wählen Sie als Format Ascii - Komma (ANSI).
    Beachten Sie, dass Sie für den Export auf Palmtops eine begrenzte Anzahl an zu übernehmenden Feldern haben. Die Exportdatei wird dann mit der Dateinamenerweiterung .txt gespeichert.
  5. Geben Sie den Dateinamen sowie den Pfad an. Diesen Pfad müssen Sie sich merken, da Sie den wieder beim Import in MS-Outlook benötigen. Geben Sie den Dateinamen direkt mit der Erweiterung *.CSV an, also z.B. "export.csv". Denn MS-Outlook erkennt nur Textdateien mit der Erweiterung CSV und nicht TXT !.
  6. Öffnen Sie Outlook und wählen Sie die Schaltfläche Kontakte
  7. Wählen Sie nun im Menü Datei den Befehl Importieren, Importieren aus anderen Programmen oder Dateien. Aktivieren Sie den Weiter-Schalter
  8. Datei importieren. Der zu importierende Dateityp ist: Kommagetrennte Werte (Windows)
  9. Wählen Sie nun als zu importierende Datei outlook.csv aus dem Verzeichnis, in dem Sie es vorher gespeichert hatten.
  10. Wählen Sie das Zielverzeichnis Kontakte, aktivieren Sie den Schalter Felder zuordnen und ordnen Sie die Felder aus AG-V.I.P. über Drag & Drop den Felder in MS-Outlook zu.
  11. Aktivieren Sie den OK-Schalter und wählen dann im neuen Dialogfenster den Schalter Fertig stellen. Der Importvorgang kann einige Zeit in Anspruch nehmen.
  12. Um die Daten in Ihren Palmtop zu übernehmen, starten Sie jetzt die Synchronisation Ihres Palmtops mit MS-Outlook. Dadurch kommen Ihre Adressdaten in den Palmtop.
Tipp:

Wenn Sie den Infotext übernehmen wollen, ordnen Sie ihn dem Feld Notizen in Outlook zu! Beachten Sie jedoch, dass der Infotext bis zu 32.000 Zeichen aufnehmen kann und dies die Länge des Notizfeldes in MS-Outlook übersteigt. Daten können beim Import abgeschnitten werden

Sämtliche Telefon- und Faxnummern können übernommen werden. Bitte beachten Sie, dass das Feld "Nummer" in AG-V.I.P. nicht die Telefonnummer, sondern die Nummer neben dem Kurznamen ist!

Achtung: Wenn Sie diesen Importvorgang mehrmals wiederholen, so werden die Adressen nicht überschrieben, sondern immer als neue Kontakte angelegt!

Analog können Sie für Termindaten aus AG-Top vorgehen !! Selektieren Sie dann in AG-Top zunächst alle Zeittermine und importieren Sie diese in den MS-Outlook-Ordner Kontakte. Für Aufgaben wählen Sie den Ordner Aufgaben in MS-Outlook.

Vorteil dieses Verfahrens:

In AG-V.I.P. können alle Vorteile der Adressensuche, Mailings, Hilfsmittel (Briefe + Faxe vorformatiert mit korrekter Adresse) genutzt werden und Sie haben trotzdem in Outlook Zugriff auf alle wichtigen Daten. Somit brauchen alle Adressen nur einmal eingegeben zu werden und sind für alle Mitarbeiter in allen Anwendungen nutzbar.

Siehe auch:

2008-01-11 13:45
Martin Richter

Fehlermeldung: Die Log-Datei kann nicht geöffnet bzw. angelegt werden! Datei KONSTBEN.AG kann nicht geöffnet werden! Die Datei AGVIP.LOC konnte nicht geöffnet werden!

Beschreibung:

Diese Fehlermeldungen können in der oben genannten Folge oder auch einzeln beim Starten eines AG-Produktes auftreten (meistens jedoch AG-V.I.P.).

Die Log-Datei kann nicht geöffnet bzw. angelegt werden!

Datei "KONSTBEN.AG" kann nicht geöffnet werden.

Die Datei "AGVIP.LOC" konnte nicht geöffnet werden!

Ursache:

Der Eintrag PfadLog in der Systemeinstellung von AG-V.I.P. oder dem entsprechenden anderen AG-Produkt ist falsch, bzw. weist auf ein Verzeichnis, das nicht existiert bzw. auf das nicht genügend Rechte vorhanden sind (hier Lese/Schreibrechte)!

In den meisten Fällen existiert das Netzwerklaufwerk nicht mehr oder das Mapping für die Netzwerkfreigabe wwurde geändert.

Da diese Datei für das korrekte Arbeiten und Synchronisieren der Applikationen im Netzwerk notwendig sind, kann AG-V.I.P. nicht starten.

Ein falscher Eintrag kann auch das Starten einer Einzelplatzversion verhindern.

Lösungsmöglichkeit:

Starten Sie das entsprechende AG-Produkt. Ignorieren Sie alle Fehlermeldungen.

Auch bei schweren Initialisierungsfehlern starten die AG-Produkte im allgemeinen immer noch. Jedoch stehen Ihnen dann nicht alle Funktionen zur Verfügung. Der Zugang zu den Systemeinstellungen wird in jedem Falle ermöglicht. Nach dem Starten sollte es nun möglich sein, den Menüpunkt Verwaltung, Systemeinstellungen auszuwählen. Kontrollieren Sie dort, was im Eintrag PfadLog eingestellt wurde. Das Verzeichnis muss existieren und entsprechende Zugriffsrechte (Lesen/Schreiben) müssen definiert sein. Kontrollieren Sie dies gegebenenfalls mit dem Explorer.

Sie haben bei einer Netzwerkversion auch die Möglichkeit die Einstellungen dieses PC's mit der eines anderen PC's zu vergleichen und gegebenenfalls Änderungen vorzunehmen.

Sollte das entsprechende AG-Produkt nicht mehr starten, bzw. sofort nach diesen Fehlermeldungen beenden, können Sie den entsprechenden Eintrag auch in der Registry direkt ändern. Starten Sie dazu den REGEDIT über den Start-Knopf von Windows, wählen Sie dort den Menüpunkt Ausführen und tragen in dem anschließenden Dialog REGEDIT ein.

Wählen Sie nun je nach Programm einen der folgenden Einträge in der Registrierdatenbank durch Doppelklicken aus:

  • AG-V.I.P.: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-V.I.P.
  • AG-Top: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-Top
  • AG-Tel: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-Tel

Auf der rechten Seite des REGEDIT sollten Sie nun den Eintrag PfadLog finden. Prüfen bzw. korrigieren Sie den Eintrag wie oben beschreiben.

Siehe auch:

Fehlermeldung: Inkorrekte Installation im Netzwerk!

 

 

2015-08-06 12:30
Martin Richter

Fehlermeldung: Das Programm ist zerstört! - oder - Das Modul "AGVIPS.DLL" kann nicht geladen werden bzw. es stimmt nicht mit der Version des aktuellen Programmes überein.

Beschreibung:

Beim Start eines Programmes kommt es zu der Meldung:

Das Programm ist zerstört!

oder

Das Modul "AGVIPS.DLL" kann nicht geladen werden bzw. es stimmt nicht mit der Version des aktuellen Programmes überein.

Ursache:

Alle unsere Programm benötigen eine Lizenzdatei. Diese Lizenzdatei heißt bei AG-VIP SQL AGVIPS.DLL.

Ist diese Datei nicht vorhanden oder zerstört, oder sie passt nicht zu der aktuellen Programmversion, dann erhalten Sie die oben erwähnte Fehlermeldung.

Siehe auch:

Welche Lizenzdatei passt zu welchem Programm? Welches Update kann ich mit der aktuellen Lizenzdatei nutzen?

2008-03-14 14:03
Martin Richter

AG-V.I.P. manuell komplett entfernen / deinstallieren

Um AG-V.I.P. komplett zu entfernen müssen manuelle Änderungen an einem System vorgenommen werden.
ACHTUNG! Wir weisen Sie darauf hin, dass alle diese Änderungen auf Ihr eigenes Riskio erfolgen.

Warum wird bei einer Deinstallation nicht alles entfernt?
Aus Sicherheitsgründen werden nicht alle Programmbestandteile entfernt, weil diese evtl. auchnoch von anderen Programmen genutzt werden. Aber um bei einer zerstörten Installation eine komplette Neuinstallation vornehmen zu können müssen alle Programmbestandteile komplett entfernt werden.

Warum wird nicht bei einer Installation nicht alles neu überschrieben?
In diesem Fall würden sehr viele Benutzerienstellungen und auch Netzwerkeinstellungen verloren gehen und dies wäre bei einer normalen Installation nicht gewünscht.

Diese Gründe machen es evtl. notwendig Dateien manuell von einem System zu löschen.

Vorgehensweise:

Für Alle nachfolgende Schritte benötigen Sie auf dem Rechner lokale adminsitrative Rechte. Ohne diese können die nachfolgenden Schritte nicht ausgeführt werden.

  1. Sichern Sie alle Ihre Daten. (siehe Handbuch)
  2. Führen Sie in jedem Fall eine normale Deinstallation zuvor aus, auch wenn diese evtl. fehlschlägt oder mit Fehler beendet wird.
    Die Deinstallation erfolgt immer über die Systemsteuerung -> Programme
  3. Löschen Sie den Programmordner über den Explorer
    Das ist bei einer normalen Installation bei einem 32bit System der Ordner "C:\Program Files\AG-V.I.P."
    bei einem 64 bit System ist dies der Ordner "C:\Program Files (x86)\AG-V.I.P."
    Haben Sie die Installation in einem abweichenden Verzeichnis vorgenommen, dann müssen Sie diesen finden und löschen.
  4. Löschen einiger System Dateien aus dem Windows Ordner
    Die nachfolgenden Dateien müssen aus dem Ordner "C:\Windows\System32" (bei einem 32bit Betriebssystem), bzw. aus dem Ordner "C:\Windows\SysWow64" Ordner entfernt werden. Es ist möglich das einige der Dateien dort nicht zu finden sind, oder bereites entfernt wurden.
    AGMANUAL.TSP, AGREG32.EXE, INETWH32.DLL, NWLOCALE.DLL, W16NR.DLL, W32BTICM.DLL, W32MKDE.EXE, W32MKRC.DLL, W32NR.DLL, WBTRCALL.DLL, WBTRTHNK.DLL, WBTRV32.DLL, WBTRVRES.DLL
  5. Entfernen einiger Einträge aus der Registry
    Starten Sie das Programm REGEDIT.EXE (Über Start->Ausführen, oder Windows-Taste+R)
    Auf einem 64bit System löschen Sie die nachfolgenden Äste komplett:
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Grutzeck Software\AG-V.I.P.
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies
    HKEY_CURRENT_USER\SOFTWARE\Grutzeck Software\AG-V.I.P.
    Auf einem 32bit System lauten die Äste
    HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-V.I.P.
    HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies
    HKEY_CURRENT_USER\SOFTWARE\Grutzeck Software\AG-V.I.P.

ACHTUNG! Wir weisen Sie darauf hin, dass alle diese Änderungen auf Ihr eigenes Riskio erfolgen.

2020-04-29 07:54
Martin Richter

Die Nutzung von DDEAuto in Word funktioniert nicht mehr für AG-V.I.P. 5.x

Allererste AG-V.I.P. Versionen nutzen DDEAuto Felder in Word um Daten in Dokumente zu übertragen. Dies war aber zum Teil unflexibel. AG-V.I.P. erhielt eine neue Makro Schnittstelle für Hilfsmittel. Diese bemutzen COM/OLE-Automatisation und sind weitaus flexibler. 

Weitere Infos zu Umstellung der Kommunikation auf Hilfsmittel finden Sie im Handbuch Kapitel 14.2ff.

Die gesamte DDE Technologie wurde bereits 2010 für veraltet (legacy) erklärt und Microsoft hat angekündigt diese Technologie aus Word und anderen Office Produkten zu entfernen.

Am 08.11.2017 wurde ein erster Sicherheitspatch eingeführt, der eine Sicherheitslücke um DDE schließen sollte.
Dies betrifft alle Office Produkte von 2007-2016!

Am 12.12.2017 hat Microsoft einen weiteren Sicherheitspatch eingeführt, der die Nutzung Szenarios von DDE komplett umstellt.  Um DDE Funktionalität über bestimmte Registry Einträge freischalten kann.

In diesem letzten Artikel sind folgende Einstellungen dokumentiert um das alte Verhalten oder ein geändertes Verhalten der Office Produkte zu erreichen.

Mit dem Registry Editor REGEDIT ist in dem folgenden Ast \HKEY_CURRENT_USER\Software\Microsoft\Office\Version\Word\Security ein neuer DWORD Wert anzulegen mit der Bezeichnung AllowDDE.

Der Platzhalter Version ist entsprechend der betroffenen Office Version zu wählen:

Office 2007  12.0
Office 2010  14.0
Office 2013  15.0
Office 2016  16.0

Dem DWORD Wert AllowDDE können folgende Werte zugeordnet werden, die das Verhalten von Office entsprechend beeinflussen:

  • AllowDDE = 0: DDE ist komplett abgeschaltet. Dies ist die neue Grundeinstellung für Office nach Installation des Sicherheitspatches.
  • AllowDDE = 1: DDE wird zugelassen für bereits laufende Programme, aber es ist nicht erlaubt weitere neue Programme über DDE zu starten.
  • AllowDDE = 2: DDE Zugriffe sind komplett erlaubt (Verhalten wie vor dem Sicherheitspatch).

Wir empfehlen die Sicherheitseinstellung AllowDDE=1 zu verwenden.

AG-V.I.P. 5.x sollte sich dann mit Word zusammen wieder wie bisher verhalten.

In der Anlage finden Sie eine gezippte REG-Datei für Office 2016.
Entpacken Sie die Datei und klicken Sie die Reg-Datei doppelt.
Beantworten Sie den Sicherheitshinweis entsprechend mit Ja.

Wichtiger Hinweis:
Die Einstellung ist für jeden Benutzer an einem PC durchzuführen, der die DDE Funktionen benutzen will. Es ist nicht möglich diese Einstellungen komplett für alle Benutzer eines Rechners umzustellen.

2017-12-15 08:30
Martin Richter

Datenübernahme aus AG-V.I.P. 5.x Dateien nach AG-VIP SQL ohne eigenständige AG-V.I.P. 5.x Installation

Hintergrund:

Mit dem Programm AGVIP5Import ist es möglich alte AG-V.I.P. 5.x Dateien nach AG-VIP SQL zu importieren. Oft ist allerdings keine alte AG-V.I.P. 5.x Installation mehr verfügbar. Oder die AG-V.I.P. 5.x Versionen laufen auf Rechnern auf denen AG-VIP SQL nicht installiert werden kann, oder umgekehrt, AG-VIP SQL läuft auf Rechnern auf denen AG-V.I.P. 5.x nicht zur Verfügung steht.

Versucht man AGVIP5Import.exe auf einem Rechner ohne alte AG-V.I.P. 5.x Installation zu starten, dann erscheint die Fehlermeldung:

AG-VIP SQL Import Assistent für 5.x Adressendateien
Datenbankmanager Btrieve ist nicht installiert oder konnte nicht geladen werden:
Das angegebene Modul wurde nicht gefunden.
AG-V.I.P. 5.x sollte installiert sein!

Lösung:

Alle benötigten .ADR und KONSTANT.AG Dateien werden auf einen Rechner oder in das Netz kopiert auf dem AG-VIP SQL läuft. Zusätzlich wird die Btrieve DB-Engine auf dem entsprechenden Rechner, auf dem der Import durchgeführt werden soll lauffähig gemacht.

Vorgehensweise:

Für den nachfolgenden Lösungsweg, benötigen Zugriff auf das Programmverzeichnis von AG-VIP SQL und lokale administrative Rechte. Die Anleitung und die Dateien sind für ein 64bit Betriebssystem gedacht.

  1. Laden Sie zuerst die Datei Btrieve32.zip und Btrieve.reg aus dem Anhang herunter. 
  2. Entfernen Sie das Flag für den Download. Datei Eigenschaften -> Abschnitt Sicherheit -> Dort Zulassen anklicken -> OK.
  3. Entpacken Sie nun den Inhalt der Datei Btrieve.zip und Kopieren Sie den gesamten Inhalt in das AG-VIP SQL Programmverzeichnis.
  4. Öffnen SIe nun eine Eingabe Aufforderung (CMD.EXE) als Administrator. (Windows Taste -> CMD.EXE -> Rechte Maustaste -> Als Administrator ausführen)
  5. Wechseln Sie nun in das Programmverzeichnis von AG-VIP SQL. (CD ...)
  6. Führen Sie den folgenden Befehl aus:
    W32MKDE.EXE /register
  7. Starten Sie den Registrierungseditor. Windows-Taste -> Regedit.exe -> OK
  8. Selektieren Sie den Knoten bei einem 64bit System
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies
    Klicken Sie mit der Rechten Maus auf den Knoten und wählen Berechtigungen....
  9. Wählen sie den Eintrag Benutzer aus und selektieren Sie das Recht Vollzugriff und auf OK.
  10. Doppelklicken Sie nun die Datei Btrieve.reg
  11. Starten Sie nun den Importvorgang mit AGVIP5Import.exe.

Achten Sie unbedingt darauf, dass die passende Datei Konstant.AG mit zusammen in dem Verzeichnis liegen in dem auch die ADR Dateien von AG-V.I.P. 5.x liegen.

Weitere Informationen zur Datenübernahme finden Sie im Handbuch.

Alle Maßnahmen in diesem Artikel haben keinen Einfluß auf eine bestehende AG-VIP SQL Installation. Nach dem Import können die Btrieve-Dateien alle wieder entfernt werden. Können aber auch für spätere Importvorgänge in dem Programmverzeichnis liegen bleiben.

Hinweis:

Unter Umständen erhalten Sie die Meldung <20> RECORD MANAGER INACTIVE. 

Kontrollieren Sie in diesem Fall den Eintrag HomeDirectory in der Registry im Ast HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Settings. Der Eintrag sollte auf ein Verzeichnis verweisen auf das alle Benutzer Lese- und Schreiberechte haben, die an diesem PC arbeiten.

Alternativ starten Sie AGVIP5Import als Administrator.

2023-11-03 09:34
Martin Richter

AG-Tel

Zur Kategorie

TAPI-Trace in AG-Tel erstellen

Zweck:

Die Telefoniesoftware AG-Tel / AG-Tel PRO baut auf der Standard-CTI-Schnittstelle TAPI von Microsoft auf. Der TAPI-Treiber wird von dem Hersteller der Wähleinrichtung zur Verfügung gestellt bzw. entwickelt. Welche Funktionen dieser Treiber implementiert hat, bleibt dem Hersteller überlassen.

Einige Fehler in AG-Tel lassen sich auf fehlerhafte TAPI-Treiber zurückführen. Um diese Probleme zu erkennen, kann in AG-Tel ein Protokoll der Kommunikation zwischen AG-Tel und dem eingesetzten TAPI-Treiber angefertigt werden. Fehlfunktionen des TAPI-Treibers lassen sich hieraus ablesen.

Vorgehensweise:
  1. Starten Sie AG-Tel.
  2. Öffnen Sie im Menü VERWALTUNG den Befehl EINSTELLUNGEN.
  3. Gehen Sie in den Reiter SONSTIGES.
  4. Bestätigen Sie die Warnung.
  5. Aktivieren Sie die Option ENABLE LOGGING, indem Sie vor die Zeile den Haken setzen.
  6. Verlassen Sie die Einstellungen über den OK-Schalter.
  7. Schließen Sie AG-Tel und starten Sie es erneut.
  8. Telefonieren Sie solange bis der Fehler auftritt. Dokumentieren Sie, wie Sie den Fehler ausgelöst haben und welche Informationen in AG-Tel angezeigt werden
  9. Beenden Sie AG-Tel
  10. Starten Sie einen Texteditor, z.B. Editor (NOTEPAD.EXE) und dem START-Menü von Windows unter ZUBEHÖR.
  11. Gehen Sie auf das Menü DATEI, Befehl ÖFFNEN.
  12. Geben Sie C:\WINDOWS\AGTEL.TRC (bis v2.51) bzw. %tmp%\AGTEL.TRC (ab v2.52) ein. Der TAPI-Trace wird nun geöffnet.

Senden Sie diese Datei per Email oder per Fax an Ihren Ansprechpartner für Support mit der genauen Fehlerbeschreibung, Ihrer Serien-Nummer von AG-Tel, der installierten Version und der Beschreibung des eingesetzten TAPI-Treibers inkl.Versionsstand.

2025-03-03 08:00
Martin Richter

AG-Top

Zur Kategorie

Fehlermeldung: 97 - Datamessage too small

Beschreibung:

Beim Auswerten oder Suchen von Adressen in AG-V.I.P. oder beim Öffnen eines Kalenders unter AG-Top oder direkt nach dem einloggen in AG-Top erscheint die Fehlermeldung: Fehler 97 Datamessage to small.

Ursache:

Innerhalb der Btrieve Datenbank ist ein interner Puffer zu klein, der für die Größe der Zugriffe nicht ausreicht. Dieser Fehler hat seine Ursache NICHT in einem Datendefekt. Dieser Fehler verursacht selbst auch keinen Defekt an den Daten.

Lösung:
  1. Starten Sie dazu den REGEDIT über den Start-Knopf von Windows, wählen Sie dort den Menüpunkt Ausführen und tragen in dem anschließenden Dialog REGEDIT ein.
  2. Wählen Sie dann den folgenden Eintrag aus:
    HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Settings
  3. Dort finden Sie dann in der rechten Fensterhälfte den Eintrag Max Communication Buffer Size.
  4. Doppelklicken Sie auf diesen Eintrag und Ändern den entsprechenden Wert auf 62000 dezimal, oder F230 hexadezimal.
  5. Starten Sie den Rechner neu und versuchen nochmals den entsprechenden Kalender zu öffnen oder die entsprechende Auswertung durchzuführen.

Sollte dies keine Abhilfe schaffen:

  1. Starten Sie Regedit erneut: 
  2. Wählen Sie den folgenden Pfad:
    HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-V.I.P.
    bzw.
    HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-Top
  3. Senken Sie den Eintrag BtrieveCache für AG-V.I.P. bzw. AG-Top.
    Doppelklicken Sie den Eintrag BtrieveCache und ändern Sie ihn auf einen Wert von Dezimal 32000 bzw. Hexadezimal 7D00.

 

Hinweis für 64bit Betriebssysteme:
Der Registrypfad enthält nach SOFTWARE noch "Wow6432Node" als weiteren Ast.
Beispiel:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Grutzeck Software\AG-Top

 

Änderungslog:
 26.02.2014

  • 64bit Betriebssystem Hinweis ergänzt

2014-02-26 13:10
Martin Richter

Einzelne Bestandteile von AG-Top wurden zerstört.

Lösung:
Zunächst müssen alle Dateien mit AGDBFIX überprüft werden.
Die verschiedenen Dateien und Ihre Aufgaben sind im Einzelnen:

*AGTOP.af: enthält den Namen und Pfad aller Adressdateien, mit denen Termine verknüpft sind    
*AGTOP.ai: Index aller Adressen, mit denen Termine verknüpft sind   
AGTOP.cd: Konstante Daten   
AGTOP.ci: Terminketten Index   
AGTOP.ct: Konstante Texte   
*AGTOP.d: Termindatei   
*AGTOP.dt: Terminartensdatei   
AGTOP.f: Feiertagsdatei (keine Btrieve Datei, irreparabel!!)    
AGTOP.id: Terminindex    
AGTOP.ob: Benutzerdatei

Dabei gilt es zu beachten, dass immer ALLE Dateien reorganisiert werden müssen.
Die mit Sternchen gekennzeichneten Dateien können nicht automatisch wiederhergestellt werden, wohingegen die anderen durch eine interne Indexreorganisation wieder lauffähig gemacht werden können.
AGTOP.d ist hierbei die wichtigste Datei, da alle Daten nach der AGTOP.d wieder erstellt werden.

 

2016-09-02 11:27
Peter Brandt

Einstellungen

Zur Kategorie

Warum erscheint die Meldung "Es sind keine weiteren Tickets in der Bearbeitungsstufe "XYZ" vorhanden!"?

Wenn ein Benutzer eine Bearbeitungsstufe öffnet in der in der Arbeitsbereichs-Anzeige laut Zählern, Tickets zur Bearbeitung anstehen, ist es dennoch möglich, dass die Meldung "Es sind keine weiteren Tickets in der Bearbeitungsstufe "XYZ" vorhanden!" erfolgt.

Die Ursachen hierfür sind vielfältig:

  1. Die Tickets wurden gerade neu eingestellt. Allerdings haben alle Tickets keine korrekten Telefonnummern, oder Kontaktinformationen, die für die Bearbeitung der Tickets notwendig sind (siehe Einstellungen zur Projektstufe). Die Tickets werden also in die korrekte Stufe eingestellt, aber wenige Zeit später in die entsprechende Stufe für die Validierung der Kontaktdaten geschoben.
    Die Statistik in der Anzeige des Arbeitsbereiches, wie auch der eigentliche Vorgang des Verschieben der Tickets erfolgt zeitverzögert (alle 5-15min). Dennoch kann keines der Tickets einem Agenten zugeteilt werden, da keine gültigen Kontaktinfos vorhanden sind.
    Meistens wird dieses Problem sichtbar wenn nach einigen Minuten alle Tickets aus der Bearbeitungsstufe wieder "verschwunden" (sprich verschoben) wurden.
  2. Die Bearbeitungsstufe hat eine minimale Latenzzeit. D.h. Reifezeit. Erst nach Ablauf der Reifezeit werden die Tickets zum Bearbeiten verfügbar.
  3. Alle fälligen Tickets sind einem anderen Mitarbeiter zugeordnet. D.h. die entsprechenden Tickets sind fällig, aber bei der Wiedervorlage für die Tickets wurde angegeben, dass der gleiche Agent das Ticket bearbeiten soll. Der Agent, der die Meldung erhält, ist jedoch für keines dieser Tickets zuständig.
  4. Die fälligen Tickets wurden bei der Wiedervorlage mit einem Zeitintervall, bzw. einer Wochentagsauswahl versehen und die der aktuelle Wochentag und die aktuelle Uhrzeit trifft auf keines der Tickets zu.
  5. Die fälligen Tickets sind bereits in Bearbeitung bzw. bearbeitet worden und die Zähler in der Anzeige des Arbeitsbereiches wurden noch nicht wieder aktualisiert.
  6. Gleiches gilt, wenn die Tickets bereits die maximale Verweildauer erreicht haben und noch nicht verschoben wurden.

2013-08-02 09:48
Martin Richter

Probleme durch fehlerhaften Datenimport bei AG-VIP SQL

Durch einen fehlerhaften Datenimport, der direkt die SQL-Datenbank veränderte wurde folgender Effekt beobachtet:

  • Eine Telefoniestufe wurde von einem Agenten ausgewählt.
  • Ein Ticket wurde als nächstes vorgeschlagen, aber es erfolgte keine Anwahl.
  • Man kann ein Ticket dann manuell wählen aus dem entsprechenden Kommunikationsfeld.
  • Automatisches erkennen von Besetzt und keine Verbindung erfolgte natürlich nicht, weil die Anwahl nicht automatisch durch AG-VIP SQL erfolgte.

Eine Kontrolle ergab, dass Daten in die SQL Datenbank direkt per SQL Statements oder per DTS importiert wurden. Hierbei wurde aber ein entscheidender Fehler gemacht. Es wurden die Telefoniefelder als leere Textfelder und nicht als NULL (SQL-NULL) importiert.
Der SQL Server unterscheidet zwischen einem Feld mit dem Inhalt NULL bzw. leeres Feld (Feld mit einem Text mit 0 Zeichen).
AG-VIP SQL setzt immer den Status NULL für ein leeres Feld. So arbeiten auch alle SQL Abfragen immer entsprechend und erwarten, dass ein Feld ohne Inhalt in der SQL Datenbank als NULL Feld gespeichert wird.

Speziell ist dies wichtig für die Verwendung der alternativen Telefonnummern. Hier wird in der Bearbeitungsstufe angegeben, in welcher Reihenfolge Telefonnummern berücksichtigt werden sollen. Hierbei werden Felder mit NULL Wert nicht berücksichtigt.
Haben die Felder nun aber nicht NULL als Wert sondern wurden als leeres Feld importiert, dann funktioniert die Ermittlung nicht mehr.
AG-VIP SQL ermittelt eine leere Telefonnummer, die natürlich nicht zu einer Anwahl führt.

Es ist also unbedingt darauf zu achten, dass beim Import über DTS oder direkten SQL Zugriff die entsprechenden Telefonnummernfelder, die keinen Inhalt haben als NULL Felder importiert werden!

Der Import von AG-VIP SQL berücksichtigt dies natürlich korrekt.

Anmerkung:

Mit der Freigabe der Version 1.10.003 wurde die Abfragetechnik verändert, so dass solche fehlerhaften Datenimporte das Verhalten unserer Software nicht mehr beeinflussen.

2011-08-17 16:30
Martin Richter

Auswertung über verbundene Telefonate in einer Bearbeitungsstufe

Beschreibung:

In bestimmten fällen will man aus den Telefonaten die x-mal nicht erreicht wurden die Telefonate herausfiltern, die zumindest einmal ein verbundenes Telefonat ergaben.

Man möchte zum Beispiel diese Telefonate noch mal einstellen, oder auch für diese Telefonate wurde eine Bezahlung mit dem Auftraggeber vereinbart.

Grund kann auch sein, dass der Tapi-Treiber keine Erkennung von falschen Telefonnummern erlaubt und die Telefonate die niemals erreicht wurden vermutlich sowieso falsche Telefonnummern haben.

Vorgehensweise:
  1. Man wählt im Auswertungs-Dialog die entsprechende Projekt oder Adresstabelle aus.
  2. Im Feld Historie::Bearbeitungsstufe gibt man die Bearbeitungsstufe an, die man auswerten möchte.
  3. Als weitere Information wählt man das Feld Historie:Dauertelefonat und gibt dort einen Wert von 1 im Von-Feld an.
  4. Dadurch werden alle Datensätze ermittelt, die die in mindestens einem Historien Eintrag eine Gesprächsdauer >=1 Sekunde haben.
Anmerkung:

Dieses Verfahren eignet sich auch für mehrstufige Aktionen mit mehreren Telefoniestufen, da man die Historieneinträge gezielt nur auf die Datensätze durchsucht, die in dieser bestimmten Bearbeitungsstufe erzeugt wurden.

2011-08-17 16:30
Martin Richter

Werte der Arbeitszeitstatistik werden zeitverzögert aktualisiert

Beschreibung:

Wenn eine aktuelle Projektstatistik gemacht wird, die den heutigen Tag einschließt und Agenten umfasst, die aktuell arbeiten, dann erscheinen manche saldarischen Arbeitszeiten als zu kurz (maximal bis zu 5 Minuten).

Begründung:

Um das gesamte System zu entlasten, schreibt AG-VIP SQL die Arbeitszeit Informationen nur alle 5 Minuten in die SQL Datenbank. Das heißt alle Informationen (Arbeitszeit, Wartezeit, Gesprächszeit etc.) werden 5 Minuten gesammelt, bis entsprechende Einträge in das Arbeitszeitprotokoll gemacht werden. Ebenfalls werden diese Werte in die Datenbank geschrieben, wenn der Agent das Programm verlässt.

Im Gegensatz dazu werden die Informationen zu Tickets und Historieneinträge sofort geschrieben.

Dadurch kann sich in einem laufenden System (bei wenig Agenten die aktuell arbeiten) eine Auswertung ergeben, in der die Ticketbearbeitungszeit/Gesprächszeit (ermittelt aus der Historie, die immer aktuell ist) und die Werte aus der saldierten Arbeitszeit in einer Stufe (verzögertes Speichern) um eine Differenz von bis zu 5 Minuten je Agent auseinanderlaufen.

Die Werte sind sicher und ändern sich nicht mehr, wenn alle Agenten das Programm verlassen haben, oder wenn die Agenten mindestens 5 Minuten nicht mehr auf der betreffenden Adresstabelle bzw. Projekt gearbeitet haben. Spätestens dann wurden alle zwischengespeicherten Werte in die Datenbank geschrieben.

Dieser Effekt ist by Design und dient der Performancesteigerung bei großen Projekten.

Auswertungen in die Vergangenheit (gestrige Tag/ letzte Woche/Monat), d.h. Auswertungen, die den aktuellen Tag nicht einbeziehen, sind von diesem Effekt natürlich nicht betroffen.

2011-08-17 16:31
Martin Richter

Ich erzeuge neue Tickets, aber die Tickets werden sofort verschoben ...

Problem:

Sie haben eine Bearbeitungsstufe vom Typ "Telefonat" erstellt. Nun erzeugen Sie neue Tickets, aber die neuen Tickets erscheinen nicht in dieser Stufe.

Lösung:

Unter dem Menü Datei, Befehl Administration, Projektverwaltung definieren Sie in der Bearbeitungsstufe im Reiter Felder, welche Felder für die Anwahl herangezogen werden. So haben Sie z.B. für eine Ourboundkampagne im B-to-C-Bereich für die Anwahl die Felder TelefonPrivat und TelefonMobil definiert.

Nun importieren Sie Adressdaten nach AG-VIP SQL. Dabei ordnen Sie das Telefon-Nr. Feld der Quelldatei dem Feld Telefon1 in AG-VIP SQL zu. Sie erzeugen nun neue Tickets.
Was passiert?

  1. Die neuen Tickets werden korrekt in der Bearbeitungsstufe erzeugt.
  2. AG-VIP SQL erkennt, dass in diesen Datensätzen die in der Projektverwaltung definierten Telefon-Felder TelefonPrivat und TelefonMobil nicht gefüllt sind.
    Damit werden diese Tickets entsprechend der Definition in der Projektverwaltung z.B. in die Bearbeitungsstufe "Kontaktdaten validieren" verschoben. Die aktive Outboundtelefoniestufe ist komplett leer.
Abhilfe:

Zunächst löschen Sie die Adresen inkl. der zugehörigen Ticktes.

Ordnen Sie dann beim Import der Adressdatensätze in AG-VIP SQL das Telefonfeld der Quelldatei dem in der Projektverwaltung definierten Telefonfeld für den Outbound zu, d.h. in diesem Beispiel TelefonPrivat.

2011-08-17 16:32
Markus Grutzeck

Verwendung des Schalters "Falsche Telefonnummer" in der Telefonleiste.

Problembeschreibung: 

Es gibt viele TAPITreiber, die "falsche" Telefonnummern nicht korrekt erkennen. Die meisten dieser fehlerhaften TSPs beenden das Gespräch sofort mit "Besetzt".

Nur ca. 2% dieser fehlerhaften TSPs haben eine weitere Fehlfunktion: Sie stellen die Ansage wie "Falsche Rufnummer" zum Agenten durch. D.h. die Ansage wird durchgestellt. Das Telefonat aber nicht beendet und so wie ein erfolgreiches Telefonat behandelt. (Vergleichbar einem Ruf zu einem Anrufbeantworter)

Die eigentliche Lösung ist in der Installation eines korrekten TSP zu suchen:

Wenden Sie ich an Ihren Hersteller Ihres TSPs und verlangen eine entsprechende Korrektur bzw. ein Update der Software.
Weiterhin gibt es natürlich die Möglichkeit, eine TK-Anlage mit korrekt funktionierende TAPI-Treiber einzusetzen oder eine andere CTI-Middleware. Gerne unterstützen wir Sie bei der Beratung oder Auswahl.  

Lösungsmöglichkeit für die TSPs die eine Ansage durchstellen und bei der keine TSP-Version existiert die falsche Rufnummern korrekt behandelt: 

Sie können in der Oberflächen einen Schalter aktivieren, den der Anwender anklicken kann, wenn dieser Fall eintritt. (Falsche Rufnummer)

ACHTUNG: Es ist dem Agenten möglich, über diesen Schalter Telefonate abzulehnen und als "Falsche Telefonnummer" einzustellen. Gegen diesen Missbrauch gibt es keinerlei Kontrollmöglichkeit.

Historische Entwicklung:

Dieser Schalter war bis zur Version 1.10.003 in der Anwendung AG-VIP SQL vorhanden und wurde von uns wegen technischer Probleme aus dem Produkt entfernt.

Ab der Version 1.20.011.434 steht Ihnen diese Funktionalität wieder zur Verfügung.

Aktivierung des Schalters: 

Der Schalter kann entweder in der AGVIP.INI für alle Benutzer oder in der Registry über den Eintrag eines Schlüssels aktiviert werden.

Einschalten über die AGVIP.INI:
Man öffnet die relevante AGVIP.INI Datei über einen Editor. Im Abschnitt [TAPI] wird der folgende Eintrag ergänzt:

[Tapi]
Phone_AllowButtonWrongNumber=1

Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.
Existiert kein Abschnitt mit dem Namen [TAPI], so kann dieser am Ende der INI Datei angelegt werden.

Einschalten über die Registry:
Im Registry-Editor wird im Abschnitt
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\
Ein Unterschlüssel TAPI angelegt. In diesem wiederum ein Abschnitt PhoneFunctions
In diesem Abschnitt wird nun ein neuer DWORD Eintrag erzeugt mit dem Namen AllowButtonWrongNumber. Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.

Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben -  wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind. 

Bekannte Probleme:

Unter Umständen kann es beim Einschalten dieser Option auf einzelnen Arbeitsstationen zu einer falschen Anzeige der Schalterleiste für Telefonate kommen. Es ist möglich, dass der Schalter beim ersten Start nicht korrekt angezeigt wird. Dies kann auch jeden Arbeitsmodus einzeln betreffen (Adressentabelle, Projektmodus, Workflow, Skript).
Durch ein zurücksetzen der Schalterleiste kann dies behoben werden. Dies geschieht durch einen Rechtsklick auf die Schalterleiste Anpassen -> Symbolleisten -> Markieren von Anruf -> Zurücksetzen oder durch Klicken auf ?Alle Zurücksetzen?.
Dieses Problem kann auf einzelnen Rechner auftreten und nicht vermieden werden. Es kann auch nach einem Update auftreten. Hängt aber nur direkt mit diesem neuen Schalter zusammen.
Es tritt nur einmalig auf.

Detailierter technischer Hintergrund:

Funktionsweise:
In der Anwahlphase (Status Amt verfügbar - DIALTONE, Ruf erfolgt - DIALING, oder Ruf geht durch - RINGBACK) kann mit diesem Schalter sofort der Status ?Falsche Telefonnummer? erzeugt werden.  Einer dieser Anrufstatis muss gemeldet werden.
Der Abbruch ist sowohl in der freien Anwahl, als auch im Workflow möglich. Der Effekt ist identisch zu der Vorgehensweise, wenn der TSP (Tapi-Service-Provider) eine falsche Telefonnummer meldet (Disconnect Reason BADADDRESS).
Der Anruf wird sofort beendet. Es erfolgt eine neue Anwahl.

Einschränkung:
Dieser Schalter nützt nichts, wenn durch einen TSP, direkt Besetzt (BUSY) gemeldet wird, wenn eine falsche Telefonnummer erkannt wird.
Diese Funktion hat also nur eine Wirkungsweise, wenn eine Ansage erfolgt, aber das Telefonat selbst weder mit einem CONNECT noch durch einen DISCONNECT beendet wird. Nur in diesem Fall hat der Benutzer auch nur eine Chance den Schalter anzuklicken.
Wird der Schalter nicht angeklickt würde sonst das Telefonat nach der Wartezeit als ?Nicher erreicht? (NOCONNECT) bewertet.

Weitere Informationen: 

Welche Fehler bzw. Probleme hier auftreten, lässt sich ohne Probleme über einen Tapi-Trace ermitteln.
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=36&artlang=de

2015-08-18 08:28
Ulrich Sticker

Warum erscheinen für den Benutzer Admin alle Bearbeitungsstufen grau?

Das Benutzerkonto Admin ist ein spezielles Benutzerkonto.
Diesem Konto ist es als einzigem erlaubt, dass es von mehreren Arbeitsplätzen gleichzeitig verwendet werden kann. D.h. mehrere Anwender können diesen Login zeitgleich benutzten. Dies ist für alle anderen Benutzerkonten ausgeschlossen.
Dies ermöglicht es aber einem Administrator sofort von jedem Arbeitsplatz sich anzumelden, auch wenn er selbst noch irgendwo anders angemeldet ist. Dies erlaubt eine höhere Flexibilität.

Aus diesem Grund der mehrfachen gleichzeitigen Anmeldung ist eine korrekte Arbeitszeitprotokollierung nicht möglich. Aus diesem Fall wird für Admin keinerlei Arbeitszeit protokolliert.

Daraus ergibt sich auch zwangsweise, dass man als Admin nicht im Workflow arbeiten kann. Das Programm wäre nicht fähig eine Arbeitszeitstatistik korrekt zu führen, die aber für die Nutzung des Workflows unerlässlich ist. Weiterhin wäre es nicht möglich individuelle private Einstellungen zu ermöglichen, wenn mehrere Anwender zeitgleich als Admin arbeiten.

Aus diesem Grund kann ein Admin jederzeit in alle Projekte hineinsehen, allerdings eben nicht in den Bearbeitungstufen arbeiten.

2011-08-17 16:33
Martin Richter

Aus welchen Texten wird der Text für das Bemerkungsfeld zusammengesetzt?

Während des Bearbeiten eines Tickets laufen aus 3 Bereichen Textinformationen auf:

  1. Der Text der durch die ausgewählte Reaktion vorgegeben ist.
  2. Der Text der durch das Hilfsmittel definiert ist, dass dieser Reaktion zugeordnet wird.
  3. Der Text, der bis dahin vom Benutzer im Notizenfeld eingegeben wurde.

Alle diese Texte werden soweit sie definiert sind durch eine Zeilenschaltung getrennt und auch dann im abschließenden Dialog angezeigt. Leere Zeilen werden unterdrückt.

Ab der Version 1.10.006.360 lässt sich dieser Text auch im "Beim Speichern" Makro weiter durch ActiveTicket.Note bearbeiten.

2008-06-13 13:48
Martin Richter

Wie kann ich den Historieneintrag im Workflow ergänzen?

Problem im Workflow:

Ein externer Auftraggeber erhält Bemerkungen zu dem aktuellen Vorgang. Diese Bemerkungen werden in dem Feld "Bemerkung Auftraggeber" vom Typ MEMO, 2000 Zeichen abgelegt. Parallel soll aber für den Agenten diese Information zusätzlich in die Historie zu dem Vorgang eingetragen werden.

Lösung:

Das Objekt "ActiveTicket.Note" ermöglicht im Workflow den Zugriff auf den Bemerkungstext des aktuellen Historieneintrages.

Musterbeispiel:

' Wir wollen das Feld "Bemerkung Auftraggber" vom Typ MEMO in die "Historie" eintragen,
' wir eine finale Einstufung erreicht haben.

 ActiveTicket.Note = "Bemerkung Auftraggeber:" & vbcr & _
ActiveAddress.Fields("Bemerkung_Auftraggeber").Value & vbcr & vbcr & _
ActiveTicket.Note

2011-08-18 15:39
Markus Grutzeck

Projekt exportieren und importieren

Kompletter Projektexport in AG-VIP SQL:

Zweck:

Manche Projekte werden nicht mehr aktiv bearbeitet, sind aber vom Ablauf evtl. später noch einmal interessant. Oder man möchte ein Projekt auf einer anderen AG-VIP SQL Installation nutzen.
Dafür bietet AG-VIP SQL Export- und Importmöglichkeiten aller relevanten Elemente einer Kampagne. Es geht dabei um die "Hülle", d.h. Strukturen und nicht um die Daten.

Voraussetzung:

Sie benötigen administrative Zugriffsrechte auf die Elemente der zu exportierenden Kampagne.


1) Export einer Kampagnenstruktur:

1.1) Export der Datenstruktur:
a) Gehen Sie in AG-VIP SQL auf das Menü DATEI, ADMINISTRATION, DATENBANK, ADRESSTABELLEN.
b) Markieren Sie die zu exportierende Tabelle und wählen rechts den Schalter EXPORT.
c) Geben Sie das gewünschte Zielverzeichnis an. Es empfiehlt sich alle Elemente einer Kampagne in ein Zielverzeichnis zu exportieren.
Hinweis:
Wenn Sie die Adresstabelle markieren und den EXPORT-Schalter wählen, werden auch alle unter der markierten Adresstabelle befindlichen Projekt- und Zusatztabellen mit exportiert. Es ist dann kein einzelner Export dieser Elemente mehr notwendig.

1.2) Kennzeichen - Wertelisten für Auswahlfelder
Datenfelder vom Typ KENNZEICHENFELD oder KENNZEICHENLISTEN sind sogenannte Kennzeichenkategorien zugeordnet. Diese Kennzeichenkategorien enthalten Werteliste für diese Auswahlfelder.
a) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION, VERSCHIEDENES den Punkt KENNZEICHEN.
b) Markieren Sie die relevante Kennzeichenkategorie und wählen rechts den ÄNDERN-Schalter.
c) Sie finden nun im neuen Dialog den EXPORT-Schalter. Wählen Sie das gewünschte Exportformat, geben die Ausgabedatei und das Zielverzeichnis an.
Tipp: Um die Übersichtlichkeit zu gewährleisten, empfiehlt es sich Kennzeichenkategorie z.B. mit [Mandantenname] [Inhalt Kategorie] zu bezeichnen.


1.3) Export von Ansichten
a) Gehen Sie in AG-VIP SQL auf das MEnü DATEI, ADMINISTRATION, ANSICHTEN.
Der Formulareditor öffnet sich.
b) Über das Menü DATEI, ÖFFNEN laden Sie die zu existierende Ansicht.
c) Anschließend finden Sie unter DATEI, EXPORT die Möglichkeit, diese Ansicht in das Zielverzeichnis zu exportieren.
Beachten Sie bitte, dass sich Ansichten im Kontext der exportierten Adresstabelle befinden können, aber auch im globalen Kontext stehen können.


1.4) Export von Gesprächsleitfäden
Wenn Sie mit interaktiven Gesprächsleitfäden in Kampagnenstufen arbeiten:
a) Gehen Sie in AG-VIP SQL auf das MEnü DATEI, ADMINISTRATION, SKRIPTe. Der Scripteditor öffnet sich.
b) Über Menü DATEI, ÖFFNEN laden Sie zunächst das zu exportierende Script.
c) Über DATEI, EXPORT können Sie das aktuell sichtbar geladdene Script in das Zielverzeichnis exportieren.


1.5) Hilfsmittel für Dokument- oder Emailerzeugung
In Kampagnen werden im Workflow oft automatisiert Emails oder Dokumente erzeugt.
a) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION VERSCHIEDENES den Punkt HILFSMITTEL.
b) Markieren Sie alle Hilfsmittel, die in dieser Kampagne verwendet werden. Mehrfachmarkierungen sind über die Taste STRG möglich. Hilfsmittel können dabei im globalen KOntaktext aber auch im Kontext der exportierten Adresstabelle liegen.
c) Wählen Sie rechts den Schalter EXPORT und geben das gewünschte Zielverzeichnis an.
Tipp: Wenn Sie eine Adresstabelle markieren, werden alle Hilfsmittel in diesem Kontext exportiert.
Kopieren Sie auch alle für die Hilfsmittel notwendigen VORLAGEN (*.doc, *.oft usw.) in das Zielverzeichnis über den Windows Explorer.

1.6) Export von Macro Includes
Wenn innnerhalb des Workflows, Hilfsmitteln etc. Makrofunktionen verwendet werden, die in den "Macro Includes" abgelegt sind, müssen Sie auch diese Bestandteile exportieren.
a) Wählen Sie in AG-VIP SQL Im Menü DATEI, ADMINISTRATRION, MACRO INCLUDES.
b) Markieren Sie die Macro Includes, die Sie in Ihrem Projekt verwenden und wählen den EXPORT-Schalter.
c) Geben Sie den gewünschten Dateinamen sowie das Zielverzeichnis an.


1.7) Export des Workflows
a) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION den Punkt PROJEKTVERWALTUNG.
b) Markieren Sie das zu exportierende Projekt und aktivieren rechts den SChalter Export.
c) Geben Sie den gewünschten Dateinamen und das Zielverzeichnis an.

2) Kampagnenstruktur wieder importieren
Achtung:

Beim Import der Kampagnenstrultur ist die Reihenfolge, in der Sie einzelne Elemente importieren wichtig. Von daher gehen Sie bitte in folgenden Schritten vor:

Voraussetzung:

Sie benötigen administrative Zugriffsrechte.


2.1) Import von Macro Includes
Wurden für die Kampagne übergreifende Makros verwendet, müssen diese direkt als erstes importiert werden.
a) Dazu wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION den Punkt MACRO INCLUDES.
b) Aktivieren Sie rechts den Schalter IMPORT und geben die zu importierende Datei an.


2.2) Import Datenstruktur
a) Öffnen Sie den Tabellenexplorer in AG-VIP SQL über das Menü DATEI, ADMINISTRATION, DATENBANK, ADRESSTABELLEN.
b) Wählen Sie rechts den Schalter IMPORT.
c) Geben Sie die Importdatei an.
Kontrollieren Sie, dass unterhalb der Adresstabelle die gewünschte Projekttabelle (Enthält später die Ticketinformationen) steht.


2.3) Kennzeichenkategorien
Mit dem Import der Datenstruktur werden auch ggf. neue notwendige Kennzeichenkategorien angelegt. Diese Wertelisten der Auswahlfelder können Sie über den Import befüllen.
a) Wählen Sie dazu aus dem Menü DATEI, ADMINISTRATION, VERSCHIEDENES den Punkt KENNZEICHEN.
b) Markieren Sie die zu befüllende Kennzeichenkategorie und wählen rechts den Schalter ÄNDERN.
c) Im neuen Menü IMPORT erscheint en Importassistent, der Sie sicher durch den weiteren Importvorgang führt. Wählen Sie dort das gewünschte Importformat aus und geben den Namen und Ablageort Ihrer Quelldatei an.


2.4) Import von Ansichten
Die Oberfläche. Das sieht der Anwender nachher.
a) Starten Sie den Formulareditor über Menü DATEI, ADMINISTRATION, ANSICHTEN.
b) Im Formulareditor können Sie Ansichten über Menü DATEI, IMPORT importieren.
Wenn Sie zuvor die Adresstabelle mit ursprünglichen Namen importiert haben, sollte die neu importierte Ansicht direkt auch in diesem Kontext stehen. Anderfalls bitte prüfen, dass die importierte Ansicht im Kontext der gewünschten Adress- bzw. Projekttablle oder als GLOBAL gespeichert wird.
c) Diesen Importvorgang wiederholen Sie für jede einzelne Ansicht.


2.5) Import von Gesprächsleitfäden
Arbeiten Sie mit einem interaktiven Gesprächsleitfaden gehen Sie analog wie unter Pkt. 2.3) beschrieben vor.


2.6) Import der Hilfsmittel
a) Kopieren Sie über den Windows Explorer die ggf. notwendigen Vorlagen (*.doc, .oft) in das gewünschte Vorlagenverzeichnis.
b) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, den Punkt ADMINISTRATION, HILFSMITTEL.
c) Markieren Sie die neu importierte Adresstabelle (Kontext) und wählen rechts den Schalter IMPORT.
d) Geben Sie nun die zu importierende Quelldatei an.
e) Prüfen Sie ob bei den neu importierten Hilfsmitteln im Reiter HILFSMITTEL VORLAGE der Verweis auf die Vorlage und das Zielverzeichnis korrekt sind.


2.7 Import des Workflows
Im letzten Schritt können Sie den Workflow importieren, der die bisher bereits importierten Elemente zusammenfasst.
a) Wählen Sie in AG-VIP SQL den Punkt PROJEKTVERWALTUNG aus dem Menü DATEI, ADMINISTRATION.
b) Markieren Sie die Projekttabelle und wählen rechts den Schalter IMPORT.
c) Geben Sie die gewünschte Importdatei an.
AG-VIP SQL prüft, ob alle im zu importierenden Workflow verknüpften Ansichten, Hilfsmittel usw. vorhanden sind und gibt ggf. Warnungen aus. Es empfiehlt sich, diese Warnungen über den KOPIEREN Schalter zu übernehmen und in einem anderen Dokument abzulegen. So können Sie die offenen Punkte Schritt für Schritt abarbeiten.

2011-08-17 16:34
Markus Grutzeck

Das AGVIPElsbethBackend Backend Modul kann vom bbBackend Service nicht angesprochen werden

Eines Windows 7 SP1 Servicepacks haben sich die GUIDs bestimmter COM Objekte verändert.
Dies betrifft alle AGVIPElsbethBackend Versionen nach der Version 1.21.

Dadurch kann es dazu kommen, dass im bbBackend Service von Elsbeth beim Lesen der Tickets folgende Fehler im Protokoll gemeldet werden:

2728 2012-02-22 09:56:50,015: [Source] <- [GetNextCallJobs] CampaignCode: 533, CallJobCount: 5
2728 2012-02-22 09:56:50,062: Runtime Error: Error on transfering calljobs.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x8002802B): Element nicht gefunden.
--- End of inner exception stack trace ---
at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
at itCampus.bb.Backend.Source.GetNextCallJobs(String campaignCode, Int32 callJobCount)
at itCampus.bb.Backend.Queues.Events.OnCallJobsNeeded.Process()

Der angezeigte Fehlercode 0x8002802B bedeutet TYPE_E_ELEMENTNOTFOUND, in der Microsoft Dokumentation und deutet darauf hin, dass eine bestimmte Typ-Library nicht vorhanden ist oder nicht bekannt ist.

Das Problem ist, dass die neue AGVIPElsbethBackend.dll auf einem Windows 7 SP1 64bit entwickelt wurde. Allerdings wurde von Microsoft im SP1 das Objekt ADO RecordSet, verändert und eine andere GUID gegeben. Die eingesetzte Elsbeth Software sucht aber weiterhin nach der alten GUID (vor SP1). Damit verstehen sich bbBackend Dienst und AGVIPElsbethBackend.dll nicht mehr.

Zur Lösung wurde die AGVIPElsbethBackend.dll mit einer Rückwärtskompatiblen Typelib neu aufgebaut. Allerdings muss diese rückwärtskompatible Typen-Bibliothek auch auf dem entsprechenden Zeilrechner installiert werden.
Die neuen Typelibraries können mit dem folgenden Download installiert werden:
http://download.grutzeck.de/ADOFix.zip
In diesem Archiv befinden sich zwei Typelibraries für 32bit und 64bit, sowie ein Batch für die Installation. Der Batch InstADO60Fix.bat muss als Administrator ausgeführt werden. Die Installation ist nur an den Rechnern nötig, auf denen der Elsbeth Backend Dienst läuft.
Die Installation dieser Typelibs kann auch rückgängig gemacht werden. Wenden Sie sich bitte dazu an unseren Support.

Sind die kompatiblem TypLibs nicht installiert erhält man folgende Fehlermeldung im bbBackend Protokoll:

456 2012-02-23 10:04:02,750: [Source] <- [GetNextCallJobs] CampaignCode: 533, CallJobCount: 5
456 2012-02-23 10:04:02,781: Runtime Error: Error on transfering calljobs.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x80029C4A): Fehler beim Laden der Typbibliothek/DLL.
--- End of inner exception stack trace ---
at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
at itCampus.bb.Backend.Source.GetNextCallJobs(String campaignCode, Int32 callJobCount)
at itCampus.bb.Backend.Queues.Events.OnCallJobsNeeded.Process()

Weitere Hintergründe finden sich in den folgenden Artikeln:
http://support.microsoft.com/kb/983246
http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/3a4ce946-effa-4f77-98a6-34f11c6b5a13

Die Lösung, die durch uns angewendet wurde ist hier dokumentiert:
http://support.microsoft.com/kb/2517589/en-us
In diesem Link finden sich auch die benötigten Typelibraries, die auf der Zielmaschine installiert werden müssen.

2012-02-23 15:10
Martin Richter

zeitliche Sperrfrist für Telefonkontakte

Herausforderung:

Um im Outbound Kunden nicht mit Telefonanrufen zu penetrieren, soll unabhängig von unterschiedlichen Projekten ein Kunde innerhalb einer Sperrfrist von x Tage nicht angerufen werden können.


Lösung:

Auf Ebene der Adresstabelle wird ein Feld "Last_Call" vom Typ DATUM definiert.
Im Makro BEIM SPEICHERN wird in der Outbound-Bearbeitungsstufe "1_Telefonakquise" in der Reaktion das Feld "Last_Call" bestückt:

ActiveAddress.Fields("Last_Call") = now

Damit kann man gezielt Reaktionen festlegen, die als Nettokontakt zählen und somit als Sperrfrist zählen, während z.B. Wiedervorlagen nicht als Kontakt zählen müssen.

Im zweiten Schritt wird in der Bearbeitungsstufe "1_Telefonakquise" im Makro BEIM LADEN im Reiter MAKROS nachfolgender Makro eingefügt:

 ' Prüfen, ob die Sperrfrist eingehalten wurde, um den Kunden nicht mit Junkcalls zu nerven
MacroInclude "Sperrfrist Call prüfen"

Für diese Bearbeitungsstufe ist eine Reaktion "WV Sperrzeit" zu definieren, die "verborgen" gesetzt wird. Der MacroInclude ist als ZIP-Datei zum Import nachfolgend angehängt und enthält folgenden Makro:

Anzupassen ist hier im oberen Deklarationsteil lediglich die Variable "oSperrfrist_Tage" mit der Anzahl Tagen, in der ein Kunde nicht mehr angerufen werden darf.
Das Ticket wird dann auf Wiedervorlage ab dem frühest möglichen Wiederanrufdatum gesetzt und der Bearbeitungszähler wieder zurück gesetzt.

' Bevor die Anwahl statt finden darf, prüfen wir, wann der letzte Anruf erfolgt ist, um die Zielgruppe
' nicht mit zu vielen Anrufen zu nerven.
' bei einem Entscheidergespräch wird das Feld LAST_CALL mit dem Anrufdatum belegt. Das prüfen wir ab und verschieben
' ggf. das Ticket
' Diese Sperrfrist gilt Projektübergreifend !!

Option Explicit

 Dim oSperrfrist_Tage, oWV_Datum

' ******************************************************************************************
' hier bitte die Anzahl Tage eintragen, wann ein Anruf frühestens wieder erfolgen darf
' ******************************************************************************************

  oSperrfrist_Tage = 90

' ******************************************************************************************

' Der letzte Netto-Kontakt mit dem Entscheider wird im Feld LAST_CAll gesetzt

' If ActiveAddress.Fields("Last_Call").Value + oSperrfrist_Tage > now then
oWV_Datum = dateAdd("d", oSperrfrist_Tage, ActiveAddress.Fields("Last_Call").Value)

 If oWV_Datum > now then

' Wir müssen das Ticket verschieben. Neues Wiedervorlagedatum = LAST_Call + Sperrfrist
' Dazu wählen wir eine für den Anwender verborgene Reaktion aus.
ActiveTicket.Transition = "WV Sperrzeit"
' Unterdrücken den Einstufungsdialg
ActiveTicket.SuppressFinalDialog = true
' Bearbeitungszähler auf "0" zurücksetzen
ActiveTicket.UsageCount = 0
' Wiedervorlagedatum auf das Ende der Sperrfrist setzen
ActiveTicket.FollowUpDate = oWV_Datum
'  Msgbox "Ticket verschoben"
End If

2012-06-11 14:09
Markus Grutzeck

Wiedervorlagenzeitraum Abfrage mit vordefinierten Einstellungen realisieren (Workflow)

Beschreibung:
Sie haben Ihren Mitarbeitern oder Agenten die Option freigeschaltet, dass diese selbstständig ein Wiedervorlage Termin setzen dürfen.
Allerdings möchten Sie vermeiden, dass Termine in all zu ferner Zukunft vereinbart werden.

Problem:
Der Dialog "Ticket Speichern" welcher dem Mitarbeiter oder Agenten ermöglicht einen variablen Termin festzulegen kann leider nicht erneut bei einer Überschreitung des maximalen Wiedervorlagezeitraums angezeigt werden.

Lösung:
Dem Mitarbeiter oder Agenten wird über eine Hinweismeldung kenntlich gemacht, dass er den maximalen Wiedervorlagenzeitraum überschritten hat. Gleichzeitig wird ihm angeboten, dass er diesen maximalen Termin stattdessen automatisch übernehmen oder manuell erneut über eine sogenannte "InputBox" einen neuen gültigen Termin eintragen kann.

Makro Anpassung:
Als Erstes wird das im Anhang dieses Artikels beigefügte MacroInclude "Wiedervorlagezeitraum" importiert, welches die Funktionen:
SetTicketInterval(Start, Ende, Tag)
CheckDateRange(Tage, Uhrzeit)

bereitstellt.
In der Reaktion mit z.B. dem Namen "WV - Wiedervorlage" wird eine Vordefinierung der Intervalle mit Hilfe der SetTicketInterval(Start,Ende,Tag) Funktion in der Makroposition "Nach Einstufung" durchgeführt.
Reaktion - Wiedervorlage

Zum Beispiel für Start = 6:00Uhr, Ende = 18:00 Uhr und Tag = 31 (Mo-Fr):
MacroInclude "Wiedervorlagezeitraum" 
SetTicketInterval "06:00", "18:00", "31"

Der Wert für Tag ergibt sich aus der Summe der einzelnen Tagwerte:
Mo=1, Di=2,Mi=4,Do=8,Fr=16,Sa=32,So=64
So ergibt die Wochentagauswahl von Montag bis Freitag 1+2+4+8+16=31

Jetzt muss nur noch in der Bearbeitungsstufe, in der gearbeitet wird z.B. "1_Telefonakquise" im Reiter "Makros" in der Makroposition "beim Speichern" die andere Funktion wiefolgt aufgerufen werden:


Makro speichern

z.B. eine Maximale Terminierung von 42 Tagen (6Wochen) in der Zukunft bis 18:00Uhr :

MacroInclude "Wiedervorlagezeitraum"
CheckDateRange 42, "18:00:00"

Ergebnis:
So würde die Vordefinierung (grün) sich bemerkbar machen:
Ticket speichern

Im roten Bereich hat der Mitarbeiter oder Agent einen Zeitraum länger als die maximalen 42 Tage (6Wochen) ausgewählt und bestätigt die Eingabe mit "OK".
Daraufhin wird der Dialog geschlossen und kann leider dem Mitarbeiter oder Agenten nicht mehr angezeigt werden.
Daher begnügen wir uns mit vorerst einer einfachen MessageBox welche uns zwei Optionen anbietet:
Hinweis

Falls der Mitarbeiter oder Agent auf "Nein" drücken sollte, kann er über ein Textfeld das Datum erneut eingeben.
Ihm wird automatisch der entfernteste mögliche Termin eingetragen:
Manueller Termin

Die Texte in den Meldedialogen können beliebig im Angehängten MacroInclude angepasst werden.

2012-08-01 16:21
Peter Brandt

Scriptverzweigungsassistent ist nicht aktiv

Problem:

Man erstellt einen interaktiven Gesprächsleitfaden in der CRM- und Callcenter-Software AG-VIP. Abhängig von der Datenlage soll das Script zu unterschiedlichen Folgeseiten verzweigen. Dafür gibt es im Makroeditor den Scriptverzeigungsassistenten. Dieser Befehl ist aber inaktiv und ausgegraut:

Ursache:

Bei der Einrichtung des interaktiven Gesprächsleitfadens wurde bislang vergessen, einzelne Fragen mit Sprungmarken zu versehen. Sprungmarken sind Labels für Verzweigungen und Voraussetzungen für die Nutzung des Skript Verzweigungsassistenten und der Befehle

  • Script.Goto("[Sprungmarke]")

2017-03-29 12:27
Markus Grutzeck

Wiedervorlage im Workflow auf max. Anzahl Tage in Zukunft begrenzen

Problem:

Der Anwender soll nach der Ticketbearbeitung frei ein Wiedervorlagedatum wählen können. Aber man möchte verhindert, dass der Anwender das Ticket auf x Jahre in die Zukunft legt und so von der weiteren Bearbeitung ausschließt.

Dabei soll das max. Wiedervorlagedatum in der Zukunft abhängig von der gewählten Reaktion / Einstufung sein.

Lösung:

Auf Ebene der Bearbeitungsstufe hinterlegt man im Makro BEIM SPEICHERN nachfolgenden Makro Code:

 ' Wir setzen die Wiedervorlagezeit auf einen max. Wert in die Zukunft   
Dim FollowUpTime, FollowUpTage  

' Hier bitte Anzahl Tage eintragen, die die Wiedervorlage maximal in die Zukunft gesetzt werden darf.
' abhängig von der gewählten Reaktion im Workflow      

' MsgBox ActiveTicket.Transition.Name  

Select Case ActiveTicket.Transition.Name          
Case "Infos per Post"
           FollowUpTage = 14
    Case "Infos per Mail"
           FollowUpTage = 10
    Case "Angebot per Brief"
           FollowUpTage = 5
    Case "Angebot per Email"
           FollowUpTage = 3
End Select

  If FollowUpTage<>0 Then
          FollowUpTime = DateAdd("d", FollowUpTage, now)
          'Msgbox "Max WV Datum: " & FollowUpTime & "; WV User: " & ActiveTicket.FollowUpDate

       If ActiveTicket.FollowUpDate > FollowUpTime then
           Msgbox "Angegebene WV Datum überschreitet zulässigen Wert. Wiedervorlage Datum wurde angepasst"
           ActiveTicket.FollowUpDate = FollowUpTime
       End If
End If 

Abhängig von der gewählten Reaktion wird in obigem Beispiel ein unterschiedliches max. Wiedervorlagedatum gesetzt. Setzt der Anwender nach der Einstufung ein Wiedervorlagedatum, dass weiter in der Zukunft liegt als der maximal definierte Wert, wird die Eingabe des Anwenders mit dem max. Wiedervorlagedatum überschrieben.

2018-08-30 11:45
Markus Grutzeck

Kopfzeile mit KURZNAME / NUMMER ausblenden

Problem:

Um möglichst viel auf einer Ansicht darzustellen, möchte man die feste Kopfzeile mit Kurznamen, Nummer und Ticket-ID ausblenden.

Lösung:

Über den Makro BEIM ÖFFNEN auf Ebene der Adresstabelle lässt sich das für das freie Arbeiten ausblenden und im Makro BEIM ÖFFNEN auf Ebene der Bearbeitungsstufe im Workflow:

Ergänzen Sie an dieser Stelle folgenden Makro:

Application.Windows.FastAccessBar.Visible = False

 

2018-12-18 10:13
Markus Grutzeck

Performance Probleme beim Einstufen von Tickets durch Vorschau der Wiedervorlage Grafik

Hintergund:

Mit der Version 2.00.002 wurde eine Grafik im Einstufungsdialog eingebaut, der für ein Datum anzeigt, wann Wiedervorlagen für geplante Telefonate liegen.

Bei Kunden mit sehr vielen Projekten, kann das einlesen dieser Informationen sehr lange dauern und den Einstufungsvorgang behindern.

In diesem Fall ist es möglich die Grafik auszublenden und damit AG-VIP SQL zu beschleunigen.

Vorgehensweise:

Öffnen Sie die AGVIP.INI im Programmverzeichnis von AG-VIP SQL. Sie benötigen Schreibrechte oder exklussive Rechte auf die Datei.

Ergänzen Sie im Absachnitt [Options]

[Options]
WorkFlowForecast=0

Anmerkungen:

Die Änderung kann auch im laufendem System erfolgen.  Die Einstellungen werden automatisch beim Anzeigen des Enstufungsdialoges ermittelt. 
Eingabe von 1 oder jedem Wert ungleich 0 schaltet die Vorschau wieder an. Gleiches gilt für das Fehlen des Eintrages.

2019-06-21 10:36
Martin Richter

Funktionsweise des Papierkorb in AG-VIP SQL (ab Version 2.02.001)

Die Papierkorbfunktion in AG-VIP SQL

Der Papierkorb in AG-VIP SQL ist eine spezielle Datenbank Funktion, die das Löschen von Adressen und Tickets überwacht.
Das Löschen von untergeordneten Datensätzen, wie Zusatztabellen, Kennzeichenlisten und einzelne Eingabefelder werden nicht überwacht.
Die Datensätze werden im Moment der Löschung gesichert und können exakt so wiederhergestellt werden.
Gelöschte Datensätze werden nicht durch AG-VIP SQL bearbeitet. Tickets werden nicht automatisch verschoben. Die Datensätze erscheinen in keiner Auswertung oder Reports.
Wird eine Adresse gelöscht, sind damit auch alle untergeordneten Tickets mit gelöscht. Wird nur ein Ticket gelöscht, bleibt wie bei einem normalen Löschvorgang die Adresse erhalten.

Ein- und Ausschalten des Papierkorbes

Der Papierkorb wird als Funktion über die Globalen Einstellungen ein- bzw. ausgeschaltet.
Ist der Papierkorb ausgeschaltet (Vorhaltezeit = 0 Tage), werden Datensätze sofort und augenblicklich gelöscht. Datensätze, die so gelöscht wurden, können nicht wiederhergestellt werden.
Nach dem Ausschalten des Papierkorbs kann es noch eine Zeit dauern bis alle Datensätze endgültig gelöscht wurden.
Wird eine Vorhaltezeit >=1 Tage eingestellt, so verbleiben die Datensätze für mindestens diesen eingestellten Zeitraum erhalten und können in dem Zustand, in dem Sie bei Löschung vorlagen, wiederhergestellt werden.

Leeren des Papierkorbes

Das Leeren des Papierkorbs geschieht automatisch im Hintergrund in festgesetzten Intervallen. Alle Adressen und Tickets, die länger als die Anzahl der eingestellten Tage im Papierkorb liegen, werden endgültig gelöscht.

Wiederherstellen von Datensätzen

Die Wiederherstellung von Datensätzen finden Sie im Anwenderhandbuch beschrieben.

  1. Öffnen Sie die entsprechende Tabelle im freien Arbeiten.
  2. Wählen Sie die Funktion Papierkorb öffnen.
  3. Nun können Sie auswählen, welchen Papierkorb Sie öffnen wollen (Adressen oder Tickets) und angeben von wem oder in welchem Zeitraum die Daten gelöscht wurden.
  4. Nun ist auch eine Wiederherstellung möglich. 

Datenbank Implementierung
In der Tabelle für Adressen und Tickets existiert ein zusätzliches, nicht sichtbares Feld mit dem Namen IdUserDelete. Ist ein Datensatz aktiv (nicht gelöscht), enthält dieses Feld immer den Wert NULL. Beim Löschen über den Papierkorb wird hier der Benutzer eingetragen, der den Löschvorgang ausgelöst hat.

Alle Abfragen, Reports, Auswertungen und Makros berücksichtigen gelöschte Datensätze. Das heißt diese Datensätze sind zwar in der Tabelle, werden aber nie berücksichtigt.

Um die Behandlung von gelöschten Datensätzen zu erleichtern, wurden Views für alle betroffenen Tabellen eingebaut. Diese Views heißen identisch zu den Datentabellen, nur beginnen Sie nicht mit dem Kürzel tbl, sondern view. Eine Auswertung über diese Views zeigt immer nur aktive Datensätze, die nicht gelöscht wurden.

Eigene SQL Statements

Problematisch sind eigene SQL Statements oder Abfragen, die direkt auf die Tabellen von AG-VIP SQL zugreifen.
Ist die Papierkorb Funktion nicht eingeschaltet, werden alle Datensätze sofort gelöscht und es müssen keine Vorkehrungen getroffen werden.

AG-VIP SQL berücksichtigt bei Makro-Abfragen (Query-Methode) und auch in den Reports bei benutzerdefinierten Abfragen immer auch die gelöschten Datensätze. Hier wird automatisch ein entsprechendes Statement, so umformatiert, dass die eingebauten Views zur Anwendung kommen, die immer Datensätze im Papierkorb berücksichtigen (d.h. diese Datensätze ignorieren).

Bei eingeschalteter Papierkorbfunktion verbleiben gelöschte Datensätze in der gleichen Tabelle. Sie werden nur mit dem Kennzeichen "gelöscht" versehen. Das geschieht durch setzen eines Wertes in das Feld IdUserDelete.

Alle eigenen Abfragen bzw. Statements sollten so gebaut sein, dass die vorgebenenen Views nutzen, damit auch in Tests im SQL Management Studio gleiche Ergebnisse erzielt werden. AG-VIP SQL würde gelöschte Einträge berücksichtigen, aber nicht die Ausführung das Management Studio.  Sie können gelöschte Datensätze ausschließen, indem man die Bedingung [IdUserDelete] IS NULL ergänzt oder die entsprechenden Views benutzt.
Dies ist insbesondere wichtig wenn auch die SQL Integration Services oder SQL Reporting genutzt werden.

2021-09-29 10:27
Martin Richter

Umstellung der Datenbankstruktur von DATETIME auf DATE und TIME(0) ab der Version 2.03.001

Beschreibung:

Bis zur AG-VIP SQL Version 2.03.001 wurden Datum, Zeit und Datum/Zeit Felder im Datentyp DATETIME gespeichert.

Dieser Datentyp speichert immer ein Datum in Verbindung einer Uhrzeit. Dies hat historische Gründe weil zur Zeit der ersten Entwicklung von AG-VIP SQL keine anderen Datentypen von den SQL Server Versionen unterstützt wurden und eine hohe Flexibilität von AG-VIP SQL erwartet wurde.

  • Bei einem Datum/Zeit Feld wurde sowohl der Datumsteil als auch der Zeitanteil eines DATETIME Feldes benutzt. (Beispiel: AngelegtDatum)
  • Bei einem Datumsfeld wurde der Zeitanteil immer auf 00:00Uhr gesetzt. Bei SQL Abfragen in AG-VIP SQL wurde jedweder Zeitanteil ignoriert.
  • Bei einem Zeitfeld wurde der Datumwert fest auf  den 30.12.1899 gesetzt. Nur der Zeitwert zwischen 00:00 und 23:59 wurde geprüft. 

Alle nun unterstützten SQL Server können stellen nun auch andere Datentypen zur Verfügung um Datum und Zeit Felder abzulegen.

Problem:

Das Problem war, dass man mit SQL Befehlen auch "ungültige" oder nicht der Regel entsprechende Daten in die Tabellen eintragen konnte. Gleichfalls lieferten SQL Abfragen nicht unbedingt die gewünschten Ergebnisse, ohne dass man die Ausgabe entsprechend formatiert.

Zudem nehmen diese Datentypen immer 8 Bytes in der Datenbank je Spalte in Anspruch. Obwohl ein Großteil der Daten gar nicht benötigt wurde.

Lösung:

Mit der Version 2.03.001 werden nun die Datum und Zeit Felder in passenden Datentypen gespeichert. Die neuen Datentypen nehmen weniger Platz in der Datenbank weg. Abfragen im SQL Server liefern passende Ergebnisse ohne das man bestimmte Informationen ignorieren muss.

  • Datum/Zeit Felder werden wie bisher in DATETIME Spalten abgespeichert. Diese benötigen in der Datenbank 8 Bytes.
  • Felder vom Typ Datum werden nun in DATE Spalten gespeichert. Dieser Datentyp benötigt nur 3 Bytes.
  • Felder vom Typ Zeit werden nun in Spalten vom Typ TIME(0) abgespeichert. Dieser Datentyp benötigt auch nur 3 Bytes. Zeit Felder können auch Sekunden abspeichern, diese werden jedoch von AG-VIP SQL nicht berücksichtigt.

Wichtig DATETIME Spalten können sowohl in DATE als auch TIME(0) Spalten umgewandelt werden. DATE Spalten können in DATETIME Spalten umgewandelt werden. TIME(0) Spalten können weder in DATE noch in DATETIME Spalten umgewandelt werden.

Folgen:

Es ist möglich dass bestehende SQL Abfragen, die direkt in einem Hintergrundprozess oder einem Report benutzt werden bei Datum und Zeit Felder nun andere Ergbenisse liefern, oder dass deren Abfrage ungültig wird.
Die entsprechenden Abfragen müssen neu geschrieben werden.

Abfragen, die in AG-VIP-Makros mit der Query Methode gemacht werden oder gespeicherte Auswertungen sind davon nicht betroffen. Auch Abfragen, die mit Filtern im Reportmanager gemacht werden sind davon nicht betroffen.

2021-04-26 15:03
Martin Richter

Nachrichten senden

Zur Kategorie

Musterbeispiel "Personalisierte Email mit Lotus Notes Emailclient versenden"

Beschreibung:

Mit dem Hilfsmittel "Personifizierte Email für Notes" ist es möglich, eine Email mit vorgegebenem Text und Feldersetzungen erzeugen.
Sowohl der Nachrichtentext, wie auch der Betreff der Email können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden.

Einrichtung:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Enpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel -> Import
    Wählen Sie nun die Datei "Personifizierte Email für Notes.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Personifizierte Email für Notes" entsprechend Ihren wünschen an.
Optionen:

Die Vorlagendatei "Notes-Mail.txt" enthält in der ersten Zeile den Betreff der Email. Die Zeile muss mit Subject: beginnen. Im Subject können wie im Body Feldersetzungen aus den Feldern von AG-VIP SQL vorgenommen werden.
Dies erfolgt nach dem Muster:

%NameLast% ist Mitarbeiter der Firma %Name1% in dem wunderschönen Ort %City%.

wird dann zu
"Mustermann ist Mitarbeiter der Firma Test GmbH in dem wunderschönen Ort Teststadt."

Auf Felder des aktuellen Anwenders der die Email generiert kann mit folgenden Variablen zugeriffen werden: 
%ActiveUserFullName% = Voller Name des Benutzers
%ActiveUserDirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUserDepartment% = Abteilung des Benutzers
%ActiveUserEmail% = Emailadresse des Benutzers
%ActiveUserFaxNumber% = Faxnummer des Benutzers
%ActiveUserFunction% = Funktion des Benutzers
Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die Email übernommen werden.

Möchten Sie die Email direkt versenden ohne dem Benutzer eine Eingriffsmöglichkeit zu ermöglichen, müssen Sie im Hilfsmittel unter der Registerkarte Makro auf Ändern klicken und in Zeile 13 den Wert auf

SendIt = 1


setzen.

Wenn Sie die Email immer an einen festen Empfänger senden möchten können Sie die Adresse des Empfänger in Zeile 11 durch verändern des Wertes

Email = "max@musterdomain.de"


setzen.

Vorraussetzungen zur Nutzung dieses Emailhilfsmittels:

Es muss mindestens ein Lotus Notes Client ab der Version 4.6 auf dem System installiert sein.

2008-04-25 11:05
Ulrich Sticker

SMS-Versand mit AGVIP SQL

Zweck:

Sie möchten SMS aus AG-VIP SQL versenden. Das Hilfsmittel SMS-Versand erlaubt Ihnen flexibel SMS entweder an Adressen aus AG-VIP SQL zu senden, oder speziell erstellte Nachrichten an bestimmte Empfänger zu senden.
Sie können dabei die Nachricht mit Platzhaltern versehen und mit Daten aus AG-VIP SQL anreichern. Auch die Verwendung im Workflow und der Einsatz des Notizfeldes ist möglich.

Anwendungsgebiet:

Neben Textnachrichten ist es auch möglich das Hilfsmittel so zu konfigurieren, dass es Daten aus AG-VIP SQL oder festgelegte Kontaktinformationen als Adressbucheintrag für ein Mobiltelefon sendet.

Ein weitere Anwendung könnte sein, dem Empfänger direkt einen Weblink (URL) auf das Mobiltelefon zu senden, um z.B. Zugriff auf einen bestimmten Artikel der Wissensdatenbank, Produktinformation oder auszufüllendes Formular zu erhalten.

Voraussetzung:
Lösung:

Über ein Makro wird eine SMS generiert, die an den Dienstleister ASPSMS.COM übergeben wird. Die SMS kann über eine Textdatei vorformuliert werden und um Felder aus AG-VIP SQL angereichert werden.
Alternativ kann über Konfigurationsoptionen im Kopfbereich des Makros im Hilfsmittels festgelegt werden, ob die SMS eine Text-SMS, Flash-SMS (Betreiber-SMS) oder ein Telefonbucheintrag für ein Mobiltelefon sein soll.
Es kann auch festgelegt werden, ob die SMS so wie erstellt gesendet oder vor dem Versand nochmals editierbar sein soll oder welche Benutzerinteraktion beim Ausführen des Hilfsmittels stattfinden soll.

Die Preise sind abhängig vom Zielnetzwerk des SMS-Empfängers. Eine einfache SMS in ein Handynetz in Deutschland und an einen Empfänger kostet derzeit (Stand 23.07.2015) 1 Credits à 6 Euro-Cent (Ohne Mengenrabatt).
Kosten für das Benutzerkonto bei aspsms.com entstehen Ihnen nicht. Genaue Informationen über die aktuellen Preise des Anbieters aspsms.com finden Sie auf der Webseite aspsms.com. Handelt es sich um eine Multipart-SMS (Mehr als 160 Zeichen) wird diese SMS in Teile zu je 153 Zeichen aufgeteilt. Hierbei entstehen je Teil der SMS und Empfänger Versandkosten.

Installation:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "SMS-Versand.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "SMS-Versand" entsprechend Ihren Wünschen an.
Makroaufbau:

Das Makro richtet sein Verhalten und Erscheinungsbild nach Konfigurationsoptionen, die im Kopfbereich des Makros vorgenommen werden können.

1. Nachrichtentext für eine Text-SMS oder Flash-SMS

Wird eine Text- oder Flash-SMS gesendet, kann ein vorformulierter Nachrichtentext verwendet werden.
Dieser Text kann mit der Variablen Nachricht="Mein SMS Text" im Kopfbereich des Makros definiert werden. Ist dieser Eintrag Nachricht="", wird der Text aus der Vorlagendatei eingelesen.
Im Beispiel heißt die Vorlagendatei "SMS-Nachricht.txt" und enthält den vorformulierten Text der SMS.

Im Text können Feldersetzungen aus den Feldern von AG-VIP SQL vorgenommen werden. Hierzu muss der interne Feldname in Prozentzeichen in den Text eingefügt werden.
Dies erfolgt nach dem Muster:

%Salutation%
Dies ist eine Test-SMS von %ActiveUserFullName%
%NameSalutation% %NameLast%, wir wünschen Ihnen nun weiterhin viel Erfolg
mit AG VIP SQL!
Ihre Musterfee GmbH

Wird dann zu:

Sehr geehrter Herr Max Muster,
Dies ist eine Test-SMS von Irene Musterfee
Herr Muster, wir wünschen Ihnen nun weiterhin viel Erfolg
mit AG VIP SQL!
Ihre Musterfee GmbH

 

Auf Felder des aktuellen Anwenders, der die SMS generiert kann mit folgenden Variablen zugeriffen werden:
%ActiveUserFullName% = Voller Name des Benutzers
%ActiveUserDirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUserDepartment% = Abteilung des Benutzers
%ActiveUserEmail% = Emailadresse des Benutzers
%ActiveUserFaxNumber% = Faxnummer des Benutzers
%ActiveUserFunction% = Funktion des Benutzers
Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die SMS übernommen werden.

2. SMS-Typ
Text-SMS:

Eine Text-SMS ist eine ganz normale SMS. Wenn Sie mit dem Hilfmittel eine Text-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=0 im Kopfbereich des Makro-Codes.

Flash-SMS:

Eine Flash-SMS ist eine ganz normale Text-SMS mit dem Unterschied, dass sie direkt auf dem Display des Handys erscheint und in der Regel nicht gespeichert werden kann.
Sie wird auch Betreiber SMS genannt, da die Betreiber so oftmals ein Handy im Roamingbereich begrüßen o.ä.
Wenn Sie mit dem Hilfsmittel eine Flash-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=1 im Kopfbereich des Makro-Codes.

VCard-SMS:

Eine VCard-SMS ist eine SMS, die auf einem Mobiltelefon einen Kontakteintrag erzeugt. Sie kann die Werte Name und Telefonnummer übergeben.
Wird eine VCard gesendet, erscheint auf dem Empfängerhandy eine Meldung wie "Kontaktinformationen erhalten. Möchten Sie diese Ihrem Adressbuch hinzufügen?". Wird dies positiv bestätigt, so wird ein neuer Adressbucheintrag im Handy erzeugt.
Wenn Sie mit dem Hilfsmittel eine VCard-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=2 im Kopfbereich des Makro-Codes.
Nun müssen Sie noch die Werte für den Kontakteintrag definieren. Dies ist mit den Variablen VCName und VCNr möglich.
VCName="" nimmt beim aktuellen Datensatz den Vornamen und Nachnamen. Alternativ kann hier jedoch auch jedes andere Feld verwendet werden: VCName=ActiveAddress.Fields("<Feldname>").value
Auch die direkte Angabe eines Textes ist möglich: VCName="Musterfee GmbH" (Voreinstellung).
VCNr="" nimmt beim aktuellen Datensatz das Feld Telefon1. Alternativ kann hier jedoch auch jedes andere Feld verwendet werden: VCNr=ActiveAddress.Fields("<Feldname>").value
Auch die direkte Angabe eines Textes ist möglich VCNr="+4912345678" (Voreinstellung).

3. SMS Empfänger festlegen:

Im Fall<Feldname>").value
Dies gilt auch für die weiteren Empfänger (Empfaenger1="" ... Emfaenger10=""). Bleiben die Werte leer, wird keine SMS an sie gesendet.
Es können insgesamt 11 Empfänger konfiguriert werden.

4. Absender festlegen:

Ist derhttp://www.aspsms.com/home.asp?REF=150059&lng=dt" target="_blank" rel="noopener">aspsms.com freigeschaltet werden.
Dabei wird ein Freischaltcode für die Handynummer erzeugt, der per SMS an das Handy gesendet wird und bei aspsms.com auf der Webseite eingegeben werden muss. Dies soll die missbräuchliche Verwendung von Handynummern als Absender erschweren.
Die Rufnummer muss im Format Absender="+491712222" hinterlegt werden. Prinzipiell können je Account beliebig viele Absendernummern freigeschaltet werden.
Es kann natürlich auch ein beliebiges Feld aus AGVIP SQL übernommen werden: Absender=ActiveAddress.Fields("<Feldname>").value . Bei Telefonnummern bietet sich Absender=canonical(ActiveAddress.Fields("<FeldnamederRufnummer>").value) an. (Die Funktion canonical(Nummer) sorgt für die korrekte Aufbereitung der Nummer).

5. Weitere Optionen
Multipart SMS:

Wird Multipart auf 1 gesetzt, wird die SMS, sofern sie länger als 160 Zeichen ist, mit mehreren SMS gesendet. Hierbei wird die Nachricht in 153 Zeichen lange Teilnachrichten zerlegt und auf dem Handy wieder zusammengefügt. Für jede Teilnachricht und jeden Empfänger entstehen Ihnen Versandkosten (Voreinstellung des Makro).
Wird Multipart=0 gesetzt, wird die SMS nach 160 Zeichen abgeschnitten und gesendet. Wird Multipart=2 gesetzt, wird der Versand bei einer zu langen SMS abgebrochen und eine Hinweismeldung ausgegeben. Ein Fehlercode wird gesetzt.

Anzeige und Bearbeitung der SMS vor dem Versand:

Wird ZeigeSMS=1 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt und der Versand kann mit der Schaltfläche 'Abbrechen' noch abgebrochen werden.
Wird ZeigeSMS=2 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt der Versand kann jedoch nur mit 'OK' bestätigt werden.
Wird ZeigeSMS=3 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt und kann vor dem Versand nochmal bearbeitet werden. Hierzu muss es auf dem Client-System möglich sein ein IEObjekt zu starten.
Wird ZeigeSMS=0 gesetzt, wird die SMS ohne weitere Benutzerinteraktion gesendet (Voreinstellung).

Ergenbis des SMS-Versand ausgeben:

Wird Sendeergebnis=0 gesetzt, wird keine Ausgabe mit dem Erfolg der Übermittlung der SMS vorgenommen (Voreinstellung). Wird Sendeergebnis=1 gesetzt, wird nach dem Versand eine Statusmeldung angezeigt. (Hinweis: Dieser Status ist jedoch KEIN Zustellungsbeleg! Nur das erfolgreiche Absetzen der SMS kann damit geprüft werden!)

Fehler in einem Fenster ausgeben:

Wird der Wert Zeigefehlercode=1 gesetzt, wird im Falle eines Fehlers bei der Kommunikation mit dem SMS-Dienstleister eine Fehlermeldung mit Hinweis auf die Fehlerursache angezeigt (Voreinstellung). Ist diese nicht gewünscht, kann mit Zeigefehlercode=0 die Ausgabe von Fehlern bei der Übermittlung der SMS unterdrückt werden.

Sende Datum:

Wird SendeDatum="" gesetzt, wird die SMS sofort gesendet (Voreinstellung). Wird SendeDatum="01.12.2008 08:00:00" gesetzt, wird die SMS zum angegebenen Datum übermittelt. Beachten Sie, dass die Datumsformatierung wie im Beispiel gegeben sein muss! 1.12.2008 8:00:00 würde zu einem fehlerhaften Versanddatum führen! (Fehlende führende Nullen)

Dauer der Zustellzeit:

Wird Zustellzeit="" gesetzt, wird versucht die SMS innerhalb von 24 Stunden zuzustellen (Voreinstellung). Dieser Wert ist auch der Maximalwert! Kann die SMS in dieser Zeit nicht zugestellt werden, wird sie ungültig (bspw. weil das Mobiltelefon abgestellt ist). Die Angaben für die Zustellzeit können in Minuten von 3 bis 1440 (=24 Stunden) vorgenommen werden. Werte unter 3 Minuten sind ungültig. Zustellzeit="15" erfordert die Zustellbarkeit der SMS innerhalb von 15 Minuten, ansonsten wird die SMS ungültig.

Zeitzone:

Grundeinstellung für Standort des Anwenders. In Deutschlant gilt GMT+1. Also Zeitzone="+1" (Voreinstellung). Dieser Wert MUSS vor allem bei Benutzern eingestellt werden, die AG-VIP SQL ausserhalb der Zeitzone GMT+1 betreiben!

Vorwahl des Landes:

Grundeinstellung für Standort des Anwenders. In Deutschland gilt +49 als Landesvorwahl. Diese Vorwahl wird verwendet um Rufnummern ohne angegebene Vorwahl um die Landesvorwahl zu ergänzen. LandVorwahl="+49" (Voreinstellung) bewirkt: Aus der Rufnummer 0171-2222 wird +491712222 für den SMS-Versand.

Historieneintrag:

Wird Historieneintrag=0 gesetzt, wird keine Veränderung am Historieneintrag vorgenommen. Hier wird der im Hilfsmitteldialog eingestellte Wert belassen. Wird Historieneintrag=1 gesetzt, wird der Historieneintrag mit dem SMS-Text ersetzt. Wird Historieneintrag=2 gesetzt, wird der Historieneintrag um den SMS-Text erweitert. Wird Historieneintrag=3 gesetzt, wird der Historieneintrag um den SMS-Text und um weitere Versandinformationen erweitert (Voreinstellung).

Zustellung der SMS nachverfolgen:

Es ist möglich jeder gesendeten SMS eine Message-ID zu geben, über die der Versand nachvollziehbar wird. Dafür muss ein Zähler im Administrationsbereich von AGVIP SQL angelegt werden. Dieser Zähler wird mit der Konfiguration SMSID="<Zählerbezeichnung>" aktiviert.
Hinweis: Für die Verwendung der SMSID entstehen Ihnen zusätzliche Kosten je gesendete SMS! Bitte beachten Sie hierzu die derzeit gültige Preisliste des SMS-Dienstleisters. Mit diesem Hilfsmittel ist derzeit keine spätere Auswertung der SMSID möglich.
Wird SMSID leer gelassen, wird keine spezielle ID vergeben. SMSID="" (Voreinstellung).

Dauer des SMS-Versandvorgangs:

Sie können festlegen, wie lange gewartet wird, um die SMS an den Dienst ASPSMS.com zu übergeben. Dieser Wert kann bei schlechter Netzwerk- oder Internetverbindung erhöht werden. Die Variable Submittimeout=2000 (Voreinstellung) nimmt den Wert hierfür auf. Die Angabe erfolgt in Millisekunden.

6. Benutzerkonto bei aspsms.com

Die Abwicklung des SMS-Versandes erfolgt komplett über den Anbieter ASPSMS.COM. Wir stellen Ihnen mit diesem Hilfsmittel nur eine technische Schnittstelle zu diesem Internetservice zur Verfügung.
Das bedeutet auch, das Sie ein Konto bei diesem Dienstleister einrichten müssen, und auch die Abrechnung des SMS-Versandes komplett über den Dienstleister erfolgt.
Nachdem Sie dieses kostenlose Konto bei aspsms.com angelegt haben, müssen Sie Guthaben auf Ihr Konto bei aspsms.com aufladen. Nun können Sie aus AG-VIP SQL ohne weitere Hardware oder sonstige Investitionen SMS versenden.

Sie erhalten von ASPSMS.COM einen 'Userkey' und ein 'Passwort' das Sie bitte bei den entsprechenden Variablen im Kopfbereich des Hilfsmittels hinterlegen. Ist einer oder beide Werte leer ('Userkey=""' 'Password=""') (Voreinstellung), wird das Hilfsmittel im DEMO-Modus gestartet, und Sie können damit den SMS-Versand simulieren.

7. Hinweis zur Fehlerbehandlung:

Tritt ein Fehler auf, wird die Variable Application.Globaldata("SMSError")=1 gesetzt. Da diese Variable global verfügbar ist, ist es hiermit möglich das Speichern eines Tickets oder eines Datensatzes bei Fehlfunktionen des SMS-Versandes automatisch abzubrechen. Wird das Hilfmittel erneut ausgeführt, wird wieder der Wert Application.Globaldata("SMSError")=0 gesetzt.
Beispiel-Makro für den Abbruch des Speichern eines Tickets in einer Reaktion bei Einstufung, die dieses Hilfsmittel verwendet:

If Application.Globaldata("SMSError")=1 ThenActiveTicket.Transition = "" PreReaction.Abort Application.Globaldata("SMSError")=0 Macro.ExitEnd If

  
Technische Anmerkungen:

Im Normalfall sollte das Hilfsmittel ohne besondere Konfiguration einer Firewall ausführbar sein, sofern ein Internetzugriff auf dem Client-Rechner vorhanden ist.
In besonderen Fällen kann es jedoch notwendig sein, Einstellungen an der Firewall vornehmen zu müssen. Für diesen Fall sind folgende Informationen relevant:
Die Datenkommunikation findet in Form eines XML-Streams über die folgenden Serveradressen statt:
http://xml1.aspsms.com:5061/xmlsvr.asp
http://xml2.aspsms.com:5061/xmlsvr.asp
Es kann auch auf der Seite von aspsms.com eine Beschränkung der IP-Adresse für die Nutzung der XML-Schnittstelle vorgenommen werden. Dies macht jedoch nur bei einem Internetzugang mit einer eigenen festen IP-Adresse Sinn.

Bitte beachten Sie:

Die Grutzeck Software GmbH stellt Ihnen diese Dateien / Patches so zur Verfügung wie sie sind. Es kann aus der Verwendung dieser Dateien kein erweiterter Supportanspruch abgeleitet werden. Die Dateien werden Ihnen ausschließlich als Hilfestellung zur Nutzung der Programme der Grutzeck Software GmbH bereitgestellt. Für Fehler bei der SMS-Übermittlung sowie Ausführungsfehler in diesem Beispiel-Makro übernimmt die Firma Grutzeck Software GmbH keine Haftung. Weitergehende Ansprüche sind ausdrücklich ausgeschlossen.

2023-04-25 12:21
Ulrich Sticker

Fehlermeldung bei Outlook-Email-Hilfsmittel: "Es ist nicht möglich eine Verbindung zum Zielobjekt "C:\temp\Email vom xy um Uhrzeit.msg" herzustellen

Fehlermeldung bei Outlook-Email-Hilfsmittel:  "Es ist nicht möglich eine Verbindung zum Zielobjekt "C:\temp\Email vom xy um Uhrzeit.msg" herzustellen
Lösung:

1. Gehen Sie in die Administration von AG-VIP SQL und rufen die Bearbeitung dieses Hilfsmittels auf
2. Wechseln Sie in den Reiter "Makros"
3. In der obersten Zeile finden Sie "Makromodus". Ändern Sie hier die Einstellung von "Programm starten und automatisch Verbindung herstellen" auf "Programm starten und keine Verbindung herstellen".
Damit haben Sie den Fehler sofort behoben. Bei Erzeugung einer Emails ist es nicht notwendig, ein Objektverbindung zur MSG-Datei aufzubauen.

2010-01-19 17:01
Markus Grutzeck

E-Mail Hilfsmittel für MS-Outlook

Beschreibung des Hilfsmittels für MS-Outlook zur Erzeugung einer E-Mail:
Mit dem E-Mail Hilfsmittel für MS-Outlook ist es möglich, eine E-Mail mit vorgegebenen Text und Feldersetzungen zu erzeugen.
Sowohl der Nachrichtentext, wie auch der Betreff der E-Mail können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden.

Einrichtung:

  1. Bitte laden Sie die .ZIP-Datei am Ende dieses Artikels herunter.
  2. (bzw. C:\Programme\AG-VIP SQL\Samples) Entpacken Sie die Datei im Ordner <AG-VIP SQL Installationsverzeichnis>\Samples
  3. Wählen Sie nun die Datei "E-Mail Hilfsmittel mit Vorlage.agtool" Klicken Sie unter Administration  -> Hilfsmittel -> Import
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "E-Mail Hilfsmittel mit Vorlage" entsprechend Ihren wünschen an.

Konfiguration des Hilfsmittels für die Generierung/Versendung von E-Mails in Outlook:

Offnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern" bei "Makro vor Ausführung" (Pre-Makro).

Festen Empfänger für die E-Mail einsetzten: 

Wenn Sie die E-Mail immer an einen festen Empfänger senden möchten, können Sie die Adresse des Empfänger durch verändern des Wertes strTo = "" setzen.
Bsp.:
strTo = "max@musterdomain.de"

Dies gilt auch für "Kopie" (strCC) und "BlindKopie" (strBCC).

Wenn keine EMail bei "strTo" angegeben wurde, wird im aktiven Datensatz
in folgenden Feldern durch Komma getrennt nach einer EMail Adresse gesucht (Priorität von Links nach Rechts absteigend):
strSearchEMail = "Emailadresse,CommEMail1,CommEMail2,CommEMail3"

' Falls die E-Mail in einer Zusatztabelle liegen sollte, muss hier der Name der Zusatztabelle angegeben werden.
' Dies ist nicht der interne Name, sondern der "Name" der Zusatztabelle auf der Ansicht.
strZusatztabelle = ""

' Falls die E-Mail in einer Zusatztabelle liegen sollte, muss hier der Name der Spalte angegeben werden, in der die E-Mail Adresse hinterlegt ist
strSpaltenname = ""


Um der E-Mail einen individuellen Betreff zu übergeben, können Sie diesen hier über z.B. die Verwendung des Nachnamen-Feldes setzen.
Beispiel: strBetreff = "Angebot für " & ActiveRecord.Fields("NameLast").Value & " vom " & Date()

Das Ergebnis könnte so aussehen "Angebot für Grutzeck vom 23.12.2015".
Weitere Datumsformat Beispiele finden Sie weiter unten in diesem KB-Artikel.
strBetreff = ""

 

In der V2 Variante werden sofern dort keine E-Mail Felder angegeben sind, alle E-Mail Felder durchsucht.
Wird in der V2 Variante nichts gefunden, kann über eine weitere Angabe von "True" oder "False" festgelegt werden, ob die E-Mail ohne E-Mail Adresse erzeugt oder ob der Vorgang abgebrochen werden soll.
bAbbrechen = True

 

Über das setzen des Schalters "bVersenden" auf "True" wird die E-Mail ohne dass der Benutzer Sie angezeigt bekommt automatisch versendet. Beim Setzen auf "False" wird die E-Mail dem Benutzer angezeigt und dieser muss die E-Mail noch manuell versenden.
bVersenden = False

Sofern die Übernahme von Historieneinträge mit dem Platzhalter %§History% in der Vorlage hinterlegt wurde, kann die Anzahl der Einträge hierüber begrenzt werden.
Bei 0 werden alle Einträge übernommen.
iMaxHistorienEintraege = 0

Die zu übernehmenden Historieneinträge können auf das aktuelle Projekt begrenzt werden
(True = nur zum aktiven Projekt; False = Unabhängig vom Projekt).
bProjektEintraege = false

Sofern Sie in einer Gruppe im Exchange eingetragen sind, können Sie anstelle Ihrer E-Mail Adresse diese Gruppe als Absender eintragen.
strFrom = ""

Ein Beispiel:
Sie sind in der Exchange Gruppe "Support" eingetragen und können darüber nun Ihre E-Mail ebenfalls versenden:
strFrom = "Support"
oder die exakte E-Mail der Gruppe:
strFrom = "Support@musterdomain.de"

Mailtyp der E-Mail ändern: 

Sie können den Mailtyp der E-Mail ändern, indem Sie den Wert für Mailtype= ändern.
Der Wert 1 sorgt dafür, dass die E-Mail als Text-Mail behandelt. Hierbei muss die Vorlage als .oft-Datei abgespeichert worden sein.
Der Wert 2 sorgt dafür, dass die E-Mail als HTML-Mail behandelt wird.
Bsp.:
Mailtype = 1

Anhang für die E-Mail setzen: 

Wollen Sie einen Anhang an die E-Mail setzen, könne Sie diesen per Systempfad hinterlegen.
Bsp.:
Anlage="C:\Temp\Musterbrief.txt"

Wollen Sie mehrere Anlagen anfügen, müssen Sie die einzelnen Anlagen mit einem Semikolon trennen.
Bsp.:
Anlage="C:\Temp\Musterbrief.txt;C:\Temp\Musteranhang.doc"

Der Anhang kann schon in der Vorlagen mit angehängt werden. Dies bringt aber den Nachteil mit sich, dass der Anhang "fest" ist und nicht verändert werden kann, d.h. sollte sich etwas in der Datei ändern, wird dies nicht mit in den Anhang aktualisiert. Wird der Anhang über das Makro hinzugefügt, wird immer die aktuelle Version der Datei an die E-Mail angefügt. Dies bringt allerdings den Nachteil, dass wenn die Datei gelöscht, umbenannt oder der Dateipfad geändert wird, diese auch nicht mehr als Anhang für die E-Mail dienen kann, solange die Änderung nicht auch im Makrotext des Hilfsmittels angepasst werden.

Vorlage anpassen:

Passen Sie nun noch die Vorlage an. Sie können Felder aus AG-VIP SQL mit %<internerFeldname>% in die Vorlage einfügen.
Beispiel für das Feld "Kurzname" ist der interne Feldname "ShortName" und kann in der Vorlage mit %ShortName% verwendet werden.
GlobalData Variablen können Sie in den Vorlagen über den Aufruf %GlobalData_<Name>% verwenden.
Beispiel für die GlobalData Variable "Test" was in AG-VIP SQL mit Application.GlobalData("Test") geschrieben wird, kann in der Vorlage mit %GlobalData_Test% verwendet werden.

Wird eine Textdatei verwendet, so wird eine reine Textnachricht generiert. Wird eine HTML-Datei als Vorlage angegeben, so wird eine HTML-Email gesendet.

Felder des aktuellen Anwenders anpassen:

Auf Felder des aktuellen Anwenders, der die E-Mail generiert, kann mit folgenden Variablen zugegriffen werden:

%ActiveUser.Fullname% = Voller Name des Benutzers
%ActiveUser.DirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUser.Department% = Abteilung des Benutzers
%ActiveUser.Email% = Emailadresse des Benutzers
%ActiveUser.FaxNumber% = Faxnummer des Benutzers
%ActiveUser.Function% = Funktion des Benutzers'
%ActiveUser.City% = Stadt des Benutzers
%ActiveUser.Country% = Land des Benutzers
%ActiveUser.Id% = Id des Benutzers
%ActiveUser.MobilePhoneNumber% = Mobile Telefonnummer des Benutzers
%ActiveUser.Name% = Name des Benutzers
%ActiveUser.State% = Bundesland des Benutzers
%ActiveUser.Street% = Straße des Benutzers
%ActiveUser.Street2% = Straße 2 des Benutzers
%ActiveUser.Zipcode% = PLZ des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die E-Mail übernommen werden.  

Datumsfelder formatieren:

Wenn ein Feld vom Datentyp "Datum und Uhrzeit", "Datum" oder "Zeit" als Platzhalter auf einer E-Mail Vorlage angegeben wird, so kann man durch das Ergänzen des Platzhalternamens am Ende mit dem Zeichen '#' und dem entsprechenden Format das Datum formatieren.
(%<internerFeldname>#0% oder %<internerFeldname>#GeneralDate%)
Beispiel mit dem Feld "AngelegtDatum": %AngelegtDatum#2% bzw. %AngelegtDatum#ShortDate%
Folgende Formatierungen sind möglich:

  • 0 oder GeneralDate --> 28.03.2013 14:14:00
  • 1 oder LongDate     --> Donnerstag, 28. März 2013
  • 2 oder ShortDate    --> 28.03.2013
  • 3 oder LongTime     --> 14:14:00
  • 4 oder ShortTime    --> 14:14

Wenn keine Formatierung angegeben wird, so wird abhängig vom Datentyp folgende Formatierung verwendet:

  • Datum und Uhrzeit --> 28.03.2013 14:14:00
  • Datum                  --> 28.03.2013
  • Uhrzeit                 --> 14:14:00

Mit dem Platzhalter %!DateTimeStamp% kann man mit den gleichen Formatierungsmöglichkeiten wie bei einem AG-VIP SQL Datumsfeld das aktuelle Datum eintragen.

Hinweis:
Durch den Security Patch für Outlook wurde die Empfindlichkeit bei der Outlook mit einer Security Warnung reagiert erhöht.
Dadurch wird bei Verwendung des Makrodebuggers in AG-VIP SQL in Verbindung mit einem Outlook-Hilfsmittel-Makro, ständig eine Security Warnung angezeigt sofern man den Zugriff nicht für einen bestimmten Zeitraum erlaubt.

Vorraussetzungen zur Nutzung dieses E-Mail-Hilfsmittels:
Es muss ein Microsoft Outlook Client auf dem System installiert sein.
Die AG-VIP SQL Version 1.40.000 Build 524 vom 13.03.2013

Änderungslog:

17.05.2024:

  • Erweiterung um eine E-Mail Adresse aus einer Zusatztabelle als Empfänger zu verwenden

09.02.2022:

  • Einführung des Vorlagen-Platzhalters %§History% zur Übernahme von Historieneinträge
  • Begrenzung der Anzahl der Historieneinträge über die Variable iMaxHistorienEintraege ermöglicht
  • Begrenzung auf Historieneinträge zum aktiven Projekt über die Variable bProjektEintraege ermöglicht

06.04.2021:

  • Berücksichtigung von leeren Datumsfelder

09.09.2020:

  • Entfernung der Redemption (Advanced Part)
  • Verwendung der "Im Auftrag von..." (SentOnBehalf) Eigenschaft zum Setzen eines anderen Absenders

24.08.2018:

  • Erweiterung der Konfiguration: Deaktivierungsmöglichkeit der erweiterten Features (Redemption)
  • Erweiterung um GlobalData-Platzhalter: %GlobalData_<Name>%

18.10.2017:

  • Anpassung des Makrocodes um das Problem, welches durch den Windows-Security Patch verursacht wurde zu beheben

23.12.2015:

  • Erweiterung um die Angabe einer Betreffzeile und der Möglichkeit zur automatischen E-Mail Versendung.

08.07.2015:

  • Integrierung des Platzhalters %!DateTimeStamp%

11.12.2014:

  • Makrofehler beim Ersetzen der Platzhalter von normalen Textfeldern behoben.

18.11.2014:

  • Behandlung der Ausgabe von logischen Werten integriert (Ja,Nein,keine Angabe)

07.10.2014:

  • Durch einen Security Patch hervorgerufene Security Warnung in Outlook das Hilfsmittelmakro angepasst (Neues Hilfsmittel angehängt).
  • Den Abschnitt "Hinweis" ergänzt.
  • Alte Hilfsmittel Version ohne PreTool Makro entfernt.
  • Vorraussetzungen bezüglich der ersten AG-VIP SQL Version mit PreTools ergänzt.

13.05.2014: 

  • E-Mail Hilfsmittel V2 im Zip-Archiv angefügt.
  • Vorgang kann beim Laden des Hilfsmittels abgebrochen werden sofern keine E-Mail Adresse gefunden wird.
  • Konfiguration des Hilfsmittels wird nun im Pre-Makro Bereich festgelegt

2024-05-17 13:26
Christian Heininger

Email per SMTP-Versenden

Beschreibung des Hilfsmittels für das Versenden einer E-Mail per SMTP-Server:
Mit dem E-Mail Hilfsmittel für Email per SMTP versenden ist es möglich, eine E-Mail mit vorgegebenen Text und Feldersetzungen zu erzeugen.
Sowohl der Nachrichtentext, wie auch der Betreff der E-Mail können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden oder der versendete Text in die Historie eingetragen werden. Der Versand der Email erfolgt hierbei vollständig ohne Benutzerinteraktion im Hintergrund.

Einrichtung:

  1. Bitte laden Sie die .ZIP-Datei am Ende dieses Artikels herunter.
  2. (bzw. C:\Programme\AG-VIP SQL\Samples) Entpacken Sie die Datei im Ordner <AG-VIP SQL Installationsverzeichnis>\Samples
  3. Wählen Sie nun die Datei "Email schreiben mit SMTP-ActiveX-Komponente.agtool" Klicken Sie unter Administration -> Hilfsmittel -> Import
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Email schreiben mit SMTP-ActiveX-Komponente" entsprechend Ihren wünschen an. Wichtig ist hierbei, das ein Erfolgreicher Emailversand erst nach der Konfiguration des Hilfsmittels im Kopfbereich des Makrocodes des Hilfsmittels funktionieren kann. Sie benötigen die korrekte Adresse und Zugangsdaten zu einem SMTP-Server.
    Die Vorlage für die Email kann entsprechend Ihren Wünschen angepasst werden. (Siehe auch Handbuch für Administratoren)

Konfiguration des Hilfsmittels für den Versand von Emails per SMTP-Server:

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern"

Passen Sie folgende Einstellungen an:
Host  ="mail.musterfee.loc" <- Hier müssen Sie den SMTP-Server eintragen. z.B. smtp.1und1.de oder mail.gmx.de
Port  = "25" <- Diese Einstellung können Sie im Normalfall bei der Standardeinstellung belassen.
Username = "musterfee@musterfee.de" <- Hier tragen Sie den Benutzer für die Anmeldung am SMTP-Server ein. Ist keine Authentifizierung erforderlich können Sie hier auch "" eintragen. Oftmals ist der Benutzername die Emailadresse.
Password = "MeinPasswort" <- Hier tragen Sie das Passwort für die Anmeldung an dem SMTP-Server ein.
From  = "Info@Musterfee.de" <- Hier tragen Sie die Absenderadresse ein.
FromName = "Musterfee GmbH" <- Hier tragen Sie den Absendernamen ein.
Subject  = "Betreff für diese Email" <- Hier können Sie einen Betreff angeben. Dies kann auch ein Feld sein, z.B. ActiveAddress.Fields("Subject").value

Durch die Variablen "Empfaenger" ("To") und "Kopie" ("CC") bzw. BCC (Blindkopie) können Sie einstellen, ob die Email an einen bestimmten Empfänger bzw. eine Kopie der Email an einen bestimmten Empfänger geschickt werden soll. Wenn beim Antworten auf die Email an eine andere Emailadresse geantwortet werden soll als die bei From eingetragene Adresse, kann dies bei ReplyTo eingetragen werden.
Beim "Empfaenger" können Sie eine feste Empfängeradresse einstellen, z.B. zur Informationsweiterleitung an einen Mandanten. Geben Sie keinen Empfänger vor, d.h. - Empfaenger = "" -, wird automatisch das Feld EMAIL1 aus dem aktuellen Datensatz als Empfänger verwendet.
Empfaenger = ActiveAddress.Fields("CommEMail1").Value
Kopie  = ""
BCC   = ""
ReplyTo  = ""

Die LoginMethod gibt an, wie Sie sich am SMTP-Server anmelden möchten. Folgende Möglichkeiten stehen Ihnen zur Auswahl:
0 = Keine Anmeldung, z.B. lokalem SMTP-Server
1 = Anmeldedaten werden verschlüsselt an den SMTP-Server übertragen (CramMD5Method),
2 = Anmeldedaten werden mit BASE64 versschlüsselt. Dies dient nur zum korrekten darstellen von Umlauten bzw. Sonderzeichen. Die eigentlichen Daten werden im Klartext übertragen (AuthLoginMethod), z.B. bei GMX, Freenet, ...
3 = Anmeldedaten werden im Klartext übertragen. Von dieser Methode ist abzuraten (LoginPlainMethod).
6 = XOAUTH2 Authentifizierung - Bei dieser Variante, muss als 'Username' die E-Mail Adresse des Absenderkontos und als 'Password' der AccessToken des Providers übergeben werden.

LoginMethod = 3 <- Dies wäre z.B. die richtige Einstellung bei 1und1.

DOKUMENTATION IN DER HISTORIE
Fall 1: Keine Dokumentation gewünscht Historie = 0 - und im Reiter "Allgemein" - Modus = Nur Starten, wenn Adresse ausgewählt -
Fall 2: Standardhistorientext Historie = 0 - und im Reiter "Allgemein" - Modus = Starten und Eintrag in Historie anfügen - Im Reiter "Bemerkung" Standardhistorieneintrag festlegen.
Fall 3: Text der versendeten EMail in Historie anfügen Historie = 1 - und im Reiter "Allgemein" - Modus = Nur Starten, wenn Adresse ausgewählt
Historie = 1

Der ConnectionType gibt an, ob die Datenübertragung per SSL verschlüsselt ist.
0 = Keine Verschlüsselung
1 = SSL Verschlüsselung (Port Anpassung für SSL berücksichtigen ! z.B. 465)
2 = TLS Verschlüsselung (Port Anpassung für TLS berücksichtigen !
3 = SSL versuchen, dann TLS
ConnectionType = 1

' Das TLSProtocol gibt an, welches TLS Protokoll bei der Übertraung verwendet werden soll.
' Als Standart wird das vom Betriebsystem definierte Protokoll verwendet (OSDefault).
' Beispiel:
' Zum Setzen des TLS 1.2 Protokolls, kann dies folgendermaßen umgesetzt werden:
' TLSProtocol = TLS12

' Alle möglichen Protokoll-Konstanten
CONST SSL2or3 = 0
CONST TLS10 = 1
CONST TLS11 = 2
CONST TLS12 = 3
CONST SSL2 = 5
CONST SSL3 = 6
CONST OSDefault = 7
CONST AnyTLSUpTo12 = 8
CONST AnyTLSUpTo13 = 9
' TLS 1.3 wird erst ab Windows 11 und Windows Server 2022 unterstützt!
CONST TLS13 = 10

' Setzen der zu verwendenen Protokoll-Konstante
TLSProtocol = OSDefault

DATEIANHÄNGE
Wenn Sie in der Email eine Datei mit anhängen möchten, können Sie diese in der Variable Datei hinterlegen. Wenn Sie mehrere Dateien anhängen möchten, müssen diese mit einem Semikolon oder einen Komma getrennt werden.
Datei  = ""

Damit ist die Funktionsfähigkeit hergestellt.

Vorlage anpassen:

Passen Sie nun noch die Vorlage an. Sie können Felder aus AG-VIP SQL mit %Feldname% in die Vorlage einfügen.

Wird eine Textdatei verwendet, so wird eine reine Textnachricht generiert. Wird eine HTML-Datei als Vorlage angegeben, so wird eine HTML-Email gesendet.

Felder des aktuellen Anwenders in der Vorlage anpassen:

Auf Felder des aktuellen Anwenders, der die E-Mail generiert, kann mit folgenden Variablen zugegriffen werden:

%ActiveUser.Fullname% = Voller Name des Benutzers
%ActiveUser.DirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUser.Department% = Abteilung des Benutzers
%ActiveUser.Email% = Emailadresse des Benutzers
%ActiveUser.FaxNumber% = Faxnummer des Benutzers
%ActiveUser.Function% = Funktion des Benutzers'
%ActiveUser.City% = Stadt des Benutzers
%ActiveUser.Country% = Land des Benutzers
%ActiveUser.Id% = Id des Benutzers
%ActiveUser.MobilePhoneNumber% = Mobile Telefonnummer des Benutzers
%ActiveUser.Name% = Name des Benutzers
%ActiveUser.State% = Bundesland des Benutzers
%ActiveUser.Street% = Straße des Benutzers
%ActiveUser.Street2% = Straße 2 des Benutzers
%ActiveUser.Zipcode% = PLZ des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die E-Mail übernommen werden.

Voraussetzungen zur Nutzung dieses E-Mail-Hilfsmittels:
Es muss ein Zugang zu einem SMTP-Server vorhanden sein.
Der Computer-/Hostname darf keine speziellen Sonderzeichen enthalten.
Siehe dazu folgenden KB-Artikel: http://kb.grutzeck.de/index.php?action=artikel&cat=34&id=304&artlang=de

 

Änderungslog:

15.08.2023

  • Erweiterung um die Möglichkeit TLS Protokolle festzulegen
  • Versionsnummer des Hilfsmittel von 1.45 auf 2.05.002 geändert (ab dieser AG-VIP SQL Version funktioniert das Feature)

04.02.2021

  • Umstrukturierung der Eingabevariablen
  • Kommentarerweiterung bei ConnectionType im Hilfsmittel

27.04.2016

  • Unterstützung von CSS Informationen innerhalb der .html Vorlage

16.10.2015

  • ConnectionType um TLS Beschreibung erweitert.
  • Datumsformatierung integriert (siehe Outlook Hilfsmittel)

 

10.01.2014

  • Hilfsmittel unterstützt nun SSL Verschlüsselung (ConnectionType)

 

2024-09-19 14:36
Ulrich Sticker

Automatische Opt-In Benachrichtigung/Bestätigung

Vorwort:
Basierend auf dem Knowledgebaseartikel:
http://kb.grutzeck.de/index.php?sid=52200&lang=de&action=artikel&cat=15&id=297&artlang=de


Anforderung:
- AG-VIP SQL ab der 1.40 Version mit dem Datentyp "Tri-State" (logisches dreiwertiges Datenfeld: 0 = Nein; 1 = Ja; 2 = keine Angabe)
- Die Makros vom oben erwähnten Knowledgebaseartikel
- Umsetzung DSGVO


Beschreibung:
Dieser Artikel beschreibt eine Erweiterung des oben erwähnten Artikels um eine automatische Generierung eines Briefes bzw. einer E-Mail für den Kunden mit dessen Opt-In Bewilligungen, sofern sich diese geändert haben sollten.


Anpassung:
Hier werden die notwendigen Anpassungen beschrieben.
Änderungen werden im Makrotext (grau hinterlegt) durch das Textformat "Fett" hervorgehoben.

Felder:
Die notwenigen Opt-In Felder sind ab der AG-VIP SQL Version 1.40 als Systemfelder in jeder Adresstabelle vorhanden:

Internername Datentyp Vorbelegung
OptInLetter Tri-State 2 (keine Angabe)
OptInEmail Tri-State 2 (keine Angabe)
OptInFax Tri-State 2 (keine Angabe)
OptInPhone Tri-State 2 (keine Angabe)
OptInSMS Tri-State 2 (keine Angabe)


Die Sprachspezifische Bezeichung ist frei definierbar.


Feldliste:
Im Makroinclude "RecordChanges" in der Funktion "SetFieldsToCheck" müssen die gerade angelegten Felder mit deren internen Feldnamen ergänzt werden.

Function SetFieldsToCheck()
Application.GlobalData("changeWatch")=Array( _
"Name1", _
"Name2", _
"Name3", _
"NameSalutation", _
"NameTitle", _
"NameFirst", _
"NameLast", _
"Street", _
"Country", _
"ZipCode", _
"City", _
"CommEmail1", _
"CommPhoneCentral", _
"CommPhoneMobil", _
"CommPhoneOffice", _
"OptInLetter", _
"OptInEmail", _
"OptInFax", _
"OptInPhone", _
"OptInSMS")

End Function

Hilfsmittel:
Die dafür benötigten Hilfsmittel sind im Anhang dieses Knowledgebaseartikels und müssen nur noch importiert werden.
Eine Anpassung der Vorlagen ist bezüglich Ihrer Kopf-/Fußzeile notwendig sowie die Anpassung sonstigen Hilfsmitteleinstellungen wie zum Beispiel Pfad zur Vorlage, Zielpfad der neuen Datei etc.
Sofern Sie die Namen der Hilfsmittel umbenennen sollten, müssen Sie diese im folgenden Abschnitt "Aufruf" ebenfalls anpassen.


Aufruf:
Sie können entweder die in der ZIP-Datei bereits angepasste "RecordChanges.agminc" Datei importieren und dadurch Ihre evtl. bereits existierende ersetzen oder Sie können wie unten beschrieben die Änderungen auch manuell ergänzen.

Im Makroinclude "RecordChanges" in der Funktion "CheckValueDifference" wird der Aufruf des entsprechenden Hilfsmittel eingeleitet.
Notwendig ist eine boolische Variable welches als sogenanntes Flag eine Änderung eines Opt-In Feldes markiert.
Über dieses Flag wird dann am Ende der Funktion das entsprechende Hilfsmittel ausgeführt.

Function CheckValueDifference()
Dim n, line, oRelation, oEntry, bFirst, strNameZusatztabelle, bChangeOptIn
bChangeOptIn = False

' Hier wird der Name der Zusatztabelle hinterlegt, in der die Änderungen protokolliert werden sollen
strNameZusatztabelle = "Log-Datenänderungen" 

bFirst = True

' Die vordefinierte Feldliste wird durchgeschleift
For Each n In Application.GlobalData("changeWatch")
' Wenn sich die Werte der zuvor gesicherten Felder mit den aktuellen unterscheidet,
' werden die Daten dokumentiert
If Trim(Application.Globaldata(n))<>Trim(ActiveAddress.fields(n).value) Then
If bFirst Then
Set oRelation = ActiveAddress.Relations(strNameZusatztabelle)
bFirst = False
End If

Set oEntry = oRelation.Add
oEntry.Fields("Log_Datum") = FormatDateTime(Now(),2) & " " & FormatDateTime(Now(),4)
oEntry.Fields("Log_Feld") = ActiveAddress.Fields(n).NameLocale
oEntry.Fields("Log_User") = Application.ActiveUser.Name
oEntry.Fields("Log_WertAlt") = Trim(Application.Globaldata(n))
oEntry.Fields("Log_WertNeu") = Trim(ActiveAddress.Fields(n).value)

' Sofern ein Opt_In Feld verändert wurde, setzen wir eine Variable auf "True"
If bChangeOptIn = False AND Left(UCase(n),Len("OptIn")) = "OPTIN" Then
bChangeOptIn = True
End If

End If
Next

' Die "OptIn" Variable wird überprüft und sofern mit "True" gesetzt
' wird evtl. ein Hilfsmittel ausgeführt um automatisch einen Brief bzw. eine E-Mail zu erzeugen
If bChangeOptIn Then
If ActiveAddress.Fields("OptInEmail").value = 1 Then
Application.ExecuteTool("Opt-In Bestätigung Email")
ElseIf NOT ActiveAddress.Fields("OptInLetter").value = 0 Then
Application.ExecuteTool("Opt-In Bestätigung Brief")
End If
End If

End Function

2020-01-28 15:52
Peter Brandt

E-Mail Hilfsmittel zum Übertragen einer E-Mail über Evalanche

Beschreibung:
Zum aktiven Datensatz wird über ein Hilfsmittel eine in Evalanche hinterlegte Vorlage verwendet um eine E-Mail zu versenden.

Voraussetzung:
Ein Evalanche Konto mit Freischaltung der API Nutzung.
Die Evalanche v1.2 Schnittstelle von AG-VIP SQL.

Zusätzliche voraussetzung auf Clientseite:
Folgende Dateien müssen im AG-VIP SQL Installationsverzeichnis liegen, worüber der Client-Rechner AG-VIP SQL startet:

  • EvalancheCOM.dll
  • Evalanche.ini
  • AGVIP.exe.config
  • SCNEM.dll
  • SCNEM2.dll

Diese Dateien werden bei der Implementierung von Evalanche auf dem Server bereitgestellt und müssen bei einer lokalen Client-Installation zusätzlich in dessen Installationsverzeichnis kopiert werden.
Die EvalancheCOM.dll Datei muss wie bei der Server-Einrichtung auch auf dem Client per RegAsm.exe registriert werden.
Durch die TLS1.2 Anforderung ist es ggfs. erforderlich, dass in der Registry diese aktiviert werden muss.
Hier zu finden Sie weitere Hilfestellung in folgenden KB-Artikel: https://kb.grutzeck.de/content/41/438/de/evalanche-_-zertifikatsprobleme-seit-dem-04012021.html

Installation:
Das Hilfsmittel "E-Mail über Evalanche senden" Importieren.

Konfiguration:
Folgende Optionen zur Konfiguration werden im Makro des Hilfsmittels angeboten:

 

bAnlegeModus = true

Erläuterung:
Wird diese Option mit true gesetzt, so legt Evalanche ein neues Profil an, sofern der aktive Datensatz nicht gefunden werden konnte.
Um keinen Datensatz anzulegen sofern nicht vorhanden, muss diese Option mit false gesetzt werden


strEmailField = "CommEmail1"

Erläuterung:
Da in AG-VIP SQL mehrere E-Mail Felder existieren, muss der interne Feldname des Feldes angegeben werden, aus der die E-Mail Adresse verwendet werden soll (Empfänger).



iMailingId = 4711

Erläuterung:
Die E-Mail Vorlage wird in Evalanche angelegt und gepflegt.
Damit das Hiflsmittel zu der Vorlage eine Verknüpfung herstellen kann,
muss die Id der Vorlage angegeben werden (ID des eMailings in Evalanche).

 

2016-05-06 15:59
Peter Brandt

Konfiguration in Azure (Office365) für SMTP-Email-Versand via OAuth2

Problemstellung

Der SMTP-Email-Versand ist bei Azure ohne Verwendung von OAuth2 nicht mehr möglich.

Was ist OAuth2?

OAuth 2.0 ist ein Autorisierungsprotokoll, das es Anwendungen ermöglicht, im Namen eines Benutzers sicher auf Ressourcen zuzugreifen, ohne dessen Passwort preiszugeben.

Einrichtung / Konfiguration in Azure
  1. Melden Sie sich in Ihrem Azure Portal an, welches Sie für den SMTP-Email-Versand einrichten möchten:
    https://portal.azure.com/#home
    Anmeldung
  2. Wählen Sie bei "Azure-Dienste" den Dienst "App Registrierungen" aus.
    App Registrierungen
    Falls der Dienst in der Schnellauswahl nicht angeboten wird, klicken Sie ganz Rechts auf "Weitere Dienste" und suchen dort nach dem Dienst.

  3. Klicken Sie dort auf "+ Neue Registrierung"
    Neue Registrierung
  4. Tragen Sie nun einen Namen z.B. "SMTP OAuth2" ein.
  5. Wählen Sie einen "Unterstützten Kontotyp" aus, z.B. "Nur Konten in diesem Organisationsverzeichnis"
  6. Wählen Sie bei "Umleitungs-URI" die Option "Web" aus und tragen folgende URI ein: http://localhost:8080/callback
  7. Drücken Sie zum Abschließen der Registrierung unten auf den Schalter "Registrieren". Sie werden im Anschluss automatisch weitergeleitet.
    Anwendung registrieren

  8. Kopieren Sie sich die Anwendungs-Id (Client-Id) und die Verzeichnis-Id (Tenant-Id) in eine Textdatei. Diese werden später in AG-VIP SQL benötigt.
    ClientID und TenantID
  9. Im linken Menü, erweitern Sie den Punkt "Verwalten" und wechseln dort in den Bereich "Zertifikate & Geheimnisse"
    Zertifikate und Geheimnisse
  10. Klicken Sie auf "+ Neuer geheimer Clientschlüssel"
    Geheimer ClientKey

  11. Geben Sie nun eine Beschreibung z.B. "AG-VIP SQL" und einen Gültigkeitsbereich z.B. 24 Monate an und drücken anschließend unten auf "Hinzufügen"
    Beschreibung ClientKey
  12. Kopieren Sie jetzt sofort den Schlüssel bei "Wert" und fügen diese vorübergehend in eine Textdatei ein, da dieser später nicht mehr auslesbar ist und in AG-VIP SQL benötigt wird!
    Der Schlüssel bei "Geheime ID" wird nicht benötigt.
    GeheimeID
  13. Wechseln Sie nun im linken Menü zum Punkt "Authentifizierung"
  14. Scrollen Sie etwas herunter zum Abschnitt "Implizite Genehmigung und Hybridflows" und setzen dort den Haken bei "Zugriffstoken"
    AccessToken
  15. Scrollen Sie noch etwas weiter herunter und setzen Sie im Abschnitt "Erweiterte Einstellungen" bei "Öffentliche Clientflows zulassen" den Schalter auf "Ja". Anschließend scrollen Sie ganz ans Ende und drücken auf den Schalter "Speichern"
    ClientFlows
  16. Wechseln Sie im linken Menü zu "API-Berechtigungen" und klicken dort auf "+ Berechtigung hinzufügen"
    API Berechtigung
  17. Klicken Sie nun auf "Microsoft Graph"
    Graph
  18. Anschließend klicken Sie auf auf die linke Schaltfläche "Delegierte Berechtigung"
    Delegierte Berechtigung
  19. Nun über die Suche nach "SMTP.Send" suchen und den Haken setzen
    SMTP Send
  20. Eine weitere Suche nach "offline_access" durchführen und dort ebenfalls den Haken setzen und unten auf "Berechtigung hinzufügen" klicken, um beide Berechtigungen zu übernehmen.
    offline access

  21. Falls noch andere Berechtigungen aktiv sind, können diese über die 3 Punkte rechts entfernt werden.
    Berechtigung entfernen
Einrichtung / Konfiguration in AG-VIP SQL
  1. Importieren Sie das Makroinclude "SMTP OAuth2" und fügen dort die Client-ID, Client-Secret und die Tenant-ID (Verzeichnis-ID) ein.
    Des Weiteren setzen Sie noch in der Variable strProvider den Wert AZURE
    MacroInclude SMTP
  2. Importieren Sie das Hilfsmittel mit "OAuth2" im Namen und klicken im Reiter "Makro" auf den Schalter "Ändern..."
    Makro

  3. Hier tragen Sie bei Host "smtp.office365.com" ein und bei Port den Wert "587".
    Zusätzlich geben Sie noch die E-Mail Adresse zum Azure-Konto bei "Username" an.
    Das "Password" bleibt leer, da automatisch der AccessToken übermittelt wird.
    Azure Hostdaten

  4. Zum Schluss wird noch die LoginMethode mit dem Wert "6" (OAuth2) und der Connectiontyp mit dem Wert "2" (TLS) gesetzt
    LoginMethode
Erstanmeldung

Beim ersten Aufruf des Hilfsmittels wird automatisch eine Authentifizierung durchgeführt, bei der Sie sich einmalig an das Azure Konto anmelden müssen.
Azure Anmeldung

Nach der Anmeldung, kann folgender Hinweis kommen, den Sie mit "Akzeptieren" bestätigen
(Dieses Hinweisfenster, kommt nicht immer und ist auch nicht zwingend erforderlich)
Angeforderte Berechtigung

Folgende Meldung kommt immer und ist normal. Ignorieren Sie die Meldung und kopieren die komplette URL.
URL Adresse

Fügen Sie diese in AG-VIP SQL in das dort geöffnete Pop-Up Fenster ein. Das Hilfsmittel wird nach anschließendem Bestätigen mit "OK" den darin enthaltenen Authentifizierungscode extrahieren und damit eine erneute Anfrage nach einem Refresh-Token an Azure starten.
PopUp AGVIP

Ein weiteres Pop-Up Fenster gibt an, dass der Refresh-Token nun in der Zwischenablage hinterlegt ist
RefreshToken PopUp

Im MakroInclude "SMTP OAuth2" fügen Sie diesen bei der Variable "Refresh_Token" ein
Refreshtoken eintragen

Dadurch ist die OAuth2 Konfiguration / Einrichtung abgeschlossen. Sie können ab sofort Emails via SMTP über Ihr Office365 Konto versenden.

2024-09-19 14:34
Peter Brandt

Konfiguration in GMAIL (Google) für SMTP-Email-Versand via OAuth2

Problemstellung

Der SMTP-Email-Versand ist bei GMAIL ohne Verwendung von OAuth2 nicht mehr möglich.

Was ist OAuth2?

OAuth 2.0 ist ein Autorisierungsprotokoll, das es Anwendungen ermöglicht, im Namen eines Benutzers sicher auf Ressourcen zuzugreifen, ohne dessen Passwort preiszugeben.

Einrichtung / Konfiguration in GMAIL
  1. Melden Sie sich in Ihrem Google API-Entwickler Portal an, welches Sie für den SMTP-Email-Versand einrichten möchten:
    https://console.developers.google.com/projectselector/apis/credentials
  2. Klicken Sie auf "Projekt auswählen"
    Choose Project

  3. Klicken Sie dann auf "Neues Projekt"
    Neues Projekt
  4. Geben Sie anschließend einen Projektnamen z.B. SMTPviaOAuh2 ein. Achten Sie darauf, keine Sonderzeichen und kein Leerzeichen zu verwenden.
    Drücken Sie dann auf "Erstellen". Sie werden im Anschluss automatisch zu den "Anmeldedaten" weitergeleitet.
    Projektnamen eintragen

  5. Verlassen Sie das Menü "Anmeldedaten" und wechseln zu "OAuth-Zustimmungsbildschirm" und wählen dort als "User Type" den Wert "Extern" aus.
    Klicken Sie im Anschluss auf "Erstellen":
    Zustimmungsbildschirm

  6. Geben Sie einen Anwendungsnamen z.B: AG-VIP SQL sowie eine E-Mail Adresse ein, an die man sich bei Fragen zur Einwilligung wenden kann.
    Anwendungsnamen

  7. Scrollen Sie ganz nach unten zu "Kontaktdaten des Entwicklers" und tragen dort eine E-Mail Adresse ein, an die Informationen zu Änderungen am Projekt geschickt werden sollen. Anschließend drücken Sie auf "speichern und fortfahren":
    Kontaktdaten Entwickler

  8. Bei "Bereiche" drücken Sie auf den Schalter "Bereiche hinzufügen oder entfernen":
    Bereiche

  9. In der sich nun rechts aufgeklappten Liste, geben Sie unten bei "Bereiche manuell hinzufügen" folgende URL ein: https://mail.google.com und drücken anschließend auf "zu Tabelle hinzufügen". Dadurch erscheint in der Liste dieser neue Eintrag. Der Haken sollte aktiv sein.
    Zum Abschluss noch den Schalter "Aktualisieren" drücken:
    Scope

  10. Zurück bei "Bereiche" drücken Sie ganz unten den Schalter "speichern und fortfahren" (Dort ist nun auch bei "Ihre eingeschränkten Bereiche" der gerade aktivierte Bereich zu sehen):
    Anwendungsbereich speichern
  11. Bei "Testnutzer" müssen nun E-Mail Konten angegeben werden, welche diese SMTP-OAuth2 Freigabe nutzen dürfen.
    Diese Angabe ist nur notwendig, solange diese Konfiguration im "Testmodus" also im nicht "veröffentlichten" Modus ist.
    Drücken Sie zum Hinzufügen von E-Mail Konten auf den Schalter "+ Add Users".
    Nachdem Sie alle eingetragen haben drücken Sie unten auf "speichern und fortfahren":
    Benutzer hinzufügen

  12. Im letzten Abschnitt "Fazit" können Sie nochmal alle vorgenommenen Einstellungen überblicken.
    Scrollen Sie an das Ende und drücken auf den Schalter "Zurück zum Dashboard".
  13. Im Dashboard finden Sie dann auch den Schalter, mit dem Sie vom Test-Modus in den Veröffentlichten-Modus wechseln können.
    Theoretisch kann die Einstellung im Test-Modus bleiben mit der Einschränkung, dass nur die aufgeführten Test-Benutzer diese nutzen können.
    Test Modus wechseln
  14. Klicken Sie nun links auf "Anmeldedaten" und anschließend oben auf "+ Anmeldedaten erstellen":
    Anmeldedaten erstellen
  15. Wählen Sie die 2. Option "OAuth-Client-ID" aus:
    oAuthClientID
  16. Wählen Sie als Anwendungstyp "Webandwendung" aus und tragen einen Namen wie z.B. GMAILConnectorAGVIPSQL ein:
    Anwendungstyp

  17. Scrollen Sie dann ganz nach unten und fügen Sie folgende URI bei "Autorisierte Weiterleitungs-URIs" ein:
    https://oauth-redirect.googleusercontent.com/r/SMTPviaOAuth2
    Sollten Sie einen anderen Projektnamen als SMTPviaOAuth2 gewählt haben (wie im Punkt 4. beschrieben), müssen Sie diesen stattdessen hier hinterlegen:
    RedirectURI
  18. Kopieren Sie nun die Client-ID und den Clientschlüssel in eine Textdatei:
    ClientId und Key
Einrichtung / Konfiguration in AG-VIP SQL
  1. Importieren Sie das Makroinclude "SMTP OAuth2" und fügen dort die Client-ID bei "Client_ID" und den Clientschlüssel bei "Client_Secret" ein.
    Des Weiteren setzen Sie noch in der Variable strProvider den Wert GMAIL und bei "Project_Name" Ihren Projektnamen SMTPviaOAuth2:
    AGVIP ClientID und Key

  2. Importieren Sie das Hilfsmittel mit "OAuth2" im Namen und klicken im Reiter "Makro" auf den unteren Schalter "Ändern..."
    Hilfsmittel Makro


  3. Hier tragen Sie bei Host "smtp.gmail.com" ein und bei Port den Wert "465".
    Zusätzlich geben Sie noch die E-Mail Adresse zum GMAIL-Konto bei "Username" an.
    Das "Password" bleibt leer, da automatisch der AccessToken übermittelt wird.
    AGVIP SMTP Host

  4. Zum Schluss wird noch die LoginMethode mit dem Wert "6" (OAuth2) und der Connectiontyp mit dem Wert "1" (SSL) gesetzt
    AGVIP SMTP LoginMethode

Erstanmeldung

Beim ersten Aufruf des Hilfsmittels wird automatisch eine Authentifizierung durchgeführt, bei der Sie sich einmalig mit Ihrem Google Konto anmelden müssen.
Google Erstanmeldung

Wenn die Konfiguration im Test-Modus läuft, wird Ihnen jetzt noch zusätzlich eine Warnung angzeigt, welche Sie mit "Weiter" bestätigen.
Google App Warnung Test-Modus

Als nächstes bestätigen Sie den Zugriff auf das Google-Konto, indem Sie auf "Weiter" drücken
Google Zugriff bestätigen

Nun wird ihnen eine Seite mit einer Fehlermeldung angezeigt, welche jedoch normal ist.
Kopieren Sie aus der sich geöffneten Seite die komplette URL und fügen diese dann in das sich in AG-VIP SQL geöffnete Pop-Up Fenster ein.
AG-VIP SQL wird daraus den Authcode ermitteln und damit wiederum eine erneute automatische Anfrage an GMAIL auslösen, um den Refresh_Token zu erhalten:
Google Authcode

AGVIP AuthCode

Wenn alles geklappt hat, wird in AG-VIP SQL eine Meldung angezeigt mit dem Hinweis, dass der Refresh-Token in die Zwischenablage kopiert wurde.
Refreshtoken MsgBox

Im MakroInclude "SMTP OAuth2" fügen Sie diesen bei der Variable "Refresh_Token" ein:
AGVIP Refreshtoken

Dadurch ist die OAuth2 Konfiguration / Einrichtung abgeschlossen. Sie können ab sofort Emails via SMTP über das Google GMAIL Konto versenden.


Hinweis:
Sollten aus irgendwelchen Gründen der Refresh_Token nicht in der Zwischenablage sein, weil Sie z.B. ausversehen die Zwischenablage mit etwas anderem überschrieben haben, bevor Sie diesen in AG-VIP SQL übernommen haben, müssen Sie zuerst die Verbindung zu der Freigabe wieder entfernen, bevor Sie die Erstanmeldung erneut durchführen können.

Dazu wechseln Sie in Ihr Google-Konto
Google Konto

Wechseln in den Bereich "Sicherheit" und scrollen etwas runter bis zu dem Bereich "Ihre Verbindungen zu Drittanbieter-Apps und -diensten" und klicken dann dort auf "AG-VIP SQL":
Google Verbindungen

Dort auf die untere Auswahl "Alle Verbindungen mit AG-VIP SQL löschen" klicken:
Google Verbindungen trennen

Anschließend die Trennung bestätigen:
Google Trennung bestätigt

Erst jetzt können Sie wieder beim Punkt "Erstanmeldung" beginnen und einen neuen Refresh-Token erhalten.

2024-09-19 14:35
Peter Brandt

Makro-Center

Zur Kategorie

Reaktion: Wiedervorlage auf fixe Uhrzeit legen

Anwendungsbeispiel:

Sie wollen in einer Reaktion einer Bearbeitungsstufe die Wiedervorlage auf eine feste Uhrzeit legen. Das macht z.B. Sinn, wenn Sie eine Reaktion ?Anrufbeantworter" einrichten, die eine Wiedervorlage auf den nächsten Tag ab 18:00 Uhr auslöst.

Vorgehensweise:

Sie definieren in der Projektverwaltung in der entsprechenden Bearbeitungsstufe eine Reaktion ?Anrufbeantworter".
Wählen Sie nun den Makro Nach Einstufung und aktivieren den Ändern-Schalter.

Geben Sie folgenden Makro ein:

' Wir setzen die Wiedervorlagezeit auf einen ? feste Wert.
Option Explicit
Dim FollowUpTime
FollowUpTime = CDate(DateAdd("d", 1, Date()) & " " & "18:00:00")
ActiveTicket.FollowUpDate = FollowUpTime

Dabei bestimmt die Zahl "1" im Argument der Funktion DateAdd die Anzahl der Tage, in denen die Wiedervorlage wieder erscheinen soll.

 

2023-10-26 09:50
Martin Richter

Beim Ausführen eines Hilfsmittels, automatisch ein Telefonat planen

Aufgabe:

Wenn bestimmte Hilfsmittel ausgeführt werden, ist es hilfreich, wenn automatisch ein Telefonat für einen bestimmten Zeitraum geplant wird.

Beispiel:

Über ein Hilfsmittel erzeugen Sie ein Angebot. Automatisch wird zur Nachverfolgung eine Telefonwiedervorlage in drei Tagen erzeugt.

Lösung:

Sie haben in AG-VIP SQL die Möglichkeit durch das Hilfsmittelscript, ein Telefonat zu planen. Fügen Sie nach folgenden Zeilen:

oActiveDocument.Variables.Item("FullName").Value = Application.ActiveUser.FullName 
oActiveDocument.Variables.Item("Phone").Value = Application.ActiveUser.PhoneNumber 

diese Zeilen in das Script ein:

' Anzuwählende Telefon-Nr. bestimmen 
Dim PhoneNumber
If ActiveAddress.Fields("CommPhoneOffice").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhoneOffice").Value 
ElseIf ActiveAddress.Fields("CommPhoneCentral").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhoneCentral").Value 
ElseIf ActiveAddress.Fields("CommPhoneMobil").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhoneMobil").Value 
ElseIf ActiveAddress.Fields("CommPhone1").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhone1").Value 
ElseIf ActiveAddress.Fields("CommPhone2").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhone2").Value 
ElseIf ActiveAddress.Fields("CommPhone3").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhone3").Value 
ElseIf ActiveAddress.Fields("CommPhonePrivat").Value <> "" Then 
PhoneNumber = ActiveAddress.Fields("CommPhonePrivat").Value 
End If 

' Telefonwiedervorlage erzeugen With ActiveAddress.History.Add(300) .Fields("Time") = DateAdd("d",3,Date) + TimeSerial(09, 00, 00) .Fields("Text") = "Testversion VIP-SQL erhalten ? Fragen ?" .Fields("CommunicationNumber") = PhoneNumber End With

Das Feld TIME ist in AG-VIP SQL ein Zeitfeld und muss dementsprechend formatiert werden. Daher fügen wir mit der Funktion DateAdd das Startdatum ein. Das "d" steht für Datum, mit der Zahl "3" geben wir an, wieviel Tage der Start verschoben werden soll und mit "Date" geben wir das heutige Datum als Startdatum an. Die Funktion TimeSerial gibt die Startzeit an und formatiert die eingegebenen Zahlen zu einer Uhrzeit "(hh,mm,ss)".

2018-06-26 13:58
Martin Richter

Wie speichere ich die Anzahl Anwahlversuche in einem benutzerdef. Feld?

Diese FAQ ist abgelaufen und kann nicht angezeigt werden

2008-04-14 09:01
Markus Grutzeck

Felder aus AGVIP SQL in der Zwischenablage anderen Anwendungen bereit stellen

Problem:

Es kann nützlich sein Daten aus AGVIP SQL in der Zwischenablage bereit zu stellen, um sie in anderen Anwendungen über Bearbeiten -> Einfügen (STRG+C) einzufügen.
VB-Script erlaubt jedoch keinen direkten Zugriff auf die Zwischenablage (Clipboard)

Lösung:

Mit dem Umweg über ein Internet-Explorer Objekt ist es möglich den Inhalt der Zwischenablage zu manipulieren.
Es ist somit möglich beliebige Felder aus AGVIP SQL an die Zwischenablage zu übermitteln.
Dies kann zum Beispiel mittels eines Makros in einem Hilfsmittel erfolgen.

Das nachfolgende Makrobeispiel überträgt den Vornamen, dann ein Leerzeichen und den Nachnamen, dann eine Zeilenschaltung und dann den Kurznamen der aktuellen Adresse in die Zwischenablage zu weiteren Verwendung.
Die Felder und Zeilenschaltungen können natürlich nach belieben angepasst werden.

Option Explicit
'Beispielscript um Felder im Clipboard für (Kopieren / Einfügen) bereit zu stellen.
'Version 1.00 vom 21.05.2008 / US
Dim copytext, strLinks
Dim objIE
'Vorname in die Variable und Leerzeichen anhängen
copytext = ActiveAddress.Fields("NameFirst").value & " "
'Nachname an die Variable und Zeilenumbruch anhängen
copytext = copytext & ActiveAddress.Fields("NameLast").value & Chr(13) 
'Kurzname in die 2. Zeile
copytext = copytext & ActiveAddress.Fields("Shortname").value 
'Nach diesem Muster können beliebige Informationen zusammen gestellt werden.
'Da per VBS kein direkter Zugriff auf das Clipboard möglich ist, nehmen wir 'einen Umweg über das Internet Explorer Objekt.  
copytext=CStr(copytext)  
Set objIE = CreateObject("InternetExplorer.Application")    
objIE.Navigate("about:blank")    
objIE.document.parentwindow.clipboardData.SetData "Text", copytext    
objIE.Quit
Hinweis:

Bei Windows Vista / Windows 7 oder dem Internet Explorer Version 7 oder höher kann es zu einer Sicherheitsabfrage kommen: "Wollen Sie den Zugriff zulassen"

Ab der Version AG-VIP SQL 1.21.002 oder höher steht Ihnen die wesentlich einfachere Variante über unser internes Makromodell zur Verfügung. Das obige Beispiel sieht unter Verwendung von Macro.Clipboard wie folgt aus:

Option Explicit
Dim copytext
'Vorname in die Variable und Leerzeichen anhängen
copytext = ActiveAddress.Fields("NameFirst").value & " "
'Nachname an die Variable und Zeilenumbruch anhängen
copytext = copytext & ActiveAddress.Fields("NameLast").value & Chr(13) 
'Kurzname in die 2. Zeile
copytext = copytext & ActiveAddress.Fields("Shortname").value 
'Nach diesem Muster können beliebige Informationen zusammen gestellt werden. 
Macro.Clipboard = CStr(copytext)

2010-11-25 11:59
Ulrich Sticker

Wie kann ich ein Makro eine bestimmte Zeit pausieren lassen? Im Windowsscriptinghost gibt es die Funktion WScript.Sleep(). Der Aufruf dieser Funktion aus dem Makro schlägt jedoch fehl!

Beschreibung:

Es kann unter Umständen notwendig sein ein Makro zu pausieren. Beispielsweise weil man per COM eine andere Anwendung startet und auf die Bereitschaft der Anwendung warten möchte um weitere Eingaben an die Anwendung zu senden.
Im Windows Scripting Host steht hierfür die Funktion WScript.Sleep(<Anzahl Millisekunden>)zur Verfügung. Diese Funktion kann in einem Makro jedoch so nicht aufgerufen werden.

Lösung:

Mit einer kleinen Funktion die einfach am Ende des Makrocode eingefügt werden kann, steht diese Funktionalität zur Verfügung.
Kopieren Sie dazu einfach den folgenden Code am Ende Ihres Makros ein:

'Eigene Milisekunden timerfunktion
Function Sleep(milliseconds)
Dim starttimer, endtimer 
milliseconds=milliseconds/1000 
starttimer=Timer() 
endtimer=starttimer+milliseconds 
If endtimer>=86400 Then  
endtimer=endtimer-86400 
End If 
do while Timer()<endtimer 
loop
End Function 

 

Mit dem Aufruf von

Sleep(<Millisekunden>)

 

kann die Funktion dann genutzt werden.

Beispiel:

'10 Sekunden warten, dann MsgBox öffnen:
Sleep(10000)
MsgBox "Diese Nachricht wird erst nach 10 Sekunden angezeigt!"

 

Hinweis: Ab der Version AG VIP SQL 1.10.007 wird Ihnen die bequemere und effizientere Funktion Application.Sleep(<Millisekunden>) zur Verfügung stehen.

2008-06-19 12:48
Ulrich Sticker

Wie kann man Felder addieren lassen?

Problem:

Immer wieder benötigt man Felder, die sich berechnen lassen, z.B. Summen aus Eingabenfeldetr usw.

Lösung:

AG-VIP SQL ermöglicht durch die interne VB-Script-Makrosprache die beliebige Kalkulation von Feldern.

Beispiel:

Wir haben

  • drei Eingabefelder vom Feldtyp Numerisch: WERT1, WERT2, WERT3
  • ein Eingabefeld vom Feldtyp Numerisch: SUMME

Aus dem Feldern WERT1, WERT2 und WERT3 soll die Summe berechnet werden.

Makro:

ActiveAddress.Fields("SUMME") = ActiveAddress.Fields("WERT1") + ActiveAddress.Fields("WERT2") + ActiveAddress.Fields("WERT3")

Dieser Makro kann auf einen Schalter der Ansicht gelegt werden oder über ein Ereignismakro ausgelöst werden, z.B. Beim Speichern.
Wichtig: Das Feld SUMME muss für den Anwender im Schreib-Zugriff sein. Auf Ebene der Ansicht kann das Feld SUMME schreibgeschützt werden, da der Makro das Feld beschreibt. Somit ist das Feld vor manuellen Eingaben durch den Anwender geschützt.

2008-07-15 08:59
Markus Grutzeck

Wie kann ich einen Ordner / Link öffnen?

Problem:

Oftmals ist es sinnvoll, über einen Schalter in der Ansicht einen bestimmten Ordner (z.B. für Infomaterial, technische Dokumentationen) zu öffnen oder einen Link aufzurufen.

Lösung:

Der Aufruf eines Ordners / Links erfolgt über einen entsprechenden Aufruf über die Windows-Shell. Dazu wird zunächst eine Variable "WShell" definiert. Mit der Funktion "CreateObject" wird die Windows-Shell aufgerufen. In der letzten Zeile wird in Klammern der aufzurufene Ordner oder Link übergeben. Das kann auch direkt eine Datei sein.

Dim WShell
Set WShell = CreateObject ("WScript.Shell")
WShell.Run "F:\PUBLIC\Vertrieb\Email-Versand"


Falls der Verzeichnispfad ein Leerzeichen beinhalten sollte, muss der übergebene Text mit Anführungszeichen übergeben werden.
Da jedoch ein Anführungszeichen im Makroeditor einen Textaufruf startet bzw. beendet, muss um ein Anführungszeichen in einem Text zu übergeben zwei Anführungszeichen gesetzt werden.

WShell.Run """F:\PUBLIC\Vertrieb\Email Versand"""


Falls Sie über diesen Aufruf direkt eine Datei ansprechen und einen optionalen Parameter übergeben möchten muss der Aufruf folgendermaßen gestaltet werden:

WShell.Run """F:\Program Files\AG-VIP SQL\AGVIP.EXE"" -showdbname"

2011-01-28 12:45
Markus Grutzeck

Wie kann ich Pflichtfelder realisieren?

Lösung:

 Sie möchten die Eingabe des Anwenders überprüfen und dafür Sorge tragen, dass bestimmte Eingabefelder ausgefüllt sind.
[Update]: Zur Lösung dieses Problems steht Ihnen eine elegante Funktion in der Makrobibliothek Standard1 zur Verfügung (jedoch ohne farbliche Hervorhebung).

Problem:

Über einen Ereignismakro BEIM SPEICHERN prüfen Sie die Eingaben. Wurde ein Pflichtfeld nicht ausgefüllt, brechen Sie den Speichervorgang ab.

Makro:

' Wenn nicht alle Pflichtfelder ausgefüllt sind, wird die Adresse nicht gespeichert und geschlossen
' Es werden die Variablen zurückgesetzt FieldText = ""
ReDim preserve arrFelder(0)
dim iFelderCounter, FieldText, Feld
iFelderCounter = 0

' Jetzt übergeben wir die Felder in die Eigentliche Funktion
' Syntax: "FELDNAME"
CheckField "NameSalutation"
CheckField "Name1"
CheckField "NameAktion" 

' Jetzt erfolgt die Prüfung mit dementsprechender Ausgabe
If FieldText <> "" Then  
    MsgBox "Das Feld '" & FieldText & "' wurde nicht ausgefüllt", , "Pflichtfelder AG-VIP SQL"  
    For Each Feld in arrFelder
        CurrentForm.Controls(Feld).ColorBackground = vbYellow
    Next
    OnSave.Abort
End If

' Diese Funktion prüft, ob die Felder gefüllt sind oder nicht.
Sub CheckField(Field)
    Dim PropList, Prop, content
    content=""  
    If ActiveAddress.Fields(field).Type=110 Then
        Set PropList=ActiveAddress.Fields(Field).value  
        For Each Prop In Proplist   
            content=content & Prop & " "  
        Next  
        Set Prop=Nothing  
        Set PropList=Nothing  
    Else  
        content=ActiveAddress.Fields(Field).value  
    End If  
    If (CStr(content) = "" OR CStr(content)="0") Then   
        If FieldText <> "" Then   
            Redim preserve arrFelder(iFelderCounter)
            arrFelder(iFelderCounter) = ActiveAddress.Fields(Field).Name
            FieldText = FieldText & ", " & ActiveAddress.Fields(Field).NameLocale  
        Else
            arrFelder(iFelderCounter) = ActiveAddress.Fields(Field).Name    
            FieldText = ActiveAddress.Fields(Field).NameLocale   
        End If  
        iFelderCounter = iFelderCounter + 1
    ElseIf CurrentForm.Controls(Field).ColorBackground = vbYellow Then
        CurrentForm.Controls(Field).ColorBackground = vbWhite
    End If
End Sub

 

 

Notwendige Anpassungen: 

CheckField "NameSalutation"

In dieser Zeile übergeben Sie die zu überprüfenden Felder. Bitte die internen Feldnamen vewenden.

 

Wenn die nicht ausgefüllten Pflichtfelder farblich hervorgehoben werden sollen,
so kann das Makro nur auf Ansichtenebene beim Speichern verwendet werden.
Ansicht beim Speichern
Um die Farbe per Makro ändern zu können, muss das entsprechende Feld auf der Ansicht als Namen den "Datenfeld" Namen (interner Feldname) erhalten.
Name und Datenfeldbezeichnung identisch

 

Hinweis:
Um das Makro auch außerhalb einer Ansicht zu verwenden,
müssen die türkis markierten Makrozeilen auskommentiert oder entfernt werden.
Dadurch wird jedoch die farbliche Hervorhebung deaktiviert.

 

Tipp:
Bei Verwendung im Workflow kann über Makros auch eine Reaktion ausgewählt werden. Wird der Speichervorgang abgebrochen, bleibt die Reaktion aber vorausgewählt. In diesem Fall sollte der Makro also nicht nur den Speichervorgang abbrechen, sondern auch die Einstufung in eine bestimmte Reaktion zurücksetzen:

ActiveTicket.Transition = ""

 

 Änderungslog:

09.07.2015

  • Erweiterung um die Möglichkeit, die nicht ausgefüllten Pflichtfelder farblich hervorzuheben.

 

2015-07-09 12:13
Markus Grutzeck

Zwei (oder mehr) Hilfsmittel in einer Reaktion bei Einstufung eines Ticket gleichzeitig ausführen lassen.

Problem:

Der Standard-Dialog zur Definition einer Reaktion bietet die Möglichkeit ein Hilfsmittel ausführen zu lassen. Manchmal macht es aber Sinn mehr als ein Hilfsmittel gleichzeit auszuführen.

Lösung:

Rufen Sie die zusätzlichen Hilfsmittel in einem Makro der Reaktion auf.

Definieren Sie das Makro im Dialog "Reaktion bearbeiten" unter Makros mit einem Haken in "Makro Vor Einstufung"

Application.ExecuteTool("<Name des Hilfsmittels1>")
Application.ExecuteTool("<Name des Hilfsmittels2>")
'...usw

Die Liste kann beliebig fortgesetzt werden. Dadurch ist es auch möglich 3 oder 4 Makros mit einer Reaktion auszuführen.
Bitte beachten Sie das ExecuteTool die Mechanismen ausser Kraft setzen, die bei einem OptOut für einen Kommunikationskanal den Aufruf eines Hilfsmittels des entsprechenden Kommunikationstyps verhindern. Sie müssen also selbst per Makro ggf. prüfen ob ein OptOut gesetzt ist.

2017-05-16 13:08
Ulrich Sticker

Wie kann ich mir ein Bild zu einer Adresse automatisch anzeigen lassen?

Problemstellung:

Ich möchte mir zu manchen Kontakten eine Bilddatei auf einer Ansicht von AGVIP SQL anzeigen lassen. Diese Datei soll am besten direkt auf der Ansicht angezeigt werden und sich in der größe etwa anpassen.

Lösung:

Unter Verwendung eines Feldes vom Typ Datei und unter Nutzung des Webcontrols ist dies spielend leicht zu bewerkstelligen.

Sie finden das in diesem Artikel beschriebene Beispiel am Ende des Artikels zum Download. Um die in diesem Artikel beschriebenen Controls zu verwenden, müssen Sie AGVIP SQL in der Version 1.10.012 oder höher einsetzen.

Die Vorgehensweise ist folgende. Legen Sie in Ihrer Adresstabelle ein Feld mit Namen Bild an und verwenden Sie den Feldtyp Datei.

In diesem Feld speichern wir den Link zur Bilddatei in Ihrem Dateisystem. Sie sollten daher, wie schon von Vorlagen und Ablagen der Hilfsmittel her bekannt, die Bilddatei in einem für alle Anwender identischen Pfad im Netzwerk ablegen. (Wenn Sie derzeit Ihre Vorlagen und V:\Vorlagen speichern, könnten Sie Kontaktbilder ja unter V:\Bilder ablegen. )

Nun müssen wir das Bild noch anzeigen. Hier könnte man im einfachsten Fall einfach die Feldinhalte des Feldes Bild in der URL für das Webcontrol eintragen. Nachteil dieser Lösung ist, das Bild wird auf ganzer größe des Webcontrols angezeigt. So ist ggf. scrollen nötig um das Bild zu betrachten. Einfacher ist es, wir übergeben dem Webcontroll eine HTML-Seite, die das Bild gleich hübsch formatiert und auf die gewünschte Größe bringt. Da nicht jeder Kontakt ein Bild hinterlegt hat, blenden wir das Webcontrol nur bei den Adressen ein, die auch ein Bild hinterlegt haben.

Um das Webcontroll nur einzublenden wenn auch ein Bildpfad hinterlegt ist, muss folgendes Makro im Makro "beim Laden" der Ansicht hinterlegt werden. (Das Webcontrol hat den Namen "Bildanzeige" als Eigenschaft zuvor erhalten)

If ActiveAddress.Fields("Bild")="" Then
 CurrentForm.Controls("Bildanzeige").Visible=false
Else
 CurrentForm.Controls("Bildanzeige").Visible=true
End If

Um das Bild dann in die Seite des Controls einzupassen übergeben wir gleich einen ganzen Satz HTML-Code mit und fügen in diesen den Dateilink aus dem Feld Bild einfach mit ein. Da HTML Zeilenumbrüche nicht beachtet, haben wir den Code der normalerweise auf mehreren Zeilen dahrgestellt wir, einfach in eine Zeile einer Text-Variablen geschrieben. Da ein kleiner Rand nötig ist um den Scrollbalken zu verhindern, stellen wir die relative Größe des Bildes auf 97% der zu verfügung stehenden Breite im Control.

Dies geschieht über ein Makro im Webcontrol "Bildanzeige"

 Dim HTMLData, bildfeld
'Bitte geben Sie das Datenfeld an, das den Link zur Bilddatei beherbergt
bildfeld =ActiveAddress.Fields("Bild") 
 
'Hier keine Änderung mehr vornehmen
'######################################################################
CurrentForm.Controls("Bildanzeige").control.Document.BGColor = "#ECE9D8"
HTMLData="<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN""" & _
 """http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""><html xmlns=" & _
 """http://www.w3.org/1999/xhtml""><head><meta http-equiv=""Content-Type"" " & _
 "content=""text/html; charset=utf-8"" /><title>AGVIP Bildanzeige</title></head>" & _
 "<BODY style=""font-family: arial; font-size: 10px"" bgcolor=""#ECE9D8"">" & _
   "<body><img src="" mce_src=""" & bildfeld & """ width=""97%"" height=""97%""" & _
   " alt=""Bildanzeige ist unterdrückt"" /></body></html>"
CurrentForm.Controls("Bildanzeige").value = HTMLData
 

Fertig ist unsere Kontaktbildanzeige für AGVIP SQL. Zur Installation der anliegenden Beispielansicht gehen Sie bitte wie folgt vor:

  1. Stellen Sie sicher das Ihre AGVIP SQL Version mindestens die Version 1.10.012 oder größer ist.
  2. Legen Sie in Ihrer Adresstabelle unter Arbeitsbereich -> Administration -> Adresstabellen ein Feld mit dem Namen "Bild" an und dem Feldtyp Dateiname.
  3. Öffen Sie unter Arbeitsbereich -> Administration -> Ansichten den Ansichteneditor und klicken Sie auf Datei -> Importieren und wählen Sie die Datei Bild anzeigen.agfrm aus der anliegenden ZIP-Datei.
  4. Ordnen Sie der Ansicht unter Eigenschaften den Namen Ihrer Adresstabelle zu und speichern Sie die Ansicht.

2011-08-18 15:30
Ulrich Sticker

Wie kann ich den Historieneintrag im Workflow ergänzen?

Problem im Workflow:

Ein externer Auftraggeber erhält Bemerkungen zu dem aktuellen Vorgang. Diese Bemerkungen werden in dem Feld "Bemerkung Auftraggeber" vom Typ MEMO, 2000 Zeichen abgelegt. Parallel soll aber für den Agenten diese Information zusätzlich in die Historie zu dem Vorgang eingetragen werden.

Lösung:

Das Objekt "ActiveTicket.Note" ermöglicht im Workflow den Zugriff auf den Bemerkungstext des aktuellen Historieneintrages.

Musterbeispiel:

' Wir wollen das Feld "Bemerkung Auftraggber" vom Typ MEMO in die "Historie" eintragen,
' wir eine finale Einstufung erreicht haben.

 ActiveTicket.Note = "Bemerkung Auftraggeber:" & vbcr & _
ActiveAddress.Fields("Bemerkung_Auftraggeber").Value & vbcr & vbcr & _
ActiveTicket.Note

2011-08-18 15:39
Markus Grutzeck

Wie baue ich einen "Zurück" Schalter im Web-Controll?

Problem:

Es wird ein Web-Controll auf einer Ansicht genutzt. Dazu soll ein "Zurück-Schalter implementiert werden.
Dies setzt voraus, dass das Navigieren im Web-Controll vom Administrator erlaubt wurde.

Lösung:

Es ist ein zusätzlicher Makro auf der Ansicht zu implementieren. Hinter diesem Schalter wird der Makro

CurrentForm.Controls("Browser").Control.GoBack 

gesetzt. Das Problem ist nur, dass e seine Fehlermeldung gibt, wenn ein "Zurück" nicht möglich ist. Dann müsste man ein On Error Resume Next noch davorsetzen, um diesen Fall abzufangen.

 

Also komplett:

On Error Resume Next

CurrentForm.Controls("Browser").Control.GoBack

On Error Goto 0

 

2009-02-18 17:31
Markus Grutzeck

Datum formatieren

Herausforderung:

Das aktuelle Datum muss im Format YYYYMMDD in ein Textfeld geschrieben werden.

Die Funktionen:

     strDatum = Year(now) & Month(now) & Day(now)

oder

     strDatum2 = Datepart("yyyy",Now) & Datepart ("m", Now) & Datepart ("d",Now)

liefern keine führende Nullen. D.h. "10.03.2010" wird dann als"2010310" ausgegeben.

Hier hilft nur das Zerlegen das Datums über

    Dim DateYear, DateMonth, DateDay

    DateDay = Right("00" & CInt(Day(Now)), 2)
    DateMonth = Right("00" & CInt(Month(Now)), 2
    DateYear = Right("0000" & CInt(Year(Now)), 4
    strDatum3 = Dateyear & DateMonth & DateDay

Oder als Einzeiler:

MsgBox Right("0000" & CInt(Year(Now)), 4) & Right("00" & CInt(Month(Now)), 2) & Right("00" & CInt(Day(Now)), 2)

Alternativ wäre auch möglich:

    strDatum = Datepart("yyyy",Now) & right(0 & Datepart("m", Now),2) & right(0 & Datepart ("d",Now),2)

2010-06-09 16:54
Markus Grutzeck

Historieneintrag / geplantes Telefonat / Wiedervorlage im freien Arbeiten erzeugen

Sie möchten über einen Makro einen Historieneintrag, Wiedervorlage oder geplantes Telefonat erzeugen

Herausforderung:

Im freien Arbeiten auf Ebene der Adresstabelle soll ein neuer Historieneintrag erzeugt werden. Dabei können Sie nahezu alle Elemente eines Historieneintrags manipulieren.

Beispiel:

Im nachfolgenden Beispiel wird ein Besuchstermin in die Historie eingetragen. Dabei wird davon ausgegangen, dass es folgende Felder gibt:
- TERMIN, Typ Datum, Zeit
Hier wird der vereinbarte Außendiensttermin erfasst.
- AUSSENDIENST_ID, Typ User-ID
Hier wird der Name des Aussendienstlers festgelegt, der den Termin wahrnimmt.

Im Historieneintrag wird der eine Notiz vom Typ BESUCH EXTERN für den AUSSENDIENST erzeugt.

 With ActiveAddress.History.Add(11)
  .Fields("Time") = ActiveAddress.Fields("Termin").Value
  .Fields("Text") = "Geplanter Besuch mit " & ActiveAddress.Fields("Aussendienst_ID").Value.Name & ". Bitte Besuchsergebnis eintragen ..."
  .Fields("IDUser").value = ActiveAddress.Fields("Aussendienst_ID").Value.Name
 End With

Erklärung:

   With ActiveAddress.History.Add(11)
Der Typ in Klammern definiert den Kommunikationstyp bzw. Art des Historieneintrages. Der Code hat dabei folgende Bedeutung:

 Bedeutung Name   Wert
 Undefiniert  agHistoryTypeNon  0
 Notiz  agHistoryTypeNote  1
 Telefonat eingehend  agHistoryTypePhonecallIn  2
 Telefonat ausgehend  agHistoryTypePhonecallOut  3
 Email  eingehend  agHistoryTypeEmailIn  4
 Email ausgehend  agHistoryTypeEmailOut  5
 Brief eingehend  agHistoryTypeLetterIn  6
 Brief ausgehend  agHistoryTypeLetterOut  7
 Fax eingehend  agHistoryTypeFaxIn  8
 Fax ausgehend  agHistoryTypeFaxOut  9
 Perönlicher Kontakt im Hause  agHistoryTypePersonalIn  10
 Perönlicher Kontakt auswärts  agHistoryTypePersonalOut  11
 Sonstiges  agHistoryTypeOther  12
 SMS eingehend  agHistoryTypeSMSIn  14
 SMS ausgehend  agHistoryTypeSMSOut  15
 Eintrag der durch ein Telefonat oder
 andere Kommunikationsform erzeugt wurde
 gHistoryTypeComm  100
 Wiedervorlage  agHistoryTypeTodo  200
 Geplantes Telefonat  agHistoryTypePlannedCal  300
 Eintrag, der durch den Workflow erzeugt wurde  agHistoryTypeWorkflow   400


                .Fields("Time") = now
Datum und Uhrzeit des Historieneintrages. Ist immer zwingend zu setzen.

                 .Fields("Text") = "
Bemerkungstext. Max. 2.000 Zeichen.

           .Fields("IDUser").value =
Benutzer, für den der Eintrag erzeugt wird. Wird diese Feld nicht gesetzt, wird der Historieneintrag für den aktuell angemeldeten Benutzer eingetragen.

 

2010-05-21 09:54
Markus Grutzeck

Auf Informationen im Benutzerprofil zugreifen - Feldtyp "ID_Benutzer"

Herausforderung:

Sie verwenden Auswahllisten für den zuständigen Vertriebsmitarbeiter, den Servicemitarbeiter, den Mitarbeiter, der den letzten Abschluss gemacht hat, usw.
Dafür eignet sich der Feldtyp "ID_Benutzer". Denn hier sind automatisch in einer Auswahlliste aller aktiven Anwender von AG-VIP SQL hinterlegt.
Die Auswahlliste besteht dabei aus dem Login-Namen (Kürzel) und Vor- und Nachnamen des Anwenders (Beschreibung).
In manchen Fällen ist es aber notwendig, auf weitere Informationen des Benutzers zugreifen zu können.

Lösung:

Das Makroobjekt USER bietet den Zugriff auf alle Felder im Benutzerprofil.

Das nachfolgende Beispiel setzt voraus, dass es ein Feld "Aussendienst_ID" vom Feldtyp "ID_Benutzer" gibt.

Dim Nachricht

 Nachricht = "Aktuelle Benutzerinformation:" & vbcrlf & "Benutzername: " & ActiveAddress.Fields("Aussendienst_ID").Value.Fullname & vbcrlf & _
   "Durchwahl: " & ActiveAddress.Fields("Aussendienst_ID").Value.DirectPhoneNumber & vbcrlf & _
   "Telefon: " & ActiveAddress.Fields("Aussendienst_ID").Value.PhoneNumber & vbcrlf & _
   "EMail: " & ActiveAddress.Fields("Aussendienst_ID").Value.Email & vbcrlf & _
   "Fax: " & ActiveAddress.Fields("Aussendienst_ID").Value.FaxNumber & vbcrlf & _
   "Funktion: " & ActiveAddress.Fields("Aussendienst_ID").Value.Function  & vbcrlf & _
   "Straße: " & ActiveAddress.Fields("Aussendienst_ID").Value.Street & vbcrlf &_
   "Straße2: " & ActiveAddress.Fields("Aussendienst_ID").Value.Street2 & vbcrlf & _
   "Land: " & ActiveAddress.Fields("Aussendienst_ID").Value.Country & vbcrlf & _
   "PLZ: " & ActiveAddress.Fields("Aussendienst_ID").Value.ZipCode & vbcrlf & _
   "Ort: " & ActiveAddress.Fields("Aussendienst_ID").Value.City & vbcrlf & _
   "Bundesland: " & ActiveAddress.Fields("Aussendienst_ID").Value.State

   
Msgbox Nachricht

Es erscheint eine Messagebox mit allen Informationen des im Feld "Aussendienst_ID" befindlichen Anwenders.

Alternativ kann man auch über die "Fields"-Eigenschaft auf den Wert zugreifen:

 ActiveAddress.Fields("Aussendienst_ID").Value.Fields(?State?)

2010-06-11 14:40
Markus Grutzeck

Während eines Telefonats einen weiteren externen Ansprechpartner telefonisch befragen bzw. das momentane Telefonat diesem externen Ansprechpartner übergeben (ConsultantCall) Das Verbindungs- bzw. Vermittlungsergebnis wird zusätzlich in der Historie gespeichert.

Beschreibung:
In einem Telefonat kann es Situationen geben, in denen man evtl. einen externen Anruf tätigen müsste, um auf eine Frage der momentan im Gespräch befindlichen Person zu antworten bzw. dieses Telefonat an einen externe Person zu übergeben. Man möchte jedoch zusätzlich auch noch zu dieser externen Verbindung einen Historieneintrag haben (mit einigen Verbindungsdaten).

Lösung:
Über eine Schaltfläche erzeugen wir ein neues ConsultantCall Objekt für die externe Verbindung und speichern dieses in einer Globalen-Variable damit wir dessen Zustand beim Speichern des Datensatzes verwenden können. Während der Weiterleitung wird automatisch das aktuelle Gespräch in die Warteschleife gesetzt. Beim Speichern übernehmen wir dann zusätzlich noch die Informationen über die externe Verbindung in die Historie auf. Diese Verbindungs-Einträge für die externe Verbindung werden bei einer Auswertung nicht einbezogen und können auch nicht ausgewertet werden.

Umsetzung:
In der unten aufgeführten Ansicht (ConsultantCall.agfrm) sind einige Schaltflächen hinterlegt.
Die Schaltfläche "Weiterleitung" verbindet zu einer in dessen Makro hinterlegten Rufnummer.
Die anderen Schaltflächen sind selbsterklärend und haben mit der externen Verbindungs- bzw. Weiterleitungsoption nichts zu tun.
Anpassungen sind also nur im Makro der Schaltfläche "Weiterleitung" notwendig (z.B. die Rufnummer eingeben bzw. das Feld auf der Ansicht mit der Rufnummer etc.). In den Makropositionen "Beim Laden", "Beim Speichern" und "Beim Entladen" sind ebenfalls noch notwendige Makrozeilen hinterlegt. In der Makroposition "Beim Speichern" wird der Text für den Eintrag in der Historie definiert. Dort können Sie diesen bei Bedarf ändern.

Hinweis:
Falls es gewünscht sein sollte, dies auf einem Skript anstatt auf einer Ansicht zu realisieren, so müssen die Makropositionen "Beim Laden", "Beim Speichern" und "Beim Entladen" von der Ansicht in den selben Makrostufen der Bearbeitungsstufe hinterlegt werden. 

Problem:
Es trat ein Problem bei der Weiterleitung auf (vermutlich TAPI-Treiber abhängig). Wenn eine Amtsholung notwendig ist (z.B. eine vorangestellte 0) und zusätzlich noch eine Ländervorwahl in der Rufnummer integriert ist (+49, 0049 etc.) wird die Rufnummer nicht korrekt angewählt. Als Lösung bzw. Umgehung dieses Problems wird die Funktion "CutCountryCode" verwendet, welche die Ländervorwahl sofern eine Amtsvorwahl eingetragen wurde entfernt. Daraus folgt jedoch, dass keine Weiterleitungen ins Ausland möglich sind.
Im Makro ist dies als Standard definiert. Dies kann jedoch einfach ausgeschaltet werden in dem die Zeile 47 mit einem einzelnen Hochkomma  --> ' auskommentiert wird.
Beispiel:
47 'strLandvorwahl = CutCountryCode(strAmt, strLandvorwahl)

Jedoch sollte sichergestellt sein, dass die Rufnummer korrekt gewählt wird damit die Weiterleitung richtig funktioniert.

Edit:
Der Hotfix 3 für AG-VIP SQL 1.20.011 müsste dieses Problem behoben haben. Somit müsste keine Amtsholung sowie die Funktion "CutCountryCode" verwendet werden um eine korrekte Weiterleitung aufzubauen.

2012-06-04 10:01
Peter Brandt

Bereinigung eines Textes von allen nicht numerischen Zeichen mit der Option für Ausnahmen.

Beschreibung:
Textfelder, welche jedoch für numerische Zeichen vorgesehen sind z.B. Telefonnummer- oder Faxnummerfelder, sollen von nicht erwünschten Zeichen bereinigt werden. Der Grund dafür ist oftmals eine Benutzerfalscheingabe wie z.B. ein zusätzlicher Name der Person zu der Telefonnummer hinterlegt in diesem Feld. Ein weiterer Grund ist auch, wenn man z.B. über einen Drittanbieter per E-Mail eine SMS oder ein FAX versenden möchte und dann die kanonische Formatierung aus AG-VIP SQL übernommen wird ( mit Klammern, Bindestrichen, Leerzeichen etc. ) und diese nicht in dieser Formatierung per E-Mail verschickt werden kann.

Lösung:
Eine Funktion, welche jedes Zeichen des Textes einzeln anschaut und überprüft ob es ein numerisches Zeichen ist (IsNumeric) und auch nur dann diese numerischen Zeichen wieder zusammenfügt. Letztendlich wird der Text als numerische Zeichenfolge zurückgegeben. Eine Option auf spezielle Ausnahmen z.B. für das Plus "+" für die Ländervorwahl z.B. +49 ist durch eine ElseIf-Abfrage ermöglicht.

Makro-Funktion:
'Säuberung eines Textes von allen nicht numerischen Zeichen (Buchstaben, Sonderzeichen, Leerzeichen).
'Ausnahme das Zeichen Plus "+"
Function GetCleanedText(strNumber)
  Dim iCounter, cCharacter
  For iCounter = 1 To Len(strNumber)
    cCharacter = Mid(strNumber, iCounter, 1)
    If IsNumeric(cCharacter) Then
      GetCleanedText = GetCleanedText & cCharacter
    ElseIf cCharacter = "+" Then
      GetCleanedText = GetCleanedText & cCharacter
    End If
  Next
End Function

Anwendung:
Die Funktion wird am Ende des Makros angefügt und beim Aufruf des Feldes wird der Funktionsname vorangestellt (aufgerufen).

Beispiel:
Dim strFaxOffice, strFaxPrivate, strPhone1

strFaxOffice = GetCleanedText(ActiveAddress.Fields("CommFaxOffice").Value)
strFaxPrivate = GetCleanedText(ActiveAddress.Fields("CommFaxPrivate").Value)
strPhone1 = GetCleanedText(ActiveAddress.Fields("CommPhone1").Value)

Etc.

Hinweis:
Bei einer Verwendung von Ländervorwahl und einer Ortsvorwahl mit vorangestellter 0 z.B. +49 (06181) wird die 0 nicht entfernt!
Folge --> +4906181 (wegen Benutzerfalscheingabe! denn richtig wäre +49 (6181) ohne die führende 0)
Die Ausgabe ist Funktionsbezogen korrekt da alle Zeichen numerisch sind (mit Ausnahme des Plus)
Jedoch wäre für eine korrekte Telefon- bzw. FAX-Nummer folgende Ausgabe gewünscht gewesen --> +496181
Falls also die Funktion wirklich für eine Umfomatierung von Telefonnummern verwendet werden sollte, muss zuvor noch eine Abfrage über den Text gemacht werden. Diese sollte dann die führende 0 der Ortsvorwahl entfernen (sofern eine Ländervorwahl angegeben ist und die Ortsvorwahl eine führende 0 besitzt). Achten Sie also am besten darauf, dass Nummern mit einer Ländervorwahl nie mit einer vorangestellten 0 in der Ortsvorwahl gespeichert werden können z.B. mit Hilfe eines Makros beim Speichern. Dann wird dieses Problem nie auftreten können.

2010-08-19 14:06
Peter Brandt

Über eine Webseite einen bestimmten Adressdatensatz in AG-VIP SQL öffnen.

Beschreibung:
Sie möchten über betätigen eines Webbuttons, eine bestimmte Adresstabelle über dessen Id in AG-VIP SQL öffnen um diese sofort zu bearbeiten.

Lösung:
Im HTML-Code wird ein <script language="VBScript"> ... </script> Tag verwendet um innerhalb dieser Bezeichnung über VBScript ein Schnittstellen Objekt für AG-VIP SQL zu erstellen. Dieser VBScript Code wird innerhalb einer Funktion hinterlegt. Über diese Funktion lässt sich dann der Code per Knopfdruck ausführen. Als Angaben muss der Name der Adresstabelle sowie die Id des Adressdatensatzes angegeben werden.

Umsetzung:
<html>
  <title>Beispiel</title>
  <head>
    <script language="VBScript">
      Function Test()
        Dim Application, Datensatznr, Adresstabelle
        Set Application = CreateObject("AGVIP.SQL.Application")
        Adresstabelle = Trim(CStr("Kunden"))
        Datensatznr = CLng("49753")
        Set Application.ActiveAddressSet = Application.AddressSets(Adresstabelle)
        Application.ActiveAddressSet.Load(Datensatznr)
      End Function
    </script>
  </head>
  <body>
   <input type="button" value="Test Button" onClick='Test()'>
  </body>
</html>

Erweiterung:
Anstelle von fixen Namen und Werten der Adresstabelle und der Datensatznummer, können auch Parameter verwendet werden.
So wäre es zum Beispiel möglich, über eine Liste von Adressdatensätzen einen angeklickten Listeneintrag direkt über dessen Id in AG-VIP SQL zu öffnen.


<html>
  <title>Beispiel</title>
  <head>
    <script language="VBScript">
      Function Test (AdrTblName, DatensatzNummer)
        Dim Application, Datensatznr, Adresstabelle
        Set Application = CreateObject("AGVIP.SQL.Application")
        Adresstabelle = Trim(CStr(AdrTblName))
        Datensatznr = CLng(DatensatzNummer)
        Set Application.ActiveAddressSet = Application.AddressSets(Adresstabelle)
        Application.ActiveAddressSet.Load(Datensatznr)
      End Function
    </script>
  </head>
  <body>
   <input type="button" value="Test Button" onClick="Test 'Kunden','49753' ">
  </body>
</html>

Im Anhang befindet sich eine .zip Datei mit einem zusammengesetzten Screenshot. In diesem Screenshot sind die Internetexplorer Sicherheitseinstellungen zu sehen, welche angepasst werden müssen damit der Zugriff gewährt wird.

2010-10-29 11:46
Peter Brandt

Portables verwalten/verwenden von Eventmakros

Problem:
Um ein Eventmakro z.B. in der Stufe (Event) "beim Speichern" abzubrechen muss man die betreffende Stufe mit dem Anhang ".abort" im Makro direkt ansprechen z.B. OnSave.abort.
Dies ist oftmals mit Fehlern verbunden, da man den Makrocode aus der Stufe "beim Speichern" evtl. kopiert, jedoch dann in eine andere Makrostufe einfügt und somit dann ein Fehler beim Ausführen des Makrocodes "OnSave.abort" auftritt weil die Stufe z.B. "PreReaction.abort" benötigt um abgebrochen zu werden.

Lösung:
Die Verwendung des Objektes "Context" bietet die Eigenschaft "Event" an. Die Event Eigenschaft erlaubt Zugriff auf das EventMacro Objekt, des aktuellen Ereignismakro. Es liefert Nothing, wenn der aktuelle Kontext nicht ein Ereignismakro ist.

Anwendung:
Verwenden Sie anstelle
OnSave.abort, PreReaction.abort sowie für alle anderen Makrostufen
das Context Objekt:
Context.Event.abort

2010-11-03 11:54
Peter Brandt

Eine kürzlich durch ein Update erhaltene Erweiterung funktioniert nicht.

Beschreibung:
Eine Erweiterung (zum Beispiel die Möglichkeit per Makro auf die Zwischenablage zuzugreifen) funkioniert nicht und gibt eine ähnliche Meldung wie die Folgende aus:
---------------------------
AG-VIP SQL
---------------------------
Das Ausführen eines Makros (Makro) ist fehlgeschlagen!
In Modul "Hauptmodul" Zeile 10, Spalte 1 trat ein Laufzeitfehler auf:Das Objekt unterstützt diese Eigenschaft oder Methode nicht.: 'Macro.Clipboard'Das Makro wird abgebrochen!
---------------------------
OK  
---------------------------
 

Lösung:
Bei der Installation wurden nicht alle .dll Dateien korrekt registriert.
Eine manuelle Registrierung ist notwendig.

Vorgang:
Sie benötigen Administrator-Rechte, das heißt in Windows XP müssen Sie sich mit einem Benutzer mit solchen Rechten anmelden.
Starten Sie auf dem Rechner auf dem die neuen Erweiterungen nicht funktionieren eine Kommandozeileneingabeaufforderung über das Windowslogo bzw. der "Start" Schaltfläche in Ihrer Taskleiste von Windows.
Geben Sie nun in das Eingabefeld "Programme / Dateien durchsuchen" bzw. bei Windows XP drücken Sie auf "Ausführen" und geben dann in das Eingabefeld die Buchstabenkürzel "cmd" ein. Die Windows XP Benutzer mit Administrator-Rechten können die Eingabe mit Enter bestätigen. Die Windows Vista und Windows 7 Benutzer, müssen die nun in der Liste aufgefürte "cmd.exe" mit einem rechtsklick "Als Administrator ausführen" starten. Geben Sie nun in der Kommandozeileneingabeaufforderung den Pfad Ihrer AGVIP.EXE an und übergeben zusätzlich den Parameter
-register z.B. wenn sich die AGVIP.EXE auf einem Netzwerkverzeichnis befindet (Server) und das Netzwerklaufwerk den Buchstaben W verwendet:
"W:\Programme\AG-VIP SQL\AGVIP.EXE" -register

Beachten Sie bitte, dass AG-VIP SQL und Outlook währenddessen geschlossen ist um evtl. auftretende Abhängigkeiten im Vorfeld auszuschließen.

Sofern keine Fehlermeldung nach Bestätigung der Eingabe angezeigt wird, war die Registrierung erfolgreich.
Die Kommandozeileneingabeaufforderung können Sie nun mit der Eingabe von "Exit" beenden.

2011-08-17 15:03
Peter Brandt

Funktion zum Erzeugen einer gültigen vCard Datei (.vcf)

Beschreibung:
Mit dieser Funktion kann eine gültige vCard-Datei (.vcf) erzeugt werden mit der aus AG-VIP SQL Kontakte in andere Software oder Geräte übertragen werden kann (sofern diese das Format unterstützen).

Hinweis:
Der folgende Makrocode ist in einem Hilfsmittel, einer Schaltfläche, im MakroInclude oder sonstiger Makroausführungsposition z.B. "beim Speichern" möglich.
Es gibt zwei Versionen.
Die Paramater starke, bei der beim Aufruf der Funktion sämtliche Inhalte übergeben werden müssen und die Parameter schwache, bei der alle Inhalte bis auf den Speicherort und Dateinamen aus AG-VIP SQL direkt ermittelt werden.
Der Speicherort und Dateiname wird immer im ersten Parameter in der Variable "strPathFile" angegeben.
Ein Beispiel für den Aufruf der Parameter schwachen Funktion:
MakevCard "C:\Temp\Test.vcf"

Falls das Makro in einem Hilfsmittel mit der Angabe des neuen Dateinamens verwendet werden sollte, kann mit dem Aufruf "ActiveTool.Filename"dieser Pfad direkt ausgelesen werden.
Beispiel:
MakevCard ActiveTool.Filename
 

Parameter starke Makro-Version:
' this Function creates a vCard (.vcf), which can be used to import an contact entry
Function MakevCard( strPathFile, strFirstname, strLastname, strCompany, strStreet, strCity, strZipCode, strCountry, _
                               strTelWork, strTelPrivate, strTelMobil, strTelOther, strTelFax, strEmail1, strEmail2, strEmail3, strWebsite)
     
     Dim strDirectorySeperator, icsFile, fso
    
     set fso = createobject("scripting.filesystemobject")
     set icsFile = fso.createtextfile(strPathFile,true)

     ' fill the file with the icalendar format
     icsFile.writeline("BEGIN:VCARD")
     icsFile.writeline("VERSION:3.0")
     icsFile.writeline("N:" & strLastname & ";" & strFirstname)
     icsFile.writeline("FN:" & strFirstname & " " & strLastname)
     icsFile.writeline("ORG:" & strCompany)
     icsFile.writeline("ADR;TYPE=WORK,POSTAL,PARCEL:;;" & strStreet & ";" & strCity & ";;" & strZipCode & ";" & strCountry)
     icsFile.writeline("TEL;TYPE=VOICE,WORK:" & strTelWork)
     icsFile.writeline("TEL;TYPE=VOICE,HOME:" & strTelPrivate)
     icsFile.writeline("TEL;TYPE=VOICE,CELL:" & strTelMobil)
     icsFile.writeline("TEL;TYPE=VOICE,MSG:" & strTelOther)
     icsFile.writeline("TEL;TYPE=FAX,WORK:" & strTelFax)
     icsFile.writeline("EMAIL;TYPE=INTERNET,PREF:" & strEmail1)
     icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail2)
     icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail3)
     icsFile.writeline("URL:" & strWebsite)
     icsFile.writeline("END:VCARD")

     set fso = nothing
End Function

Parameter schwache Makro-Version:

' this Function creates a vCard (.vcf), which can be used to import an contact entry
vPfad = "C:\temp\" & ActiveRecord.Fields("ShortName").Value & ".vcf"

' Falls der Ablagepfad nach Erzeugen angezeigt werden soll, nachfolgende Zeile aktivieren
' Macro.Clipboard = vPfad
' msgbox "Der Pfad zur vCard: " & vPfad & " kann über die Tastenkombination STRG & V eingefügt werden."

MakevCard vPfad

Function MakevCard(strPathFile)
Dim strFirstname, strLastname, strCompany, strStreet, strCity, strZipCode, strCountry, strFunction
Dim strTelWork, strTelPrivate, strTelMobil, strTelOther, strTelFax, strEmail1, strEmail2, strEmail3, strWebsite

strFunction = ActiveAddress.Fields("Function").value
strFirstname = ActiveAddress.Fields("NameFirst").value
strLastname = ActiveAddress.Fields("NameLast").value
strCompany = ActiveAddress.Fields("Name1").value
strStreet = ActiveAddress.Fields("Street").value
strCity = ActiveAddress.Fields("City").value
strZipCode = ActiveAddress.Fields("ZipCode").value
strCountry = ActiveAddress.Fields("Country").value
strTelWork = ActiveAddress.Fields("CommPhoneOffice").value
strTelPrivate = ActiveRecord.Fields("CommPhonePrivat").Value
strTelMobil = ActiveAddress.Fields("CommPhoneMobil").value
strTelOther = ActiveAddress.Fields("CommPhone1").value
strTelFax = ActiveAddress.Fields("CommFaxOffice").value
strEmail1 = ActiveAddress.Fields("CommEmail1").value
strEmail2 = ActiveAddress.Fields("CommEmail2").value
strEmail3 = ActiveAddress.Fields("CommEmail3").value
strWebsite = ActiveRecord.Fields("CommInternet").Value

Dim strDirectorySeperator, icsFile, fso

set fso = createobject("scripting.filesystemobject")
set icsFile = fso.createtextfile(strPathFile,true)

' fill the file with the icalendar format
icsFile.writeline("BEGIN:VCARD")
icsFile.writeline("VERSION:3.0")
icsFile.writeline("N:" & strLastname & ";" & strFirstname)
icsFile.writeline("FN:" & strFirstname & " " & strLastname)
icsFile.writeline("ORG:" & strCompany)
icsFile.writeline("TITLE:" & strFunction)
icsFile.writeline("ADR;TYPE=WORK,POSTAL,PARCEL:;;" & strStreet & ";" & strCity & ";;" & strZipCode & ";" & strCountry)
icsFile.writeline("TEL;TYPE=VOICE,WORK:" & strTelWork)
icsFile.writeline("TEL;TYPE=VOICE,HOME:" & strTelPrivate)
icsFile.writeline("TEL;TYPE=VOICE,CELL:" & strTelMobil)
icsFile.writeline("TEL;TYPE=VOICE,MSG:" & strTelOther)
icsFile.writeline("TEL;TYPE=FAX,WORK:" & strTelFax)
icsFile.writeline("EMAIL;TYPE=INTERNET,PREF:" & strEmail1)
icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail2)
icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail3)
icsFile.writeline("URL;WORK:" & strWebsite)
icsFile.writeline("END:VCARD")

set fso = nothing
End Function

Einbindung:
Kopieren Sie einer der beiden Makro-Versionen an die von Ihnen gewünschte Position (Hilfsmittel, Schaltfläche, MakroInclude etc.).
Falls beide Versionen eingesetzt werden sollten, muss zuvor bei einer der Funktionen der Funktionsname geändert werden, da diese momentan identisch sind.
Der Aufruf erfolgt über den Funktionsnamen und der Übergabe der Werte an die Parameter der Funktion wie in dem kleinen Beispiel im Punkt Hinweis ersichtlich.

 

2018-10-15 08:28
Peter Brandt

Hilfsmittel zum Erzeugen einer gültigen iCalendar Datei (.ics)

Beschreibung:
Mit diesem Hilfsmittel kann eine gültige iCalendar-Datei (.ics) erzeugt werden mit der aus AG-VIP SQL Termine (z.B. aus einem Datumsfeld der Terminierungs-Option) in andere Software oder Geräte übertragen werden kann (sofern diese das Format unterstützen).

Hinweis:
Für eine korrekte Umsetzung des iCalendar Formats sind mehrere Vorgänge notwendig.
Zum Beispiel dürfen bestimmte Texte nur eine bestimmte Länge haben und müssen dann umgebrochen werden oder die Zeitangabe muss in UTC angegeben werden, was zur Folge hat, dass die UTC Zeitverschiebung des aktuellen Standpunktes ausgelesen und korrigiert werden muss.
Diese und noch andere Vorgänge werden in der Funktion zur iCalendar-Datei Generierung behandelt.
Um manuell einen Umbruch im Beschreibungstext zu verwenden, muss die Zeichenfolge "\n" benutzt werden.

Beispiel Aufruf:
MakeiCal "C:\Temp\MyiCal.ics", cDate("13.05.2011"), cDate("15:30:00") , cDate("13.05.2011"), cDate("16:00:00"), _
"Hessen-Homburg-Platz 1, 63452, Hanau", "Meeting mit Herrn Grutzeck um 15:30 bis 16:00Uhr", _
"Besprechung\nzur Erstellung eines geeigneten Geschäftsprozesses"

 

Einbindung:

Importieren Sie das Hilfsmittel sowie das Makroinclude im Anhang dieses KB-Artikels in AG-VIP SQL.
Der Aufruf erfolgt über den Funktionsnamen und der Übergabe der Werte an die Parameter der Funktion wie in dem kleinen Beispiel im Punkt Hinweis ersichtlich. Diese werden über Variablen im Kopfbereich des Hilfsmittelmakros gesetzt.

Änderungslog:

08.11.2017

  • Umbruchparameter im Makroinclude angepasst und den Beschreibungstext dazu erweitert.

26.02.2014

  • UTC-Berechnung korrigiert (Sommer-/Winterzeit wird nun korrekt berücksichtigt).
  • Kombination aus Makroinclude und Hilfsmittelaufruf angehängt.

08.10.2020

  • Fehler bei der Umbruchermittlung der Terminberschreibung behoben

 31.10.2013

  • Artikel überarbeitet. Makrocode aus dem KB-Artikel komplett entfernt und in ein angehängtes Hilfsmittel implementiert.
  • Hilfsmittel verbessert (UTC-Berechnung überarbeitet).

2014-02-26 10:40
Peter Brandt

Funktionsbibliothek Standard1

Beschreibung:

Mit der Funktionsbibliothek "Standard1" kann in alle Makros ein erweitereter Befehlsumfang eingebunden werden. Hierzu wird die Funktionsbibliothek über den Befehl

MacroInclude "Standard1"

in das Makro eingebunden. Anschließend können die in der Funktionsbibliothek vorhandenen Funktionen direkt in den eigenen Macros genutzt werden. Viele Hilfsmittel setzen die Installation dieser Makrobibliothek voraus. Um diese Makrobibliothek nutzen zu können müssen Sie mindestens über die AG-VIP SQL 1.21.002 oder höher verfügen. Eine Beschreibung der durch diese Bibliothek verfügbaren neuen Funktionen finden Sie nachfolgend.

Einrichtung:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Enpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Makro Includes -> Import
    Wählen Sie nun die Datei "Standard1.agminc"
  4. Fügen Sie anschließend die Zeile MacroInclude "Standard1" im Kopfbereich des Makros ein, indem Sie eine Funktion aus dieser Bibliothek verwenden wollen.
WICHTIGE HINWEISE:

Nehmen Sie bitte keine Veränderungen in den Funktionen dieser Bibliothek vor. Wir erweitern diese beständig. Wenn Sie eine aktuellere Version dieser Bibliothek zum Einsatz bringen wollen, würden Ihre Änderungen verloren gehen.

Wenn Sie an den Funktionen Anpassungen vornehmen wollen, erstellen Sie bitte eine Kopie dieser Bibliothek. (Z.B. mit dem Namen "AngepassteStandard1"). Damit bleibt Ihr System auch bei Anpassungen "Updatefähig".

Vorraussetzungen zur Nutzung dieser Funktionsbibliothek:

Es muss mindestens AG-VIP SQL 1.21.002 Build 454 vom 22.11.2010 auf dem System installiert sein.

Einige wenige Funktionen nutzen spezielle Shell-Objekte o.ä. die nicht in einer 64-Bit Umgebung lauffähig sind. Sofern diese jedoch nicht aufgerufen werden kann die Bibliothek auch unter 64-Bit Systemen verwendet werden.

Beschreibung der durch diese Funktionsbibliothek verfügbaren Funktionen:

1. Allgemein

2. Datum, Uhrzeit und Zahlen

3. Interaktion und Dateizugriff

4. Hilfsmittel- und Systemfunktionen

5. Datenbank


1. Allgemein:

2. Datum, Zeit und Zahlen

3. Interaktion und Dateizugriff

4. Hilfsmittel- und Systemfunktionen 

5. Datenbank (Bitte beachten Sie das wir für direkte Datenbankzugriffe keinen Support leisten!)

2018-05-11 09:04
Ulrich Sticker

Systembibliothek (Verwendung in Hilfsmitteln oder Subfunktion)

Beschreibung:

In der Funktionsbibliothek Standard1 sind diverse Funktionen als Systembibliothek gekennzeichnet. Eine weitere Beschreibung für die Nutzung dieser Funktionen existiert nicht.

Der Grund hierfür ist, das diese Funktionen von Hilfsmitteln verwendet und voraussgesetzt werden oder Subfunktionen andrerer Funktionen darstellen. Eine sinnvolle allgemeine Verwendbarkeit dieser Funktionen dürfte im Normallfall nicht gegeben sein.

2011-10-25 17:15
Ulrich Sticker

Funktion getTempDir()

Beschreibung:

Mit der Funktion getTempDir() ist es möglich das temporäre Verzeichnis auf dem Clientsystem für den angemeldeten Benutzer zu ermitteln. Diese Funktion ist sehr praktisch wenn man Fehlerprotokolle erstellt und ein Verzeichnis benötigt auf das auch Benutzer mit eingeschränkten Rechten zugreifen können.

Die Funktion getTempDir() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:

MacroInclude "Standard1"
MsgBox getTempDir()                                                     

Gibt das temporäre Verzeichnis des Benutzers in einer Messagebox aus.  

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:36
Ulrich Sticker

Funktion getComputerName()

Beschreibung:

Mit der Funktion getComputerName() ist es möglich den Systemnamen des Clientsystem zu ermitteln.

Die Funktion getComputerName() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getComputerName()                                                  

Gibt den Clientcomputername auf dem das Makro ausgeführt wird in einer Messagebox aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:36
Ulrich Sticker

Funktion getOS()

Beschreibung:

Mit der Funktion getOS() ist es möglich das Betriebssystem des Clientsystem zu ermitteln.

Die Funktion getOS() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getOS()                                                  

Gibt das Betriebssystem des Clientsystems auf dem das Makro ausgeführt wird in einer Messagebox aus.  z.B. "Windows_NT"

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:35
Ulrich Sticker

Funktion getHomeDir()

Beschreibung:

Mit der Funktion getHomeDir() ist es möglich das Benutzerverzeichnis (Homeverzeichnis) des angemeldeten Benutzers ermitteln.

Die Funktion getHomeDir() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getHomeDir()                                                  

Gibt das Benutzerverzeichnis des angemeldeten Benutzer in einer Messagebox aus. z.B. "C:\Users\Administrator"

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:34
Ulrich Sticker

Funktion getUser()

Beschreibung:

Mit der Funktion getUser() ist es möglich den Windowsanmeldenamen des angemeldeten Benutzers ermitteln.

Die Funktion getUser() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getUser()                                                 

Gibt den Windowsanmeldenamen des angemeldeten Benutzer in einer Messagebox aus. z.B. "Administrator"

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:34
Ulrich Sticker

Funktion getDialPrefix(ISOCountry)

Beschreibung:

Mit der Funktion getDialPrefix(ISOCountry) ist es möglich für einen ISO-Ländercode die Ländervorwahl zu ermitteln.

Die Funktion getDialPrefix(ISOCountry) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getDialPrefix("DEU")   
MsgBox getDialPrefix(ActiveAddress.Fields("Country").value)

Gibt zuerst für das Land Deutschland (DEU) eine Messagebox mit "49" aus, anschließend eine Messagebox mit der Vorwahl des im aktuellen Datensatz hinterlegten Landes.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:33
Ulrich Sticker

Funktion ReplaceCHR(strText, sChr, nChr)

Beschreibung:

Mit der Funktion ReplaceCHR(strText, sChr, nChr) ist es möglich in einem String eine Zeichenkette durch eine weitere zu ersetzen. Im Gegensatz zur vb-Script Funktion Replace, tritt kein Fehler bei einem NULL-Wert für die zu durchsuchende Zeichenkette auf. 

Die Funktion ReplaceCHR(strText, sChr, nChr) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox ReplaceCHR("AG-VIP SQL ist die Nummer 100", "100", "1") 

Gibt eine Messagebox mit "AG-VIP SQL ist die Nummer 1" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:33
Ulrich Sticker

Funktion URLDecode(strText)

Beschreibung:

Mit der Funktion URLDecode(strText) ist es möglich eine Zeichenkette aufzubereiten, die aus einer URL stammt. Diese wird als Klartext zurück gegeben. Wenn Sie beispielsweise im Browser eine URL kopieren die folgenden Inhalt hätte: "das%20ist%20ein%20%C3%9Cberdurchschnittlicher%20Test" so erzeugt URLDecode heraus "das ist ein Überdurchschnittlicher Test"

Die Funktion URLDecode(strText) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox UrlDecode("das%20ist%20ein%20%C3%9Cberdurchschnittlicher%20Test")

Gibt eine Messagebox mit "das ist ein Überdurchschnittlicher Test". aus.

Die Umkehrfunktion ist entsprechen die Funktion URLEncode(strText)

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:32
Ulrich Sticker

Funktion URLEncode(strText)

Beschreibung:

Mit der Funktion URLEncode(strText) ist es möglich eine Zeichenkette aufzubereiten, um diese in einer URL zu verwenden. Dies ist zum Beispiel günstig wenn eine Suchanfrage an Google gestellt werden soll und dabei Feldinhalte aus AG-VIP SQL verwendet werden sollen. Damit Umlaute und Leerzeichen in der URL korrekt behandelt werden, müssen diese entsprechend umgeformt werden.

Die Funktion URLEncode(strText) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox UrlEncode("das ist ein Überdurchschnittlicher Test")

Gibt eine Messagebox mit "das%20ist%20ein%20%C3%9Cberdurchschnittlicher%20Test". aus.

Die Umkehrfunktion ist entsprechen die Funktion URLDecode(strText)

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:32
Ulrich Sticker

Funktion makeHTMLtags(strText)

Beschreibung:

Mit der Funktion makeHTMLtags(strText) ist es möglich eine Zeichenkette aufzubereiten, um diese in HTML zu verwenden. Dabei werden Sonderzeichen und Umlaute sowie Tabs in die entsprechenden HTML-Anweisungen (ISO-8859-1) umgewandelt.

Die Funktion makeHTMLtags(strText) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox makeHTMLtags("Dies ist ein Test mit äüößÖÄÜ%!@? und so weiter auch  TAB und"& _
Chr(13)&"Return sind möglich") 

Gibt eine Messagebox mit "Dies ist ein Test mit äüößÖÄÜ&;#37;&;&;#35;33;@?
und so weiter auch      TAB und
Return sind möglich" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:31
Ulrich Sticker

Funktion checkFields(goback, doMsg, fields)

Beschreibung:

Diese Funktion checkFields(goback, doMsg, fields) prüft Felder auf deren Inhalt. Dabei werden die unterschiedlichen Feldtypen berücksichtigt.

Hinweis: Ein Zahlenwert ist per default 0. Wird also ein Zahlenfeld geprüft, das 0 enthält, wird der Wert immer als nicht gefüllt betrachtet.
Beil logischen Feldern gilt die gleiche Vorgehensweise: Hier kann nur geprüft werden ob es angehakt ist. Per default ist es immer false.

Der Parameter goback wirft den Datensatz, soweit möglich wieder in die Bearbeitung zurück. Ist er 0 wird die Bearbeitung fortgesetzt.
Der Parameter Message erzeugt eine Messagebox mit den fehlenden Feldern. Ist er 0 wird keine Messagebox ausgegeben..

Die Funktion checkFields(goback, doMsg, fields) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
checkFields 1, 1, "NameLast, NameFirst, Street"

Gibt eine Messagebox aus und bricht den Speichervorgang ab, sofern eines der Felder nicht gefüllt ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2012-07-24 13:52
Ulrich Sticker

Funktion getBit()

Beschreibung:

Mit der Funktion getBit() ist es möglich zu ermitteln ob das Clientbetriebssystem ein 32 Bit oder 64 Bit Betriebssystem ist..

Die Funktion getBit() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getBit()                                                  

Gibt die Bitvariante des Clientsystems auf dem das Makro ausgeführt wird in einer Messagebox aus. z.B. "32" oder "64"

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:35
Ulrich Sticker

Funktion getFieldType(fieldname)

Beschreibung:

Mit der Funktion getFieldType(fieldname) ist es möglich für ein Feld den Klarnamen des Feldtyps auszugeben, also bpw. Nachname, Dauer o.ä

Die Funktion getFieldType(fieldname) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox GetFieldType("NameLast")

Gibt den AGVIP Feldtyp "Nachname" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:30
Ulrich Sticker

Funktion CreateSalutation()

Beschreibung:

Die Funktion CreateSalutation() erzeugt eine Briefanrede, sofern diese noch nicht vergeben ist.
Hierzu wird das Feld Anrede und Titel herangezogen. Es wird Herr oder Frau im Feld Anrede erwartet.
Sind diese leer wird "Sehr geehrte Damen und Herren," zurück gegeben.

Die Funktion CreateSalutation() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox CreateSalutation

Gibt, wenn die Anrede "Frau" ist und der Titel "Dr. med.", "Sehr geehrte Frau Dr. med. Nachname" aus.
Um das in das Feld Briefanrede zu schreiben muss ActiveAddress.Fields("Salutation").value=CreateSalutation gesetzt werden.
Eine bereits vorrhandene Briefanrede wird erhalten.

Die beste Position dieses Makroaufrufs ist in einem Makro beim Speichern.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:30
Ulrich Sticker

Funktion CreateShortName(searchPosLength)

Beschreibung:

Die Funktion CreateShortName(searchPosLength) erzeugt einen Kurznamen, sofern dieser noch nicht vergeben ist.
Hierzu werden Name1, Name2, Name3 herangezogen und nach der ersten Leerstelle gesucht
Um aus Grutzeck Software GmbH, Ulrich Sticker dann den Kurznamen Grutzeck Software, Sticker zu bilden.
searchPos gibt dabei die Maximale Anzahl der Stellen an, die verwendet werden, um den Kurznamen zu bilden.

Die Funktion CreateShortName(searchPosLength) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:

MacroInclude "Standard1"                                                
MsgBox CreateShortName(20)

Gibt, wenn der Name1 "Grutzeck Software GmbH" ist und der NameLast "Sticker" ist, "Grutzeck Software, Sticker" aus.
Um das in einen Kurznamen zu schreiben, muss ActiveRecord.Fields("Shortname").value=CreateShortName(20) gesetzt werden.

Ein bereits vorhandener Kurzname wird immer erhalten.

Die beste Position dieses Makroaufrufs ist in einem Makro beim Speichern.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

Tipp:

Wenn ein bestehender Datensatz bislang keinen Kurznamen hatte, erscheint nach Ausführen des Makros beim Speichern auf Ebene der Adresstabelle die Frage, ob

  • der Datensatz als Kopie des bisherigen Datensatzes neu angelegt werden,
  • die ursprünglichen Were von Kurznamen und Nummer wiederhergestellt
  • oder der bestehende Datensatz unter dem neuen Kurznamen gespeichert werden soll.

Um das zu vermeiden, ergänzen den MacroCode wie folgt:

ActiveRecord.Fields("Shortname").value=CreateShortName(20)

ActiveRecord.SuppressKeyChangeDialog = true

Damit wird das Aufpoppen der Abfrage bei Änderungen des Kurznamens durch den Makro verhindert.

2019-11-02 11:15
Ulrich Sticker

Funktion getIPAddresses()

Beschreibung:

Die Funktion getIPAddresses() gibt in einem Array die IP-Adressen eines Computers zurück.
Dies kann z.B. dazu verwendet werden um Vorlagenpfade oder Drucker auszuwählen, oder auch den zur Verfügung stehenden SMTP-Server.

Die Funktion getIPAddresses() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:

Das folgende Beispiel gibt die IP-Adressen (Inklusive IP-V6 sofern vorhanden) aus:

MacroInclude "Standard1"                                                
Dim Ipadressen, i, msg
Ipadressen = getIPAddresses
For i=0 To UBound(Ipadressen)
msg=msg & "IP-Adresse Nr. " & Ipadressen(i,0) & ": " & Ipadressen(i,1) & Chr(13)
Next
MsgBox msg
Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:29
Ulrich Sticker

Funktion ISOtoCountry(ISOCountry)

Beschreibung:

Die Funktion ISOtoCountry(ISOCountry) gibt den Ländernahmen zu einem ISO 3166-1-alpha-3 Länderkürzel zurück. Bpsw. erhält man für DEU Deutschland.
Die Rückgabe ist ein String. Kann kein Ländernamen ermittelt werden, erhält man einen leeren String.

Die Funktion ISOtoCountry(ISOCountry) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox ISOtoCountry("DEU")

Gibt eine Messagebox mit "Deutschland" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:28
Ulrich Sticker

Funktion isoCode(value, TypeIn, TypeOut)

Beschreibung:

Die Funktion isoCode(value, TypeIn, TypeOut) ermittelt verschiedene Ländercodes in Abhängigkeit vom übergebenen Wert.
Folgende Werte werden Kodiert/Decodiert je nach Übergabe und wenn der korrespondierende Wert vorhanden ist:

0=Name des Landes
1=ISO 3166 ALPHA-2
2=ISO 3166 ALPHA-3
3=ISO 3166 Numerisch
4=TLD
5=IOC
6=ISO 3166-2
7=UN/LOCODE

Die Funktion isoCode(value, TypeIn, TypeOut) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
wert=InputBox("Bitte Ländercode eingeben", "Ländercode", "DEU")
Msg = "Informationen zum Wert:" & wert & Chr(13) & "Land: "
Msg = Msg & isoCode(wert, 2, 0) & Chr(13) & "ISO-3166 Alpha2: "
Msg = Msg & isoCode(wert, 2, 1) & Chr(13) 
Msg = Msg & "ISO-3166 Alpha3: " & isoCode(wert, 2, 2) & Chr(13)
Msg = Msg & "ISO-3166 Numerisch: " & isoCode(wert, 2, 3) & Chr(13)
Msg = Msg & "Domainendung: " & isoCode(wert, 2, 4) & Chr(13) 
Msg = Msg & "IOC: " & isoCode(wert, 2, 5) & Chr(13) & "ISO-3166-2: "
Msg = Msg & isoCode(wert, 2, 5) & Chr(13) & "UN/LOCODE: " & isoCode(wert,2,1) & Chr(13)
MsgBox Msg

Gibt eine Messagebox mit allen für den Ländercode ermittelbaren werten aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:28
Ulrich Sticker

Funktion getHsNr(Strasse)

Beschreibung:

Mit der Funktion getHsNr(Strasse) ist es möglich den Hausnummernteil von einem Wert zu ermitteln, der Hausnummer und Straße in einem Feld vorhält. Das ist immer dann günstig wenn Hausnummer und Strasse getrennt werden sollen, aber das Feld Street verwendet werden soll. So kann beim Speichern die Strasse und Hausnummer in getrennten Feldern abgelegt werden.

Die Funktion getHsNr(Strasse) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Die Hausnummer ist: " & GetHsNr("Karl-Ludwig-Strasse 1a")

Gibt eine Messagebox mit "Die Hausnummer ist: 1a" aus.

Siehe auch: Funktion getStrName(Strasse)

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:27
Ulrich Sticker

Funktion getStrName(Strasse)

Beschreibung:

Mit der Funktion getStrName(Strasse) ist es möglich den Strassenteil von einem Wert zu ermitteln, der Hausnummer und Straße in einem Feld vorhält. Das ist immer dann günstig wenn Hausnummer und Strasse getrennt werden sollen, aber das Feld Street verwendet werden soll. So kann beim Speichern die Strasse und Hausnummer in getrennten Feldern abgelegt werden.

Die Funktion getStrName(Strasse) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Die Strasse ist: '" & getStrName("Karl-Ludwig-Strasse 1a") & "'"

Gibt eine Messagebox mit "Die Strasse ist: 'Karl-Ludwig-Strasse'" aus.

Siehe auch: Funktion getHsNr(Strasse)

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:27
Ulrich Sticker

Funktion ConvertUtf8(sText)

Beschreibung:

Mit der Funktion ConvertUtf8(sText) ist es möglich UTF8-Wert einer Zeichenkette zu ermitteln. Diese Konvertierung ist bei der Textdarstellung von Texten auf manchen Fremdsystemen erforderlich. VB-Script arbeitet immer mit ANSI.

Die Funktion ConvertUtf8(sText) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox ConvertUtf8("Wir geben ein ü als UTF8 aus")

Gibt eine Messagebox mit "Wir geben ein ü als UTF8 aus" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:26
Ulrich Sticker

Funktion CreateIban(iAccountNo, iBankcodeNo)

Beschreibung:

Die Funktion CreateIban(iAccountNo, iBankcodeNo) erstellt ein IBAN aus Kontonummer und Bankleitzahl (Für Konten in Deutschland).

Die Funktion CreateIban(iAccountNo, iBankcodeNo) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Die IBAN zu Kto. 123456 BLZ 50050025 lautet: " & CreateIban("123456", "50050025")

Gibt eine Messagebox mit "Die IBAN zu Kto. 123456 BLZ 50050025 lautet: DE68500500250000123456" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:25
Ulrich Sticker

Funktion getAge(startDate, endDate)

Beschreibung:

Die Funktion getAge(startDate, endDate) gibt das Alter in Jahren zurück das zwischen startDate und endDate liegt.

Die Funktion getAge(startDate, endDate) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getAge("06.01.1970", now) 

Gibt eine Messagebox mit "41" aus, wenn wir im Jahr 2011 sind.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:24
Ulrich Sticker

Funktion isBirthday(birthday, myDate)

Beschreibung:

Die Funktion isBirthday(birthday, myDate) prüft ob das Datum myDate am gleichen Tag und Monat liegt wie der Wert aus dem Datum birthday.

Die Funktion isBirthday(birthday, myDate) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox isBirthday("06.01.1970", now) 

Gibt eine Messagebox mit "Wahr" zurück wenn der 6. Januar ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:23
Ulrich Sticker

Funktion enDate(myDate)

Beschreibung:

Die Funktion enDate(myDate) gibt ein gegebenen Datum im englischen Format zurück.
Die Rückgabe ist ein String, zB. "1/5/2011 4:46:15 PM" für das Datum 05.01.2011 um 16:46 Uhr.

Die Funktion enDate(myDate) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox enDate(FormatDateTime(now,2)) 

Gibt eine Messagebox mit dem Datum von heute in der Form m/t/jjjj aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:22
Ulrich Sticker

Funktion enNumber(myNumber)

Beschreibung:

Die Funktion enNumber(myNumber) gibt eine gegebene Nummer die Nummer im englischen Format zurück.
'Die Rückgabe ist ein String, zB. "12400.34" für die Nummer "1.240,34".

Die Funktion enNumber(myNumber) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox enNumber("24,50")

Gibt eine Messagebox mit der Nummer in der der Form 24.00 aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:22
Ulrich Sticker

Funktion OnlyDigits(Number)

Beschreibung:

Die Funktion OnlyDigits(Number) gibt nur Zahlen zurück.
Aus +49 (6181) 9701-0 wird 49618197010.

Die Funktion OnlyDigits(Number) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox OnlyDigits("Telefon Grutzeck Software GmbH: +49 (6181) 9701-0")

Gibt eine Messagebox mit gibt 49618197010 aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:20
Ulrich Sticker

Funktion DateSerNumber(myDate)

Beschreibung:

Die Funktion DateSernumber(myDate) serialisiert ein gegebenen Datum.
'Die Rückgabe ist ein String, zB. "20110105" für das Datum 05.01.2011.

Die Funktion DateSernumber(myDate) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox DateSerNumber(now)

Gibt eine Messagebox mit dem Datum von heute in der Form JJJJMMTT aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2013-07-22 10:15
Ulrich Sticker

Funktion DateAddWorkDays1(startDate, days)

Beschreibung:

Die Funktion DateAddWorkDays1(startDate, days) rechnet zu einem gegebenen Datum X-Werktage hinzu oder zieht diese ab wenn der Wert days negativ ist. (Montag bis Freitag sind Werktage, Feiertage werden nicht berücksichtigt)
Die Rückgabe ist das neue, errechnete Datum

Die Funktion DateAddWorkDays1(startDate, days) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox DateAddWorkDays1(now, 10)

Rechnet zum heutigen Datum 10 Werktage und gibt das Datum aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:19
Ulrich Sticker

Funktion DateAddWorkDays2(startDate, days)

Beschreibung:

Die Funktion DateAddWorkDays2(startDate, days) rechnet zu einem gegebenen Datum X-Werktage hinzu oder zieht diese ab wenn der Wert days negativ ist. (Montag bis Freitag sind Werktage, bundeseinheitliche Feiertage in Deutschland werden berücksichtigt (Stand 2011))
Die Rückgabe ist das neue Datum.

Die Funktion DateAddWorkDays2(startDate, days) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox DateAddWorkDays2(now, 10)

Rechnet zum heutigen Datum 10 Werktage und gibt das Datum aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:18
Ulrich Sticker

Funktion listLegalDates(startDate, endDate)

Beschreibung:

Die Funktion listLegalDates(startDate, endDate) ermittelt eine Liste von deutschen bundeseinheitlichen Feiertagen die zwischen dem startDate und dem endDate liegen. (Stand 2011)
Die Rückgabe ist eine Liste der Feiertage oder ein leerer String.

Die Funktion listLegalDates(startDate, endDate) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox listLegalDates(Now, DateAdd("d", 120, Now))

Gibt in einer Messagebox eine Liste der Feiertage in den kommenden 120 Tage auf.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:16
Ulrich Sticker

Funktion getLegalDate(myDate)

Beschreibung:

Die Funktion getLegalDate(myDate) ermittelt den deutschen bundeseinheitlichen Feiertag zu einem Datum (Ohne Gewähr). (Stand 2011)
Die Rückgabe ist der Feiertag oder ein leerer String.

Die Funktion getLegalDate(myDate) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox getLegalDate("03.10.2021")

Gibt in einer Messagebox mit "Tag der deutschen Einheit" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:15
Ulrich Sticker

Funktion openPath(sPath)

Beschreibung:

Die Funktion openPath(sPath) öffnet eine URL, einen Pfad oder eine im System registrierte Datei.

Die Funktion openPath(sPath) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
openPath "C:\Programme\AG-VIP SQL\Samples"

Öffnet den Ordner C:\Programme\AG-VIP SQL\Samples.

MacroInclude "Standard1"                                                
openPath "http://kb.grutzeck.de"

Öffnet den Internetbrowser mit der URL kb.grutzeck.de.

MacroInclude "Standard1"                                                
openPath "C:\Programme\AG-VIP SQL\Docs\Handbuch AG-VIP SQL Makroprogrammierung.pdf"

Öffnet den PDF-Reader mit dem Handbuch für die Makroprogrammierung.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:14
Ulrich Sticker

Funktion PopUpBox(Message, isType, Titel, sektimeout)

Beschreibung:

Die Funktion PopUpBox(Message, isType, Titel, sektimeout) gibt eine Messagebox per Windowsshell aus, die nur für eine bestimmte Zeit angezeigt wird.

Der Typ kann 16 (Stopschild), 32 (Fragezeichen), 48 (Ausrufezeichen), 64 (Information) sein.

Die Funktion PopUpBox(Message, isType, Titel, sektimeout) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
PopUpBox "Dies ist eine Popupboxnachricht die nach 10 Sekunden verschwindet",64,"Systemnachricht",10

Gibt Popupnachricht aus die nach 10 Sekunden verschwindet.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:13
Ulrich Sticker

Funktion saveFileFromWeb(sSource, sDest)

Beschreibung:

Die Funktion saveFileFromWeb(sSource, sDest) speichert eine Datei aus einer Webadresse (FTP/WWW) in einem angegebenen Pfad.

Die Funktion saveFileFromWeb(sSource, sDest) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
saveFileFromWeb "http://kb.grutzeck.de/images/ag_logo.gif", "C:\Temp\grutzeck-logo.gif"

Speichert das Logo der Grutzeck Software GmbH (ag_logo.gif) von unserer Webpräsentz unter C:\Temp mit dem Namen Grutzeck-logo.gif.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:13
Ulrich Sticker

Funktion displayIEWindows(body, width, height)

Beschreibung:

Die Funktion displayIEWindows(body, width, height) generiert ein Internetexplorer Fenster als PopUp.

Die Funktion displayIEWindows(body, width, height) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
displayIEWindow "Das generierte Passwort lautet: <br><br>" & sPass(10),400,200

Erzeugt ein IE-Fenster (Größe 400x200 px) mit Text und der Ausgabe eines generierten Passworts.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:13
Ulrich Sticker

Funktion checkFileExist(sFile)

Beschreibung:

Die Funktion checkFileExist(sFile) prüft ob eine Datei oder ein Verzeichnis vorhanden ist.

Die Funktion checkFileExist(sFile) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox checkFileExist("C:\Temp\grutzeck-logo.gif")

Gibt eine Messagebox mit "Wahr" zurück wenn die Datei vorhanden ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:12
Ulrich Sticker

Funktion AppendLinetotxtFile(sline, sFile)

Beschreibung:

Die Funktion AppendLinetotxtFile(sline, sFile) hängt an eine Datei eine Zeile an. Ist die Datei noch nicht vorhanden, wird die Datei erzeugt.

Die Funktion AppendLinetotxtFile(sline, sFile) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox AppendLinetotxtFile("Meine neue Zeile","C:\Temp\info.txt")

Gibt eine Messagebox mit "Wahr" zurück und hängt eine Zeile mit dem Inhalt "Meine neue Zeile" an die Datei an.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:11
Ulrich Sticker

Funktion readTxtFile(sFile)

Beschreibung:

Die Funktion readTxtFile(sFile) liest den Inhalt einer Datei.

Die Funktion readTxtFile(sFile) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox readtxtFile("C:\Temp\info.txt")

Gibt eine Messagebox mit dem Inhalt der Datei C:\Temp\info.txt aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:11
Ulrich Sticker

Funktion sPass(strLength)

Beschreibung:

Die Funktion sPass(strLength) erzeugt ein Passwort mit angegebener Länge.

Die Funktion sPass(strLength) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Das generierte Passwort lautet: " & CHR(13) & sPass(10)

Gibt eine Messagebox mit einem Passwort aus, das 10 Zeichen lang ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:11
Ulrich Sticker

Funktion sGUID()

Beschreibung:

Die Funktion sGUID() erzeugt eine neue GUID (Globally Unique Identifier). Eine GUID ist eine global eindeutige Zahl mit 128 Bit. Zum Beispiel 936DA01F-9ABD-4D9D-80C7-02AF85C822A8.

Eine GUID ist immer dann nützlich, wenn etwas eindeutig gekennzeichnet werden soll. Auch AG-VIP SQL legt für jeden Adresdatensatz eine GUID an, die auch bei beispielsweise veränderten IDs durch einen Reimport eines Adressbestands einen Abgleich der Adressen möglich macht.

Die Funktion sGUID() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Die neue GUID lautet: " & CHR(13) & sGUID()

Gibt eine Messagebox mit einer neu generierten GUID aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:10
Ulrich Sticker

Funktion htmlTop(borderpx)

Beschreibung:

Die Funktion htmlTop(borderpx) gibt den Kopfteil einer HTML-Datei aus. Sie endet beim öffnen des Body-Tags.

Die Funktion htmlTop(borderpx) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:10
Ulrich Sticker

Funktion htmlEnd()

Beschreibung:

Die Funktion htmlEnd() gibt den Fußteil einer HTML-Datei aus. Sie beginnt beim schließen des Body-Tags.

Die Funktion htmlEnd() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:09
Ulrich Sticker

Funktion abortSave(msg)

Beschreibung:

Die Funktion abortSave(msg) bricht den aktuellen Speichervorgang für die Adresse oder ein Ticket ab. Die richtige Position für die Anwendung dieser Funktion ist im Normallfall ein Ereignismakro "Beim speichern".

Die Funktion abortSave(msg) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
abortSave("")

Bricht den Speichervorgang ohne Meldung ab.

MacroInclude "Standard1"                                                
abortSave("Feld nicht ausgefüllt")

Bricht den Speichervorgang ab und gibt eine Meldung mit "Feld nicht ausgefüllt" aus.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:06
Ulrich Sticker

Funktion showError(msg,abort,Log)

Beschreibung:

Die Funktion showError(msg,abort,Log) gibt eine Fehlermeldung aus, und bricht ggf. den aktuellen Speichervorgang für die Adresse oder ein Ticket ab. Es kann auch direkt ein Logeintrag erzeugt weden, sofern ein vollständige Pfad übergeben wird.

Die Funktion showError(msg,abort,Log) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
On Error Resume Next
i = 1 / 0 'Wir Provozieren eine Fehler durch eine Division durch 0
If Err.number <> 0 Then
showError "Fehler beim Ermitteln von i",1,getTempDir() & "\AGVIP_Err.log"
End If

Bricht den Speichervorgang und gibt die Fehlermeldung "Fehler beim Ermitteln von i (Fehlernummer 11: Division durch Null) - Der Speichervorgang wurde abgebrochen!" mit Fehlernummer und dem Klartext des Fehlers aus. Ausserdem wird im Temporären Verzeichnis des Benutzers in die Datei AGVIP_Err.log ein Eintrag erzeugt.

Der Logeintrag sieht wie folgt aus:

24.10.2011 15:45:52 (System: Computername / Benutzer: Benutzername / OS: Betriebssystem / AGVIP SQL-User: Ausführender AGVIP SQL-Benutzer Adresstabelle/Projekt: Aktuelle Adresstabelle/Projekt) - Fehler beim ermitteln von i (Fehlernummer 11: Division durch Null)  - Der Speichervorgang wurde abgebrochen!

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:07
Ulrich Sticker

Funktion writeLog(msg, LogPath)

Beschreibung:

Die Funktion writeLog(msg, LogPath) erzeugt einen Logdateieintrag mit der Nachricht in msg unter dem Pfad der in LogPath angegeben ist.

Die Funktion writeLog(msg, LogPath) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
writeLog "Mein Logeintrag", getTempDir() & "\AGVIP_My.log"

Im Temporären Verzeichnis des Benutzers in die Datei AGVIP_My.log wird ein Eintrag erzeugt.

Der Logeintrag sieht wie folgt aus:

24.10.2011 15:59:46 (System: Computername / Benutzer: Benutzername / OS: Betriebssystemversion / AGVIP SQL-User: Ausführender AGVIP SQL-Benutzer Adresstabelle/Projekt: Aktuelle Adresstabelle/Projekt) - Mein Logeintrag

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:07
Ulrich Sticker

Funktion checkVer(needVersion)

Beschreibung:

Die Funktion checkVer(needVersion) prüft die benötigte Standard1 Bibliothek. Falls diese nicht stimmt, wird Macro.Exit ausgeführt.

Die Funktion checkVer(needVersion) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
checkVer(9005)

Macht mindestens die Version 0.90.05 erforderlich.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:05
Ulrich Sticker

Funktion getinternalAddressTable(Adresstablename)

Beschreibung:

Die Funktion getinternalAddressTable(Adresstablename) gibt den internen Tabellennamen einer Adresstabelle als String zurück.

Die Funktion getinternalAddressTable(Adresstablename) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Der interne Name der Adresstabelle 'Adressen2' ist: " & getinternalAddressTable("Adressen2")

Erzeugt eine Messagebox mit der Ausgabe "Der interne Name der Adresstabelle2 ist: tblas0003" wenn eine Adresstabelle mit Namen Adressen2 existiert und deren interner Name tblas0003 ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:02
Ulrich Sticker

Funktion getinternalRelationTable(AddressTablename,RelationTablename)

Beschreibung:

Die Funktion getinternalRelationTable(AddressTablename,RelationTablename) gibt den internen Tabellennamen einer Zusatztabelle als String zurück. (Egal ob diese unterhalb einer Adresstabelle oder einer Projekttabelle liegt)

Die Funktion getinternalRelationTable(AddressTablename,RelationTablename) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Der interne Name der Zusatztabelle 'Auftragspositionen' der Adresstabelle 'Adressen2' ist: " & getinternalRelationTable("Adressen2","Auftragspositionen")

Erzeugt eine Messagebox mit der Ausgabe  "Der interne Name der Zusatztabelle 'Auftragspositionen' der Adresstabelle 'Adressen2' ist: tblas0003_EX0001" wenn eine Zusatztabelle mit Namen Auftragspositionen unter Adressen2 existiert und deren interner Name tblas0003_EX0001 ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:01
Ulrich Sticker

Funktion getServerName()

Beschreibung:

Die Funktion getServerName() gibt den SQL-Servernamen zurück mit dem eine Verbindung besteht.

Die Funktion getServerName() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Der Name des SQL-Servers ist: " & getServerName()

Erzeugt eine Messagebox mit der Ausgabe "Der Name des SQL-Servers ist: Server-SQL1", sofern der SQL-Server "Server-SQL1" heißt.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:00
Ulrich Sticker

Funktion getServerVersion()

Beschreibung:

Die Funktion getServerVersion() gibt die SQL-Serverversion zurück mit dem eine Verbindung besteht.

Die Funktion getServerVersion() kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Die Version des SQL-Servers ist: " & getServerVersion()

Erzeugt eine Messagebox mit der Ausgabe "Die Version des SQL-Servers ist: Angabe Ihrer eingesetzten SQL Serverversion und Plattform"

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:00
Ulrich Sticker

Funktion xorencode(key, value)

Beschreibung:

Die Funktion xorencode(key, value) erlaubt eine einfache XOR-Verschlüsselung auf einen String anzuwenden. Bitte beachten Sie das diese Verschlüsselung keinen höheren Sicherheitsanforderungen genügt, sondern eher als "Sichtschutz" auf die zu verschlüsselnden Daten anzusehen ist.

Die Funktion xorencode(key, value) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
key=""
MacroInclude "Standard1"
wert=InputBox("Bitte zu verschlüsselnden Wert eingeben","Werteingabe","Verschlüssel mich!")
key=InputBox("Bitte Passwort eingeben","Passworteingabe","Passwort")
crypt=xorencode(key, wert)
MsgBox "Wert: " & wert & Chr(13) & "Verschlüsselt: " & crypt 
key=""
key=InputBox("Bitte Passwort eingeben","Passworteingabe","Passwort")
MsgBox "Wieder entschlüsselt: " & xordecode(key, crypt)

Fragt zunächst einen String ab der verschlüsselt werden soll, anschließend ein Passwort mit dem verschlüsselt wird. Anschließend erfolgt die Ausgabe des verschlüsselten Wertes. Nun wird erneut nach einem Passwort gefragt um den verschlüsselten Wert wieder zu entschlüsseln. Anschließend wird der entschlüsselte Wert wieder ausgegeben.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:04
Ulrich Sticker

Funktion xordecode(key, value)

Beschreibung:

Die Funktion xordecode(key, value) erlaubt einen mit einer einfache XOR-Verschlüsselung verschlüsselten String wieder zu decodieren. Bitte beachten Sie das dieses Verschlüsselungverfahren keinen höheren Sicherheitsanforderungen genügt, sondern eher als "Sichtschutz" auf die zu verschlüsselnden Daten anzusehen ist.

Die Funktion xordecode(key, value) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
key=""
MacroInclude "Standard1"
wert=InputBox("Bitte zu verschlüsselnden Wert eingeben","Werteingabe","Verschlüssel mich!")
key=InputBox("Bitte Passwort eingeben","Passworteingabe","Passwort")
crypt=xorencode(key, wert)
MsgBox "Wert: " & wert & Chr(13) & "Verschlüsselt: " & crypt 
key=""
key=InputBox("Bitte Passwort eingeben","Passworteingabe","Passwort")
MsgBox "Wieder entschlüsselt: " & xordecode(key, crypt)

Fragt zunächst einen String ab der verschlüsselt werden soll, anschließend ein Passwort mit dem verschlüsselt wird. Anschließend erfolgt die Ausgabe des verschlüsselten Wertes. Nun wird erneut nach einem Passwort gefragt um den verschlüsselten Wert wieder zu entschlüsseln. Anschließend wird der entschlüsselte Wert wieder ausgegeben.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:04
Ulrich Sticker

Funktion getinternalProjectTable(AddressTablename,ProjectTablename)

Beschreibung:

Die Funktion getinternalProjectTable(AddressTablename,ProjectTablename) gibt den internen Tabellennamen einer Projekttabelle als String zurück.

Die Funktion getinternalProjectTable(AddressTablename,ProjectTablename) kann über die Funktionsbibliothek Standard1 für eigene Makros verfügbar gemacht werden. Hierzu muss nur die Funktionsbibliothek Standard1 unter Makroincludes im Bereich Administration importiert werden. Über die Anweisung MacroInclude "Standard1" sind alle in dieser Funktionsbibliothek bereitgestellten Funktionen dann im eigenen Makrocode beliebig oft verwendbar.

Anwendungsbeispiel:
MacroInclude "Standard1"                                                
MsgBox "Der interne Name der Projekttabelle 'Zeitungsabo' der Adresstabelle 'Adressen2' ist: " & getinternalProjectTable("Adressen2","Zeitungsabo")

Erzeugt eine Messagebox mit der Ausgabe "Der interne Name der Projekttabelle 'Zeitungsabo' der Adresstabelle 'Adressen2' ist: tblas0003_PJ0007" wenn eine Projekttabelle mit Namen Zeitungsabos unter Adressen2 existiert und deren interner Name tblas0003_PJ0007 ist.

Einrichtung:

Laden Sie sich die aktuelle Funktionsbibliothek Standard1 herunter und installieren Sie diese.

Vorraussetzungen:

Es muss mindestens AGVIP SQL Version 1.21.002 oder höher installiert sein um die Anweisung Macroinclude verwenden zu können.

2011-10-25 17:01
Ulrich Sticker

Makromodell - Die Methode "Script.Fields" auf Skripten unterscheidet sich von anderen ".Fields" Eigenschaften.

Beschreibung:
In den meisten Fällen wird anstelle eines Gesprächleitfadens (Skripte) mit Ansichten gearbeitet (Forms).
Diese scheinen sich Optisch und auch von den Objekten her nicht wirklich zu unterscheiden.
Jedoch gibt es gerade bei der Verwendung des Aufrufs "Fields" im Makromodell einen großen Unterschied.

Unterschied:
"Fields" liefert bei einem Skript nur den Wert aus temporären Variablen oder Datenfeldern zurück, während die Eigenschaft "Fields" bei anderen Verwendungen wie z.B. ActiveAddress.Fields, Ticket.Fields etc. ein Objekt zurückliefert.

Beispiel:
Auf dem Skript ist ein Feld angelegt welches unter dessen Eigenschaften bei Name die Bezeichnung "Test" hat.
Variablen Definition:
Script.Fields("Test") = ActiveAddress.Fields("ShortName").value
Das Feld wird mit dem Kurznamen befüllt

Objekt Eigenschaft .Value Definition:
Script.Fields("Test").Value = ActiveAddress.Fields("ShortName").value
Das Makro bricht mit folgender Fehlermeldung ab:
...
Objekt erforderlich: 'Script.Fields(...)'
Das Makro wird abgebrochen!
...

Sofern man mit Objekten bei einem Skript-Feld arbeiten möchte, muss anstelle der Eigenschaft ".Fields", die Eigenschaft ".Controls" verwendet werden:
Script.Controls("Test").value = ActiveAddress.Fields("ShortName").value

Erläuterung:
Script.Fields erlaubt den Zugriff auf temporäre Variablen und Datenfelder,
die keine Bindung an den aktuellen Datensatz haben. Dadurch können Abfragen
durchgeführt werden, die den Skriptablauf steuern, jedoch nicht datenrelevant
sind und somit auch nicht im Datensatz gespeichert werden sollen.

Im Gegensatz zu anderen Fields Eigenschaften wird hier sofort der Wert zurückgegeben bzw. gesetzt.


Hinweis:
Es gibt jedoch auch Steuerelemente, welche überhaupt nicht per Makro bearbeitet werden können.
Zum Beispiel das RTF-Controll kann lediglich per Makro bezüglich seiner Eigenschaften über Script.Controls angesprochen werden.
So könnte man zum Beispiel die Eigenschaft ".visible" (sichtbar) auf "false" (nicht sichtbar) setzen:
Script.Controls("Test").Visible = false

2012-06-18 08:44
Peter Brandt

Bearbeitungszähler manipulieren

Problem:

In einer Outboundkampage ist eine maximale Anzahl Anwahlversuche definiert worden. Im letzten Anwahlversuch wird nun die Zielperson erreicht, aber ein Abschluss kann noch nicht erzielt werden, weil Rückfragen offen sind. Der Agent möchte nun aber über die in der Kampagne definierten maximalen Anwahlversuche hinaus, einen weiteren Anwahlversuch starten.

Definition Bearbeitungszähler:
Der Bearbeitungszähler zählt jede Ticketbewegung im Workflow innerhalb der gleichen Bearbeitungsstufe. Bei einem Wechseln in eine andere Bearbeitungsstufe wird der Zähler automatisch auf "0" zurückgesetzt.

Lösung:

Über einen Makro lässt sich der Bearbeitungszähler "UsageCount" beeinflussen:

ActiveTicket.UsageCount = ActiveTicket.UsageCount - 1

Im Anhang eine Musteransicht, die den aktuellen Bearbeitungszähler anzeigt und einen Schalter zum Zurücksetzen des Bearbeitungszählers enthält.

2012-08-31 16:16
Markus Grutzeck

Zugriff auf Daten im Benutzerprofil

Herausforderung:
Über   ActiveUser.xy   kommt man an die Informationen aus den Benutzerprofils des aktuellen Anwenderns.

Wir haben aber folgende Anforderungen:
Es gibt ein Feld "ADM_Code" mit der Bezeichnung des für diesen Kunden zuständigen Außendienstmitarbeiters. Im Datensatz soll aber auch die Telefon-Nr. und Email-Adresse des Außendienstmitarbeiters im Kommunikationsfenster verfügbar sein, so dass man vom Kunden aus sofort den Außendienst anrufen oder anmailen kann. Die Profildaten des Außendienstmitarbeiters werden als Benutzer ohne Zugriffsrechte angelegt. So ist es für den AG-VIP SQL Administrator sehr einfach möglich, die Profildaten des Außendienstlers zu vervwalten.

Umsetzung:
Es wurden folgende Felder angelegt und dem Kommunikationscontroll hinzugefügt:
- ADM_Email, Typ Email
- ADM_Phone, Typ Telefon
- ADM_Mobile, Typ Handy

Der LogIn-Name des Außendienstprofil ist identisch mit dem "Code" des Aussendienstlers im Feld "ADM_Code".


Makro beim Laden auf Ebene Adresstabelle:

' Zugriff auf die User Daten von ADM-Code


Set Users=Application.Users
For Each Benutzer in Users
If Benutzer.Name  = ActiveAddress.Fields("ADM_Code").Value then
ActiveAddress.Fields("ADM_Email").Value = Benutzer.Email
ActiveAddress.Fields("ADM_Phone").Value = Benutzer.PhoneNumber
ActiveAddress.Fields("ADM_Mobile").Value = Benutzer.DirectPhoneNumber
MsgBox Benutzer.Fullname
End If
Next

2012-12-21 12:08
Markus Grutzeck

Wie vergleicht man Werte im Makrocode richtig?

Beschreibung:
In Makros kommt es ständig vor, dass man einen Wert mit einem anderen vergleicht z.B. in einem Skript wird dem Benutzer mehrere Optionen angeboten was der Gesprächspartner geantwortet hat. Diese werden dann letztendlich im Makro ausgewertet (verglichen) um anschließend die gewünschte Aktion durchzuführen.

Problem:
Für uns ist ein Vergleich von z.B. ist 1 = 1 eindeutig klar und zwar, dass die beiden Werte identisch sind.
Doch für den Compiler, welcher das Makro verarbeitet, ist 1 = 1 nicht unbedingt identisch.

Ursache:
Der Compiler berücksichtigt nicht nur den Wert alleine, sondern auch den Datentyp.

Automatische Konvertierung:
Der Compiler versucht selbstständig einen Vergleich von zwei Werten mit unterschiedlichen Datentypen auf einen gleichen Datentyp zu konvertieren.
Dies gelingt ihm in soweit, wenn die zwei Werte in einen gleichen Datentyp konvertiert werden können und die Werte statisch sind.
Statisch bedeutet, dass der Wert in keinem Feld oder einer Variable gespeichert ist sondern fix im Makro definiert ist.

Beispiel:
Wir speichern den Wert 1 als Ganzzahl in der Variable vInt und als Text in der Variable vText (Anführungszeichen leiten einen Text ein):
vInt=1          (Datentyp Integer)

vText="1"       (Datentyp String)

 

Nun machen wir unterschiedliche Vergleiche auf die Variable vInt, welche eine Zahl vom Datentyp Integer enthält:

Variante 1:

If vInt=1 Then 
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If

Ergebnis = Wahr (Keine Konvertierung erforderlich da beide Werte den Datentyp Integer haben)

Variante 2:

If vInt="1" Then
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If

Ergebnis = Wahr (eine automatische Konvertierung hat statt gefunden da der Datentyp Integer ungleich String ist)

Variante 3:

If vInt=vText Then
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If

Ergebnis = Falsch (Die automatische Konvertierung greift nicht, da beide Werte in einer Variable gespeichert sind)

Variante 4:
Verwendung eines auf der Adresstabelle angelegten Feldes "Summe" vom Datentyp Ganzzahl:

If ActiveRecord.Fields("Summe").Value = 1 Then
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If

Ergebnis = Wahr

Da der Datentyp Ganzzahl in AG-VIP SQL ein Long Datentyp darstellt, wird eine automatische Konvertierung durchgeführt da die Zahl 1 vom Datentyp Integer ist.

Variante 5:
Der Vergleich von zwei Feldern welche in AG-VIP SQL angemeldet sind oder ein Vergleich zwischen einer Variable und einem AG-VIP SQL Feld ergeben das gleiche Ergebnis wie bei der Variante 3 mit der selben Begründung.

 

Richtige Vorgehensweise:
Variablen und Felder sollten immer manuell konvertiert werden.
Dafür gibt es in VBScript Konvertierungsfunktionen.

Hier eine Liste der gebräuchlichsten:

  • CBool()   -> Umwandlung in ein logischen Datentyp (Boolean)
  • CDate()  -> Umwandlung in ein Datums Datentyp (Date)
  • CDbl()    -> Umwandlung in ein Fließkomma Datentyp (Double)
  • CInt()     -> Umwandlung in ein Ganzzahl Datentyp 16bit (Integer)
  • CLng()    -> Umwandlung in ein Ganzzahl Datentyp 32bit (Long)
  • CStr()     -> Umwandlung in ein Text Datentyp (String)

Mit Hilfe dieser Funktionen kann die Variante 3 ebenfalls wie folgt verwendet werden:

If CStr(vInt)=CStr(vText) Then
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If

Ergebnis = Wahr

Oder wenn sichergestellt ist, dass in der Variable vText eine Zahl gespeichert ist auch folgende Konvertierung:

If CLng(vInt)=CLng(vText) Then
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If

Ergebnis = Wahr

Hinweis bei Vergleichen von Texten (Strings):
Bei einem Vergleich von Text Feldern bzw. Variablen sollte man immer sofern man dies nicht berücksichtigen möchte die Leerzeichen am Anfang und am Ende des Wertes entfernen.
Dafür gibt es die VBScript Funktion Trim() welche im folgenden Beispiel verwendet wird:

If Trim(CStr(vInt))=Trim(CStr(vText)) Then
MsgBox "Wahr"
Else
MsgBox "Falsch"
End If


Ergebnis = Wahr

 

Wichtiger Hinweis:
Die Konvertierungsfunktion CInt() sollte wenn möglich nicht verwendet werden.
In AG-VIP SQL gibt es den Ganzzahl Datentyp Integer für angelegte Felder nicht sondern nur den Ganzzahl Datentyp Long.
Würde man nun versuchen eine Variable vom Datentyp Long in einen Integer umzuwandeln, dann würde das solange funktionieren bis der Wert der Variable den 16bit Wertebereich des Integers überschreitet (-32768 bis 32767). Eine Zahl die also kleiner -32768 oder größer 32767 ist, könnte nicht in einen Integer konvertiert werden und würde deshalb einen Makrofehler verursachen.

Es empfiehlt sich immer eine Konvertierungsfunktion zu verwenden, denn auch wenn man denkt, dass man weiß, dass die Datentypen in den zu vergleichenden Feldern bzw. Variablen der selbe ist, könnte eventuell irgendwann mal jemand den Datentyp ändern und Ihr Makro würde nicht mehr funktionieren.

So gab es z.B. mit der AG-VIP SQL Version 1.40.004 eine Datentyp Korrektur bei den Ids und einigen Zahlenfeldern.
Diese wurden in den vorherigen Versionen immer als Text (String) zurückgegeben und diese werden nun als Ganzzahl (Long) zurückgegeben.

 

Änderungslog:

11.07.2013

  • Formatierungsfehler im Artikel behoben
  • Erweiterung des Artikels um den Abschnitt "Hinweis bei Vergleichen von Texten (Strings)"

 

 

2013-07-11 09:52
Peter Brandt

E-Mail oder Kontakt-Informationen über das "Outlook Add In" in AG-VIP SQL verarbeiten.

Beschreibung:
Das Outlook Add In verfügt ab der Outlook Add In Version 3.32.3 ein Globales Objekt, welches einem ermöglicht auf die Datenfelder der E-Mail oder des Kontaktes zuzugreifen und diese in Feldern zu speichern oder einfach über eine MessageBox auszugeben.

Voraussetzung:
AG-VIP SQL ab der Version 1.40
Outlook Add In ab der Version 3.32.3

Das Globale Objekt:
Über den Namen "OLAddIn" kann man eine Globale Variable aufrufen, welche das Outlook Add In Objekt mit folgenden Eigenschaften bereitstellt:

  • NameFirst
  • NameLast
  • Name1
  • Street
  • ZipCode
  • City
  • CommPhoneOffice
  • CommPhoneCentral
  • CommFaxOffice
  • CommPhonePrivat
  • CommFaxPrivat
  • CommInternet
  • CommEMail1
  • CommEMail2
  • CommEMail3
  • ReceivedTime
  • Subject
  • EmailPath
  • EmailFileName
  • Body
  • CommEmailsTo
  • CommEmailsCC
  • CommEmailsBCC
  • ItemType

 

Die Eigenschaften sind bis auf "ItemType" weitestgehend selbsterklärend.
Diese Eigenschaft liefert den Typ des übertragenen Mediums (E-Mail oder Kontakt).
Die genauen Typenbezeichnungen lauten:

  • MailItem
  • ContactItem

Bei einem Typ "MailItem" werden folgende Eigenschaften gesetzt:

.CommEMail1
.Subject
.Body
.ReceivedTime
.EmailFileName
.EmailPath
.CommEMailsTo
.CommEMailsCC
.CommEMailsBCC
.ItemType

Bei einem Typ "ContactItem" werden folgende Eigenschaften gesetzt:

.NameFirst
.NameLast
.Name1
.Street
.ZipCode
.City
.CommPhoneOffice
.CommPhoneCentral
.CommFaxOffice
.CommPhoneMobil
.CommPhonePrivat
.CommFaxPrivat
.CommInternet
.CommEMail1
.CommEMail2
.CommEMail3
.ItemTyp

 

Die nicht gesetzten Felder werden dabei immer geleert.

Übertragung des Objektes:
Das Objekt wird automatisch übertragen wenn man das Outlook Add In verwendet um eine E-Mail bzw. ein Kontakt nach AG-VIP SQL zu übertragen. 

 

Beispiel:
Im folgenden Makrocode wird das Memofeld "OLAddinData" mit allen Eigenschaften beschrieben.
Dabei kommt jede einzelne Eigenschaft in eine eigene Zeile.

Dim oOLAddInData
On Error Resume Next
Set oOLAddInData = Application.GlobalData("OLAddIn")
ActiveAddress.Fields("OLAddinData").value = _
                               "NameFirst: " & oOLAddInData.NameFirst & VbCr & _
                               "NameLast: " & oOLAddInData.NameLast & VbCr & _
                               "Name1: " & oOLAddInData.Name1 & VbCr & _
                               "Street: " & oOLAddInData.Street & VbCr & _
                               "ZipCode: " & oOLAddInData.ZipCode & VbCr & _
                               "City: " & oOLAddInData.City & VbCr & _
                               "PhoneOffice: " & oOLAddInData.CommPhoneOffice & VbCr & _
                               "CommPhoneCentral: " & oOLAddInData.CommPhoneCentral & VbCr & _
                               "FaxOffice: " & oOLAddInData.CommFaxOffice & VbCr & _
                               "PhoneMobil: " & oOLAddInData.CommPhoneMobil & VbCr & _
                               "PhonePrivat: " & oOLAddInData.CommPhonePrivat & VbCr & _
                               "FaxPrivat: " & oOLAddInData.CommFaxPrivat & VbCr & _
                               "Internet: " & oOLAddInData.CommInternet & VbCr & _
                               "Email1: " & oOLAddInData.CommEMail1 & VbCr & _
                               "Email2: " & oOLAddInData.CommEMail2 & VbCr & _
                               "Email3: " & oOLAddInData.CommEMail3 & VbCr & _
                               "ReceivedTime: " & oOLAddInData.ReceivedTime & VbCr & _
                               "Subject: " & oOLAddInData.Subject & VbCr & _
                               "EmailPath: " & oOLAddInData.EmailPath & VbCr & _
                               "FileName: " & oOLAddInData.EmailFileName & VbCr & _
                               "Body: " & oOLAddInData.Body & VbCr & _
                               "CC: " & oOLAddInData.CommEMailsCC & VbCr & _
                               "BCC: " & oOLAddInData.CommEMailsBCC & VbCr & _
                               "TO: " & oOLAddInData.CommEMailsTo & VbCr & _
                               "Type : " & oOLAddInData.ItemType
                              
Set oOLAddInData = Nothing
Set Application.GlobalDAta("OLAddIn") = Nothing
On Error GoTo 0

 

Hinweis:
Nachdem man die Werte übernommen hat, sollte man unbedingt das Objekt wieder durch setzen der Globalen Variable "OLAddIn" mit "Nothing" löschen, da sonst evtl. unbewusst ein falscher Inhalt in einer anderen Adresse eingetragen wird.
Dies bewirkt folgende Zeile aus dem oben aufgeführten Makro:
Set Application.GlobalData("OLAddIn") = Nothing

2013-07-12 16:13
Peter Brandt

Die CDate Funktion meldet auf Rechnern mit einem anderen Zeitformat einen Fehler bzw. ein falsches Ergebnis

Beschreibung:
Die Funktion CDate() soll einen Wert wie z.B. den String "31.03.2014" in ein gültiges Datumsformat konvertieren.
--> Konvertiere = Convert; Datum = Date --> CDate

Problembeschreibung:
Die Funktion CDate() kann jedoch den übergebenen String "31.03.2014" nur in ein gültiges Datumformat konvertieren, wenn das auf dem Rechner eingestellte Zeitformat dd.mm.yyyy ist !

Ist das Format z.B. Englisch, so wird das Zeitformat mm.dd.yyyy erwartet und CDate zeigt eine Fehlermeldung an, da es nun mal keine 31 Monate gibt.

Ein anderes Beispiel in Japanisch, dort wird das Zeitformat yyyy.dd.mm erwartet und dadurch ebenfalls ein Fehler angezeigt.

Sollte zufälligerweise das übergebene Format trotzdem gültig sein, dann wird es falsch konvertiert werden z.B. bei allen Dati bei denen der Tag nicht größer als 12 ist --> "12.03.2014" geht auch im Englischen Format jedoch wird der 12. als Dezember (Monat) konvertiert und nicht wie gewünscht als der 12. Tag im Monat März !

Lösung:
Man setzt bevor man eine Datumskonvertierung macht das erwartete Zeitformat.
Dies geht über die VBScript Funktion:

  • SetLocale(<LCID>)

 

Die Liste der LCID (Locale ID) finden Sie in folgenden Microsoft Support Beitrag:
http://support.microsoft.com/default.aspx?id=221435

So kann man nun für das deutsche Zeitformat folgenden Aufruf durchführen:

SetLocale(1031)

Mit der Funktion GetLocale() kann man die aktuell aktive LCID auslesen.


Hinweis:
Das Setzen der LCID über die Funktion SetLocale ist nur solange wirksam, bis der entsprechende Context abgeschlossen wird.
Desweiteren ist die Änderung nur in dem selben Context wirksam. Das bedeutet, ändert man im Makro eines Hilfsmittels das Zeitformat und wird in dem Hilfsmittel noch ein weiteres aufgerufen, verwendet dieses Hilfsmittel den Standard und nicht das Zeitformat was zuvor gesetzt wurde.

Anderes Beispiel:
Werden zwei .vbs Dateien ausgeführt hat das setzen des Zeitformats in einer .vbs Datei keinen Einfluss auf die Zweite oder sonstige.

Sobald der Context verlassen wird (Makro ist durchgelaufen/abgeschlossen) ist somit auch wieder der Standard beim nächsten Aufruf des Makros aktiv.

2014-04-04 15:28
Peter Brandt

Anzeige einer Ansicht begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Ansichten nur von einem bestimmten Nutzerkreis angezeigt werden dürfen.

Das betrifft hier natürlich nur Ansichten im freien Arbeiten. Ansichjten im Workflow werden zentral gesteurt.

Der nachflogende Makro kann als OnOpen-Makros in einer Ansicht angelegt werden. Er begrenzt die Ausführung des OnOpen-Makros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups     
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For
    End If
Next

If Not bInGroup Then
      MsgBox "Sie haben keine Berechtigung für diese Aktion!"
      CurrentForm.Visible = false
End If

 

2015-12-16 13:12
Martin Richter

Anwendung von Platzhaltern im RTF Control

Beschreibung:
Das RTF-Control erlaubt es statische formatierte Texte anzuzeigen.

Problem:
Oft reicht ein statischer Text nicht aus, da z.B. der Name des Bearbeiters oder des Kunden dynamisch angezeigt werden soll.

Lösung:
Über Platzhalter können Feldwerte dynamisch in den statischen Text eingebunden werden.
Dabei gibt es zwischen Datenbankfeldern, Temporärefeldern und Globalefelder bzw. Variable unterschiedliche Aufrufsweisen.

- Datenbankfelder können über %<interner Feldname>% aufgerufen werden z.B. für den Kurznamen %ShortName%
- Temporärefelder können über %Fields.<ControlName>% aufgerufen werden z.B. wenn man im Formulareditor dem Feld den Namen "VerantwortlicherMA" gegeben hat wäre der Aufruf %Fields.VerantwortlicherMA%
- Globalefelder können über %GlobalData.<GlobalerName>% aufgerufen werden z.B. für die Globale Variable Application.GlobalData("AuftragsNummer") wäre der Aufruf %Globaldata.AuftragsNummer%

Hinweis:
Der Aufruf für die GlobalData Felder bzw. Variable ist erst ab der AG-VIP SQL Version 1.44.003 möglich.

2016-09-08 11:01
Peter Brandt

Feldinhalte zwischen Tabellen per Makro übertragen

Problem:
Oftmals ist es notwendig, Daten zwischen Adresstabellen bzw. von einer Adresstabelle in eine Zusatztabelle zu übertragen.

Lösung:
Hierzu gibt es zu drei unterschiedlichen Anwendungsfällen nachfolgend jeweils ein Makro-Beispiel, welche als MacroIncludes bereitstehen. Diese MacroIncludes können sich sich herunterladen, entpacken und importieren. Anschließend muss der Makrocode an die jeweilige Datenstruktur angepasst werden.

 1. Fall: Sie möchten Daten von der aktuell geöffneten Adresstabelle in eine andere Adresstabelle übertragen

Werte übertragen von Adresstabelle in fremde Adresstabelle.zip

'Werte übertragen von Adresstabelle in fremde Adresstabelle
'Version 1.00.001	LH	2016-11-28

Dim MeineTabelle, oRecord
'Zugreifen auf eine Adresstabelle und speichern in der Variable MeineTabelle
Set MeineTabelle = Application.AddressSets("Kunden")
'Suchen nach der Adresse mit einer bestimmten Kundennummer in der Adresstabelle „MeineTabelle“ und speichern in der Variable oRecords
Set oRecords = MeineTabelle.Query("Number='12345'")
'Prüfen, ob es mehr als einen Datensatz mit dieser Kundennummer gibt
If oRecords.Count = 1 Then
	'Aufzählungsobjekt durchiterieren
	For Each oRecord in oRecords
		'Nun wird der Wert des Feldes Name1 vom geöffneten Datensatz in den der anderen Adresstabelle geschrieben
		If oRecord.Lock Then
			oRecord.Fields("Name1").Value = ActiveRecord.Fields("Name1").Value
		Else 
			MsgBox "Der Datensatz konnte nicht gesperrt werden."
		End If 
	Next
Else
	If oRecords.Count = 0 Then
    		MsgBox "Keinen Datensatz gefunden."
	Else
		MsgBox "Es gibt mehrere Datensätze mit der gleichen Kundennummer."
	End If
End If

2. Fall: Sie möchten Daten von einer anderen Adresstabelle in die aktuell geöffnete Adresstabelle übertragen

Werte übertragen von fremder Adresstabelle in Adresstabelle.zip

'Werte übertragen von fremder Adresstabelle in Adresstabelle
'Version 1.00.001	LH	2016-11-28

Dim MeineTabelle, oRecord, oRecords
'Zugreifen auf eine Adresstabelle und speichern in der Variable MeineTabelle
Set MeineTabelle = Application.AddressSets("Kunden")
'Suchen nach der Adresse mit einer bestimmten Kundennummer in der Adresstabelle „MeineTabelle“ und speichern in der Variable oRecords
Set oRecords = MeineTabelle.Query("Number='12345'")
'Prüfen, ob es mehr als einen Datensatz mit dieser Kundennummer gibt
If oRecords.Count = 1 Then
	'Aufzählungsobjekt durchiterieren
	For Each oRecord in oRecords
		'Nun wird der Wert des Feldes Name1 vom Datensatz der Adresstabelle „Kunden“ in den Datensatz der aktuell geöffneten Adresstabelle geschrieben
		ActiveRecord.Fields("Name1").Value = oRecord.Fields("Name1").Value
	Next
Else
	If oRecords.Count = 0 Then
    		MsgBox "Keinen Datensatz gefunden."
	Else
		MsgBox "Es gibt mehrere Datensätze mit der gleichen Kundennummer."
	End If
End If

3. Fall: Sie möchten Daten von einer anderen Adresstabelle in die Zusatztabelle einer aktuell geöffneten Adresstabelle übertragen

Werte übertragen von fremder Adresstabelle in Zusatztabelle.zip

'Werte übertragen von fremder Adresstabelle in Zusatztabelle 
'Version 1.00.001	LH	2016-11-28

Dim MeineTabelle, oRecord, oRelation, oEntry, oRecords
'Zugreifen auf eine Adresstabelle und speichern in der Variable MeineTabelle
Set MeineTabelle = Application.AddressSets("Kunden")
'Suchen nach der Adresse mit einer bestimmten Kundennummer in der Adresstabelle „MeineTabelle“ und speichern in der Variable oRecords
Set oRecords = MeineTabelle.Query("Number='12345'")
'Prüfen, ob es mehr als einen Datensatz mit dieser Kundennummer gibt
If oRecords.Count = 1 Then
	'Aufzählungsobjekt durchiterieren
	For Each oRecord in oRecords
		'Zusatztabelle "Produkte" des Datensatzes bearbeiten
		Set oRelation = ActiveRecord.Relations("Produkte")
		'Hinzufügen einer neuen Zeile und setzen von Werten
		Set oEntry = ORelation.Add
		oEntry.Fields("Artikel") = oRecord.Fields("K_Artikel").Value
		oEntry.Fields("Anzahl") = oRecord.Fields("K_Anzahl").Value
	Next
Else
	If oRecords.Count = 0 Then
    		MsgBox "Keinen Datensatz gefunden."
	Else
		MsgBox "Es gibt mehrere Datensätze mit der gleichen Kundennummer."
	End If
End If

2016-11-30 08:52
Lukas Hölzer

Ein CRM-Ticket per Makro abschließen

Beschreibung:
Ein CRM-Ticket muss immer über einen Historieneintrag mit der höchsten Phase "Abschluss" abgeschlossen werden.

Erleichterung:
Um den Aufwand zu verringern, kann per Makro der erforderliche Historieneintrag mit einem Klick auf einen Schalter erzeugt und dadurch das CRM-Ticket abgeschlossen werden.
Dabei werden noch die Felder "Auftragswahrscheinlichkeit" auf 100%, "Vorgangsstatus" auf "Gewonnen" und "Abschlussdatum" auf das heutige Datum gesetzt.

Voraussetzung:
Es wird die AG-VIP SQL Version 1.5x benötigt sowie die AG-VIP SQL Option "XRM".

Makrocode per Klick:

Option Explicit 
' Es muss ein Datensatz da sein vom Typ CRM
If ActiveRecord.Type<>agRecordTypeProjectCRM Then
     MsgBox "Ein CRM-Datensatz muss geladen sein!"
     Macro.Exit
End If

'Auftragswahrscheinlichkeit = 100%
ActiveRecord.Fields("OrderPropability").Value = 100
    
'Vorgangsstatus = GEWONNEN
ActiveRecord.Fields("CurrentState").Value = 1
    
'Abschlussdatum = Jetzt
ActiveRecord.Fields("DateCompletion").Value = Now()

' Suche die Phase mit der höchsten Order
Dim oMax, oPhase
Set oMax = Nothing
For Each oPhase In ActiveRecord.Project.CRMPhases
     If oMax Is Nothing Then
         Set oMax = oPhase
     ElseIf oMax.Order<oPhase.Order Then
          Set oMax = oPhase
     End If
Next  
' Historieneintrag erstellen
Dim oHistEntry
Set oHistEntry = ActiveRecord.History.Add(agHistoryTypeNote)
' Maximale Phase und Text setzen.
oHistEntry.Fields("IdPhase").Value = oMax
oHistEntry.Fields("Text").Value = "Das CRM-Projekt wurde erfolgreich abgeschlossen!"

Weitere Anwendungsmöglichkeiten:
Durch eine Abfrage des Feldes "CurrentState", welches den Status "offen", "verloren" und "gewonnen" angibt,
könnte man sogar das Ticket automatisch beim Speichern abschließen.
Für diese Anwendungsmöglichkeit gibt es die "CRM-Projekt" Ansicht im Anhang zum Herunterladen.

2017-03-13 08:56
Peter Brandt

Benutzer sollen nur Inbound für eine Bearbeitungsstufe arbeiten aber keine Outbound Telefonate tätigen

Anforderung:

Es gibt Bearbeitungsstufen, die eigentlich nur Outbound Stufen sind, aber über Emails oder Rückrufe auch Inbound Ereignisse erzeugen.

Bestimmte Agenten werden für diese Stufen eingesetzt.

Oft gibt es hier die Anforderungen, dass einige Agenten zusätzlich auschließlich für den Inbound aktiv werden sollen.

Oder aber die gesamte Stufe wird nicht mehr aktiv bearbeitet , weil das Projektsoll erfüllt wurde.
Rückrufe, oder Emails sollen aber weiter bearbeitet werden.

Lösung:

Durch einen Makro und die Zugehörigkeit zu einer bestimmten Gruppe wird geprüft, ob die aktive Bearbeitung der Bearbeitungsstufe über den Arbeitsbereich PROJEKTE zulässig ist.

Man legt eine Benutzergruppe in AG-VIP SQL an, mit dem Namen "Nur Inbound". Dieser Gruppe werden alle Mitarbeiter zugewiesen, die nur noch Inbound auf eine bestimmte Stufe zugreifen dürfen.

Im Makro Beim Laden (OnLoad) der entsprechenden Bearbeitungsstufe wird der folgende Makro eingebaut:

Option Explicit 
' Im OnLoadMakro, Outbound, Inbound Makro haben wir die
' Wenn ein Inbound Event vorhanden ist erlauben wir immer den Zugriff.
' Wenn Kein Inbound Event vorhandenist, werden alle User in der Gruppe Inbound für diese Stufe ausgesperrt
If ActiveWorkflowTicket.Event Is Nothing Then
' Prüfen in welcher Gruppe der aktuelle Benutzer ist.
Dim oGroup, bFound
On Error Resume Next
bFound = false
For Each oGroup In Application.ActiveUser.Groups
If UCase(oGroup.Name)="NUR INBOUND" Then
bFound = true
Exit For
End If
Next

' Benutzer ist in der Gruppe Inbound und darf deshalb nicht weiter machen!
If bFound Then
MsgBox "Sie dürfen in diesem Projekt nur Inbound arbeiten!"
Macro.Abort
Macro.Exit
End If
End If

Erklärung:

Im Falle eines Inbound Ereignisses (egal ob Email, oder eingehendes Telefonat) existiert auch ein entsprechendes Event, dass den Vorgang mit der globalen Suche verbindet. Dieses Objekt existiert nicht, wenn ein Ticket normal bearbeitet wird. D.h. über den Befehl "Nächstes Ticket" oder die "Pickliste" geladen wird. 

Existiert also dieses Inbound Event Objekt nicht, wird geprüft, ob der entsprechende aktuelle Nutzer in der Grupper "Nur Inbound" Mitglied ist. Ist der Nutzer Mitglied dieser Gruppe, und es existiert besagtes Inbound Event nicht, dann wird eine passende Meldung ausgegeben  und das Laden des Datensatzes wird beendet.

Anmerkung:

Wird eine globale Suche manuell ausgeführt, dann existiert gleichfalls kein Inbound  Event. Auch in diesem Fall kann man so ein Ticket nicht über die globale Suche oder auch die Pickliste eines Projektes laden.

2018-08-30 11:30
Martin Richter

VBScript Dokumentation

Microsoft hat leider die gesamte VBScript Referenzen von der Webseite entfernt.

Folgende Seiten bieten jedoch auch komplette Beschreibungen und Tutorials an:

In der Anlage hierdieses Artikels wurden zusätzlich die deutsche und englische Hilfedateien angehängt.
Diese CHM Dateien können einfach geöffnet werden und enthalten die komplette VBScript Dokumentation.

2020-03-03 12:06
Martin Richter

Benachrichtigung bei neu angelegten Datensätze über Wiedervorlage

Problem:

Anwender legen neue Datensätze unvollständig an oder als Dubletten zu bereits bestehenden Datensätzen. Mit Pflichtfeldern kann man das erste Problem bereits lösen. Aber das Problem mit doppelt angelegten Adressen tritt in der Praxis immer wieder auf.

Lösung:

Im Adresstabellen Explorer auf Ebene der Adresstabelle im Makro Beim Speichern hinterlegt man folgenden Makro. Damit wird bei der Neuanlage einer Adresse automatisch eine Wiedervorlage für den Anwender X erstellt. Dieser kontrolliert den neuangelegten Datensatz. Er kann Ergänzungen oder Korrekturen vornehmen oder ggf. den Datensatz wieder löschen.

' Prüfen, ob der Datensatz neu angelegt wurde
' Mögliche State-Werte:

' Kein Datensatz geladen: agAddressStateNone / 0
' Datensatz geladen, aber schreibgeschützt: agAddressStateReadOnly / 1
' Neuer Datensatz erzeugt, erlaubt Lesen und Schreiben agAddressStateNew / 2
' Datensatz geladen für Lesen und Schreiben: agAddressStateReadWrite / 3

If ActiveRecord.State = agAddressStateNew Then
     'Msgbox "Datensatz neu angelegt"
  ' Wiedervorlage erzeugen um TIME (Wann fällig) mit TEXT (Bemerkung) mit IDUSER (für wen)
   With ActiveRecord.History.Add(200)
     .Fields("Time") = now
     .Fields("Text") = "Datensatz neu angelegt. Bitte prüfen, ob bereits vorhanden und vollständig korrekt erfasst"
     .Fields("IDUser") = "Martina"
  End With
End If

2020-10-10 07:16
Markus Grutzeck

Wie kann ich bei einer Einstufung eines Tickets im Workflow das Datum der Wiedervorlage prüfen?

Problem:

Nach Bearbeitung eines Tickets im Workflow in der CRM Software AG-VIP gibt der Anwender ein Wiedervorlagedatum für die nächste Bearbeitung des Tickets ein.

Als Verantwortlicher möchte man verhindern, dass das Ticket unendlich in die Zukunft gelegt wird oder bereits zu früh wieder weiter bearbeitet wird.

Eingabe Wiedervorlage Datum bei Einstufung Ticket

Hier soll das eingegebene Datum geprüft werden. Ist das Wiedervorlage Datum außerhalb des zulässigen Bereichs, öffnet sich ein PopUp:

Warnung, wenn Wiedervorlage Datum außerhalb des gültigen Bereichs liegt

Lösung:

  1. Öffnen Sie den Arbeitsbereich Administration.
  2. Rufen Sie die Workflow Projektverwaltung auf.
  3. Markieren Sie die Bearbeitungsstufe und wählen den Ändern-Schalter.
  4. Wechseln Sie in den Tab Reaktionen.
  5. Klicken Sie doppelt auf die Reaktion (= Einstufung), in der das Wiedervorlage Datum validiert werden soll.
  6. Im Makro Beim Speichern ergänzen Sie nun nachfolgenden Makro:
' Zweck: Validierung des WV Datums - muss zwischen 1-6 Monate liegen
' Autor: Peter Brandt
' Stand: 30.11.2022

Dim iUntergrenzeMonate, iObergrenzeMonate, iTageJeMonat
iUntergrenzeMonate = 1
iObergrenzeMonate = 6
iTageJeMonat = 30

If DateDiff("d",Date(),ActiveRecord.Fields("TimeTicket").Value) < (iUntergrenzeMonate * iTageJeMonat) _
OR DateDiff("d",Date(),ActiveRecord.Fields("TimeTicket").Value) > (iObergrenzeMonate * iTageJeMonat) Then
MsgBox "Termin zwischen "&iUntergrenzeMonate&"-"&iObergrenzeMonate&" Monaten ("&iUntergrenzeMonate * iTageJeMonat&" - "&iObergrenzeMonate * iTageJeMonat&" Tagen) setzen!",vbokonly+vbExclamation,"AG-VIP - Terminzeitpunkt ungültig"
Macro.Abort
Macro.Exit
End If

Dieser Makro prüft, ob das eingegebene Datum für die nächste Ticketbearbeitung zwischen 1 - 6 Monaten bzw. zwischen 30 - 180 Tagen liegt. Ist das nicht der Fall, wird eine Warnung ausgegeben und der Anwender aufgefordert ein gültiges Wiedervorlage Datum auszuwählen. So lässt sich z.B. eine mittelfristige Wiedervorlage umsetzen.

1970-01-01 01:00
Markus Grutzeck

Wie setze ich im Workflow in AG-VIP das Datum in einer Reaktion als Vorschlag?

2023-05-05 15:06
Markus Grutzeck

"Anrede" und "Briefanrede" automatisch generieren (AGGenderCheck Modul)

Problem:
Bei unvollständigen Daten kann es vorkommen, dass die Anrede (Frau, Herr) und Briefanrede ("Sehr geehrte XY,") nicht vorhanden sind.
Dies kann in der Regel nur durch eine manuelle Bearbeitung aufbereitet werden.

Lösung:
Mit dem AGGenderCheck Modul kann die Aufbereitung automatisiert durch einen Makro umgesetzt werden z.B. durch einen Hintergrundprozess, Button oder Makro beim Laden.

Installation:
Das Modul gehört zur Auslieferung von AG-VIP, daher muss außer dem Makro nichts zusätzlich installiert werden. Das Feld "Gender" muss angelegt werden - und das als Kennzeichenfeld mit den Werten "M" und "W".

Verwendung:
Öffnen Sie den Makro-Editor an beliebiger Stelle (Ansicht, Button, beim Verlassen eines Felds...) und fügen Sie den Code ein.

Ablauf:
Das Makro prüft, ob ein Titel vorhanden ist, bestimmt die Anrede (Herr oder Frau) basierend auf dem Geschlecht und erstellt die Anrede-Zeichenkette.
Wenn die Gender-Prüfung aktiviert ist, überprüft das Makro den Vornamen in einer Datenbank, aktualisiert die Anrede und das Geschlecht basierend auf dem Ergebnis.
Die Option "DisableGenderCheck" ermöglicht die Deaktivierung der Gender-Prüfung, falls gewünscht.

Makro:

' Zweck: Bestimme Anrede und Briefanrede durch Geschlecht und Vornamen
' Autor: Marko
' Datum: 06.11.2023
' Notiz: Das Makro besteht aus zwei Teilen. 
'
'        Der erste Teil befüllt das Feld "Anrede" (NameSalutation) mit "Herr" oder "Frau" abhängig davon, was in dem Kennzeichenfeld "Gender" ausgewählt wurde.
'	 Der zweite Teil nutzt das GenderCheck Modul und vergleicht den Vornamen mit dem Inhalt einer Namensdatenbank.
'
'	 Bsp.: Feld "NameFirst" ist "Michael" - das Makro schaut in die Datenbank und sieht, dass der Name "Michael" fast immer dem Geschlecht "M" gehört. Dementsprechend werden die
'	 Felder gefüllt und die Anreden generiert.

Sub GenAnrede() ' ---------------------------------------------- ' Um die Anredegenerierung durch Vornamen auszuschalten, setzen Sie die Variable auf True DisableGenderCheck = False ' ---------------------------------------------- 'MAKRO 1 (GENDERCHECK) 'Wenn es einen Titel gibt ("Dr." usw.) If ActiveAddress.Fields("NameTitle").Value <> "" Then Select Case ActiveAddress.Fields("Gender").Value 'Männlich' Case "M" ActiveAddress.Fields("NameSalutation").Value = "Herr" ActiveAddress.Fields("Salutation").Value = "Sehr geehrter Herr " & ActiveAddress.Fields("NameTitle").Value & " " & ActiveAddress.Fields("NameLast").Value & "," 'Weiblich' Case "W" ActiveAddress.Fields("NameSalutation").Value = "Frau" ActiveAddress.Fields("Salutation").Value = "Sehr geehrte Frau " & ActiveAddress.Fields("NameTitle").Value & " " & ActiveAddress.Fields("NameLast").Value & "," End Select 'Kein Titel Else Select Case ActiveAddress.Fields("Gender").Value 'Männlich' Case "M" ActiveAddress.Fields("NameSalutation").Value = "Herr" ActiveAddress.Fields("Salutation").Value = "Sehr geehrter Herr " & ActiveAddress.Fields("NameLast").Value & "," 'Weiblich' Case "W" ActiveAddress.Fields("NameSalutation").Value = "Frau" ActiveAddress.Fields("Salutation").Value = "Sehr geehrte Frau " & ActiveAddress.Fields("NameLast").Value & "," End Select End If 'MAKRO 2 (GENDERCHECK) If DisableGenderCheck = False And ActiveRecord.Fields("NameFirst").Value <> "" Then ' Falls kein Länderkürzel vorhanden, wird als Standard "DEU" verwendet Dim strCountry If ActiveRecord.Fields("Country").Value <> "" Then strCountry = ActiveRecord.Fields("Country").Value Else strCountry = "DEU" End If Dim oGenderCheck ' Erzeugen des AGGenderCheck Objektes Set oGenderCheck = CreateObject("AGGenderCheck.Checker") ' Für die Bearbeitung muss die Adresse gesperrt werden (Schreibzugriff) If ActiveRecord.Lock Then Dim strResult ' Aufruf der GetGender Funktion um die Anrede zu ermitteln strResult = oGenderCheck.GetGender(CStr(ActiveRecord.Fields("NameFirst").Value), CStr(strCountry)) Select Case strResult Case "W", "w" ' weiblicher Name If ActiveRecord.Fields("NameSalutation").Value <> "Frau" Then ActiveRecord.Fields("NameSalutation").Value = "Frau" If ActiveAddress.Fields("NameTitle").Value <> "" Then ActiveAddress.Fields("Salutation").Value = "Sehr geehrte Frau " & ActiveAddress.Fields("NameTitle").Value & " " & ActiveAddress.Fields("NameLast").Value & "," Else ActiveAddress.Fields("Salutation").Value = "Sehr geehrte Frau " & ActiveAddress.Fields("NameLast").Value & "," End If ActiveRecord.Fields("Gender").Value = "W" End If Case "M", "m" ' männlicher Name If ActiveRecord.Fields("NameSalutation").Value <> "Herr" Then ActiveRecord.Fields("NameSalutation").Value = "Herr" If ActiveAddress.Fields("NameTitle").Value <> "" Then ActiveAddress.Fields("Salutation").Value = "Sehr geehrter Herr " & ActiveAddress.Fields("NameTitle").Value & " " & ActiveAddress.Fields("NameLast").Value & "," Else ActiveAddress.Fields("Salutation").Value = "Sehr geehrter Herr " & ActiveAddress.Fields("NameLast").Value & "," End If ActiveRecord.Fields("Gender").Value = "M" End If End Select End If Set oGenderCheck = Nothing End If End Sub GenAnrede()

2023-11-08 16:15
Peter Brandt

Arbeiten mit priorisierten Wiedervorlagen

Herausforderung:

Insbesondere im telefonischen Outbound müssen Anrufe zu einem bestimmten Zeitpunkt erfolgen. Dafür gibt es priorisierte Wiedervorlagen.

Am Ende der Ticketbearbeitung erfolgt eine Einstufung über folgenden Dialog:

Einstufung mit priorisierter Wiedervorlage

Sobald Datum / Uhrzeit angegeben werden, erscheint die Option bevorzugte Wiedervorlage. Erfolgt die weitere Bearbeitung in der gleichen Stufe, ist per Default der Haken gesetzt. Das macht immer dann Sinn, wenn Sie sich mit den Gesprächspartner zu einem festen Zeitpunkt zu einem Telefonat / Gespräch verabreden.

Wenn der Gesprächspartner hingegen mitteilt, dass die gewünschte Zielperson z.B. im Urlaub und erst in drei Wochen wieder erreichbar ist, setzen Sie den Haken nicht. In diesem Fall kann irgendwann ab in drei Wochen das Telefonat erfolgen.

Viele Wiedervorlagen benötigen keine Priorisierung. Agenten vergessen aber oft den Schalter zu deaktivieren. Das führt dann zu vielen priorisierten Wiedervorlagen, z.B. in der Projektampel. Die wenigen, wirklich wichtigen Telefonate gehen dann unter.

Lösung:

Sie können die Vorgabe für priorisierte Wiedervorlage über Makro auf false setzen.

So gehen Sie vor:

  1. Öffnen Sie im Arbeitsbereich Administration die Workflow-Projekte.
  2. Gehen Sie in die gewünschte Bearbeitungsstufe in den Tab Reaktionen.
  3. Wählen Sie die gewünschte Einstufung aus und klicken auf den Ändern-Schalter.
  4. Im Dialogfenster wählen Sie im unteren Bereich Makro vor Einstufung und ergänzen:
    ActiveTicket.FollowUpPriority = false

Damit sind Wiedervorlagen standardmäßig für Anwender nicht mehr priorisiert. Anwender müssen nun aktiv den Haken setzen, damit Wiedervorlagen zum gewünschten Zeitpunkt von AG-VIP aktiv zur Bearbeitung vorgelegt werden. Nicht priorisierte Wiedervorlagen werden ab Fälligkeitszeitpunkt wieder bearbeitet.

2024-07-04 16:02
Markus Grutzeck

Wie kann ich den Umsatz bei einer Einstufung dynamisch setzen?

Herausforderung:

Sie möchten die Umsätze im Kampagen-Reporting von AG-VIP sehen. Dazu kann in der Reaktion fix ein Umsatz eingetragen werden. Also z.B. € 50 für jeden vereinbarten Termin. Beim Telefonverkauf kauft jeder Gesprächspartner evtl. unterschiedliche Artikel. Der Umsatz ist als unterschiedlich je Ticket.

Der Umsatz kann als Spalte in der Historie eingeblendet werden und erscheint im Performance Monitor sowie in der Benutzer-Arbeitszeitstatistik.

Lösung:

Über den Makro "vor Einstufung" können Sie den Umsatz berechnen und dynamisch zuweisen. So erhalten Sie je Einstufung unterschiedliche Umsätze.

So gehen Sie vor:

  1. Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Worklow-Projekte.
  2. Öffnen Sie die gewünschte Bearbeitungsstufe und wählen den Ändern-Schalter.
  3. Wechseln Sie in den Tab Reaktionen und wählen die gewünschte Einstufung (= Reaktion) aus..
    AG-VIP: Workflow-Projektverwaltung
  4. Klicken Sie doppelt auf die Reaktion oder wählen den Ändern-Schalter.
  5. Klicken Sie doppelt auf Makro Vor Einstufung.
  6. Geben Sie nachfolgenden Makrocode ein:

' Umsatz berechnen für diese Einstufung
' ... hier gehört die Berechnung hin, z.B. Summe aller Artikel in der Zusatztabelle WARENKORB.

' Jetzt setzen wir das Feld UMSATZ (= Sales) aus der Historie
' In diesem Beispiel einfach fix "100".

ActiveWorkflowTicket.Sales = 100

7. Speichern Sie Ihre Eingabe mit dem OK-Schalter.

Wenn Anwender diese Reaktion nutzen, erscheint nun dynamisch der zugewiesene Wert. Sie können das über die Spalte Umsatz in der Historie kontrollieren:

AG-VIP: Umsatz in der Historie

Tipp:

In der Benutzerverwaltung können Sie je Anwender einen Stundensatz in € hinterlegen. Multipliziert mit der Arbeitszeit erhalten Sie so die Personalkosten. Über das Feld Umsatz in der Historie kennen Sie die durch diesen Anwender erzielten Erlöse. So kommen Sie zu einer einfachen Deckungsbeitragsrechnung je Mitarbeiter.

2024-11-12 20:02
Markus Grutzeck

Hilfsmittel

Zur Kategorie

Outlook 2000: Laufzeitfehler 459: Objekt oder Klasse unterstützt diese Ereignismenge nicht / "Run-Time Error 459- Object or class does not support the set of events"

Ursache:

Das aktuelle Outlook-PlugIn von AG-VIP SQL unterstützt die Outlook Version 2003 und 2007.
Der Fehler erscheint, wenn eine AG-VIP SQL Version ab 1.09.013 mit Outlook 2000 betrieben wird. In Outlook ist dann der Menüpunkt "AG-VIP SQL" sowie die Symbolleise "AG-VIP SQL" nicht sichtbar.

Das Outlook-PlugIn von AG-VIP SQL ist notwendig,
a) um versendete Emails in AG-VIP SQL in der Historie verlinken zu können
b) eingehende Emails in AG-VIP SQL zu archivieren
c) Kontakte aus Outlook in AG-VIP SQL einzutragen.

Hintergrund:

Microsoft hat beim Wechsel von Outlook 2000 zu Outlook 2003 die API-Schnittstelle geändert. Ab Outlook 2007 wird die alte API (CDO-Objekt) nicht mehr mit installiert. Das ältere Outlook-PlugIn basierend auf dem älteren CDO-Objekt führte zu vielen Sicherheitswarnungen in der Anwendung. Deshalb wurde das Outlook-Addin von AG-VIP SQL angepasst.

Lösungsmöglichkeit:

1. Outlook Version 2003 oder 2007 einführen.
2. Outlook-Add-In deaktivieren
3. Das neue Outlook-Add-In deregistrieren und das alte Add-Inregistrieren. (nicht empfohlen)

Vorgehensweise zu  2. Outlook-Add-In deaktivieren

1. Starten Sie MS-Outlook 2000.
2. Wählen Sie aus dem Menü Extras, den Befehl Optionen.
3.  Wechseln Sie in den Reiter "Weitere".
4. Aktivieren Sie dort den Schalter Erweitere Optionen.
5. Wählen Sie den Schalter Com-Add-Ins.
6. Entfernen Sie den Haken vor dem Com-Add-In "Outlook AddIn AG-VIP SQL"

Dies muss auf jedem Client durchgeführt werden, auf dem AG-VIP SQL installiert wurde.

 Vorgehensweise zu 2) Das neue Outlook-Add-In deregistrieren und das alte Add-Inregistrieren. (nicht empfohlen)

1. Schließen Sie Outlook.
2. Erzeugen Sie unterhalb des AG-VIP SQL Programmverzeichnisses ein neues Unterverzeichnis "\agvipoladdin\". Kopieren Sie das alte Outlook Add-In "AGVIPSQLOLAddin.dll" aus angehängter ZIP-Datei in dieses Unterverzeichnis.  Sonst wird?s bei jedem Update überschrieben.

 2. Deregistrieren: (Adminrechte erforderlich)

    regsvr32.exe /u <Kompletter Pfad zur aktuellen AGVIPInstallation>\AGVIPOLAddIn.DLL

 3. Registrieren: (Adminrechte erforderlich)

    regsvr32.exe <Kompletter Pfad zur aktuellen AGVIPInstallation>\agvipoladdin\AGVIPOLAddIn.DLL

Das ist an jedem Platz durchzuführen, an dem das alte AddIn laufen soll! Von daher ist unsere Empfehlung Outllok 2003 oder 2007 einzuführen. Der Support für Outlook 2002 seitens Microsoft ist 2006 eingestellt worden!

Siehe auch: http://www.pcreview.co.uk/forums/thread-1856578.php

2023-07-27 14:02
Markus Grutzeck

Formatieren von Werten aus Hilfsmitteln mit Word

Beschreibung:

Daten werden bei den Standardhilfsmitteln für Word in Dokumenten Variablen abgelegt. Diese Dokumenten Variablen werden dann über die Feldfunktion DOCVARIABLE in das Dokument eingesetzt.

Die Daten werden hierbei nach Standard-Windows Vorgabe formatiert eingesetzt., d.h. Fließkommazahlen, Zeit- und Datumsfelder werden im entsprechenden Standardformat übernommen.
Dies führt unter Umständen jedoch nicht zum gewünschten Ausgabeformat. Z.B. könnte für ein Datumsfeld eine vollständige Textdarstellung gewünscht sein, oder für eine Uhrzeit die Unterdrückung der Sekundenangabe, oder bei einer Fließkommazahl soll die Anzahl der Nachkommastellen geändert werden.

Word unterstützt für Feldfunktionen Formatangaben \# für Fließkommazahlen und \@ für Datumsangaben. Diese Funktionalität kann entsprechend genutzt werden.

Beispiel Datum:

Gegeben sei eine DOCVARIABLE Date (Datumsfeld mit Inhalt "30.12.2002 12:23:34") gespeichert als Feldtyp:Datum, Zeit.

Die Ausgaben in Word können auf folgende Weise erfolgen:

Ohne Formatierung:

{DOCVARIABLE Date}
30.12.2002 12:23:34

Vollständiges ausgeschriebenes Datum:

{DOCVARIABLE Date \@ "dddd, d. MMMM yyyy HH:mm"}
Montag, 30. Dezember 2002 12:23

Nur Uhrzeit: 12-Stundenanzeige

{DOCVARIABLE Date \@"hh:mm"}
12:23

Nur Uhrzeit: 24-Stundenanzeige

{DOCVARIABLE Date \@"HH:mm"}
12:23

Die Werte stehen also für folgende Bedeutung:

 

 Kürzel Bedeutung 
 d Nummer eines Tages innerhalb der Woche bzw. Monat
 dd  Tag mit führender "0"
 ddd  Erste drei Buchstaben des Wochentages
 dddd  Ausgeschriebener Wochentag
 M  Monat, keine führende "0", z.B. "1"
 MM  Monat inkl. führender "0", z.B. "01"
 MMM  Monat mit ersten drei Buchstaben, z.B. "Jan"
 MMMM  Ausgeschriebener Monat, z.B. "Januar"
yyyy  vier-stellige Jahreszahl
 HH  24-Stundenanzeige inkl. führender "0"
 hh  12-Stunden inkl. führender "0"
 mm  Zeigt die Minuten inkl. führender "0" an
Beispiel Fließkommazahl:

Gegeben sei eine DOCVARIABLE Double (Inhalt -1.234,5678) gespeichert als Feldtyp:Fließkommazahl.

Die Ausgaben in Word können auf folgende Weise erfolgen:

Ohne Formatierung:

{DOCVARIABLE Double}
-1234,5678

Mit 2 Nachkommastellen und mit Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "#.###,00"}
-1.234,57

Ohne Nachkommastellen und mit Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "#.###"}
-1.235

Ohne Nachkommastellen und ohne Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "####"}
-1235

Die vollständige Dokumentation für die Formatierung von Feldfunktionen entnehmen Sie bitte der Microsoft Word Online Hilfe.

Formatierung von logischen Feldern

Bei logischen Feldern werden im Standard die Werte true (= 1 = Haken gesetzt) oder false ( = 0 = leeres logisches Feld) übergeben. Das soll im Word-Dokument aber oftmals nicht angezeigt werden.

Ein Lösungsweg kann sein, die Feldfunktion in Word, um eine IF - Anweisung zu erweitern und statt true oder false eine Grafik einblenden zu lassen. Das würde dann wie folgt als Feldfunktion in Word aussehen:

{ IF { DOCVARIABLE [Logisches Feld AG-VIP SQL} = "True" { INCLUDEPICTURE "C:\Temp\Haken.JPG" } { INCLUDEPICTURE "C:\Temp\Leer.JPG" }}

 Oder man setzt z.B. bei einem Tri-State logischen Feld statt 0 = Nein, 1 = Ja,  2 = Keine Angabe die Textausgabe

{If {DOCVARIABLE OptInPhone \* CHARFORMAT} = 1 "Ja" {If { DOCVARIABLE OptInPhone \* CHARFORMAT} = 0 "Nein" "Keine Angabe" } }

2023-02-21 08:35
Martin Richter

MAPI-Hilfsmittel: Email über Outlook versendet kommt manchmal als WINMAIL.DAT an

Beschreibung:

Eine Email die über ein MAPI-Hilfmittel über Outlook gesendet wird, kommt bei manchen Empfängern als Winmail.dat an.

Das Problem liegt nicht in AGVIP sondern in Outlook. (Sowohl Outlook als auch Outlook Express)

Immer wenn aus Outlook eine Email gesendet wird und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat, das von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)

TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum senden von Nachrichten, daher tritt das Problem hier seltener auf.

Das TNEF verwendet wird kann folgende Ursache haben:
  1. Outlook ist unter Optionen Email-Format auf "Rich-Text-Format" als Standard eingestellt.
  2. Der Kontakt zur Emailadresse ist in Outlook vorhanden und dort ist "Als Rich Text" senden in der Adresse des Kontakts als Sendeformat eingestellt. (Doppelklick auf Emailadresse des Kontakts-> Sendeformat)
  3. Die Vorlage auf der das Hilfsmittel basiert ist auf Rich-Text als Sendeformat eingestellt.
Lösungsmöglichkeiten:
  1. Überprüfung der 3 oben genannten Punkte auf korrekte Einstellungen.
  2. Verwendung des Hilfmittels mit HTML-Erweiterung vom 23.08.2007 (Email schreiben mit Vorlage)
Siehe auch:

2011-08-17 16:06
Martin Richter

Anbindung GoogleMaps für Routenplanung

Zweck:

Sie möchten die aktuelle Adresse aus AG-VIP SQL in einer Karte angezeigt bekommen oder eine Routenplanung vom aktuellen Standort zur aktuellen Adresse in AG-VIP SQL kalkulieren lassen.

Voraussetzung:
  • Internetzugang zu GoogleMaps 
Lösung:

Über einen Makro wird der Anwender zunächst gefragt, ob er nur die aktuelle Adresse in der Karte angezeigt bekommen möchte oder ob eine Routenplanung zur aktuellen Adresse (Start -> Ziel) gewünscht wird.

Startort:
Im Makro wird der Startpunkt in der Variablen "StartOrt" definiert. Hier gibt es zwei Varianten:
Entweder wird der "StartOrt" einmal fest definiert und gilt damit für alle AG-VIP SQL Anwender einheitlich, z.B. "DEU, 63452 Hanau, Hessen-Homburg-Platz 1". Dabei ist das Land nach dem in AG-VIP SQL verwendeten ISO 3166-1-alpha-3 anzugeben.
Oder der "StartOrt" wird variabel aus dem Feld "Abteilung" der Benutzerverwaltung aus AG-VIP SQL gefüllt. Damit sind innerhalb einer AG-VIP SQL Instanz unterschiedliche Startorte, z.B. für unterschiedliche Unternehmensstandorte, möglich.

Makroaufbau:
Über Konvertierungsroutinen werden unzulässige Zeichen, z.B. Komma oder Leerzeichen entfernt und die Zieladresse für GoogleMaps syntaktisch korrekt aufgebaut.
Nach der Auswahl des Anwenders für die gewünschte Anzeigeform (nur Zielort  oder  Routenplanung) wird der URL erzeugt und damit die Kalkulation in GoogleMaps ausgelöst.

Installation:
  1. Laden Sie die angehängte ZIP-Datei herunter
  2. Entpacken Sie die ZIP-Datei.
  3. Starten Sie AG-VIP SQL.
  4. Wählen Sie aus dem Menü Datei, Administration, Hilfsmittel.
  5. AktivierenSie den Import-Schalter und wählen die Datei "GoogleMaps Routenplanugn.AGTOOL" aus.
  6. Fertig. Jetzt können Sie aus AG-VIP SQL beliebig Routen planen

 

Änderungslog:
26.02.2014

  • Anpassung auf das neue Google Maps 2.0

24.07.2015

  • Nutzung der neuen Dialogoptionen

2015-07-24 01:50
Markus Grutzeck

Musterbeispiel "Personalisierte Email mit Lotus Notes Emailclient versenden"

Beschreibung:

Mit dem Hilfsmittel "Personifizierte Email für Notes" ist es möglich, eine Email mit vorgegebenem Text und Feldersetzungen erzeugen.
Sowohl der Nachrichtentext, wie auch der Betreff der Email können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden.

Einrichtung:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Enpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel -> Import
    Wählen Sie nun die Datei "Personifizierte Email für Notes.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Personifizierte Email für Notes" entsprechend Ihren wünschen an.
Optionen:

Die Vorlagendatei "Notes-Mail.txt" enthält in der ersten Zeile den Betreff der Email. Die Zeile muss mit Subject: beginnen. Im Subject können wie im Body Feldersetzungen aus den Feldern von AG-VIP SQL vorgenommen werden.
Dies erfolgt nach dem Muster:

%NameLast% ist Mitarbeiter der Firma %Name1% in dem wunderschönen Ort %City%.

wird dann zu
"Mustermann ist Mitarbeiter der Firma Test GmbH in dem wunderschönen Ort Teststadt."

Auf Felder des aktuellen Anwenders der die Email generiert kann mit folgenden Variablen zugeriffen werden: 
%ActiveUserFullName% = Voller Name des Benutzers
%ActiveUserDirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUserDepartment% = Abteilung des Benutzers
%ActiveUserEmail% = Emailadresse des Benutzers
%ActiveUserFaxNumber% = Faxnummer des Benutzers
%ActiveUserFunction% = Funktion des Benutzers
Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die Email übernommen werden.

Möchten Sie die Email direkt versenden ohne dem Benutzer eine Eingriffsmöglichkeit zu ermöglichen, müssen Sie im Hilfsmittel unter der Registerkarte Makro auf Ändern klicken und in Zeile 13 den Wert auf

SendIt = 1


setzen.

Wenn Sie die Email immer an einen festen Empfänger senden möchten können Sie die Adresse des Empfänger in Zeile 11 durch verändern des Wertes

Email = "max@musterdomain.de"


setzen.

Vorraussetzungen zur Nutzung dieses Emailhilfsmittels:

Es muss mindestens ein Lotus Notes Client ab der Version 4.6 auf dem System installiert sein.

2008-04-25 11:05
Ulrich Sticker

SMS-Versand mit AGVIP SQL

Zweck:

Sie möchten SMS aus AG-VIP SQL versenden. Das Hilfsmittel SMS-Versand erlaubt Ihnen flexibel SMS entweder an Adressen aus AG-VIP SQL zu senden, oder speziell erstellte Nachrichten an bestimmte Empfänger zu senden.
Sie können dabei die Nachricht mit Platzhaltern versehen und mit Daten aus AG-VIP SQL anreichern. Auch die Verwendung im Workflow und der Einsatz des Notizfeldes ist möglich.

Anwendungsgebiet:

Neben Textnachrichten ist es auch möglich das Hilfsmittel so zu konfigurieren, dass es Daten aus AG-VIP SQL oder festgelegte Kontaktinformationen als Adressbucheintrag für ein Mobiltelefon sendet.

Ein weitere Anwendung könnte sein, dem Empfänger direkt einen Weblink (URL) auf das Mobiltelefon zu senden, um z.B. Zugriff auf einen bestimmten Artikel der Wissensdatenbank, Produktinformation oder auszufüllendes Formular zu erhalten.

Voraussetzung:
Lösung:

Über ein Makro wird eine SMS generiert, die an den Dienstleister ASPSMS.COM übergeben wird. Die SMS kann über eine Textdatei vorformuliert werden und um Felder aus AG-VIP SQL angereichert werden.
Alternativ kann über Konfigurationsoptionen im Kopfbereich des Makros im Hilfsmittels festgelegt werden, ob die SMS eine Text-SMS, Flash-SMS (Betreiber-SMS) oder ein Telefonbucheintrag für ein Mobiltelefon sein soll.
Es kann auch festgelegt werden, ob die SMS so wie erstellt gesendet oder vor dem Versand nochmals editierbar sein soll oder welche Benutzerinteraktion beim Ausführen des Hilfsmittels stattfinden soll.

Die Preise sind abhängig vom Zielnetzwerk des SMS-Empfängers. Eine einfache SMS in ein Handynetz in Deutschland und an einen Empfänger kostet derzeit (Stand 23.07.2015) 1 Credits à 6 Euro-Cent (Ohne Mengenrabatt).
Kosten für das Benutzerkonto bei aspsms.com entstehen Ihnen nicht. Genaue Informationen über die aktuellen Preise des Anbieters aspsms.com finden Sie auf der Webseite aspsms.com. Handelt es sich um eine Multipart-SMS (Mehr als 160 Zeichen) wird diese SMS in Teile zu je 153 Zeichen aufgeteilt. Hierbei entstehen je Teil der SMS und Empfänger Versandkosten.

Installation:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "SMS-Versand.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "SMS-Versand" entsprechend Ihren Wünschen an.
Makroaufbau:

Das Makro richtet sein Verhalten und Erscheinungsbild nach Konfigurationsoptionen, die im Kopfbereich des Makros vorgenommen werden können.

1. Nachrichtentext für eine Text-SMS oder Flash-SMS

Wird eine Text- oder Flash-SMS gesendet, kann ein vorformulierter Nachrichtentext verwendet werden.
Dieser Text kann mit der Variablen Nachricht="Mein SMS Text" im Kopfbereich des Makros definiert werden. Ist dieser Eintrag Nachricht="", wird der Text aus der Vorlagendatei eingelesen.
Im Beispiel heißt die Vorlagendatei "SMS-Nachricht.txt" und enthält den vorformulierten Text der SMS.

Im Text können Feldersetzungen aus den Feldern von AG-VIP SQL vorgenommen werden. Hierzu muss der interne Feldname in Prozentzeichen in den Text eingefügt werden.
Dies erfolgt nach dem Muster:

%Salutation%
Dies ist eine Test-SMS von %ActiveUserFullName%
%NameSalutation% %NameLast%, wir wünschen Ihnen nun weiterhin viel Erfolg
mit AG VIP SQL!
Ihre Musterfee GmbH

Wird dann zu:

Sehr geehrter Herr Max Muster,
Dies ist eine Test-SMS von Irene Musterfee
Herr Muster, wir wünschen Ihnen nun weiterhin viel Erfolg
mit AG VIP SQL!
Ihre Musterfee GmbH

 

Auf Felder des aktuellen Anwenders, der die SMS generiert kann mit folgenden Variablen zugeriffen werden:
%ActiveUserFullName% = Voller Name des Benutzers
%ActiveUserDirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUserDepartment% = Abteilung des Benutzers
%ActiveUserEmail% = Emailadresse des Benutzers
%ActiveUserFaxNumber% = Faxnummer des Benutzers
%ActiveUserFunction% = Funktion des Benutzers
Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die SMS übernommen werden.

2. SMS-Typ
Text-SMS:

Eine Text-SMS ist eine ganz normale SMS. Wenn Sie mit dem Hilfmittel eine Text-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=0 im Kopfbereich des Makro-Codes.

Flash-SMS:

Eine Flash-SMS ist eine ganz normale Text-SMS mit dem Unterschied, dass sie direkt auf dem Display des Handys erscheint und in der Regel nicht gespeichert werden kann.
Sie wird auch Betreiber SMS genannt, da die Betreiber so oftmals ein Handy im Roamingbereich begrüßen o.ä.
Wenn Sie mit dem Hilfsmittel eine Flash-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=1 im Kopfbereich des Makro-Codes.

VCard-SMS:

Eine VCard-SMS ist eine SMS, die auf einem Mobiltelefon einen Kontakteintrag erzeugt. Sie kann die Werte Name und Telefonnummer übergeben.
Wird eine VCard gesendet, erscheint auf dem Empfängerhandy eine Meldung wie "Kontaktinformationen erhalten. Möchten Sie diese Ihrem Adressbuch hinzufügen?". Wird dies positiv bestätigt, so wird ein neuer Adressbucheintrag im Handy erzeugt.
Wenn Sie mit dem Hilfsmittel eine VCard-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=2 im Kopfbereich des Makro-Codes.
Nun müssen Sie noch die Werte für den Kontakteintrag definieren. Dies ist mit den Variablen VCName und VCNr möglich.
VCName="" nimmt beim aktuellen Datensatz den Vornamen und Nachnamen. Alternativ kann hier jedoch auch jedes andere Feld verwendet werden: VCName=ActiveAddress.Fields("<Feldname>").value
Auch die direkte Angabe eines Textes ist möglich: VCName="Musterfee GmbH" (Voreinstellung).
VCNr="" nimmt beim aktuellen Datensatz das Feld Telefon1. Alternativ kann hier jedoch auch jedes andere Feld verwendet werden: VCNr=ActiveAddress.Fields("<Feldname>").value
Auch die direkte Angabe eines Textes ist möglich VCNr="+4912345678" (Voreinstellung).

3. SMS Empfänger festlegen:

Im Fall<Feldname>").value
Dies gilt auch für die weiteren Empfänger (Empfaenger1="" ... Emfaenger10=""). Bleiben die Werte leer, wird keine SMS an sie gesendet.
Es können insgesamt 11 Empfänger konfiguriert werden.

4. Absender festlegen:

Ist derhttp://www.aspsms.com/home.asp?REF=150059&lng=dt" target="_blank" rel="noopener">aspsms.com freigeschaltet werden.
Dabei wird ein Freischaltcode für die Handynummer erzeugt, der per SMS an das Handy gesendet wird und bei aspsms.com auf der Webseite eingegeben werden muss. Dies soll die missbräuchliche Verwendung von Handynummern als Absender erschweren.
Die Rufnummer muss im Format Absender="+491712222" hinterlegt werden. Prinzipiell können je Account beliebig viele Absendernummern freigeschaltet werden.
Es kann natürlich auch ein beliebiges Feld aus AGVIP SQL übernommen werden: Absender=ActiveAddress.Fields("<Feldname>").value . Bei Telefonnummern bietet sich Absender=canonical(ActiveAddress.Fields("<FeldnamederRufnummer>").value) an. (Die Funktion canonical(Nummer) sorgt für die korrekte Aufbereitung der Nummer).

5. Weitere Optionen
Multipart SMS:

Wird Multipart auf 1 gesetzt, wird die SMS, sofern sie länger als 160 Zeichen ist, mit mehreren SMS gesendet. Hierbei wird die Nachricht in 153 Zeichen lange Teilnachrichten zerlegt und auf dem Handy wieder zusammengefügt. Für jede Teilnachricht und jeden Empfänger entstehen Ihnen Versandkosten (Voreinstellung des Makro).
Wird Multipart=0 gesetzt, wird die SMS nach 160 Zeichen abgeschnitten und gesendet. Wird Multipart=2 gesetzt, wird der Versand bei einer zu langen SMS abgebrochen und eine Hinweismeldung ausgegeben. Ein Fehlercode wird gesetzt.

Anzeige und Bearbeitung der SMS vor dem Versand:

Wird ZeigeSMS=1 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt und der Versand kann mit der Schaltfläche 'Abbrechen' noch abgebrochen werden.
Wird ZeigeSMS=2 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt der Versand kann jedoch nur mit 'OK' bestätigt werden.
Wird ZeigeSMS=3 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt und kann vor dem Versand nochmal bearbeitet werden. Hierzu muss es auf dem Client-System möglich sein ein IEObjekt zu starten.
Wird ZeigeSMS=0 gesetzt, wird die SMS ohne weitere Benutzerinteraktion gesendet (Voreinstellung).

Ergenbis des SMS-Versand ausgeben:

Wird Sendeergebnis=0 gesetzt, wird keine Ausgabe mit dem Erfolg der Übermittlung der SMS vorgenommen (Voreinstellung). Wird Sendeergebnis=1 gesetzt, wird nach dem Versand eine Statusmeldung angezeigt. (Hinweis: Dieser Status ist jedoch KEIN Zustellungsbeleg! Nur das erfolgreiche Absetzen der SMS kann damit geprüft werden!)

Fehler in einem Fenster ausgeben:

Wird der Wert Zeigefehlercode=1 gesetzt, wird im Falle eines Fehlers bei der Kommunikation mit dem SMS-Dienstleister eine Fehlermeldung mit Hinweis auf die Fehlerursache angezeigt (Voreinstellung). Ist diese nicht gewünscht, kann mit Zeigefehlercode=0 die Ausgabe von Fehlern bei der Übermittlung der SMS unterdrückt werden.

Sende Datum:

Wird SendeDatum="" gesetzt, wird die SMS sofort gesendet (Voreinstellung). Wird SendeDatum="01.12.2008 08:00:00" gesetzt, wird die SMS zum angegebenen Datum übermittelt. Beachten Sie, dass die Datumsformatierung wie im Beispiel gegeben sein muss! 1.12.2008 8:00:00 würde zu einem fehlerhaften Versanddatum führen! (Fehlende führende Nullen)

Dauer der Zustellzeit:

Wird Zustellzeit="" gesetzt, wird versucht die SMS innerhalb von 24 Stunden zuzustellen (Voreinstellung). Dieser Wert ist auch der Maximalwert! Kann die SMS in dieser Zeit nicht zugestellt werden, wird sie ungültig (bspw. weil das Mobiltelefon abgestellt ist). Die Angaben für die Zustellzeit können in Minuten von 3 bis 1440 (=24 Stunden) vorgenommen werden. Werte unter 3 Minuten sind ungültig. Zustellzeit="15" erfordert die Zustellbarkeit der SMS innerhalb von 15 Minuten, ansonsten wird die SMS ungültig.

Zeitzone:

Grundeinstellung für Standort des Anwenders. In Deutschlant gilt GMT+1. Also Zeitzone="+1" (Voreinstellung). Dieser Wert MUSS vor allem bei Benutzern eingestellt werden, die AG-VIP SQL ausserhalb der Zeitzone GMT+1 betreiben!

Vorwahl des Landes:

Grundeinstellung für Standort des Anwenders. In Deutschland gilt +49 als Landesvorwahl. Diese Vorwahl wird verwendet um Rufnummern ohne angegebene Vorwahl um die Landesvorwahl zu ergänzen. LandVorwahl="+49" (Voreinstellung) bewirkt: Aus der Rufnummer 0171-2222 wird +491712222 für den SMS-Versand.

Historieneintrag:

Wird Historieneintrag=0 gesetzt, wird keine Veränderung am Historieneintrag vorgenommen. Hier wird der im Hilfsmitteldialog eingestellte Wert belassen. Wird Historieneintrag=1 gesetzt, wird der Historieneintrag mit dem SMS-Text ersetzt. Wird Historieneintrag=2 gesetzt, wird der Historieneintrag um den SMS-Text erweitert. Wird Historieneintrag=3 gesetzt, wird der Historieneintrag um den SMS-Text und um weitere Versandinformationen erweitert (Voreinstellung).

Zustellung der SMS nachverfolgen:

Es ist möglich jeder gesendeten SMS eine Message-ID zu geben, über die der Versand nachvollziehbar wird. Dafür muss ein Zähler im Administrationsbereich von AGVIP SQL angelegt werden. Dieser Zähler wird mit der Konfiguration SMSID="<Zählerbezeichnung>" aktiviert.
Hinweis: Für die Verwendung der SMSID entstehen Ihnen zusätzliche Kosten je gesendete SMS! Bitte beachten Sie hierzu die derzeit gültige Preisliste des SMS-Dienstleisters. Mit diesem Hilfsmittel ist derzeit keine spätere Auswertung der SMSID möglich.
Wird SMSID leer gelassen, wird keine spezielle ID vergeben. SMSID="" (Voreinstellung).

Dauer des SMS-Versandvorgangs:

Sie können festlegen, wie lange gewartet wird, um die SMS an den Dienst ASPSMS.com zu übergeben. Dieser Wert kann bei schlechter Netzwerk- oder Internetverbindung erhöht werden. Die Variable Submittimeout=2000 (Voreinstellung) nimmt den Wert hierfür auf. Die Angabe erfolgt in Millisekunden.

6. Benutzerkonto bei aspsms.com

Die Abwicklung des SMS-Versandes erfolgt komplett über den Anbieter ASPSMS.COM. Wir stellen Ihnen mit diesem Hilfsmittel nur eine technische Schnittstelle zu diesem Internetservice zur Verfügung.
Das bedeutet auch, das Sie ein Konto bei diesem Dienstleister einrichten müssen, und auch die Abrechnung des SMS-Versandes komplett über den Dienstleister erfolgt.
Nachdem Sie dieses kostenlose Konto bei aspsms.com angelegt haben, müssen Sie Guthaben auf Ihr Konto bei aspsms.com aufladen. Nun können Sie aus AG-VIP SQL ohne weitere Hardware oder sonstige Investitionen SMS versenden.

Sie erhalten von ASPSMS.COM einen 'Userkey' und ein 'Passwort' das Sie bitte bei den entsprechenden Variablen im Kopfbereich des Hilfsmittels hinterlegen. Ist einer oder beide Werte leer ('Userkey=""' 'Password=""') (Voreinstellung), wird das Hilfsmittel im DEMO-Modus gestartet, und Sie können damit den SMS-Versand simulieren.

7. Hinweis zur Fehlerbehandlung:

Tritt ein Fehler auf, wird die Variable Application.Globaldata("SMSError")=1 gesetzt. Da diese Variable global verfügbar ist, ist es hiermit möglich das Speichern eines Tickets oder eines Datensatzes bei Fehlfunktionen des SMS-Versandes automatisch abzubrechen. Wird das Hilfmittel erneut ausgeführt, wird wieder der Wert Application.Globaldata("SMSError")=0 gesetzt.
Beispiel-Makro für den Abbruch des Speichern eines Tickets in einer Reaktion bei Einstufung, die dieses Hilfsmittel verwendet:

If Application.Globaldata("SMSError")=1 ThenActiveTicket.Transition = "" PreReaction.Abort Application.Globaldata("SMSError")=0 Macro.ExitEnd If

  
Technische Anmerkungen:

Im Normalfall sollte das Hilfsmittel ohne besondere Konfiguration einer Firewall ausführbar sein, sofern ein Internetzugriff auf dem Client-Rechner vorhanden ist.
In besonderen Fällen kann es jedoch notwendig sein, Einstellungen an der Firewall vornehmen zu müssen. Für diesen Fall sind folgende Informationen relevant:
Die Datenkommunikation findet in Form eines XML-Streams über die folgenden Serveradressen statt:
http://xml1.aspsms.com:5061/xmlsvr.asp
http://xml2.aspsms.com:5061/xmlsvr.asp
Es kann auch auf der Seite von aspsms.com eine Beschränkung der IP-Adresse für die Nutzung der XML-Schnittstelle vorgenommen werden. Dies macht jedoch nur bei einem Internetzugang mit einer eigenen festen IP-Adresse Sinn.

Bitte beachten Sie:

Die Grutzeck Software GmbH stellt Ihnen diese Dateien / Patches so zur Verfügung wie sie sind. Es kann aus der Verwendung dieser Dateien kein erweiterter Supportanspruch abgeleitet werden. Die Dateien werden Ihnen ausschließlich als Hilfestellung zur Nutzung der Programme der Grutzeck Software GmbH bereitgestellt. Für Fehler bei der SMS-Übermittlung sowie Ausführungsfehler in diesem Beispiel-Makro übernimmt die Firma Grutzeck Software GmbH keine Haftung. Weitergehende Ansprüche sind ausdrücklich ausgeschlossen.

2023-04-25 12:21
Ulrich Sticker

Wie kann ich ein PDF-Dokument erzeugen, das mit Daten aus AGVIP SQL angereichert ist?

Problem:

Es soll eine PDF-Datei erzeugt werden die mit Inhalten aus AGVIP SQL angereichert ist.

Lösung:

Die einfachste Variante ist die Verwendung eines Wordhilfsmittels und die Anreicherung des Worddokuments mit Daten AGVIP SQL vorzunehmen und dieses Worddokument dann direkt als PDF auszugeben.
Ab Version 2007 ist dies direkt mit Word über "Speichern unter" möglich (siehe dazu folgenden Link).
http://kb.grutzeck.de/index.php?action=artikel&cat=10&id=287&artlang=de

Für alle anderen Wordversionen bietet sich die Ausgabe über FreePDF / Ghostscript an.

Vorraussetzungen:
  1. MS-Word muss installiert sein.
  2. Ghostscript muss installiert sein. (Kostenlos nutzbar. Lizenz:GPL GhostScript)
  3. FreePDF XP muss installiert sein. (Kostenlos nutzbar. Lizenz:Freeware (auch für Firmen).
    Alternativ kann auch Win2PDF zur PDF-Erzeugung genutzt werden. (Kostenpflichtig)

Am einfachsten können Sie die benötigten Dateien über die Internetseite des Autors Stefan Heinz herunterladen: http://freepdfxp.de/xpDownload.html

Verwendung mit AGVIP SQL:
Installation:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "PDF-Dokument erstellen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "PDF-Dokument erstellen" entsprechend Ihren Wünschen an.

Grundsätzlich funktioniert das Hilfsmittel wie alle anderen Word-Hilfsmittel die Sie bereits von uns kennen. Feldinhalte aus AGVIP SQL lassen sich mit {DOKVARIABLE <Interner Feldname> \*CHARFORMAT} in die Wordvorlage integrieren.

Nach den Feldersetzungen wird das PDF-Dokument automatisch erzeugt und das zugehörige Worddokument gelöscht.

2012-02-16 16:00
Ulrich Sticker

Zwei (oder mehr) Hilfsmittel in einer Reaktion bei Einstufung eines Ticket gleichzeitig ausführen lassen.

Problem:

Der Standard-Dialog zur Definition einer Reaktion bietet die Möglichkeit ein Hilfsmittel ausführen zu lassen. Manchmal macht es aber Sinn mehr als ein Hilfsmittel gleichzeit auszuführen.

Lösung:

Rufen Sie die zusätzlichen Hilfsmittel in einem Makro der Reaktion auf.

Definieren Sie das Makro im Dialog "Reaktion bearbeiten" unter Makros mit einem Haken in "Makro Vor Einstufung"

Application.ExecuteTool("<Name des Hilfsmittels1>")
Application.ExecuteTool("<Name des Hilfsmittels2>")
'...usw

Die Liste kann beliebig fortgesetzt werden. Dadurch ist es auch möglich 3 oder 4 Makros mit einer Reaktion auszuführen.
Bitte beachten Sie das ExecuteTool die Mechanismen ausser Kraft setzen, die bei einem OptOut für einen Kommunikationskanal den Aufruf eines Hilfsmittels des entsprechenden Kommunikationstyps verhindern. Sie müssen also selbst per Makro ggf. prüfen ob ein OptOut gesetzt ist.

2017-05-16 13:08
Ulrich Sticker

Datensatz per Hilfsmittel an eine CSV-Datei anhängen

Automatischer Excel- und Text-Export
Anmeldeinformationen der Anwender speichern

Oftmals ist es gewünscht das Ergebnis einer Stufe in einen Export zu übergeben. Dazu wird meistens eine sogenannte Exportstufe erstellt, deren Tickets dann als Textdatei exportiert werden und dann bspw. an den Auftraggeber übermittelt werden.
Nach erfolgtem Export werden die Tickets dann meist mit der Funktion "Stapelverabeitung" in entsprechende Endtöpfe des Workflows verschoben.

Das hier vorgestellte Hilfsmittel "Datensatz für CSV-Datei erzeugen" ermöglicht es, die Exportdatei automatisiert zu erzeugen.

Problem: Eine Textdatei ist eine sequenziell geschriebene Datei. Datensatzsperren u.ä. existieren nicht. Daher ist es NICHT SINNVOLL wenn viele Mitarbeiter parallel versuchen Datensätze zu erzeugen.
(z.B. Als Hilfsmittel einer Reaktion) In diesem Fall wäre es gut möglich das Mitarbeiter A und Mitarbeiter B gleichzeitig versuchen einen Datensatz an die Datei anzuhängen. In dem Fall würde der erste gewinnen und der zweite Datensatz würde beim Export verloren gehen.
Daher sollte der Einsatz dieses Hilfsmittels immer wohl überlegt werden. Wird das Hilfsmittel wie hier vorgestellt in einer Exportstufe verwendet, sollte es keine Probleme geben.

Da eine Stapelverarbeitung alle Tickets auf einmal behandelt, ist es nötig, die Ticketbearbeitung umzustellen, damit die Tickets einzeln bearbeitet werden. Damit dennoch eine automatische Bearbeitung erfolgt, muss dem Ticket noch die Reaktion und die Unterdrückung des Schlussdialogs mitgegeben werden.

Natürlich ist es möglich, daß Hilfsmittel auch für andere Aufgaben einzusetzen. In abgewandelter Form kann es zum Beispiel auch als Makro beim Öffnen und Schließen der Datenbank eingesetzt werden um eine Login/Logout-Datei je Mitarbeiter in einer versteckten Freigabe im Netzwerk zu erzeugen ...
Eine vereinfachte Variante hierfür finden Sie ebenfalls in der Dateianlage zu diesem Artikel.

Das Hilfsmittel erzeugt eine CSV-Datei die den gängigen Normen entspricht und damit direkt in Excel geöffnet werden kann. Sie eignet sich damit ideal als Datenaustauschformat für Ergebnisberichte gegenüber Auftraggebern etc.

Verwendung mit AGVIP SQL:

Installation:

  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "Datensatz für CSV-Datei erzeugen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Datensatz für CSV-Datei erzeugen" entsprechend Ihren Wünschen an. (Speicherort der Ergebnisdatei etc.)

Sie können nun weitere Einstellungen im kommentierten Kopfbereich des Makros vornehmen. Hier geben Sie, wie von den Wordhilfsmitteln bekannt, auch die Felder an, die exportiert werden.

Fallbeispiel A:
Anpassen einer Exportstufe zur automatischen Generierung einer Ergebnisdatei mit automatischer Ticketbewegung und anschließender Outlookemail für den Auftraggeber, die in Anlage die Ergebnisdatei enthält.

Vorgehensweise:
Installieren Sie die Hilfsmittel "Datensatz für CSV-Datei erzeugen.agtool" und "Reportmail mit Exportdaten für den Auftraggeber.agtool"
Passen Sie die Hilfsmittel (Name, Emailvorlage, Empfänger unf Felder für den Export) entsprechend Ihren Bedürfnissen an. Einstellungen die nicht über den Dialog des Hilfsmittels vorgenommen werden können, werden im Kopfbereich des Makros mit entsprechenden Erklärungen definiert.
Wechseln Sie anschließend in den Projektexplorer und Öffnen Sie die Exportstufe.
Stellen Sie auf der Registerkarte "Allgemein" im Modus auf "Nächstes Ticket wird vorgeschlagen" um und "Wartezeit für nächstes Ticket" auf 1 Sekunde.
Wechseln Sie auf die Registerkarte "Reaktionen" und wählen Sie die Reaktion aus, die Sie normalerweise nach dem Export ausführen. Wählen Sie hier als Hilfsmittel das ausgeführt werden soll "Datensatz für CSV-Datei erzeugen".
Wechseln Sie nun auf die Registerkarte "Ansichten" und ordnen Sie der Stufe eine Ansicht zu.
Wechseln Sie nun auf die Registerkarte "Makros"
Im Makro "Beim Laden" tragen Sie bitte folgende Zeilen ein: (<Reaktionsname> ersetzen Sie bitte durch den Namen Ihrer Reaktion für den Export.)

 
ActiveTicket.Transition="<Reaktionsname>"
ActiveTicket.SuppressFinalDialog=true 
 

 

Im Makro "Nach Einstufung" hinterlegen Sie bitte folgende Zeilen:

 
If Application.Globaldata("CSV-Dateizugriffehler")=true Then
 ActiveTicket.Transition=""
 PostReaction.Abort
End If
 

 

Ab sofort klappt Ihr Export automatisch. Sie können nun den Tickets zusehen, wie diese im Sekundentakt exportiert werden. Sind alle Tickets verarbeitet, lösen Sie direkt anschließend einfach das Emailhilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" manuell aus, und erhalten eine Email mit der Ergebnisdatei im Anhang.

Alternativ können Sie natürlich auch die 'klassische' Exportstufe erhalten.
Dabei führen Sie wie gewohnt den Exportfilter in der Stufe aus und durch Auswahl der Reaktion wird die Reportemail generiert. 
Treffen Sie eine Vereinbarung wie die Exportdatei benannt ist, und wo sie abgelegt ist.
Anschließend können Sie im Hilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" unter Makro, in der Zeile 18 Anlage="<Pfad und Dateiname zur Exportdatei" den Pfad der Ergebnisdatei definieren.
Nun können Sie das Hilfsmittel am Ende des Exports in der Reaktion hinterlegen.

Fallbeispiel B:
Erzeugen einer CSV-Datei um den Login eines Benutzers unter AGVIP SQL mitzuloggen.

Installieren Sie die Hilfsmittel "Login.agtool" und "Logoff.agtool"

Erstellen Sie nun auf Ihrem Server eine versteckte Dateifreigabe mit Schreibrechten für Ihre Anwender. (Dies kann beispielsweise die Freigabe versteckt$ sein. Der UNC Pfad lautet dann \\SERVER\versteckt$ )

Passen Sie nun die Pfade der Zieldatei der Hilfsmittel Login und Logoff an. Verwenden Sie für jeden User eine eigene Datei. (Namensgebung der Datei, Voreinstellung.) Hiermit verhindern Sie Dateizugriffsfehler.
In diesem Beispiel lautet dann der Pfad für das Zielverzeichnis der Zieldatei \\SERVER\versteckt$

Fügen Sie nun die folgende Zeile unter Administration->Datenbank->Adresstabellen-> <Name Ihrer Adressdatei> ->Ändern -> Makro beim öffnen ein:

 
Application.ExecuteTool("Login")
 

 

Im Makro beim Schließen fügen Sie folgende Zeile ein:

 
Application.ExecuteTool("Logoff")
 

 

Ab sofort finden Sie im Verzeichnis \\SERVER\versteckt$ für jeden Anwender eine Datei mit den Anmelde- und Abmeldeinformationen.

Wenn Sie sicherstellen möchten, daß ein Anwender beim Start von AGVIP SQL auch gleich in der Adresstabelle ist, können Sie in der Verküpfung von AGVIP SQL die Adresstabelle gleich mit übergeben.
z.B. C:\Programme\AGVIP SQL\AGVIP.exe /ad:<Adresstabelle>
Auch der direkte Start eines Projektes ist möglich.

Siehe auch KB-Artikel "Text-Datei als Auftragsblatt erzeugen"

2010-10-21 15:13
Ulrich Sticker

Personalisierte Powerpoint-Dateien aus AG-VIP SQL erzeugen

Problem:

Sie erstellen personalisierte Präsentationen oder Angebote in Powerpoint für Ihre Kunden. Diese Dateien wollen Sie direkt auf Knopfdruck aus AG-VIP SQL erzeugen und auch in die Kontakthistorie verlinken.

Lösung:
  1. Laden Sie das Musterhilfsmittel in der Anlage.
  2. Ergänzen Sie in Ihrem Hilfsmittel Platzhalter in der Form %[interner Feldnamen AG-VIP SQL]%

    Beispiel: %Name1%.
  3. Importieren Sie das Musterhilfsmittel und passen die Vorlage und die Dateiablage an.

2009-05-18 15:02
Markus Grutzeck

Hilfsmittel - Zähler für Angebots-Nr. verwenden

Hilfsmittel - Zähler für Angebots-Nr. verwenden

Problem:

Sie möchten über ein Hilfsmittel aus AG-VIP SQL ein Angebot in Word erstellen lassen. Dabei soll eine fortlaufende Angebots-Nr. vergeben werden. Der Dateiname des neu erstellten Angebots soll auch die Angebots-Nr. enthalten.

Lösung:

AG-VIP SQL bietet 10 vonaneinander unabhängige Zählerkreise. Bei jeder Verwendung des Zählers wird der Zähler um eine Zahl hochgezählt.

Vorgehensweise:
  1. Unter DATEI, ADMINISTRATION finden Sie unter VERSCHIEDENES den Punkt ZÄHLER.
    Legen Sie hier das gewünschte Zählerformat fest. Dabei sind führende Nullen oder Buchstaben erlaubt, z.B.
  2. "D0020090001"
    Starten Sie die Verwaltung der Hilfsmittel über DATEI, ADMINISTRATION, HILFSMITTEL.
  3. Kopieren Sie hier ein bestehendes Word-Hilfsmittel mit Verknüpfung, in dem Sie das bestehende Hilfsmittel markieren, über rechten Mausklick KOPIEREN und dann EINFÜGEN wählen.
  4. Klicken Sie doppelt auf das neu eingefügte Hilfsmittel oder wählen Sie den ÄNDERN-Schalter.
  5. Geben Sie die gewünschte Bezeichnung des Hilfsmittels, z.B. "Angebot" an.
  6. Wechseln Sie in den Reiter "Hilfsmittel Vorlage". Wählen Sie hier Ihre gewünschte Dateivorlage aus. Diese Dateivorlage muss eine DOCVARIABLE mit einem Platzhalter für die einzufügende Angebots-Nr. enthalten, z.B. "Counter.Angebots_Nr".
    Unter "Neuer Dateiname" soll auch die Angebots-Nr. Bestandteil des zu bildenden Dateinamens werden. Über den Pfeil-Runter-Schalter am Ende des Eingabefeldes können Sie "Zähler" wählen und den gewünschten Zähler einfügen.
    Damit wird der Zähler verwendet und somit automatisch um eine Zahl hoch gezählt.
    Um den Zähler nicht erneut zu erhöhen (weil bereits im Dateinamen erhöht), muss die DOCVARIABLE @Counter.Last in der Dateivorlage verwendet werden anstatt wie zuvor beschrieben Counter.Angebots_Nr.
Hilfsmittel - Zähler als Dateinamen verwenden

 

Die DOCVARIABLE @Counter.Last setzt den Wert, des zuletzt verwendeten Zählers. Das ist in diesem Fall der Zähler, der gerade bei der Bildung des Dateinamens verwendet wurde. "Angebots_Nr" steht hier als Bezeichnung der DOCVARIABLE in der Wordvorlage. Damit weiß AG-VIP SQL an welche Stelle die Angebots-Nr. im Dokument einzufügen ist.

Die Schreibweise für den Zähler in der Dateivorlage kann wie folgt sein:
Mit Erhöhung des Zählers:
DOCVARIABLE Counter.<ZählerName>
DOCVARIABLE Counter.<ZählerID>

Ohne Erhöhung des Zählers:
DOCVARIABLE @Counter.Last
Hinweis:
Sollte der Zählername ein Leerzeichen enthalten, kann nur die Variante mit der ZählerID verwendet werden.

Tipp 1:

In obigem Beispiel wird die Angebots-Nr. nur im Dokument eingefügt, aber nicht in AG-VIP SQL vermerkt. Aus vertrieblicher Sicht ist es wünschenswert, dass man benutzerdefinierte Felder anlegt und somit eine Forecastliste auswerten kann. Dafür empfehlen wir folgende benutzerdefinierte Felder:

Angebot_Nr Typ Text
Wird über Makro im Hilfsmittel gesetzt und dann als normale DOCVARIALBE im Hilfsmittel übergeben
Angebot_Datum

Typ Datum
Wird bei Ausführung des Hilfsmittels gesetzt

ActiveRecord("Angebot_Datum").Value = now

Realisierung_Datum Typ Datum
Vom Anwender einzugeben, wann der Umsatz realisiert wird
Angebot_Volumen Typ Währung
Vom Anwender einzugeben, über welche Summe das Angebot gestellt wurde
Angebot_Inhalt Typ Text
Vom Anwender einzugeben, was angeboten wurde
Angebot_WS

Typ KennzeichenAuswahlfeld mit Prozentwerten, z.B.

001 - Potential identifiziert
010 - Budget verfügbar
020 - Absicht mit uns umzusetzen
040 - 40 % Wahrscheinlich
060 - 60 % Wahrscheinlich
099 - mündliche Zusage
100 - Auftragseingang


Damit lassen sich über die Auswertung alle offenen Angebote selektieren. Sortiert man diese nach ANGEBOT_DATUM und lässt sich die Spalten ANGEBOT_VOLUMEN und ANGEBOT_WS anzeigen, erhält man eine gewichtete Forecastlliste

Arbeiten Sie mit Workflow, sollten die benutzerdefinieren Felder auf Ebene des Workflow-Tickets angelegt werden. Dann kann ein Kunde beliebig viele Angebote haben.

 

Tipp 2:

In gleicher Form können Sie auch weitere Informationen aus dem aktuellen Benutzerprofil in das Dokument ergänzen:

Folgende Felder erhalten Sie mit folgender Bezeichnung:

Abteilung   Application.ActiveUser.Department
 Durchwahl  Application.ActiveUser.DirectPhoneNumber
 Email   Application.ActiveUser.Email
 Fax   Application.ActiveUser.FaxNumber
 Funktion  Application.ActiveUser.Function
 ID  Application.ActiveUser.ID
 kompletter Benutzernamen  Application.ActiveUser.Fullname
 LogIn-Name Application.ActiveUser.Name
 Telefon   Application.ActiveUser.PhoneNumber

 

Änderungslog:

31.05.2016:

  • Zähler / Counter Beschreibung in der Dateivorlage angepasst

2016-05-13 16:50
Markus Grutzeck

Problem:

AG-VIP SQL bietet ein Beispielhilfsmittel, um Kontaktdaten aus AG-VIP SQL in dne Kontaktordner nach Outlook zu übergeben. Umgekehrt lassen sich Outlook-Kontakte über das Outlook Add-In in AG-VIP SQL übertragen. Die Frage ist, welche Felder übergeben werden.

Lösung: Von AG-VIP SQL nach Outlook

Das Musterbeispiel übergibt standardmäßig folgende Kontaktdaten nach Outlook:

 

 AG-VIP SQL Feld  Outlook Feld
 Anrede  Title
 Vorname  FirstName
 Nachname  LastName
 Funktion  JobTitle
 Name1 & Name2 & Name3  CompanyName
 Straße  BusinessAddressStreet
 PLZ  BusinessAdressZipCode
 Ort  BusinessAdressCity
 Land (mit "Deutschland" vorbelegt)  BusinessAddressCountry
 TelefonFirma  Business2TelephoneNumber
 TelefonZentral  BusinessTelephoneNumber
 TeleFaxFirma  BusinessFaxNumer
 TelefonMobil  MobileTelephoneNumber
 TelefonPrivat  HomeTelephoneNumber
 TeleFaxPrivat  HomeFaxNumber
 Internet  BusinessHomePage
 Email1  EmailAddress1
 Email2  EmailAddress2
 Email3  EmailAddress3

Über den Makro können Sie die Zuordnung von AG-VIP Feldern zu den entsprechenden Outlook-Kontaktfelder frei bestimmen.

Sie finden dies im unteren Teil des Mustermakros in der Sektion

With olAddressItem
.[Feldname Outlook] = ActiveAddress.Fields["[Feldnamen AG-VIP SQL intern]")
....
End With

Ebenso lässt sich der Folder in Outlook frei wählen.

Lösung: Zuordnung von Outlook-Kontaktdaten nach AG-VIP SQL

Die Zuordnung von Outlook-Kontaktfeldern zur Übernahme nach AG-VIP SQL ist durch das Outlook-AddIn fest definiert und nicht frei bestimmbar. Über die AG-VIP SQL Schalterleiste in Outlook finden Sie die Funktion "Adresse in AG-VIP SQL eintragen / ergänzen". Wurde der Kontakt zuvor aus AG-VIP SQL in Outlook eingetragen, ist eine eindeutige Zuordnung und eine Aktualisierung der Daten möglich. Ist dies nicht der Fall, wird in der geöffneten Adresstabelle ein neuer Adressdatensatz angelegt. Dabei werden folgende Felder übernommen:

 Outlook Bezeichnung Outlook intern  AG-VIP SQL
 Name    
   Anrede  Title  
   Vorname  FirstName  Vorname
   weitere Vornamen    
   Nachnamen  LastName  Nachname
   Namenszusatz    
 Firma  CompanyName

Name1
KurzNamen

 Position  JobTitle  
 Email  EmailAddress1  Email1
analog für Email2, Email3
 Website  BusinessHomePage  Internet
 Geschäftlich  BusinessTelephoneNumber  TelefonZentrale
 Privat  HomeTelephoneNumber  TelefonPrivat
 Fax geschäftlich  BusinessFaxNumer  
 Mobiltelefon  MobileTelephoneNumber  
 Adressen, geschäftlich    
   Straße  BusinessAddressStreet  Straße
   PLZ  BusinessAdressZipCode  PLZ
   Bundesland    
   Ort  BusinessAdressCity  Ort
   Land  BusinessAddressCountry  DEU

Schwierigkeit:

Die Zuordnungsmöglichkeit hängt sehr stark davon ab, wie der Kontakt in Outlook erfasst wird. Wenn man z.B. den Ansprechpartner erfasst, öffnet Outlook ein PopUp und ermöglicht die Erfassung in vier Feldern ANREDE, VORNAME, VORNAME2, NACHNAME und NAMENSZUSATZ. Dann lassen sich diese Teile auch eindeutig bestimmten Feldern in AG-VIP SQL zuordnen. Ansonsten kann die Zuordnung Probleme bereiten oder mehrere Werte werden in ein Feld in AG-VIP SQL geschrieben.

Das gleiche Problem ergibt sich bei der Anschrift. Schreibt man dies einfach in das mehrzeilige Memofeld ist keine Übernahme nach AG-VIP SQL möglich. Nutzt man die in Outlook einzelnen Felder STRASSE, ORT, BUNDESLAND, PLZ, LAND / REGION, können die Daten übernommen werden.

Die private Anschrift aus Outlook wird komplett ignoriert.

neuer Outlook-Kontakt

Erscheint in AG-VIP SQL als:

neuer Outlook Kontakt erscheint in AG-VIP SQL so

2011-08-17 16:07
Markus Grutzeck

Musterbeispiel "Termin in einen Google-Kalender eintragen"


Problem:

In einem Terminierungsprojekt für Aussendienstmitarbeiter oder für einen Mitarbeiter soll ein Termin aus AG-VIP SQL heraus in einem Google-Kalender eingetragen werden oder ein bestimmter Google-Kalender soll in einem Webcontrol auf einer Ansicht oder einem Gesprächsleitfaden zu Ansicht gebracht werden.

Lösung:

Die in diesem Artikel vorgestellten Dateien enthalten 2 mögliche Lösungen für die Erstellung eines Kalendereintrags.
1. Anzeige und Eintrag eines Termins mittels einer Ansicht.
2. Eintrag eines Termins mittels einem Hilfsmittel.

Hinweise:

Für die Nutzung dieses Beispiels ist ein Google-Account erforderlich.
Sie können einen Google-Account kostenlos unter der URL https://www.google.com/accounts/NewAccount anlegen.

Um die Muster allgemein lauffähig zu halten, wurden keine Datenbankbezüge für den Termineintrag integriert. Wenn Sie jedoch ein Feld vom Typ "Datum/Zeit" in der Adresstabelle anlegen und dem Control "startdatum" auf der Ansicht "Google-Kalender" eine Datenbindung mit diesem Datenbankfeld zuweisen, wird Ihr Termin in AG-VIP SQL und im Google-Kalender geführt.
Wird später natürlich der Termin im Google-Kalender verschoben, werden die Daten im Terminkalender in unserem Datenfeld in AG-VIP SQL nicht automatisch aktualisiert.
Terminänderungen sollten daher wenn möglich auch im AG-VIP SQL entsprechend aktualisiert werden.

Die wichtigsten Felder für die Nutzung dieser Beispiele sind Application.GlobalData("gmail") und Application.GlobalData("gpass").
Sie müssen vor der erfolgreichen Nutzung des Beispiels mit den Benutzerdaten des Google-Accounts gefüllt werden (Emailadresse und Passwort)

Sollte beim Laden der Ansicht folgende Warnung angezeigt werden:
Browser not supported

dann lesen Sie bitte folgenden Knowledgebase Artikel, welcher dieses Problem beschreibt:
http://kb.grutzeck.de/content/34/323/de/das-browsercontrol-wird-von-webseiten-als-veralteter-browser-erkannt.html

1. Anzeige und Eintrag eines Termins mittels einer Ansicht:

Dieses Beispiel zeigt exemplarisch wie ein Termin aus Feldern einer Ansicht in AG-VIP SQL direkt in einem Google-Kalender eingetragen werden können.
Ausserdem wird der entsprechende Googlekalender in einem Webcontrol zur Anzeige gebracht.
(Dieses Beispiel zeigt auch die Steuerung eines Formulars das mit GET anstatt mit einem POST arbeitet. [Für den Google-Login])

Um das Beispiel zu nutzen müssen Sie gültige Google-Zugangsdaten im Formular "Marko beim Laden" hinterlegen. Danach ist das Beispiel sofort einsatzbereit.

2. Eintrag eines Termins mittels einem Hilfsmittel:

Dieses Beispiel zeigt wie ein Termineintrag mit einem Hilfsmittel in einen Googlekalender vorgenommen werden kann.
Typischerweise wäre dies ein Hilfsmittel das mit einer Reaktion "Termin erstellt" auch in einem vorhandenen Terminierungsprojekt verwendet werden kann, wenn die Syncronisation des Blackberry oder Outlook-Kalenders des Aussendienstmitarbeiters mit einem Google-Kalender vorgenommen wird.
So kann nun mit einem "normalen" Terminierungsprojekt auch gleich der Termineintrag in dem entsprechenden Googlekalender des Aussendienstmitarbeiters vorgenommen werden.
Um das Beispiel auszuprobieren müssen Sie nach der Installation, im Makro des Hilfsmittels, die Werte für die Zugangsdaten für den Google-Account hinterlegen.
Danach ist das Beispiel sofort einsatzbereit.

Natürlich gibt es für diese Musterbeispiele noch unzählige Anwendungsszenarien.

Einrichtung:
  1. Laden Sie die ZIP-Datei am Ende des Artikels herunter und entpacken Sie die Dateien typischerweise im Ordner <AGVIP SQL Installationsverzeichnis>\Samples (bpw. C:\Programme\AG-VIP SQL\Samples)
  2. Öffnen Sie AG-VIP SQL und wechseln Sie im Arbeitsbereich auf die Administration
  3. Klicken Sie auf "Ansichten". Der Formulareditor öffnet sich.
  4. Klicken Sie im Formulareditor im Menü auf "Datei" -> "Import" und wählen Sie die Datei "Google-Kalender.agfrm"
  5. Klicken Sie dann auf "Makro beim öffnen" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 5 und 6:
    Application.GlobalData("gmail")="<Ihre Emailadresse>"
    Application.GlobalData("gpass")= "<Ihr Passwort>"
  6. Speichern Sie nun die Ansicht im gewünschten Kontext
  7. Schließen Sie den Formulareditor und wechseln Sie im Administrationsbereich auf "Verschiedenes" -> "Hilfsmittel"
  8. Importieren Sie nun die Datei "Termin in Google Kalender eintragen.agtool".
  9. Klicken Sie auf das Hilfsmittel "Termin in Google Kalender eintragen" -> "Ändern" und wechseln Sie auf die Registerkarte Makro
  10. Klicken Sie hier auf "Ändern" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 4 und 5:
    Application.GlobalData("gmail")="<Ihre Emailadresse>"
    Application.GlobalData("gpass")= "<Ihr Passwort>"

Nun können Sie die Beispiele bereits ausprobieren.

Anpassungsmöglichkeiten:

Sie können die folgenden Werte vorgeben:

  1. Zugangsdaten:
    Application.GlobalData("gmail")="support@grutzeck.de"
    Application.GlobalData("gpass")= "Passwort"
  2. Wert für das Startdatum
    Application.GlobalData("startdate") = ""
  3. Wert für die Startzeit
    Application.GlobalData("starttime") = ""
  4. Wert für das Enddatum
    Application.GlobalData("enddate")= ""
  5. Wert für die Endzeit
    Application.GlobalData("endttime")= ""
  6. Wert für den Titel Eintrag.
    Application.GlobalData("title")="Testeintrag im Googlekalender für " & ActiveAddress.Fields("NameLast").value
  7. Wert für die Beschreibung des Termins im Googlekalender
    Application.GlobalData("description")="Termin bei " & ActiveAddress.Fields("NameSalutation").Value & _
    " " & ActiveAddress.Fields("NameLast").Value & ", " & _
    ActiveAddress.Fields("Name1").Value
  8. Wert für den Ort an dem der Termin stattfinden soll. Hier wir als Beispiel die Adresse des Datensatzes verwendet. Könnte aber auch = "Hanau" sein.
    Application.GlobalData("place")= ActiveAddress.Fields("Street").Value & _
    ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value
  9. Wert ob der Termin als privater Termin oder öffentliche Termin eingetragen wird. Mögliche Angaben sind "private" oder "public"
    Application.GlobalData("visibility") = "private"
  10. Wert für eine Zeitkorrektur (Kalender zur eigener Systemzeit) Beispiel -01:00 oder +02:00
    Application.GlobalData("timecorection") = ""
  11. Wert ob die Zeit im Kalender als Belegt oder Frei angezeigt wird. (Mögliche Werte false oder true)
    Application.GlobalData("timeconsumption") = true

Im Beispiel für das Hilfsmittel kann mit dem Wert "Termindauer" (Termindauer=1) ein Wert für die Terminlänge eingetragen werden. (In Stunden)
Im Beispiel mit der Ansicht wird die Termindauer in Zeile 12 festgelegt. Dabei wird für die Endzeit die Startzeit +1 Stunde festgelegt.
Sie können natürlich jederzeit beliebige Vorgabewerte als Text oder aus Datenbankfeldern definieren.

 

Änderungslog:

17.03.2014

  • Verweis auf Problemlösung bezüglich der Ausgabe, dass ein veralteter Browser verwendet wird.

2014-03-17 01:51
Ulrich Sticker

IBAN generieren aus vorhandener Konto-Nr. und BLZ (Deutschland)

Beschreibung:
Das Hilfsmittel "IBAN generieren" erzeugt aus einer Konto-Nr. und Bankleitzahl (BLZ) eine gültige IBAN-Nummer.
Da sich die IBAN-Nummern jedoch in anderen Ländern anders zusammenstellen, kann dieses Hilfsmittel lediglich eine für Deutschland gültige IBAN-Nummer generieren.

Voraussetzung:
Folgende Felder sind dafür erforderlich:
- Ein Feld vom Typ Kontonummer in dem die Konto-Nr. hinterlegt ist
- Ein Feld vom Typ Bankleitzahl in dem die BLZ hinterlegt ist
- Ein Feld vom Typ IBAN oder vom Typ Text in dem die generierte IBAN ausgegeben wird
(Der Datentyp IBAN steht erst ab der Version 1.21 zur Verfügung)

Anwendung:
Importieren Sie das Hilfsmittel "IBAN generieren.agtool" zu der gewünschten Adresstabelle.
In dieser Adresstabelle müssen die Felder, welche unter "Voraussetzung" gelistet sind, angelegt worden sein.
Notieren Sie sich die Bezeichnung der drei Felder aus der Spalte "Interner Name" um im Hilfsmittel diese zu übernehmen.
Bearbeiten Sie das Hilfsmittel in dem Sie dieses im Dialog "Hilfsmittel verwalten" selektieren und anschließend auf die Schaltfläche "Ändern" drücken. Dort können Sie die Bezeichnung des Hilfsmittels beliebig ändern (Titel & Kategorie). Wechseln Sie in den Reiter "Makro" und drücken Sie anschließend auf die Schaltfläche "ändern".
Im Makro-Editor (Dialog "Makro editieren") folgen Sie den dort beschriebenen Anpassungsvorgang.
Zum Schluss erstellen Sie eine Ansicht bzw. passen Sie eine bestehende Ansicht an und ergänzen diese um die notwendigen Felder.
Diese Ansicht muss natürlich der entsprechenden Adresstabelle zugeordnet sein, bei dem Sie das Hilfsmittel importiert haben.

Hinweis:
Beim Ausgabefeld für die generierte IBAN, können Sie als Datentyp IBAN (ab V1.21) oder Text verwenden.
Der Vorteil bei der Verwendung des Datentyps IBAN ist folgender:
- Wenn Sie die IBAN nicht über das hier beschrieben Hilfsmittel generieren, sondern manuell eintragen, wird automatisch überprüft ob diese eingegebene IBAN gültig ist. Diese Überprüfung ist im Gegensatz zu dem Hilfsmittel "IBAN generieren" für alle Länder, die ein IBAN-System verwenden, tauglich. Ausschlaggebend für die Ländererkennung und der damit verbundenen Gültigkeitsprüfung ist das zweistellige Länderkürzel am Anfang jeder IBAN z.B. für Deutschland "DE" oder für Dänemark "DK" etc.

Installation:
Das Hilfsmittel befindet sich in Ihrem Sample Verzeichnis von AG-VIP SQL (ab der Version 1.21) oder im Anhang dieses Artikels in Form einer Zip Datei.

Änderungslog:
12.07.2013

  • Anhang um die Ansicht "Stammdaten Bankdaten" erweitert

2013-07-12 12:35
Peter Brandt

Funktion zum Erzeugen einer gültigen vCard Datei (.vcf)

Beschreibung:
Mit dieser Funktion kann eine gültige vCard-Datei (.vcf) erzeugt werden mit der aus AG-VIP SQL Kontakte in andere Software oder Geräte übertragen werden kann (sofern diese das Format unterstützen).

Hinweis:
Der folgende Makrocode ist in einem Hilfsmittel, einer Schaltfläche, im MakroInclude oder sonstiger Makroausführungsposition z.B. "beim Speichern" möglich.
Es gibt zwei Versionen.
Die Paramater starke, bei der beim Aufruf der Funktion sämtliche Inhalte übergeben werden müssen und die Parameter schwache, bei der alle Inhalte bis auf den Speicherort und Dateinamen aus AG-VIP SQL direkt ermittelt werden.
Der Speicherort und Dateiname wird immer im ersten Parameter in der Variable "strPathFile" angegeben.
Ein Beispiel für den Aufruf der Parameter schwachen Funktion:
MakevCard "C:\Temp\Test.vcf"

Falls das Makro in einem Hilfsmittel mit der Angabe des neuen Dateinamens verwendet werden sollte, kann mit dem Aufruf "ActiveTool.Filename"dieser Pfad direkt ausgelesen werden.
Beispiel:
MakevCard ActiveTool.Filename
 

Parameter starke Makro-Version:
' this Function creates a vCard (.vcf), which can be used to import an contact entry
Function MakevCard( strPathFile, strFirstname, strLastname, strCompany, strStreet, strCity, strZipCode, strCountry, _
                               strTelWork, strTelPrivate, strTelMobil, strTelOther, strTelFax, strEmail1, strEmail2, strEmail3, strWebsite)
     
     Dim strDirectorySeperator, icsFile, fso
    
     set fso = createobject("scripting.filesystemobject")
     set icsFile = fso.createtextfile(strPathFile,true)

     ' fill the file with the icalendar format
     icsFile.writeline("BEGIN:VCARD")
     icsFile.writeline("VERSION:3.0")
     icsFile.writeline("N:" & strLastname & ";" & strFirstname)
     icsFile.writeline("FN:" & strFirstname & " " & strLastname)
     icsFile.writeline("ORG:" & strCompany)
     icsFile.writeline("ADR;TYPE=WORK,POSTAL,PARCEL:;;" & strStreet & ";" & strCity & ";;" & strZipCode & ";" & strCountry)
     icsFile.writeline("TEL;TYPE=VOICE,WORK:" & strTelWork)
     icsFile.writeline("TEL;TYPE=VOICE,HOME:" & strTelPrivate)
     icsFile.writeline("TEL;TYPE=VOICE,CELL:" & strTelMobil)
     icsFile.writeline("TEL;TYPE=VOICE,MSG:" & strTelOther)
     icsFile.writeline("TEL;TYPE=FAX,WORK:" & strTelFax)
     icsFile.writeline("EMAIL;TYPE=INTERNET,PREF:" & strEmail1)
     icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail2)
     icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail3)
     icsFile.writeline("URL:" & strWebsite)
     icsFile.writeline("END:VCARD")

     set fso = nothing
End Function

Parameter schwache Makro-Version:

' this Function creates a vCard (.vcf), which can be used to import an contact entry
vPfad = "C:\temp\" & ActiveRecord.Fields("ShortName").Value & ".vcf"

' Falls der Ablagepfad nach Erzeugen angezeigt werden soll, nachfolgende Zeile aktivieren
' Macro.Clipboard = vPfad
' msgbox "Der Pfad zur vCard: " & vPfad & " kann über die Tastenkombination STRG & V eingefügt werden."

MakevCard vPfad

Function MakevCard(strPathFile)
Dim strFirstname, strLastname, strCompany, strStreet, strCity, strZipCode, strCountry, strFunction
Dim strTelWork, strTelPrivate, strTelMobil, strTelOther, strTelFax, strEmail1, strEmail2, strEmail3, strWebsite

strFunction = ActiveAddress.Fields("Function").value
strFirstname = ActiveAddress.Fields("NameFirst").value
strLastname = ActiveAddress.Fields("NameLast").value
strCompany = ActiveAddress.Fields("Name1").value
strStreet = ActiveAddress.Fields("Street").value
strCity = ActiveAddress.Fields("City").value
strZipCode = ActiveAddress.Fields("ZipCode").value
strCountry = ActiveAddress.Fields("Country").value
strTelWork = ActiveAddress.Fields("CommPhoneOffice").value
strTelPrivate = ActiveRecord.Fields("CommPhonePrivat").Value
strTelMobil = ActiveAddress.Fields("CommPhoneMobil").value
strTelOther = ActiveAddress.Fields("CommPhone1").value
strTelFax = ActiveAddress.Fields("CommFaxOffice").value
strEmail1 = ActiveAddress.Fields("CommEmail1").value
strEmail2 = ActiveAddress.Fields("CommEmail2").value
strEmail3 = ActiveAddress.Fields("CommEmail3").value
strWebsite = ActiveRecord.Fields("CommInternet").Value

Dim strDirectorySeperator, icsFile, fso

set fso = createobject("scripting.filesystemobject")
set icsFile = fso.createtextfile(strPathFile,true)

' fill the file with the icalendar format
icsFile.writeline("BEGIN:VCARD")
icsFile.writeline("VERSION:3.0")
icsFile.writeline("N:" & strLastname & ";" & strFirstname)
icsFile.writeline("FN:" & strFirstname & " " & strLastname)
icsFile.writeline("ORG:" & strCompany)
icsFile.writeline("TITLE:" & strFunction)
icsFile.writeline("ADR;TYPE=WORK,POSTAL,PARCEL:;;" & strStreet & ";" & strCity & ";;" & strZipCode & ";" & strCountry)
icsFile.writeline("TEL;TYPE=VOICE,WORK:" & strTelWork)
icsFile.writeline("TEL;TYPE=VOICE,HOME:" & strTelPrivate)
icsFile.writeline("TEL;TYPE=VOICE,CELL:" & strTelMobil)
icsFile.writeline("TEL;TYPE=VOICE,MSG:" & strTelOther)
icsFile.writeline("TEL;TYPE=FAX,WORK:" & strTelFax)
icsFile.writeline("EMAIL;TYPE=INTERNET,PREF:" & strEmail1)
icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail2)
icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail3)
icsFile.writeline("URL;WORK:" & strWebsite)
icsFile.writeline("END:VCARD")

set fso = nothing
End Function

Einbindung:
Kopieren Sie einer der beiden Makro-Versionen an die von Ihnen gewünschte Position (Hilfsmittel, Schaltfläche, MakroInclude etc.).
Falls beide Versionen eingesetzt werden sollten, muss zuvor bei einer der Funktionen der Funktionsname geändert werden, da diese momentan identisch sind.
Der Aufruf erfolgt über den Funktionsnamen und der Übergabe der Werte an die Parameter der Funktion wie in dem kleinen Beispiel im Punkt Hinweis ersichtlich.

 

2018-10-15 08:28
Peter Brandt

Hilfsmittel zum Erzeugen einer gültigen iCalendar Datei (.ics)

Beschreibung:
Mit diesem Hilfsmittel kann eine gültige iCalendar-Datei (.ics) erzeugt werden mit der aus AG-VIP SQL Termine (z.B. aus einem Datumsfeld der Terminierungs-Option) in andere Software oder Geräte übertragen werden kann (sofern diese das Format unterstützen).

Hinweis:
Für eine korrekte Umsetzung des iCalendar Formats sind mehrere Vorgänge notwendig.
Zum Beispiel dürfen bestimmte Texte nur eine bestimmte Länge haben und müssen dann umgebrochen werden oder die Zeitangabe muss in UTC angegeben werden, was zur Folge hat, dass die UTC Zeitverschiebung des aktuellen Standpunktes ausgelesen und korrigiert werden muss.
Diese und noch andere Vorgänge werden in der Funktion zur iCalendar-Datei Generierung behandelt.
Um manuell einen Umbruch im Beschreibungstext zu verwenden, muss die Zeichenfolge "\n" benutzt werden.

Beispiel Aufruf:
MakeiCal "C:\Temp\MyiCal.ics", cDate("13.05.2011"), cDate("15:30:00") , cDate("13.05.2011"), cDate("16:00:00"), _
"Hessen-Homburg-Platz 1, 63452, Hanau", "Meeting mit Herrn Grutzeck um 15:30 bis 16:00Uhr", _
"Besprechung\nzur Erstellung eines geeigneten Geschäftsprozesses"

 

Einbindung:

Importieren Sie das Hilfsmittel sowie das Makroinclude im Anhang dieses KB-Artikels in AG-VIP SQL.
Der Aufruf erfolgt über den Funktionsnamen und der Übergabe der Werte an die Parameter der Funktion wie in dem kleinen Beispiel im Punkt Hinweis ersichtlich. Diese werden über Variablen im Kopfbereich des Hilfsmittelmakros gesetzt.

Änderungslog:

08.11.2017

  • Umbruchparameter im Makroinclude angepasst und den Beschreibungstext dazu erweitert.

26.02.2014

  • UTC-Berechnung korrigiert (Sommer-/Winterzeit wird nun korrekt berücksichtigt).
  • Kombination aus Makroinclude und Hilfsmittelaufruf angehängt.

08.10.2020

  • Fehler bei der Umbruchermittlung der Terminberschreibung behoben

 31.10.2013

  • Artikel überarbeitet. Makrocode aus dem KB-Artikel komplett entfernt und in ein angehängtes Hilfsmittel implementiert.
  • Hilfsmittel verbessert (UTC-Berechnung überarbeitet).

2014-02-26 10:40
Peter Brandt

Shell Fehler: Zu dieser Dateiendung existiert keine Verknüpfung zu einer Anwendung.

Beschreibung:
Beim Öffnen einer Datei über AG-VIP SQL kann evtl. das Programm nicht identifiziert werden, mit dem die Datei geöffnet werden soll.
Dies kann auftreten, wenn mehrere Programme auf einem Rechner installiert sind, welche das selbe Datei-Format öffnen können bzw. als Standard öffnen wollen. Ein gutes Beispiel ist OpenOffice und MS-Office worauf sich auch die Screenshots beziehen (OpenOffice in einem Windows7 und MS-Office in einem Windows-XP Betriebssystem).
So kann es vorkommen, dass sich Fehler bei der Zuordnung ergeben.
Zum Beispiel kann es vorkommen, dass ein Programm zum Öffnen von Dateien installiert wird.
Dieses trägt dann zum Beispiel den Standard-Pfad für "Öffnen" bzw. "Open" aus, so dass die Datei nur noch über "Bearbeiten" bzw. "Edit" geöffnet werden kann. EXECUTESHELL wird falls es im Pfad für "Öffnen" keine Anwendung findet den Pfad für "Bearbeiten" ausführen.
AG-VIP SQL ist jedoch so programmiert, dass es nur den Pfad für "Öffnen" verwendet und somit dann einen Fehler erzeugt.
Dies macht sich schon dadurch bemerkbar, dass wenn Sie mit der rechten Maustaste sich die Optionen einer Datei wessen Dateityp nicht geöffnet werden kann anschauen. Dort wird "Öffnen" bzw. "Open" nicht angezeigt.
Datei Eigenschaften - Open

Lösung:
Überprüfen Sie die Dateitypen Zuordnung wie in den folgenden Screenshots abgebildet:

Windows XP:
Start - Explorer
Starten Sie den Windows-Explorer über einen Rechtsklick auf "Start" und einem Linksklick auf "Explorer".

Extras - Ordneroptionen...
Über "Extras" -> "Ordneroptionen öffnen wir den nachfolgenden Dialog.

Dateitypen - DOC
Dort kann dann im Reiter "Dateitypen" eine Anwendung einem Dateityp zugeordnet werden.
Falls hier bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie über die "Ändern..." Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche Pfade zu korrigieren.

Windows 7:
Start - Systemsteuerung
In Windows 7 finden wir die Dateitypen Zuordnung unter "Standardprogramme" welche Sie auch direkt über "Start" -> "Standardprogramme" öffnen können oder über den Weg über die "Systemsteuerung" erreichen.

Kleinesymbole - Standardprogramme
Wenn Sie oben rechts die Anzeige auf "Kleine Symbole" einstellen, finden Sie die Auswahloption "Standardprogramme" welche Sie zuvor auch schon direkt über "Start" - "Standardprogramme" öffnen hätten können.

Dateityp oder Protokoll einem Programm zuordnen
Nun wählen Sie die Option "Dateityp oder Protokoll einem Programm zuordnen" aus.

.doc - OpenOffice.org Anwendung ausgewählt
Hier sehen Sie nun auf einem Blick welche Anwendungen welchem Dateitypen zugeordnet sind (In dem Fall wäre das für den Dateityp "Microsoft Word 97-2003 Dokument" (.doc) die Anwendung "OpenOffice.ord Writer").
Zum Ändern selektieren Sie die gewünschte Zeile und drücken oben rechts auf die Schaltfläche "Programm ändern".

WICHTIG:
Falls bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie unbedingt über die "Ändern..." bzw. "Programm ändern" Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche bzw. nur teilweise vorhandene Pfade zu korrigieren.


Registry überprüfen:
Achtung!!!
Falscheingaben in der Registry können fatale Folgen für die Funktionalität Ihres Rechners haben!!!
Die hier beschriebene Vorgehensweise soll Ihnen nur helfen, die Position in der Registry festzustellen an der Sie sehen, welche Anwendung für welchen Dateitypen verwendet wird. Änderungen die Sie in der Registry durchführen haben Sie selbst zu verantworten und dadurch entstandene Kosten oder Supportanfragen werden von uns in keiner Weise übernommen bzw. nicht kostenlos bearbeitet (bei einem dadurch entstandenen Supportfall zum Beispiel).

Verweis von .doc auslesen
Im Pfad "HKEY_CLASSES_ROOT" werden die Dateitypen behandelt. Unter ".doc" findet man bei "(Standard)" den Verweis auf "Word.Document.8".

Word.Document.8
Wenn man nun in "HKEY_CLASSES_ROOT\Word.Document.8\shell\Open\command" schaut, sieht man den hinterlegten Pfad zu der Anwendung.
In dem Fall die "WINWORD.EXE".
Bei Änderungen in der Registry ist es meistens notwendig, den Rechner neuzustarten damit die Änderungen geladen werden.

Weitere Maßnahmen:
Falls dies nicht zum Erwünschten erfolg geführt hat, sollten Sie eine Reparaturinstalltion der gewünschten Andwendung durchführen.
Diese wird Ihnen normalerweise angeboten, wenn Sie versuchen die Anwendung erneut zu installieren, obwohl diese bereits installiert ist.

2011-08-17 16:28
Peter Brandt

E-Mail Hilfsmittel für MS-Outlook

Beschreibung des Hilfsmittels für MS-Outlook zur Erzeugung einer E-Mail:
Mit dem E-Mail Hilfsmittel für MS-Outlook ist es möglich, eine E-Mail mit vorgegebenen Text und Feldersetzungen zu erzeugen.
Sowohl der Nachrichtentext, wie auch der Betreff der E-Mail können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden.

Einrichtung:

  1. Bitte laden Sie die .ZIP-Datei am Ende dieses Artikels herunter.
  2. (bzw. C:\Programme\AG-VIP SQL\Samples) Entpacken Sie die Datei im Ordner <AG-VIP SQL Installationsverzeichnis>\Samples
  3. Wählen Sie nun die Datei "E-Mail Hilfsmittel mit Vorlage.agtool" Klicken Sie unter Administration  -> Hilfsmittel -> Import
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "E-Mail Hilfsmittel mit Vorlage" entsprechend Ihren wünschen an.

Konfiguration des Hilfsmittels für die Generierung/Versendung von E-Mails in Outlook:

Offnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern" bei "Makro vor Ausführung" (Pre-Makro).

Festen Empfänger für die E-Mail einsetzten: 

Wenn Sie die E-Mail immer an einen festen Empfänger senden möchten, können Sie die Adresse des Empfänger durch verändern des Wertes strTo = "" setzen.
Bsp.:
strTo = "max@musterdomain.de"

Dies gilt auch für "Kopie" (strCC) und "BlindKopie" (strBCC).

Wenn keine EMail bei "strTo" angegeben wurde, wird im aktiven Datensatz
in folgenden Feldern durch Komma getrennt nach einer EMail Adresse gesucht (Priorität von Links nach Rechts absteigend):
strSearchEMail = "Emailadresse,CommEMail1,CommEMail2,CommEMail3"

' Falls die E-Mail in einer Zusatztabelle liegen sollte, muss hier der Name der Zusatztabelle angegeben werden.
' Dies ist nicht der interne Name, sondern der "Name" der Zusatztabelle auf der Ansicht.
strZusatztabelle = ""

' Falls die E-Mail in einer Zusatztabelle liegen sollte, muss hier der Name der Spalte angegeben werden, in der die E-Mail Adresse hinterlegt ist
strSpaltenname = ""


Um der E-Mail einen individuellen Betreff zu übergeben, können Sie diesen hier über z.B. die Verwendung des Nachnamen-Feldes setzen.
Beispiel: strBetreff = "Angebot für " & ActiveRecord.Fields("NameLast").Value & " vom " & Date()

Das Ergebnis könnte so aussehen "Angebot für Grutzeck vom 23.12.2015".
Weitere Datumsformat Beispiele finden Sie weiter unten in diesem KB-Artikel.
strBetreff = ""

 

In der V2 Variante werden sofern dort keine E-Mail Felder angegeben sind, alle E-Mail Felder durchsucht.
Wird in der V2 Variante nichts gefunden, kann über eine weitere Angabe von "True" oder "False" festgelegt werden, ob die E-Mail ohne E-Mail Adresse erzeugt oder ob der Vorgang abgebrochen werden soll.
bAbbrechen = True

 

Über das setzen des Schalters "bVersenden" auf "True" wird die E-Mail ohne dass der Benutzer Sie angezeigt bekommt automatisch versendet. Beim Setzen auf "False" wird die E-Mail dem Benutzer angezeigt und dieser muss die E-Mail noch manuell versenden.
bVersenden = False

Sofern die Übernahme von Historieneinträge mit dem Platzhalter %§History% in der Vorlage hinterlegt wurde, kann die Anzahl der Einträge hierüber begrenzt werden.
Bei 0 werden alle Einträge übernommen.
iMaxHistorienEintraege = 0

Die zu übernehmenden Historieneinträge können auf das aktuelle Projekt begrenzt werden
(True = nur zum aktiven Projekt; False = Unabhängig vom Projekt).
bProjektEintraege = false

Sofern Sie in einer Gruppe im Exchange eingetragen sind, können Sie anstelle Ihrer E-Mail Adresse diese Gruppe als Absender eintragen.
strFrom = ""

Ein Beispiel:
Sie sind in der Exchange Gruppe "Support" eingetragen und können darüber nun Ihre E-Mail ebenfalls versenden:
strFrom = "Support"
oder die exakte E-Mail der Gruppe:
strFrom = "Support@musterdomain.de"

Mailtyp der E-Mail ändern: 

Sie können den Mailtyp der E-Mail ändern, indem Sie den Wert für Mailtype= ändern.
Der Wert 1 sorgt dafür, dass die E-Mail als Text-Mail behandelt. Hierbei muss die Vorlage als .oft-Datei abgespeichert worden sein.
Der Wert 2 sorgt dafür, dass die E-Mail als HTML-Mail behandelt wird.
Bsp.:
Mailtype = 1

Anhang für die E-Mail setzen: 

Wollen Sie einen Anhang an die E-Mail setzen, könne Sie diesen per Systempfad hinterlegen.
Bsp.:
Anlage="C:\Temp\Musterbrief.txt"

Wollen Sie mehrere Anlagen anfügen, müssen Sie die einzelnen Anlagen mit einem Semikolon trennen.
Bsp.:
Anlage="C:\Temp\Musterbrief.txt;C:\Temp\Musteranhang.doc"

Der Anhang kann schon in der Vorlagen mit angehängt werden. Dies bringt aber den Nachteil mit sich, dass der Anhang "fest" ist und nicht verändert werden kann, d.h. sollte sich etwas in der Datei ändern, wird dies nicht mit in den Anhang aktualisiert. Wird der Anhang über das Makro hinzugefügt, wird immer die aktuelle Version der Datei an die E-Mail angefügt. Dies bringt allerdings den Nachteil, dass wenn die Datei gelöscht, umbenannt oder der Dateipfad geändert wird, diese auch nicht mehr als Anhang für die E-Mail dienen kann, solange die Änderung nicht auch im Makrotext des Hilfsmittels angepasst werden.

Vorlage anpassen:

Passen Sie nun noch die Vorlage an. Sie können Felder aus AG-VIP SQL mit %<internerFeldname>% in die Vorlage einfügen.
Beispiel für das Feld "Kurzname" ist der interne Feldname "ShortName" und kann in der Vorlage mit %ShortName% verwendet werden.
GlobalData Variablen können Sie in den Vorlagen über den Aufruf %GlobalData_<Name>% verwenden.
Beispiel für die GlobalData Variable "Test" was in AG-VIP SQL mit Application.GlobalData("Test") geschrieben wird, kann in der Vorlage mit %GlobalData_Test% verwendet werden.

Wird eine Textdatei verwendet, so wird eine reine Textnachricht generiert. Wird eine HTML-Datei als Vorlage angegeben, so wird eine HTML-Email gesendet.

Felder des aktuellen Anwenders anpassen:

Auf Felder des aktuellen Anwenders, der die E-Mail generiert, kann mit folgenden Variablen zugegriffen werden:

%ActiveUser.Fullname% = Voller Name des Benutzers
%ActiveUser.DirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUser.Department% = Abteilung des Benutzers
%ActiveUser.Email% = Emailadresse des Benutzers
%ActiveUser.FaxNumber% = Faxnummer des Benutzers
%ActiveUser.Function% = Funktion des Benutzers'
%ActiveUser.City% = Stadt des Benutzers
%ActiveUser.Country% = Land des Benutzers
%ActiveUser.Id% = Id des Benutzers
%ActiveUser.MobilePhoneNumber% = Mobile Telefonnummer des Benutzers
%ActiveUser.Name% = Name des Benutzers
%ActiveUser.State% = Bundesland des Benutzers
%ActiveUser.Street% = Straße des Benutzers
%ActiveUser.Street2% = Straße 2 des Benutzers
%ActiveUser.Zipcode% = PLZ des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die E-Mail übernommen werden.  

Datumsfelder formatieren:

Wenn ein Feld vom Datentyp "Datum und Uhrzeit", "Datum" oder "Zeit" als Platzhalter auf einer E-Mail Vorlage angegeben wird, so kann man durch das Ergänzen des Platzhalternamens am Ende mit dem Zeichen '#' und dem entsprechenden Format das Datum formatieren.
(%<internerFeldname>#0% oder %<internerFeldname>#GeneralDate%)
Beispiel mit dem Feld "AngelegtDatum": %AngelegtDatum#2% bzw. %AngelegtDatum#ShortDate%
Folgende Formatierungen sind möglich:

  • 0 oder GeneralDate --> 28.03.2013 14:14:00
  • 1 oder LongDate     --> Donnerstag, 28. März 2013
  • 2 oder ShortDate    --> 28.03.2013
  • 3 oder LongTime     --> 14:14:00
  • 4 oder ShortTime    --> 14:14

Wenn keine Formatierung angegeben wird, so wird abhängig vom Datentyp folgende Formatierung verwendet:

  • Datum und Uhrzeit --> 28.03.2013 14:14:00
  • Datum                  --> 28.03.2013
  • Uhrzeit                 --> 14:14:00

Mit dem Platzhalter %!DateTimeStamp% kann man mit den gleichen Formatierungsmöglichkeiten wie bei einem AG-VIP SQL Datumsfeld das aktuelle Datum eintragen.

Hinweis:
Durch den Security Patch für Outlook wurde die Empfindlichkeit bei der Outlook mit einer Security Warnung reagiert erhöht.
Dadurch wird bei Verwendung des Makrodebuggers in AG-VIP SQL in Verbindung mit einem Outlook-Hilfsmittel-Makro, ständig eine Security Warnung angezeigt sofern man den Zugriff nicht für einen bestimmten Zeitraum erlaubt.

Vorraussetzungen zur Nutzung dieses E-Mail-Hilfsmittels:
Es muss ein Microsoft Outlook Client auf dem System installiert sein.
Die AG-VIP SQL Version 1.40.000 Build 524 vom 13.03.2013

Änderungslog:

17.05.2024:

  • Erweiterung um eine E-Mail Adresse aus einer Zusatztabelle als Empfänger zu verwenden

09.02.2022:

  • Einführung des Vorlagen-Platzhalters %§History% zur Übernahme von Historieneinträge
  • Begrenzung der Anzahl der Historieneinträge über die Variable iMaxHistorienEintraege ermöglicht
  • Begrenzung auf Historieneinträge zum aktiven Projekt über die Variable bProjektEintraege ermöglicht

06.04.2021:

  • Berücksichtigung von leeren Datumsfelder

09.09.2020:

  • Entfernung der Redemption (Advanced Part)
  • Verwendung der "Im Auftrag von..." (SentOnBehalf) Eigenschaft zum Setzen eines anderen Absenders

24.08.2018:

  • Erweiterung der Konfiguration: Deaktivierungsmöglichkeit der erweiterten Features (Redemption)
  • Erweiterung um GlobalData-Platzhalter: %GlobalData_<Name>%

18.10.2017:

  • Anpassung des Makrocodes um das Problem, welches durch den Windows-Security Patch verursacht wurde zu beheben

23.12.2015:

  • Erweiterung um die Angabe einer Betreffzeile und der Möglichkeit zur automatischen E-Mail Versendung.

08.07.2015:

  • Integrierung des Platzhalters %!DateTimeStamp%

11.12.2014:

  • Makrofehler beim Ersetzen der Platzhalter von normalen Textfeldern behoben.

18.11.2014:

  • Behandlung der Ausgabe von logischen Werten integriert (Ja,Nein,keine Angabe)

07.10.2014:

  • Durch einen Security Patch hervorgerufene Security Warnung in Outlook das Hilfsmittelmakro angepasst (Neues Hilfsmittel angehängt).
  • Den Abschnitt "Hinweis" ergänzt.
  • Alte Hilfsmittel Version ohne PreTool Makro entfernt.
  • Vorraussetzungen bezüglich der ersten AG-VIP SQL Version mit PreTools ergänzt.

13.05.2014: 

  • E-Mail Hilfsmittel V2 im Zip-Archiv angefügt.
  • Vorgang kann beim Laden des Hilfsmittels abgebrochen werden sofern keine E-Mail Adresse gefunden wird.
  • Konfiguration des Hilfsmittels wird nun im Pre-Makro Bereich festgelegt

2024-05-17 13:26
Christian Heininger

Hilfsmittel Adresse und Termin in MS-Outlook eintragen

Beschreibung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":

Dieses Hilfsmittel trägt einen Termin mit Adresse in MS-Outlook ein.
Folgende Varianten stehen Ihnen dabei zur Verfügung:
1. Nur Adresse übergeben.
2. Nur Termin übergeben.
3. Adresse und Termin in die eigenen MS-Outlook-Ordner übergeben.
4. Adresse und Termin in die öffentlichen MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
5. Adresse und Termin in einen Mitarbeiter MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
6. Zu den Punkten 3-5 kann eine Terminanfrage per E-Mail versendet werden.

Einrichtung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":
  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Adresse und Termin in MS-Outlook eintragen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Adresse unt Termin in MS-Outlook eintragen" Ihren Wünschen entsprechend an.

Konfiguration des Hilfsmittels für zum Eintragen von Adressen und/oder Terminen in MS-Outlook:

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern" 

Im Abschnitt "Benutzerdefinierte Eingabe" finden Sie die in diesem Artikel beschriebenen Variablen.

Eingabe des Benutzers: 

Wenn Sie möchten, dass Termine und / oder Adressen in den Kalender eines Mitarbeiters eingetragen werden, können Sie in der Variable BENUTZER den jeweiligen Benutzernamen hinterlegen. Wenn Sie den Benutzer erst beim Ausführen des Hilfsmittels auswählen möchten, lassen Sie diese Variable leer.

Benutzer = "Testbenutzer"

Wenn Sie den vollen Mitareiternamen aus AG-VIP SQL verwenden möchten, müssen Sie der Variable BENUTZER folgenden Befehl übergeben:

Benutzer = "Application.ActiveUser.Fullname"

Eingabe des Betreffs: 

Wenn Sie einen festen Betreff in einen Termin eintragen möchten, können Sie diesen in der
Variable BETREFF hinterlegen.
 Betreff = ""


Um Variablen mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgende Syntax
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
Betreff   = "Termin mit " & ActiveAddress.Fields("NameSalutation").Value & " " & ActiveAddress.Fields("NameFirst").Value & " " & ActiveAddress.Fields("NameLast").Value

In diesem Beispeil wird der Betreff zum Datensatz von Herrn Mustermann folgendermaßen aussehen: Termin mit Herrn Max Mustermann

Sie können auch eigene Betreff-Texte formulieren und diese einfügen:
Bsp.:
Betreff = "Infos zu Ihrem neuen Hilfsmittel"

Auswahl des Kalenders und des Kontaktordners: 

Wenn Sie Termine oder Adressen in einen öffentlichen Ordner eintragen möchten (nur in Verbindung mit MS-Exchange-Server möglich), müssen Sie den jeweiligen Ordnernamen für den Kalender und den Kontakt hinterlegen. Den Namen für den Kalenderordner können Sie in der Variable KALENDER hinterlegen.
Den Namen für den Kontakteordner könne Sie in der Variable KONTAKT hinterlegen.
Beispiel:

Kalender = "Testordner"
Kontakt = "Händlerteam"

Auswahl des Kalenders für die Termineintragung:

Sie haben die Möglichkeit einen Termin bei sich selbst, einem Mitarbeiter oder in einen öffentlichen
Ordner einzutragen. Setzen Sie den gewünschten Wert 0-3 für die gewünschte Methode der Termineintragung:

0. Keinen Termin eintragen
1. Eigener Kalender
2. Öffentlicher Kalender
3. Freie Kalenderauswahl (Mitarbeiterkalender)

Beispiel für eigenen Kalender:
 TerminArt  = 1

Sie können den Termin als Terminanfrage per E-Mail versenden.
Der Empfänger kann auf die Anfrage antworten (Zusagen, Ablehnen, etc.).
0. Keine Terminanfrage versenden
1. Terminanfrage versenden

Beispiel für eine aktivierte Terminanfrage:
 TerminAnfrage = 1
    
Bei aktiver TerminAnfrage kann die E-Mail der/des Empfänger/s angegeben werden(TerminAnfrageEmail = "Beispiel@test.de").
Es können auch Werte aus E-Mail Feldern übertragen werden.

Beispiel für das E-Mail Feld "Email1":
 TerminAnfrageEmail = ActiveRecord.Fields("CommEmail1").Value

Auswahl des Ordners für die anzulegende Adresse: 

Sie können zu einem Termin auch die geöffnete Adresse aus AG-VIP SQL mit nach MS-Outlook übergeben. Hier haben
Sie die Möglichkeit auch anzugeben, wo die Adresse angelegt werden soll. Setzen Sie den gewünschten Wert 0-4 für die
gewünschte Methode des Adresseneintrags in die Zeile 64:

0. Keine Adresse eintragen
1. Persönlicher Ordner
2. Öffentlicher Ordner
3. Mitarbeiterordner
4. Adresse nicht eintragen, aber Adresse und Kontaktdaten in den Betreff vom Termin schreiben

Beispiel für persönlichen Ordner:
 KontaktArt = 1

Abgleich:
Der Abgleich des Kontakteordners in MS-Outlook geschieht sofern der Kontakt durch AG-VIP SQL angelegt wurde über eine ID.
Falls der Kontakt in MS-Outlook manuell angelegt wurde, wird der Abgleich über Vor- und Nachnamen ermittelt.

Wichtig!
Beachten Sie bitte, dass die Eingaben für Kalender und Ordner die identischen Ziffern besitzen, wenn diese in beiden möglichkeiten vorhanden sind. Wenn Sie z. B. einen öffentlichen Kalender auswählen, also bei TerminArt die 2 ausgewählt haben, müssen Sie auch in der Ordnerauswahl den öffentlichen Ordner auswählen dies wäre dann auch die Ziffer 2. Eine Ausnahme ist die Ziffer 4 (Adresse nicht eintragen, aber Adresse und kontaktdaten in den Betreff vom Termin schreiben) in der Auswahl des Zielordners.

Betreffformat:
Sofern die KontaktArt 4 ausgewählt wurde, kann das Format für die Übernahme der Adress- und Kontaktdaten durch Kommas getrennt in der Variable BETREFFFORMAT angegeben werden.
Wenn kein Format angegeben wird, so wird der Komplette Adresskopf (AddressStreet) mit der Brief-/Adresskopf-Formatierung übernommen.
Die in der Adresskopf (AddressStreet) verwendeten Auswahlmöglichkeiten:
Name1, Name2, Name3, Department, Function, NameSalutation, Title, NameFirst, NameLast, Street, ZipCode, City

Um einen Umbruch einzuleiten fügen Sie der Aufzählung den Begriff "NewLine" hinzu.

Auswahl Beispiel:
BetreffFormat = "Department, NewLine, Function, NewLine, NameSalutation, NameFirst, NameLast"

Erzeugt folgenden Betreff (Beispielswerte):
Muster-Abteilung
Testbeauftragte
Herr Max Mustermann

Adresse und Termin nach erstellen automatisch schließen: 

Wenn Sie möchten, dass die Adresse sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
KONTAKTSCHLIESSEN auf 1, ansonsten auf 0
 KontaktSchliessen = 0

Wenn Sie möchten, dass der Termin sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
TERMINSCHLIESSEN auf 1, ansonsten auf 0
 TerminSchliessen = 0

Standardmäßig sind beide Werte auf 0.

Eingabe der zeitabhängigen Termindaten:
Wenn der Termin für den ganzen Tag eingetragen werden soll, so muss die Variable GANZTAGTERMIN auf 'true' gesetzt werden.
Wenn der Termin nicht für den ganzen Tag eingetragen werden soll, so muss die Variable GANZTAGTERMIN auf 'false' gesetzt werden.
 GanzTagTermin = false

Angabe des Datums mit Uhrzeit für den Terminbeginn.
Für das aktuelle Datum und Uhrzeit verwenden Sie die Funktion "Now".
Beispiel:
 TerminStart = Now



Falls Sie einen festen Termin festlegen wollen können Sie das im folgenden Format tun: "dd.mm.yyyy hh:mm:ss".
Beispiel:
TerminStart = "23.02.2012 14:30:00"
Dieses Format liefert Ihnen bereits ein Datum/Zeit Feld von AG-VIP SQL so könnten Sie über ein solches Datum/Zeit Feld den Termin übernehmen:
TerminStart = ActiveAddress.Fields("internerFeldname").Value


Bei keiner Angabe wird die von Outlook verwendete Standardeinstellung verwendet.
 TerminStart = ""

Die vorgesehene benötigte Zeit des Termins in Minuten (Dauer)
Bei keiner Angabe wird die von Outlook verwendete Standardeinstellung verwendet.
 TerminDauer = 60 

' Wie viele Minuten vor dem Terminstart soll eine Erinnerungsmeldung in Outlook angezeigt werden? Bei 0 wird keine Erinnerungsmeldung angezeigt.
TerminErinnerung = 15


Eingabe der Termin-Beschreibung:
Optionale Angabe um die letzten X Historieneinträge der Terminbeschreibung anzufügen (0 steht dabei für keinen Eintrag übernehmen).    
AnzahlHistorienEintraege = 3

Beschreibung bzw. Mitteilungstext des Termins (Zeilenumbruch mit: vbCrLf)
TerminBeschreibung = "" 


Beispiel für Text mit Zeilenumbruch:
TerminBeschreibung = "Herzlichen Glückwunsch !" & vbCrLf & "Sie haben gewonnen !"

Ergebnis:
Herzlichen Glückwunsch !
Sie haben gewonnen !

Festlegung eines Termin Status
Einem Termin kann ein bestimmter Status übergeben werden.
Dieser wird im Kalender mit unterschiedlichen Farben/Mustern dargestellt
0 = frei
1 = mit Vorbehalt
2 = gebucht (Standard)
3 = abwesend
TerminStatus = 2


Eingabe des Ortes für den Termin:

Wenn Sie einen festen Ort für Ihre Termine eintragen möchten, können Sie diesen in der Variable TERMINLOCATION hinterlegen. Um die Variable mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgenden Syntax:
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
TerminLocation = ActiveAddress.Fields("Street").Value & ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value

In dem Beispiel wird nun als Ort die Straße, PLZ und der Ort der aktuellen Adresse eingetragen.

Wollen Sie Ihre Termine immer an einem festen Ort legen, tragen Sie in die Variable TerminLocation = "" den Ort ein, an dem Ihre Termine stattfinden.

Bsp.:
TerminLocation = "Hessen-Homburg-Platz 1, 63452 Hanau"

Voraussetzung zur Benutzung des Hilfsmittels:

Es muss MS-Outlook auf dem System installiert sein.

 

Änderungslog:

13.03.2017

  • Erweiterung um einen Abgleich bei der Übertragung der Outlook-Kontakte

03.09.2016:

  • Erweiterung um den Termin-Anfragemodus per E-Mail

21.12.2015:

  • Erweiterung um die Angabe von X-Historieneinträgen für die Terminbeschreibung

24.07.2015:

  • Erweiterung um die Angabe einer Erinnerungsmeldung

01.04.2015:

  • Anpassung des Makrocodes bezüglich der neuen Objektstruktur in AG-VIP SQL

2017-03-13 10:18
Christian Heininger

Aufgabe und Adresse in MS-Outlook eintragen

Beschreibung des Hilfsmittels "Aufgabe und Adresse in MS-Outlook eintragen":

Dieses Hilfsmittel trägt eine Aufgabe mit Adresse + Kontakt-Nr. in MS-Outlook ein.
Folgende Varianten stehen Ihnen dabei zur Verfügung:
1. Nur Aufgabe übergeben.
2. Nur Adresse übergeben.
3. Adresse und Aufgabe in die eigenen MS-Outlook-Ordner übergeben.
4. Adresse und Aufgabe in die öffentlichen MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
5. Adresse und Afugabe in einen Mitarbeiter MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).

Einrichtung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":
  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bsp. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Aufgabe und Adresse in MS-Outlook eintragen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Aufgabe und Adresse in MS-Outlook eintragen" Ihren Wünschen entsprechend an.

Konfiguration des Hilfsmittels für das Eintragen einer Aufgabe und/oder Adresse (Kontakt) in Outlook.

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern"

Im Abschnitt "Benutzerdefinierte Eingabe" finden Sie die in diesem Artikel beschriebenen Variablen.

Eingabe des Benutzers: 

Wenn Sie möchten, dass Termine und / oder Adressen in den Kalender eines Mitarbeiters eingetragen werden, können Sie in der Variable BENUTZER den jeweiligen Benutzernamen hinterlegen. Wenn Sie den Benutzer erst beim Ausführen des Hilfsmittels auswählen möchten, lassen Sie diese Variable leer.

Benutzer = "Testbenutzer"

Wenn Sie den vollen Mitarbeiternamen aus AG-VIP SQL verwenden möchten, müssen Sie der Variable BENUTZER folgenden Befehl übergeben: Benutzer = "Application.ActiveUser.Fullname"


Eingabe des Betreffs: 

Wenn Sie einen festen Betreff in einer Aufgabe eintragen möchten, können Sie diesen in der
Variable BETREFF hinterlegen.

 Betreff = ""


Um Variablen mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgende Syntax
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
Betreff   = "Bitte Infos an" & ActiveAddress.Fields("NameSalutation").Value & " " & ActiveAddress.Fields("NameFirst").Value & " " & ActiveAddress.Fields("NameLast").Value & " senden"

In diesem Beispiel wird der Betreff zum Datensatz von Herrn Mustermann folgendermaßen aussehen:
Bitte Infos an Herrn Max Mustermann
senden

Sie können auch eigene Betreff-Texte formulieren und diese einfügen:
Bsp.:
Betreff = "Infos zum neuen Hilfsmittel versenden"

Auswahl des Aufgaben- und des Kontaktordners: 

Wenn Sie Aufgaben oder Adressen in einen öffentlichen Ordner eintragen möchten (nur in Verbindung mit MS-Exchange-Server möglich), müssen Sie den jeweiligen Ordnernamen für die Aufgabe und den Kontakt hinterlegen. Den Namen für den Aufgabeordner können Sie in der Variable AUFGABE hinterlegen.
Den Namen für den Kontakteordner könne Sie in der Variable KONTAKT hinterlegen.
Beispiel:

Aufgabe = "Testordner"
Kontakt = "Testteam"

Auswahl der Aufgabenart für die Aufgabeneintragung:

Sie haben die Möglichkeit einen Termin bei sich selbst, einem Mitarbeiter oder in einen öffentlichen
Ordner einzutragen. Setzen Sie den gewünschten Wert 0-3 für die gewünschte Methode der Termineintragung in der Zeile 50:

0. Keine Aufgabe eintragen
1. Eigene Aufgabe
2. Öffentliche Aufgabe
3. Freie Aufgabenauswahl (Mitarbeiteraufgaben)
 AufgabenArt  = 1

Auswahl des Ordners für die anzulegende Adresse: 

Sie können zu einer Aufgabe auch die geöffnete Adresse aus AG-VIP SQL mit nach MS-Outlook übergeben. Hier haben
Sie die Möglichkeit auch anzugeben, wo die Adresse angelegt werden soll. Setzen Sie den gewünschten Wert 0-4 für die
gewünschte Methode des Adresseneintrags:

0. Keine Adresse eintragen
1. Persönlicher Ordner
2. Öffentlicher Ordner
3. Mitarbeiterordner
4. Adresse nicht eintragen, aber Adresse und Kontaktdaten in den Betreff der Aufgabe schreiben

Beispiel für "Persönlicher Ordner":
 KontaktArt = 1

Wichtig!
Beachten Sie bitte, dass die Eingaben für die Aufgabe und der Mitarbeiterordner die identischen Ziffern besitzen, wenn diese in beiden möglichkeiten vorhanden sind. Wenn Sie z. B. eine öffentliche Aufgabe auswählen, also bei AufgabenArt die 2 ausgewählt haben, müssen Sie auch in der Ordnerauswahl den öffentlichen Ordner auswählen dies wäre dann auch die Ziffer 2. Eine Ausnahme ist die Ziffer 4 (Adresse nicht eintragen, aber Adresse und kontaktdaten in den Betreff der Aufgabe schreiben) in der Auswahl des Zielordners.
Eine Weitere Ausnahme ist der Wert 0. Dieser kann bei einer Auswahl nicht gesetzt werden und dennoch kann ein anderer Wert in der jeweils anderen AuswahlArt eingetragen werden. Soll z.B. nur der Kontakt eingetragen werden und nicht die Aufgabe, wählen Sie den Wert 0 in der AufgabenArt und z.B. den Wert 1 in KontaktArt. Dadurch wird keine Aufgabe geplant aber der Kontakt in MS-Outlook angelegt.

Betreffformat:
Sofern die KontaktArt 4 ausgewählt wurde, kann das Format für die Übernahme der Adress- und Kontaktdaten durch Kommas getrennt in der Variable BETREFFFORMAT angegeben werden.
Wenn kein Format angegeben wird, so wird der Komplette Adresskopf (AddressStreet) mit der Brief-/Adresskopf-Formatierung übernommen.
Die in der Adresskopf (AddressStreet) verwendeten Auswahlmöglichkeiten:
Name1, Name2, Name3, Department, Function, NameSalutation, Title, NameFirst, NameLast, Street, ZipCode, City

Um einen Umbruch einzuleiten fügen Sie der Aufzählung den Begriff "NewLine" hinzu.

Auswahl Beispiel: 
BetreffFormat = "Department, NewLine, Function, NewLine, NameSalutation, NameFirst, NameLast"

Erzeugt folgenden Betreff (Beispielswerte):
Muster-Abteilung
Testbeauftragte
Herr Max Mustermann

Adresse und Aufgabe nach erstellen automatisch schließen: 

Wenn Sie möchten, dass die Adresse sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
KONTAKTSCHLIESSEN auf 1, ansonsten auf 0
 KontaktSchliessen = 0

Wenn Sie möchten, dass die Aufgabe sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
AUFGABESCHLIESSEN auf 1, ansonsten auf 0
 AufgabeSchliessen = 0

Standardmäßig sind beide Werte auf 0.

Voraussetzung zur Benutzung des Hilfsmittels:
Es muss MS-Outlook auf dem System installiert sein und die eventuell nicht eigenen Ordner in MS-Outlook freigegeben werden.

2012-08-22 08:31
Christian Heininger

Erstellen eines Hilfsmittels welches mit Adobe Acrobat X, Eingabetextfelder eines PDF-Dokumentes befüllt

Beschreibung:
Dieser Artikel befasst sich damit Eingabetextfelder eines PDF-Dokumentes zu befüllen bzw. zu setzen.
Um dies über ein VBScript Makrocode umzusetzen, wird das Tool "Adobe Acrobat X" oder ein "Acrobat" Produkt benötigt.
Dieses Tool stellt den Zugriff zu einem PDF-Dokument über eine Schnittstelle zur Verfügung.
Der Acrobat Reader stellt die Objekte nicht zur Verfügung, da dieser nur das lesen, jedoch nicht das Bearbeiten von PDFs ermöglicht.


Einführung:
Das Hilfsmittel zum Befüllen eines PDF-Dokumentes ist dem eines Hilfsmittels zum Befüllen eines Word-Dokumentes sehr ähnlich.
Jedoch stehen diese Objekte, wie auch bei einem Word-Dokument, nur zur Verfügung sofern eine gültige Version des Produktes auf dem Rechner installiert ist (welches diese Objekte über eine COM-Schnittstelle bereitstellt).


Adobe Acrobat X Testversion:
Eine 30 Tage Testversion kann direkt von Adobe bezogen werden:
https://www.adobe.com/cfusion/tdrc/index.cfm?product=acrobat_pro&loc=de

Nach Ablauf der Testzeit muss jedoch dann eine Vollversion installiert werden, da sonst auf die Objekte nicht mehr zugegriffen werden kann.
Eine Dokumentation für die COM-Schnittstelle in Verbindung der Sprache VBScript steht von Adobe leider nicht zur Verfügung...
Jedoch ist folgende Dokumentation gut formuliert und mit Beispielen versehen:
http://www.advancedqtp.com/wp-content/uploads/ScriptingQTP/CH16%20-%20Accessing%20PDF.pdf


Hilfsmittel Einstellungen in AG-VIP SQL:
Die PDF-Vorlage sollte nicht über eine Anwendung aus AG-VIP SQL heraus gestartet werden, da im Makrocode eine Instanz der Anwendung erzeugt wird, welches ein Objekt des PDF-Dokumentes erzeugt. Um einen Historieneintrag über die Hilfsmittelverwaltung zu konfigurieren, wird der Modus trotzdem mit "Starten und Eintrag mit Dateinamen in Historie anfügen" ausgewählt.
HilfsmittelReiterAllgemein


Die Vorlage und Zieldatei wird wie gewohnt angegeben

HilfsmittelReiterVorlage

Als Makromodus wird "Kein Programm starten, keine Verbindung herstellen" eingestellt. 

HilfsmittelReiterMakro


PDF-Vorlage:

Die Vorlage wurde ebenfalls mit dem Tool "Adobe Acrobat X" erstellt und ist ausschließlich als Beispiel für diesen Knowledgebase Artikel gedacht.
Eingabetextfelder, welche eine Kennzeichenliste abbilden sollen, müssen als "Mehrzeilig" definiert werden.

Kennzeichenliste_Mehrzeilig

Die "Datensatz-Benutzer Rechte" müssen ebenfalls als "Mehrzeilig" definiert werden,
sofern diese in einem Eingabetextfeld dargestellt werden sollten.

Schlusswort:
Es ist leider nicht möglich, über die bereitgestellten Objekte normalen Text zu bearbeiten.
Dieser kann nur ausgelesen und in seiner Darstellung geändert werden (z.B. in einer beliebigen Farbe markiert werden).
Um auch dynamisch einen Text in ein PDF darzustellen, muss man von dem Prinzip der Vorlage weggehen und sehr aufwendig über die bereitgestellten Objekte ein komplettes PDF generieren. Dazu wird dann immer die Position des Textes über X, Y Parameter bestimmt und diese dann in einem neu erstellten PDF mit dem Text für die Position übernommen.
Zu diesem aufwendigen Verfahren gibt es in diesem Artikel sowie im bereitgestellten Hilfsmittel keine Beschreibung oder Beispiele.
Jedoch kann dies über die oben erwähnte Dokumentation nachgelesen werden.

2016-01-25 10:44
Peter Brandt

Wie kann ich ein PDF-Dokument erzeugen, das mit Daten aus AGVIP SQL angereichert ist? (MS Office 2007 oder neuer)

Vorwort:
Seit der MS Office Version 2007 ist es möglich ein Word-Dokument als ein PDF-Dokument zu speichern.
Was früher über sogenannte PDF-Drucker bewerkstelligt wurde, ist nun in MS Office integriert und benötigt keine weiteren Programme.
Dieser Artikel bietet im Anhang ein Hilfsmittel, welches in AG-VIP SQL wie üblich nur noch importiert werden muss.
Nach den gewünschten Konfigurationen wie Zielpfad und Dateiname, sowie der Anpassung der zu übernehmenden Datenfelder ist das Hilfsmittel auch schon betriebsbereit.
Falls Sie eine ältere Version von MS Office verwenden klicken Sie auf folgenden Link:
http://kb.grutzeck.de/index.php?action=artikel&cat=10&id=137&artlang=de

Hinweis:
Verwenden Sie das in diesem KB-Artikel beschriebene Hilfsmittel bitte nur noch wenn Sie Office 2007 einsetzen.
Bei neueren Office Versionen verwenden Sie bitte das Hilfsmittel im folgenden KB-Artikel:
http://kb.grutzeck.de/content/10/302/de/word-hilfsmittel-v2-fuer-briefe-und-besuchsberichte-mit-zusatztabelle-und-historieneintraegen.html


Beschreibung:
Das Hilfsmittel erstellt im angegebenen Pfad eine Kopie der Word-Vorlage, befüllt diese mit den Daten des aktiven Datensatzes und erstellt darüber dann zusätzlich noch ein PDF-Dokument mit den selben Inhalt. In der Historie wird sofern aktiviert ein Link zu dem Word-Dokument hinterlegt.
Eine Verknüpfung zu dem PDF-Dokument ist nicht möglich, befindet sich jedoch im selben Verzeichnis unter dem selben Namen wie das Word-Dokument (nur mit der Endung ".pdf" anstatt ".doc").

Verwendung mit AG-VIP SQL:

Installation:

  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "PDF-Dokument erstellen 2007.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "PDF-Dokument erstellen 2007" entsprechend Ihren Wünschen an.

Grundsätzlich funktioniert das Hilfsmittel wie alle anderen Word-Hilfsmittel die Sie bereits von uns kennen. Feldinhalte aus AGVIP SQL lassen sich mit {DOKVARIABLE <Interner Feldname> \*CHARFORMAT} in die Wordvorlage integrieren.

2012-02-16 15:57
Peter Brandt

Excel Hilfsmittel zum Befüllen einer Excel-Vorlage

Die Beschreibung des Hilfsmittels "Excel-Datei schreiben mit Vorlage":

Diese Hilfsmittel überträgt basierend auf einer Excel-Vorlage Daten aus AG-VIP SQL in eine neue Excel-Datei.


Einrichtung des Hilfsmittels "Excel-Datei schreiben mit Vorlage":

  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Excel-Datei schreiben mit Vorlage.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels"Excel-Datei schreiben mit Vorlage" Ihren Wünschen entsprechend an.


Konfiguration des Hilfsmittels zum befüllen einer Excel-Datei:

Es sind keinerlei Konfigurationen im Makro des Hilfsmittels notwendig.


Feldbenamung in Excel festlegen

Damit das Hilfsmittel die Werte aus den AG-VIP SQL Feldern an die richtige Position in der Excel-Datei einfügt, müssen Sie die gewünschten Tabellenzelle in der Excel-Datei umbenennen.

Dazu gehen Sie am Besten wie folgt vor:
Sie selektieren die gewünschte Tabellenzelle in Excel und drücken die Tastenkombination STRG + F3 oder starten stattdessen den Namens-Manager manuell über den Reiter "Formeln" -> "Namens-Manager" (Excel2007, 2010).
Formeln - Namensmanager

Drücken Sie dann auf die "Neu" Schaltfläche um der selektierten Tabellenzelle (Hier im Beispiel die Tabellenzelle A1) einen anderen Namen zu vergeben als "A1" zum Beispiel "Salutation".
NamenManager

Wenn Sie den neuen Namen mit "OK" bestätigen wird dieser Name in der zuvor leeren Liste aufgeführt.
Die Tabellenzellenbezeichnung hat sich mit dieser Bestätigung automatisch auf den neu vergebenen Namen geändert.
A1_Salutation

Um eine bereits geänderte Tabellenzelle nochmals umzubenennen oder evtl. sogar zu löschen, muss diese Tabellenzelle über die Liste des Namens-Managers ausgewählt werden und dann über die anderen zwei Schaltflächen "Bearbeiten" und "Löschen" dementsprechend bearbeitet bzw. gelöscht werden.

Die genauen Feldnamen aus AG-VIP SQL sind in der Administration - Adresstabellen  in der gewünschten Adresstabelle der Spalte "Interner Name" zu finden. Dort ist auch der Beispielwert "Salutation" gelistet, welcher standardmäßig in jeder Adresstabelle existiert.
Adresstabelle_internerFeldname

Falls Sie ein Feld von AG-VIP SQL übertragen möchten, welches vom Datentyp Kennzeichenfeld oder Kennzeichenliste ist, so müssen Sie folgende Bezeichnung in der Tabellenzelle zum Internen Feldnamen aus AG-VIP SQL ergänzen:
at_


Beispiel für ein Feld vom Typ Kennzeichenfeld mit dem internen Namen "Status":
at_Status

Bei den Kennzeichendatentypen ist es möglich noch weitere Formatierungsangaben am Ende der Tabellenbezeichnung anzugeben:
_name (nur das Kennzeichenkürzel übertragen)
_desc (nur die Kennzeichenbeschreibung übertragen)
_both (Kennzeichenkürzel und Kennzeichenbeschreibung übertragen)

Beispiel basierend von dem Beispiel zuvor für die komplette Ausgabe (Kürzel + Beschreibung):
at_Status_both

Wenn keine Formatierungsangabe gemacht wird, so wird nur die Beschreibung ausgegeben (Standard)


Um auf Zähler zuzugreifen kann folgender Syntax verwendet werden:
Für den letzten Zähler: Counter.Last
Für den Zähler an Position 1: Counter.1
Für den Zähler mit dem Namen "RechnungsNr": Counter.RechnungsNr


Auf Felder des aktuellen Anwenders der die Excel-Datei befüllt, kann mit folgenden Feldbezeichnungen in Excel zugegriffen werden:

ActiveUser.FullName = Voller Name des Benutzers
ActiveUser.DirectPhoneNumber = Durchwahl des Benutzers
ActiveUser.Department = Abteilung des Benutzers
ActiveUser.Email = Emailadresse des Benutzers
ActiveUser.FaxNumber = Faxnummer des Benutzers
ActiveUser.Function = Funktion des Benutzers
Activeuser.City = Stadt des Benutzers
Activeuser.PhoneNumber = Telefonnummer des Benutzers
Activeuser.Country = Land des Benutzers
Activeuser.Id = ID des Benutzers
Activeuser.MobilePhoneNumber = Mobile Telefonnummer des Benutzers
Activeuser.Name = Name des Benutzers
Activeuser.State = Bundesland des Benutzers
Activeuser.Street = Straße des Benutzers
Activeuser.Street2 = Straße2 des Benutzers
Activeuser.ZipCode = Postleitzahl des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL für jeden Benutzer hinterlegt.

Tabellenzellenverbunde:
Wenn die Werte aus AG-VIP SQL größer sind als die Spaltenbreite oder es mehrere Zeilen sind die übertragen werden (z.B. bei dem Briefkopf -> AddressStreet) so wird automatisch der Wert über das Feld hinweg eingetragen (überlappend) und sofern notwendig das Feld in der Anzahl von Zeilen erweitert. Dadurch werden evtl. andere benachbarte Felder verdeckt oder die Größe der Zeile verändert, was zu störenden optischen Veränderungen führen kann.
Markieren Sie die Tabellenzellen, welche Sie verbinden möchten und formatieren Sie die Zellen mit einem Rechtsklick und einem anschließenden Linksklick auf "Zellen formatieren".
ZellenFormatieren

Im Reiter "Ausrichtung" aktivieren Sie die Checkbox "Zellen verbinden" und bestätigen die Änderung mit "OK".
ZellenVerbinden

Nun sind diese drei Tabellenzellen (A1, B1 und C1) zu eine Zelle verbunden welches unseren zuvor definierten Namen "Salutation" hat.
SalutationVerbund

Wenn man jedoch einen Bereich (mehrere Tabellenzellen) miteinander verbindet, so wird der Wert auch nur in diesen Bereich eingetragen ohne das Formular zu beeinflussen. Sollte allerdings der Bereich zu klein gewählt worden sein, so kann es passieren, dass manche Inhalte nicht komplett dargestellt werden können.

In der beigefügten Vorlage werden ebenfalls Tabellenzellenverbunde verwendet.

Änderungsprotokoll
#14.03.2022: Erweiterung um Zähler-Platzhalter

1970-01-01 01:00
Peter Brandt

OpenOffice Brief-Dokument über AG-VIP SQL befüllen bzw. erstellen

Beschreibung:
Dieses Hilfsmittel überträgt basierend auf einer .sxw Vorlage (OpenOffice Writer) Daten aus AG-VIP SQL in eine neue .sxw Datei.


Einrichtung des Hilfsmittels "Brief mit OpenOffice 3.4.0":

  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Brief mit OpenOffice 3.4.0.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels"Brief mit OpenOffice 3.4.0" Ihren Wünschen entsprechend an.

Sofern die Muster-Zusatztabelle verwendet werden soll, muss diese noch in AG-VIP SQL eingerichtet werden.
Einrichtung der Muster-Zusatztabelle "Zusatztabelle.agtbstr":

  1. Klicken Sie unter Administration -> Adresstabellen -> <gewünschte Adresstabelle markieren> --> Import
    Wählen Sie nun die Datei "Zusatztabelle.agtbstr" aus

Konfiguration des Hilfsmittels zum befüllen einer OpenOffice Writer-Datei:
Sofern keine Zusatztabelle ausgelesen und in eine OpenOffice Writer-Datei übertragen werden soll, sind keinerlei Konfigurationen im Makro des Hilfsmittels notwendig.
Falls doch müsste der Name der Zusatztabelle sowie die Angabe ob eine Kopfzeile (Spaltennamen) in der zu befüllenden Tabelle verwendet wird im Makro des Hilfsmittels konfiguriert werden. Sofern nur eine bestimmte Anzahl an Feldern bzw. Spalten übernommen werden sollen oder die Reihenfolge nicht der Reihenfolge entsprich in der die Felder in der Zusatztabelle angelegt wurden, so muss auch noch zusätzlich im Makro des Hilfsmittels die unterschiedlichen gewünschten Feldnamen angegeben werden.


Benutzerfelder in der OpenOffice Writer Vorlage festlegen:
Damit das Hilfsmittel die Werte aus den AG-VIP SQL Feldern an die richtige Position in der OpenOffice Writer-Datei einfügt, müssen Sie in der Vorlage sogenannte Benutzerfelder anlegen.

Dazu gehen Sie am Besten wie folgt vor:
Positionieren Sie den Cursor an die gewünschte Stelle auf der Vorlage und drücken Sie anschließend die Tastenkombination STRG+F2
Im nun geöffneten Dialog "Feldbefehle" können Sie im Reiter "Variablen" neue Benutzerfelder anlegen.
Feldbefehle

Im Feld "Name" muss der interne Feldname aus AG-VIP SQL angegeben werden.
Die genauen Feldnamen aus AG-VIP SQL sind in der Administration - Adresstabellen in der gewünschten Adresstabelle der Spalte "Interner Name" zu finden. Dort ist auch der Beispielwert "Salutation" gelistet, welcher standardmäßig in jeder Adresstabelle existiert.
Adresstabellen_interneFeldnamen

Falls Sie ein Feld von AG-VIP SQL übertragen möchten, welches vom Datentyp Kennzeichenfeld oder Kennzeichenliste ist, so müssen Sie folgende Zeichen in dem Feld "Name" zum Internen Feldnamen aus AG-VIP SQL ergänzen:
_


Beispiel für ein Feld vom Typ Kennzeichenfeld mit dem internen Namen "Produkte":
_Produkte

Auf Felder des aktuellen Anwenders der die sxw-Datei befüllt, kann mit folgenden Feldbezeichnungen in der Vorlage zugegriffen werden:

_ActiveUser.FullName_ = Voller Name des Benutzers
_ActiveUser.DirectPhoneNumber_ = Durchwahl des Benutzers
_ActiveUser.Department_ = Abteilung des Benutzers
_ActiveUser.Email_ = Emailadresse des Benutzers
_ActiveUser.FaxNumber_ = Faxnummer des Benutzers
_ActiveUser.Function_ = Funktion des Benutzers
_Activeuser.City_ = Stadt des Benutzers
_Activeuser.PhoneNumber_ = Telefonnummer des Benutzers
_Activeuser.Country_ = Land des Benutzers
_Activeuser.Id_ = ID des Benutzers
_Activeuser.MobilePhoneNumber_ = Mobile Telefonnummer des Benutzers
_Activeuser.Name_ = Name des Benutzers
_Activeuser.State_ = Bundesland des Benutzers
_Activeuser.Street_ = Straße des Benutzers
_Activeuser.Street2_ = Straße2 des Benutzers
_Activeuser.ZipCode_ = Postleitzahl des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL für jeden Benutzer hinterlegt.

2012-08-21 14:48
Peter Brandt

Automatische Opt-In Benachrichtigung/Bestätigung

Vorwort:
Basierend auf dem Knowledgebaseartikel:
http://kb.grutzeck.de/index.php?sid=52200&lang=de&action=artikel&cat=15&id=297&artlang=de


Anforderung:
- AG-VIP SQL ab der 1.40 Version mit dem Datentyp "Tri-State" (logisches dreiwertiges Datenfeld: 0 = Nein; 1 = Ja; 2 = keine Angabe)
- Die Makros vom oben erwähnten Knowledgebaseartikel
- Umsetzung DSGVO


Beschreibung:
Dieser Artikel beschreibt eine Erweiterung des oben erwähnten Artikels um eine automatische Generierung eines Briefes bzw. einer E-Mail für den Kunden mit dessen Opt-In Bewilligungen, sofern sich diese geändert haben sollten.


Anpassung:
Hier werden die notwendigen Anpassungen beschrieben.
Änderungen werden im Makrotext (grau hinterlegt) durch das Textformat "Fett" hervorgehoben.

Felder:
Die notwenigen Opt-In Felder sind ab der AG-VIP SQL Version 1.40 als Systemfelder in jeder Adresstabelle vorhanden:

Internername Datentyp Vorbelegung
OptInLetter Tri-State 2 (keine Angabe)
OptInEmail Tri-State 2 (keine Angabe)
OptInFax Tri-State 2 (keine Angabe)
OptInPhone Tri-State 2 (keine Angabe)
OptInSMS Tri-State 2 (keine Angabe)


Die Sprachspezifische Bezeichung ist frei definierbar.


Feldliste:
Im Makroinclude "RecordChanges" in der Funktion "SetFieldsToCheck" müssen die gerade angelegten Felder mit deren internen Feldnamen ergänzt werden.

Function SetFieldsToCheck()
Application.GlobalData("changeWatch")=Array( _
"Name1", _
"Name2", _
"Name3", _
"NameSalutation", _
"NameTitle", _
"NameFirst", _
"NameLast", _
"Street", _
"Country", _
"ZipCode", _
"City", _
"CommEmail1", _
"CommPhoneCentral", _
"CommPhoneMobil", _
"CommPhoneOffice", _
"OptInLetter", _
"OptInEmail", _
"OptInFax", _
"OptInPhone", _
"OptInSMS")

End Function

Hilfsmittel:
Die dafür benötigten Hilfsmittel sind im Anhang dieses Knowledgebaseartikels und müssen nur noch importiert werden.
Eine Anpassung der Vorlagen ist bezüglich Ihrer Kopf-/Fußzeile notwendig sowie die Anpassung sonstigen Hilfsmitteleinstellungen wie zum Beispiel Pfad zur Vorlage, Zielpfad der neuen Datei etc.
Sofern Sie die Namen der Hilfsmittel umbenennen sollten, müssen Sie diese im folgenden Abschnitt "Aufruf" ebenfalls anpassen.


Aufruf:
Sie können entweder die in der ZIP-Datei bereits angepasste "RecordChanges.agminc" Datei importieren und dadurch Ihre evtl. bereits existierende ersetzen oder Sie können wie unten beschrieben die Änderungen auch manuell ergänzen.

Im Makroinclude "RecordChanges" in der Funktion "CheckValueDifference" wird der Aufruf des entsprechenden Hilfsmittel eingeleitet.
Notwendig ist eine boolische Variable welches als sogenanntes Flag eine Änderung eines Opt-In Feldes markiert.
Über dieses Flag wird dann am Ende der Funktion das entsprechende Hilfsmittel ausgeführt.

Function CheckValueDifference()
Dim n, line, oRelation, oEntry, bFirst, strNameZusatztabelle, bChangeOptIn
bChangeOptIn = False

' Hier wird der Name der Zusatztabelle hinterlegt, in der die Änderungen protokolliert werden sollen
strNameZusatztabelle = "Log-Datenänderungen" 

bFirst = True

' Die vordefinierte Feldliste wird durchgeschleift
For Each n In Application.GlobalData("changeWatch")
' Wenn sich die Werte der zuvor gesicherten Felder mit den aktuellen unterscheidet,
' werden die Daten dokumentiert
If Trim(Application.Globaldata(n))<>Trim(ActiveAddress.fields(n).value) Then
If bFirst Then
Set oRelation = ActiveAddress.Relations(strNameZusatztabelle)
bFirst = False
End If

Set oEntry = oRelation.Add
oEntry.Fields("Log_Datum") = FormatDateTime(Now(),2) & " " & FormatDateTime(Now(),4)
oEntry.Fields("Log_Feld") = ActiveAddress.Fields(n).NameLocale
oEntry.Fields("Log_User") = Application.ActiveUser.Name
oEntry.Fields("Log_WertAlt") = Trim(Application.Globaldata(n))
oEntry.Fields("Log_WertNeu") = Trim(ActiveAddress.Fields(n).value)

' Sofern ein Opt_In Feld verändert wurde, setzen wir eine Variable auf "True"
If bChangeOptIn = False AND Left(UCase(n),Len("OptIn")) = "OPTIN" Then
bChangeOptIn = True
End If

End If
Next

' Die "OptIn" Variable wird überprüft und sofern mit "True" gesetzt
' wird evtl. ein Hilfsmittel ausgeführt um automatisch einen Brief bzw. eine E-Mail zu erzeugen
If bChangeOptIn Then
If ActiveAddress.Fields("OptInEmail").value = 1 Then
Application.ExecuteTool("Opt-In Bestätigung Email")
ElseIf NOT ActiveAddress.Fields("OptInLetter").value = 0 Then
Application.ExecuteTool("Opt-In Bestätigung Brief")
End If
End If

End Function

2020-01-28 15:52
Peter Brandt

Ausführung eines Hilfsmittels begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Hilfsmittel nur von einem bestimmten Nutzerkreis ausgeführt werden dürfen.

Der nachflogende Makro kann als "Makro vor Ausführen"in einem Hilfsmittel angelegt werden. Er begrenzt die Ausführung des Hauptmakros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For  
    End If
Next

If Not bInGroup Then  
    MsgBox "Sie haben keine Berechtigung für diese Aktion!"  
    Macro.Abort
End If

 

2015-12-16 13:08
Martin Richter

Warum sind meine Hilfsmittel grau oder inaktiv?

Sie fragen sich, warum Sie in AG-VIP SQL Hilfsmittel nicht finden oder auslösen können. Die Hilfsmittel sind inaktiv bzw. die Icons grau.


Was sind Hilfsmittel in AG-VIP SQL?


Hilfsmittel sind kleine Helferlein, die z.B. Dokumente in Word erzeugen oder Emails in Outlook oder via SMTP. D.h. meist geht es um Outputmanagement. Aber es können auch beliebige VB-Makros damit ablaufen.


Hilfsmittel lassen sich auslösen über ...

  • Ribbon Hilfsmittel
    Dort tauchen alle Hilfsmittel auf, die nicht die Eigenschaft VERBERGEN (links unten) im Reiter ALLGEMEIN haben.
  • Reaktion im Workflow
    In den Reaktionen bei Abschluss der Ticketbearbeitung kann automatisch ein Hilfsmittel ausgelöst werden.
  • Einen Schalter auf der Oberfläche
    Sie können auf jede Oberfläche einen Schalter ziehen und dort im Makro einfach den CodeApplication.ExecuteTool("[Name des Hilfsmittels]")hinterlegen.

Warum ist ein Hilfsmittel inaktiv?


Kontext freies Arbeiten auf Ebene der Adresstabelle

  1. Prüfen Sie, ob überhaupt eine Adresse eingelesen wurde. Die meisten Hilfsmittel besitzen die Ausführungsart „Nur Starten wenn Datensatz ausgewählt“ oder höher. Diese Einstellung finden Sie bei der Hilfsmittel Verwaltung im Reiter ALLGEMEIN unter AUSFÜHRUNGSART.
  2. Das Hilfsmittel hat im Reiter ALLGEMEIN links unten die Option „Hilfsmittel von Hilfsmittelleiste verbergen“ aktiviert. Das Hilfsmittel soll also nur im Workflow durch Reaktionen oder durch Makros ausgelöst werden und nicht für den allgemeinen Gebrauch verfügbar sein.

Kontext Workflow

  1. Im Workflow sind alle Hilfsmittel im Ribbon Hilfsmittel inaktiv. Es stehen nur Hilfsmittel zur Verfügung, die in Reaktionen eingebunden wurden oder über einen Schalter in der Oberfläche ausführbar sind.

 

2016-01-22 14:09
Markus Grutzeck

E-Mail Hilfsmittel zum Übertragen einer E-Mail über Evalanche

Beschreibung:
Zum aktiven Datensatz wird über ein Hilfsmittel eine in Evalanche hinterlegte Vorlage verwendet um eine E-Mail zu versenden.

Voraussetzung:
Ein Evalanche Konto mit Freischaltung der API Nutzung.
Die Evalanche v1.2 Schnittstelle von AG-VIP SQL.

Zusätzliche voraussetzung auf Clientseite:
Folgende Dateien müssen im AG-VIP SQL Installationsverzeichnis liegen, worüber der Client-Rechner AG-VIP SQL startet:

  • EvalancheCOM.dll
  • Evalanche.ini
  • AGVIP.exe.config
  • SCNEM.dll
  • SCNEM2.dll

Diese Dateien werden bei der Implementierung von Evalanche auf dem Server bereitgestellt und müssen bei einer lokalen Client-Installation zusätzlich in dessen Installationsverzeichnis kopiert werden.
Die EvalancheCOM.dll Datei muss wie bei der Server-Einrichtung auch auf dem Client per RegAsm.exe registriert werden.
Durch die TLS1.2 Anforderung ist es ggfs. erforderlich, dass in der Registry diese aktiviert werden muss.
Hier zu finden Sie weitere Hilfestellung in folgenden KB-Artikel: https://kb.grutzeck.de/content/41/438/de/evalanche-_-zertifikatsprobleme-seit-dem-04012021.html

Installation:
Das Hilfsmittel "E-Mail über Evalanche senden" Importieren.

Konfiguration:
Folgende Optionen zur Konfiguration werden im Makro des Hilfsmittels angeboten:

 

bAnlegeModus = true

Erläuterung:
Wird diese Option mit true gesetzt, so legt Evalanche ein neues Profil an, sofern der aktive Datensatz nicht gefunden werden konnte.
Um keinen Datensatz anzulegen sofern nicht vorhanden, muss diese Option mit false gesetzt werden


strEmailField = "CommEmail1"

Erläuterung:
Da in AG-VIP SQL mehrere E-Mail Felder existieren, muss der interne Feldname des Feldes angegeben werden, aus der die E-Mail Adresse verwendet werden soll (Empfänger).



iMailingId = 4711

Erläuterung:
Die E-Mail Vorlage wird in Evalanche angelegt und gepflegt.
Damit das Hiflsmittel zu der Vorlage eine Verknüpfung herstellen kann,
muss die Id der Vorlage angegeben werden (ID des eMailings in Evalanche).

 

2016-05-06 15:59
Peter Brandt

Ein CRM-Ticket per Makro abschließen

Beschreibung:
Ein CRM-Ticket muss immer über einen Historieneintrag mit der höchsten Phase "Abschluss" abgeschlossen werden.

Erleichterung:
Um den Aufwand zu verringern, kann per Makro der erforderliche Historieneintrag mit einem Klick auf einen Schalter erzeugt und dadurch das CRM-Ticket abgeschlossen werden.
Dabei werden noch die Felder "Auftragswahrscheinlichkeit" auf 100%, "Vorgangsstatus" auf "Gewonnen" und "Abschlussdatum" auf das heutige Datum gesetzt.

Voraussetzung:
Es wird die AG-VIP SQL Version 1.5x benötigt sowie die AG-VIP SQL Option "XRM".

Makrocode per Klick:

Option Explicit 
' Es muss ein Datensatz da sein vom Typ CRM
If ActiveRecord.Type<>agRecordTypeProjectCRM Then
     MsgBox "Ein CRM-Datensatz muss geladen sein!"
     Macro.Exit
End If

'Auftragswahrscheinlichkeit = 100%
ActiveRecord.Fields("OrderPropability").Value = 100
    
'Vorgangsstatus = GEWONNEN
ActiveRecord.Fields("CurrentState").Value = 1
    
'Abschlussdatum = Jetzt
ActiveRecord.Fields("DateCompletion").Value = Now()

' Suche die Phase mit der höchsten Order
Dim oMax, oPhase
Set oMax = Nothing
For Each oPhase In ActiveRecord.Project.CRMPhases
     If oMax Is Nothing Then
         Set oMax = oPhase
     ElseIf oMax.Order<oPhase.Order Then
          Set oMax = oPhase
     End If
Next  
' Historieneintrag erstellen
Dim oHistEntry
Set oHistEntry = ActiveRecord.History.Add(agHistoryTypeNote)
' Maximale Phase und Text setzen.
oHistEntry.Fields("IdPhase").Value = oMax
oHistEntry.Fields("Text").Value = "Das CRM-Projekt wurde erfolgreich abgeschlossen!"

Weitere Anwendungsmöglichkeiten:
Durch eine Abfrage des Feldes "CurrentState", welches den Status "offen", "verloren" und "gewonnen" angibt,
könnte man sogar das Ticket automatisch beim Speichern abschließen.
Für diese Anwendungsmöglichkeit gibt es die "CRM-Projekt" Ansicht im Anhang zum Herunterladen.

2017-03-13 08:56
Peter Brandt

Lösung: Outlook Security Patch verursacht Probleme mit Outlook Hilfsmittel

Hinweis:

Dieser Artikel betrifft nur AG-VIP SQL vor der Version 2.01.006. Mit dieser AG-VIP SQL Version wurde das Outlook Addin komplett überarbeitet.

Beschreibung:
Mit dem Update  Outlook 2013 Version 15.0.4937.1001 und der 2016 Version 1705 ist ein Security Patch integriert worden.
Dieser führt dazu, dass die erzeugten E-Mails über ein Outlook Hilfsmittel nicht mehr korrekt dargestellt werden.
In speziellen Fällen können auch Makrofehler auftreten.

Lösung:
In der AG-VIP SQL Version 1.50.005 wurde ein Modul entsprechend erweitert um die durch den Security Patch hervorgerufenen Probleme zu beheben.
Auf Nachfrage kann das Modul auch in der AG-VIP SQL Version 1.50.004 von unserem Support installiert werden (AGVIPCDO.dll muss ausgetauscht werden).

Mit allen älteren Versionen von AG-VIP SQL kann das Problem nur durch ein wie im folgenden KB-Artikel beschriebenen Rollback Vorgang umgangen werden:
https://kb.grutzeck.de/content/29/388/de/outlook-2013_2016-version-1001_1705-_-problem-mit-outlook-hilfsmittel.html

Hilfsmittel Anpassung:
Leider reicht das Modul alleine nicht aus um das Problem zu beheben.
Daher müssen alle Outlook Hilfsmittel im Makrocode angepasst werden.
Folgende Zeile muss angepasst werden:

oItem.Save

Ändern in:

If MailType = 1 Then
   oItem.Save
End If

Falls Sie ausschließlich HTML-Vorlagen (MailType=2) verwenden und keine "Nur-Text" Vorlagen (MailType=1), können Sie die Zeile auch löschen.

Dies können Sie am einfachsten mit "Suchen und Ersetzen" (STRG + H) und betätigen des Schalters "Alle ersetzen":

Anschließend das Hilfsmittel speichern um die Änderung zu übernehmen.

 

Änderungslog:

24.08.2017:

  • Korrektur des zu anpassenden Makrocodes um Abfrage MailType=1

2021-08-25 08:29
Peter Brandt

VBScript Dokumentation

Microsoft hat leider die gesamte VBScript Referenzen von der Webseite entfernt.

Folgende Seiten bieten jedoch auch komplette Beschreibungen und Tutorials an:

In der Anlage hierdieses Artikels wurden zusätzlich die deutsche und englische Hilfedateien angehängt.
Diese CHM Dateien können einfach geöffnet werden und enthalten die komplette VBScript Dokumentation.

2020-03-03 12:06
Martin Richter

Email Versand per SMTP funktioniert nicht. Fehler: 530 Must issue a STARTTLS command first

Hintergrund:

Für die Sichere Kommunikation im Internet werden Daten verschlüsselt. Dazu dienen die TLS und SSL-Protokolle zu dem es mehrere unterschiedliche Versionen gibt. (TLS 1.0, 1.1, 1.2, SSL 2.0, SSL 3.0)

Problem:

Im Betriebssystem ist festgelegt welche TLS-Version bei der Verschlüsselung festgelegt wird.
Diese Verschlüsselung wird zum Beispiel auch benötigt, wenn Emails per SMTP durch unser Addin AGSendMailSMTP benötigt.
Unsere Addins verwenden im Allgemeinen immer den eingestellten Betriebssystem Standard.

Manche Provider (1&1, IONOS etc.) verlangen mittlerweile mindestens eine Verschlüsselung nach TLS 1.2 Standard. TLS 1.0 gilt bereits seit Jahren als veraltet und unsicher.

Entsprechend erhält man bei Versand einer Email in einem nicht kompatiblen TLS Standard die Meldung:
530 Must issue a STARTTLS command first

Ab der AG-VIP SQL Version 2.05.002 kann folgende Lösung verwendet werden:

Lösung:

Über das SMTP-Hilfsmittel mit der Version 2.05.002: https://kb.grutzeck.de/index.php?action=attachment&id=163
Kann die "Protocol" Eigenschaft mit dem benötigten TLS1.2 Protokoll im Makro des Hilfsmittels gesetzt werden.

Für ältere AG-VIP SQL Version bis 2.05.001
Lösung 1:

Es ist evtl. möglich, die Verschlüsselung beim Email Versand von TLS auf SSL umzustellen, wenn dies durch den Provider unterstützt wird.
Dazu muss im entsprechenden Makro Code die Verschlüsselung auf SSL umgestellt werden (Eigenschaft ConnectionType):

Mail.ConnectionType = 1 ' 1=SSL, 2=StartTLS, 3=Automatisch, 0=Keine Verschlüsselung

Diese entsprechende Zeile muss in allen Makros benutzt werden die das Addin AGSendMailSMTP verwenden.

Lösung 2:

Um einen Client auf TLS 1.2 umzustellen müssen 2 Registry Einträge gesetzt werden.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client\DisabledByDefault=0 (DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client\Enabled=1 (DWORD´)

Mit dem hier angehängten Registry Reg-Datei, können diese Einträge einfach erzeugt werden.

Laden Sie die Datei herunter
Entpacken Sie die Datei
Doppelklicken Sie die entpackte Datei und beantworten die beide Sicherheitsabfragen mit Ja.

Diese Einstellungen müssen auf allen Rechnern/Servern vorgenommen werden, die das Addin AGSendMailSMTP verwenden.

Weiterführende Informationen finden Sie auf den entsprechenden Microsoft Seiten:
https://learn.microsoft.com/de-de/mem/configmgr/core/plan-design/security/enable-tls-1-2-client  
https://learn.microsoft.com/de-de/dotnet/framework/network-programming/tls#configuring-schannel-protocols-in-the-windows-registry  

2023-08-15 13:47
Martin Richter

Kann ich mit AG-VIP elektronische Rechnungen erstellen?

Herausforderung elektronische Re

Herausforderung elektronische Rechnungslegung:

Die Umstellung auf elektronische Rechnungslegung gemäß Wachstumschancengesetz wird bis 2025 für alle Unternehmen im B2B-Sektor verpflichtend. Herkömmliche PDF-Rechnungen, die z.B. über Hilfsmittel in AG-VIP aus Word- oder Excel-Dateien erstellt wurden, erfüllen die neuen gesetzlichen Anforderungen nicht. Sie unterstützen weder das PDF- noch das XML-Format für elektronische Rechnungen.

So sieht der zeitliche Fahrplan aus:

Phase 1: Bis 2025 – Empfangsbereitschaft für elektronische Rechnungen herstellen

Alle Unternehmen müssen E-Rechnungen empfangen können.
Schaffen Sie jetzt eine Basis für die nahtlose Verarbeitung elektronischer Rechnungen in bestehende Systeme.
Viele Firmen verwenden bereits elektronische Formate wie ZUGFeRD oder XRechnung für ihre Rechnungsprozesse.
Schon jetzt dürfen Rechnungen an Behörden und öffentliche Institutionen nur als XRechnung erfolgen. Somit müssen diese bereits seit längerem in der Lage sein, E-Rechnungen zu empfangen.

Phase 2: Ab 2026 – Gesetzliche Erstellungspflicht nach dem Wachstumschancen Gesetz

Ab diesem Jahr wird die Erstellung von E-Rechnungen in mehreren Stufen bis 2028 für alle Unternehmen verpflichtend.
Dadurch sollen Unternehmen sich schrittweise mit den Anforderungen und Vorteilen der E-Rechnung vertraut machen.


Anforderungen und Formate für elektronische Rechnungslegung

Elektronische Rechnungen müssen in einem strukturierten Format vorliegen, wie z.B. ZUGFeRD oder Factur-X, um die gesetzlich vorgeschriebenen Standards zu erfüllen. Diese Formate kombinieren PDF-Dokumente mit XML-Daten, die von Maschinen gelesen und verarbeitet werden).

Lösungsmöglichkeiten:

Eine einfache Lösung für die elektronische Rechnungslegung bietet die Integration von easybill mit der CRM-Software AG-VIP. Mit easybill erstellen Sie Rechnungen, die alle gesetzlichen Anforderungen erfüllen und im notwendigen PDF- und XML-Format bereitgestellt werden. Easybill ist eine preiswerte online Lösung für Rechnungslegung und -versand. Damit überwachen Sie den Zahlungseingang. Die Daten übergeben Sie im DATEV Format für die Buchhaltung oder Rechnungswesen. Sprechen Sie uns bei Interesse einfach an. Mehr zur Schnittstelle zwischen AG-VIP und easybill ... <-  Klick.

Vorteile der elektronischen Rechnungslegung:

  • Effizienz und Automatisierung: Schnellere Zahlungsabwicklung und reduzierte Fehlerquote.
  • Kostenersparnis: Wegfall von Druck- und Versandkosten.
  • Nachhaltigkeit: Reduzierung des Papierverbrauchs.
  • Sicherheit: Hohe Standards durch Verschlüsselung und digitale Signaturen.

Fazit

Die Umstellung auf elektronische Rechnungen ist nicht nur eine gesetzliche Anforderung, sondern bietet Unternehmen zahlreiche Vorteile. Nutzen Sie Tools wie easybill, um den Übergang reibungslos zu gestalten und die Vorteile voll auszuschöpfen.

2024-07-09 10:14
Martin Richter

Konfiguration in Azure (Office365) für SMTP-Email-Versand via OAuth2

Problemstellung

Der SMTP-Email-Versand ist bei Azure ohne Verwendung von OAuth2 nicht mehr möglich.

Was ist OAuth2?

OAuth 2.0 ist ein Autorisierungsprotokoll, das es Anwendungen ermöglicht, im Namen eines Benutzers sicher auf Ressourcen zuzugreifen, ohne dessen Passwort preiszugeben.

Einrichtung / Konfiguration in Azure
  1. Melden Sie sich in Ihrem Azure Portal an, welches Sie für den SMTP-Email-Versand einrichten möchten:
    https://portal.azure.com/#home
    Anmeldung
  2. Wählen Sie bei "Azure-Dienste" den Dienst "App Registrierungen" aus.
    App Registrierungen
    Falls der Dienst in der Schnellauswahl nicht angeboten wird, klicken Sie ganz Rechts auf "Weitere Dienste" und suchen dort nach dem Dienst.

  3. Klicken Sie dort auf "+ Neue Registrierung"
    Neue Registrierung
  4. Tragen Sie nun einen Namen z.B. "SMTP OAuth2" ein.
  5. Wählen Sie einen "Unterstützten Kontotyp" aus, z.B. "Nur Konten in diesem Organisationsverzeichnis"
  6. Wählen Sie bei "Umleitungs-URI" die Option "Web" aus und tragen folgende URI ein: http://localhost:8080/callback
  7. Drücken Sie zum Abschließen der Registrierung unten auf den Schalter "Registrieren". Sie werden im Anschluss automatisch weitergeleitet.
    Anwendung registrieren

  8. Kopieren Sie sich die Anwendungs-Id (Client-Id) und die Verzeichnis-Id (Tenant-Id) in eine Textdatei. Diese werden später in AG-VIP SQL benötigt.
    ClientID und TenantID
  9. Im linken Menü, erweitern Sie den Punkt "Verwalten" und wechseln dort in den Bereich "Zertifikate & Geheimnisse"
    Zertifikate und Geheimnisse
  10. Klicken Sie auf "+ Neuer geheimer Clientschlüssel"
    Geheimer ClientKey

  11. Geben Sie nun eine Beschreibung z.B. "AG-VIP SQL" und einen Gültigkeitsbereich z.B. 24 Monate an und drücken anschließend unten auf "Hinzufügen"
    Beschreibung ClientKey
  12. Kopieren Sie jetzt sofort den Schlüssel bei "Wert" und fügen diese vorübergehend in eine Textdatei ein, da dieser später nicht mehr auslesbar ist und in AG-VIP SQL benötigt wird!
    Der Schlüssel bei "Geheime ID" wird nicht benötigt.
    GeheimeID
  13. Wechseln Sie nun im linken Menü zum Punkt "Authentifizierung"
  14. Scrollen Sie etwas herunter zum Abschnitt "Implizite Genehmigung und Hybridflows" und setzen dort den Haken bei "Zugriffstoken"
    AccessToken
  15. Scrollen Sie noch etwas weiter herunter und setzen Sie im Abschnitt "Erweiterte Einstellungen" bei "Öffentliche Clientflows zulassen" den Schalter auf "Ja". Anschließend scrollen Sie ganz ans Ende und drücken auf den Schalter "Speichern"
    ClientFlows
  16. Wechseln Sie im linken Menü zu "API-Berechtigungen" und klicken dort auf "+ Berechtigung hinzufügen"
    API Berechtigung
  17. Klicken Sie nun auf "Microsoft Graph"
    Graph
  18. Anschließend klicken Sie auf auf die linke Schaltfläche "Delegierte Berechtigung"
    Delegierte Berechtigung
  19. Nun über die Suche nach "SMTP.Send" suchen und den Haken setzen
    SMTP Send
  20. Eine weitere Suche nach "offline_access" durchführen und dort ebenfalls den Haken setzen und unten auf "Berechtigung hinzufügen" klicken, um beide Berechtigungen zu übernehmen.
    offline access

  21. Falls noch andere Berechtigungen aktiv sind, können diese über die 3 Punkte rechts entfernt werden.
    Berechtigung entfernen
Einrichtung / Konfiguration in AG-VIP SQL
  1. Importieren Sie das Makroinclude "SMTP OAuth2" und fügen dort die Client-ID, Client-Secret und die Tenant-ID (Verzeichnis-ID) ein.
    Des Weiteren setzen Sie noch in der Variable strProvider den Wert AZURE
    MacroInclude SMTP
  2. Importieren Sie das Hilfsmittel mit "OAuth2" im Namen und klicken im Reiter "Makro" auf den Schalter "Ändern..."
    Makro

  3. Hier tragen Sie bei Host "smtp.office365.com" ein und bei Port den Wert "587".
    Zusätzlich geben Sie noch die E-Mail Adresse zum Azure-Konto bei "Username" an.
    Das "Password" bleibt leer, da automatisch der AccessToken übermittelt wird.
    Azure Hostdaten

  4. Zum Schluss wird noch die LoginMethode mit dem Wert "6" (OAuth2) und der Connectiontyp mit dem Wert "2" (TLS) gesetzt
    LoginMethode
Erstanmeldung

Beim ersten Aufruf des Hilfsmittels wird automatisch eine Authentifizierung durchgeführt, bei der Sie sich einmalig an das Azure Konto anmelden müssen.
Azure Anmeldung

Nach der Anmeldung, kann folgender Hinweis kommen, den Sie mit "Akzeptieren" bestätigen
(Dieses Hinweisfenster, kommt nicht immer und ist auch nicht zwingend erforderlich)
Angeforderte Berechtigung

Folgende Meldung kommt immer und ist normal. Ignorieren Sie die Meldung und kopieren die komplette URL.
URL Adresse

Fügen Sie diese in AG-VIP SQL in das dort geöffnete Pop-Up Fenster ein. Das Hilfsmittel wird nach anschließendem Bestätigen mit "OK" den darin enthaltenen Authentifizierungscode extrahieren und damit eine erneute Anfrage nach einem Refresh-Token an Azure starten.
PopUp AGVIP

Ein weiteres Pop-Up Fenster gibt an, dass der Refresh-Token nun in der Zwischenablage hinterlegt ist
RefreshToken PopUp

Im MakroInclude "SMTP OAuth2" fügen Sie diesen bei der Variable "Refresh_Token" ein
Refreshtoken eintragen

Dadurch ist die OAuth2 Konfiguration / Einrichtung abgeschlossen. Sie können ab sofort Emails via SMTP über Ihr Office365 Konto versenden.

2024-09-19 14:34
Peter Brandt

Konfiguration in GMAIL (Google) für SMTP-Email-Versand via OAuth2

Problemstellung

Der SMTP-Email-Versand ist bei GMAIL ohne Verwendung von OAuth2 nicht mehr möglich.

Was ist OAuth2?

OAuth 2.0 ist ein Autorisierungsprotokoll, das es Anwendungen ermöglicht, im Namen eines Benutzers sicher auf Ressourcen zuzugreifen, ohne dessen Passwort preiszugeben.

Einrichtung / Konfiguration in GMAIL
  1. Melden Sie sich in Ihrem Google API-Entwickler Portal an, welches Sie für den SMTP-Email-Versand einrichten möchten:
    https://console.developers.google.com/projectselector/apis/credentials
  2. Klicken Sie auf "Projekt auswählen"
    Choose Project

  3. Klicken Sie dann auf "Neues Projekt"
    Neues Projekt
  4. Geben Sie anschließend einen Projektnamen z.B. SMTPviaOAuh2 ein. Achten Sie darauf, keine Sonderzeichen und kein Leerzeichen zu verwenden.
    Drücken Sie dann auf "Erstellen". Sie werden im Anschluss automatisch zu den "Anmeldedaten" weitergeleitet.
    Projektnamen eintragen

  5. Verlassen Sie das Menü "Anmeldedaten" und wechseln zu "OAuth-Zustimmungsbildschirm" und wählen dort als "User Type" den Wert "Extern" aus.
    Klicken Sie im Anschluss auf "Erstellen":
    Zustimmungsbildschirm

  6. Geben Sie einen Anwendungsnamen z.B: AG-VIP SQL sowie eine E-Mail Adresse ein, an die man sich bei Fragen zur Einwilligung wenden kann.
    Anwendungsnamen

  7. Scrollen Sie ganz nach unten zu "Kontaktdaten des Entwicklers" und tragen dort eine E-Mail Adresse ein, an die Informationen zu Änderungen am Projekt geschickt werden sollen. Anschließend drücken Sie auf "speichern und fortfahren":
    Kontaktdaten Entwickler

  8. Bei "Bereiche" drücken Sie auf den Schalter "Bereiche hinzufügen oder entfernen":
    Bereiche

  9. In der sich nun rechts aufgeklappten Liste, geben Sie unten bei "Bereiche manuell hinzufügen" folgende URL ein: https://mail.google.com und drücken anschließend auf "zu Tabelle hinzufügen". Dadurch erscheint in der Liste dieser neue Eintrag. Der Haken sollte aktiv sein.
    Zum Abschluss noch den Schalter "Aktualisieren" drücken:
    Scope

  10. Zurück bei "Bereiche" drücken Sie ganz unten den Schalter "speichern und fortfahren" (Dort ist nun auch bei "Ihre eingeschränkten Bereiche" der gerade aktivierte Bereich zu sehen):
    Anwendungsbereich speichern
  11. Bei "Testnutzer" müssen nun E-Mail Konten angegeben werden, welche diese SMTP-OAuth2 Freigabe nutzen dürfen.
    Diese Angabe ist nur notwendig, solange diese Konfiguration im "Testmodus" also im nicht "veröffentlichten" Modus ist.
    Drücken Sie zum Hinzufügen von E-Mail Konten auf den Schalter "+ Add Users".
    Nachdem Sie alle eingetragen haben drücken Sie unten auf "speichern und fortfahren":
    Benutzer hinzufügen

  12. Im letzten Abschnitt "Fazit" können Sie nochmal alle vorgenommenen Einstellungen überblicken.
    Scrollen Sie an das Ende und drücken auf den Schalter "Zurück zum Dashboard".
  13. Im Dashboard finden Sie dann auch den Schalter, mit dem Sie vom Test-Modus in den Veröffentlichten-Modus wechseln können.
    Theoretisch kann die Einstellung im Test-Modus bleiben mit der Einschränkung, dass nur die aufgeführten Test-Benutzer diese nutzen können.
    Test Modus wechseln
  14. Klicken Sie nun links auf "Anmeldedaten" und anschließend oben auf "+ Anmeldedaten erstellen":
    Anmeldedaten erstellen
  15. Wählen Sie die 2. Option "OAuth-Client-ID" aus:
    oAuthClientID
  16. Wählen Sie als Anwendungstyp "Webandwendung" aus und tragen einen Namen wie z.B. GMAILConnectorAGVIPSQL ein:
    Anwendungstyp

  17. Scrollen Sie dann ganz nach unten und fügen Sie folgende URI bei "Autorisierte Weiterleitungs-URIs" ein:
    https://oauth-redirect.googleusercontent.com/r/SMTPviaOAuth2
    Sollten Sie einen anderen Projektnamen als SMTPviaOAuth2 gewählt haben (wie im Punkt 4. beschrieben), müssen Sie diesen stattdessen hier hinterlegen:
    RedirectURI
  18. Kopieren Sie nun die Client-ID und den Clientschlüssel in eine Textdatei:
    ClientId und Key
Einrichtung / Konfiguration in AG-VIP SQL
  1. Importieren Sie das Makroinclude "SMTP OAuth2" und fügen dort die Client-ID bei "Client_ID" und den Clientschlüssel bei "Client_Secret" ein.
    Des Weiteren setzen Sie noch in der Variable strProvider den Wert GMAIL und bei "Project_Name" Ihren Projektnamen SMTPviaOAuth2:
    AGVIP ClientID und Key

  2. Importieren Sie das Hilfsmittel mit "OAuth2" im Namen und klicken im Reiter "Makro" auf den unteren Schalter "Ändern..."
    Hilfsmittel Makro


  3. Hier tragen Sie bei Host "smtp.gmail.com" ein und bei Port den Wert "465".
    Zusätzlich geben Sie noch die E-Mail Adresse zum GMAIL-Konto bei "Username" an.
    Das "Password" bleibt leer, da automatisch der AccessToken übermittelt wird.
    AGVIP SMTP Host

  4. Zum Schluss wird noch die LoginMethode mit dem Wert "6" (OAuth2) und der Connectiontyp mit dem Wert "1" (SSL) gesetzt
    AGVIP SMTP LoginMethode

Erstanmeldung

Beim ersten Aufruf des Hilfsmittels wird automatisch eine Authentifizierung durchgeführt, bei der Sie sich einmalig mit Ihrem Google Konto anmelden müssen.
Google Erstanmeldung

Wenn die Konfiguration im Test-Modus läuft, wird Ihnen jetzt noch zusätzlich eine Warnung angzeigt, welche Sie mit "Weiter" bestätigen.
Google App Warnung Test-Modus

Als nächstes bestätigen Sie den Zugriff auf das Google-Konto, indem Sie auf "Weiter" drücken
Google Zugriff bestätigen

Nun wird ihnen eine Seite mit einer Fehlermeldung angezeigt, welche jedoch normal ist.
Kopieren Sie aus der sich geöffneten Seite die komplette URL und fügen diese dann in das sich in AG-VIP SQL geöffnete Pop-Up Fenster ein.
AG-VIP SQL wird daraus den Authcode ermitteln und damit wiederum eine erneute automatische Anfrage an GMAIL auslösen, um den Refresh_Token zu erhalten:
Google Authcode

AGVIP AuthCode

Wenn alles geklappt hat, wird in AG-VIP SQL eine Meldung angezeigt mit dem Hinweis, dass der Refresh-Token in die Zwischenablage kopiert wurde.
Refreshtoken MsgBox

Im MakroInclude "SMTP OAuth2" fügen Sie diesen bei der Variable "Refresh_Token" ein:
AGVIP Refreshtoken

Dadurch ist die OAuth2 Konfiguration / Einrichtung abgeschlossen. Sie können ab sofort Emails via SMTP über das Google GMAIL Konto versenden.


Hinweis:
Sollten aus irgendwelchen Gründen der Refresh_Token nicht in der Zwischenablage sein, weil Sie z.B. ausversehen die Zwischenablage mit etwas anderem überschrieben haben, bevor Sie diesen in AG-VIP SQL übernommen haben, müssen Sie zuerst die Verbindung zu der Freigabe wieder entfernen, bevor Sie die Erstanmeldung erneut durchführen können.

Dazu wechseln Sie in Ihr Google-Konto
Google Konto

Wechseln in den Bereich "Sicherheit" und scrollen etwas runter bis zu dem Bereich "Ihre Verbindungen zu Drittanbieter-Apps und -diensten" und klicken dann dort auf "AG-VIP SQL":
Google Verbindungen

Dort auf die untere Auswahl "Alle Verbindungen mit AG-VIP SQL löschen" klicken:
Google Verbindungen trennen

Anschließend die Trennung bestätigen:
Google Trennung bestätigt

Erst jetzt können Sie wieder beim Punkt "Erstanmeldung" beginnen und einen neuen Refresh-Token erhalten.

2024-09-19 14:35
Peter Brandt

Wie kann ich ein Hilfsmittel auf alle Datensätze einer Ausgabeliste ausführen

Herausforderung:

Sie haben ein gut funktionierendes Hilfsmittel, das z.B. eine Email oder ein Dokument erzeugt. Aber leider funktionieren Hilfsmittel nur für einen einzelnen Adressdatensatz.
Sie selektieren die gewünschten Adressen in die Ausgabeliste 1 und müssen jetzt jeden einzelnen Datensatz Doppelklicken. Das Hilfsmittel manuell ausführen. Dann den nächsten Datensatz laden. Das Hilfsmittel ausführen usw.

Lösung:

Es gibt eine Abkürzung.

Wenn Sie dieses Muster-Listenhilfsmittel importieren, können Sie im Makro einfach die auszuführenden Hilfsmittel angeben. Wenn Sie Adressen in die Ausgabe1 selektiert haben und dann diese neue Listenhilfsmittel nutzen, wird für jeden Datensatz in der Liste, wie von Wunderhand, das gewünschte Hilfsmittel direkt ausgeführt. Der Anwender hat die Möglichkeit, aus der Liste der zuvor definierten Hilfsmittel eines zur Anwendung auf die Datensätze der aktuellen Ausgabeliste anzuwenden:

Welches Hilfsmittel soll auf die Liste angewendet werden?

Vorgehensweise:

  1. Laden Sie sich das Musterhilfsmittel am Ende dieser Seite herunter.
  2. Entpacken Sie die ZIP-Datei.
  3. Wählen Sie aus dem Arbeitsbereich ADMINISTRATION den Punkt HILFSMITTEL.
  4. Klicken Sie rechts auf den Schalter IMPORT und wählen das Musterhilfsmittel.
  5. Markieren Sie das neu importierte Hilfsmittel „Hilfsmittel über Ausgabeliste ausführen“
  6. Wechseln Sie in den Tab MARKOS und klicken Sie auf den ÄNDERN-Schalter bei MAKRO VOR AUSFÜHRUNG.
    Einstellung, welche Hilfsmittel auf die Ausgabeliste angewendet werden können
  7. Geben Sie in Zeile 9 die Namen der Hilfsmittel ein, aus denen der Anwender eines zur Anwendung auf alle Datensätze der Ausgabeliste anwenden kann.

2025-04-30 12:35
Markus Grutzeck

AG Standard-Produkte

Zur Kategorie

Fehlermeldung: 20 - Record Manager Inactive Fehlermeldung: Datei ist nicht geöffnet AG-Produkt startet nicht und bleibt auf dem Startbildschirm stehen

Beschreibung:

Bei Verwendung des Client/Server Betriebes ist es möglich, dass ein Zugriff auf einen bestimmten Btrieve Server misslang. Dann erscheint diese Meldung beim Öffnen einer Datei die Fehlermeldung 20 Record Manager Inactive.

Es wurde auch beobachtet, dass die entsprechenden AG-Produkte gestartet wurden und dass eine Datei geöffnet wurde. Allerdings erscheint bei der ersten Operation auf die Datei (z.B. Lesen eines Datensatzes) die Fehlermeldung Datei ist nicht geöffnet.

Das AG-Produkt wird gestartet. Das Programm zeigt noch das Startbild an, bleibt dann jedoch stehen und scheint abgestürzt.

Ursache:
  1. 1. In den meisten Fällen handelt es sich um einen Konflikt bei der Konfiguration von Btrieve.
    Btrieve unterstützt auch einen Zugriff auf ein Client-Server System. Ist ein solches System nicht vorhanden, bzw. kann keine Verbindung hergestellt werden, so nutzt Btrieve den "normalen" Netzwerkzugriff. In manchen Netzen kann es jedoch bei der Prüfung ob ein Client/Server System vorhanden ist, zu extrem langen Wartezeiten kommen. Die Gründe hierfür sind uns nicht bekannt. Es wurde sogar beobachtet, das zwei gleiche Rechner in einem Netz bei gleicher Konfiguration hier ein unterschiedliches Verhalten zeigen.
  2. Es kann auch sein, dass die Dateien Mkdemsg.log und Mkdewe.trn schreibgeschützt sind. Btrieve schreibt jedoch auf diese Dateien.
  3. Die Home Directory ist auf ein Verzeichnis (WIN NT; Windows) eingestellt, das schreibgeschützt ist.
Lösung Problem 1:

Durch das Ändern einer Einstellung innerhalb von Btrieve kann der Client/Server Betrieb abgeschaltet werden. Dies sollte natürlich nur geschehen, wenn Sie wirklich keinen Client/Server Betrieb für Btrieve in Ihrem Netz haben. Im Allgemeinen ist dies nicht der Fall und Sie können den entsprechenden Parameter problemlos ändern. Sollten Probleme mit anderen Software Modulen auftreten, so können Sie jederzeit den entsprechenden Parameter wieder zurück auf den alten Wert stellen.

Zum Ändern der Einstellung gehen Sie in folgender Weise vor:

  1. Starten Sie dazu den REGEDIT über den Start-Knopf von Windows, wählen Sie dort den Menüpunkt Ausführen und tragen in dem anschließenden Dialog REGEDIT ein.
  2. Wählen Sie nun je nach Programm einen der folgenden Einträge in der Registrierdatenbank durch Doppelklicken aus:
    HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Microkernel Interface\Settings
  3. auf der rechten Seite finden Sie nun 3 Einträge:
    LoadRetries 0x00000005 (5)
    Local 0x00000001 (1)
    Requester 0x00000001 (1)
    Entscheidend für dieses Problem ist nur der Parameter Requester. Doppelklicken Sie diesen Wert und stellen Sie ihn auf 0.
  4. Starten Sie den Rechner erneut und versuchen Sie das AG-Produkt zu starten. Es sollten keine weiteren Probleme auftreten.

Nachfolgend sollen hier noch einige Produkte aufgezählt werden, die nur dann verwendet werden, wenn Sie den Requester Eintrag auf 1 setzen.

  • Btrieve für Windows NT Server
  • Btrieve für Netware
  • Pervasive.SQL 7.0 (für Windows NT oder Netware)
  • Pervasive.SQL 2000 (für Windows NT oder Netware)

Ist eines der hier aufgezählten Produkte auf dem Server installiert, so lassen Sie bitte von Ihrem Netzwerk Administrator kontrollieren, ob die aktuellen Netzwerk Client Software für das entsprechend oben aufgezählte Produkt installiert sind.

Lösung Problem 2:

Entfernen Sie den Schreibschutz auf diese beiden Dateien.

Lösung Problem 3:
  1. Starten Sie Regedit.
  2. Wählen Sie den Pfad
    HKEY-LOCAL-MACHINE\Software\Btrieve Technologies\Mikrokernel Workstation Engine\Version 6.15\Settings
    dort den Eintrag für Home Directory
  3. Tragen Sie dort ein temporäres Verzeichnis ein, auf das ALLE Benutzer Lese- und Schreibrecht haben.

 

2008-01-11 11:32
Martin Richter

Fehlermeldung: Datei ist gesperrt oder exklusiv geöffnet

Beschreibung:

Beim Öffnen einer Datei mit einem der AG-Produkte kommt es zu der Fehlermeldung

Datei ist gesperrt oder exklusiv geöffnet

obwohl sichergestellt ist, dass keiner der weiteren Anwender die entsprechende Datei exklusiv geöffnet hat.

Leider kann diese Fehlermeldung mehrere Ursachen haben, somit sind hier mehrere Lösungsansätze möglich.

  1. Einsatz im Peer-to-Peer-NetzPeer_to_Peer
  2. Datei kann von niemandem geöffnet werden
  3. Einsatz von Btrieve als Client/Server VersionBtrieve_Client_Server
  4. Falscher Eintrag im PfadLog

1. Einsatz in einem Peer-to-Peer Netz

Beschreibung:

Eine Datei liegt auf einem Rechner in einem Peer-to-Peer Netzwerk. Auf dem Rechner, auf dem die Dateien abgelegt sind und der eine entsprechende Netzwerkfreigabe für die anderen Anwender hat, wird auch gearbeitet. Beim Öffnen einer Datei mit einem der AG-Produkte kommt es zu der Fehlermeldung Datei ist gesperrt oder exklusiv geöffnet, weil entweder ein Anwender auf dem Server bereits arbeitet und eine zweite Arbeitsstation auf die Daten zugreifen möchte, oder aber eine der Arbeitsstationen hat die Datei bereits geöffnet und auf dem Server soll nun die entsprechende Datei auch geöffnet werden.

Dies betrifft auch Windows NT Rechner, wenn sie als Server verwendet werden UND auf ihnen gleichzeitig gearbeitet werden sollen.

Ursache:

Aus der Sicht des Rechners, der als Server fungiert, ist die Datei, die auf seiner Festplatte abgelegt ist, eine lokale Datei. Auf lokale Dateien greift Btrieve ohne Umwege mit einer schnelleren Zugriffsmethode zu. Allerdings sperrt Btrieve dabei die Datei für die alleinige exklusive Verwendung. Das führt dann dazu, dass weitere Arbeitsstationen diese Datei nicht mehr öffnen können oder der Server diese Datei nicht öffnen kann, wenn bereits eine der anderen Arbeitsstationen die Datei geöffnet hat.

Lösung:

Auf dem Server wird eine Einstellung vorgenommen, die den Server instruiert, auch Dateien, die auf seiner lokalen Platte liegen, im Netzwerkzugriff zu öffnen. Dadurch können auch mehrere Anwender dann die Datei auf dem Server gleichzeitig öffnen.

  1. Starten Sie dazu den REGEDIT über den Start-Knopf von Windows, wählen Sie dort den Menüpunkt Ausführen und tragen in dem anschließenden Dialog REGEDIT ein.
  2. Wählen Sie nun je nach Programm einen der folgenden Einträge in der Registrierdatenbank durch Doppelklicken aus:
    HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Settings
  3. Auf der rechten Seite finden Sie den Eintrag File Sharing on Local Drives. Doppelklicken Sie diesen Eintrag und setzen Sie den Wert auf 1. Dann sind alle Btrieve Dateien auf der lokalen Festplatte auch für den Zugriff von anderen Arbeitsplätzen freigegeben.
  4. Starten Sie den Rechner erneut
    Der Zugriff sollte nun konfliktfrei funktionieren.
    Diese Änderung muss nur auf dem Server durchgeführt werden, d.h. auf allen Rechnern, die Ihre Dateien auch über das Netzwerk zur Verfügung stellen.
Siehe auch:

SUBST Befehl zum Einsatz in Peer to Peer Netzen

2. Die Datei kann von niemandem geöffnet werden

Beschreibung:

Nach Prüfung aller Arbeitsstationen wird festgestellt, dass niemand die entsprechende Datei geöffnet hat, aber dennoch die Fehlermeldung Datei ist gesperrt oder exklusiv geöffnet beim Öffnen der Datei erscheint.

Ursache:

Durch einen Systemabsturz einer Arbeitsstation kann es dazu kommen, dass der Server eine Datei noch als offen und benutzt erkennt, obwohl die entsprechende Arbeitsstation bereits neu gestartet wurde.

Dies lässt sich auch daran erkennen, dass ein Umbenennen der Datei über den Explorer nicht möglich ist.

In einem NT-Netzwerk kann man im Server-Monitor die Datei als weiterhin benutzt erkennen. Diesen Monitor können Sie auf dem Server starten über. Start-Schalter, Einstellungen, Server. In dem entsprechenden Dialog wählen Sie nun in Benutzung aus. In der Liste der offenen Dateien finden Sie auch die entsprechende Datei, die nicht geöffnet werden kann.

In einem Novell Netware Netz können Sie auf dem Server im Datei Monitor die entsprechende Datei als offen deklariert finden.

Lösung:
  • Sie warten, bis der Server selbst erkennt, dass die entsprechende Station keine Verbindung mit dieser Datei aufrecht erhält und die Datei automatisch schließt. Dies kann in einem Novell Netz bis zu einer Stunde dauern und ist abhängig von den Systemeinstellungen.
  • Sie schließen die Datei im Server Monitor auf dem NT Server bzw. im Dateimonitor auf dem Novell Server über die entsprechenden Befehle.
  • Sie starten den Server neu.

3. Sie setzen Btrieve in einer Client/Server Version ein

Beschreibung:

Sobald ein bestimmter Anwender die entsprechende Datei öffnen will, kommt es zu der Fehlermeldung Datei ist gesperrt oder exklusiv geöffnet, wenn ein Anwender mit dieser Datei bereits arbeitet. Oder aber eine der Arbeitsstationen hat die Datei bereits geöffnet und der entsprechende Arbeitsplatz kann die Datei nicht öffnen und erhält die Fehlermeldung.

Ursache:

Es wird ein Client/Server Modul in dem NT oder Novell Netz verwendet. Das heißt eines der nachfolgend aufgezählten Produkte ist auf dem Server installiert:

  • Btrieve für Windows NT Server
  • Btrieve für Netware
  • Pervasive.SQL 7.0 (für Windows NT oder Netware)
  • Pervasive.SQL 2000 (für Windows NT oder Netware)

In diesem Fall wird jede Datei, die geöffnet werden soll, in einem sogenannten Client/Server-Modus geöffnet. Die Datei selbst wird vom Server selbst geöffnet und bearbeitet. Diese Datei ist dann vom Server exklusiv verwendet. Jeder Zugriff über einen anderen Zugriffsmodus, der nicht den Client/Server Modus verwendet, führt dann zu der Fehlermeldung.

Gleiches gilt, wenn eine Arbeitsstation nicht den Client/Server Zugriff verwendet und die Datei erfolgreich öffnet (meistens als erster Anwender). Alle anderen Anwender können die Datei jedoch nicht öffnen, wenn sie nun den Client/Server Modus verwenden, da der Server nun keinen exklusiven Zugriff auf die Datei mehr erhalten kann.

Der Client/Server Modus schließt sich somit mit dem normalen Netzwerkzugriff aus. Man kann nicht gemischt auf die entsprechenden Dateien zugreifen.

Lösung:

Geregelt wird dieser Zugriff über entsprechende Einträge in der Registry. Um diese Einstellung zu Ändern bzw. zu kontrollieren, starten Sie den REGEDIT über den Start-Knopf von Windows, wählen Sie dort den Menüpunkt Ausführen und tragen in dem anschließenden Dialog REGEDIT ein.

  1. Staten Sie Regedit 
  2. Wählen Sie nun je nach Programm einen der folgenden Einträge in der Registrierdatenbank durch Doppelklicken aus:
    HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Microkernel Interface\Settings
  3. auf der rechten Seite finden Sie nun 3 Einträge:
    LoadRetries 0x00000005 (5)
    Local 0x00000001 (1)
    Requester 0x00000001 (1)
  4. Entscheidend für dieses Problem ist nur der Parameter Requester. Doppelklicken Sie diesen Wert und stellen Sie ihn auf 1. Damit der Zugriff über den Client/Server Modus erfolgt. Stellen Sie den Wert auf 0, wenn Sie den normalen Netzwerkzugriff verwenden wollen.
  5. Halten Sie gegebenenfalls Rücksprache mit Ihrem Systemadministrator.
  6. Starten Sie den Rechner erneut und versuchen Sie das AG-Produkt zu starten. Es sollten keine weiteren Probleme auftreten.

4. Falscher Laufwerksbuchstabe

Problem:

AG-V.I.P. meldet "Datei ist gesperrt oder exklusiv geöffnet", sobald ein zweiter Arbeitsplatz versucht, die entsprechende Datenbank zu öffnen.

Ursache:

Im PfadLog wird die UNC Namensgebung verwendet. Dadurch kann der Pfad nicht gefunden werden.

Lösung:
  • Starten Sie AG-V.I.P.
  • Kontrollieren Sie in AG-V.I.P. unter Verwaltung/ Systemeinstellungen den Eintrag für PfadLog. Steht in diesem Eintrag die UNC- Namensgebung "//Server//" oder aber gar kein Eintrag, dann ordnen Sie den Laufwerksbuchstaben zu, unter dem bei diesem Arbeitsplatz der Server angegeben ist, auf dem AG-V.I.P. gespeichert ist. Wiederholen Sie dies an allen Arbeitsplätzen.
Siehe auch:

Die Datei kann nicht exklusiv geöffnet werden.Fehlermeldung: Datei ist gesperrt oder exklusiv geöffnet

 

2008-01-11 11:35
Martin Richter

Fehlermeldung: Datenbankmanager Btrieve kann nicht initialisiert werden

Beschreibung:

Beim Starten der von AG-V.I.P./AG-Top oder AG-Tel erfolgt sofort die Fehlermeldung:

DatenbankmanageBtrieve kann nicht initialisiert werden.

Ursache:

AG-V.I.P., AG-Top und AG-Tel verwenden bei bestimmten Operationen einen Cache für Btrieve. Die Größe dieses Cache Speichers wird im Parameter BtrieveCache des jeweiligen Programms gespeichert. Ist dieser Parameter 0, startet das entsprechende AG-Produkt nicht und es erscheint die Fehlermeldung Datenbankmanager Btrieve kann nicht initialisiert werden.

Lösung:

Auch bei schweren Initialisierungsfehlern starten die AG-Produkte im allgemeinen immer noch. Jedoch stehen Ihnen dann nicht alle Funktionen zur Verfügung. Der Zugang zu den Systemeinstellungen wird in jedem Falle ermöglicht. Nach dem Starten sollte es möglich sein, den Menüpunkt Verwaltung, Systemeinstellungen auszuwählen. Kontrollieren Sie dort, was im Eintrag BtrieveCache eingestellt wurde. Hier sollte normalerweise der Wert -1 stehen. Steht hier jedoch 0 so ist dies die Ursache der Fehlermeldung Tragen Sie hier -1 ein indem Sie auf den Eintrag doppelt klicken.

Solle das entsprechende AG-Produkt nicht mehr starten, bzw. sofort Beenden nach diesen Fehlermeldungen so können Sie den entsprechenden Eintrag auch in der Registry direkt ändern. Starten Sie dazu den REGEDIT über den Start-Knopf von Windows, wählen Sie dort den Menüpunkt Ausführen und tragen in dem anschließenden Dialog REGEDIT ein.

Wählen Sie nun je nach Programm einen der folgenden Einträge in der Registrierdatenbank durch Doppelklicken aus:

  • AG-V.I.P.: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-V.I.P.
  • AG-Top: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-Top
  • AG-Tel: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-Tel

Auf der rechten Seite des REGEDIT sollten Sie nun den Eintrag BtrieveCache finden. Prüfen bzw. Korrigieren Sie den Eintrag wie oben beschrieben durch einen Doppelklick.

2008-01-11 11:31
Martin Richter

Fehlermeldung: Datei ist keine Datenbank oder Datenbank ist defekt

Beschreibung:

Der Fehler

Datei ist keine Datenbank oder Datenbank ist defekt

triit meistens auf, wenn eine Datenbank geöffnet wird bzw. direkt beim Start eines Programms oder beim Öffnen einer bestimmten Datei. Der Fehler ist gezielt wiederholbar.

Ursache:

Man kann nicht mehr sagen, als die Fehlermeldung aussagt: Entweder ist diese Datei nie von einem AG-Produkt erzeugt worden, oder die Datenbank wurde durch einen äußeren Eingriff zerstört.

Dieser Fehler ist identisch mit dem Fehler Status 2 der Btrieve Engines!

Lässt sich jedoch eine Datei im Netzwerk von einem Arbeitsplatz aus öffnen, während von einem anderen Arbeitsplatz aus dieser Fehler erscheint, so liegt hier evtl. eine falsche Installation von Btrieve vor, bzw. es erfolgt ein Zugriff von einer Btrieve 5.x Version auf eine Datei im Btrieve 6.x Format. Das gleiche Problem kann auch auftreten wenn Sie Btrieve in einer Client Server Engine mit einer Version 7.0 oder höher verwenden (Pervasive.SQL 7.0 oder Pervasive.SQL 2000).

Lösungsmöglichkeit:

Im Allgemeinen lassen sich diese Arten von Fehlern mit dem Datenbank Reparatur Programm AGDBFIX.EXE beseitigen, wenn es sich um einen Datendefekt handelt. Es ist jedoch nicht auszuschließen, dass es zu einem Datenverlust kommen kann.

Sollte dieser Fehler jedoch auf Inkompatibilität der Daten durch Verwendung einer neueren Btrieve Version verursacht sein, so müssen Sie auch eine entsprechende Version verwenden, um auf diese Dateien zuzugreifen.

2008-01-11 12:08
Martin Richter

Lokale Laufwerke beim Einsatz in Peer to Peer Netzen

Beschreibung:

Wenn das Programm auf dem Server installiert werden soll, muss eine entsprechende Laufwerksfreigabe gemacht werden.

Sollen aber auch auf dem Server selbst gearbeitet werden so muss gewährleistet sein, dass alle Arbeitsplätze über gleiche Laufwerksbuchstaben arbeiten. Sonst kann es bei der Arbeit an meheren Plätzen im Netzwerk dazu kommen, dass entsprechende Dateien nicht geöffnet werden können, weil diese unter anderen Netzwerkpfaden zu finden sind.

Es sollten also auch auf dem Server die gleichen Freigaben als Netzwerklaufwerke verbunden werden und man sollte auch nur über diese Laufwerke mit den AG-Produkten arbeiten.

2008-01-11 11:43
Martin Richter

Fehlermeldung: Dateiname <81> Lock Error

Beschreibung:

Beim Öffnen einer Adressendatei oder beim Start einer der AG-Programme erscheint die Fehlermeldung

Dateiname <81> Lock Error

Das Arbeiten mit AG-V.I.P. ist nicht möglich. Dies betrifft im Allgemeinen nur Dateien, die im Netzwerk liegen.

Ursache:

Möglicherweise sind durch einen System- oder Serverabsturz Datensatzsperren nicht mehr freigegeben worden.

Die Ursachen für diesen Fehler sind leider sehr unklar und weder durch Microsoft noch durch Pervasive eindeutig zu klären..

Lösung:
  1. Versuchen Sie zuerst einen Neustart des Arbeitsplatzrechners
  2. Führt dies nicht zum gewünschten Erfolg, ist ein Neustart des Servers unumgänglich.

2008-01-15 12:35
Martin Richter

Fehlermeldung: 54 - Variable Page Size Error bzw. MKDE2039 System Error

Beschreibung:

Der

Fehler 54 - Variable Page Size Error

tritt oft beim Selektieren bzw. Durchsuchen oder Blättern in Dateien auf. Dieser Fehler ist wiederholbar und betrifft meistens einen oder eine Gruppe von Datensätzen. Oft tritt dieser Fehler in Verbindung mit dem Fehler MKDE2039 auf.

Es kann vorkommen, dass hierbei die Fehlermeldung:

MKDE2039 System Error Meldung

in hunderten von Fenstern erscheint.

Ursache:

Beide Fehlermeldungen deuten auf einen Defekt in der entsprechenden Datei hin. In den meisten Fällen wurde die Datei durch einen äußeren Eingriff beschädigt. Evtl. ist dies auf defekte Sektoren, oder instabile Netzwerkverbindungen oder auch häufig auf Systemabstürze zurückzuführen.

Gepaart mit dem Fehler MKDE2039 ist dies in den meisten Fällen ein Indiz für einen Fehler/Defekt der Datenbank.

Unterscheidung von Datenbankdefekten und anderen Ursachen:

Beim Fehler "MKDE 2039 System Error" wird zusätzlich noch eine weitere Fehlernummer angezeigt, die aus einem Zahlentrippel besteht, die durch Punkte getrennt sind. Hierbei ist die letzte Ziffer von besonderer Bedeutung, denn Sie gibt auch einen Betriebsystem Fehler an (z.B. 116.36.0).

Sollte die letzte Ziffer eine 0 sein, so liegt ein Datenbankdefekt vor, ohne das man genaue Rückschlüsse auf die Ursache und den Grund ziehen kann. In vielen Fällen sind hier Programm-/ Rechnerabstürze und instabile Netzwerkverbindungen die häufigste Ursache.

Ist die letzte Zahl des Nummerntripels eine Fehlermeldung die direkt vom Betriebsystem stammt. Wenden Sie sich an Ihren Vertriebspartner, um hier genaueres zu erfahren.

Lösungsmöglichkeit:

Im Allgemeinen lassen sich diese Arten von Fehlern mit dem Datenbank Reparatur Programm AGDBFIX.EXE beseitigen, sofern es sich um einen Datenbankdefekt handelt. Es ist jedoch nicht auszuschließen, dass es dabei zu einem Datenverlust kommen kann.

Die zu reorganisierenden Dateien der einzelnen Programme sind von den folgenden Typen:

  • AG- V.I.P. : .adr
  • AG- Tel: .que
  • AG- Top: ag

Während der Reorganisation wird der Fehler MKDE2039 ebenso wieder auftreten wie er auch beim Lesen der Datensätze innerhalb des Programms auftrat. Dies lässt sich nicht verhindern. Die durch AGDBFIX erzeugte Datei sollte dann aber keine Fehlermeldungen bei den entsprechenden Operationen mehr bringen. Dies ist unbedingt zu prüfen.

Bitte legen Sie vor allen Reorganisationsversuchen immer Kopien Ihrer Datenbestände an.

Beachten Sie bitte, dass es notwendig sein kann, mit AG-Top eine entsprechende Index Reorganisation durchzuführen, wenn Sie die Daten mit AGDBFIX reorganisiert haben.

2008-01-28 13:21
Martin Richter

Beim Starten von AG-Standard Produkten wird eine leere Messagebox angezeigt

Beim Starten von AG-V.I.P. 5.x, AG-Script 2.x, AG-Top 3.x oder AG-Tel 2.x kann eine leere MessageBox angezeigt werden. Bestätigt man diese dann startet die Anwendung korrekt.

Ursache:

Die Ursache liegt in einer falschen oder unvollständige Installation und das Ausführen der Anwendung ohne administrative Rechte. Das AG-Produkt erkennt die fehlende Registrierung im System und möchte dies nun selbst beheben. Da aber keine administrativen Rechte vorhanden sind schlägt dies fehl. Es wird versucht eine Fehlermeldung anzuzeigen, allerdings schlägt dies auch fehl.
Da die Registrierung aber nicht systemnotwendig ist startet das Programm weiter.

Lösung:

Man kann dieses Problem einfach beheben, indem man das Programm einmal als Administrator startet.
Dadurch wird die defekte Registrierung korrigiert. Die Meldung erscheint danach nicht mehr.

2010-06-18 12:29
Martin Richter

Verschiedene Registry-Äste bei einem 64bit Betriebssystem (32bit & 64bit Ast)

Beschreibung:
AG-VIP SQL ist eine reine 32bit Anwendung und verfügt tatsächlich nur bei dem AG-Manual TSP Treiber - welcher nur benötigt wird um ein Telefonat zu simulisieren - über eine 64bit Version.
Wie viele andere Programme, schreibt AG-VIP SQL bestimmte lokal benötigte Einstellungen in die Registry.
Dies funktioniert auch obwohl es ein 32bit Programm ist auf einem Betriebssystem welches auf 64bit basiert.
Denn bei einem 64bit Betriebssystem gibt es den Stamm für 64bit (Standard) und einen Ast für 32bit Programme.
Das Betriebssystem erkennt also automatisch, dass dies ein 32bit Programm ist und fügt den Registryeintrag in dem 32bit Registry-Ast hinzu bzw. ändert dort diesen ab.

Problem:
Wenn man eine Registrydatei (.reg) erzeugt, welche für ein 32bit Programm gedacht ist, wird dieses beim Ausführen auf einem 64bit Betriebssystem irrtümlicherweise in den Registry Stamm für 64bit Programme eingetragen und nicht in dem dafür vorgesehenen Unterast HKEY_LOCAL_MACHINE\Software\WOW6432Node

in dem die 32bit Registry Einträge normalerweise in einem 64bit Betriebssystem abgelegt werden.
Die Registrydatei enthält nämlich keine Informationen für welche bit Variante es angewendet werden soll und daher wird der Standard (64bit) ausgewählt.


Lösung:
Starten Sie die 32bit Variante der regedit.exe und führen darüber dann einen Importvorgang durch (Datei - Import -> .reg Datei auswählen).
Zum Starten einfach folgenden Schritten folgen:
  1. Klicken Sie auf Start und anschließend auf Ausführen bzw. setzen Sie den Cursor in das Eingabefeld
    Programme/Dateien durchsuchen.
  2. Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit ein.
    Klicken Sie dann auf OK.

Falls sich keine Registry öffnen sollte, haben Sie vermutlich noch die 64bit Registry geöffnet.
Schließen Sie diese und wiederholen Sie den Vorgang oder setzen Sie den Parameter /m bei Schritt 2. wie folgt:

  • Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit /m ein.
    Klicken Sie dann auf OK.

So wird eine weitere Instanz erzeugt.

2011-09-26 10:59
Peter Brandt

Sonstiges

Zur Kategorie

Verschiedene Registry-Äste bei einem 64bit Betriebssystem (32bit & 64bit Ast)

Beschreibung:
AG-VIP SQL ist eine reine 32bit Anwendung und verfügt tatsächlich nur bei dem AG-Manual TSP Treiber - welcher nur benötigt wird um ein Telefonat zu simulisieren - über eine 64bit Version.
Wie viele andere Programme, schreibt AG-VIP SQL bestimmte lokal benötigte Einstellungen in die Registry.
Dies funktioniert auch obwohl es ein 32bit Programm ist auf einem Betriebssystem welches auf 64bit basiert.
Denn bei einem 64bit Betriebssystem gibt es den Stamm für 64bit (Standard) und einen Ast für 32bit Programme.
Das Betriebssystem erkennt also automatisch, dass dies ein 32bit Programm ist und fügt den Registryeintrag in dem 32bit Registry-Ast hinzu bzw. ändert dort diesen ab.

Problem:
Wenn man eine Registrydatei (.reg) erzeugt, welche für ein 32bit Programm gedacht ist, wird dieses beim Ausführen auf einem 64bit Betriebssystem irrtümlicherweise in den Registry Stamm für 64bit Programme eingetragen und nicht in dem dafür vorgesehenen Unterast HKEY_LOCAL_MACHINE\Software\WOW6432Node

in dem die 32bit Registry Einträge normalerweise in einem 64bit Betriebssystem abgelegt werden.
Die Registrydatei enthält nämlich keine Informationen für welche bit Variante es angewendet werden soll und daher wird der Standard (64bit) ausgewählt.


Lösung:
Starten Sie die 32bit Variante der regedit.exe und führen darüber dann einen Importvorgang durch (Datei - Import -> .reg Datei auswählen).
Zum Starten einfach folgenden Schritten folgen:
  1. Klicken Sie auf Start und anschließend auf Ausführen bzw. setzen Sie den Cursor in das Eingabefeld
    Programme/Dateien durchsuchen.
  2. Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit ein.
    Klicken Sie dann auf OK.

Falls sich keine Registry öffnen sollte, haben Sie vermutlich noch die 64bit Registry geöffnet.
Schließen Sie diese und wiederholen Sie den Vorgang oder setzen Sie den Parameter /m bei Schritt 2. wie folgt:

  • Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit /m ein.
    Klicken Sie dann auf OK.

So wird eine weitere Instanz erzeugt.

2011-09-26 10:59
Peter Brandt

Shell Fehler: Zu dieser Dateiendung existiert keine Verknüpfung zu einer Anwendung.

Beschreibung:
Beim Öffnen einer Datei über AG-VIP SQL kann evtl. das Programm nicht identifiziert werden, mit dem die Datei geöffnet werden soll.
Dies kann auftreten, wenn mehrere Programme auf einem Rechner installiert sind, welche das selbe Datei-Format öffnen können bzw. als Standard öffnen wollen. Ein gutes Beispiel ist OpenOffice und MS-Office worauf sich auch die Screenshots beziehen (OpenOffice in einem Windows7 und MS-Office in einem Windows-XP Betriebssystem).
So kann es vorkommen, dass sich Fehler bei der Zuordnung ergeben.
Zum Beispiel kann es vorkommen, dass ein Programm zum Öffnen von Dateien installiert wird.
Dieses trägt dann zum Beispiel den Standard-Pfad für "Öffnen" bzw. "Open" aus, so dass die Datei nur noch über "Bearbeiten" bzw. "Edit" geöffnet werden kann. EXECUTESHELL wird falls es im Pfad für "Öffnen" keine Anwendung findet den Pfad für "Bearbeiten" ausführen.
AG-VIP SQL ist jedoch so programmiert, dass es nur den Pfad für "Öffnen" verwendet und somit dann einen Fehler erzeugt.
Dies macht sich schon dadurch bemerkbar, dass wenn Sie mit der rechten Maustaste sich die Optionen einer Datei wessen Dateityp nicht geöffnet werden kann anschauen. Dort wird "Öffnen" bzw. "Open" nicht angezeigt.
Datei Eigenschaften - Open

Lösung:
Überprüfen Sie die Dateitypen Zuordnung wie in den folgenden Screenshots abgebildet:

Windows XP:
Start - Explorer
Starten Sie den Windows-Explorer über einen Rechtsklick auf "Start" und einem Linksklick auf "Explorer".

Extras - Ordneroptionen...
Über "Extras" -> "Ordneroptionen öffnen wir den nachfolgenden Dialog.

Dateitypen - DOC
Dort kann dann im Reiter "Dateitypen" eine Anwendung einem Dateityp zugeordnet werden.
Falls hier bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie über die "Ändern..." Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche Pfade zu korrigieren.

Windows 7:
Start - Systemsteuerung
In Windows 7 finden wir die Dateitypen Zuordnung unter "Standardprogramme" welche Sie auch direkt über "Start" -> "Standardprogramme" öffnen können oder über den Weg über die "Systemsteuerung" erreichen.

Kleinesymbole - Standardprogramme
Wenn Sie oben rechts die Anzeige auf "Kleine Symbole" einstellen, finden Sie die Auswahloption "Standardprogramme" welche Sie zuvor auch schon direkt über "Start" - "Standardprogramme" öffnen hätten können.

Dateityp oder Protokoll einem Programm zuordnen
Nun wählen Sie die Option "Dateityp oder Protokoll einem Programm zuordnen" aus.

.doc - OpenOffice.org Anwendung ausgewählt
Hier sehen Sie nun auf einem Blick welche Anwendungen welchem Dateitypen zugeordnet sind (In dem Fall wäre das für den Dateityp "Microsoft Word 97-2003 Dokument" (.doc) die Anwendung "OpenOffice.ord Writer").
Zum Ändern selektieren Sie die gewünschte Zeile und drücken oben rechts auf die Schaltfläche "Programm ändern".

WICHTIG:
Falls bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie unbedingt über die "Ändern..." bzw. "Programm ändern" Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche bzw. nur teilweise vorhandene Pfade zu korrigieren.


Registry überprüfen:
Achtung!!!
Falscheingaben in der Registry können fatale Folgen für die Funktionalität Ihres Rechners haben!!!
Die hier beschriebene Vorgehensweise soll Ihnen nur helfen, die Position in der Registry festzustellen an der Sie sehen, welche Anwendung für welchen Dateitypen verwendet wird. Änderungen die Sie in der Registry durchführen haben Sie selbst zu verantworten und dadurch entstandene Kosten oder Supportanfragen werden von uns in keiner Weise übernommen bzw. nicht kostenlos bearbeitet (bei einem dadurch entstandenen Supportfall zum Beispiel).

Verweis von .doc auslesen
Im Pfad "HKEY_CLASSES_ROOT" werden die Dateitypen behandelt. Unter ".doc" findet man bei "(Standard)" den Verweis auf "Word.Document.8".

Word.Document.8
Wenn man nun in "HKEY_CLASSES_ROOT\Word.Document.8\shell\Open\command" schaut, sieht man den hinterlegten Pfad zu der Anwendung.
In dem Fall die "WINWORD.EXE".
Bei Änderungen in der Registry ist es meistens notwendig, den Rechner neuzustarten damit die Änderungen geladen werden.

Weitere Maßnahmen:
Falls dies nicht zum Erwünschten erfolg geführt hat, sollten Sie eine Reparaturinstalltion der gewünschten Andwendung durchführen.
Diese wird Ihnen normalerweise angeboten, wenn Sie versuchen die Anwendung erneut zu installieren, obwohl diese bereits installiert ist.

2011-08-17 16:28
Peter Brandt

Feldänderungen in bestimmten Feldern protokollieren

Beschreibung:
Dieser Artikel beschreibt, wie man eine Protokollierung von Feldänderungen, z.B. an Stammdaten und Opt-In Felder, zu einer Auswahl von Feldern (auch in Zusatztabellen) umsetzen kann.
Die Protokollierung wird in einer Zusatztabelle gespeichert und kann darüber auch ausgewertet werden.
Benutzer benötigen keine Zugriffsrechte auf diese Zusatztabelle.

Damit kann dem Transparenzgebot der DSGVO Rechnung getragen werden.

Lösung:
Beim Laden einer Adresse, werden die Feldinhalte aus einer zuvor festgelegten Feld- und Zusatztabellenliste in einer globalen Variable gespeichert.
Beim Speichern werden die global gespeicherten Feldinhalte mit denen der aktuellen Feldern verglichen.
Sollte es Differenzen geben, so wird ein Protokolleintrag erzeugt.

Der Protokolleintrag besteht aus:
Datum+Zeit, Benutzername, Feldname, alter Feldinhalt, neuer Feldinhalt

Im Anhang dieses Knowledgebase Artikels finden Sie das notwendige Makroinclude "RecordChanges.agminc", welches die benötigten Funktionen bereitstellt um die Vorgänge durchzuführen.
Es müssen jedoch noch an drei Positionen Makrozeilen auf Ebene der Adresstabelle ergänzt werden, damit das Makroinclude auch ausgeführt wird.

Position 1:
Beim Öffnen der Adresstabelle wird die Liste der zu überprüfenden Felder über einen simplen Aufruf der Funktion "SetFieldsToCheck()" definiert:

MacroInclude "RecordChanges"
SetFieldsToCheck()

Position 2:
Beim Laden der Adresstabelle werden die Feldinhalte über den Aufruf der Funktion "SaveOriginalValues()" gesichert,
bevor ein Benutzer diese verändern kann.

MacroInclude "RecordChanges"
SaveOriginalValues()

Position 3:
Beim Speichern der Adresstabelle werden letztendlich die Feldinhalte der aktuellen Adresse mit den gespeicherten Feldinhalten
über die Funktion "CheckValueDifference()" verglichen:

MacroInclude "RecordChanges"
CheckValueDifference()

Zusätzlich muss noch eine Zusatztabelle angelegt werden, in denen die Daten protokolliert werden können.
Diese Zusatztabelle ist ebenfalls im Anhang enthalten und muss nur auf Adresstabellenebene importiert werden.

Zum Schluss können Sie die Liste der zu protokollierenden Felder im Makroinclude anpassen.
Es sind bereits sinnvolle Adressfelder vordefiniert, welche Sie jedoch Ihren Wünschen anpassen können.

 

Hinweis:
Wenn keine Protokollierung gewünscht ist, weil es zum Beispiel keine Zusatztabelle gibt die protokolliert werden muss, so muss eine leere Liste (ein leerer Array) übergeben werden.

Beispiel:
Application.GlobalData("changeWatchRelations")=Array()

 Siehe auch Erweiterung um Protokollierung Opt-In Felder und Auslösen der Opt-In Bestätigung

Änderungslog:

27.11.2020:

  • Einführung eines Fehler-Modus (IsErrorMode)

17.06.2020:

  • Protokollierung von Kennzeichenlisten integriert

22.01.2020:

  • Vordefinierte ChangeWatch Array-Feldliste verkleinert.

04.06.2019:

  • Dynamisch erzeugte Globale Variablen mit Prefixes versehen.
  • Explizite Text-Formatierung der Werte für Globale Variablen.

12.05.2016:

  • Kommentar im Makro bezüglich der Zusatztabellenprotokollierung ergänzt.

 06.05.2016:

  • Protokollierung von Zusatztabellen integriert

2018-05-11 16:39
Peter Brandt

Sprachaufzeichnung mit Call Recorder Pico oder Oygo von Vidicode

Beschreibung:
Mit dem Call Recorder Pico oder dem Softphonerecoder Oygo von der Firma Vidicode ist es möglich ein Gespräch aufzunehmen und in Verbindung mit AG-VIP SQL in der Historie als Audio Datei zu verlinken.
Die Sprachaufzeichnung wird über AG-VIP SQL angesteuert, kann jedoch auch unabhängig von AG-VIP SQL gestartet werden.

Installation Hardware:
Der Call Recorder wird zwischen Kopfhörer/Headset und dem Telefongerät eingeschleift.
Hier eine Bildbeschreibung, jedoch mit dem damals noch quadratischem vorgänger Modell:Installation Call Recorder

Ein Video, welches die Installation zeigt finden Sie auf der Webseite der Firma Vidicode unter folgendem Link:

http://www.vidicode.com/products/call-recorders/call-recorder-pico/

Dort finden Sie auch weitere Informationen zum Call Recorder Pico.
Für den Softphonerecorder Oygo finden Sie weitere Informationen unter der Adresse:

http://www.vidicode.com/products/call-recorders/call-recorder-oygo/

Installation Software:
Im unten beigefügten Anhang ist eine Beschreibung enthalten wie die Call Recorder Pico Software installiert sowie konfiguriert wird.
Die Installationsdatei ist auf der Installations-CD Ihrer Call Recorder Pico Sprachbox.
Desweiteren ist noch eine Ansicht und ein Hilfsmittel enthalten, welche in AG-VIP SQL über den Formulareditor und der Hilfsmittelverwaltung importiert werden können.

Konfiguration des Hilfsmittels:
Zu Beginn im Makro des Hilfsmittels, finden Sie folgende Einstellungsmöglichkeiten:

'Zeit die vor dem Start der Aufzeichnung noch mit zur Aufzeichnung hinzu genommen wird.
'Maximaler Wert: 30 Sekunden, Default-Wert: 0 Sekunden (0) = Keine Prerecording-Zeit

timeelapse=0

'Geräte ID des Softcall recorders (Default=1)
device=1

'Dateiname der Aufzeichnung mit Pfad. Hier kann auch fest codiert werden:
'Z.B: "C:\Dokumente und Einstellungen\AG-VIP SQL User\Eigene Dateien\Testaufzeichnung.wav"
'Per Default (refile="") wird die Datei unter "Ruf-zu-<Telefonnummer>-<DatumZeit>.wav" unter dem Pfad
'aus den Hilfsmitteleinstellungen gespeichert.
'recfile=""

recfile=""

'Ab AGVIP-SQL Version 1.10.004 ist es auch möglich den Dateinamen aus dem Hilfmitteldialog zu verwenden und
'die dort eingestellten Feldersetzungen in der Dateinamensbildung zu verwenden. Hierfür muss der Parameter
'targetfiletype=1 gesetzt werden. Ist er =0 wird entweder der Namen unter recfile verwendet, oder wenn dieser
'Parameter nicht gesetzt ist, der Name mit "Ruf-zu-<Telefonnummer>-<DatumZeit>.wav" gebildet.

targetfiletype=0

'Hisorienmodus: Mit der Option Application.GlobalData("historymode")=1 werden mehrere Historieneinträge erzeugt.
'mit Application.GlobalData("historymode")=0 wird nur ein Eintrag mit der Srachaufzeichnung erzeugt.

Application.GlobalData("historymode")=0

'showmessagebox=0 (Default) zeigt beim Starten / Beenden keine Hinweisfenster an.
'showmessagebox=1 zeigt beim Starten / Beenden der Aufzeichnung jeweils ein Hinweisfenster an.

showmessagebox=1

Verwendung:
Nachdem die Einstellungen vorgenommen wurden, kann nun über die Schaltfläche auf der zuvor importierten Ansicht die Aufnahme gestartet werden.

2018-04-13 15:18
Peter Brandt

Outlook Web Access (OWA) in AG-VIP SQL darstellen

Beschreibung:
Der OWA wird über Exchange oder über die Microsoft Cloud (365) Online bereitgestellt.
Dieser wird daher üblicherweise in einem Browser dargestellt.

Problemstellung:
Benutzer sollen kein weiteres Programm wie z.B. einen Browser bedienen bzw. das ständige hin und her wechseln zwischen AG-VIP SQL und dem Browser stört.

Lösung:
Durch Verwendung eines Browsercontrols in AG-VIP SQL, kann direkt über z.B. eine Ansicht der OWA in AG-VIP SQL dargestellt werden.

Vorgehensweise:
Sie finden den Pfad zum OWA in ihrem Outlook unter Datei->Informationen

Diesen kopieren Sie und testen diesen in Ihrem verwendeten Browser.
Wenn alles in Ordnung ist, erscheint ein Anmeldebildschirm.

Mit dieser Gewissheit, tragen wir nun diesen Pfad zum OWA in das Browsercontrol auf der AG-VIP SQL Ansicht ein, welche Sie am Ende dieses KB-Artikels herunterladen und in AG-VIP SQL importieren können.
Browsercontrol selektieren -> in den Eigenschaften rechts auf "Standard URL" klicken und im Dialog dann die URL einfügen.

Hinweis:
Falls Sie nicht die im KB-Artikel beigefügte Ansicht verwenden und ein eigenes Browsercontrol erstellt haben, müssen Sie die Eigenschaften "Navigieren erlauben" und "Formularmodus" auf "Ja" setzen.
Desweiteren ergänzt die beigefügte Ansicht noch zusätzlich an die von ihnen eingefügte URL den Pfad zum Kalender im Abschnitt "Makros beim Laden". Dieses Makro funktionieren nur, wenn das Browsercontrol wie in der angehängten Ansicht den Namen "Browser" besitzt.

Verwendung:
Nachdem nun alles fertig eingerichtet ist, kann die Ansicht verwendet werden.
Beim ersten Aufruf bzw. nach einer Abmeldung im OWA muss sich der Benutzer stets am OWA anmelden.

Bei dieser Neuanmeldung geht die Information verloren, dass man eigtl. den Kalender angezeigt haben möchte.
Daher muss man dies nach einer Anmeldung manuell auswählen.

Danach wird jedoch immer direkt der Kalender angezeigt (bis zur nächsten Anmeldung).

Tipp:
Manchmal reicht eventuell die Bandbreite der Internetverbindung nicht aus um die grafische Darstellung des OWAs schnell anzuzeigen.
Es gibt eine "Light" Version des OWAs welche auf einige grafische Elemente verzichtet.
Diese kann in den Optionen aktiviert werden.

2016-06-24 13:01
Peter Brandt

Fernwartung

Um einen guten Support zu gewährleisten ist in der AG-VIP SQL Installation ein Fernwartungsclient installiert.
Bis zum 31.12.2019 unterstützen und nutzen wir TeamViewer.
Seit Oktober 2019 kommt ausschließlich AnyDesk zum Einsatz. 
In einer Übergangszeit bis Mitte Februar werden wir beide Versionen unterstützen.

Wird der Menüpunkt Fernwartun in AG-VIP SQL angeklickt wird die Datei Support.exe im Programmverzeichnis ausgeführt. Je nach Version wird dann der TeamViewer oder AnyDesk Client gestartet´.

AnyDesk

Ab der Version 2.00.006 unterstützen wir den Support mit AnyDesk.
Folgende Module stehen für den Download zur Verfügung:

Standard Fernwartungsclient (dieser ist als Setup.exe in der Installation enthalten):

https://anydesk.grutzeck.de 
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
In älteren Installationen ist es ohne Probleme möglich den neuen AnyDesk Client unter dieser Adresse herunter zu laden und in der bestehenden älteren AG-VIP SQL Installation zu ersetzen.

Fernwartungsclient, der auch ausgehende Verbindungen erlaubt:

https://get.anydesk.com/6OXM42zN/Support-Full.exe
Diese Version ist identisch zum Standard-Client, erlaubt aber auch ausgehende Verbindung.
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
Auch dieser Client kann den aktuell im Programmverzeichnis installierte Support.exe ersetzen.

Komplette Installation für AnyDesk:

https://get.anydesk.com/rrnBf17n/AnyDesk.msi
Mit dieser Version installieren Sie AnyDesk permanent auf einem Rechner. Die Installation erlaubt ein- und ausgehende Verbindungen.
Dieser Setup ist von Grutzeck-Software angepasst und mit unserem Logo versehen.

Allgemeine AnyDesk Version:

Auf der Seite https://www.anydesk.com/de kann die AnyDesk Standard Version heruntergeladen werden.
Diese finden Sie auch direkt unter dem folgenden Link https://download.anydesk.com/AnyDesk.exe
Diese Programmversion erlaubt es die aktuelle AnyDesk Version nur auszuführen und auch zu installieren. Sie ist nicht angepasst.
Unser Support kann sich mit jeder Ihrer AnyDesk Versionen verbinden.

2020-02-24 12:34
Martin Richter

Crash - ATLTHUNK.DLL

Beschreibung:
Auf 64bit Betriebssystem die älter als Windows 10 sind (Server 2012 R2, Windows7, Windows 8, Windows 8.1) kann es bei zuvielen Control-Elementen dazu kommen,
dass AG-VIP SQL oder auch andere Anwendungen abstürzen.

Ursache:
Die im C:\Windows\SysWow64 liegende ATLTHUNK.DLL stellt pro Aufruf 256 Slots bereit um weitere Subklassen zuzuordnen.
Wurden alle 256 Slots genutzt, so wird die ATLTHUNK.DLL erneut geladen und es werden weitere 256 Slots bereitgestellt.
Dies funktioniert jedoch bei den oben aufgeführten Betriebssystemen nicht garantiert.
Microsoft hat dies durch eine von uns gestellte Supportanfrage bereits 2017 als Bug bestätigt.
Allerdings wurde der Bug nur im aktuellen Betriebssystem Windows10 behoben.

Workarround:
Die ATLTHUNK.DLL kann von Windows10 kopiert und in das AG-VIP SQL Installationsverzeichnis kopiert werden.
AG-VIP SQL wird daraufhin diese ATLTHUNK.DLL verwenden und nicht die im C:\Windows\SysWow64 Verzeichnis.
Das Problem wird dadurch behoben, weil die Dateiversion aus Windows10 den Bug nicht enthält.
Nachdem Kopieren der Datei kann ein Serverneustart notwendig werden!

Hinweis:
Der Workarround wurde bislang nur bei einem Server 2012 R2 erfolgreich getestet.

Stackoverflow Beitrag von Martin:
https://stackoverflow.com/questions/41741448/random-crashes-on-windows-10-64bit-with-atl-subclassing

Typische Callstacks bei einem Crash sind:

0ec81585() Unknown No symbols loaded.
user32.dll!__InternalCallWinProc@20() Unknown Symbols loaded.
user32.dll!UserCallWinProcCheckWow() Unknown Symbols loaded.
user32.dll!DispatchClientMessage() Unknown Symbols loaded.
user32.dll!___fnINOUTLPWINDOWPOS@4() Unknown Symbols loaded.
ntdll.dll!_KiUserCallbackDispatcher@12() Unknown Symbols loaded.
mfc140u.dll!CScrollView::ScrollToDevicePosition(tagPOINT ptDev={...}) Line 620 C++ Symbols loaded.

0c831585() Unknown No symbols loaded.
user32.dll!__InternalCallWinProc@20() Unknown Symbols loaded.
user32.dll!UserCallWinProcCheckWow() Unknown Symbols loaded.
user32.dll!DispatchClientMessage() Unknown Symbols loaded.
user32.dll!___fnDWORD@4() Unknown Symbols loaded.
ntdll.dll!_KiUserCallbackDispatcher@12() Unknown Symbols loaded.
user32.dll!SendMessageW() Unknown Symbols loaded.
[Inline Frame] AGVIP.exe!MfxWindow::CSubclassWnd::GetSubclassThunk(HWND__ *) Line 357 C++ Symbols loaded.
AGVIP.exe!MfxWindow::CSubclassWnd::HookWindow(HWND__ * hWnd=0x0004038a) Line 248 C++ Symbols loaded. 

2021-03-17 07:49
Martin Richter

Ansichten

Zur Kategorie

Wie kann ich mir ein Bild zu einer Adresse automatisch anzeigen lassen?

Problemstellung:

Ich möchte mir zu manchen Kontakten eine Bilddatei auf einer Ansicht von AGVIP SQL anzeigen lassen. Diese Datei soll am besten direkt auf der Ansicht angezeigt werden und sich in der größe etwa anpassen.

Lösung:

Unter Verwendung eines Feldes vom Typ Datei und unter Nutzung des Webcontrols ist dies spielend leicht zu bewerkstelligen.

Sie finden das in diesem Artikel beschriebene Beispiel am Ende des Artikels zum Download. Um die in diesem Artikel beschriebenen Controls zu verwenden, müssen Sie AGVIP SQL in der Version 1.10.012 oder höher einsetzen.

Die Vorgehensweise ist folgende. Legen Sie in Ihrer Adresstabelle ein Feld mit Namen Bild an und verwenden Sie den Feldtyp Datei.

In diesem Feld speichern wir den Link zur Bilddatei in Ihrem Dateisystem. Sie sollten daher, wie schon von Vorlagen und Ablagen der Hilfsmittel her bekannt, die Bilddatei in einem für alle Anwender identischen Pfad im Netzwerk ablegen. (Wenn Sie derzeit Ihre Vorlagen und V:\Vorlagen speichern, könnten Sie Kontaktbilder ja unter V:\Bilder ablegen. )

Nun müssen wir das Bild noch anzeigen. Hier könnte man im einfachsten Fall einfach die Feldinhalte des Feldes Bild in der URL für das Webcontrol eintragen. Nachteil dieser Lösung ist, das Bild wird auf ganzer größe des Webcontrols angezeigt. So ist ggf. scrollen nötig um das Bild zu betrachten. Einfacher ist es, wir übergeben dem Webcontroll eine HTML-Seite, die das Bild gleich hübsch formatiert und auf die gewünschte Größe bringt. Da nicht jeder Kontakt ein Bild hinterlegt hat, blenden wir das Webcontrol nur bei den Adressen ein, die auch ein Bild hinterlegt haben.

Um das Webcontroll nur einzublenden wenn auch ein Bildpfad hinterlegt ist, muss folgendes Makro im Makro "beim Laden" der Ansicht hinterlegt werden. (Das Webcontrol hat den Namen "Bildanzeige" als Eigenschaft zuvor erhalten)

If ActiveAddress.Fields("Bild")="" Then
 CurrentForm.Controls("Bildanzeige").Visible=false
Else
 CurrentForm.Controls("Bildanzeige").Visible=true
End If

Um das Bild dann in die Seite des Controls einzupassen übergeben wir gleich einen ganzen Satz HTML-Code mit und fügen in diesen den Dateilink aus dem Feld Bild einfach mit ein. Da HTML Zeilenumbrüche nicht beachtet, haben wir den Code der normalerweise auf mehreren Zeilen dahrgestellt wir, einfach in eine Zeile einer Text-Variablen geschrieben. Da ein kleiner Rand nötig ist um den Scrollbalken zu verhindern, stellen wir die relative Größe des Bildes auf 97% der zu verfügung stehenden Breite im Control.

Dies geschieht über ein Makro im Webcontrol "Bildanzeige"

 Dim HTMLData, bildfeld
'Bitte geben Sie das Datenfeld an, das den Link zur Bilddatei beherbergt
bildfeld =ActiveAddress.Fields("Bild") 
 
'Hier keine Änderung mehr vornehmen
'######################################################################
CurrentForm.Controls("Bildanzeige").control.Document.BGColor = "#ECE9D8"
HTMLData="<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN""" & _
 """http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""><html xmlns=" & _
 """http://www.w3.org/1999/xhtml""><head><meta http-equiv=""Content-Type"" " & _
 "content=""text/html; charset=utf-8"" /><title>AGVIP Bildanzeige</title></head>" & _
 "<BODY style=""font-family: arial; font-size: 10px"" bgcolor=""#ECE9D8"">" & _
   "<body><img src="" mce_src=""" & bildfeld & """ width=""97%"" height=""97%""" & _
   " alt=""Bildanzeige ist unterdrückt"" /></body></html>"
CurrentForm.Controls("Bildanzeige").value = HTMLData
 

Fertig ist unsere Kontaktbildanzeige für AGVIP SQL. Zur Installation der anliegenden Beispielansicht gehen Sie bitte wie folgt vor:

  1. Stellen Sie sicher das Ihre AGVIP SQL Version mindestens die Version 1.10.012 oder größer ist.
  2. Legen Sie in Ihrer Adresstabelle unter Arbeitsbereich -> Administration -> Adresstabellen ein Feld mit dem Namen "Bild" an und dem Feldtyp Dateiname.
  3. Öffen Sie unter Arbeitsbereich -> Administration -> Ansichten den Ansichteneditor und klicken Sie auf Datei -> Importieren und wählen Sie die Datei Bild anzeigen.agfrm aus der anliegenden ZIP-Datei.
  4. Ordnen Sie der Ansicht unter Eigenschaften den Namen Ihrer Adresstabelle zu und speichern Sie die Ansicht.

2011-08-18 15:30
Ulrich Sticker

LinkedIn, XING, Google und Co im Web-Browser-Control integrieren

Herausforderung:

Viele Informationen liegen frei im Web verfügbar. Warum sollte man sich das nicht in Zeiten von Web 2.0 verfügbar machen?

Lösung:

In der Musteransicht "Webresearch" wird in Sozialen Netzwerken bei "Person" nach den Suchargumenten VORNAME und NACHNAME gesucht und bei "Firma" nach NAME1. Gibt es in der Adresstabelle Datenfelder XING, Facebook, Twitter oder LinkedIn, wird der Inhalt dieser URL angezeigt.

Nachfolgend können Sie eine Musteransicht herunterladen. Diese enthält folgende Schalter:

Website Firma

Lädt die aktuelle Unternehmenswebsite aus dem Feld "Internet" in das Web-Browser-Control 

Zurück

Zeigt die vorhergehende Website an.

Vor

Zeigt die nächste Seite an.

Laden abbrechen

Stoppt den aktuellen Ladevorgang der Seite.

Neu laden

Lädt die Seite erneut. Aktualisieren.

Google-Research

Startet eine Google Suche nach dem Unternehmen und zeigt das Google-Suchergebnis im Web-Browser-Control an.

Google-News

Sucht nach aktuellen Pressemitteilungen des Unternehmens und zeigt die Ergebnisse direkt an.

Routenplanung

Startet eine Routenplanung bei Google-Maps in einem externen Browserfenster. Setzt das Hilfsmittel Google Maps-Routenplanung voraus. Bitte vorab herunterladen und das Hilfsmittel importieren.

XING-Person

Sucht nach dem aktuellen Ansprechpartner bei XING. Dabei wird nach ähnlich klingenden Personennamen gesucht. Sie müssen sich dazu einmalig bei XING kostenlos anmelden.

XING-Firma

Sucht nach Ansprechpartners des aktuellen Unternehmens. Sie müssen sich einmalig bei XING kostenlos registrieren.

Diese Funktion ist insbesondere in PreSales-Phasen interessant, wenn sie zunächst nach geeigneten Ansprechpartnern im B-to-B-Bereich suchen.

Yasni

Sucht in der Personensuchmaschine www.yasni.de nach aktuellen Informationen zum Ansprechpartner in AG-VIP SQL im Web, Blogs, Social Communites, ...

Twitter-Person

 Führt eine Personensuche in Twitter nach Vor- und Nachname durch.

Twitter-Firma

 Sucht das erste Wort der Firma ("Name1") bei Twitter.

Facebook-Person

 Führt eine allgemeine Facebook Suche nach Vor- und Nachname durch.

Facebook-Firma

 Sucht das erste Wort des Firmennamens ("Name1") bei Facebook.

LinkedIn-Person

 Führt eine Personensuche bei LinkedIn nach Vor- und Nachname durch. 
=> neu eingeschränkte Funktionalität!

LinkedIn-Firma

 Sucht das erste Wort des Firmennamens ("Name1") bei LinkedIn
=> neu eingeschränkte Funktionalität!

URL übernehmen

Prüft, ob ein Datenfeld XING, Twitter, Facebook oder LinkedIn existiert und übernimmt die gerade angezeigte URL, die mit dem entsprechenden Sozialen Netzwerk beginnt, in das aktuelle Datenfeld.

  1. Zur Installation laden Sie die angehängte ZIP-Datei herunter und entpacken diese.
  2. Starten Sie in AG-VIP SQL aus dem Arbeitsbereich den Formulareditor über DATEI, ANSICHTEN.
  3. Wählen Sie aus dem Menü DATEI im Formulareditor den Befehl IMPORT und fügen die Musteransicht in Ihre AG-VIP SQL Installation ein.

Changelog:
22.11.2010 - Anpassung der XING-Suche
08.08.2018 - YouTube nicht mehr unterstützt. Anpassungen Suche für LinkedIn, Google+
31.01.2024 - Anpassung auf das Edge Control. Anpassung für das Laden der Webseite der Firma beim Edge Control

2024-02-01 07:46
Markus Grutzeck

Skype - Integration in AG-VIP SQL

Herausforderung:

 Wie lassen sich Skype-Anrufe und Chat in AG-VIP SQL integrieren?

Lösung:

Für die Integration von Skype (www.skype.com) legen Sie zwei benutzerdefinierte Felder vom Typ "IdBenutzer" an:
SkypeCall, Vorbelegung "callto:"
SkypeChat, Vorbelegung "skype:"

Außerdem ist es notwendig, im Internet Explorer unter INTERNET OPTIONEN, Reiter PROGRAMME, SKYPE als bevorzugtes Programm für INTERNET ANRUF auszuwählen:

Alternativ ist auch denkbar, ein Textfeld "SkypeUser" und über zwei Schalter ANRUF und CHAT zu starten. Hinter den Schaltern stehen dann die Makros:


' Für Chat
' **************************************************************************
' Bitte ein Feld im AG-VIP_SQL anlegen; in diesem Fall "SkypeUser"
' Ab der Version 1.20 bitte ".Value" nicht vergessen!!! ;o)
' **************************************************************************
Dim WShell
Dim Chat
Chat = "skype:" & ActiveAddress.Fields("SkypeUser").Value & "?chat"
Set WShell = CreateObject ("WScript.Shell")
WShell.Run Chat

' Für Call
' ******************************************************************************************
' Bitte ein Feld im AG-VIP_SQL anlegen; in diesem Fall "SkypeUser"
' Ab der Version 1.20 bitte ".Value" nicht vergessen!!! ;o)
' *************************************************************************
Dim WShell
Dim CallSkype
CallSkype = "skype:" & ActiveAddress.Fields("SkypeUser").Value & "?call"
Set WShell = CreateObject ("WScript.Shell")
WShell.Run CallSkype
' *************************************************************************

Wichtig:

Skype liefert keinerlei Rückmeldung über den Verbindungsstatus an AG-VIP. Es werden damit autoamtisch keinerlei Historieneinträge erzeugt oder Gesprächsdauern ermittelt. Somit kann diese Form der Skypeanbindung nur für Einzeltelefonate gelten. Es erfolgt keine Signalisierung eingehender Anrufe.

Anlage: 

Angehängt finden Sie eine Musteransicht für die Skypeanbindung.

2009-06-08 20:53
Markus Grutzeck

Integration Wissensmanagement in AG-VIP SQL: Webservice 1st

Herausforderungen

Oftmals steckt wichtiges Fachwissen in den Köpfen einzelner Experten. Um auch andere Anwender zu qualifizierten Produktinformationen oder Bearbeitung komplexere Serviceanfragen zu befähigen, bedarf es eines Wissensmanagement Systems (Knowledge Base).

 

Lösung

Mit unserem Partner „Webservice 1st“ können wir Ihnen ein Wissensmanagement System kostenlos für die CRM Software AG-VIP SQL bereitstellen. Innerhalb der Ansichten von AG-VIP SQL gibt es das Web-Browser-Modul. Hier lässt sich das webbasierte Wissensmanagement Werkzeug direkt anzeigen und somit in die Oberfläche im Ticketingsystem integrieren.
Anzuzeigende Inhalte können via Makro vorgefiltert werden, wenn z.B. vorher klar ist, um welche Produktkategorie es geht. Denkbar wäre auch den Inhalt der Wissensseite auszulesen und so z.B. dem Kunden auch direkt den Link via Email, SMS oder Twitter zur Produkt- oder Fehlerbeschreibung weiterzugeben.
Die nachfolgende Ansicht ist ein exemplarisches Beispiel für die Integration und beschreibt die notwendigen Anpassungen:

Webservice 1st

 

Voraussetzungen

Um Webservice 1st nutzen zu können, muss man zuerst eines der angebotenen Pakete auf der Homepage buchen. Hier genügt das kostenlose Starterpaket, welches Sie unter folgendem Link finden: https://www.webservice-first.com
Vorgehensweise
Wie integriert man Webservice 1st in AG-VIP SQL?
1.    Download der .unten stehenden zip-Datei.
2.    Entpacken Sie die unten stehende .zip-Datei.
3.    Starten Sie AG-VIP SQL. Wählen Sie aus dem Menü Datei, den Befehl Administration, um den Ansichten-Editor zu starten.
4.    Gehen Sie nun auf „Datei“ und wählen den Befehl „Import“.
5.    Öffnen Sie im Dateiexplorer die entpackte Datei. Die Musteransicht erscheint.
6.    Klicken Sie auf den Schalter „Webservice 1st laden“ in der Oberfläche und öffnen Sie den Makro im Fenster Eigenschaften.
7.    Passen Sie nun, wie in dem nachfolgend dargestellten Makrobefehl, den Link zu Ihrer Knowledgebase zwischen den Anführungszeichen an.

On error Resume Next
CurrentForm.Controls("Browser").Url = "https://grutzeck.webservice-first.com"
On Error Goto 0

8. Wiederholen Sie diese Schritte für den Schalter „Suchen“.

2020-01-06 20:39
Lukas Hölzer

Ausführung eines Hilfsmittels begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Hilfsmittel nur von einem bestimmten Nutzerkreis ausgeführt werden dürfen.

Der nachflogende Makro kann als "Makro vor Ausführen"in einem Hilfsmittel angelegt werden. Er begrenzt die Ausführung des Hauptmakros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For  
    End If
Next

If Not bInGroup Then  
    MsgBox "Sie haben keine Berechtigung für diese Aktion!"  
    Macro.Abort
End If

 

2015-12-16 13:06
Martin Richter

Anzeige einer Ansicht begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Ansichten nur von einem bestimmten Nutzerkreis angezeigt werden dürfen.

Das betrifft hier natürlich nur Ansichten im freien Arbeiten. Ansichjten im Workflow werden zentral gesteurt.

Der nachflogende Makro kann als OnOpen-Makros in einer Ansicht angelegt werden. Er begrenzt die Ausführung des OnOpen-Makros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups     
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For
    End If
Next

If Not bInGroup Then
      MsgBox "Sie haben keine Berechtigung für diese Aktion!"
      CurrentForm.Visible = false
End If

 

2015-12-16 13:12
Martin Richter

Outlook Web Access (OWA) in AG-VIP SQL darstellen

Beschreibung:
Der OWA wird über Exchange oder über die Microsoft Cloud (365) Online bereitgestellt.
Dieser wird daher üblicherweise in einem Browser dargestellt.

Problemstellung:
Benutzer sollen kein weiteres Programm wie z.B. einen Browser bedienen bzw. das ständige hin und her wechseln zwischen AG-VIP SQL und dem Browser stört.

Lösung:
Durch Verwendung eines Browsercontrols in AG-VIP SQL, kann direkt über z.B. eine Ansicht der OWA in AG-VIP SQL dargestellt werden.

Vorgehensweise:
Sie finden den Pfad zum OWA in ihrem Outlook unter Datei->Informationen

Diesen kopieren Sie und testen diesen in Ihrem verwendeten Browser.
Wenn alles in Ordnung ist, erscheint ein Anmeldebildschirm.

Mit dieser Gewissheit, tragen wir nun diesen Pfad zum OWA in das Browsercontrol auf der AG-VIP SQL Ansicht ein, welche Sie am Ende dieses KB-Artikels herunterladen und in AG-VIP SQL importieren können.
Browsercontrol selektieren -> in den Eigenschaften rechts auf "Standard URL" klicken und im Dialog dann die URL einfügen.

Hinweis:
Falls Sie nicht die im KB-Artikel beigefügte Ansicht verwenden und ein eigenes Browsercontrol erstellt haben, müssen Sie die Eigenschaften "Navigieren erlauben" und "Formularmodus" auf "Ja" setzen.
Desweiteren ergänzt die beigefügte Ansicht noch zusätzlich an die von ihnen eingefügte URL den Pfad zum Kalender im Abschnitt "Makros beim Laden". Dieses Makro funktionieren nur, wenn das Browsercontrol wie in der angehängten Ansicht den Namen "Browser" besitzt.

Verwendung:
Nachdem nun alles fertig eingerichtet ist, kann die Ansicht verwendet werden.
Beim ersten Aufruf bzw. nach einer Abmeldung im OWA muss sich der Benutzer stets am OWA anmelden.

Bei dieser Neuanmeldung geht die Information verloren, dass man eigtl. den Kalender angezeigt haben möchte.
Daher muss man dies nach einer Anmeldung manuell auswählen.

Danach wird jedoch immer direkt der Kalender angezeigt (bis zur nächsten Anmeldung).

Tipp:
Manchmal reicht eventuell die Bandbreite der Internetverbindung nicht aus um die grafische Darstellung des OWAs schnell anzuzeigen.
Es gibt eine "Light" Version des OWAs welche auf einige grafische Elemente verzichtet.
Diese kann in den Optionen aktiviert werden.

2016-06-24 13:01
Peter Brandt

Anwendung von Platzhaltern im RTF Control

Beschreibung:
Das RTF-Control erlaubt es statische formatierte Texte anzuzeigen.

Problem:
Oft reicht ein statischer Text nicht aus, da z.B. der Name des Bearbeiters oder des Kunden dynamisch angezeigt werden soll.

Lösung:
Über Platzhalter können Feldwerte dynamisch in den statischen Text eingebunden werden.
Dabei gibt es zwischen Datenbankfeldern, Temporärefeldern und Globalefelder bzw. Variable unterschiedliche Aufrufsweisen.

- Datenbankfelder können über %<interner Feldname>% aufgerufen werden z.B. für den Kurznamen %ShortName%
- Temporärefelder können über %Fields.<ControlName>% aufgerufen werden z.B. wenn man im Formulareditor dem Feld den Namen "VerantwortlicherMA" gegeben hat wäre der Aufruf %Fields.VerantwortlicherMA%
- Globalefelder können über %GlobalData.<GlobalerName>% aufgerufen werden z.B. für die Globale Variable Application.GlobalData("AuftragsNummer") wäre der Aufruf %Globaldata.AuftragsNummer%

Hinweis:
Der Aufruf für die GlobalData Felder bzw. Variable ist erst ab der AG-VIP SQL Version 1.44.003 möglich.

2016-09-08 11:01
Peter Brandt

Kartenansicht mit automatischer Geokoordinatenermittlung

Beschreibung:

Diese Beispielansicht benutzt beim Laden einer Adresse, die Makro Funktion CheckAddress um die Geokoordinaten einer Adresse zu bestimmen. Sofern die Adresse gefunden werden kann, wird eine Karte mit der Hilfe von Google-Maps angezeigt..

Hinweis:
Einzig relevant ist in dieser Ansicht der Makro Beim Laden.

Die Geokoordianten werden nur bestimt, wenn diese noch nicht ausgefüllt wurden. Wurden die Geokoordinaten in der Adresse bereits ausgefüllt wird nur die Karte angezeigt.

Wird eine Geokoordiante erfolgreich bestimmt, werden die Felder Gemeindeschlüssel, Längen- und Breitengrad, Koordinatenqualität und Bundesland angepasst, sofern diese nicht bereits ausgefüllt sind..

2017-05-29 13:16
Martin Richter

Nutzung des Edge/Chrome Browser Controls in AG-VIP SQL

Hintergrund:

Seit der Version 2.02.002 ist es möglich auch Browser-Controls zu erzeugen, die auf Edge (Chrominum) bassieren.

Bisher wurde für Browser Controls in AG-VIP SQL immer nur der Internet Explorer 11 verwendet. Dieser wird aber kaum noch weiterentwickelt und viele Webseiten unterstützen diesen Browser nicht mehr.

Um den Edge Browser anstatt des Internet Explorer zu nutzen wurde eine Option geschaffen, sie es ermöglicht wie bisher Browser Controls vom Typ Internet Explorer als auch vom Typ Edge zu erzeugen.

Vorgehensweise:

Bei den Eigenschaften des Browsercontrols finden Sie eine zusätzliche Eigenschaft Browsertyp.

Wird ein Browser Control erzeugt steht der Standard immer auf Internet Explorer. Auch bestehende Ansichten, die ein Browser Control benutzen verwenden immer den Modus Internet Explorer. Soll also der neue Brwosrtyp verwendet werden müssen die Ansichten geändert werden.

Vorausetzungen:

Damit das Egde Control verwendet werden kann muss auf jedem Rechner auch die Edge WebView 2 Runtime installiert werden.
Die Instalation dieser Runtime durch AG-VIP SQL erfolgt nur, wenn nicht schon eine Version der Runtime installiert wurde.

Die Installation der Runtime erfolgt automatisch bei der Installation über unseren All-In-One Installer oder wenn ein Update über unsere VIP_SQL_abbccc.EXE ausgeführt wird. Die Installation erfolgt auch wenn SetupAGVIPClient.exe ausgeführt wird und noch keine Runtime bisher installiert war.

Wenn die WebView 2 Runtime nicht installiert ist, erscheint eine Fehlermeldung, wenn ein Edge Browser Control erzeugt werden soll.

Das Edge-Browser-Steuerelement konnte nicht erstellt werden!
Bitte wenden Sie sich an Ihren Administrator und installieren Sie die Edge WebView2-Laufzeitumgebung!

Die Runtime, die zum Zeitpunkt des AG-VIP SQL Builds aktuell war, findet sich im Programmverzeichnis unter dem Namen AGVIPWV2Runtime.exe. Diese Datei kann wie die Original Datei von der Microsoft-Webseite auch automatisch installiert werden.
Hinweise finden Sie dazu auf den entsprechenden Microsoft Seiten.

Vor- und Nachteile des Edge (Chromium) Controls:

  • + Das Egde Control ist mit allen modernen Webseiten kompatibel.
  • + Das Edge Control läuft als eigenständiger Prozess in einer Sandbox und ist sehr sicher.
  • - Das Edge Control läuft als eigenständiger Prozess und verbraucht damit extrem viel mehr Systemresourcen als ein eingebettetes IE Control. 
  • - Das Egde Control verfügt über keine COM Schnittstelle und kann nicht extern über Makros gesteuert werden (Zurück, Vorwärts, Neu laden etc.)
  • - Das Egde Control verfügt über kein DOM Interface (Document Object Model) und der Inhalte der Webseite kann nicht über COM einfach analysiert werden. Zugriff ist nur über den kompletten Webseiten Text möglich.

Vor- und Nachteile des Internet Explorer Controls:

  • + Programmierbar über COM und Makros. kompletter Zugriff auf alle internen Interfaces inklusive des DOM (Document Object Model)
  • Im Vergleich zum Edge sehr geringer Speicher- und Ressourcen Verbrauch.
  • Nicht mehr kompatibel zu vielen Webseiten.

Wann sollten Sie das Edge Control verwenden?

  • Immer wenn Sie auf extern Seiten wir Linked-In, Xing oder ähnliches zugreifen wollen, die nur die neueren Browser unterstützen.

Wann sollten Sie das Internet Explorer Control verwenden?

  • Wenn sie einfache HTML Seiten anzeigen, die evtl. auch durch Makros selbst erzeugt wurden.
  • Wenn Sie Zugriff auf das DOM (Document Object Model) benötigen.
  • Wenn Sie sehr viele HTML Controls in AG-VIP SQL nutzen.

Wann sollten Sie das Edge Control nicht verwenden?

  • Wenn Sie nur interne Webseiten anzeigen, die in Ihrer Firma gehostet werden und IE 11 kompatibel sind.
  • Wenn Sie einfache Informationen selbst als HTML Stream erzeugen und das HTML Control als einfaches Control zur formatierten Ausgabe benutzen.
  • Wenn Sie die Kontrolle über den Inhalt der Webseite benötigen. Also auf Auswahlen (Radio-Boxen) und Controls auf der Webseite zugreifen müssen. Also in allen Fällen wo für eine Ansicht eine erweiterte Programmierung der HTML Seite vorgenommen wurde.

 

2020-11-16 10:46
Martin Richter

Hotkeys in AG-VIP SQL

Tipps, zur effektiven Bedienung von Programmen mit der Tastatur:

Ribbons über die Tastatur bedienen

Drücken Sie zuerst die Alt-Taste und lassen diese los, oder halten Sie diese fest und warten einen kurzen Moment.
Es erscheinen nun im Ribbon die Buchstabenkürzel für die Bedienung. Wenn Sie die Tastenkombination auswendig kennen, können Sie auch die weiteren Tasten drücken.

Anschließend tippen Sie die Buchstaben für den Befehl, den Sie auslösen wollen. Gibt es weitere Unterkategorien, klappt ein eigenes Menü  auf. Andernfalls wird der Befehl sofort ausgelöst. So als ob Sie den entsprechenden Schalter angeklickt hätten.

Sie können auch die Alt-Taste drücken und loslassen. Die Kürzel erscheinen dann sofort.

Haben Sie die falsche Kategorie geöffnet, drücken Sie einfach zweimal die Alt-Taste. Das erste Drücken der Alt-Taste bricht die Auswahl ab. Mit dem zweiten Drücken der Alt-Taste öffnen Sie die korrekte Kageorie im Ribbon.

Folgende Bedienungen sind gleichwertig.

Beispiel: Sie wollen in AG-VIP SQL einen Rückruf über das Ribbon mit einer eigenen Nummer auslösen. 

  • Der Tastenpfad (Buchstabenkürzel), ist T (Telefonmenü) Ü (Rückruf) T (Telefonnummer eingeben).
  • Sie Drücken die Alt-Taste  und dann die Buchstaben TÜT und lassen die Alt-Taste los.
  • Sie Drücken die Alt-Taste  und lassen sie los, dann drücken Sie die Buchstaben TÜT.

Technisch gesehen, können Sie die Alt-Taste an jeder beliebigen Stelle loslassen.

Wollen Sie die Bedienung des Ribbons abbrechen ohne eine Auswahl zu tätigen, drücken Sie erneut die Alt-Taste. Es ist nicht mögich die Tastaturbedienung des Ribbons mit der Esc-Taste abzubrechen.
Es ist auch möglich mit der Maus in ein beliebiges anderes Fenster zu klicken.

Menüs über die Tastatur bedienen

Normale Menüs können auch einfachst über die Tastatur bedient werden. Drücken Sie dazu die ALT-Taste und halten Sie diese fest.
In der ersten Menüzeile haben die einzelnen Menüpunkte Buchstaben mit Unterstrichen. Drücken Sie nun den entsprechenden Buchstaben und lassen die Alt-Taste los.
Das entsprechende Menü klappt auf.

Auch die entsprechenden Untermenüpunkte haben wieder Buchstaben, die unterstrichen sind. Sie können die Pfeiltasten wählen und den entsprechenden Menüpunkt auswählen, oder Drücken direkt einen der unterstrichenen Buchstaben. 
Der entsprechende Befehl wird ausgeführt, als ob Sie ihn mit der Maus angeklickt hätten.

Es ist auch möglich zu Beginn die Alt-Taste zu drücken und direkt loszulassen. Der erste Menüeintrag links wird markiert.
Sie können entweder die unterstrichenen Buchstaben eingeben oder verwenden wieder die Pfeiltasten.
Untermenüs werden durch die Pfeil-Rechts Taste oder den markierten Buchstaben geöffnet.

Wollen Sie die Bedienung des Menüs abbrechen ohne eine Auswahl zu tätigen, drücken Sie die Esc-Taste, oder erneut die Alt-Taste.
Es ist auch möglich mit der Maus in ein beliebiges anderes Fenster zu klicken.

Dialogen nutzen:

Die Tabfolge in Dialogen ist optimiert. Durch Drücken der Tab-Taste wird der Eingabe Fokus in das nächste Feld verschoben. Das kann auch ein Button sein. Ein selektierter (ausgewählter) Button kann durch Leertaste und die Eingabetaste ausgelöst werden.

Durch Drücken der Alt-Taste + Buchstabe kann auch hier direkt ein anderes Feld angesprungen werden.

Die Eingabetaste löst den aktuellen Default-Schalter aus. Das ist der Schalter, der einen fetten Rahmen hat. Im Allgemeinen ist das der OK Schalter.  Aber es kann auch ein anderer Schalter als Default ausgewählt werden.

Bei Ja/Nein Abfragen, die eine evtl. weitreichendere Konsequenz haben wird oft auch Nein, anstatt Ja als Default vorbelegt. Erscheint die Frage, kann man mit der Eingabetaste diesen Vorgang nicht bestätigen. Man muss mit den Cursortasten entweder die Ja-Taste auswählen oder über die Alt+Buchstabentaste , die entsprechende Antwort wählen.

Tastenkombinationen in Dialogen immer anzeigen:

In die Dialogen können Felder per Alt+Buchstabe oft gezielt angesprungen werden. Die normalen Windows Einstellungen zeigen aber diese Zugriffstasten erst an, wenn die Alt-Taste gedrückt wird. Man kann Windows so einstellen, dass diese Tastenkombinationen in allen Dialogen automatisch (also immer) angezeigt werden.

Windows 10:
Einstellungen -> Erleichterte Bedienung -> Tastatur -> Funktionsweise von Tastenkombinationen ändern -> Zugriffstasten unterstreichen, falls verfügbar.

Über die Registry:
HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference -> Wert On auf 1 setzen (Typ REG_SZ)

Nutzen Sie Kontextmenüs

Kontextmenüs fassen oft für bestimmte Objekte gängige Operationen zusammen. Kontextmenüs öffnen Sie durch Klick auf das Objekt mit der rechten Maustaste, oder einfach über die Tastatur mit der Kontextmenütaste (rechts neben der Leertaste).
Das Kontextmenü lässt sich auch über die Tasten Umschalt+F10 öffnen.
Die Bedienung des Kontextmenüs erfolgt wieder direkt über entsprechende Tastenebfehle wie es oben für Menüs bereits beschrieben ist.

 

Allgemeine Hinweise

Es ist ergonomisch nicht effektiv, permanent zwischen der Maus und der tastatur zu wechseln.

Viele Nutzer wissen gar nicht, dass die meisten Programm komplett ohne Maus bedient werden können. Greifen Sie also nur zur Maus, wenn Sie länger mit der Maus arbeiten oder Verwaltungsaufgaben lösen wollen.

Während Sie Daten eingaben, vermeiden Sie am Besten den Griff zur Maus. Andere Felder und Masken lassen sich leicht über hier beschriebene Hotkeys anspringen und auswählen. Das ist effektiver und schneller als die Nutzung der Maus.

 

Auflistung der Hotkeys

Allgemeine Hotkeys in AG-VIP

F1 Zeige die Online Hilfe zu dem aktuellen Kontext
Umschalt+F1 Ermöglicht die Auswahl eines Objektes zu dem die Online Hilfe angezeigt werden soll
Alt+F4 Schließen des Programmmes
F5 Anzeige aktualsieren / Neu Laden
Kontextmenütaste
Umschalt+F10
Öffnet das Kontext Menü für das aktuelle Feld, den aktuellen Eintrag oder das aktuell markierte Objekt.
Strg+C
Strg+Einfg
Kopieren die aktuelle Auswahl oder den Feldinhalt in die Zwischenablage.
Strg+V
Umschalt-Einfg
Einfügen des Inhalts der Zwischenablage in das aktuelle Feld. Die aktuelle Selektion wird ersetzt.
Strg+X
Umschalt+Entf
Auschneiden der aktuelle Auswahl oder des Feldinhalt und kopieren in die Zwischenablage. Der Inhalt der aktuellen Markierung wird entfernt.
Strg+P Drucken
Alt+Strg+Umschalt+Druck Minidump erzeugen.
Strg+F Suche für das aktuelle Fenster / den aktuellen Kontext

 

Hotkeys in AG-VIP SQL bei geöffneten Ansichten / Workflow

ESC Aktuelle Bearbeitung abbrechen (nicht speichern)
Bild-Unten Nächster Datensatz
Bild-Oben Vorhergehender Datensatz
Alt+Bild-Unten Öffnet eine Combobox, die Datumsauswahl oder einen Auswahldialog für Kennzeichen
F3 In den den Feldern Kurzname und Nummer wird eine Schnellsuche ausgelöst (Prefix Suche)
Beispiel: Müller F3 Sucht alle Datensätze die mit dem Begriff Müller anfangen.
In anderen Eingabefeldern wird die Auswahlliste angezeigt oder ein Textbaustein abgerufen.
Umschalt+F3 In den den Feldern Kurzname und Nummer wird eine Schnellsuche ausgelöst (Ähnlichkeitssuche)
Beispiel: Müller Umschalt+F3 Sucht alle Datensätze die den Begriff Müller enthalten.
F4 Suchdialog öffnen
Strg+F4 Aktuelle Bearbeitung beenden (Arbeitsbereich schließen)
Umschalt+F4 Dialog für globale Suche öffnen
Strg+Umschalt+F4 Auswertungsdialog öffnen
F5 Aktuellen Datensatz neu einlesen (aktuelle Änderungen werden verworfen)
F12 Aktuellen Datensatz speichern
Eingabetaste
Tab
Springe in das nächste Eingabefeld
Umschalt+Tab Springe in das vorhergehende Eingabefeld
Alt+F2
Alt+Strg+F2
Strg+#
Strg+^
Setze den Fokus in die Kurzname/Nummern Leiste
Strg+Ziffer 1-9 und 0 Aktiviere Ansicht 1, 2, ... 10
Strg+Umschalt+B Kopiere Postfachadresse in die Zwischenablage
Strg+Umschalt+S Kopiere Straßenadresse in die Zwischenablage
Strg+N Neuen Datensatz anlegen
Alt+Strg+N Neuen Datensatz als untergeordnete Adresse der aktuellen Adresse anlegen

 

Hotkeys zum aktivieren bestimmte Fenster bei geöffneten Ansichten / Workflow

Strg+Umschalt+A Aktiviere das Aktivitätenfenster
Strg+Umschalt+C Aktiviere das CRM-Verknüpfungsfenster
Strg+Umschalt+H Aktiviere das Hierrachiefenster
Strg+Umschal+M Aktiviere das Monitorfenster
Strg+Umschal+N Aktiviere das Notizenfenster (Workflow)
Strg+Umschal+O Aktiviere das Ausgabefenster
Strg+Umschal+P Aktiviere das Projektstatistikfenster
Strg+Umschal+T Aktiviere die Telefonieleiste
Strg+Umschal+W Aktiviere das Arbeitsbereichsfenster
Alt+F2
Alt+Strg+F2
Strg+#
Strg+^
Setze den Fokus in die Kurzname/Nummern Leiste
Strg+Tab
Strg+Bild-Unten
F6
Alt+Rechts
Nächste Ansicht
Strg+Umschalt+Tab
Strg+Bild-Oben
Umschalt+F6
Alt+Links
Vorhergehende Ansicht

 

Hotkeys zum aktivieren bestimmter Tabs in gedockten Fenstern

Strg+Tab
Strg+Bild-Unten
F6
Alt+Rechts
Nächstes Fenster in der Tab-Ansicht
Strg+Umschalt+Tab
Strg+Bild-Oben
Umschalt+F6
Alt+Links
Vorhergehendes Fenster in der Tab-Ansicht
Strg+Ziffer 1-9 und 0 Aktiviere Tab-Fenster 1, 2, ... 10

 

Hotkeys in Ausgabefenstern/Listenanzeigen für Datensätze
(siehe auch Hotkeys für Listen und Listen mit Mehrfachauswahl)

Eingabetaste Lädt den markierten Datensatz
Esc Blendet das Ausgabefenster aus bzw. fährt das gedockte Fenster ein
Strg+C Markierte Datensätze der Liste in die Zwischenablage kopieren
Strg+P Drucken
Strg+S Auswahl speichern

 

Hotkeys in Dialogen

Tab Springe in das nächste Eingabefeld
Umschalt+Tab Springe in das vorhergehende Eingabefeld
Eingabetaste Führe den Standard-Schalter/Aktion aus
(Dieser Schalter hat einen fetten Rand) 
Escape Abbruch des Dialoges/Vorganges ohne Ausführung/Änderung
Leertaste Ist ein Schalter aktiv wird dieser ausgeführt.
Ist eine Checkbox aktiv wird der Status gewechselt.
Pfeil-Hoch
Pfeil-Links
In einer Liste von Optionsfeldern wird die vorherige Option ausgewählt, oder das vorherige Feld angesprungen.
Pfeil-Runter
Pfeil-Rechts
In einer Liste von Optionsfeldern wird die nächste Option ausgewählt, oder das nächste Feld angesprungen.
Alt+Buchstabe Direkte Navigation zu dem Feld mit dem entsprechenden Buchstabenkürzel im Namen. 
Leertaste Aktivieren des Schalters, eines Radiobuttons oder iener Checkbox wenn diese Fokus haben.

 

Hotkeys in Dialogen mit mehreren Seiten (Listenauswahl rechts, oder Tableiste oben)
(siehe auch Hotkeys für Dialoge)

Strg+Tab
Strg+Bild-Unten
Aktiviere die nächste Dialogseite
Strg+Umschalt+Tab
Strg+Bild-Oben
Springe in die vorhergehende Dialogseite

 

Hotkeys in Eingabefeldern

Entf Löschen des Zeichens rechts vom Cursor, oder löscht den aktuellen markierten Text.
Rück-Taste Löschen des Zeichens links vom Cursor, oder löscht den aktuellen markierten Text.
Strg+Pfeil-Rechts Springt nach rechts zum nächsten Wortanfang oder bis zum Textende.
Strg+Pfeil-Links Springt nach links bis zum nächsten Wortanfang oder bis zum Textanfang.
Umschalt+Pfeil-Rechts Erweitert die Markierung um ein Zeichen nach rechts.
Umschalt+Pfeil-Links Erweitert die Markierung um ein Zeichen nach links.
Umschalt+Pos1 Erweitert die Markierung nach links bis zum Textanfang. 
Umschalt+Ende Erweitert die Markierung nach rechts bis zum Textende. 
Strg+Umschalt+Pfeil-Rechts Erweitert die Markierung um bis zum nächsten Wortanfang nach rechts oder bis zum Textende.
Strg+Umschalt+Pfeil-Links Erweitert die Markierung um bis zum nächsten Wortanfang nach links oder bis zum Textanfang.
Strg+A Markiert den gesamten Feldinhalt
Strg+Y Zuletzt rückgängig gemachte Aktion wiederholen.
Strg+Z Letzte Änderung Rückgängig machen
Umschalt+Mausklick Der Text von der bisherigen Cursorposition bis zu der Stelle an die man klickt markiert.
Doppelklick Markiert das Wort auf das geklickt wurde.

 

Hotkeys in Listen und Tabellen

F2 Aktuellen Eintrag bearbeiten (sofern Änderungen in der Zeile direkt erlaubt sind)
F5 Liste aktualisieren / Neu einlesen
(wird nur teilweise unterstützt wo es Sinn macht)
Einfg Neuen Eintrag erzeugen (sofern direktes Anlegen erlaubt ist)
Entf Löscht die aktuelle Zeile (sofern direktes Löschen erlaubt ist).
Strg+A Sofern eine Merhfachauswahl erlaubt ist werden alle Einträge markiert.
Leertaste Markiert die aktuelle Zeile
Pfeil-Unten Nächster Eintrag
Pfeil-Oben Vorhergehender Eintrag
Bild-Unten Eine Seite weiter blättern.
Bild-Oben Eine Seite nach oben blättern.
Pos1 Auf ersten Eintrag springen.
Ende Auf letzten Eintrag springen
Buchstabe oder Ziffer Selektiert den ersten Eintrag mit dem entsprechenden Buchstaben oder Ziffer in der Liste.
Tipp: Man kann auch ganze Begriffe eingeben. Der Eingabepuffer wird nach ca. 1sec wieder gelöscht.
ab schnell getippt amrkiert den Eintrag der mit ab beginnt.
ab langsam eingegeben markiert erst einen Eintrag der mit a beginnt, dann einen der mit b beginnt.

 

Hotkeys in Listen mit Mehrfachauswahl
(siehe auch Hotkeys für  Listen)

Strg+A Alle Einträge markieren
Strg+Leertaste Hebt die Markierung der aktuellen Zeile auf
Strg+Pfeil-Unten Fokus auf nächsten Eintrag verschieben ohne ihn zu markieren.
Strg+Pfeil-Oben Fokus auf vorhergehenden Eintrag verschieben ohne ihn zu markieren.
Umschalt+Pfeil-Unten Markierung um nächsten Eintrag erweitern
Umschalt+Pfeil-Oben Markierung um vorhergehenden Eintrag erweitern
Umschalt+Pos1 Markierung bis zum ersten Eintrag erweitern.
Umschalt+Ende Markierung bis zum letzten Eintrag erweitern.
Strg+Mausklick Aktuellen Eintrag markieren bzw. Markierung aufheben.
Umschalt+Mausklick Alle Einträge ab dem aktuellen Eintrag bis zu dem angeklickten Eintrag markieren.

 

Hotkeys in Baumanzeigen
(siehe auch Hotkeys in Listen und Listen mit Mehrfachauswahl)

Entf Löscht die aktuelle Zeile sofern direktes Löschen erlaubt ist.
Pfeil-Rechts Ist ein Knoten nicht geöffnet wird der Knoten aufgeklappt.
Ist der Knoten geöffnet wird der nächste Eintrag ausgewählt.
Pfeil-Links Ist der aktuelle Knoten geschlossen, wird der Elterndatensatz selektiert.
Ist der aktuelle Knoten geöffnet wird der aktuelle Knoten geschlossen.
Multiplikationstaste (Numpad) Der aktuelle Knoten inkl. aller Unterknoten wird komplett aufgeklappt.
Plustaste (Numpad) Der aktuelle Knoten wird aufgeklappt. Unterknoten werden nicht geöffnet.
Minustaste (Numpad) Der aktuelle Knoten wird geschlossen. Der Status der Unterknoten ändert sich nicht.
Strg+Multiplikationstaste (Numpad) Öffnet alle Knoten des gesamten Baumes inkl. aller Unterknoten.
Strg+Minustaste (Numpad) Schließt alle Knoten des gesamten Baumes inkl. aller Unterknoten
Leertaste Markiert die aktuelle Zeile
Strg+Leertaste Hebt die Markierung der aktuellen Zeile auf

 

Hotkeys für Kombinationsboxen/Kombinationsfelder
Tipp: Für fast alle Hotkeys muss die Kombinationsbox nicht geöffnet werden. D.h. die Auswahl von Einträgen kann auch direkt bei geschlossener Kombinationsbox über die Pfeiltasten oder eine Buchstabenkmbination erfolgen.

Alt+Pfeil-Unten Kombinatiopnsbox aufklappen
Pfeil-Unten Markiere nächsten Eintrag.
Pfeil-Oben Markiere vorhergehenden Eintrag.
Buchstabe oder Ziffer Selektiert den ersten Eintrag mit dem entsprechenden Buchstaben oder Ziffer in der Liste.
Tipp: Dazu muss die Kombinationsbox nicht geöffnet werden.

 

 Hotkeys in der Datumsauswahl

Escape Beenndet die Datumsauswahl. 
Pfeil-Rechts Nächster Tag.
Pfeil-Links Vorhergehender Tag.
Pfeil-Unten Nächste Woche.
Pfeil-Oben Vorhergehende Woche.
Bild-Unten Nächster Monat
Bild-Oben Vorhergehender Monat.
Strg+Bild-Unten Nächstes Jahr.
Strg+Bild-Oben Vorhergehendes Jahr.

 

Interaktion mit anderen Programmen / Windows

Windows-Taste Öffnet das Startmenü
Alt+Tab Wechselt zwischen Programmen.
Alt-Tab festhalten - öffnet die Auswahl der aktuellen Programme
Alt-Tab und loslassen - wechselt zum zuvor aktiven Programm
Alt-Tab kann mehrfach hinmtereinander gedrückt werden, bevor die Alt-Taste losgelassen wird.
Strg+Bild-Oben Vorhergehendes Jahr.

 

2023-03-13 12:05
Martin Richter

Release Notes

Zur Kategorie

Funktionsweise des Papierkorb in AG-VIP SQL (ab Version 2.02.001)

Die Papierkorbfunktion in AG-VIP SQL

Der Papierkorb in AG-VIP SQL ist eine spezielle Datenbank Funktion, die das Löschen von Adressen und Tickets überwacht.
Das Löschen von untergeordneten Datensätzen, wie Zusatztabellen, Kennzeichenlisten und einzelne Eingabefelder werden nicht überwacht.
Die Datensätze werden im Moment der Löschung gesichert und können exakt so wiederhergestellt werden.
Gelöschte Datensätze werden nicht durch AG-VIP SQL bearbeitet. Tickets werden nicht automatisch verschoben. Die Datensätze erscheinen in keiner Auswertung oder Reports.
Wird eine Adresse gelöscht, sind damit auch alle untergeordneten Tickets mit gelöscht. Wird nur ein Ticket gelöscht, bleibt wie bei einem normalen Löschvorgang die Adresse erhalten.

Ein- und Ausschalten des Papierkorbes

Der Papierkorb wird als Funktion über die Globalen Einstellungen ein- bzw. ausgeschaltet.
Ist der Papierkorb ausgeschaltet (Vorhaltezeit = 0 Tage), werden Datensätze sofort und augenblicklich gelöscht. Datensätze, die so gelöscht wurden, können nicht wiederhergestellt werden.
Nach dem Ausschalten des Papierkorbs kann es noch eine Zeit dauern bis alle Datensätze endgültig gelöscht wurden.
Wird eine Vorhaltezeit >=1 Tage eingestellt, so verbleiben die Datensätze für mindestens diesen eingestellten Zeitraum erhalten und können in dem Zustand, in dem Sie bei Löschung vorlagen, wiederhergestellt werden.

Leeren des Papierkorbes

Das Leeren des Papierkorbs geschieht automatisch im Hintergrund in festgesetzten Intervallen. Alle Adressen und Tickets, die länger als die Anzahl der eingestellten Tage im Papierkorb liegen, werden endgültig gelöscht.

Wiederherstellen von Datensätzen

Die Wiederherstellung von Datensätzen finden Sie im Anwenderhandbuch beschrieben.

  1. Öffnen Sie die entsprechende Tabelle im freien Arbeiten.
  2. Wählen Sie die Funktion Papierkorb öffnen.
  3. Nun können Sie auswählen, welchen Papierkorb Sie öffnen wollen (Adressen oder Tickets) und angeben von wem oder in welchem Zeitraum die Daten gelöscht wurden.
  4. Nun ist auch eine Wiederherstellung möglich. 

Datenbank Implementierung
In der Tabelle für Adressen und Tickets existiert ein zusätzliches, nicht sichtbares Feld mit dem Namen IdUserDelete. Ist ein Datensatz aktiv (nicht gelöscht), enthält dieses Feld immer den Wert NULL. Beim Löschen über den Papierkorb wird hier der Benutzer eingetragen, der den Löschvorgang ausgelöst hat.

Alle Abfragen, Reports, Auswertungen und Makros berücksichtigen gelöschte Datensätze. Das heißt diese Datensätze sind zwar in der Tabelle, werden aber nie berücksichtigt.

Um die Behandlung von gelöschten Datensätzen zu erleichtern, wurden Views für alle betroffenen Tabellen eingebaut. Diese Views heißen identisch zu den Datentabellen, nur beginnen Sie nicht mit dem Kürzel tbl, sondern view. Eine Auswertung über diese Views zeigt immer nur aktive Datensätze, die nicht gelöscht wurden.

Eigene SQL Statements

Problematisch sind eigene SQL Statements oder Abfragen, die direkt auf die Tabellen von AG-VIP SQL zugreifen.
Ist die Papierkorb Funktion nicht eingeschaltet, werden alle Datensätze sofort gelöscht und es müssen keine Vorkehrungen getroffen werden.

AG-VIP SQL berücksichtigt bei Makro-Abfragen (Query-Methode) und auch in den Reports bei benutzerdefinierten Abfragen immer auch die gelöschten Datensätze. Hier wird automatisch ein entsprechendes Statement, so umformatiert, dass die eingebauten Views zur Anwendung kommen, die immer Datensätze im Papierkorb berücksichtigen (d.h. diese Datensätze ignorieren).

Bei eingeschalteter Papierkorbfunktion verbleiben gelöschte Datensätze in der gleichen Tabelle. Sie werden nur mit dem Kennzeichen "gelöscht" versehen. Das geschieht durch setzen eines Wertes in das Feld IdUserDelete.

Alle eigenen Abfragen bzw. Statements sollten so gebaut sein, dass die vorgebenenen Views nutzen, damit auch in Tests im SQL Management Studio gleiche Ergebnisse erzielt werden. AG-VIP SQL würde gelöschte Einträge berücksichtigen, aber nicht die Ausführung das Management Studio.  Sie können gelöschte Datensätze ausschließen, indem man die Bedingung [IdUserDelete] IS NULL ergänzt oder die entsprechenden Views benutzt.
Dies ist insbesondere wichtig wenn auch die SQL Integration Services oder SQL Reporting genutzt werden.

2021-09-29 10:27
Martin Richter

Telefonie (TAPI/VoIP)

Zur Kategorie

Kanonische Telefonnummern

Beschreibung:

Grundsätzlich muss man unterscheiden zwischen der Telefonnummer, die ein Anwender in AG-VIP anlegt und der Nummer, die physikalisch auf einer Leitung gewählt wird.
Im Allgemeinen findet immer eine Aufbereitung der Telefonnummer statt. Dies wird unter Andrem notwendig, da eine Telefonnummer selbst noch keine Amtsholung, oder auch keine nationalen- oder regionalen Sonderheiten berücksichtigt.

AG-VIP benutzt intern für die Anwahl das kanonische Telefonnummernformat.
D.h. alle Telefonnummern werden, sofern sie nicht bereits im kanonischen Format vorliegen in ein kanonisches Telefonnummern Format gebracht. Aus dieser kanonischen Telefonnummer wird dann die physikalisch zu wählende Nummer erzeugt.

Es ist dringend anzuraten Telefonnummern kanonisch zu hinterlegen, denn nur diese Schreibweise garantiert, dass eine Adresse unabhängig vom Standort korrekt angewählt wird. Der kanonischen Schreibweise ist es vor allem auch möglich Standorte in unterschiedlichen Ländern zu unterstützen. Ohne diese einheitliche Schreibweise kann keine standortunabhängige Vorwahl garantiert und unterstützt werden.

Der Aufbau einer kanonischen Telefonnummer ist wie folgt:
+ Ländervorwahl Leerzeichen [(Ortsvorwahl) Leerzeichen] Rufnummer
z.B: +49 (6181) 9701-0

Kanonische Telefonnummern beginnen immer mit einem Pluszeichen. AG-VIP SQL verändert kanonische Telefonnummern nicht weiter, sonder übergibt diese direkt an die TAPI, die daraus die physikalisch zu wählende Telefonnummer aufbaut.

Auf das Pluszeichen folgt der Ländercode. (z.B. 49 für Deutschland) gefolgt von einem Leerzeichen. Der Ländercode wird immer angegeben, auch wenn die Telefonnummer selbst dasselbe Zielland hat.

Auf den Ländercode getrennt mit einem Leerzeichen folgt die regionale Vorwahl, die in Klammern gesetzt wird. Eine regionale Vorwahl ist optional bei kanonischen Telefonnummern. Die regionale Vorwahl hat im Allgemeinen keine führende 0. Sollte dennoch eine führende 0 angegeben werden, so wird diese ignoriert.

Auf die Vorwahl folgt, wieder durch ein Leerzeichen getrennt die Durchwahl. Der Aufbau der Durchwahl (weitere Trennzeichen wie Komma, Bindestrich, Schrägstrich) spielt keine Rolle.

Für die Umwandlung der kanonischen Telefonnummern werden die Standardort Einstellungen in der Systemsteuerung (unter START -> SYSTEMSTEUERUNG -> DRUCKER UND ANDERE HARDWARE -> TELEFON-UND MODEMOPTIONEN die WÄHLREGELN) herangezogen.
Hier wird der Standardort definiert von dem aus der Anruf erfolgt. Hinterlegt sind hier das eigene Land, die eigene Vorwahl und eine evtl. notwendige Ziffernfolge zur Amtsholung.

Für die in diesem Artikel aufgeführten Beispiele gilt, das aktuelle Land: Deutschland (Ländercode 49), Vorwahl für Hanau (06181), Amtsholung für eine TK_Anlage (0).
Innerhalb von AG-VIP SQL ist es zusätzlich möglich eine Projektvorwahl zu definieren, die der kompletten Nummer voran gestellt wird.

Die zu wählende Nummer enthält zuerst die Projektvorwahl, anschließend wird die Amtsholung angehängt. Der weitere Aufbau der Nummer hängt entscheidend von Übereinstimmung bzw. Unterschied von Länder- bzw. Vorwahlnummer ab.
Ist der Ländercode der zu wählenden Nummer identisch zum Ländercode des Standortes wird keine weitere Ziffernfolge zur Wahl hinzugefügt. Ist der Ländercode unterschiedlich wird die notwendige Ziffernfolge angehängt die einen internationalen Ruf in das entsprechende Zielland auslöst.
Ist der Ländercode identisch wird als nächstes die zu wählende Vorwahl mit der Vorwahl des Standortes verglichen. Ist diese identisch wird nur noch die Durchwahl zur zu wählenden Nummer hinzugefügt. Unterscheidet sich Vorwahl oder Ländercode wird die entsprechende Vorwahlnummer und Durchwahl angehängt.

Beispiel Standort:
Projektvorwahl = 4711
Amtsholung = 0
Land: Deutschland = 49
Vorwahl = 6181

Zu wählen eine internationale Nummer in den USA: +1 (123) 4567890
Es wird gewählt: 4711 0 001 123 4567890
(die Leerzeichen dienen nur der besseren Darstellung, diese werden normalerweise nicht eingefügt).

Zu wählen ein nationaler Ruf nach München: +49 (89) 4567890
Es wird gewählt: 4711 0 089 4567890

Zu wählen ein nationaler Ruf ins gleiche Ortsnetz: +49 (6181) 4567890
Es wird gewählt: 4711 0 4567890

2011-08-17 15:39
Martin Richter

Wie funktioniert die Suche nach Telefon-Nr.?

Beschreibung des Verrfahrens ab der Version 1.43.004.669 (17.11.2015):

AG-VIP SQL speichert alle Telefonummern einer Adresse in einem eigenen aufbereiteten Format in einer extra Tabelle für jede Adresse.
Sind Felder mit Telefonnummern auch in einem Ticket vorhanden, existiert auch eine entsprechende Tabelle für das Projekt.

Über diese Tabelle erfolgt die Telefonummernsuche direkt über einen SQL Query. Das erlaubt eine extrem schnelle Suche. (Weitaus schneller als das alte Verfahren siehe unten).

Wird eine Adresse oder Ticket angelegt bzw. geändert, wird dieser Index sofort für diese Adresse oder dieses Ticket aktualisiert. D.h. die Telefonnummernsuche funktioniert sofort für eine Adresse, die im User Interface angelegt wird.

Beim Import von Datensätzen werden Adressen über das Makro-Interface angelegt, oder direkt in die SQL Tabelle importiert, dann wird dieser Index anhand des Änderungsdatums der Adressen aktualisiert. D.h. für alle Adressen, die seit der letzten Indexaktualsierung geändert oder angelegt wurden, werden die Telefonnummen im Index auch aktualisiert und nachgepflegt.

Die Aktualisierung im Batch erfolgt asynchron in einem Hintergrundprozess, der die geänderten Daten in diese spezielle Tabelle eingetragen. Ein Update dieser Tabelle erfolgt automatisch ca. alle 7 Minuten.

Achtung: Werden Adressen oder Telefonnumernfelder in der Datenbank extern über SQL Statements geändert oder gesetzt, dann muss auch dafür gesorgt werden, dass das Änderungsdatum der Adressen oder Tickets geändert wird. Andernfalls kann der Index nicht korrekt aktualisiert werden. Beim Erzeugen eines neuen Datensatzes wird das AngelegtDatum  im allgemeinen durch die Vorgaben automatisch gesetzt.


Beschreibung des Verfahrens vor der Version 1.43.004.669 (17.11.2015):

Damit Datensätze in der Datenbank, bei der Vielzahl an Telefonnummernfeldern und der unterschiedlichen Schreibweisen schnell gefunden werden bedient sich AG-VIP SQL eines internen Telefonnummernfilters.

Dieser Telefonnummernfilter untersucht bei einer Suche die Telefonnummer und ermittelt, die für diese Telefonnummer gültigen Land und PLZ Bereiche. Anschließend erfolgt die Suche nur noch für Adressen mit diesem Land bzw. dieser Postleitzahl.
Dadurch wird die Anzahl der zu durchsuchenden Adressen entscheidend eingeschränkt.

Mögliche Nebeneffekte:

Wird nun eine Telefonnummer mit einer Vorwahl abgespeichert zu der die entsprechende Postleitzahl nicht passt, dann ist es möglich, dass diese Adresse nicht gefunden wird.
Wird also die Telefonnummer +49 (6181) 9701-0 (Ortsnetz Hanau, PLZ 63452) unter einer Adresse mit der PLZ 45359 (Essen) abgespeichert, so kann der Datensatz durch die Telefonnummernsuche nicht gefunden werden. Die Telefonnummernsuche würde die Vorwahl 06181 immer dem PLZ Bereich 63* zuordnen und nur diese Adressen durchsuchen.

Gleiches gilt wenn z.B. die Telefonnummer +49 (6181) 9701-0 unter dem Land AUT (Österreich) abgespeichert wird. Die Suche würde nur deutsche Adressen einschließen.

Telefonnummern von Mobilfunkgeräten und 0700/0800 o.ä. Nummern werden grundsätzlich ohne PLZ-Einschränkung gesucht.

Man kann den Telefonnummernfilter ganz abschalten, in dem die Einträge unter dem Menüpunkt Extras -> Optionen leer gesetzt werden. Dies hat jedoch zur Folge, dass die Suche nach Telefonnummern gravierend mehr Zeit beansprucht.

Weiterhin ist anzumerken, dass der aktuelle Telefonnummernfilter nur eine Optimierung für Deutsche Telefonnummer hat. D.h. wird AG-VIP SQL nicht in Deutschland betrieben oder ist es an ein Telefonnetz angeschlossen, dass die Telefonnummern relativ zu einem anderen Staat ausgibt, dann können ebenfalls entsprechende Adressen nicht gefunden werden.

Die Schreibweise der Telefonnummern in AG-VIP SQL spielt im Allgemeinen keine Rolle. Die Telefonnummernsuche ist hier flexibel und erkennt alle gängigen Schreibweisen:

  • +49 (6181) 9701-0 (diese kanonische Schreibweise wird empfohlen)
  • 0049 6181 97010
  • 06181/97010
  • (06181) 9701-0
Nutzung von AG-VIP SQL außerhalb von Deutschland:

In diesem Fall ist das Abschalten des Telefonnummernfilters zwingend erforderlich.

Wenden Sie sich an unseren Support um zu erfragen ob für das entsprechende Land ein angepasster Telefonnummernfilter vorliegt.

Siehe auch:

Kanonische Telefonnummern

2017-12-06 09:34
Martin Richter

TAPI-Trace in AG-Tel erstellen

Zweck:

Die Telefoniesoftware AG-Tel / AG-Tel PRO baut auf der Standard-CTI-Schnittstelle TAPI von Microsoft auf. Der TAPI-Treiber wird von dem Hersteller der Wähleinrichtung zur Verfügung gestellt bzw. entwickelt. Welche Funktionen dieser Treiber implementiert hat, bleibt dem Hersteller überlassen.

Einige Fehler in AG-Tel lassen sich auf fehlerhafte TAPI-Treiber zurückführen. Um diese Probleme zu erkennen, kann in AG-Tel ein Protokoll der Kommunikation zwischen AG-Tel und dem eingesetzten TAPI-Treiber angefertigt werden. Fehlfunktionen des TAPI-Treibers lassen sich hieraus ablesen.

Vorgehensweise:
  1. Starten Sie AG-Tel.
  2. Öffnen Sie im Menü VERWALTUNG den Befehl EINSTELLUNGEN.
  3. Gehen Sie in den Reiter SONSTIGES.
  4. Bestätigen Sie die Warnung.
  5. Aktivieren Sie die Option ENABLE LOGGING, indem Sie vor die Zeile den Haken setzen.
  6. Verlassen Sie die Einstellungen über den OK-Schalter.
  7. Schließen Sie AG-Tel und starten Sie es erneut.
  8. Telefonieren Sie solange bis der Fehler auftritt. Dokumentieren Sie, wie Sie den Fehler ausgelöst haben und welche Informationen in AG-Tel angezeigt werden
  9. Beenden Sie AG-Tel
  10. Starten Sie einen Texteditor, z.B. Editor (NOTEPAD.EXE) und dem START-Menü von Windows unter ZUBEHÖR.
  11. Gehen Sie auf das Menü DATEI, Befehl ÖFFNEN.
  12. Geben Sie C:\WINDOWS\AGTEL.TRC (bis v2.51) bzw. %tmp%\AGTEL.TRC (ab v2.52) ein. Der TAPI-Trace wird nun geöffnet.

Senden Sie diese Datei per Email oder per Fax an Ihren Ansprechpartner für Support mit der genauen Fehlerbeschreibung, Ihrer Serien-Nummer von AG-Tel, der installierten Version und der Beschreibung des eingesetzten TAPI-Treibers inkl.Versionsstand.

2025-03-03 08:00
Martin Richter

Fehlerhafte Anwahl von Rufnummern in Italien (0039 / +39) obwohl die Rufnummer im kanonischen Format gespeichert wurde.

Wird eine Rufnummer wie +39 (6) 0608 in Italien angewählt, kommt keine Verbindung zustande.

Hintergrund ist, das nach der Ländervorwahl 0039 für die Ortsvorwahl eine 0 mitgewählt werden muss. Im obigen Beispiel als 0039-06-06808 wobei 06 die Ortsvorwahl für Rom ist. Dies ist aber für andere Länder meist nicht erforderlich.

Um einheitlich das Kanonische Telefonnummernformat nutzen zu können, können die für die Aufbereitung der Rufnummern verantwortlichen Windowseinstellungen verändert werden, damit diese 0 nicht entfernt wird.

Diese Einstellung kann über einen entsprechenden Registryeintrag vorgenomen werden. Sie finden den Eintrag unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\CountryList\39
In Windows10 ist der Registryeintrag hier zu finden:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country/region List\39

Hier ist für den Wert InternationalRule der Wert 00E0FG anstatt 00EFG einzutragen.

Dieser Eintrag sorgt dafür das die 0 in der Vorwahl erhalten bleibt. Dies ist jedoch für die Rufnummern in Italien keine finale Lösung, denn es gibt auch Nummernkreise, die nur ohne die 0 in der Vorwahl aus internationalen Telefonnetzen erreichbar sind. Bspw. Mobilfunktnummern und besondere Ortsnetznummern. Es macht daher mehr Sinn die Rufnummern in einem korrekten Format in AG-VIP SQL anzulegen bzw. zu importieren. Folgende Formate sind für eine korrekte Anwahl gut geeignet:

Formate die mit italienischen Nummern funktionieren:
Kanonisches Format:
+39 (0) 6123456
+39 (06) 123456
+39 (061) 23456
Etc. Die 0 muss in den Klammern aufgeführt sein, denn Sie gehört zur Ortsvorwahl. Bei Rufnummern, die keine 0 benötigen, muss diese weggelassen werden, wie dies auch bei anderen Ländern üblich ist.

Nicht kanonisches Format:
0039 0 6123456
00390 6123456

Im kanonischen Format haben Sie keine Probleme mit italienischen Nummern.
Alle anderen Formate werden durch die Telefonnummern Aufbereitung in AG-VIP SQL in ein kanonisches Format umgewandelt wobei die führende 0 entfernt wird (VAZ), außer die Nummer wurde wie in einem der beiden nicht kanonischen Formatbeispielen angegeben.

2012-12-18 12:00
Ulrich Sticker

Auflistung aller möglichen TAPI Fehlermeldungen

Nachfolgend eine Auflistung aller bekannten TAPI-Fehlermeldungen und der deutschen Fehlertexte, die auf einem aktuellen Windows System ausgegeben werden.

Die Aufzählung wurde auf einem Windows 7 Computer erzeugt.

0x80000001 LINEERR_ALLOCATED                Das Anschlussgerät wird bereits verwendet.
0x80000002 LINEERR_BADDEVICEID              Ungültige Kennung des Anschlussgeräts
0x80000003 LINEERR_BEARERMODEUNAVAIL        Der angeforderte Trägermodus steht nicht zur Verfügung.
0x80000005 LINEERR_CALLUNAVAIL              Es steht kein Anruf zur Verfügung.
0x80000006 LINEERR_COMPLETIONOVERRUN        Zu viele Funktionsaufrufe nicht bearbeitet
0x80000007 LINEERR_CONFERENCEFULL           Keine weiteren Teilnehmer für Konferenzgespräch möglich.
0x80000008 LINEERR_DIALBILLING              Das Zeichen '$' wird nicht als Wählparameter unterstützt.
0x80000009 LINEERR_DIALDIALTONE             Das Zeichen 'W' wird nicht als Wählparameter unterstützt.
0x8000000A LINEERR_DIALPROMPT               Das Zeichen '?' wird nicht als Wählparameter unterstützt.
0x8000000B LINEERR_DIALQUIET                Das Zeichen '@' wird nicht als Wählparameter unterstützt.
0x8000000C LINEERR_INCOMPATIBLEAPIVERSION   API-Version ist nicht kompatibel.
0x8000000D LINEERR_INCOMPATIBLEEXTVERSION   Erweiterung ist nicht kompatibel.
0x8000000E LINEERR_INIFILECORRUPT           Die Informationen zur TAPI-Konfiguration sind unbrauchbar.
0x8000000F LINEERR_INUSE                    Das Anschlussgerät wird bereits verwendet.
0x80000010 LINEERR_INVALADDRESS             Die Rufnummer ist ungültig oder nicht richtig formatiert.
0x80000011 LINEERR_INVALADDRESSID           Ungültige Adresskennung
0x80000012 LINEERR_INVALADDRESSMODE         Ungültiger Adressmodus
0x80000013 LINEERR_INVALADDRESSSTATE        Der Vorgang ist im aktuellen Adresszustand nicht zulässig.
0x80000014 LINEERR_INVALAPPHANDLE           Ungültiges Handle für TAPI-Anwendung
0x80000015 LINEERR_INVALAPPNAME             Ungültiger Anwendungsname
0x80000016 LINEERR_INVALBEARERMODE          Ungültig Trägermodus
0x80000017 LINEERR_INVALCALLCOMPLMODE       Ungültiger Anrufbeendigungsmodus
0x80000018 LINEERR_INVALCALLHANDLE          Ungültiges Anrufhandle
0x80000019 LINEERR_INVALCALLPARAMS          Ungültige LINECALLPARAMS-Struktur
0x8000001A LINEERR_INVALCALLPRIVILEGE       Ungültiges Anrufrecht
0x8000001B LINEERR_INVALCALLSELECT          Ungültiger Anrufauswahlparameter
0x8000001C LINEERR_INVALCALLSTATE           Der Vorgang ist im aktuellen Anrufstatus nicht zulässig.
0x8000001D LINEERR_INVALCALLSTATELIST       Ungültige Liste des Anrufstatus
0x8000001E LINEERR_INVALCARD                Ungültige Kennung der Callingcard
0x8000001F LINEERR_INVALCOMPLETIONID        Ungültige Kennung der Anrufbeendigung
0x80000020 LINEERR_INVALCONFCALLHANDLE      Ungültiges Handle für Konferenzgespräch
0x80000021 LINEERR_INVALCONSULTCALLHANDLE   Ungültiges Handle für Konsultationsgespräch
0x80000022 LINEERR_INVALCOUNTRYCODE         Ungültiger Ländercode
0x80000023 LINEERR_INVALDEVICECLASS         Ungültige Kennung für Geräteklasse
0x80000024 LINEERR_INVALDEVICEHANDLE        Ungültiges Gerätehandle
0x80000025 LINEERR_INVALDIALPARAMS          Ungültige Wählparameter
0x80000026 LINEERR_INVALDIGITLIST           Ungültige Liste erlaubter Ziffern
0x80000027 LINEERR_INVALDIGITMODE           Ungültiger Modus für erlaubte Ziffern
0x80000028 LINEERR_INVALDIGITS              Ungültige Ziffern
0x80000029 LINEERR_INVALEXTVERSION          Ungültige Erweiterungsversion
0x8000002A LINEERR_INVALGROUPID             Ungültige Kennung für Gruppengespräch
0x8000002B LINEERR_INVALLINEHANDLE          Ungültiges Leitungshandle
0x8000002C LINEERR_INVALLINESTATE           Der Vorgang ist im aktuellen Verbindungszustand nicht zulässig.
0x8000002D LINEERR_INVALLOCATION            Ungültige Standortkennung
0x8000002E LINEERR_INVALMEDIALIST           Ungültige Medienliste
0x8000002F LINEERR_INVALMEDIAMODE           Ungültig Medienmodus
0x80000030 LINEERR_INVALMESSAGEID           Ungültige Nachrichtenkennung
0x80000032 LINEERR_INVALPARAM               Ungültiger Parameter
0x80000033 LINEERR_INVALPARKID              Ungültige Wartekennung
0x80000034 LINEERR_INVALPARKMODE            Ungültiger Wartemodus
0x80000035 LINEERR_INVALPOINTER             Ungültiger Zeiger
0x80000036 LINEERR_INVALPRIVSELECT          Ungültige Auswahl für die Anrufrechte
0x80000037 LINEERR_INVALRATE                Ungültige Rate
0x80000038 LINEERR_INVALREQUESTMODE         Ungültiger Anforderungsmodus
0x80000039 LINEERR_INVALTERMINALID          Ungültige Terminalkennung
0x8000003A LINEERR_INVALTERMINALMODE        Ungültiger Terminalmodus
0x8000003B LINEERR_INVALTIMEOUT             Ungültiger Zeitlimitwert
0x8000003C LINEERR_INVALTONE                Ungültiger Ton
0x8000003D LINEERR_INVALTONELIST            Ungültig Tonliste
0x8000003E LINEERR_INVALTONEMODE            Ungültiger Tonmodus
0x8000003F LINEERR_INVALTRANSFERMODE        Ungültiger Übertragungsmodus
0x80000040 LINEERR_LINEMAPPERFAILED         Kein Gerät entspricht den angegebenen Anforderungen.
0x80000041 LINEERR_NOCONFERENCE             Dieser Anruf ist nicht Teil eines Konferenzgesprächs.
0x80000042 LINEERR_NODEVICE                 Das Gerät wurde entfernt, oder die Geräteklasse wurde nicht erkannt.
0x80000043 LINEERR_NODRIVER                 Der Dienstanbieter wurde entfernt.
0x80000044 LINEERR_NOMEM                    Es ist nicht genügend Speicher verfügbar, um den Vorgang abzuschließen.
0x80000045 LINEERR_NOREQUEST                Keine Telefonieanfragen vom Hilfsprogramm anstehend
0x80000046 LINEERR_NOTOWNER                 Die Anwendung besitzt keine Besitzerrechte für den Anruf.
0x80000047 LINEERR_NOTREGISTERED            Die Anwendung ist nicht für das Bearbeiten von Anforderungen registriert.
0x80000048 LINEERR_OPERATIONFAILED          Der Vorgang schlug aus unbekannten Gründen fehl.
0x80000049 LINEERR_OPERATIONUNAVAIL         Der Vorgang wird nicht durch den Dienstanbieter unterstützt.
0x8000004A LINEERR_RATEUNAVAIL              Die angeforderten Daten stehen nicht zur Verfügung.
0x8000004B LINEERR_RESOURCEUNAVAIL          Eine zur Erfüllung der Anforderung benötigte Ressource ist nicht verfügbar.
0x8000004C LINEERR_REQUESTOVERRUN           Die Warteschlange für Anforderungen ist bereits voll.
0x8000004D LINEERR_STRUCTURETOOSMALL        Die Anwendung konnte nicht genügend Speicher für die minimale Strukturgröße reservieren.
0x8000004E LINEERR_TARGETNOTFOUND           Die Gesprächsübergabe schlug fehl, da das angegebene Ziel nicht gefunden wurde.
0x8000004F LINEERR_TARGETSELF               Es existiert kein Ziel mit höherer Priorität für die Gesprächsübergabe.
0x80000050 LINEERR_UNINITIALIZED            Der Telefoniedienst wurde noch nicht initialisiert.
0x80000051 LINEERR_USERUSERINFOTOOBIG       Die Menge an Informationen zur Weiterleitung von Benutzer zu Benutzer überschreitet das erlaubte Maximum.
0x80000052 LINEERR_REINIT                   Der Vorgang kann nicht abgeschlossen werden, bevor nicht alle TAPI-Anwendungen "LineShutdown" aufrufen.
0x80000053 LINEERR_ADDRESSBLOCKED           Sie sind nicht berechtigt diese Nummer anzurufen.
0x80000054 LINEERR_BILLINGREJECTED          Die Callingcardnummer oder andere Rechnungsinformationen wurden nicht akzeptiert.
0x80000055 LINEERR_INVALFEATURE             Ungültiges gerätespezifisches Merkmal
0x80000056 LINEERR_NOMULTIPLEINSTANCE       Es sind nicht zwei Instanzen des gleichen Dienstanbieters erlaubt.
0x80000057 LINEERR_INVALAGENTID             Ungültige Agent-ID
0x80000058 LINEERR_INVALAGENTGROUP          Ungültige Agentgruppe
0x80000059 LINEERR_INVALPASSWORD            Ungültiges Agentkennwort
0x8000005A LINEERR_INVALAGENTSTATE          Ungültiger Agentzustand
0x8000005B LINEERR_INVALAGENTACTIVITY       Ungültige Agentaktivität
0x8000005C LINEERR_DIALVOICEDETECT          Das Zeichen ':' wird nicht als Wählparameter unterstützt.
0x8000005D LINEERR_USERCANCELLED            Der Vorgang wurde vom Benutzer abgebrochen.
0x8000005F LINEERR_INVALAGENTSESSIONSTATE   Ungültiger Sitzungsstatus des Agent
0x80000060 LINEERR_DISCONNECTED             Die Leitung wurde getrennt.
0x80000061 LINEERR_SERVICE_NOT_RUNNING      Es kann keine Verbindung mit dem Telefoniedienst hergestellt werden.

 

2013-07-26 08:52
Martin Richter

Konfiguration des Softphones "PhoneSuite CTI Pro"

Beschreibung:
Das "PhoneSuite CTI Pro" Softphone wird oft in Verbindung des CentreXX TAPI-Treibers von dem Hersteller "Deutsche Telefon Standard AG" (DTst.) verwendet.
Um das gewünschte Verhalten zu erhalten sind im Softphone, im TAPI-Treiber sowie im Support bei DTst. Konfigurationen erforderlich.

Konfiguration im Softphone:
In der SIP-Konfiguration muss der Schalter „Auto-Answer per INVITE-Header zulassen“ aktiviert werden.
Sonst müssen Outbound Gespräche auch am Softphone aufgegeben werden (zusätzlich am Softphone bestätigen).Auto-Answer-INVITE-Header aktivieren

 

Bei "Optionen" -> "Telefonie" müssen die Einstellungen "Wählen aus anderen Anwendungen" und "Eingehende Anrufe melden"  gesetzt werden:
CTI-Client TAPI-Connector

 

Konfiguration im CentreXX TAPI-Treiber:
In den TAPI-Treiber Einstellungen (DTst. TAPI for CentreXX) müssen die zwei Schalter
Freisprechmodus per INVITE SIP-Header-Info“ und „CTI-Answer via SIP-NOTIFY“ aktiviert sein.
Da sonst bei einem eingehenden Gespräch (Inbound) am Softphone das Gespräch angenommen werden muss
CTI-Answer aktivieren

 

Gesprächsergebnis "Besetzt":
Die Information, dass das Gesprächsergebnis „Besetzt“ ist wird korrekt jedoch wegen einer 10 sekündigen „Besetzt-Piepton“ Ansage verzögert zurückgegeben.
Dieses Verhalten kann jedoch über eine Anfrage an den DTst. Support behoben und dadurch ein optimales Ergebnis erreicht werden.

Gesprächsergebnis "Falsche Rufnummer":
Es wird eine Ansage wiedergegeben, ohne dass dabei eine CALLSTATE Rückmeldung erfolgt, welche von AG-VIP SQL verarbeitet werden kann.
Dies wird als „nicht verbunden“ verarbeitet sofern die eingestellte Anwahlzeit in AG-VIP SQL erreicht wird.
Dadurch wäre über den optionalen Schalter „Falsche Telefonnummer“ in AG-VIP SQL der Benutzer in der Lage das Ticket manuell einzustufen.
Dies muss jedoch innerhalb der eingestellten maximalen Anwahlzeit geschehen, da sonst AG-VIP SQL das Ticket automatisch als „nicht verbunden“ einstuft.
DTst. hat in Aussicht gestellt, dass wie beim Gesprächsergebnis "Besetzt" dies durch eine Anfrage an den Support umgestellt werden kann, so dass anstatt einer Ansage der erforderliche CALLSTATE (WRONGNUMBER) zurückgegeben wird.

Allgemeiner Hinweis:
Für die Nutzung der CTI-Funktion muss das PowerMenü (http://power.dtst.de/)
von der entsprechenden Person 1x täglich mit den Authorisierungsdaten verwendet werden,
um die IP mit den Kontodaten zu verbinden.
Sollte eine feste IP Adresse bzw. eine DNS Auflösung verwendet werden, ist dies nur einmal für die gesamte Installation erforderlich.

 

Weitere Hinweise:
Die "PhoneSuite TAPI for snom" kann in Verbindung mit Tischtelefonen der Typenreihe "snom" einfach eingerichtet werden.
Dazu müssen nur die „Aktions URLs“ von der "PhoneSuite" Konfiguration an das snom-Gerät  übertragen werden.
PhoneSuite TAPI for snom

Das snom verliert jedoch nach jedem Neustart (Reboot z.B. bei Stromausfall) die von der "PhoneSuite" übermittelten „Aktion URLs“,
welche die TAPI-Funktionalität ermöglichen.
Dies hat zur Folge, dass bei einem Neustart des snom Telefons immer die „Aktions URLs“ erneut an das snom übertragen werden müssen.
Bei unseren Tests wurde ein snom300 verwendet.
Neuere Modelle könnten diesen Nachteil evtl. nicht mehr besitzen (Anfrage an DTst.).

2015-06-02 08:49
Peter Brandt

Wie kann ich den Mikrofon- und Audio Kanal beim Arbeiten über eine Remote Desktop Verbindung (RDP) genutzt werden?

Was bedeutet Remotedesktop?

Der Begriff Remotedesktop kommt aus dem Englischen und bedeutet übersetzt „Schreibtisch-Fernsteuerung“. Über eine Remotedesktop-Verbindung ist es möglich, den eigenen Computer (Client) mit einem anderen Computer (Server) zu verbinden. Sofern die technischen Voraussetzungen gegeben sind, kann der Nutzer praktisch von überall aus eine Remotedesktop-Sitzung herstellen. Bildlich können Sie es sich so vorstellen: Von Ihrem heimischen Computer aus können Sie auf alle Programme, Dateien und Netzwerkressourcen Ihres Bürocomputers zugreifen. So als würden Sie an Ihrem Arbeitsplatz sitzen.

Windows Remotedesktop am Client einrichten:

Microsoft bietet Remotedesktop-Anwendern ein hauseigenes Netzwerkprotokoll an: Das Remote Desktop Protocol (RDP). Es steuert sowohl den Terminalserver als auch den Terminalclient und regelt so die Übertragung der Bildschirminhalte sowie die Tastatur- und Mauseingaben über das Netzwerk.

Problem:

Wird nur eine Server anegegebn, mit dem man sich verbindet, dann werden die Standardeinstellungen  für eine RDP-Verbindung verwendet. Diese sehen eine Audio Wiedergabe, aber kein Aufzeichnen (Mikrofon) von Audio Signalen vor.

Das heißt Audio Signale (Sound) des Servers werden auf dem Client über den aktuellen primären Audiokanal ausgegeben.
Aber Mikrofone des Clients können am Server nicht für Audioaufzeichnungen benutzt werden. Damit ist eine Nutzung eines VoIP Clients auf dem Server dann nicht möglich, da dieser natürlich auch Audio/Sprache übermitteln muss und nicht nur wiedergeben soll.

Lösung:

1. Geben Sie im Windows Startmenü RDP ein. Für Android- oder iOS-Gerät: Öffnen Sie die Remotedesktop-App (kostenlos im Microsoft Store, in Google Play und Mac App Store verfügbar)
Die Remotedesktop Verbindung wird angezeigt.
Hier wählen Sie den Server aus, mit dem Sie sich verbinden möchten.

Sollten Sie keine Details sehen, klicken Sie auf den Schalter Optionen einblenden

2. Wechseln Sie in den Reiter Lokale Ressourcen.

3. Klicken Sie unter Remoteaudio auf den Schalter Einstellungen

Hier geben Sie das Mikrofon und den Audiokanal zur Übertragung frei. So können Sie die CRM Software AG-VIP auf einem Terminalserver betreiben und das integrierte VoIP Softphone nutzen und trotzdem am Remotearbeitsplatz darüber telefonieren.

4. Wählen Sie im Reiter Allgemein den Schalter Speichern unter, um diese Einstellung dauerhaft zu speichern.

Wenn die Einstellungen nicht gespeichert werden, dann müssen diese für eine neue Sitzung erneut ausgewählt werden.
Beachten Sie bitte auch, dass für die Aufzeichnung und WIedergabe immer nur der primäre ausgewählte Audionakanal am Client benutzt wird. Sollten Sie mehrere Mikrofone oder Lautsprecherausgänge haben (Headset, Lautsprecher, Digital-Audio), dann müssen die primären Kanäle über die Audio Systemsteuerung korrekt eingestellt werden.

Weitere hilfreiche Artikel zur Einrichtung von Remotedesktop:

2019-09-24 08:24
Markus Grutzeck

Entfernen aller durch den Benutzer installierten TSPs

Hintergrund:

Seit Windows 10 kommt es nach Updates immer wieder vor, das die TSPs (Telephony Service Provider) in der TAPI nicht mehr funktionieren.
Das Problem nach einem Update ist weiterhin, dass sich die TSPs dann auch oft nicht entfernen lassen.

Lösung:

Das Hilfsmittel RemoveAllTSPs.exe kann hier Abhilfe schaffen.
Das Tool entfernt alle TSPs aus der Registry, die nicht von Microsoft stammen.

Hintergrund:

In der TAPI sind 3 TSPs durch Microsoft vorinstalliert:

  • unimdm.tsp (Unimodem Service Provider)
  • kmddsp.tsp (TAPI Kernel-Mode Service Provider)
  • hidphone.tsp (Microsoft HID Phone TSP)

Üblicherweise sind dies die ersten drei installierten TSPs, die auch immer geladen werden.

Das Tool geht nun die Liste der TSPs in der Registry durch, und sucht solange in aufsteigender Installationsfolge bis ein TSP gefunden wird, der nicht von Microsoft stammt.

Alle folgenden TSPs werden nun aus der Registry entfernt.
Dadurch werden die TSPS nicht deinstalliert aber sie werden nicht mehr aktiv, d.h. bei Start des TAPI-Dienstes werden diese nun nicht mehr geladen.

Wird dieses Tool ausgeführt, wird ein Neustart des Rechners fällig, wenn der TAPI-Dienst gestartet wird. Zumindest ein Neustart des Dienstes ist nötig.
Zur Sicherheit wird automatisch ein Reboot nach Ausführung des Tools angeboten.

Das Tool kann nur ausgeführt werden, wenn es mit administrativen Rechten gestartet wird.

Die TSPs werden hierbei nur aus der Liste der aktiven TSPs entfernt! DIe TSPs können jederzeit wieder über die Telefon- und Modem Einstellungen zu den aktiven TSPs hinzugefügt werden. Eine Neuinstallation der TSPS ist nicht nötig. Nach der Installation eines TSPs liegen diese im Windows\Systerm32 Verzeichnis mit der Endung .TSP als Dateien vor. Diese können jederzeit zu den aktiven TSPs hinzugefügt werden oder auch wieder aus der Liste der aktiven TSPs entfernt werden. Dies ist keine Installation!

Das Tool hat weiterhin folgende Befehlszeilen Parameter:

  • /s Silent -Modus. Keine Fragen. Keine Meldungen
  • /r Ein Reboot wird sofort automatisch ausgeführt, wenn dieser notwendig ist.
Wird das Tool ohne Parameter aufgerufen, dann wird der Nutzer gefragt ob er die TSPs entfernen möchte. Nach Entfernen von TSPs wird dann gefragt ob das System neu gestartet werden soll.

2023-02-14 11:15
Martin Richter

Wie verhindert mann, dass AG-VIP SQL beim Programmstart nach einem TAPI Treiber fragt?

Hintergrund:

Beim Programmstart fragt AG-VIP SQL immer nach einem TAPI-Treiber. Aber aus technischen Gründen oder weil es sich um einen Server handelt kann dieser nicht ausgewählt werden.

Lösung:

1. Am einfachsten ist es den manuellen Tapi-Treiber zu installieren.
Hier wird einfach InstallTSP als Administrator ausgeführt und anschließend über die Telefon- und Modemeinstellungen in der Systemsteuerung der Manuelle TSP von Grutzeck Software GmbH hinzugefügt.

2. Wenn grundsätzlich kein TAPI Treiber vorhanden ist, wählt man einen anderen Telefonieprovider wie VoIP oder die manuelle Anwahl in den Basis Einstellungen von AG-VIP SQL

3. Man wählt über den Befehlszeilen Schalter -phoneprovider:n ein anderes Telefonie Profil in dem man wie bei 2. einen anderen Porvider wählt.

 

2019-12-20 07:52
Martin Richter

SIP/VOIP Telefonie - Gesprächspartner hört mich nicht - "one-way" Problem

Beschreibung:
Wenn Ihr Gesprächspartner Sie nicht hört, Sie jedoch Ihn schon, dann spricht man von einem "one-way" (Einbahnstraße) Problem.
Dieses Problem kann mehrere Ursachen haben, häufig jedoch liegt es an der Konfiguration der eingesetzten Antivirensoftware.

Mögliche Ursache beim Einsatz von Kaspersky Endpoint Secutiry:
Kaspersky Endpoint Security, genauer die Komponente «Programm-Überwachung»,
fügt die AGVIP.exe der Sicherheitsgruppe «Schwach eingeschränkt» hinzu.
Programme, welche sich in dieser Sicherheitsgruppe befinden haben eingeschränkte Rechte auf dem Computer, wie z.B. kein Zugriff auf Aufnahmegeräte (Mikrofon).
Zur Ermittlung einer Sicherheitsgruppe dienen die digitalen Signaturen und die Informationen,
die von den KSN-Teilnehmern (Kaspersky Security Network) zur Verfügung gestellt werden.
KSN ist eine cloudbasierte Wissensdatenbank mit Informationen zur Reputation von Dateien, Internet-Ressourcen und Programmen.

Lösung für Kaspersky Endpoint Security:
Umgangen werden kann das Problem damit, dass die AGVIP.exe manuell der Sicherheitsgruppe «Vertrauenswürdig» hinzugefügt wird.
Dazu muss folgendermassen vorgegangen werden:

- Kaspersky Endpoint Security > Einstellungen > Erweiterter Schutz > Programm-Überwachung
- Schaltfläche «Programme»
- Registerkarte «Rechte für Programme»
- «Hinzufügen» respektive «Ändern» 
- AGVIP.exe in Gruppe «Vertrauenswürdig» hinzufügen respektive verschieben

2020-06-22 09:58
Peter Brandt

Einrichtung eines VoIP Zugangs von AG-VIP SQL für die easybell Cloud Telefonanlage

Zweck:

Um über eine easybell Cloud Telefonanlage direkt telefonieren zu können kann ein entsprechender VoIP SIP Zugang in AG-VIP SQL eingerichtet werden.
Damit erübrigt sich die Installation einer weiteren Software, die dann einen TAPI-Zugang auf Cloud Telefonanlage bereitstellt.

Vorgehensweise:

Zuerst müssen Sie die Zugangsdaten der Nebenstelle in der easybell Cloud Telefonanlage ermitteln, über die Sie telefonieren wollen.

Öffnen Sie dazu die Verwaltung Ihrer Cloud Telefonanlage über https://login.easybell.de/login 

1. Wählen Sie nun aus dem Menü Telefonfunktionen den Unterpunkt Cloud Telefonanlage:

2. Auf der Einstellungsseite für Ihre Nebenstellen und Endgeräte wählen Sie die Einstellungen für das Endgerät aus, für dass Sie den VoIP Zugang mit AG-VIP SQL einrichten wollen, klicken Sie auf das Zahnrad:


3. Rollen Sie in den Einstellungen für das Endgerät ganz nach unten auf der Seite.
Dort finden Sie alle Zugangsdaten: SIP-Registrar, SIP-Benutzername, SIP-Passwort!

Über die Kopieren Schalter lassen sich nun diese Einstellungen einfach nach AG-VIP übernehmen.,

4. Starten Sie nun AG-VIP und öffnen über die Einstellungen die Telefonoptionen und wählen dort den Abschnitt VoIP / SIP aus.
Tragen Sie nun in den Feldern Domain und Outbound Proxy den Wert aus SIP-Registrar ein.
In den Feldern User und Auth Id tragen Sie den SIP-Benutzernamen ein.
Im Feld Password tragen Sie das SIP-Password ein.

5. Soll eine verschlüsselte Verbindung über TLS hergestellt werden sind folgende Einstellungen notwendig:

Zusätzlich müssen Sie in diesem Fall in der Datei AGVIPTelPro-VoIPSIP.ini im Programmverzeichnis im Abschnitt [VoIPSIPSettings] den folgenden Eintrag hinzufügen:

[VoIPSIPSettings]
TlsForceSipScheme=1

Öffnen Sie dazu den Editor und suchen die passende Datei im Programmverzeichnis von AG-VIP SQL. Ist die Datei noch nicht vorhanden dann legen Sie eine neue Datei mit dem Namen AGVIPTelPro-VoIPSIP.ini an und speichern Sie mit dem oben genannten Inhalt ab.

5. Als letztes sollten Sie die Anwahleinstellungen kontrollieren. Es sollte die aktuelle Ortnetzkennzahl eingetragen sein. Die Felder für die Amtsholung sollten leer sein. 

Damit sind alle Einstellungen vollzogen und Sie können nun telefonieren.

Weitere Hinweise zu den Einstellungen der easybell Cloud Telefonanlage finden Sie hier in diesem Link:
https://www.easybell.de/hilfe/telefon-konfiguration/allgemein/voip-experteneinstellungen/ 

2022-12-20 14:02
Martin Richter

SQL

Zur Kategorie

Tools zur Administration der MSDE

Problem:

Die MSDE ist zwar kostenlos aber ohne grafische Administrationsoberfläche. Das macht das Einrichten von Datensicherungsjobs u.ä. über Scripte sehr zeitaufwändig.

Lösung:

Drittanbieter haben den MS-SQL-Server Enterprise-Manager "nachgebaut" und bieten hier z.T. kostenlos Administrationssoftware an. Die Liste wird jedoch immer kürzer seit Erscheinen von MS-SQL 2005 Express.

Anmerkung:

Mit dem erscheinen von der MS-SQL 2005 Express Edition sind solche Frontends nicht mehr notwendig, denn für die Express Edition steht die Management Console von Microsoft kostenlos zur Verfügung.

2011-08-17 16:03
Martin Richter

Anzeige der verwendeten Datenbank in AG-VIP SQL

Beschreibung:

In AG-VIP SQL ist es möglich über einen internen versteckten Schalter, die jeweils verwendete Datenbank und den genutzten Datenbank-Server in der Kopfzeile des Programmes anzuzeigen.

Zusätzlich wird mit dieser Option auch der angemeldete Anwender in der Kopfzeile des Programmes mit angezeigt.

Vorgehensweise 1: 

Dazu ist der folgende Eintrag in der Registry zu erzeugen:

  1. Starten von REGEDIT.EXE 
  2. Auswahl des Pfades HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL 
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORD-Wert auf ShowConnection umbenennen
  5. Den neuen Wert auf 1 setzen.

Wird der Wert auf 0 zurück gesetzt oder der Eintrag aus der Registry gelöscht, so erfolgt keine spezielle Anzeige mehr in der Kopfzeile.

Vorgehensweise 2: 

Die gleiche Funktion kann erreicht werden indem auf der Befehlszeile der Schalter -showdbname mit angegeben wird.

  1. Klicken Sie dazu mit der rechten Maustaste auf das Symbol mit dem Sie AG-VIP SQL starten.
  2. Wählen Sie Eigenschaften
  3. Hinter dem Zeil ergänzen Sie ein Leerzeichen und den Text -showdbname
Vorgehensweise 3:

Ergänzen Sie in der Datei AGVIP.INI den im Abschnitt [Database] den Eintrag ShowConnection.

  1. Öffnen Sie mit dem Editor (Zubehör), die Datei AGVIP.INI aus dem Programmverzeichnis
  2. Suchen Sie den Abschnitt [Database], ist dieser nicht vorhanden ergänzen Sie diesen Eintrag am Ende der Datei.
  3. Fügen Sie nun unter dem Abschnitt [Database] die Zeile
    ShowConnection=1
    ein.

2011-08-17 16:02
Martin Richter

Häufige Fehler beim Aufbau der Verbindung zum SQL-Server

Beschreibung:

Die Installation von AG-VIP SQL und ggf. der MSDE bzw. MS SQL Server 2005 erfolgen i.d.R. problemlos. Schwierigkeiten treten beim Aufbau der Verbindungsdatei AGVIP.AGDB über den AGVIPDBWizzard.exe auf.

1. Auf Server kann AG-VIP SQL gestartet werden, auf Client nicht

Problem:

Die Verbindungsdatei wurde direkt am Server erzeugt. Dort ist der Name des SQL-Servers (local). Damit klappt das Starten von AG-VIP SQL am Server problemlos. Beim Starten von AG-VIP SQL am Client erscheint aber die Fehlermeldung, dass der SQL-Server nicht gefunden wurde.

Lösung:
  1. Starten Sie den AGVIPDBWizzard.EXE vom Client aus und geben den Computernamen des SQL-Servers an.
  2. Öffnen Sie die AGVIP.AGDB im zentralen AG-VIP SQL-Programmverzeichnis und ändern Sie den Eintrag (local) über einen Texteditor in die IP-Adresse oder besser den Computernamen des SQL-Servers um.

2. AGVIPDBWizzard schlägt fehl, wenn mit festem SQL-User gearbeitet wird

Problem:

Sie wollen über einen neuen fest definierten SQL-User den Zugriff von AG-VIP SQL auf die SQL-Datenbank ermöglichen. Aber Sie erhalten die Fehlermeldung:

Keiner vertrauten SQL-Server Verbindung zugeordnet!

Lösung:

Bei der Standardinstallation von Microsoft SQL Server wird nur die Windows-Authentifizierung erlaubt. Damit bekommt aber jeder User über Excel oder Access Zugriff auf alle Daten von AG-VIP SQL (ODBC-Zugriff etc.) und kann Daten lesen und manipulieren.

Deswegen macht es Sinn über einen in der AGVIP.AGDB verschlüsselt abgelegten User den Zugriff auf die SQL-Datenbank für AG-VIP SQL zu ermöglichen. Dazu müssen Sie im Microsoft SQL-Server neben der Windows- auch die SQL-Authentifizierung ermöglichen.

  1. Dazu starten Sie den MS-SQL Enterprise Manager und klicken mit dem rechten Mausklick auf den relvanten SQL-Server, z.B. (local) und wählen aus dem Kontextmenü den Befehl Eigenschaften.
  2. Wechseln Sie in den Reiter Sicherheit und wählen dort die Option Authentifizierung: SQL und WINDOWS

3. Fehler: ?SQL-Server existiert nicht oder Zugriff verweigert"

Problem:

Sie haben einen SQL-Server angegeben, der nicht existiert, dessen Service nicht läuft oder auf den Sie kein Zugriffsrecht haben.

Lösung:
  1. Geben Sie statt des Namens die IP-Adresse des Computers an, auf dem der SQL-Server läuft.
  2.  Stellen Sie sicher, dass der SQL-Service am Server läuft.
  3. Wenn Sie eine Instanz verwenden z.B. "SERVER01\SQLEXPRESS" dann muss der "SQL Server Browser" gestartet sein.

2011-08-17 16:01
Martin Richter

Längenbeschränkung für Benutzername und Kennwort in Verbindungsdatei AGVIP.AGDB

Beschreibung:

In der Verbindungsdatei von AG-VIP SQL wird bei Verwendung der SQL Authentifizierung der Benutzername und das Kennwort gespeichert.

Das Kennwort darf allerdings nur eine maximale Länge von 32 Zeichen haben.
Der Benutzername ist auf 40 Stellen begrenzt.

Da lange Kennworte oft per Copy&Paste in die Anmeldebildschirme übertragen werden fällt es manchmal nicht auf wenn längere Kennworte abgeschnitten werden, da das Kennwort in diesem Fenster verdeckt angezeigt werden und die Begrenzung nicht auffällt.

Diese Beschränkungen sind by Design. 

2015-08-18 08:34
Martin Richter

MS-SQL Server Authentifizierung umstellen

Beschreibung:

Die MSDE und der MS-SQL Server unterstützen zwei Authentifizierungs Modis.

  1. Nur Windows Authentifizierung
  2. Windows Authentifizierung und SQL-Server Authentifizierung

In den meisten Fällen ist nach der Installation einer MSDE oder eines MS-SQL Server nur die Windows Authentifizierung aktiv.

Was bedeutet es wenn nur Windows Authentifizierung eingestellt ist?

Das bedeutet, dass auch beim Anlegen der Datenbanken Rechte für die existierenden Benutzerkonten eingerichtet werden müssen. Zudem muss der Anwender der die Datenbanken anlegt Administrative Rechte im SQL Server (MSDE) haben. Ist dies nicht der Fall kann auch mit der Kenntnis eines "sa" Kennwortes keine Datenbank angelegt werden und keine Verbindung.
Im Allgemeinen bedeutet es auch, das nach dem Anlegen der Datenbank, die entsprechende Windows Benutzergruppe den Zugriff auf die SQL Datenbank zugeteilt bekommen muss. Dies ist bei der MSDE mangels Userinterface nicht ohne weiteres möglich.

Was ist der Vorteil der SQL Authentifizierung?

Es gibt einen entsprechenden Usernamen und ein Kennwort das den Zugriff regelt. Dieses Beiden Informationen werden in der Verbindungsdatei (.agdb) von AG-VIP SQL verschlüsselt hinterlegt. Nur AG-VIP SQL und jeder der das Kennwort kennt ist somit in der Lage eine Verbindung zu der Datenbank aufzubauen.
Wird ein Zugriff über die Windows Authentifizierung gestattet, dann kann jeder Anwender mit jedem Programm (also auch Access) auf die AG-VIP SQL Datenbank zugreifen und alle Daten auslesen und manipulieren. Ein Zugriff über die SQL-Server Authentifizierung erlaubt eine Datenbank wirklich abzuschotten und nur dem Programm (und nicht dem Anwender) den Zugriff zu gestatten.

Wie stellt man die Authentifizierung um?
  1. MS-SQL Server 2000
    Beim MS-SQL Server öffnet man den Enterprise Manager. Klickt mit der rechten Maustaste, den entsprechenden Server an und wählt Eigenschaften. In den Eigenschaften wählt man den Karteireiter Sicherheit aus. Dort kann man nun die gewünschte Einstellung "Windows und SQL-Server" vornehmen.
  2. MSDE
    Bei der MSDE kann man den folgenden Registry Schlüssel verändern (funktioniert auch beim MS-SQL Server):
    HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
    Wert 1 = Nur Windows Authentifizierung
    Wert 2 = Windows Authentifizierung und SQL-Server Authentifizierung
  3. MS-SQL Server 2005 (Express Edition)
    Beim MS-SQL Server 2005 öffnet man das Management Studio. Klickt mit der rechten Maustaste, den entsprechenden Server an und wählt Eigenschaften. In den Eigenschaften wählt man den Karteireiter Sicherheit aus. Dort kann man nun die gewünschte Einstellung "Windows und SQL-Server" vornehmen.

In allen Fällen muss der Server oder zumindest alle MS-SQL/MSDE Services neu gestartet werden.

In der normalen Installation der MSDE ist die "nur Windows Authentifizierung" eingestellt. Die Installation der MSDE von unserer Demo bzw. Lizenz-CD erlaubt "Windows Authentifizierung und SQL-Server Authentifizierung".
Dies hat zur Folge das bei den meisten bereits bestehenden MSDE Installationen die Authentifizierung umgestellt werden muss.
Achtung in diesem Fall ist oft das sa Kennwort unbekannt oder es ist dringend empfohlen das sa Kennwort zu ändern.

Siehe auch:

Ändern des sa Kennwortes in der MSDE

2011-08-17 15:59
Martin Richter

Voller Datenbank Export bei sehr komplexen Adresstabellen führt zu Fehlermeldung

Beschreibung:

Wird eine sehr komplexe Adresstabelle angelegt und versucht von dieser ein kompletter Export über Access zu machen, so kann es zu der folgenden Fehlermeldung kommen:

Create table failed!
Microsoft JET Database Engine: Zu viele Felder definiert. [3190] =-68092944

Ursache: 

By Design erlaubt Access je Tabelle nur 255 Felder. MS-SQL erlaubt je Tabelle 1024 Felder.
Somit können komplexe Tabellen aus AG-VIP SQL nicht nach Access exportiert werden.

Anmerkung: Auch wenn MS-SQL 1024 Felder unterstützt so wird nur eine maximale Datensatzlänge von 8036 Zeichen zugelassen.

 

2011-08-17 15:58
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert<br />

Beschreibung: 

Es wurde eine Installation mit Microsoft-SQL 2008 /2012/2014/1016/2017 (auch Express Edition) durchgeführt.
Auf dem Server wurde eine Verbindungsdatei erfolgreich mit dem Microsoft-SQL Server 2008/2012 SQL Server Native Client (SNAC) bzw. Microsoft OLE DB Provider for SQL  Server  erzeugt.

Wird AG-VIP SQL nach der Installation mit SetupAGVipClient.exe nun auf einem der Client Rechner gestartet, dann erhält man die folgende Fehlermeldung:

AG-VIP SQL
Verbinden zur Datenbank ist fehlgeschlagen!
Es ist ein größeres Problem beim Aufbauen der Verbindung zur Datenbank aufgetreten. Der gemeldete Fehler lautet:
Database open
Microsoft OLE DB Service Components: Klasse nicht registriert

Ursache:

AG-VIP SQL greift auf die MS-SQL Datenbanken mit einem OLE-DB Provider zu. AG-VIP SQL unterstützt  zwei verschiedene OLE-DB Provider.  Zum einen den Microsoft-SQL Server 2012 SQL Server Native Client (SNAC)  und zusätzlich den neuesten Provider Microsoft OLE DB Provider for SQL  Server.

Die entsprechenden OLE-DB Provider werden automatisch mit dem entsprechenden MS-SQL Server installiert und stehen dann auch auf dem Server zur Verfügung . Für den Zugriff von einem beliebigen Client müssen  die passenden OLE-DB Provider jedoch mit installiert werden.

Entsprechende MSI Pakete finden sich auf der Installations CD im Ordner Tools.

SQL 2008 Server:
Tools\sqlncli_2008_x64.msi  (64bit)
Tools\sqlncli_2008_x86.msi (32bit)

SQL 2012/2014/2017 Server:
Tools\sqlncli_2012_x64.msi (64bit)
Tools\sqlncli_2012_x86.msi (32bit)

Seit SQL 2019 Server wird ein neutraler MS-SQL OLEDB Provider als Standard verwendet:
Tools\msoledbsql_x64.msi  (64bit)
Tools\msoledbsql_x86.msi (32bit)

Oder stehen hier zum Download auf unserer Homepage zur Verfügung:

SQL 2008 Server:
http://download.grutzeck.de/sqlncli_2008_x64.msi (64bit)
http://download.grutzeck.de/sqlncli_2008_x86.msi (32bit)

SQL 2012/2014/2017 Server:
http://download.grutzeck.de/sqlncli_2012_x64.msi (64bit)
http://download.grutzeck.de/sqlncli_2012_x86.msi (32bit)

SQL 2019 Server (MS-SQL OLEDB Provider):
http://download.grutzeck.de/msoledbsql_x64.msi (64bit)
http://download.grutzeck.de/msoledbsql_x86.msi (32bit)

Anmerkung:

Nach Möglichkeit sollte immer der neueste passende OLE-DB Provider für den entsprechenden SQL Server verwendet werden.
Der neue Microsoft OLE DB Provider for SQL unterstützt alle uns bekannen Microsoft SQL Server 2008, 2012, 2014, 2016, und 2017 (inkl. aller Express Versionen).

Alle SQL OLE DB Provider sind nach unserer Erkenntnis rückwärtskompatibel, d.h. jeder neue OLE DB Provider funktioniert auch mit älteren SQL Server Versionen..

Auch sind uns sind keine Probleme bekannt, wenn ältetere SQL Native Client Provider mit neueren Servern verwendet werden.
In Einzelfällen wird jedoch von langsameren Verbindungsaufbau oder Verbindungsproblemen berichtet, was sich in unserem Testfeld nicht bestätigen lässt.

Man  kann davon ausgehen, das die Funktionalität der aktuell unterstützten drei Provider untereinander austauchbar und gleich ist. (Dies betrifft die Basisfunktionalitäten, nicht jedoch die individuellen Leistungsmerkmale, die zum Teil gravierend unterschiedlich sind).

Microsoft empfiehlt die Nutzung des neuen Microsoft OLE DB Provider for SQL .
Die Reihe der SQL Native Clients (SNAC)
wird nicht fortgesetzt.
Der neue Microsoft OLE DB Provider for SQL  ist explizit rückwärtskompatibel zum Microsoft SQL 2012 Native Client.  

Siehe auch:

Microsoft Artikel: OLE DB Driver for SQL Server

Welcher OLE-DB Provider wird aktuell verwendet?

2023-11-07 14:48
Martin Richter

Welcher OLE-DB Provider wird aktuell verwendet?

Frage:

Wenn eine Verbindungsdatei zu einer AG-VIP SQL Datenbank erzeugt wurde ist es im nachhinen gut zu wissen welcher OLE DB Provider hier verwendet wurde.

Wie kann man nun ermitteln welcher OLE DB Provider aktuel verwendet wird?

Beschreibung:
  1. Öffnen Sie den Editor über Start -> Ausführen über Notepad und Eingabe-Taste. Oder man startet den Editor über Start -> Alle Programme -> Zubehör -> Editor
  2. Öffnen Sie nun mit dem Editor AGVIP.AGDB aus dem AG-VIP Programmverzeichnis. Dies erreichen Sie auch dadurch, dass Sie den Explorer starten (z.B. Windows-Taste+E) und nun Datei AGVIP.AGDB auf den Editor ziehen.

Findet sich in der Datei eine Zeile die wie folgt beginnt:

InitString=Provider=SQLOLEDB.1;  ...

dann der wird der MS-SQL Server 2000 OLE-DB Provider verwendet. (Dieser wird seit der Version 1.50.001 vom 16.02.2017 nicht mehr unterstützt)


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI.1; ...

dann wird der Microsoft-SQL Server 2005 SQL Server Native Client (SNAC) verwendet. (Dieser kann aktuell noch verwendet werden, wird jedoch im AGVIPDBWizard ab der Version 1.51.002.777 nicht mehr unterstützt)


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI10.1; ...

dann wird der Microsoft-SQL Server 2008 SQL Server Native Client (SNAC) verwendet.


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI11.1; ...

dann wird der Microsoft-SQL Server 2012 SQL Server Native Client (SNAC) verwendet.  


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=MSOLEDBSQL.1; ...

dann wird der neue Microsoft OLE DB Provider for SQL  Server Version 18 verwendet.  (Dieser wird ab der Version 1.51.002.777 vom 17.05.2018 untersützt).


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=MSOLEDBSQL19.1; ...

dann wird der neue Microsoft OLE DB Provider for SQL  Server Version 19 verwendet.  (Dieser wird ab der Version 2.05.003.1055 vom 29.01.2023 untersützt).


Siehe auch:

Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert

2024-12-09 09:44
Martin Richter

Fehlermeldung: Die Uhrzeit auf dem Datenbank Server ist tt-mm-jj hh:mm:ss. Die Uhrzeit auf diesem Arbeitsplatz ist hh:mm:ss.

Beschreibung:

Beim Start von AG-VIP SQL erscheint die Fehlermeldung:

Die Uhrzeit auf dem Datenbank Server ist tt-mm-jj hh:mm:ss.
Die Uhrzeit auf diesem Arbeitsplatz ist hh:mm:ss.
Die Differenz ist größer als eine Minute, dies kann zu Fehlfunktionen des Programmes führen!

Unter Umständen erscheint diese Meldung direkt nach Neustart eines Rechners. Wenige Augenblicke später startet das Programm wie gewohnt. 

Ursache:

AG-VIP SQL muss Operationen auf dem SQL Server ausführen. Hierbei wird in vielen dynamischen SQL-Befehlen auch die aktuelle Uhrzeit benötigt (z.B. überfällige Tickets verschieben etc.). Für diese Operationen wird die Uhrzeit auf dem Rechner verwendet, auf dem der SQL-Server läuft.

Gleichfalls wird auf der Seite des Benutzers die Zeit benötigt um bestimmte Listen korrekt anzuzeigen. Hier wird die Uhrzeit des Rechners verwendet auf dem die AG-VIP SQL Anwendung selbst ausgeführt wird.

Laufen nun diese beiden Uhren mit einer zu großen Differenz (mehr als 2 Minuten), dann ist ein korrektes Arbeiten und Darstellen aller Informationen nicht mehr gewährleistet. Es kann zu sehr unüblichen Seiteneffekten im System kommen.
Aus diesem Grund werden beim Systemstart die Uhr des Servers mit der Uhr auf dem Clientrechner verglichen. Bei Abweichungen von mehr als 2 Minuten wird der Start von AG-VIP SQL abgebrochen.

Lösung:

Sorgen Sie dafür, dass der Aktualisierungsdienst für die Uhrzeit regelmäßig auf beiden Rechner von der selben Quelle die Uhrzeit aktualisiert. Normalerweise ist dies schon dadurch gewährleistet, dass SQL Server und Client in der selben Domäne liegen.

Tritt dieses Problem nach einem Rechnerneustart auf und verschwindet dann nach einigen Minuten wieder, dann hat der Aktualisierungsdienst für die Zeit kurz nach Rechnerstart noch keine Aktualisierung durchführen können.
Oft verschwindet dieses Problem von selbst.

Synchronisation der Zeit unter Windows

Das Einrichten einer Zeitsynchronisation unter Windows ist nicht notwendig, wenn sich der Rechner in einer Windows-Domäne befindet.
Die Windows-Klienten synchronisieren ihre Zeit automatisch mit dem Domämencontroller.
Nur der Domämencontroller an der Spitze des Windows-Baums benötigt in der Regel eine Zeitsynchronisation mit einer externen Quelle.

Wenn ein Windows-Rechner nicht in eine Domäne eingebunden ist, sollte ein NTP-Server (Zeitgeber-Server) verwendet werden.

Windows XP/2003
Das Einrichten einer Zeitsynchronisation unter Windows XP/2003 erfolgt über die Systemsteuerung.
Dort wählt man den Menüpunkt Datum und Uhrzeit: Systemsteuerung öffnen -> Datum und Uhrzeit auswählen


Eigenschaften von Datum und Uhrzeit in Windows XP


als Server ptbtime1.ptb.de  eintragen.

Windows 2000
Unter Windows 2000 muss der Dienst W32Time zur Synchronisation der Zeit mit dem NTP-Server benutzt werden. Dazu hält man als Administrator zunächst den Dienst mit dem Befehl (Geben Sie die Befehle in der Eingabeaufforderung an)

net stop w32time

an, setzt dann in der Registry den zu verwendenden NTP-Server mit dem folgenden Befehl


net time /setsntp:ptbtime1.ptb.de

und startet den Dienst anschließend wieder mit dem Befehl

net start w32time

Schließlich sollte der Dienst Windows Zeitgeber auf den Autostarttyp Automatisch umgestellt werden.
Damit wird der Dienst nach einem Neustart des Systems automatisch gestartet.

Zeitserver die öffentlich zur Verfügung stehen:
ptbtime1.ptb.de
ptbtime2.ptb.de
time.windows.com
0.europe.pool.ntp.org
1.europe.pool.ntp.org
2.europe.pool.ntp.org
3.europe.pool.ntp.org

Siehe auch:
Informationen zum NTP-Protokoll:
http://www.heise.de/netze/Zeit-Abgleich--/artikel/91588/1

Liste aktueller Zeitserver:
http://support.ntp.org/bin/view/Servers/StratumOneTimeServers

Konfigurieren eines autorisierenden Zeitservers in Windows Server 2003 (MS-Support)
http://support.microsoft.com/kb/816042/de

Einstellungen unter Windows XP SP3 anpassen:
http://support.microsoft.com/kb/307897

Bis Windows 98 SE / ME hat man eine spezielle Software zum abgleichen der Systemzeit mit einem Zeitserver benötigt.
Wenn Sie eine Software für die Zeitsyncronisation verwenden möchten, finden Sie beispielsweise mit Tme-Sync ein passendes Werkzeug für Windows NT 4.0, Windows 2000, Windows XP Home/Professional, Windows 2003 Server, Windows Vista, Windows 2008 Server oder Windows 7

2011-08-18 15:13
Martin Richter

Prüfen einer Verbindung zum SQL Server ohne AG-VIP SQL

Beschreibung:

AG-VIP SQL verwendet die Standard MS-SQL Server OLE-DB Provider, die auf dem entsprechenden Rechner installiert sind. Kommt es beim Verbindungsaufbau zu Problemen ist oft unklar wo die Fehlerursache liegt.

Es bietet sich deshalb an, eine Verbindung zum SQL Server mit Standard-Microsoft Komponenten zu testen, die auf jedem Client installiert sind, sofern MDAC_TYP (Microsoft Data Access Components) installiert sind.

Vorgehensweise:
  • Starten Sie die Systemsteuerung
  • Leistung und Wartung auswählen und dort Verwaltung wenn man die Kategorienansicht verwendet. Direkt Verwaltung in der Standardansicht.
  • Dort wählt man den Eintrag Datenquellen
  • Da es sich nur um einen Test handelt, wählt man am besten Benutzer-DSN, d.h. die Daten der Verbindung werden nur für diesen Anwender gespeichert.
  • Wählen Sie nun den Schalter hinzufügen.
  • In der Liste der Treiber finden Sie nun SQL Server und SQL-Native Client wählen Sie den entsprechenden Treiber und  klicken auf Fertigstellen.
  • Geben Sie nun einen Namen ein (z.B. Test). Das Beschreibungsfeld können Sie leer lassen.
    Wählen Sie im Feld Server, Ihren Datenbankserver aus, oder geben Sie die IP-Adresse oder den Namen ein sofern der Server nicht automatisch in der Liste aufgeführt wird. Wenn der SQL-Server nicht die Standardinstanz ist, so muss zusätzlich noch der Instanzennamen mit einem Backslash an den Servernamen angefügt werden. Klicken Sie auf weiter.
  • Geben Sie nun die entsprechenden Informationen für die Authentifizierung ein. D.h. entweder den Benutzernamen und das Kennwort für den SQL-Server. Entsprechend den normalen Installationsanweisungen empfehlen wir hier den Benutzernamen AGUser. Geben Sie das korrekte Kennwort ein, oder verwenden Sie die Windows-Authentifizierung.
  • Wenn Sie den Haken in dem Feld anhaken Zum SQL-Server verbinden, um Standardeinstellungen für die zusätzliche Konfiguration zu erhalten, dann wird wenn Sie auf Weiter klicken bereits ein Verbindung zum SQL-Server hergestellt. Sollten Sie keine Fehlermeldung erhalten ist der Verbindungsversuch bereits erfolgreich verlaufen.
  • Erhalten Sie dagegen eine Fehlermeldung, wie z.B.

Microsoft SQL Server-Anmeldung
---------------------------
Fehler bei der Verbindung:
SQLState: '01000'
SQL Server-Fehler: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Fehler bei der Verbindung:
SQLState: '08001'
SQL Server-Fehler: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server existiert nicht oder Zugriff verweigert.
---------------------------
OK  

  • dann  konnte keine Verbindung zum SQL Server hergestellt werden. Die Ursachen müssen entsprechend der Fehlermeldung analysiert werden.
  • Wenn es gewünscht wird, kann das Erzeugen einer Datenbankverbindung fortgesetzt werden. In diesem Fallmuss auf der nächsten Seite der Datenbankname aus der Liste ausgewählt werden oder manuell eingegeben werden.
    Lassen Sie alle anderen Einstellungen auf den Standardwerten und klicken Sie auf Weiter.
  • Im letzten Dialog sind keine Einstellungen mehr zu machen und sie wählen nur noch Fertigstellen aus.
  • Sie erhalten nun einen Dialog indem Sie erneut die Verbindung testen können über den Schalter Datenquelle testen. Mit OK wird nun die Datenbankverbindung gespeichert.

Man kann nun jederzeit über die Systemsteuerung erneut eine bestehende Verbindung prüfen indem der Verbindungsdialog geöffnet wird und so lange Weiter ausgewählt wird bis wieder der Dialog erscheint mit der Auswahl Datenquelle testen.

Zur weiteren Fehlersuche

In den meisten Fällen liegen die Ursachen in den folgenden Bereichen:

  • Die Namensauflösung zum Server funktioniert nicht. (Evtl. IP Adresse verwenden)
  • Der Server ist nicht in diesem Sub-Netz erreichbar (Ping)
  • Der Server hat einen Instanznamen, der nicht angegeben wurde.
  • Der Server ist nicht auf SQL-Authentifizierung geschaltet (wenn nicht die Windows Authentifizierung verwendet wird)
  • Der SQL-Server befindet sich in einer anderen Domäne oder in keiner Domäne und kann die Windows Authentifizierung nicht durchführen (wenn die Windows Authentifizierung verwendet wird)
  • Berechtigungen für die entsprechende Datenbank wurde nicht gesetzt. 
  • Benutzername und Kennwort stimmen nicht.

2011-08-17 15:57
Martin Richter

Auswahlkriterien für die Installation eines MS-SQL Servers in Verwendung mit AG-VIP SQL

Beschreibung:
SQL Server Express mit Verwaltungstools (SQL Server Management Studio (SMSS)).
Für die Verwendung von AG-VIP SQL ist ein solcher Server notwendig um die Daten in dessen Datenbank zu speichern/verwalten.

Empfehlung:
Wir empfehlen den SQL Server 2019 Express, da diese Version die momentan aktuellste kostenfreie MS-SQL Server Version ist..

Systemanforderungen:
Unterstützte Betriebssysteme: Windows 10 TH1 1507 oder höher; Windows Server 2016 oder höher
Prozessoren: Ausschließlich x64-Prozessoren werden unterstützt.

  • 1,4-GHz-Prozessor oder schneller (2,0-GHz oder schneller empfohlen)
  • Mindestens 512 MB RAM für Express Version; 1 GB  für alle anderen Versionen (Empfohlen wird mindestens 1GB)
  • 6 GB verfügbarer Festplattenspeicher (Abhängig von den ausgewählten Features)

Vorteile:
- Kostenfreie MS-SQL Server Express Version
- Integrierte Verwaltungswerkzeuge (SQL Server Management Studio)
- Einfache Installation und Einrichtung des MS-SQL Servers
- Bis zu 10GB Datenbank Volumen (Express)
- Datensicherung über die Verwaltungswerkzeuge
- Einfaches einrichten einer Datenbank für AG-VIP SQL (automatisch)

Nachteile: (beziehen sich auf die Express Version eines MS-SQL Servers)
- 10GB maximales Datenbank Volumen (unbegrenzt bei einer kostenpflichtigen Version)
- keine automatisierte Datensicherung über Wartungspläne (jedoch über eine von uns entwickelte Lösung möglich)
- max 1 CPU Verwendbar
- max 1 GB Arbeitsspeicher Verwendbar (1410MB)

Feature Übersicht:
Die genaueren Details der Features entnehmen Sie bitte der Tabelle unter folgendem Link:
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

Download:
Dies bezüglich möchten wir Sie auf unseren Knowledgebase Artikel "Installation des MS-SQL Servers 2019 Express" hinweisen. Diesen finden Sie am schnellsten über folgenden Link:
http://www.kb.grutzeck.de/index.php?action=artikel&cat=26&id=187&artlang=de

2013-03-14 11:18
Peter Brandt

Installation des MS-SQL Servers 2019 Express

Hinweis:
Wie bereits im Knowledgebase Artikel "Vorteile einer Installation eines MS-SQL Servers" erwähnt,
Link: http://www.kb.grutzeck.de/index.php?action=artikel&cat=26&id=186&artlang=de
benötigt AG-VIP SQL mindestens die Version mit den Verwaltungstools (Database with Management Tools).
Falls Sie diesen Artikel noch nicht gelesen haben sollten, empfiehlt es sich, dies vorab zu tun, bevor Sie mit der eigtl. Installation beginnen bzw. fortfahren.

Download:
Den MS-SQL Server 2019 Express können Sie unter folgenden Link kostenlos herunterladen:
https://www.microsoft.com/de-de/download/details.aspx?id=101064

Aktuelle Linksammlung zum SQL-Server 2019:
http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=207&artlang=de

Hinweis:
Zum Herunterladen müssen Sie den von Microsoft benötigten Downloadmanager installieren. Sie werden beim Start des Downloads direkt aufgefordert diesen zu installieren (nach Bestätigung installiert dieser sich automatisch).

Ob Sie eventuell eine kostenpflichtige SQL Server Edition benötigen entnehmen Sie bitte der von Microsoft angegebenen Eigenschaftstabelle:
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

Installation:
Nach erfolgreichem herunterladen des MS-SQL Servers 2019 (Express Version) starten Sie diesen nun auf Ihren als Server eingesetzten Rechner um mit der Installation zu beginnen. Eventuell werden Sie aufgefordert das MS .NET Framework 3.5 sowie den Windows Installer 4.5 oder andere Programme zu installieren. Installieren Sie diese über die in der Meldung angegebenen Downloadlinks. Überprüfen Sie sobald Sie diese zusätzlichen Programme installiert haben, ob nicht bereits updates für diese Programme vorliegen. Führen Sie dafür einfach das WindowsUpdate aus.

Sobald Sie im Dialog "SQL Server-Installationscenter" sind, wechseln Sie zu "Extras" und drücken auf "Systemkonfigurationsprüfung". Dadurch starten Sie ein Tool zur Überprüfung des Systems auf Bedingungen, die eine erfolgreiche Installation von dem SQL Server verhindern könnten. Falls dort nicht alle Punkte mit dem Status "Erfolgreich" abgeschlossen wurden, erscheint eine Liste mit allen Modulen. Die betroffenen Module (erkennbar durch den Status "Fehler") müssen Sie noch installieren bzw. erfüllen. Sie erhalten leider in der Auflistung keine Links und müssen daher diese fehlenden Module selbstständig aus dem Internet herunterladen. Zum Beispiel für das Windows PowerShell Modul geben Sie in Ihrer Suchmaschine als Suchbegriff "MSDN PowerShell download" ein.

Sobald die "Systemkonfigurationsprüfung" keine Fehlermeldungen mehr erzeugt, wechseln Sie im "SQL Server-Installationscenter" Dialog zu "Installation" und wählen dann "Neuinstallation oder Hinzufügen von Funktionen zu einer vorhandenen Installation" aus um mit der Installation zu beginnen. Sofern Sie keine speziellen Änderungen vornehmen möchten, bestätigen Sie die Dialoge mit "Weiter" bis Sie zum Dialog "Serverkonfiguration" gelangen. Dort aktivieren Sie den Dienst "SQL Server Browser" in dem Sie diesen in der Spalte "Starttyp" auf "Automatisch" einstellen.
Zusätzlich geben Sie in der Spalte "Kontoname" des Dienstes "SQL Server Database Engine" den Kontonamen "NT-AUTORITÄT\NETZWERKDIENST" an. Nachdem Sie beide Änderungen vorgenommen haben, bestätigen Sie Ihre Eingabe in dem Sie auf "Weiter" drücken.

Im nächsten Dialog "Datenbankmodulkonfiguration" wählen Sie als Authentifizierungsmodus den "Gemischter Modus (SQL Server-Authentifizierung und Windows-Authentifizierung)" aus und geben ein Passwort für den Server-Systemadministrator (SA) an.
Dieses Passwort muss mindestens 8 Zeichen lang sein, mind. eine Ziffer, mind. ein Sonderzeichen sowie mind. einen großgeschriebenen Buchstaben beinhalten. Notieren Sie sich dieses Passwort unbedingt und bewahren Sie es an einen sicheren Ort auf. Bei bedarf können Sie noch einen Benutzer hinzufügen, welcher als SQL Server-Administrator uneingeschränkten Zugriff auf das Datenbankmodul besitzt.
Standard ist hier der Windows Administrator angegeben. Drücken Sie zur Bestätigung Ihrer Eingabe auf "Weiter". Nach dem bestätigen des darauffolgenden Dialogs, beginnt letztendlich die Installation des MS SQL Servers.
Sofern bei der Installation keine Fehler aufgetreten sind, ist die Installation des MS SQL Servers 2019 Express nach ca. 10 Minuten abgeschlossen.

Weitere Konfigurationen:
Starten Sie nun über Start - Alle Programme - Microsoft SQL Server 2019 - Konfigurationstools
den "SQL Server-Konfigurations-Manager"
Maximieren Sie den Ast über das [+] Symbol bei "SQL Server-Netzwerkkonfiguration" und selektieren Sie anschließend "Protokolle für 'SQLEXPRESS'" bzw. die Bezeichnung welche Sie evtl. bei der Installation des SQL Servers vergeben haben.
Dort müssten nun 4 Protokolle aufgelistet werden, welche folgenden Zustand haben müssen:
Shared Memory    -    Aktiviert
Named Pipes        -    Aktiviert
TCP/IP                  -    Aktiviert
VIA                        -    Deaktiviert 

Falls bei einem Protokoll die Einstellungen nicht zutreffen sollten, klicken Sie bei dem zutreffenden Protokoll in der Spalte "Status" doppelt auf den vorhandenen Eintrag und ändern diesen durch die Angabe von Aktiviert = "Ja" oder "Nein" und bestätigen anschließend Ihre Eingabe.

Um die Änderung zu übernehmen müssen Sie den Dienst neustarten. Wechseln Sie in der Baumstruktur links auf "SQL Server-Dienste" und selektieren Sie anschließend den Dienst "SQL Server (SQLEXPRESS)". Durch Rechtsklick beenden Sie diesen und starten diesen ebenfalls durch einen Rechtsklick, sobald er beendet ist erneut. Der Dienst "SQL Server-Agent (SQLEXPRESS)" wird hier irreführend als zur Verfügungstehender Dienst dargestellt. Dieser wird jedoch nicht von der Express Version unterstützt. Der SQL Server-Agent würde die automatische Datensicherung über einen Wartungsplan durchführen. Beenden Sie nun den "SQL Server Konfigurationsmanager".
Der MS SQL Server ist nun soweit eingerichtet, dass Sie diesen für die Installation und Nutzung von AG-VIP SQL verwenden können.

Datensicherung:
Bezüglich der Umsetzung und des Konfigurierens einer manuellen oder automatischen Datensicherung lesen Sie bitte folgenden Artikel:
http://www.kb.grutzeck.de/index.php?sid=25174&lang=de&action=artikel&cat=2&id=188&artlang=de

2013-03-14 11:30
Peter Brandt

MS-SQL Server Datensicherung der AGVIP SQL Datenbank durchführen/einrichten (manuell/automatisch)

Hinweis:

Dieser Artikel ist veraltet ist aber weiterhin gültig. 
Die aktuellen Beiträge zu diesem Thema finden Sie hier:
Datensicherung von AG-VIP SQL mit der Hilfe von Hintergrundprozessen
Datensicherung für AG-VIP SQL mit SQL Server Wartungsplänen
Grundlagen für die Datensicherung von AG-VIP SQL über den SQL Server

Beschreibung:

Dieser Artikel befasst sich mit der Umsetzung einer SQL Datenbanksicherung bezogen auf die AG-VIP SQL Datenbank und basiert auf den KnowledgeBase Artikel "Installation des MS-SQL Servers 2008 R2 Express":
http://www.kb.grutzeck.de/index.php?sid=25160&lang=de&action=artikel&cat=26&id=187&artlang=de
Er umfasst die manuelle Datensicherung, sowie die automatische Datensicherung mit dem SQL-Server Agent (kostenpflichtige MS-SQL Version) und einer kostenfreien automatischen Umsetzung über Batch-Dateien.


Manuelle Datensicherung:
Starten Sie über Start - Alle Programme - Microsoft SQL Server 2008 R2
das "SQL Server Management Studio"
Sofern Sie noch keine Benutzer angelegt haben sollten und beim Einrichten des SQL Server-Administrators den Windows Administrator angegeben haben, können Sie sich über die "Windows-Authentifizierung" anmelden (sofern Sie sich als Windows Administrator in Windows angemeldet haben). Andernfalls müssen Sie als Authentifizerung "SQL Server-Authentifizierung" auswählen und als Anmeldename "sa" sowie das von Ihnen bei der Installation eingetragene Passwort angeben.
Markieren Sie unter "Datenbanken" die AG-VIP SQL-Datenbank. Aktivieren Sie mit einem rechten Mausklick das Auswahlmenü. Klicken Sie auf "Tasks" und anschließend auf "Sichern...". Im nun geöffneten Dialog "Datenbank sichern - AGVIP" werden die Einstellungen der Sicherungsart eingestellt. Diese Einstellungen können Sie unverändert nutzen. Aktivieren Sie den OK-Schalter, damit die Datensicherung durchgeführt wird. Speichern Sie die nun erstellte .bak Datei auf einem externen Datenträger.

 

Automatische Datensicherung (kostenpflichte MS-SQL Server Version):
Um den SQL-Server Agent zu verwenden benötigen Sie eine kostenpflichte Version des MS-SQL Servers welchen diesen beinhaltet.
Zusätzlich müssen Sie dann diesen Dienst, wie im Artikel "Installation des MS-SQL Servers 2008 R2 Express" beschrieben (Link siehe oben) im "SQL Server Konfigurationsmanager" starten.
Mit diesen nun erfüllten voraussetzungen starten Sie das "SQL Server Management Studio" über:
Start - Alle Programme - Microsoft SQL Server 2008 R2
Melden sich an Ihrem Server an und maximieren dann den Ast "Verwaltung" in dem Sie auf das [+] Symbol klicken.
Mit einem Rechtsklick auf "Wartungspläne" und einem anschließenden Linksklick auf "Wartungsplanungs-Assistent" aktivieren Sie dann den Assistenten. Der Assistent wird Sie durch die Umsetzung leiten in dem Sie die einzelnen Schritte mit Ihren Einstellungen ergänzen.

Automatische Datensicherung (Express MS-SQL Server Version):
Da die Express Version des MS-SQL Servers den "SQL-Server Agent" nicht unterstützt stellen wir einen Workarround mit Batch-Dateien zur Verfügung, welche als Task Regelmäßig ausgeführt werden können.
Sie finden diese Dateien auf der AG-VIP SQL-LizenzCD im Unterordner \SQL-Batch Datensicherung\ .

Oder am Ende dieses Artikels als Anhang (SQL-Backup.zip)
HINWEIS:
Diese Batch-Dateien sollen Sie bei Ihrer Arbeit unterstuetzen.
Es steht Ihnen jedoch KEIN Support zur Verfuegung.
Die Nutzung geschieht auf eigene Gefahr!
Jegliche Gewaehrleistung ist ausgeschlossen.

Anwendung:
Falls Sie direkt zuvor den MS SQL Server installiert haben sollten und keinen PC-Neustart oder eine Neuanmeldung Ihres Benutzerkontos durchgeführt haben, müssen Sie jetzt einen Neustart durchführen oder den Benutzer abmelden und wieder neu anmelden.
Ansonsten sind die Pfadeinträge der sqlcmd.exe nicht vorhanden und die Batchdateien können nicht ausgeführt werden.

Entpacken Sie die ZipDatei "SQL-Backup.zip" auf den Server auf dem der SQL-Server läulft.
Passen Sie die config.cmd Datei wie im Administrator-Handbuch ab Seite 103 "4.13.4 Automatisierte Datensicherung mit Batchdateien" an und speichern diese sofern Sie Änderungen vorgenommen haben sollten ab. Folgen Sie auch weiterhin der Anleitung des Administrator-Handbuchs um eine automatische Datensicherung einzurichten (Vorgehensweise und Geplanten Task für Datensicherung einrichten). Falls Sie Windows Vista / Windows 7 verwenden, müssen Sie den geplanten Task für die Datensicherung in der "Aufgabenplanung" eintragen.
Im Nachfolgenden Text, wird die Task Generierung unter Windows Vista / Windows 7 beschrieben:
Start - Systemsteuerung - Verwaltung - Aufgabenplanung
Klicken Sie rechts bei Aktionen auf "Aufgabe erstellen...".
Im Reiter "Allgemein" geben Sie einen Namen für die Aufgabe an z.B. "AGVIP Datenbank Backup" und ändern wie auch im Handbuch beschrieben die Sicherheitsoption "Nur ausführen, wenn der Benutzer angemeldet ist" in "Unabhängig von der Benutzeranmeldung ausführen" um. Als Benutzerkonto geben Sie ein Konto mit Administrativen Rechten an. Im Reiter "Trigger" können Sie die Zeitplanung nach Ihren Wünschen festlegen. Im Reiter "Aktionen" müssen Sie nun über "Neu" die Batchdatei hinzufügen. Drücken Sie dazu auf "Durchsuchen" und wählen Sie die "SQLSicherung.cmd" Datei in dem von Ihnen entpackten Verzeichnis von dem Rechner auf dem der SQL Server läuft aus. Als Aktion wählen Sie "Programm starten".
Bei "Argumente hinzufügen (optional)" geben Sie folgendes an bzw. Ihren gewünschten Pfad:
>> C:\SQL-Backup\BACKUP\Backup.log
Bei "Starten in (optional)" geben Sie folgendes an bzw. Ihren gewünschten Pfad (OHNE Anführungszeichen auch wenn Leerzeichen im Pfad sein sollten):
C:\SQL-Backup\BATCH
Alle notwendigen Einstellungen sind somit vorgenommen und die Aufgabe (Task) kann nun gespeichert werden.
HINWEIS:
Diese Batch-Dateien sollen Sie bei Ihrer Arbeit unterstuetzen.
Es steht Ihnen jedoch KEIN Support zur Verfuegung.
Die Nutzung geschieht auf eigene Gefahr!
Jegliche Gewaehrleistung ist ausgeschlossen.

Hintergrundprozess:
Seid der AG-VIP SQL Version 1.42.004 vom 17.03.2015 ist es möglich über den Hintergrundprozess in AG-VIP SQL eine automatische Datenbanksicherung unabhängig von den oben beschriebenen BATCH-Dateien zu realisieren.
Dazu kann der Job direkt am Ende dieses Artikels herunter geladen und in AG-VIP SQL importiert werden.

Der Hintergrundjob bekommt die Rechte des SQL-Benutzers,
welcher in der AGVIP.AGDB Datei für den Datenbankzugriff hinterlegt wurde.

Bei Verwendung eines anderen Benutzers als dem "SA" (z.B. AGUser) ist zu beachten,
dass dieser noch der Rolle "diskadmin" zugewiesen wird,
da sonst das BackupDevice nicht auf dem SQL-Server angelegt sowie auch nicht bearbeitet/gelöscht werden kann.

Dies kann über das SQL Management Studio im Bereich "Sicherheit-> Anmeldungen" unter "Serverrollen" zugewiesen werden.

HINWEIS:
Diese Hintergrundjob soll Sie bei Ihrer Arbeit unterstützen.
Es steht Ihnen jedoch KEIN Support zur Verfügung.
Die Nutzung geschieht auf eigene Gefahr!
Jegliche Gewährleistung ist ausgeschlossen.


Bemerkung:
Sobald Sie Ihre .bak Datei (Backup) erzeugt haben, speichern Sie diese am besten auf einem externen Datenträger. Wenn Sie die Datei gesichert haben, löschen Sie die Original .bak Datei oder benennen diese um. Der Grund dafür ist, dass der Code in der Batch-Datei so generiert ist, dass die Backup-Datei nicht neuangelegt wird, sondern immer erweitert wird sofern der Dateiname identisch ist. Sie würde also wenn man nichts tut bei jeder Durchführung des Tasks vom Datenvolumen her wachsen und irgendwann ein kritisches Volumen erreichen.

Einspielen der .bak Datei:
Wie Sie die erstellte Datensicherung wieder in einem SQL Server einspielen können, wird im folgenden Artikel beschrieben:
http://kb.grutzeck.de/index.php?action=artikel&cat=1&id=248&artlang=de

Änderungslog:

31.01.2020:

  • Hintergrundprozess Variante überarbeitet (unabhängig von den Batchdateien erstellt)

26.10.2015:

  • Hintergrundprozess Variante hinzugefügt.

14.10.2014:

  • Bei der Konfiguration des Tasks für die Batchdatei in der Aufgabenplanung, den Text bezüglich der nicht erlaubten Anführungszeichen bei "Starten in (Optional)" ergänzt.

2021-12-22 09:14
Peter Brandt

Kann AG VIP SQL mit dem Internet Protokoll Version 6 (IPv6) betrieben werden?

Das Internetprotokoll Version 6 ist das Internetprotokoll
der Zukunft. Hauptziel von IPv6 ist die Vergrößerung des knapp werdenden IPv4
Adressraums sowie die Vermeidung von Network Address Translation (NAT), die
derzeit verwendet wird um den knappen Adressraum zu vergrößern. Dies
wiederspricht jedoch dem Ende-zu-Ende-Prinzip das von manchen Protokollen
eigentlich erwartet wird. (z.B. das SIP-Protokoll.). (Siehe auch http://de.wikipedia.org/wiki/IPv6)

Damit das IPv6 Protokoll mit AG VIP SQL verwendet werden
kann müssen alle an der Kommunikation zwischen Client und Server beteiligten
Komponenten IPv6-fähig sein.

Dies Betrifft sowohl das Client-Betriebssystem, den
verwendeten SQL-Client sowie das SQL-Server-Betriebssystem, den SQL-Server
sowie alle dazwischen liegenden Netzwerkkomponenten. (Hardware und Software wie
Netzwerkkarten, Switches, Firewalls, DNS etc.)

Für Windowsbetriebssysteme gilt: (Siehe auch http://www.microsoft.com/ipv6)

Windows XP ab SP1 und Windows Server 2003 sind mit
zusätzlicher Konfiguration mit IPv6 nutzbar.

Während Microsoft den Produktiveinsatz von IPv6 für Windows
Server 2003 eingeschränkt betrachtet ist die produktive Nutzung unter Windows
XP möglich.

Windows Vista und Windows 7 bringen von Haus aus IPv6 mit einer
Duallayer-Architektur mit.  Dasselbe gilt
für Windows Server 2008.

Der Microsoft SQL-Server ab der Version 2005 unterstützt
sowohl Client wie auch Serverseitig IPv6. Dies muss jedoch entsprechen im
SQL-Server-Konfigurations-Manager eingerichtet werden.

Ist dies erfolgt und Clientseitig der Native Client
installiert und eine IPv6-Kommunikation mit dem SQL Server möglich, so ist ein
IPv6-Zugriff auf den SQL-Server möglich.

Da Microsoft hier im Regelfall einen Dual-Stack als
Konfiguration vorsieht (IPv4 und IPv6 parallel), wird zunächst immer versucht
eine IPv4-Kommunikation aufzubauen. Erst nach dessen Timeout, erfolgt der
Zugriff via IPv6. (siehe http://msdn.microsoft.com/en-us/library/ms345359.aspx)

Sofern der ?Fully qualified domain name" (FQDN) verwendet
wurde um die Verbindungsdatei für AG VIP-SQL zu erzeugen und bereits der Native
Client im Einsatz ist, sind keine weiteren Änderungen erforderlich.

Siehe auch:

KB-Artikel: Welcher OLE-DB Provider wird aktuell verwendet? http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=97&artlang=de

KB-Artikel: Installation des MS-SQL Servers 2008 R2 Express http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=187&artlang=de

Handbuch für Administratoren ?Anlegen der SQL-Datenbank: AGVIPDBWizzard.EXE" http://www.grutzeck.de/de/Bedienungsanleitung/bedienungsanleitung.html

2011-08-17 15:53
Ulrich Sticker

Microsoft SQL Server 2019 Linksammlung

Hardware und Softwareanforderungen für Microsoft SQL Server 2019

Beschreibung der Hard und Softwareanforderungen für den SQL Server 2019

Microsoft SQL Server 2019 Express

Downloadlink zum SQL Server 2019 Expressversion.

Microsoft SQL Server 2019 Editionen und Features

Beschreibung für die verschiedenen SQL Server 2019 Versionen und deren jeweilige Features.

 Microsoft SQL Server Management Studio (SSMS)

Downloadlink zum SQL Server Management Studio.

 

Siehe auch http://sqlserver.grutzeck.de

2016-12-13 08:28
Ulrich Sticker

AGVIPDBWizard.exe schlägt mit einem Fehler bezüglich des SQL Servers fehl.

Beschreibung:
Beim Ausführen des Verbindungsassistenten (AGVIPDBWizard.exe) tritt beim Versuch eine Verbindung mit dem SQL Server herzustellen folgender Fehler auf:

SQL Provider 2000:
Fehler: Server Existiert nicht bzw. Zugriff verweigert

Native Client:
Named Pipes Provider - Error: Could not open a connection to SQL Server

Ursache:
Für diesen Fehler kann es unterschiedliche Ursachen geben.
Häufigste Ursachen:

  1. Der SQL-Server Name bzw. dessen IP ist nicht korrekt (existiert also tatsächlich nicht).
  2. Der Client-Rechner hat Probleme den Namen des Servers in eine IP aufzulösen (DNS nicht richtig konfiguriert).
  3. Die Ports des SQL-Servers werden von der Windows Firewall bei nicht autorisierten Zugriff geblockt (Windows 7 und Windows Server 2008).
    Zur Konfiguration der Windows Firewall und MS SQL Server 2014 ...
  4. Sie verwenden einen SQL-Server-Instanznamen und der SQL-Server Browser Dienst ist nicht gestartet.
  5. Der Client-Rechner ist nicht in der Domäne. Der für den SQL-Server eingetragene Dienst ist jedoch ein Netzwerkdienst welcher dies vorraussetzt.

Lösung:

  1. Kontrollieren Sie den Servernamen bzw. die IP des SQL-Servers
  2. Überprüfen Sie ob die Namensauflösung funktioniert in dem Sie über eine Eingabeaufforderung (command prompt) Ihren Server über dessen Namen anpingen z.B. Ping PC-Test
    Wenn dies nicht funktionieren sollte wiederholen Sie den Versuch nur dieses mal mit der IP.
    Nun müssten Sie 4 erfolgreich abgeschlossene Verbindungen angezeigt bekommen.
    Wenn dies der Fall ist, kontrollieren Sie Ihre DNS-Einstellungen oder setzen Sie anstelle des Server Namens einfach die Server IP in den Verbindungsassistenten ein.
  3. Dies ist leider schwer zu überprüfen, da ein Ping zum Server trotzdem funktioniert, der Verbindungsaufbau zum SQL-Server jedoch von der Firewall geblockt wird. Der Microsoft Support Artikel beschreibt das Problem und bietet gleichzeitig eine Batch Datei als Lösung an um die betroffenen Ports automatisch freizuschalten: http://support.microsoft.com/kb/968872/de
    Windows Firewall für MS SQL Server 2014 konfigurieren
  4. Falls Sie einen Instanznamen bei Ihrem SQL-Server verwenden z.B. PC-Test\SQLExpress muss der SQL-Server Browser Dienst gestartet sein um diese Instanz auflösen zu können. Starten Sie dafür den Konfigurationsmanager des SQL-Servers:
    Start - (Alle) Programme - Microsoft SQL Server 200x - Konfigurationstools -> SQL Server-Konfigurations-Manager
    Unter "SQL Server-Dienste" wird der "SQL Server Browser" augeführt welcher mit einem Rechtsklick gestartet werden kann.
    Falls sich der SQL Server Browser nicht starten lassen sollte, muss dieser erst über dessen Eigenschaften im Reiter "Dienst" aktiviert werden.
  5. Die einfachste und wohl auch beste Lösung ist es, den Rechner der Domäne hinzuzufügen. Ansonsten kann man dem SQL Server Dienst im Konfigurationsmanager (wie unter 4. beschrieben) den für die Anmeldung im Reiter "Anmeldung" eingetragenen Netzwerkdienst auf Lokaler Dienst bzw. Lokales System ändern.

2016-06-01 10:28
Peter Brandt

Aktualisierung des eingesetzten MS-SQL Servers

Beschreibung:
Wenn Sie einen SQL-Server wie in folgenden KB-Artikel beschrieben installiert haben:
http://kb.grutzeck.de/content/2/187/de/installation-des-ms_sql-servers-2008-r2-express.html

sollten Sie regelmäßig überprüfen ob es zu diesem SQL-Server eine aktuellere Version (Service Pack) bzw. einen Hotfix (kumulatives Update) gibt.

Update Center:
Welche die aktuellsten Service Packs und kumulative Updates sind können Sie auf der "Update Center" Webseite von Microsoft einsehen:
http://technet.microsoft.com/en-us/sqlserver/ff803383.aspx

SQL-Server Version ermitteln:
Wenn Sie nicht wissen sollten, welche SQL-Server Version Sie einsetzen, können Sie dies über einer der in dem folgenden Microsoftartikel beschriebenen Methoden ermitteln und weiter unten im selben Artikel einem Service Pack zuordnen:
http://support.microsoft.com/kb/321185/de

2013-08-22 10:53
Peter Brandt

Begrenzung der SQL Server Last bei Statistikupdates

Wir beobachten bei bestimmten SQL Statements in den Statistikupdates eine extrem hohe Serverlast. Speziell wird diese erzeugt wenn Datensatzbenutzerrechte verwendet werden und eine hohe Anzahl von Benutzern und Datensätze vorhanden ist.

In diesem Statement wird für jedes Paar Adresse-Benutzer ein Eintrag erzeugt. Nur mit dieser Tabelle ist es möglich die exakten Zahlen anzuzeigen, wie viele Tickets je Agent und Stufe zur Bearbeitung zur Verfügung stehen.

Zwei Statements erzeugen dabei eine sehr hohe Prozessorlast. Da es sich um einen Hintergrundprozess handelt, ist eine "schnelle" Ausführung eigentlich nicht zwingend. Vor allem solten andere Prozesse nicht darunter leiden. Zu beobachten ist jedoch, dass die Prozessorlast des SQL Servers hier auf 100% ansteigt.

Lösung:

In der Verbindungsdatei (AGDB Datei) wurde ein neuer Abschnitt eingebaut mit einem neuen Eintrag:

[BackgroundWorkerOptions]
MaxDOP=50


MaxDOP gibt dabei den "Maximum Degree of Parallelism" an. Damit kann ein Prozentwert angegeben werden, der angibt wieviel Prozent der zur Verfügung stehenden Prozessoren für die entsprechenden SQL Statements zur Verfügung stehen sollen. 50 gibt also an, dass die hälfte der Prozessoeren verwendet werden dürfen. Es wird kaufmänisch gerundet.  Jeder Wert zwischen 1 und 100 kann verwendet werden. Liegen die Werte außerhalb werden alle Prozessoren verwendet.
Gleiches gilt wenn kein Eintrag vorhanden ist.

Die Verwendung einer Begrenzung führt zwar dazu, dass die Erzeugung der Statistik etwas länger dauert, behindert dafür aber andere SQL-Queries weniger.
Dieses Statement hat nur Auswirkungen auf ausgewählte SQL Statements in den Hintergrundprozessen, die statistische Daten erzeugen. Allgemein werden Abfragen und Suchen nicht durch diesen Parameter beeinflusst.

2016-03-23 16:33
Martin Richter

AGVIPDBUpdate.exe bleibt beim Update mit einer Fehlermeldung stehen: Fehler bei CREATE INDEX, da die folgenden SET-Optionen falsche Einstellungen aufweisen: &#39;ARITHABORT&#39;

 

Problem:

Bei einem Update auf eine neue Version kann es zu einem Problem kommen, wenn die Datenbank sehr alt ist, d.h. angelegt wurde auf einem der älter ist als ein Microsoft SQL Server 2008.

Die Fehlermeldung lautet:

Microsoft SQL Server Native Client 10.0: Fehler bei CREATE INDEX, da die folgenden SET-Optionen falsche Einstellungen aufweisen: 'ARITHABORT'. Überprüfen Sie, ob die SET-Optionen für die Verwendung mit indizierte Sichten und/oder Indizes für berechnete Spalten und/oder gefilterte Indizes und/oder Abfragebenachrichtigungen und/oder XML-Datentypmethoden und/oder Vorgänge für räumliche Indizes richtig sind. [42000] =1934

Ursache:

Das Problem liegt an der internen SQL Server Kompatibilität, die für die Datenbank eingestellt ist.

 

Lösung:

Zum Beheben des Problems gehen sie wie folgt vor.

  1. Öffnen SIe das Management Studio.
  2. Wähle Sie die Datenbank aus.
  3. Öffnen Sie das Eigenschaftsfenster der Datenbank (rechter Mausklick -> Eigenschaften)
  4. Wählen Sie die Seite Optionen
  5. Unter dem Feld Kompatibilitättsgrad wählen Sie bitte die neueste Version aus z.B. SQL Server 2008

 

 

2015-05-19 13:50
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet:Der Anmeldevorgang konnte wegen Verzögerung beim Öffnen der Serververbindung nicht abgeschlossen werden.

Beschreibung:
Die Anmeldung an den SQL-Server dauert länger als die im Standard festgelegten 20 Sekunden.

Ursache:
Dieses Problem könnte z.B. durch Antivirenprogramme verursacht werden, welche Anwendungen wie z.B. "AG-VIP SQL" analysieren und dann diese erst erlauben im Netzwerk zu kommunizieren.

Lösung:
Optimal wäre es, das Problem am Schopf zu packen und z.B. im Falle eines Antivirenprogramms die Anwendung z.B. "AG-VIP SQL" freizugeben.
Falls die Ursache nicht ermittelt werden kann, ist es möglich die Dauer der Anmeldung in der Verbindungsdatei (.agdb) festzulegen.
Dazu erweitert man den ConnectionString am Ende um folgende zwei Eigenschaften (durch Semikolon getrennt):

;Connect Timeout=120;General Timeout=120

Die angegebene Zahl 120 entspricht den Sekunden -> 120s = 2 Minuten Anmeldetimeout.
Ein vollständiger ConnectionString könnte also wiefolgt aussehen:

InitString=Provider=SQLNCLI11.1;User ID=AGUser;Initial Catalog=AGVIP;Data Source=SERVER\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False;Application Intent=READWRITE;Connect Timeout=120;General Timeout=120

2016-01-20 14:19
Peter Brandt

Die Unterstützung des SQL-2000 OLE-DB Providers endet mit der AG-VIP SQL Version 1.45.002

Bisher haben wurde immer noch den Zugriff über den OLEDB Provider aus SQL 2000 erlaubt.

Dieser OLEDB Provider ist meistens auf den Rechner bereits installiert.
Leider mussten wir in Tests feststellen, dass dieser Provider nicht zuverlässig alle Datentypen übermittelt, die modernere SQL Server (2005 und später) unterstützen.

Mit der nächsten Programmversion nach der Version 1.45.002 wird kein AG-VIP SQL Produkt mehr eine Datenbank mit diesem alten Provider öffnen könen. Man erhält in Zukunft dann die folgende Fehlermeldung:

Die Datenbank kann nicht geöffnet werden!
Es wurde kein kompatibler OLEDB-Provider gefunden oder die Verbindungsdatei ist defekt!  

Ältere AG-VIP SQL sind funktional nach unserer Erkenntnis nicht betroffen. Wir raten dennoch dazu alle entsprechenden betroffenen alten Verbindungsdateien neu zu erzeugen und einen aktuellen, zum eingesetzten SQL Server passenden, Provider zu benutzen.
Bei Bedarf müssen diese Provider auf den Clients nachinstalliert werden.  

Erkennbar sind betroffene Verbindungsdateien am InitString.
Ist der Inhalt InitString=Provider=SQLOLEDB.1;… wird in dieser Datei der alte SQL 2000 Provider verwendet.
Der aktuelle SQL Native Provider hat die Version 11 (Provider= SQLNCLI11.1;…) und wird mit den SQL-Server Versionen 2012/2014/2016 ausgeliefert.

Kompatibel sind weiterhin auch die SQL Native Provider aus SQL-Server 2005 (Provider= SQLNCLI.1;…)und 2008 (Provider= SQLNCLI10.1;…).

2017-03-23 11:55
Martin Richter

Bei Verwendung der Tabellen STAT_Workflow, STAT_Communication oder STAT_Worktime kommt es zu einem Fehler im Report Designer

Beschreibung:

Im Record Designer wird ein Report unter der Verwendung einer der drei folgenden Tabellen erzeugt: STAT_Workflow, STAT_Communication oder STAT_Worktime.

Im Designer kommt es bei der Auswahl der Vorschau zu einem Fehler:

Während des Druckens ist ein allgemeiner Fehler aufgetreten.
Prüfen Sie die Projektdatei und die Datenquelle.

Wird DEBWIN4 ausgeführt und eine Debug Analyse des Reports durchgeführt, dann findet sich ein Fehler im Log und kurz vor dem Fehler folgender Eintrag:

Debwin4::CSV::V1;TypeCode;Timestamp;Level;Logger;Thread;Properties;Message
LL.DataProvider;6224;100:2=CMLL23?101:1=0; [00006224] CReportTableEnumerator::MoveNext DB-Error
LL.DataProvider;6224;100:2=CMLL23?101:1=0; Microsoft SQL Server Native Client 10.0: Ungültiger Objektname 'viewAS0118_Statistic_Workflow'. [42S02] =208
LL.DataProvider;6224;100:2=CMLL23?101:1=0; Table/Statement: viewAS0118_Statistic_Workflow

Problem:

Öffnet man das SQL Management Studio und untersucht die Liste der erzeugten Views in AG-VIP SQL, so findet man für die entsprechenden Tabellen Einträge der Views, die nicht mit dem Schema dbo angelegt wurden.

Ursache:

Das Problem tritt weiterhin nur auf wenn einige Benutzer keine SQL Authentifizierung zur Datenbank verwenden und diese Benutzer auch Datenbanken angelegt haben (Integrierte Sicherheit / SSPI).

Lösung:

Das Problem kann nur gelöst werden in dem alle betroffenen Views an den Schema Owner dbo übertragen werden.
Dies erfolgt am einfachsten mit einem SQL Skript, dass in der Anlage zu finden ist.

Das SQL Skript sucht alle betroffenen Views in der Datenbank und ändert den das Datenbank Schema für den View.
Alle ausgeführten SQL Statements werden im Ausgabefenster angezeigt.

2018-05-08 13:49
Martin Richter

Fehler beim Anlegen neuer Felder (maximale Datensatzlänge von 8060 Bytes erreicht)

Problem:

Der SQL-Server kann pro SQL-Tabelle eine maximale Datensatzlänge von 8060 Bytes verwalten. Diese Grenze ist im SQL Server festgelegt und kann nicht erweiter werden.

Daher ist die Anzahl an Felder in AG-VIP SQL durch den SQL-Server begrenzt.

Die Anzahl der benötigten Bytes je Spalte in einer Tabelle ist abhängig von dem jeweiligen Datentyp:

Datentyp Größe der Spalte in Bytes im SQL Server
Text Textlänge oder maximal 24 Zeichen
längere Textspalten werden extra Tabellen ausgelagert.
Datum/Zeit 8
Datum 3
Zeit 3
Numerisch 8
Ganzzahl 4
Logisch 1
GUID 8
ID / Kennzeichen 4

 

 

 

 

 

 

Darstellung in AG-VIP SQL:

In der Administration der Adresstabellen, wird bei der jeweiligen Adress-/Projekt-/Zusatztabelle oben rechts die aktuelle Feldanzahl und die genutzte Datensatzlänge angezeigt.

Wird die maximale Größe überschritten, wird die entsprechende Zahl rot und es erfolgt eine Warnung.

Sollte Sie beim Anlegen von Feldern Datensatzlänge die maximale Länge von 8060Bytes überschreiten, kann trotzdem der Benutzer das Risiko eingehen und das Feld anlegen.

Der SQL Server kann sehr effektiv und dynmaisch Spalten in Tabellen verwalten.

Dies kann jedoch dazu führen, dass Inhalte nicht komplett gespeichert werden können und es zu einem SQL Fehler beim Anlegen der Spalten kommt.

Lösung:

Wenn man einmal dieses Limit erreicht hat, reicht es nicht aus entsprechend viele Felder zu löschen, da der SQL-Server nicht automatisch in der Lage ist, den reservierten Speicher für die gelöschten Felder wieder freizugeben.

Beim Löschen von Feldern entstehen in der Datenbank Zeile Lücken, die nicht automatisch durch den SQL Server wiederverwendet werden können.

Um nicht benutzten Platz wieder zugänglich zu machen um evtl. Platz für neue Felder zu schaffen muss noch auf dem SQL-Server direkt über das Management Studio der folgende Befehl ausgeführt werden:

Syntax:

dbcc cleantable ('<Name der Datenbank>','<Name der betroffenen Tabelle>')

Beispiel:

dbcc cleantable ('AGVIP','tblAS0003')

ist die aktuelle Datenbank im Management Studio ausgewählt, kann anstatt des Datenbanknames 0 verwendet werden.

dbcc cleantable (0,'tblAS0003')

Erst durch den cleantable Aufruf wird die Tabelle reorganisiert und nicht mehr benötigte Speicher in der Zeile freigegeben.
Danach können evtl. neue Felder wieder angelegt werden.

Erscheint die Fehlermeldung allerdings wieder, ist vermutlich das physikalische Limit des SQL Servers erreicht und Sie können eine weiteren Spalten anlegen.

2023-09-01 12:41
Peter Brandt

Fehlermeldung: Arithmetischen Überlauf Datentyp Int IDENTITY umwandeln

Hinweis:

Dieser Artikel betrifft nur AG-VIP SQL Versionen 1.52.001 und älter. Ab der Version 2.00.001 ist dieser Vorgang für die tblLocks direkt integriert.

Beschreibung:
Jeder Eintrag in einer Tabelle, bekommt eine fortlaufende ID zugewiesen.
Diese ID hat den Datentyp INT und ist daher auf einen maximalen Wert von 2147483647 begrenzt.
Auch wenn ein Eintrag aus der Tabelle gelöscht wird und somit die ID wieder zur Verfügung stehen würde, wird diese nicht neu vergeben.
Theoretisch kann dieses Problem nur bei Tabellen auftreten, bei denen häufig Daten hinzugefügt und wieder gelöscht werden.
Ein Beispiel dafür ist die AG-VIP SQL Tabelle tblLocks.
Diese wird jedoch automatisch über den Backendservice regelmäßig bezüglich der IDENTITY zurückgesetzt.
Den aktuellen IDENTITY Wert kann man mit folgender Abfrage auf dem SQL-Server Managementstudio erhalten:

DBCC CHECKIDENT(<TabellenName>, NORESEED)

Lösung:
Auf der betroffenen Tabelle muss der IDENTITY Wert zurückgesetzt werden.
Dies kann durch folgende Abfrage auf dem SQL-Server Managementstudio erfolgen:

DBCC CHECKIDENT (<TabellenName>, RESEED, 1)

Wenn man dies über z.B. einen SQL-Job oder Hintergrundprozess regelmäßig durchführen möchte,
kann man dies abhängig von dem aktuellen kleinsten und größten ID-Wert abfragen z.B.
Kleinster Wert ist größer/gleich als: 1.879.048.192
Größter Wert ist größer/gleich als: 2.130.706.432
Dadurch ist gewährleistet, dass das Limit nicht erreicht wird und auch keine ID erneut vergeben wird, die eventuell noch in Benutzung ist.

IF (SELECT MIN([Id]) FROM <TabellenName>)>0x70000000 AND (SELECT MAX([Id]) FROM <TabellenName>)>0x7F000000 DBCC CHECKIDENT (<TabellenName>, RESEED, 1)

Hinweis:
Es ist zu beachten, dass dies nur möglich ist bei Tabellen, bei denen die Inhalte nach einer gewissen Zeit gelöscht werden.
Sollte die Tabelle Einträge besitzen die nie gelöscht werden, so ist es nicht möglich den IDENTITY Wert zurückzusetzen.
In so einem Fall ist es jedoch unrealistisch, dass das Limit von INT also 2147483647 erreicht wird.
Denn in der Regel erreichen Tabellen mit Einträgen die nicht nach einer bestimmten Zeit gelöscht werden,
Nie einen Wert der diesem Limit nahe kommt.

2021-08-25 08:19
Peter Brandt

Grundlagen für die Datensicherung von AG-VIP SQL über den SQL Server

Hintergrund

Datensicherung ist essentiell. Warum?

Nach einer Statistik werden Datenverluste verursacht zu

  • 60% durch Hardware Defekte unterschiedlicher Art
  • 25% durch menschliche Fehler und Fehlbedienung
  • 10% durch Software Fehler
  • 5% durch sonstiges (Viren etc.)

Ein falscher Import, ein falscher Löschvorgang, ein falsches Feld entfernt, eine Änderung an einem Hintergrundprozesse ... und ohne Datensicherung sind Ihrem dem Datenbestand evtl. Informationen verloren gegangen, die nicht wiederherstellbar sind.

Komplette Datensicherungen der entsprechenden Maschinen sind eine häufige Variante. D.h. virtuelle Maschinen oder physische Maschinen werden als Ganzes mit allen Festplatten gesichert. Meistens sind diese bei virtuellen Maschinen einfach einzurichten. Bei physischen Maschinen ist dazu spezielle Software nötig. (Hinweis: Eine SQL-Datenbank die benutzt wird, kann nicht kopiert werden). Der Nachteil ist, dass der Zugriff auf einen bestimmten Bestand zu einer bestimmten Zeit, nicht einfach möglich ist, da solche Sicherungen relativ selten laufen.

Sicherung über den MS SQL-Server sind hier der Beste weg. Über den SQL-Server lassen sich Sicherungen nach allen Möglichkeiten und Varianten einrichten.

Wichtig ist, dass die gesicherten Dateien natürlich auch in eine externe Datensicherung einbezogen werden, um auch gegen elementare Bedrohungen geschützt zu sein. Diese Sicherungen sollten auch außerhalb des Firmenstandortes gelagert werden.

Schutzfunktionen in AG-VIP SQL

Intern in AG-VIP SQL sollten aber auch alle Möglichkeiten genutzt werden, die vor Datenverlust durch Benutzer schützen. Das sind zum einen die eingebaute Papierkorb Funktion in AG-VIP und  das Änderungsprotokoll.

Die Daten im SQL Server

Eine SQL Datenbank besteht physisch gesehen aus mindestens 2 Dateien. Den Datendateien (Endung .mdf) und den sogenannten Transaktionslog-Protokolldateien (Im weiteren nur noch Protokolldateien genannt).

Die Datendateien (.mdf) enthalten die eigentlichen Tabellen und Daten und stellen immer den Zustand zum aktuellen Zeitpunkt dar.

In den Protokolldateien (.ldf) werden alle Transaktionen und Vorgänge protokolliert und mitgeschrieben. Diese Dateien sind essentiell wichtig, wenn man granulare häufige Schnappschüsse des Datenbestandes erreichen möchte. Also z.B. eine stündliche oder gar eine Sicherung alle 15 Minuten.

Wiederherstellungsmodell der Datenbank

Je nach Einstellung wird der Platz in der Protokolldatei sofort nach einer Transaktion wiederverwendet. Oder die Protokolldatei wächst immer weiter bis der Plattenplatz aufgebraucht ist.
Unser Support hat bei Kunden Datenbanken gesehen, bei denen die Datendateien ca. 200 MB groß waren. Aber Protokolldateien in der Größe von 600 GB!

Die Verwendung der Protokolldateien wird durch die Einstellung des Wiederherstellungsmodells in der Datenbank bestimmt. Gleichzeitig muss die Einstellungen für die Protokolldateien auch entsprechend der gewollten Backupstrategie angepasst werden.

Das Wiederherstellungsmodell der Datenbank kann über die Eigenschaften der Datenbank kontrolliert und verändert werden.

Dazu gehen Sie wie folgt vor:

  1. Starten Sie das MS-SQL Management Studio
  2. Wählen Sie die entsprechende Datenbank aus.
  3. Öffnen Sie die Eigenschaften der Datenbank (Rechter Mausklick -> Eigenschaften)
  4. Wählen Sie den Karteireiter Optionen.
  5. Hier werden drei Wiederherstellungsmodelle angeboten: Einfach, Vollständig und Massenprotokolliert. In diesem Artikel betrachte ich nur die Modelle Einfach und Vollständig.

Wiederherstellungsmodell Einfach

Datenbanken, die nach mit der Version 2.03.001 oder später angelegt wurden, werden im Wiederherstellungsmodell Einfach angelegt.

In diesem Modell werden alle Änderungen an der Datenbank im Transaktionsprotokoll aufgezeichnet und am Ende der Operation in die Datenbank übertragen.
Der Platz in der Protokolldatei wird anschließend wieder als verfügbar markiert.

D.h. bei großen Datenänderungen (zum Beispiel einem großen Import, oder einem Datenbankupdate) wächst die Protokolldatei entsprechend an. Die Größe bleibt auch nach der Operation erhalten, aber der Platz in der Datei wird  für die nächste Transaktion wiederverwendet.

Typischerweise haben Protokolldateien eine Größe zwischen 1-250 MB. Diese Protokolldateien können sofort jederzeit verkleinert werden auf eine Größe von ca. 1 MB.

Passende Backupstrategien sind:

  • Komplette Backups
  • Differentielle Backups
  • Kopie-Sicherung

In diesen Backup Modellen benötigen Sie immer nur die Backupdatei der Daten!
Ein separates Backup der Transaktionslog Dateien ist nicht notwendig.

 

Wiederherstellungsmodel Vollständig

Datenbanken die mit einer Version 2.02.002 oder davor angelegt wurden, werden im Wiederherstellungsmodell Vollständig angelegt.

In diesem Modell werden alle Änderungen an der Datenbank im Transaktionsprotokoll aufgezeichnet und am Ende der Operation in die Datenbank übertragen.
Im Unterschied zum Model Einfach wird der Speicherplatz in der Protokolldatei anschließend nicht wieder als verfügbar markiert. D.h. mit der nächsten Transaktion und Datenbankänderung wächst die Protokolldatei weiter. Der Platz in der Protokolldatei wird bei diesem Verfahren erst wieder freigegeben, wenn eine Sicherung des Transaktionsprotokolls durchgeführt wird.

D.h. ohne eine Sicherung des Transaktionsprotokolls wird im Wiederherstellungsmodell Vollständig die Protokolldatei immer weiterwachsen, bis Sie den gesamten Platz auf der Festplatte einnimmt und der SQL Server seinen Betrieb einstellt.

Im Modell Vollständig ist eine Sicherung der Protokolldateien zwingend notwendig.

Passende Backupstrategien sind:

  • Komplette Backups mit regelmäßigen Protokolldatei Sicherungen
  • Differentielle Backups mit evtl. regelmäßigen Protokolldateisicherungen
  • Kopie-Sicherung

In diesen Backup Modellen benötigen Sie immer die Backupdatei der Daten und je nach gewünschtem Wiederherstellungszeitpunkt die passenden Transaktionslog Dateien.

Sicherungsverfahren für die Daten

Unabhängig vom Wiederherstellungsmodell bietet der SQL Server mehrere Sicherungsverfahren an:

  • Vollsicherung,
  • Differentialsicherung,
  • Kopie-Sicherung.

Vollsicherung

Die Vollsicherung ist die Basis für alle Sicherungsformen. Die Vollsicherung enthält den gesamten Datenbestand zu einem bestimmten Zeitpunkt.

Die Vollsicherung ist auch immer der Ausgangspunkt und die Grundlage für alle anderen Sicherungsformen.

Für einen Restore-Vorgang mit einer Vollsicherung benötigen Sie genau eine einzige Datei: Die Datei der Vollsicherung. Der Restore-Vorgang ist einfach: Man gibt nur die Vollsicherung als Medium an, die importiert werden soll.

Differentialsicherung

Bei der Differentialsicherung wird immer zuerst ein vollständiges Backup erzeugt. Anschließend können eine beliebige Anzahl von differenziellen Sicherungen erfolgen.

Nach einer Vollsicherung führt jede Datenänderung an der DB dazu, dass bestimmte Teile der DB als geändert markiert werden. Diese werden dann in die differentielle Sicherung aufgenommen.

Jede nachfolgende differenzielle Sicherung umfasst dann nur noch die geänderten Daten, die seit der letzten Vollsicherung geändert wurden. D.h. jede neue differentielle Sicherung wird je nach Menge der Änderungen größer sein als die Datei zuvor.

Durch eine neue Vollsicherung werden alle Datenseiten wieder als umgeändert markiert.
Führt man also nach einer Vollsicherung direkt eine differenzielle Sicherung aus, dann ist diese Datei nahezu leer.

Wichtig sind immer nur die Vollsicherung und die letzte differenzielle Sicherung. Alle anderen differenziellen Sicherungen können benutzt werden, um Zwischenstände der Datenbank wiederherzustellen.

Für einen Restore-Vorgang benötigen Sie zwei Dateien: zuerst immer die Vollsicherung und die letzte Differentialsicherung. D.h. bei einem Restore-Vorgang muss die Vollsicherung und die Differentialsicherung direkt beim Restore angegeben werden. Der Restore erfolgt nicht nacheinander, sondern in einer Aktion.

Ist die Vollsicherung nicht mehr verfügbar, sind auch alle Differenz-Backupdateien wertlos.

Sicherung Transaktionsprotokolls

Die Sicherung des Transaktionsprotokolls ist nur im Wiederherstellungsmodell Vollständig möglich.

Das Transaktionsprotokoll wird gesichert und der Speicherplatz in der Protokolldatei wird wieder als verfügbar markiert. D.h. die Datei wird nicht verkleinert, aber intern wird eine neue Änderung der Datenbank den verfügbaren Platz wieder verwenden.

Nach der Sicherung des Transaktionsprotokolls lässt sich eine Protokolldatei auch verkleinern.

Die Transaktionslog-Sicherung umfasst nur die Änderungen an der Datenbank seit der letzten Vollsicherung bzw. seit der letzten Protokollsicherung. Die Größe der Sicherung richtet sich also ausschließlich nach der Menge der Datenänderungen.

Um einen Datensicherung zurückzuspielen ist es nötig bei einem restore Vorgang die Vollsicherung anzugeben und dazu alle weiteren Protokollsicherungen, die gemacht wurden. Alle Protokollsicherungen müssen lückenlos vorliegen. Alle Dateien werden im Restore Vorgang gemeinsam angegeben.

Kopie-Sicherung der Daten

Eine Kopie-Sicherung ist nichts anderes als eine Vollsicherung. Mit dem Unterschied, dass die Datenseiten in der Datenbank nicht zurückgesetzt werden und die nächste differenzielle Sicherung wieder die Daten sichert, die seit der letzten "echten" Vollsicherung geändert wurden.

Mit einer Kopie-Sicherung lässt sich also ein Schnappschuss der aktuellen Datenbank erzeugen ohne die Sicherungs-Sequenz selbst zu stören.

Kopie-Sicherung der Protokolldatei

Die Kopie-Sicherung des Transaktionsprotokolls ist nur im Wiederherstellungsmodell Vollständig möglich.

Wie bei der Kopie-Sicherung der Daten wird die Sicherungssequenz nicht gestört. Man erzeugt eine Kopie der Protokolldatei. Der interne Speicherplatz wird aber hierbei nicht freigegeben. Die Datei wird anschließend weiterwachsen, wenn es erneute Änderungen an der Datenbank gibt.

Die Kopie-Sicherung stört nicht die übliche Sequenz einer normalen Protokollsicherung.

Backupstrategien

Ausschließliche Verwendung von Vollsicherungen

Es werden ausschließlich Vollsicherungen erzeugt.
Das Wiederherstellungsmodel ist auf Einfach eingestellt. Eine Sicherung der Transaktionsprotokolle ist nicht notwendig.
Typisches Sicherungsinterval: 1-3 x wöchentlich.

Gut anwendbar:

  • Bei kleinen Datenbeständen
  • Bei Datenbeständen, bei denen eine Sicherung nicht in kurzen Abständen nötig ist.

Vorteile:

  • Einfache Rücksicherung.
  • Einfache Einrichtung.

Nachteile:

  • Wird das Sicherungsintervall kurz, kommen große Datenbestände zusammen.
  • Keine granulare Sicherung (in kurzen Zeitabständen) möglich.

 

Verwendung Vollsicherungen und Differenzialsicherungen

Es werden regelmässig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Einfach eingestellt.
Eine Sicherung der Transaktionsprotokolle ist nicht notwendig.
Typisches Sicherungsinterval: 1 x wöchentlich eine Vollsicherung. 1-2 x täglich eine differenzielle Sicherung.

Gut anwendbar:

  • Bei kleinen bis mittleren Datenbeständen
  • Bei wenigen Datenänderungen
  • Wenn eine schnelle einfache Rücksicherung nötig ist.

Vorteile:

  • Einfache Rücksicherung. (Rücksicherung der letzten Vollsicherung + Rücksicherung der passenden Differenzialsicherung)
  • Übersichtliche Anzahl von Dateien. Nur zwei Dateien werden für eine Rücksicherung benötigt.
  • Oft verwirrend, weil Vollsicherung und Differentialsicherung oft mit der gleichen Dateinamenerweiterung (.bak) erzeugt werden.

Nachteile:

  • Wird das Sicherungsintervall kurz, kommen große Datenbestände zusammen.
  • Keine granulare Sicherung (in kurzen Zeitabständen) möglich bzw. nur mit großem Volumen.
  • Große Datenänderungen am Anfang des Sicherungszyklus vergrößern auch alle folgenden Differentialsicherungen.
  • Die Differentialle Sicherung kann so lange dauern wie ein Vollsicherung (Belastung des SQL Servers ist größer)

 

Verwendung von Vollsicherungen mit Sicherung der Transaktionsprotokollen

Es werden regelmäßig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Vollständig eingestellt.
Typisches Sicherungsintervall: 1 x wöchentlich eine Vollsicherung. Sicherung des Transaktionsprotokolls im 15min - 4 Stunden Zyklen.

Gut anwendbar:

  • Bei jeder Form von Datenbestand
  • Sicherungsvolumen ist klein.
  • Dieses Sicherungsformat ist für alle AG-VIP SQL Nutzer geeignet und wird von uns favorisiert.

Vorteile:

  • Extrem kompaktes Sicherungsformat, da nur die Änderungen seit der letzten Vollsicherung aufgezeichnet werden.
  • Auch sehr kurze Sicherungsintervalle sind möglich (alle 5 Minuten)
  • Belastung des SQL Servers ist extrem gering während des laufenden Betriebes.
  • Damit werden extrem granulare Sicherungen möglich.

Nachteile:

  • Komplexe Rücksicherung. (Rücksicherung der letzten Vollsicherung + Rücksicherung aller notwendigen Transaktionsprotokollen). Bei einem Sicherungsintervall von 15min, können in einer Woche bis zu 400 Dateien zusammenkommen.

 

Verwendung von Vollsicherungen, zusätzlich mit Differenzialsicherungen und mit Sicherung der Transaktionsprotokollen

Es werden regelmäßig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Vollständig eingestellt.
In regelmässigen Abständen werden zusätzlich Differentialsicherungen erzeugt.
Typisches Sicherungsintervall: 1 x wöchentlich eine Vollsicherung. Differentielle Sicherung 1x täglich, Sicherung des Transaktionprotokolls im 15min - 4 Stunden Zyklen.

Gut anwendbar:

  • Bei jeder Form von Datenbestand
  • Wenn Sicherungsvolumen keine Rolle spielen.

Vorteile:

  • Einfacheres Rückspielen von Datensicherungen durch die Differentialsicherungen (2 Dateien: Voll- und Differentialsicherung, dazu die entsprechenden Transaktionssicherungen)

Nachteile:

  • Komplexe Rücksicherung. 
  • Dateiform Chaos (welche Sicherung ist welche Datei)

 

Weitere Artikel zu dem Thema

 

2023-08-28 12:14
Martin Richter

AG-VIP SQL führt manche Datenbank Operationen / Reports langsam aus. Auf dem SQL Server ist eine hohe Last zu sehen.

Hintergrund:

Es kommt vor, dass auf einmal AG-VIP SQL für bestimmte Abfragen, Auswertungen, Reports oder Datenbankoperationen ungewöhnlich viel Zeit benötigt. Oder auf dem SQL-Server benötigen bei manche Statistik-Updates auch eine zu lange Zeit.

Auf dem SQL-Server ist zeitgleich oft eine hohe CPU Last zu sehen.

Ursache:

Der SQL-Server benutzt intern Statistiken über die Verteilung der Daten um seine Abfragen zu optimieren.
In einer normalen Installation werden diese Statistiken automatisch durch den SQL-Server regelmäßig aktualisiert.

Wenn diese Statistiken nicht mehr mit dem realen Datenbestand übereinstimmen kann es vorkommen, dass die Abfrageoptimierung falsche Annahmen macht und ein SQL-Statement so falsch optimiert und die entsprechende Abfrage ein vielfaches der normalen Ausführungszeit benötigt.

Üblicher Weise sorgt der SQL-Server selber für entsprechende Aktualisierungen. Aber wenn viele Daten geändert wurde, oder ein Crash des Systems, ein Restore der Datenbank aufgetreten sind, kann es vorkommen, dass diese Statistiken nicht mehr passen.
Es gibt auch Einstellungen, die grundsätzlich eine automatische Aktualisierung ausschalten oder die Erfassungsrate der Analyse beschränken.
Wir raten dringend davon ab in den automatischen Mechanismus der Aktualisierung der Tabellen-Statistiken manuell zu beeinflussen.

Lösung:

Dieses Problem lässt sich mit einem Update der bestehenden Statistiken beheben. Dazu wird ein SQL Management Studio benötigt. Der Zugriff muss nicht unbedingt auf dem Server erfolgen, er kann auch von einem Client mit Zugriff auf die entsprechende Datenabnk erfolgen.
Auf der entsprechenden Datenbank wird ein Abfragefenster geöffnet und der folgende Befehl ausgeführt:

sp_updatestats;

Dieser Befehl kontrolliert alle Tabellen, aktualisiert die entsprechenden Tabellen bei denen es notwendig ist. Aktualisierungen erfolgen automatisch oder eben durch den Befehl sp_updatestats, wenn eine bestimmte Menge an Daten verändert oder hinzugefügt wurden oder die Aktualisierung länger her ist.
Im Meldungsfenster können die Ergebnisse der Aktualisierung kontrolliert werden. 

Mit dem folgenden Befehl kann ein Update der Statistik für alle Tabellen erzwungen werden.

EXEC sp_MSforeachtable 'PRINT ''?''; UPDATE STATISTICS ?;'

Es ist auch möglich diese Befehle über einen Hintergrundprozess als Job ausgeführt werden, wenn der verwendete Datenbank Nutzer über entsprechende Rechte verfügt.

Die Ausführung dieser Befehle kann je nach Größe der Datenbank ihr System entsprechenden belasten. 
Beide Befehle setzten dabei die Aktualisierungsquote auf den Systemstandard zurück. (Wie wir er es empfehlen). Sollten eigene fest definierte Quoten oder eine volle Erfassung aller Daten erfolgen soll, müssen entsprechende andere Optionen wie RESAMPLE, oder FULLSCAN verwendet werden.
Wenden Sie diese nur an, wenn Sie ein versierter SQL DB-Administrator sind.

Auf manchen Systemen mit einem hohen Datendurchsatz kann es ratsam sein, die entsprechende Aktualisierung der Statistiken regelmäßig (in einem Wartungsplan) auszuführen.

Wichtig:

Um diese Befehle zur Aktualisierung der Statistiken ausführen zu können muss das Login auf dem SQL Management Studio oder bei einem Hintergrundprozess der Login in der verwendeten Verbindungsdatei, den Zugriff auf die Datenbank als Owner oder der Login muss Mitglied der Rolle sysadmin sein. 

2023-03-01 11:34
Martin Richter

Datensicherung von AG-VIP SQL mit der Hilfe von Hintergrundprozessen

Hintergrund:

Datensicherungen sind eine essentielle Notwendigkeit für jeden, der in der modernen IT Welt Daten verarbeitet.

Die Sicherung Ihrer Daten im MS-SQL Server kann einfach über einen Wartungsplan im SQL Server erfolgen. Leider verfügen die SQL Express Varianten von Microsoft nicht über die Funktion der Wartungspläne.

Hier können die Hintergrundprozesse von AG-VIP SQL einfach Abhilfe schaffen. Mit der Hilfe der Hintergrundprozesse, die hier vorgestellt werden lassen sich komplette Sicherung in jeder Form und Variante einfach erzeugen.

Für weitere Informationen zum Thema Datensicherung verweise ich auf den Artikel  Grundlagen für die Datensicherung von AG-VIP SQL über den SQL Server

Zusammenfassung des hier verwendeten Backup Modelles

Die Hintergrundprozesse sind so gebaut, dass Sie für das Wiederherstellungsmodel Vollständig angewendet werden können. Verwenden Sie nur ein einfaches Wiederherstellungsmodell, benötigen Sie den Hintergrundprozess Backup-Transaktionsprotokoll nicht. Sie können diesen Hintergrundprozess dann deaktivieren oder löschen.

In den vorgegebenen Einstellungen erfolgt jeden Montag morgens in der Nacht eine Vollsicherung der Datenbank zum Wochenbeginn.

An allen Werktagen von Montag bis Freitag, zwischen 07:30 Uhr und 17:59 wird alle 2 Stunden das Transaktionsprotokoll gesichert.
Zusammen mit der Hauptsicherung lässt sich also jeder Datenstand im 2 Stundenrhythmus wieder herstellen.

Sie können diese Einstellungen nach Ihren Wünschen anpassen. Beachten Sie aber, dass für Vollsicherungen oder bei großen und starken Datenbankänderungen auch die Backupdateien stark an Größe zunehmen.
Allerdings ist der hier verwendete Platz für die Sicherung extrem effektiv genutzt. Es werden zwar häufig Transaktionsprotokollsicherungen erzeugt. Diese sind aber sehr kompakt und klein, weil aus unserer Erfahrung die Menge der Datenänderungen doch beschränkt ist. Selbst bei großen Datenbeständen.

Rücksicherung

Im Falle einer Rücksicherung benötigen Sie eine Vollsicherung und alle Sicherungen des Transaktionsprotokolls bis zum Wiederherstellungszeitpunkt, den Sie wünschen. Es darf keine einzelne der Sicherungen fehlen.
Bei der Rücksicherung (die auch unter einem anderen Namen erfolgen kann), müssen sofort die Vollsicherung und alle Sicherungen des Transaktionsprotokolles angegeben werden.
Die Wiederherstellung erfolgt in einem Zug.

Vorbereitung:

Die Hintergrundprozesse selbst müssen durch Sie nicht mehr angepasst werden. Außer Sie benötigen andere Sicherungsintervalle.

Alle notwendigen Einstellungen nehmen Sie über die globalen Datenbank Einstellungen in AG-VIP SQL vor.

Einrichten der Parameter für das Backup

  1. Öffnen Sie dazu die Administration -> Globale Einstellungen -> Variablen
  2. Legen Sie die folgenden 3 Variablen an:
  3. BackupSQL: Der Pfad aus der Sicht des SQL Servers in dem die Backups erfolgen sollen. Dieser Pfad muss angegeben werden.
  4. BackupJob: Der Pfad aus der Sicht des Servers, auf dem die Hintergrundprozesse laufen, zu dem Pfad in dem die Backups erfolgen. Dieser Pfad muss nicht eingestellt werden, wenn Hintergrundprozesse und SQL Server auf einer Maschine laufen. Ist dieser Wert nicht angegeben, wird der Wert aus BackupSQL übernommen.
  5. BackupDays: Aufbewahrungszeit in Tagen für die Backupdateien. Backupdateien, die älter als diese Anwahl von Tagen sind, werden gelöscht. Ist dieser Wert nicht definiert, gilt eine Aufbewahrungsdauer von 30 Tagen.

 

Einrichten der Hintergrundprozesse

  1. Entpacken Sie die Dateien aus der Zip-Datei, die an diesen Artikel angehängt wurde.
  2. Importieren Sie die Hintergrundprozesse, die Sie benötigen (siehe unten: Beschreibung der Hintergrundprozesse)
  3. Passen Sie die Zeitpläne entsprechend Ihren Gegenheiten und wünsche an.
  4. Vergessen Sie nicht die Hintergrundprozesse aktiv zu setzen.
  5. Testen Sie jeden der Prozesse durch eine einmalige Aktivierung.

Hintergrundprozess Backup-Vollsicherung

Die Vollsicherung erzeugt eine komplette Datensicherung Ihrer AG-VIP SQL Datenbank. Mit dieser Datei alleine kann die Datei komplett auf den Stand zurückgesichert werden, an dem diese Vollsicherung gemacht wurde.

Die aktuell voreingestellten Werte sehen vor, dass immer montags um 03:00 Uhr eine Vollsicherung erfolgt.

Die Vollsicherung erfolgt in den eingestellten Pfad (Systemvariable BackupSQL siehe oben) in eine Datei mit folgenden Namen:
Backup_NameDerDB_yyyymmddhhmmss.bak

 

Hintergrundprozess Backup-Transaktionsprotokoll

Das Transaktionsprotokoll muss nur gesichert werden, wenn Sie für Ihre Datenbank das Wiederherstellungsmodell Vollständig verwenden. Im Modell Einfach muss das Transaktionsprotokoll nicht gesichert werden bzw. kann auch nicht gesichert werden.
Sollten Sie diesen Hintergrundprozesse dennoch aktivieren, wird es zu einem Fehler kommen, dass ein Backup nicht erzeugt werden kann.

Das Transaktionsprotokoll umfasst alle Änderungen seit der letzten Sicherung des Transaktionprotokolles. Es erlaubt einfach nach einer Vollsicherung, jeden Teilstand der Datenbank mit den einzelnen Transaktionsprotokollsicherungen wiederherzustellen.
Die Größe der Sicherung richtet sich ausschließlich nach der Menge der Datenänderungen.

In der voreingestellten Backupstrategie wird das Transaktionsprotokoll zwischen 07:30 und 18:00 Uhr an allen Werktagen von Montag bis Freitag gesichert.

Die Sicherung des Transaktionsprotokolls erfolgt in den eingestellten Pfad (Systemvariable BackupSQL siehe oben) in eine Datei mit folgenden Namen:
Backup_NameDerDB_yyyymmddhhmmss.trn

 

 

Hintergrundprozess Backup-Bereinigung

Dieser Prozess dient ausschließlich dazu alte Backups, die nicht mehr benötigt werden, zu löschen.

Dazu wird die Systemvariable BackupDays (siehe oben) verwendet. Wird diese Variable nicht definiert, werden Backups, die älter als 30 Tage sind, entfernt.

Dieser Prozess löscht ausschließlich Dateien mit der folgenden Namensform, deren Datum im Namen yyyymmddhhmmss älter ist als die angegeben Tage von aktuellen Datum aus gerechnet.
Backup_NameDerDB_yyyymmddhhmmss*.bak
Backup_NameDerDB_yyyymmddhhmmss*.trn

 

Abschließender Hinweis

Mit den Backupdateien, die diese Prozesse erzeugen, können Sie flexibel jeden Datenstand wiederherstellen.
Um aber gegen einen Hardwareausfall geschützt zu sein, müssen Sie auch diese Backupdateien, auf ein externes Medien bringen und nach Möglichkeit sogar außer Haus aufbewahren.

Backup mit dem SQL Server Bordmitteln

Alternativ ist es auch möglich, eine Datensicherung mit den Wartungsplänen des SQL Servers auszufühen, dazu ist allerdings mindestens ein Micrsoft SQL Server Standard nötig. Die Express Versionen des SQL Servers verfügen über keine Wartungspläne.
Datensicherung für AG-VIP SQL mit SQL Server Wartungsplänen

 

Mehr zum Thema

2024-05-21 12:52
Martin Richter

Datensicherung für AG-VIP SQL mit SQL Server Wartungsplänen

Hintergrund:

Für die allgemeinen Grundlagen der Datensicherung lesen Sie bitte den folgenden Artikel.

Alle MS-SQL Server Editionen außer den SQL Express Versionen unterstützen Wartungspläne.
Wartungspläne erlauben es, einfach regelmäßige Tasks auf den eigenen Datenbanken auszuführen. Dazu zählen auch Backups des SQL Servers.

Für die Datensicherung auf einem SQL Express Server oder auch wenn Sie die Datensicherung über eigene Hintergrundprozesse durchführen wollen, lesen Sie bitte den folgenden Artikel [Link?].

Beispiel Szenario:

In dem hier vorgestellten Verfahren wird eine Vollsicherung jeweils zu Wochenbeginn (Montags um 03:00 Uhr) erzeugt. Gefolgt von Sicherungen des Transaktionsprotokolls jede Stunde, an jedem Tag zu den normalen Arbeitszeiten (zwischen 07:00 und 18:00 Uhr). Es steht Ihnen frei andere Rhythmen zu wählen. Beachten Sie aber immer die Anzahl der Dateien und Datenmengen die entstehen.
Die Aufbewahrung erfolgt über 2 Monate.
Dieses Sicherungsverfahren erlaubt es auf jeden Zustand der Datenbank rückwirkend für 2 Monate im Stundenrhythmus stündlich wiederherzustellen.

Da immer nur das Transaktionsprotokoll gesichert wird, hängt die Menge der Daten von der Anzahl der Änderungen in der Datenbank ab. Beachten Sie, dass für eine erfolgreiche Rücksicherung immer die Vollsicherung gefolgt von allen Sicherungen des Transaktionsprotokolles eingespielt werden müssen.

Einrichten eines neuen Wartungsplanes für das Backup

  • Starten Sie das SQL Managament Studio.
  • Wählen Sie den Abschnitt Verwaltung -> Wartungspläne
  • Mit der Rechten Maus klicken Sie auf Wartungspläne und wählen Wartungsplanungs-Assistent
  • Der Planungsassistent startet. 

  • Klicken Sie auf Weiter

Eigenschaften des Wartungsplanes angeben

  • Geben Sie dem Wartungsplan einen Namen (z.B. Backup)
  • Wählen Sie Getrennte Zeitpläne für jede Aufgabe
  • Klicken Sie auf Weiter

Wartungsplan Inhalt definieren

  • Wählen Sie Datenbank sichern (vollständig) aus
  • und sofern Sie auch das Transaktionsprotokoll sichern wollen Datenbank sichern (Transaktionsprotokoll)
    Bitte lesen Sie dazu unbedingt die Grundlagen für eine SQL Server Datenbanksicherung.
    Eine Sicherung des Transkationsprotokolles ist nur im Wiederherstellungsmodus Vollständig notwendig!
  • Wählen Sie zusätzlich Wartung bereinigen. Mit diesem Menüpunkt ist es möglich, die Anzahl der Sicherungen auf der Festplatte zu beschränken.
  • Klicken Sie auf Weiter.

Reihenfolge der Sicherungsvorgänge

  • Sie können die Reihenfolge der Tasks belassen. Die eigentliche Reihenfolge wird durch die unterschiedlichen Zeitpläne definiert.
  • Klicken Sie auf Weiter

 Vollsicherung konfigurieren

In diesem Schritte werden die Eigenschaften und vorgehensweise für die Vollsicherung definiert.

  • Wählen sie die Datenbank oder auch die Datenbanken, die gesichert werden sollen.
  • Klicken Sie auf den Karteireiter Ziel.

Auswahl des Sicherungszieles

Als Sicherungsziel kommt jede lokale Festplatte oder angeschlossenes USB Laufwerk am SQL Server in Frage.
Auf Netzwerklaufwerke kann nur zugegriffen werden, wenn der SQL Server Agent in einem entsprechenden Benutzerkontext läuft, der solch einen Zugriff erlaubt. Ist das der Fall kann man auch UNC Pfade auf anderen Servern angeben.

Vorgeschlagen wird das interne Verzeichnis für Backups.

  • Wählen Sie zusätzlich die Option Unterverzeichnisse für jede Datenbank erzeugen. Das erleichtert die Handhabung mit den Sicherungsdateien, weil alle Sicherungsdateien einer Datenbank immer in einem eigenen Verzeichnis liegen und nicht gemischt werden.
  • Klicken Sie auf Weiter.

Zeitplan für die Vollsicherung definieren

Als Zeitplan für eine Vollsicherung schlagen wir eine wöchentliche Sicherung vor. Es ist auch möglich ein engeres Sicherungsintervall zu definieren.

  • Klicken Sie auf Ändern für den Zeitplan.

  • Wählen Sie die entsprechenden Optionen.
  • Klicken SIe auf OK

  •  Der Zeitplan wird im Wartungsplan angezeigt.
  • Klicken Sie auf Weiter.

Sicherung des Transaktionsprotokolles konfigurieren

Eine Sicherung des Transaktionsprotokolles muss nur erfolgen, wenn der Wiederherstellungsmodus Vollständig für Ihre Datenbank ausgewählt wurde.
Sie sollten diesen Abschnitt also nur ausführen müssen, wenn Sie die Sicherung des Transaktionsprotokolles auch in den Tasks ausgewählt haben.
Ansonsten überspringen Sie diesen Abschnitt.

  • Wählen Sie wieder Ihre Datenbank aus, die gesichert werden soll. Erscheint hier Ihre Datenbank nicht, dann befindet sich Ihre Datenbank vermutlich nicht im Wiederherstellungsmodus Vollständig.
  • Klicken Sie auf Weiter

Auswahl des Zieles für die Sicherung

Wählen Sie als Ziel das gleiche Verzeichnis, wie Sie es schon für die Vollsicherung gemacht haben.

  •  Wählen Sie zusätzlich auch wieder Unterverzeichnis für jede Datenbank erstellen.
  • Klicken Sie auf Weiter.

 Zeitplan für die Sicherung des Transaktionsprotokolles definieren

Für das Transaktionprotokoll wählen Sie den geeigneten Ryhtmus, um eine mögliche Wiederherstellung in einem engen Raster zu erlauben, der aber auch nicht zu eng ist, um mit der Datenmenge Probleme zu machen.

In diesem Beispiel wird eine stündliche Sicherung erzeugt.

  • Klicken Sie auf Ändern für den Zeitplan.

  • Geben Sie den entsprechenden Zeitplan ein.
  • Klicken Sie auf OK

 

  •  Der Zeitplan wird im Wartungsplan angezeigt.
  • Klicken Sie auf Weiter

Bereinigung der Backupdateien definieren

In diesem Schritt können Sie definieren, wie lange Backupdateien aufbewahrt werden sollen.

  • Wählen Sie den entsprechenden Zeitraum aus.
  • Klicken Sie auf Ändern um den Zeitplan für die Bereinigung zu definieren.

Zeitplan für die Bereinigung der Datensicherungen

Der Zeitplan wird wie für die Vollsicherung gewählt. In diesem Falle 02:00 Uhr am Montag.

D.h. die Bereinigung (das Löschen alter Backups) erfolgt vor der eigentlichen nächsten Vollsicherung.

Berichtsoptionen

Wählen die Berichtsoptionen, die Sie benötigen.
In unserem Beispiel werden keine Berichte benötigt.

Abschließen des Wartungsplanes

Klicken Sie auf Fertigstellen um den Wartungsplan in der angegeben Form zu speichern.

 

Weitere Artikel zu dem Thema

 

2024-05-21 09:20
Martin Richter

MS-OLE DB Provider ab der Version 19.x sind nicht mit AG-VIP SQL bis Version 2.05.002 kompatibel

Beschreibung:

AG-VIP SQL unterstützt bis zur Version 2.05.002 drei verschiedene Datenbankprovider für den SQL Server, die mit unterschiedlichen SQL Server Versionen ausgeliefert wurden:

  • MS-SQL Server 2008 - SQL Server Native Client (SNAC)
  • MS-SQL Server 2012/2014/2016 - SQL Server Native Client (SNAC)
  • MS-SQL Server 2017/2019 - Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)

Microsoft hat nun für den MSOLEDBSQL Provider eine neue Versionsreihe 19.x veröffentlicht. Diese ist mit AG-VIP SQL bis zur Version 2.05.002 nicht mehr kompatibel. Die AG-VIP SQL Version 2.05.003 unterstützt auch die MSOLEDBSQL Provider ab der Version 19.x.

Beachten Sie auch, dass die MSOLEDB Provider ab der Version 19.x immer eine Verschlüsselung aktivieren. Das bedeutet, dass der SQL-Server auch entsprechend eingerichtet sein muss. Andernfalls ist eine Verbindung zur einer SQL-Datenbank über diesen Provider nicht möglich, solange bis die Verschlüsselung abgeschaltet wird.
In der Standard Einstellung der Provider der Version 18.x ist die Verschlüsselung ausgeschaltet. Kann aber eingeschaltet werden.

Alle MSOLEDBSQL Provider bis zur Version 18.x sind mit den aktuellen Versionen von AG-VIP SQL kompatibel.

Download Links:

MS-SQL OLE DB Provider v18 64bit
MS-SQL OLE DB Provider v18 32bit

Hinweis:

Die Microsoft OLD-DB Provider der Versionen 18.x und 19.x lassen sich parallel installieren.

Weitere Informationen:

Microsoft OLE DB Provider
Welcher OLE-DB Provider wird aktuell verwendet?

 

2024-02-12 12:47
Martin Richter

Telefonie (TAPI/VoIP)

Zur Kategorie

TAPI-Fehler finden und Anwahlprobleme erkennen

Problem:

Oft ist unklar, warum die Anwahl nicht funktioniert oder die Telefoniesoftware in der ein- oder anderen Weise reagiert.

Lösung:

Um dem Problem auf die Spur zu kommen, sollte ein TAPI/Telefon-Trace erzeugt werden. Das ist ein Protokoll der Kommunikation zwischen TAPI-Treiber (Der vom Hersteller der Telefonanlage kommt) und der Telefoniesoftware auf der anderen Seite.

Vorgehensweise: TAPI-Log aktivieren

AG-VIP SQL ist per Standard so eingestellt, dass immer ein Trace erzeugt wird.
Der Trace wird automatisch im temporären Verzeichnis des Benutzers gespeichert. Der Trace beginnt bei Programmstart und wird geschlossen, wenn das Programm beendet wird. Jeder erneute Programmstart überschreibt den alten Trace.

Gehen Sie also wie folgt vor

  1. Starten Sie AG-VIP SQL
  2. Führen Sie nun die Telefonate, die Probleme machen, z.B. Anwahl einer falschen Telefon-Nr. wird nicht erkannt.
  3. Beenden Sie AG-VIP SQL.
  4. Wählen Sie aus dem Windows-Menü START, AUSFÜHREN und geben %tmp% + ENTER-Taste ein.
  5. Der Windows-Explorer öffnet sich mit dem temporären Benutzer-Verzeichnis. Hier finden Sie die Datei AGVIP_Phone.LOG (vor der Version 2.0 hieß die Datei AGVIP_TAPI.log). Diese Datei können Sie mit jedem Texteditor öffnen. Die erste Spalte zeigt dabei die Uhrzeit in Millisekunden genau an.

Wenn Sie also einen Fehler protokolliert haben beenden Sie AG-VIP SQL und sichern Sie den Trace, bevor Sie mit der Arbeit fortfahren.

Seit der Version 2.02.002 werden die letzten 10 Logs in dem entsprechenden Verzeichnis gespeichert unter den Namen AGVIP_Phonen.LOG (n=1-9).
Sichern Sie alle Log-Dateien und merken sich die genaue Uhrzeit des Fehlers. Senden Sie diese Dateien bei Bedarf an den zuständigen Support.

Beispiel für einen verbundenen erfolgreichen ausgehenden Anruf:
11:18:05:34 Tapi::CTapiCall::CTapiCall
11:18:05:34 Tapi::CTapiCall::PrepareDialing Inp:"06181/97010"
11:18:05:34 Tapi::CTapiCall::PrepareDialing Pre:"+49 (6181) 97010"
11:18:05:35 Tapi::CTapiCall::PrepareDialing Out:"T00618197010"
11:18:05:35 Tapi::CTapiCall::MakeCall dwLine=9, dwAPIVersion=0x00020000
11:18:05:35 Tapi::CTapiControl::TapiEventThread dwMessage=LINE_REPLY, hDevice=0x00000000, dwParam1=0x000100ee, dwParam2=0x00000000, dwParam3=0x000100cc
11:18:05:35 Tapi::CTapiCall::MakeCall returns 0x000100ee 11:18:05:47 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=DIALTONE
11:18:05:47 Tapi::CTapiCall::GetCallInfo CalledID = "00618197010"
11:18:05:49 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=DIALING
11:18:15:65 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=CONNECTED
11:19:30:17 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=DISCONNECTED, dwCallStateDetail=0x00000000
11:19:30:18 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=IDLE
11:19:30:21 Tapi::CTapiControl::TapiEventThread dwMessage=LINE_REPLY, hDevice=0x00000000, dwParam1=0x000100bb, dwParam2=0x00000000, dwParam3=0x00000000
11:19:44:39 Tapi::CTapiCall::~CTapiCall


Der CALLSTATE gibt den aktuellen Leitungsstatus an. Am Callstate wird der aktuelle Zustand der Verbindung erkannt.

Dabei sind lt. TAPI-Dokumentation folgende CALLSTATES definiert

Beachten Sie bitte, dass nicht alle TSPs alle Callstates unterstützen bzw. melden.

  • LINECALLSTATE_ACCEPTED = 0x00000004
    The call was in the offering state and has been accepted. This indicates to other, monitoring, applications that the current owner application has claimed responsibility for answering the call. In ISDN, the accepted state is entered when the called-party equipment sends a message to the switch indicating that it is willing to present the call to the called person. This has the side effect of alerting (ringing) the users at both ends of the call. An incoming call can always be immediately answered without first being separately accepted.
  • LINECALLSTATE_BUSY = 0x00000040
    The call is receiving a busy tone. A busy tone indicates that the call cannot be completed. This occurs if either a circuit (trunk) or the remote party's station are in use.
  • LINECALLSTATE_CONFERENCED = 0x00000800
    The call is a member of a conference call and is logically in the connected state.
  • LINECALLSTATE_CONNECTED = 0x00000100
    The call has been established and the connection is made. Information is able to flow over the call between the originating address and the destination address.
  • LINECALLSTATE_DIALING = 0x0000010
    The originator is dialing digits on the call. The dialed digits are collected by the switch. Note that neither lineGenerateDigits nor TSPI_lineGenerateDigits will place the line into the dialing state.
  • LINECALLSTATE_DIALTONE = 0x00000008
    The call is receiving a dial tone from the switch. This means that the switch is ready to receive a dialed number.
  • LINECALLSTATE_DISCONNECTED = 0x00004000
    The remote party has disconnected from the call.
  • LINECALLSTATE_IDLE = 0x00000001
    The call exists but has not been connected. No activity exists on the call. This means that no call is currently active. A call can never transition out of the idle state.
  • LINECALLSTATE_OFFERING = 0x000000002
    The call is being offered to the station, signaling the arrival of a new call. The offering state is not the same as causing a phone or computer to ring. In some environments, a call in the offering state does not ring the user until the switch instructs the line to ring. For example this state is in use when an incoming call appears on several station sets but only the primary address rings. The instruction to ring does not affect any call states.
  • LINECALLSTATE_ONHOLD = 0x00000400
    The call is on hold by the switch. This frees the physical line. This allows another call to use the line.
  • LINECALLSTATE_ONHOLDPENDCONF = 0x00001000
    The call is currently on hold while it is being added to a conference.
  • LINECALLSTATE_ONHOLDPENDTRANSFER = 0x00002000
    The call is currently on hold awaiting transfer to another number.
  • LINECALLSTATE_PROCEEDING = 0x00000200
    Dialing has completed and the call is proceeding through the switch or telephone network. This occurs after dialing is complete and before the call reaches the dialed party, as indicated by ringback, busy, or answer.
  • LINECALLSTATE_RINGBACK = 0x00000020
    The station to be called has been reached, and the destination's switch is generating a ring tone back to the originator. A ringback means that the destination address is being alerted to the call.
  • LINECALLSTATE_SPECIALINFO = 0x00000080
    The call is receiving a special information signal that precedes a prerecorded announcement indicating why a call cannot be completed.
  • LINECALLSTATE_UNKNOWN = 0x00008000
    The call exists, but its state is currently unknown. This may be the result of poor call progress detection by the service provider. A call state message with the call state set to unknown may also be generated to inform the TAPI DLL about a new call at a time when the actual call state of the call is not exactly known
Was ist signifikant, wenn es zu keiner Verbindung kommt? 

Kommt es zu keiner Verbindung, dann werden im Trace die so genannten Disconnect Reasons wichtig. Ein Disconnect Reason gibt an, warum eine Verbindung nicht zustande kam oder abgebrochen wurde.

Beachten Sie bitte, dass nicht alle TSPs alle Disconnect Reasons unterstützen bzw. melden. Besonders problemtisch wird dies, wenn der TSP für die Anwahl einer falschen Nummer (LINEDISCONNECTMODE_BADADDRESS) einfach Besetzt returniert LINEDISCONNECTMODE_BUSY)

  • LINEDISCONNECTMODE_BADADDRESS
    The destination address is invalid.
  • LINEDISCONNECTMODE_BLOCKED
    The call could not be connected because calls from the origination address are not being accepted at the destination address. This differs from LINEDISCONNECTMODE_REJECT in that blocking is implemented in the network (a passive reject) while a rejection is implemented in the destination equipment (an active reject). The blocking can be due to a specific exclusion of the origination address, or because the destination accepts calls from only a selected set of origination address (closed user group). (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_BLOCKED
    is appropriate as a blacklisted response. For example, a modem has received an answer, gone more than six seconds without detecting Ringback, failed to connect a defined number of times, determines that the phone number is not valid to call, and issues a 'blacklisted' response.
  • LINEDISCONNECTMODE_BUSY
    The remote user's station is busy.
  • LINEDISCONNECTMODE_CANCELLED
    The call was cancelled. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_CONGESTION
    The network is congested.
  • LINEDISCONNECTMODE_DONOTDISTURB
    The call could not be connected because the destination has invoked the Do Not Disturb feature. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_FORWARDED
    The call was forwarded by the switch.
  • LINEDISCONNECTMODE_INCOMPATIBLE
    The remote user's station equipment is incompatible with the type of call requested.
  • LINEDISCONNECTMODE_NOANSWER
    The remote user's station does not answer.
  • LINEDISCONNECTMODE_NODIALTONE
    A dial tone was not detected within a service-provider defined timeout, at a point during dialing when one was expected (such as at a "W" in the dialable string). This can also occur without a service-provider-defined timeout period or without a value specified in the dwWaitForDialTone member of the LINEDIALPARAMS structure. (TAPI versions 1.4 and later)
  • LINEDISCONNECTMODE_NORMAL
    This is a normal disconnect request by the remote party. The call was terminated normally.
  • LINEDISCONNECTMODE_NUMBERCHANGED
    The call could not be connected because the destination number has been changed, but automatic redirection to the new number is not provided. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_OUTOFORDER
    The call could not be connected or was disconnected because the destination device is out of order (hardware failure). (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_PICKUP
    The call was picked up from elsewhere.
  • LINEDISCONNECTMODE_QOSUNAVAIL
    The call could not be connected or was disconnected because the minimum quality of service could not be obtained or sustained. This differs from LINEDISCONNECTMODE_INCOMPATIBLE in that the lack of resources may be a temporary condition at the destination. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_REJECT
    The remote user has rejected the call.
  • LINEDISCONNECTMODE_TEMPFAILURE
    The call could not be connected or was disconnected because of a temporary failure in the network; the call can be reattempted later and is expected to eventually complete. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_TEMPFAILURE
    is appropriate as a delayed response. For example, a modem getting a busy signal or equivalent too many times in a particular time period concludes that the number should not be called again until a defined time has elapsed and issues a 'delayed' response.
  • LINEDISCONNECTMODE_UNAVAIL
    The reason for the disconnect is unavailable and will not become known later.
  • LINEDISCONNECTMODE_UNKNOWN
    The reason for the disconnect request is unknown but may become known later.
  • LINEDISCONNECTMODE_UNREACHABLE
    The remote user could not be reached
Wie behandelt AG-VIP SQL die unterschiedlichen Disconnect Modes?

Kommt es zu keiner Verbindung muss, AG-VIP SQL versuchen, dass Telefonat entsprechend zu behandeln. Warum es nicht zu einer Verbindung kam, wird anhand des Disconnect Mods bestimmt. AG-VIP SQL unterscheidet hier in 4 Kategorien: Besetzt, Keine Verbindung, falsche Nummer und Fehler.

Bei einem fatalen Fehler wird der Workfow sdofort abgebrochen und das Ticket gilt als nicht bearbeitet. Dies ist eine Vorsichtsmassnahme, damit nicht durch einen Fehler in der TK-Anlage z.B. alle Tickets als nicht verbunden eingestuft werden.

AG-VIP SQL behandelt die entsprechenden Dicsonnect-Modes Fälle wie folgt:

Behandlung als BESETZT:

  • NORMAL
  • BUSY

Behandlung als KEINE VERBINDUNG:

  • REJECT
  • NOANSWER
  • UNREACHABLE
  • DONOTDISTURB
  • OUTOFORDER

Behandlung als TELEFON-NR FALSCH:

  • NUMBERCHANGED
  • BADADDRESS
  • INCOMPATIBLE

Behandlung als finaler Fehler, der zum Projektstopp führt: 

  • UNKNOWN
  • PICKUP
  • FORWARDED
  • CONGESTION
  • UNAVAIL
  • NODIALTONE
  • TEMPFAILURE
  • QOSUNAVAIL
  • BLOCKED
  • CANCELLED
Quellen:

2023-02-27 08:17
Martin Richter

Asterisk TK-Anlage - TAPI

Was ist Asterisk?

Asterisk ist eine kostenlose OpenSource VoIP Telefonanlage (PBX) auf Linux-Basis. Der Download und weitere Informationen ist unter www.asterisk.org möglich.
Uns erreichen zunehmend mehr Anfragen, von Unternehmen, die die Asterisk Telefonanlage einsetzen.

Administration / Einrichtung

Asterisk kann flexibel angepasst werden. Die Flexibilität führt aber zu einem hohen Maß an Komplexität, der über Kommandozeilen gesteuerten PBX. (http://pbx-manager.de/asterisk.php)
Mittlerweile hat sich ein ganzer Dienstleistungsbereich entwickelt, der Asterisk TK-Anlagen für Kunden anpasst und administriert. Selbst große Unternehmen, wei z.B. Aspect, sind auf diesen Dienstleisterzug aufgesprungen.

Zunehmend mehr Unternehmen nutzen Asterisk, um darauf eine eigene grafische Oberfläche zu setzen, und dadurch eine vollwertige leistungsstarke VoIP-TK-Anlage anzubieten.

Daneben gibt es eine Reihe kostenpflichtiger Zusatzprogramme zu Asterisk.

TAPI-Treiber für Asterisk

Es gibt eine große Anzahl TAPI-Treiber für die Asterisk PBX. Allerdings habe ich bislang noch keine Informationen über die Leistungsmerkmale oder Qualität der Treiber enthalten. Ich bin dankbar für Infos:

Hilfreiche Links:

 

2016-01-25 10:21
support@grutzeck.de

Aufbereitung von Telefonnummern zur Anwahl

Beschreibung:

Jede nicht kanonische Telefonnummer, die AG-VIP wählt, wird zuerst in eine kanonische Form umgewandelt. Kanonische Telefonnummern, erkennbar an einem führenden +-Zeichen, werden nicht weiter aufbereitet. (Siehe auch: Kanonische Telefonnummern)

Damit AG-VIP eine Telefonnummer anpassen kann muss diese in Ländervorwahl, Ortsvorwahl und Durchwahl zerlegt werden. Dazu wird in einer Telefonnummer nach Trennzeichen gesucht ( / \ ( ) - ).

Wie die Telefonnummernaufbereitung arbeitet kann im Tapi-Log von AG-VIP verfolgt werden.
In diesem Log sind 3 Zeilen, die den Ablauf der Umwandlung von der Telefonnummer, die der Anwender angegeben hat, bis hin zur wählbaren Nummer aufzeigt. Diese Zeilen beginnen mit dem Text Tapi::CTapiCall::PrepareDialing.

  1. "Inp:" = Input zeigt die Nummer, wie sie vom Anwender angegeben wurde
  2. "Pre:" = Prepared (Aufbereitet) Dies ist die Telefonnummer wie sie von AG-VIP in eine kanonische Telefonnummer umgewandelt wurde. Unter Berücksichtigung von Trennzeichen.
  3. "Out :" = Output (Ausgabe) Die dritte Zeile zeigt nun die tatsächliche Nummer, die von der Tapi zur Anwahl verwendet wird. Die Umwandlung von 2. auf 3. erfolgt intern durch die Tapi und wird von den Systemeinstellungen beeinflusst.

    In den Systemeinstellungen werden die Standorteinstellungen, unter Start -> Systemsteruerung -> Drucker und andere Hardware -> Telefon-und Modemoptionen, Reiter Wählregeln definiert. Diese Systemeinstellungen beeinflussen die Umwandlung der kanonischen Telefonnummer in die zu wählende Telefonnummer.

    Alle nachfolgenden Beispiele wurden mit den folgenden Standortparametern durchgeführt:
Amtsholung  = 0
Land: Deutschland = 49
Vorwahl  = 06181
Rufnummer = 97010
Übergebene Rufnummer: 06181/9701-0
  • Inp:"06181/9701-0"
  • Pre:"+49 (6181) 9701-0"
  • Out:"097010"

AG-VIP kann in diesem Beispiel aufgrund der angegebenen Trennzeichen ( / ), die Vorwahl von der Rufnummer trennen.
Da keine Ländervorwahl angegeben ist, fügt AG-VIP diese einfach vor die angegebene Nummer und setzt, unter Weglassen der führenden Null, die Ortsvorwahl in Klammern ( ) vor die eigentliche Durchwahl.
Nun erfolgt die eigentliche Umwandlung der kanonischen Telefonnummer, bei der die Tapi die Ländervorwahl und die Ortsvorwahl unterdrückt, da sie mit den Standortdaten identisch sind

Übergebene Rufnummer : 0618197010
  • Inp:"0618197010"
  • Pre:"+49 0618197010"
  • Out:"00618197010"

AG-VIP kann in der vorgegebenen Telefonnummer keine Trennzeichen erkennen. Es bleibtnichts weiter übrig, als die gesamte Telefonnummer zu übernehmen. Allerdings muss noch die Ländervorwahl des Standortes vor die Nummer gesetzt werden (+49).
Dadurch kann keine Unterdrückung der Ortsnetznummer erfolgen. Die Nummer hat nach kanonischer Schreibweise keine Ortsvorwahl.

Übergebene Rufnummer: 0049/6181/97010
  • Inp:"0049/6181/97010"
  • Pre:"+49 (6181) 97010"
  • Out:"097010"

Hier erkennt AG-VIP, aufgrund der Trennzeichen ( / ) die Länderwahl und die Vorwahl und wandelt diese ins typische kanonische Format um. Die Anwahl erfolgt entsprechend.

Übergebene Rufnummer: 0043123/1234455
  • Inp:" 0043123/1234455"
  • Pre:"+43 (123) 1234455"
  • Out:"000431231234455"

AG-VIP erkennt 0043 für die Österreich und trennt so Ländervorwahl und Ortsnetzvorwahl. Entsprechend erfolgt dann die Aufbereitung der zu wählenden Nummer. 0 für die Amtsholung. 0043 für Österreich gefolgt von Ortsnetzvorwahl und Durchwahl.



Übergebene Rufnummer: +49 (6181) 9701-0
  • Inp:"+49 (6181) 9701-0"
  • Pre:"+49 (6181) 9701-0"
  • Out:"097010"

Dies ist eine komplett korrekte und vollständig der Norm entsprechende kanonische Telefonnummer. AG-VIP verändert diese Telefonnummer nicht weiter. Die Anwahl erfolgt wie oben bereits besprochen.

Übergebene Rufnummer: +49 (06181) 4567890
  • Inp:"+49 (06181) 4567890"
  • Pre:"+49 (06181) 4567890"
  • Out:"04567890"

Die kanonische Telefonnummer enthält eine überflüssige 0 in der Ortsvorwahl. Diese wird ignoriert und die Anwahl erfolgt wie bekannt.

Übergebene Rufnummer: +1 (123) 456789
  • Inp:"+1 (123) 4567890"
  • Pre:"+1 (123) 4567890"
  • Out:"00011234567890"

Auch hier eine komplett korrekte und vollständig der Norm entsprechende kanonische Telefonnummer. Der Ruf geht in die USA (Ländervorwahl: +1). Die Tapi fügt nicht nur die Amtsholung ein, sondern ergänzt nach aktuellem Standard auch die Ländervorwahl 001 für die USA. Es folgt die entsprechende Ortsnetzkennzahl und Durchwahl.

Übergebene Rufnummer: +49 (89) 456789
  • Inp:"+49 (89) 4567890"
  • Pre:"+49 (89) 4567890"
  • Out:"00894567890"

Auch hier eine komplett korrekte und vollständig der Norm entsprechende kanonische Telefonnummer. In diesem Beispiel handelt es sich um einen Call innerhalb Deutschlands, jedoch in ein anderes Ortsnetz (München: 089).
Beim ausgehenden Ruf wird nun zunächst wieder die Null für die Amtsholung eingefügt, gefolgt von der (089) für München und der Durchwahl.

Übergebene Rufnummer: +49 6181 97010
  • Inp:"+49 6181 97010"
  • Pre:"+49 6181 97010"
  • Out:"0618197010

Diese Nummer wird vom AG-VIP bereits als kanonische Telefonnummer erkannt und nicht weiter verändert. Allerdings kann auch hier die Ortsvorwahl nicht unterdrückt werden, da korrekte Schreibweise der Ortsvorwahl (Nutzung von Klammern) vorliegt..

Übergebene Rufnummer: +49618197010
  • Inp:" +49618197010"
  • Pre:" +49618197010"

Es erfolgt eine Fehlermeldung in AG-VIP
Diese kanonische Nummer ist falsch formatiert. Auf den Ländercode muss mindestens ein Leerzeichen folgen. Es wird eine Fehlermeldung angezeigt und das Telefonat mit "falscher Telefonnummer" beendet.

2011-08-17 15:38
Martin Richter

Einrichtung und Installation der virtuellen Telefonanlage AG-PBX

A. Was ist die virtuelle AG-PBX?

Die virtuelle AG-PBX ist eine Simulation einer Telefonanlage, die über eine 3rd-Party-TAPI-Schnittstelle verfügt.
Dabei können Sie frei definieren, über wie viele interne und Amtsleitungen, die PBX verfügen soll, mit welcher Häufigkeit Ereignisse, wie besetzt, keine Verbindung, falsche Telefon-Nr. usw. auftreten. Wie schnell eine Verbindung zustande kommt und wie lange ein Gespräch im Durchschnitt dauern soll (Min, Max).

B. Einrichtung der virtuellen AG-PBX

Die virtuelle AG-PBX besteht aus zwei Komponenten:

  • AGPBXCallSimulator.tsp
  • AGPBXCallSimulator.ini

Die AGPBXCallSimulator.ini Datei enthält die Einstellungsparameter für die virtuelle AG-PBX. Die Datei AGPBXCallSimulator.tsp ist der TAPI-Treiber für die virtuelle AG-PBX.

  1. Kopieren Sie bitte die Datei AGPBXCallSimulator.tsp sowie die Datei AGPBXCallSimulator.ini in das c:\windows\system32 Verzeichnis.
  2. Wechseln Sie nun in die SYSTEMSTEUERUNG von Windows und öffnen den Bereich TELEFON UND MODEMOPTIONEN.
  3. Wechseln Sie in den Reiter ERWEITERT und aktivieren den HINZUFÜGEN-Schalter.
    Sie finden dort nun den neuen TAPI-Treiber AG-PBX SIMULATOR SERVICE PROVIDER.
  4. Diesen TAPI-Treiber bitte markieren und HINZUFÜGEN-Schalter wählen.
  5. Verlassen Sie die Windows SYSTEMSTEUERUNG.
  6. Nehmen Sie ggf. Anpassungen an der Simulation vor, in dem Sie die AGPBXCallSimulator.ini bearbeiten. Liegt Ihnen keine *.INI Datei vor, wird diese beim ersten Start des TSP automatisch erzeugt. Die Simualationsparameter sind dann ggf. anzupassen.
  7. Der TSP erzeugt automatisch eine Protokolldatei mit dem Namen AGPBXCallSimulator.log. In dieser Datei werden alle Anwahlversuche und die vom TSP errechnete zufällige Reaktion, die vorgesehen ist verzeichnet. Es werden insgesamt 9 Protokoll Dateien rotierend erhalten.
C. Erklärung der Simulationsparameter der AGPBXCallSimulator.ini
Im Block [TSP]
  • NumInternalDigits=2
    Anzahl der internen Nebenstelle.
    "2" = zweistellige Nebenstellen-Nr., z.B. 20, 30, 40
  • BaseLineNo=10
    Niedrigste Nummer der Nebenstelle (bei zweistelligen Nebenstellennummern 10, bei dreistelligen 100, etc.)
  • IntLines=20
    Anzahl der internen Leitungen zu den Agentenarbeitsplätzen, Beginnend mit BaseLineNo.
  • ExtLines=20
    Anzahl der externen Leitungen zum Amt hin
  • Im Block [Outbound]:
    • Busy=5 
      Prozentzahl, wie viel Prozent aller Anwahlversuche als "besetzt" retourniert werden sollen. "5" führt zu 5% besetzten Anwahlversuchen.
    • WrongNumber=2
      Prozentanzahl der Anwahlversuche, die als falsche Telefon-Nr. gelten "2" ergibt 2 Prozent ungültiger Ruf-Nr.
    • NoConnect=23
      Prozentanzahl der Verbindungen, bei denen niemand nach x Sekunden abnimmt. "23" In 23 % aller Anwahlversuchen nimmt die Gegenstellt das Gespräch nicht an.
    • MinTimeToConnect=5
      Minimale Zeit, die die PBX benötigen soll, um eine erfolgreiche Verbindung herzustellen.
    • MaxTimeToConnect=25
      Maximale Anzahl Zeit in Sekunden, die die PBX auf eine Verbindung wartet. Danach gilt der Anwahlversuch als "Keine Verbindung"
    • MinTimeConnection=30
      Minimale Gesprächsdauer für ein verbundenes Telefonat.
    • MaxTimeConnection=90
      Maximale Gesprächsdauer in Sekunden für ein verbundenes Telefonat. Die PBX-Simulation verteilt dabei die Gesprächsdauern zwischen minimaler und maximaler Gesprächsdauer gleichmäßig.
    • TimeUntilBusy=4000
      Anzahl Millisekunden, die vergehen, bis die AG-PBX einen Besetzt-Status liefert.
    • TimeUntilWrongnumber=4000
      Anzahl Millisekunden, die die virtuelle AG-PBX benötigt, um eine falsche Ruf-Nr. zurück zu liefern.
Im Block [Timing]:

Alle Angaben in diesem Block sollten nicht verändert werden. Hier kann das Zeitverhalten des TAPI-Treibers bei den verschiedensten Nachrichten des TSPs fein eingestellt werden. Alle Werte sollten auf 200 Millisekunden stehen bleiben.

  • Reply=200
  • Offering=200
  • Accepted=200
  • Answer=200
  • Dialtone=200
  • Dialing=200
  • Proceeding=200
  • CallstateDisconnect=200
  • CallstateIdle=200
  • Ringback=3000

Durch den Eintrag Ringback wird gesteuert alle wieviel Millisekunden ein "Ruf geht durch" Signal vom TSP zurückgemeldet werden soll. "3000" bedeutet, dass ein Ringback alle 3 Sekunden erfolgt. Wird dieser Wert auf 0 gesetzt, dann erfolgt nur ein einziges Ringback Signal.
Dies kann bei einem Test die Ausgabe in die Protokolle erheblich minimieren.

2011-08-17 15:37
Martin Richter

Kanonische Telefonnummern

Beschreibung:

Grundsätzlich muss man unterscheiden zwischen der Telefonnummer, die ein Anwender in AG-VIP anlegt und der Nummer, die physikalisch auf einer Leitung gewählt wird.
Im Allgemeinen findet immer eine Aufbereitung der Telefonnummer statt. Dies wird unter Andrem notwendig, da eine Telefonnummer selbst noch keine Amtsholung, oder auch keine nationalen- oder regionalen Sonderheiten berücksichtigt.

AG-VIP benutzt intern für die Anwahl das kanonische Telefonnummernformat.
D.h. alle Telefonnummern werden, sofern sie nicht bereits im kanonischen Format vorliegen in ein kanonisches Telefonnummern Format gebracht. Aus dieser kanonischen Telefonnummer wird dann die physikalisch zu wählende Nummer erzeugt.

Es ist dringend anzuraten Telefonnummern kanonisch zu hinterlegen, denn nur diese Schreibweise garantiert, dass eine Adresse unabhängig vom Standort korrekt angewählt wird. Der kanonischen Schreibweise ist es vor allem auch möglich Standorte in unterschiedlichen Ländern zu unterstützen. Ohne diese einheitliche Schreibweise kann keine standortunabhängige Vorwahl garantiert und unterstützt werden.

Der Aufbau einer kanonischen Telefonnummer ist wie folgt:
+ Ländervorwahl Leerzeichen [(Ortsvorwahl) Leerzeichen] Rufnummer
z.B: +49 (6181) 9701-0

Kanonische Telefonnummern beginnen immer mit einem Pluszeichen. AG-VIP SQL verändert kanonische Telefonnummern nicht weiter, sonder übergibt diese direkt an die TAPI, die daraus die physikalisch zu wählende Telefonnummer aufbaut.

Auf das Pluszeichen folgt der Ländercode. (z.B. 49 für Deutschland) gefolgt von einem Leerzeichen. Der Ländercode wird immer angegeben, auch wenn die Telefonnummer selbst dasselbe Zielland hat.

Auf den Ländercode getrennt mit einem Leerzeichen folgt die regionale Vorwahl, die in Klammern gesetzt wird. Eine regionale Vorwahl ist optional bei kanonischen Telefonnummern. Die regionale Vorwahl hat im Allgemeinen keine führende 0. Sollte dennoch eine führende 0 angegeben werden, so wird diese ignoriert.

Auf die Vorwahl folgt, wieder durch ein Leerzeichen getrennt die Durchwahl. Der Aufbau der Durchwahl (weitere Trennzeichen wie Komma, Bindestrich, Schrägstrich) spielt keine Rolle.

Für die Umwandlung der kanonischen Telefonnummern werden die Standardort Einstellungen in der Systemsteuerung (unter START -> SYSTEMSTEUERUNG -> DRUCKER UND ANDERE HARDWARE -> TELEFON-UND MODEMOPTIONEN die WÄHLREGELN) herangezogen.
Hier wird der Standardort definiert von dem aus der Anruf erfolgt. Hinterlegt sind hier das eigene Land, die eigene Vorwahl und eine evtl. notwendige Ziffernfolge zur Amtsholung.

Für die in diesem Artikel aufgeführten Beispiele gilt, das aktuelle Land: Deutschland (Ländercode 49), Vorwahl für Hanau (06181), Amtsholung für eine TK_Anlage (0).
Innerhalb von AG-VIP SQL ist es zusätzlich möglich eine Projektvorwahl zu definieren, die der kompletten Nummer voran gestellt wird.

Die zu wählende Nummer enthält zuerst die Projektvorwahl, anschließend wird die Amtsholung angehängt. Der weitere Aufbau der Nummer hängt entscheidend von Übereinstimmung bzw. Unterschied von Länder- bzw. Vorwahlnummer ab.
Ist der Ländercode der zu wählenden Nummer identisch zum Ländercode des Standortes wird keine weitere Ziffernfolge zur Wahl hinzugefügt. Ist der Ländercode unterschiedlich wird die notwendige Ziffernfolge angehängt die einen internationalen Ruf in das entsprechende Zielland auslöst.
Ist der Ländercode identisch wird als nächstes die zu wählende Vorwahl mit der Vorwahl des Standortes verglichen. Ist diese identisch wird nur noch die Durchwahl zur zu wählenden Nummer hinzugefügt. Unterscheidet sich Vorwahl oder Ländercode wird die entsprechende Vorwahlnummer und Durchwahl angehängt.

Beispiel Standort:
Projektvorwahl = 4711
Amtsholung = 0
Land: Deutschland = 49
Vorwahl = 6181

Zu wählen eine internationale Nummer in den USA: +1 (123) 4567890
Es wird gewählt: 4711 0 001 123 4567890
(die Leerzeichen dienen nur der besseren Darstellung, diese werden normalerweise nicht eingefügt).

Zu wählen ein nationaler Ruf nach München: +49 (89) 4567890
Es wird gewählt: 4711 0 089 4567890

Zu wählen ein nationaler Ruf ins gleiche Ortsnetz: +49 (6181) 4567890
Es wird gewählt: 4711 0 4567890

2011-08-17 15:39
Martin Richter

Die Behandlung von Disconnect Modes in AG-VIP SQL

Beschreibung: 

Immer wieder kommt es zu Problemen, wenn Tapi-Treiber einen falschen Disconnect Mode (Art und Weise der Trennung) zurückgeben.

Zur Erklärung:

Der Disconnect Mode dient dazu um zu ermitteln warum eine Verbindung nicht hergestellt werden konnte oder warum eine Verbindung beendet wurde. Der Disconnect Mode ist eine zusätzliche Angabe zu dem Callstate (Anrufstatus) LINECALLSTATE_DISCONNECT angegeben. In einem Tapi-Trace findet sich diese Information in solch einer Zeile wieder:
09:55:16:33 Tapi::CTapiControl::TapiCallState hCall=0x000100de, dwCallstate=DISCONNECTED, dwCallStateDetail=NORMAL
Im allgemeinen wird der Disconnect Mode beim aktiven Beenden eines Telefonates, also durch Auflegen des Anwenders oder bei einem Timeout ignoriert. Dennoch sollte der Tapi-Treiber hier LINEDISCONNECTMODE_NORMAL returnieren.
Wichtig wird der Disconnect Mode beim Verbindungsaufbau, denn hier hilft er zwischen 4 Möglichkeiten beim Nichtzustandekommen eines Telefonats zu unterscheiden.

  1. Besetzt
  2. Nicht erreicht (vorübergehend nicht erreichbar)
  3. Falsche Telefonnummer
  4. Fataler Fehler bei der Anwahl (TK-Anlage gestört und ähnliches)

Diese entsprechenden Zustände werden durch die folgenden Modi angezeigt, alle Modi werden hier mit ihrem hexadezimalen Zahlenwert aufgeführt:

LINEDISCONNECTMODE_NORM 0x00000001
LINEDISCONNECTMODE_UNKNOWN 0x00000002
LINEDISCONNECTMODE_REJECT 0x00000004
LINEDISCONNECTMODE_PICKUP 0x00000008
LINEDISCONNECTMODE_FORWARDED 0x00000010
LINEDISCONNECTMODE_BUSY 0x00000020
LINEDISCONNECTMODE_NOANSWER 0x00000040
LINEDISCONNECTMODE_BADADDRESS 0x00000080
LINEDISCONNECTMODE_UNREACHABLE 0x00000100
LINEDISCONNECTMODE_CONGESTION 0x00000200
LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
LINEDISCONNECTMODE_UNAVAIL 0x00000800
LINEDISCONNECTMODE_NODIALTONE 0x00001000
LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
LINEDISCONNECTMODE_OUTOFORDER 0x00004000
LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
LINEDISCONNECTMODE_BLOCKED 0x00020000
LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
LINEDISCONNECTMODE_CANCELLED 0x00080000
Im Normalfall werden diese Werte so interpretiert:
  1. Besetzt
    LINEDISCONNECTMODE_NORMAL, LINEDISCONNECTMODE_BUSY
  2. Nicht erreicht
    LINEDISCONNECTMODE_REJECT, LINEDISCONNECTMODE_NOANSWER, LINEDISCONNECTMODE_UNREACHABLE, LINEDISCONNECTMODE_DONOTDISTURB, LINEDISCONNECTMODE_OUTOFORDER
  3. Falsche Telefonnummer
    LINEDISCONNECTMODE_NUMBERCHANGED, LINEDISCONNECTMODE_BADADDRESS, LINEDISCONNECTMODE_INCOMPATIBLE
  4. Fataler Fehler:
    LINEDISCONNECTMODE_UNKNOWN, LINEDISCONNECTMODE_PICKUP, LINEDISCONNECTMODE_FORWARDED, LINEDISCONNECTMODE_CONGESTION, LINEDISCONNECTMODE_UNAVAIL, LINEDISCONNECTMODE_NODIALTONE, LINEDISCONNECTMODE_TEMPFAILURE, LINEDISCONNECTMODE_QOSUNAVAIL, LINEDISCONNECTMODE_BLOCKED, LINEDISCONNECTMODE_CANCELLED

Es gibt nun leider Tapi-Treiber, die sich nicht an die Vorgaben halten, und bei einem Besetzt z.B. den LINEDISCONNECTMODE_UNKNOWN returnieren. Dies würde allerdings von AG-VIP SQL als fataler Fehler interpretiert. Die Folge ist, dass AG-VIP SQL eine Fehlermeldung ausgibt und die weitere Anwahl in dem Projekt unterbindet. Dies geschieht damit nicht durch einen Fehler in der TK-Anlage das Projekt weiter läuft. AG-VIP SQL ist in der Lage bis zu 20 Telefonate pro Sekunde anzuwählen. Würde ein Fehler also immer als Besetzt interpretiert werden würde das Projekt weiterlaufen und in wenigen Minuten wären alle Telefonate als Besetzt erkannt worden und evtl. auf einen späteren Zeitpunkt verschoben. AG-VIP SQL muss deshalb die fatalen Fehler mit einem Stop der automatischen Anwahl quittieren.

Welche Zuordnung aktuelle gilt wird bei Programmstart im Tapi-Trace verzeichnet (ab Hotfix 1.07.009 Build 249):

09:19:08:03 Tapi::CTapiControl::SetDisconnectModesBusy 0x00000021, NORMAL,BUSY 
09:19:08:03 Tapi::CTapiControl::SetDisconnectModesNoConnect 0x00044144, REJECT,NOANSWER,UNREACHABLE,OUTOFORDER,DONOTDISTURB
09:19:08:03 Tapi::CTapiControl::SetDisconnectModesWrongNumber 0x00002480, BADADDRESS,INCOMPATIBLE,NUMBERCHANGED
09:19:08:04 Tapi::CTapiControl::SetDisconnectModesError 0x000b9a1a, UNKNOWN,PICKUP,FORWARDED,CONGESTION,UNAVAIL,NODIALTONE,TEMPFAILURE,QOSUNAVAIL,BLOCKED,CANCELLED
09:19:08:04 Tapi::CTapiControl::CheckDisconnectModesSetting Covered=0x000fffff

Um solche Fehler korrigieren zu können ist es möglich, diese Standardwerte für Besetzt, nicht erreicht, falsche Telefonnummer und fataler Fehler zu überschreiben bzw. andere Vorgaben zu machen. Dies ist möglich ab dem Hotfix 1.07.009 Build 249.

Anpassung über dir AGVIP.INI oder AGOvderdialTAPI.INI

Über die AGVIP.INI bzw. AGOvderdialTAPI.INI im Programmverzeichnis ist es möglich für die zentrale Netzwerkinstallation bzw. den Overdialserver eine Änderung vorzunehmen. Das nachfolgende Beispiel zeigt wie der LINEDISCONECTMODE_UNKNOWN als Besetzt interpretiert und nicht als Fehler.
Der entsprechende Abschnitt [TAPI] muss evtl. noch in der INI Datei angelegt werden. Ist der Abschnitt nicht vorhanden, können Sie diesen untenstehenden Textblock direkt an das Ende der Datei kopieren. 

[TAPI]
DisconnectMode_Busy=0x00000023
DisconnectMode_NoConnect=0x00044144
DisconnectMode_WrongNumber=0x00002480
DisconnectMode_Error=0x000b9a18
Anpassung über die Registry

Über die registry kann eine entsprechende Änderung Arbeitsplatz bezogen durchgeführt werden.

Dazu können in der Registry im Zweig:
32bit Betriebssystem:
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes

64bit Betriebssystem:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes

Die entsprechende hexadezimalen Werte überschrieben werden.

Eine entsprechende Reg-Datei findet sich nachfolgend. In diesem 32bit Beispiel wird der LINEDISCONECTMODE_UNKNOWN als Besetzt interpretiert und nicht als Fehler.

REGEDIT4 
[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes] 
"Busy"=dword:00000023
"NoConnect"=dword:00044144
"WrongNumber"=dword:00002480
"Error"=dword:000b9a18

Speichern Sie den markierten Textblock als .REG Datei ab und Doppelklicken Sie die Datei auf den Rechnern, an denen die Änderung durchgeführt werden soll.

Entsprechend zeigt der Trace die Veränderung an:
11:45:29:53 Tapi::CTapiControl::LoadDisconnectModesSetting 
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesBusy 0x00000023, NORMAL,UNKNOWN,BUSY
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesNoConnect 0x00044144, REJECT,NOANSWER,UNREACHABLE,OUTOFORDER,DONOTDISTURB
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesWrongNumber 0x00002480, BADADDRESS,INCOMPATIBLE,NUMBERCHANGED
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesError 0x000b9a18, PICKUP,FORWARDED,CONGESTION,UNAVAIL,NODIALTONE,TEMPFAILURE,QOSUNAVAIL,BLOCKED,CANCELLED

Zur Sicherheit, dass die Einstellungen, bzw. Änderungen korrekt sind, wird zusätzlich eine Kontrollzeile mit ausgegeben, die im Normalfall so aussieht:

11:45:29:55 Tapi::CTapiControl::CheckDisconnectModesSetting Covered=0x000fffff

Bei Fehlern zeigt diese Zeile Probleme mit einer Doppel- oder Falschbelegung an.

Wir bitten darum, dass Änderungen an diesen Einstellungen nur in enger Absprache mit der Hotline durchgeführt werden, da hier Fehler fatale Folgen haben können. Auf eine detaillierte Beschreibung wie diese Werte aufgebaut werden müssen, wird deshalb an dieser Stelle verzichtet.

 

2019-06-21 10:55
Martin Richter

Wie funktioniert die Suche nach Telefon-Nr.?

Beschreibung des Verrfahrens ab der Version 1.43.004.669 (17.11.2015):

AG-VIP SQL speichert alle Telefonummern einer Adresse in einem eigenen aufbereiteten Format in einer extra Tabelle für jede Adresse.
Sind Felder mit Telefonnummern auch in einem Ticket vorhanden, existiert auch eine entsprechende Tabelle für das Projekt.

Über diese Tabelle erfolgt die Telefonummernsuche direkt über einen SQL Query. Das erlaubt eine extrem schnelle Suche. (Weitaus schneller als das alte Verfahren siehe unten).

Wird eine Adresse oder Ticket angelegt bzw. geändert, wird dieser Index sofort für diese Adresse oder dieses Ticket aktualisiert. D.h. die Telefonnummernsuche funktioniert sofort für eine Adresse, die im User Interface angelegt wird.

Beim Import von Datensätzen werden Adressen über das Makro-Interface angelegt, oder direkt in die SQL Tabelle importiert, dann wird dieser Index anhand des Änderungsdatums der Adressen aktualisiert. D.h. für alle Adressen, die seit der letzten Indexaktualsierung geändert oder angelegt wurden, werden die Telefonnummen im Index auch aktualisiert und nachgepflegt.

Die Aktualisierung im Batch erfolgt asynchron in einem Hintergrundprozess, der die geänderten Daten in diese spezielle Tabelle eingetragen. Ein Update dieser Tabelle erfolgt automatisch ca. alle 7 Minuten.

Achtung: Werden Adressen oder Telefonnumernfelder in der Datenbank extern über SQL Statements geändert oder gesetzt, dann muss auch dafür gesorgt werden, dass das Änderungsdatum der Adressen oder Tickets geändert wird. Andernfalls kann der Index nicht korrekt aktualisiert werden. Beim Erzeugen eines neuen Datensatzes wird das AngelegtDatum  im allgemeinen durch die Vorgaben automatisch gesetzt.


Beschreibung des Verfahrens vor der Version 1.43.004.669 (17.11.2015):

Damit Datensätze in der Datenbank, bei der Vielzahl an Telefonnummernfeldern und der unterschiedlichen Schreibweisen schnell gefunden werden bedient sich AG-VIP SQL eines internen Telefonnummernfilters.

Dieser Telefonnummernfilter untersucht bei einer Suche die Telefonnummer und ermittelt, die für diese Telefonnummer gültigen Land und PLZ Bereiche. Anschließend erfolgt die Suche nur noch für Adressen mit diesem Land bzw. dieser Postleitzahl.
Dadurch wird die Anzahl der zu durchsuchenden Adressen entscheidend eingeschränkt.

Mögliche Nebeneffekte:

Wird nun eine Telefonnummer mit einer Vorwahl abgespeichert zu der die entsprechende Postleitzahl nicht passt, dann ist es möglich, dass diese Adresse nicht gefunden wird.
Wird also die Telefonnummer +49 (6181) 9701-0 (Ortsnetz Hanau, PLZ 63452) unter einer Adresse mit der PLZ 45359 (Essen) abgespeichert, so kann der Datensatz durch die Telefonnummernsuche nicht gefunden werden. Die Telefonnummernsuche würde die Vorwahl 06181 immer dem PLZ Bereich 63* zuordnen und nur diese Adressen durchsuchen.

Gleiches gilt wenn z.B. die Telefonnummer +49 (6181) 9701-0 unter dem Land AUT (Österreich) abgespeichert wird. Die Suche würde nur deutsche Adressen einschließen.

Telefonnummern von Mobilfunkgeräten und 0700/0800 o.ä. Nummern werden grundsätzlich ohne PLZ-Einschränkung gesucht.

Man kann den Telefonnummernfilter ganz abschalten, in dem die Einträge unter dem Menüpunkt Extras -> Optionen leer gesetzt werden. Dies hat jedoch zur Folge, dass die Suche nach Telefonnummern gravierend mehr Zeit beansprucht.

Weiterhin ist anzumerken, dass der aktuelle Telefonnummernfilter nur eine Optimierung für Deutsche Telefonnummer hat. D.h. wird AG-VIP SQL nicht in Deutschland betrieben oder ist es an ein Telefonnetz angeschlossen, dass die Telefonnummern relativ zu einem anderen Staat ausgibt, dann können ebenfalls entsprechende Adressen nicht gefunden werden.

Die Schreibweise der Telefonnummern in AG-VIP SQL spielt im Allgemeinen keine Rolle. Die Telefonnummernsuche ist hier flexibel und erkennt alle gängigen Schreibweisen:

  • +49 (6181) 9701-0 (diese kanonische Schreibweise wird empfohlen)
  • 0049 6181 97010
  • 06181/97010
  • (06181) 9701-0
Nutzung von AG-VIP SQL außerhalb von Deutschland:

In diesem Fall ist das Abschalten des Telefonnummernfilters zwingend erforderlich.

Wenden Sie sich an unseren Support um zu erfragen ob für das entsprechende Land ein angepasster Telefonnummernfilter vorliegt.

Siehe auch:

Kanonische Telefonnummern

2017-12-06 09:34
Martin Richter

Verwendung des Schalters "Falsche Telefonnummer" in der Telefonleiste.

Problembeschreibung: 

Es gibt viele TAPITreiber, die "falsche" Telefonnummern nicht korrekt erkennen. Die meisten dieser fehlerhaften TSPs beenden das Gespräch sofort mit "Besetzt".

Nur ca. 2% dieser fehlerhaften TSPs haben eine weitere Fehlfunktion: Sie stellen die Ansage wie "Falsche Rufnummer" zum Agenten durch. D.h. die Ansage wird durchgestellt. Das Telefonat aber nicht beendet und so wie ein erfolgreiches Telefonat behandelt. (Vergleichbar einem Ruf zu einem Anrufbeantworter)

Die eigentliche Lösung ist in der Installation eines korrekten TSP zu suchen:

Wenden Sie ich an Ihren Hersteller Ihres TSPs und verlangen eine entsprechende Korrektur bzw. ein Update der Software.
Weiterhin gibt es natürlich die Möglichkeit, eine TK-Anlage mit korrekt funktionierende TAPI-Treiber einzusetzen oder eine andere CTI-Middleware. Gerne unterstützen wir Sie bei der Beratung oder Auswahl.  

Lösungsmöglichkeit für die TSPs die eine Ansage durchstellen und bei der keine TSP-Version existiert die falsche Rufnummern korrekt behandelt: 

Sie können in der Oberflächen einen Schalter aktivieren, den der Anwender anklicken kann, wenn dieser Fall eintritt. (Falsche Rufnummer)

ACHTUNG: Es ist dem Agenten möglich, über diesen Schalter Telefonate abzulehnen und als "Falsche Telefonnummer" einzustellen. Gegen diesen Missbrauch gibt es keinerlei Kontrollmöglichkeit.

Historische Entwicklung:

Dieser Schalter war bis zur Version 1.10.003 in der Anwendung AG-VIP SQL vorhanden und wurde von uns wegen technischer Probleme aus dem Produkt entfernt.

Ab der Version 1.20.011.434 steht Ihnen diese Funktionalität wieder zur Verfügung.

Aktivierung des Schalters: 

Der Schalter kann entweder in der AGVIP.INI für alle Benutzer oder in der Registry über den Eintrag eines Schlüssels aktiviert werden.

Einschalten über die AGVIP.INI:
Man öffnet die relevante AGVIP.INI Datei über einen Editor. Im Abschnitt [TAPI] wird der folgende Eintrag ergänzt:

[Tapi]
Phone_AllowButtonWrongNumber=1

Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.
Existiert kein Abschnitt mit dem Namen [TAPI], so kann dieser am Ende der INI Datei angelegt werden.

Einschalten über die Registry:
Im Registry-Editor wird im Abschnitt
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\
Ein Unterschlüssel TAPI angelegt. In diesem wiederum ein Abschnitt PhoneFunctions
In diesem Abschnitt wird nun ein neuer DWORD Eintrag erzeugt mit dem Namen AllowButtonWrongNumber. Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.

Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben -  wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind. 

Bekannte Probleme:

Unter Umständen kann es beim Einschalten dieser Option auf einzelnen Arbeitsstationen zu einer falschen Anzeige der Schalterleiste für Telefonate kommen. Es ist möglich, dass der Schalter beim ersten Start nicht korrekt angezeigt wird. Dies kann auch jeden Arbeitsmodus einzeln betreffen (Adressentabelle, Projektmodus, Workflow, Skript).
Durch ein zurücksetzen der Schalterleiste kann dies behoben werden. Dies geschieht durch einen Rechtsklick auf die Schalterleiste Anpassen -> Symbolleisten -> Markieren von Anruf -> Zurücksetzen oder durch Klicken auf ?Alle Zurücksetzen?.
Dieses Problem kann auf einzelnen Rechner auftreten und nicht vermieden werden. Es kann auch nach einem Update auftreten. Hängt aber nur direkt mit diesem neuen Schalter zusammen.
Es tritt nur einmalig auf.

Detailierter technischer Hintergrund:

Funktionsweise:
In der Anwahlphase (Status Amt verfügbar - DIALTONE, Ruf erfolgt - DIALING, oder Ruf geht durch - RINGBACK) kann mit diesem Schalter sofort der Status ?Falsche Telefonnummer? erzeugt werden.  Einer dieser Anrufstatis muss gemeldet werden.
Der Abbruch ist sowohl in der freien Anwahl, als auch im Workflow möglich. Der Effekt ist identisch zu der Vorgehensweise, wenn der TSP (Tapi-Service-Provider) eine falsche Telefonnummer meldet (Disconnect Reason BADADDRESS).
Der Anruf wird sofort beendet. Es erfolgt eine neue Anwahl.

Einschränkung:
Dieser Schalter nützt nichts, wenn durch einen TSP, direkt Besetzt (BUSY) gemeldet wird, wenn eine falsche Telefonnummer erkannt wird.
Diese Funktion hat also nur eine Wirkungsweise, wenn eine Ansage erfolgt, aber das Telefonat selbst weder mit einem CONNECT noch durch einen DISCONNECT beendet wird. Nur in diesem Fall hat der Benutzer auch nur eine Chance den Schalter anzuklicken.
Wird der Schalter nicht angeklickt würde sonst das Telefonat nach der Wartezeit als ?Nicher erreicht? (NOCONNECT) bewertet.

Weitere Informationen: 

Welche Fehler bzw. Probleme hier auftreten, lässt sich ohne Probleme über einen Tapi-Trace ermitteln.
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=36&artlang=de

2015-08-18 08:28
Ulrich Sticker

Kompatibilität von AG-VIP SQL zu Elsbeth Predictive Dialer

AG-VIP SQL ist ab der Version 1.44.000 zu den folgenden Elsbeth Programmversionen und Bestandteilen kompatibel.

Frontend:

Die folgenden Frontendversionen werden unterstützt:
3.5, 3.6, 4.1, 5.0, 5.4, 6.2

Sollte eine neuere Elsbeth Version installiert sein, zu der unsere Software nicht komaptibel ist, dann kann man entsprechende ältere Elsbeth Frontend und Backend Module  auf den betroffenen Client Rechner oder auch auf dem Backend Server installieren.

Alle Elbseth Predictive Dialer sind zu älteren Frontend Versionen kompatibel.

Backend:

Als Elsbeth Backend Server können alle Server bis einschließlich derVerrsion 5.4 verwendet werden. Versionen 6.0 werden bisher nicht unterstützt. Es kann aber jeder Elsbeth Predictive Dialer der Versionen 6.x und höher ohne Probleme mit einem Elsbeth Backend Dienst der Version 5.4 verwendet werden.

Alle Elbseth Predictive Dialer sind zu älteren Backend Versionen kompatibel.

Zur Erklärung:

  • Das Elsbeth Backend ist der Service der mit der Hilfe des AGVIPElsbethBackend Modules die Daten aus unserer Datenbank ausliest. Der Service wird vorzugsweise auf dem Elsbeth Server selbst oder auf dem Datenbank Server installiert.
  • Die Elsbeth Frontend Software ist ein COM Modul, dass auf jedem Client Rechner installiert werden muss. Das Elsbeth Frontend ist Bestandteil der Elsbeth Software und wird von AG-VIP SQL direkt genutzt.

Anmerkung:

AG-VIP SQL unterstützt nicht alle Funktionen und Fetaures des Elsbeth Predictive Dialers. Bitte beachten Sie, dass nur die Grundfunktionen angesprochen wqerden können.

Für weitere Informationen dazu wenden Sie sich bitte an Ihren Fachhändler sollten Sie spezielle Funktionen des Elsbeth Dialers benötigen.

2017-05-31 10:04
Martin Richter

Interne Einstellungen der TAPI-Funktionen in AG-VIP SQL

Einige Funktionen der Telefonie in AG-VIP SQL können angepasst werden. Diese Schalter dienen dazu bestimmte Funktionalitäten ein- bzw. auszuschalten, oder das Verhalten von AG-VIP SQL zu verändern.
In den meisten Fällen ist dies nur notwendig, wenn die TAPI-Treiber bzw. TSP (Telephony Service Provider), vom Standard abweichen oder Fehlverhalten aufweisen. In einigen dieser Fälle können über die hier vorgestellten Schalter Anpassungen vorgenommen werden.

Die hier angegebenen Schalter sollten nur angewendet werden, wenn dies mit dem Support abgesprochen wurde!!!

Die Schalter können entweder in der AGVIP.INI für alle Benutzer abgelegt werden, oder in der Registry über den Eintrag eines Schlüssels aktiviert werden, die dann nur für diese Maschine gelten. Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben damit - wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind.
Änderungen an den Standardeinstellungen werden auch im TAPI-TRace mit aufgezeichnet!

Phone Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix Phone_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\Phone
AllowButtonWrongNumber (Standardwert 0) ab Version 1.20.009.422

Eine Erklärung dieses Schalters findet sich in dem Artikel:
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=125&artlang=de

AllowConsultantCall (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich über die R-Taste eine Rückfrage einzuleiten, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so können keine Rückfragen über die R-Taste ausgeführt werden auch wenn der TSP diese Funktion unterstützt.

AllowConferenceCall (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich nach einleiten einer Rückfrage eine Telefonkonferenz zu beginnen, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so können keine Telefonkonferenzen ausgeführt werden auch wenn der TSP diese Funktion unterstützt.

AllowSwapHold (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich nach einleiten einer Rückfrage zwischen dem gehaltenen Telefonat und dem aktiven Telefonat zu makeln, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so ist das Makeln nicht möglich auch wenn der TSP diese Funktion unterstützt.

AllowSearchForSecondCall (Standardwert 0) ab Version 1.50.001.728

Ist dieser Wert ungleich 0, wird auch bei einem aktiven Telefonat eine globale Suche angestoßen, wenn ein zweiter Call durch die TAPI gemeldet wird. Dies war der Standard bis zur Version 1.44.000.686. Dies wurde aber als Fehlverhalten angesehen weil, die globale Suche zum aktuellen Telefenat dadurch vernichtet wurde. Über diesen Schalter kann nun das alte Verhalten wieder hergestellt werden.
Grundsätzlich ist dies aber Abhängig vom TAPI Treiber, ob dieser bei einem Verbundenen Telefonat ein anklopfen zulässt.

Miscellaneous Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix MiscSetting_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\MiscSetting
CallDelay (Standardwert 0msec) ab Version 1.21.000.446

Über diesen Wert kann eine Verzögerung zwischen Telefonaten erzwungen werden. Der Wert hier gibt die Anzahl von Millisekunden an, die nach dem Idle, des letzten Telefonates bis zum Beginn des nächsten Telefonates mindestens vergehen müssen.
Der Wert kann hier zwischen 0 Millisekunden und 2000 Millisekunden gewählt werden. Beachten Sie, dass AG-VIP SQL im Workflow eine Mindestverzögerung von 100msec aus technischen Gründen automatisch vorsieht, auch wenn hier ein Wert von 0 eingetragen wird.

InboundEventDelay (Standardwert 250msec) ab Version 1.40.001.523

Wenn ein eingehendes Telefonat ankommt, kann mit diesem Wert der Start der Suche einer Adresse verzögert werden. In dem Moment in dem der Ruf über den TSP signalisiert wird ist evtl. die rufende Nummer noch nicht bekannt. Diese kommt evtl. mit einer späteren Statusmeldung. Der Wert in Millisekunden gibt an, wie lange AG-VIP SQL warten soll bis die Suche gestartet wird.

InboundUseOnlyDigits (Standardwert=0) ab Version 1.43.002.641

Wird dieser Wert auf 1 gesetzt wird bei einem eingehenden Telefonat alle nicht numerischen Zeichen aus der rufenden Nummer entfernt. Manche TSPs liefern auchBuchstaben kombinationen was allerdings sehr selten ist. Grundsätzlich hat AG-VIPÜ SQL mit solchen Nummern kein Problem.

LineSetupTransferOnlyWaitForDialtone (Standardwert=0) ab Version 1.43.002.641

Bei dem Aufbau einer Rückfrage werden bei manchen TK-Anlagen der aktuelle Call nicht sofort auf OnHoldPendingTransfer gestellt.  Üblicherweise wartet AG-VIP SQL mit der Anwahl der Rückfrage bis der neue Ruf sich im status Dialtone befindet und der aktuelle Ruf gehalten wird. (OnHoldPendingTransfer). Wird dieser Wert auf 1 gesetzt wartet AG-VIP SQL nur auf den Wählton der aufzubauenden Verbindung. Das aktuelle Telefonat muss noch nicht gehalten sein. (Dieser Schalter ist zum Beispiel bei Mitel/AAstra Anlagen notwendig).

OutboundDialOnlyDigits (Standardwert=0) ab Version 1.43.002.641

Wird dieser Wert auf 1 gesetzt wird vor der Anwahl alle nicht numerischen Zeichen (außer # und *) aus der zu rufenden Nummer entfernt. Bei der Nummernaufbereitung ist es möglich das auch Buchstaben im Wählstzring erscheinen. Manche TSPs kommen damit nicht zurecht.

PreferCalledIDtoRedirectingID (Standardwert=0) ab Version 1.43.003.653

Für die Ermittlung der gerufenen Nummer werden normalerweise die Felder RedirectingID und CalledID verwendet. In dieser Reihenfolge. Bevorzugt wird also normalerweise der Inhalt des Feldes RedirectingID wird also hier ein Wert zurückgegeben wird der Wert in CalledID ignoriert. Das Feld CalledID wird nur verwendet wenn RedirectingID leer bleibt.

Wird der Schalter PreferCalledIDtoRedirectingID auf 1 gesetzt, wird zuerst das Feld CalledID ausgewertet und erst dann das Feld RedirectingID.

SwapCallerAndCalledID (Standardwert=0)

Ist dieser Wert 1, dann werden die Informationen CallerID (CLIP), und CalledID (gerufene Nummer) des Telefonates getauscht. Wird der Wert auf 1 gesetzt bedeutet dies, dass die gerufene (i.a.W. eigene Telefonnummer) wird als Datensatz in AG_VIP SQL gesucht wird.
Warnung: Änderungen hier können zu Fehlfunktionen in AG-VIP SQL führen. Änderungen dürfen nur in Absprache mit dem Support durchgeführt werden.

 

DisconnectMode Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix DisconnectMode_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes
Busy (Standardwert 0x00000021)
NoConnect (Standardwert 0x00044144)
WrongNumber (Standardwert 0x00002480)
Error (Standardwert 0x000b9a1a)
AnsweringMachine(Standardwert 0x00000000)

Eine Erklärunng der entsprechenden Einträge findet sich in dem separaten Artikel:
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=83&artlang=de
Warnung: Änderungen hier können zu Fehlfunktionen in AG-VIP SQL führen. Änderungen dürfen nur in Absprache mit dem Support durchgeführt werden.

Beispiel:

AGVIP.INI 

Nachfolgend ein Beispiel für Auschnitt aus der INI Datei, der die Standardwerte darstellt, die gelten, wenn keine Einträge gemacht werden.

[Tapi]
; Phone features in the UI
Phone_AllowButtonWrongNumber=0
Phone_AllowConsultantCall=1
Phone_AllowConferenceCall=1
Phone_AllowSwapHold=1
Phone_AllowSearchForSecond_Call=0

; Miscellaneous settings
MiscSetting_InboundEventDelay=250
MiscSetting_InboundUseOnlyDigits=0
MiscSetting_LineSetupTransferOnlyWaitForDialtone=0
MiscSetting_CallDelay=0
MiscSetting_OutboundDialOnlyDigits=0
MiscSetting_PreferCalledIDtoRedirectingID=0
MiscSetting_SwapCallerAndCalledID=0

; Disconnect mode settings
DisconnectMode_Busy=0x00000021
DisconnectMode_NoConnect=0x00044144
DisconnectMode_WrongNumber=0x00002480
DisconnectMode_Error=0x000b9a1a
DisconnectMode_AnsweringMachine=0x00000000

Registry: 

Nachfolgen ein Export einer REG-Datei mit den Standardeinstellungen. Sind keine Einstellungen vorhanden gelten diese Standardeinstellungen:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi]

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\PhoneFunctions]
"AllowButtonWrongNumber"=dword:00000000
"AllowConsultantCall"=dword:00000001
"AllowConferenceCall"=dword:00000001
"AllowSwapHold"=dword:00000001
"AllowSearchForSecondCall"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\MiscSetting]
"CallDelay"=dword:00000000
"InboundEventDelay"=dword:0000000FA
"InboundUseOnlyDigits"=dword:00000000
"LineSetupTransferOnlyWaitForDialtone"=dword:00000000
"OutboundDialOnlyDigits"=dword:00000000
"PreferCalledIDtoRedirectingID"=dword:00000000
"SwapCallerAndCalledID"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes]
"Busy"=dword:00000021
"NoConnect"=dword:00044144
"WrongNumber"=dword:00002480
"Error"=dword:000b9a1a
"AnsweringMachine"=dword:00000000

2017-02-28 14:59
Martin Richter

Verschiedene Registry-Äste bei einem 64bit Betriebssystem (32bit & 64bit Ast)

Beschreibung:
AG-VIP SQL ist eine reine 32bit Anwendung und verfügt tatsächlich nur bei dem AG-Manual TSP Treiber - welcher nur benötigt wird um ein Telefonat zu simulisieren - über eine 64bit Version.
Wie viele andere Programme, schreibt AG-VIP SQL bestimmte lokal benötigte Einstellungen in die Registry.
Dies funktioniert auch obwohl es ein 32bit Programm ist auf einem Betriebssystem welches auf 64bit basiert.
Denn bei einem 64bit Betriebssystem gibt es den Stamm für 64bit (Standard) und einen Ast für 32bit Programme.
Das Betriebssystem erkennt also automatisch, dass dies ein 32bit Programm ist und fügt den Registryeintrag in dem 32bit Registry-Ast hinzu bzw. ändert dort diesen ab.

Problem:
Wenn man eine Registrydatei (.reg) erzeugt, welche für ein 32bit Programm gedacht ist, wird dieses beim Ausführen auf einem 64bit Betriebssystem irrtümlicherweise in den Registry Stamm für 64bit Programme eingetragen und nicht in dem dafür vorgesehenen Unterast HKEY_LOCAL_MACHINE\Software\WOW6432Node

in dem die 32bit Registry Einträge normalerweise in einem 64bit Betriebssystem abgelegt werden.
Die Registrydatei enthält nämlich keine Informationen für welche bit Variante es angewendet werden soll und daher wird der Standard (64bit) ausgewählt.


Lösung:
Starten Sie die 32bit Variante der regedit.exe und führen darüber dann einen Importvorgang durch (Datei - Import -> .reg Datei auswählen).
Zum Starten einfach folgenden Schritten folgen:
  1. Klicken Sie auf Start und anschließend auf Ausführen bzw. setzen Sie den Cursor in das Eingabefeld
    Programme/Dateien durchsuchen.
  2. Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit ein.
    Klicken Sie dann auf OK.

Falls sich keine Registry öffnen sollte, haben Sie vermutlich noch die 64bit Registry geöffnet.
Schließen Sie diese und wiederholen Sie den Vorgang oder setzen Sie den Parameter /m bei Schritt 2. wie folgt:

  • Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit /m ein.
    Klicken Sie dann auf OK.

So wird eine weitere Instanz erzeugt.

2011-09-26 10:59
Peter Brandt

Fehlerhafte Anwahl von Rufnummern in Italien (0039 / +39) obwohl die Rufnummer im kanonischen Format gespeichert wurde.

Wird eine Rufnummer wie +39 (6) 0608 in Italien angewählt, kommt keine Verbindung zustande.

Hintergrund ist, das nach der Ländervorwahl 0039 für die Ortsvorwahl eine 0 mitgewählt werden muss. Im obigen Beispiel als 0039-06-06808 wobei 06 die Ortsvorwahl für Rom ist. Dies ist aber für andere Länder meist nicht erforderlich.

Um einheitlich das Kanonische Telefonnummernformat nutzen zu können, können die für die Aufbereitung der Rufnummern verantwortlichen Windowseinstellungen verändert werden, damit diese 0 nicht entfernt wird.

Diese Einstellung kann über einen entsprechenden Registryeintrag vorgenomen werden. Sie finden den Eintrag unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\CountryList\39
In Windows10 ist der Registryeintrag hier zu finden:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country/region List\39

Hier ist für den Wert InternationalRule der Wert 00E0FG anstatt 00EFG einzutragen.

Dieser Eintrag sorgt dafür das die 0 in der Vorwahl erhalten bleibt. Dies ist jedoch für die Rufnummern in Italien keine finale Lösung, denn es gibt auch Nummernkreise, die nur ohne die 0 in der Vorwahl aus internationalen Telefonnetzen erreichbar sind. Bspw. Mobilfunktnummern und besondere Ortsnetznummern. Es macht daher mehr Sinn die Rufnummern in einem korrekten Format in AG-VIP SQL anzulegen bzw. zu importieren. Folgende Formate sind für eine korrekte Anwahl gut geeignet:

Formate die mit italienischen Nummern funktionieren:
Kanonisches Format:
+39 (0) 6123456
+39 (06) 123456
+39 (061) 23456
Etc. Die 0 muss in den Klammern aufgeführt sein, denn Sie gehört zur Ortsvorwahl. Bei Rufnummern, die keine 0 benötigen, muss diese weggelassen werden, wie dies auch bei anderen Ländern üblich ist.

Nicht kanonisches Format:
0039 0 6123456
00390 6123456

Im kanonischen Format haben Sie keine Probleme mit italienischen Nummern.
Alle anderen Formate werden durch die Telefonnummern Aufbereitung in AG-VIP SQL in ein kanonisches Format umgewandelt wobei die führende 0 entfernt wird (VAZ), außer die Nummer wurde wie in einem der beiden nicht kanonischen Formatbeispielen angegeben.

2012-12-18 12:00
Ulrich Sticker

TAPI Service exklusiv ausführen

Der Tapi Service teilt sich mit anderen Diensten einen Service Host.

Stürzt nun der Tapi-Service ab aufgrund eines defekten TSPs so gehen auch andere Dienste nicht mehr. Insbesondere der Arbeitsstationsdienst.

Dies kann man verhindenr in dem man den Tapi-Dienst exklusiv alleine in einerm Dienstbereich ausführt.

Die Anleitung richtet sich für Rechner luffähig unter Windows 8.1 bzw. Windows 7. Die bestehenden Registry EInträge können geringfügig abweichen.

  1. Regedit starten
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost öffnen.
  3. Ausden Einträgen "netsvcs" und "NetworkSerice" den Eintrag/Zeíle "Tapisrv" entfernen.
  4. In diesem Ast einen neuen Eintrag "Tapisrv" als REG_MULTI_SZ erzeugen und den Wert "tapisrv" zuweisen.
  5. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TapiSrv öffnen
  6. Den "ImagePath" Eintrag ändern von
    %SystemRoot%\System32\svchost.exe -k NetworkService
    in %SystemRoot%\System32\svchost.exe -k Tapisrv

Der Rechner muss neu gestartet werden. Der Tapi-Dienst läuft danach als einziger Dienst in einem Service-Host.

Dieser Tipp wurde diesem Link entnommen:
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_How_can_6

2015-04-07 12:48
Martin Richter

Konfiguration des Softphones "PhoneSuite CTI Pro"

Beschreibung:
Das "PhoneSuite CTI Pro" Softphone wird oft in Verbindung des CentreXX TAPI-Treibers von dem Hersteller "Deutsche Telefon Standard AG" (DTst.) verwendet.
Um das gewünschte Verhalten zu erhalten sind im Softphone, im TAPI-Treiber sowie im Support bei DTst. Konfigurationen erforderlich.

Konfiguration im Softphone:
In der SIP-Konfiguration muss der Schalter „Auto-Answer per INVITE-Header zulassen“ aktiviert werden.
Sonst müssen Outbound Gespräche auch am Softphone aufgegeben werden (zusätzlich am Softphone bestätigen).Auto-Answer-INVITE-Header aktivieren

 

Bei "Optionen" -> "Telefonie" müssen die Einstellungen "Wählen aus anderen Anwendungen" und "Eingehende Anrufe melden"  gesetzt werden:
CTI-Client TAPI-Connector

 

Konfiguration im CentreXX TAPI-Treiber:
In den TAPI-Treiber Einstellungen (DTst. TAPI for CentreXX) müssen die zwei Schalter
Freisprechmodus per INVITE SIP-Header-Info“ und „CTI-Answer via SIP-NOTIFY“ aktiviert sein.
Da sonst bei einem eingehenden Gespräch (Inbound) am Softphone das Gespräch angenommen werden muss
CTI-Answer aktivieren

 

Gesprächsergebnis "Besetzt":
Die Information, dass das Gesprächsergebnis „Besetzt“ ist wird korrekt jedoch wegen einer 10 sekündigen „Besetzt-Piepton“ Ansage verzögert zurückgegeben.
Dieses Verhalten kann jedoch über eine Anfrage an den DTst. Support behoben und dadurch ein optimales Ergebnis erreicht werden.

Gesprächsergebnis "Falsche Rufnummer":
Es wird eine Ansage wiedergegeben, ohne dass dabei eine CALLSTATE Rückmeldung erfolgt, welche von AG-VIP SQL verarbeitet werden kann.
Dies wird als „nicht verbunden“ verarbeitet sofern die eingestellte Anwahlzeit in AG-VIP SQL erreicht wird.
Dadurch wäre über den optionalen Schalter „Falsche Telefonnummer“ in AG-VIP SQL der Benutzer in der Lage das Ticket manuell einzustufen.
Dies muss jedoch innerhalb der eingestellten maximalen Anwahlzeit geschehen, da sonst AG-VIP SQL das Ticket automatisch als „nicht verbunden“ einstuft.
DTst. hat in Aussicht gestellt, dass wie beim Gesprächsergebnis "Besetzt" dies durch eine Anfrage an den Support umgestellt werden kann, so dass anstatt einer Ansage der erforderliche CALLSTATE (WRONGNUMBER) zurückgegeben wird.

Allgemeiner Hinweis:
Für die Nutzung der CTI-Funktion muss das PowerMenü (http://power.dtst.de/)
von der entsprechenden Person 1x täglich mit den Authorisierungsdaten verwendet werden,
um die IP mit den Kontodaten zu verbinden.
Sollte eine feste IP Adresse bzw. eine DNS Auflösung verwendet werden, ist dies nur einmal für die gesamte Installation erforderlich.

 

Weitere Hinweise:
Die "PhoneSuite TAPI for snom" kann in Verbindung mit Tischtelefonen der Typenreihe "snom" einfach eingerichtet werden.
Dazu müssen nur die „Aktions URLs“ von der "PhoneSuite" Konfiguration an das snom-Gerät  übertragen werden.
PhoneSuite TAPI for snom

Das snom verliert jedoch nach jedem Neustart (Reboot z.B. bei Stromausfall) die von der "PhoneSuite" übermittelten „Aktion URLs“,
welche die TAPI-Funktionalität ermöglichen.
Dies hat zur Folge, dass bei einem Neustart des snom Telefons immer die „Aktions URLs“ erneut an das snom übertragen werden müssen.
Bei unseren Tests wurde ein snom300 verwendet.
Neuere Modelle könnten diesen Nachteil evtl. nicht mehr besitzen (Anfrage an DTst.).

2015-06-02 08:49
Peter Brandt

VOIP-Fehler finden und Anwahlprobleme erkennen

Problem:

Oft ist unklar, warum die Anwahl nicht funktioniert oder die Telefoniesoftware in der ein oder anderen Weise reagiert.

Lösung:

Um dem Problem auf die Spur zu kommen, sollte ein VoIP/Telefon-Trace erzeugt werden. Das ist ein Protokoll der Kommunikation zwischen VoIP Wähleinrichtung  und der Telefoniesoftware auf der anderen Seite.

Vorgehensweise: VOIP-Log einsehen

AG-VIP SQL ist per Standard so eingestellt, dass immer ein Trace erzeugt wird.
Der Trace wird automatisch im temporären Verzeichnis des Benutzers gespeichert. Der Trace beginnt bei Programmstart und wird geschlossen, wenn das Programm beendet wird.  Bis zu 10 Logs bleiben erhalten. Jeder weitere Programmstart überschreibt den ältesten AGVIP_Phone.log Trace.

Gehen Sie wie folgt vor um an den Trace zu gelangen, um diese zum Beispiel an den Support zu senden:

  1. Starten Sie AG-VIP SQL
  2. Führen Sie nun die Telefonate, die Probleme machen, z.B. Anwahl einer falschen Telefon-Nr. wird nicht erkannt.
  3. Beenden Sie AG-VIP SQL.
  4. Wählen Sie aus dem Windows-Menü START, AUSFÜHREN und geben %tmp% + ENTER-Taste ein.
  5. Der Windows-Explorer öffnet sich mit dem temporären Benutzer-Verzeichnis. Hier finden Sie die Datei AGVIP_Phone.LOG (vor der Version 2.0 hieß die Datei AGVIP_TAPI.log). Diese Datei können Sie mit jedem Texteditor öffnen. Die erste Spalte zeigt dabei die Uhrzeit in Millisekunden genau an.

Die aktuellen AGVIP_Phone.log können Sie auch direkt aus AG-VIP heraus öffnen.
Klicken Sie dazu auf die Prgramm Informationen (kleines blaues i rechts außen), oder Datei -> Info über AG-VIP SQL. Dort klicken Sie auf System-Info dann auf Telefon-Log. Ihr Editor öffnet isch mit dem aktuellen Telefon Protokoll.

Erweitertes VoIP/SIP Protokoll:

Es gibt noch eine weitere Trace Datei, welche die Verbindung zum SIP Provider dokumentiert.
Gehen Sie die selben Schritte 1 bis 4 durch und ergänzen Sie folgende Schritte:

  1. Wechseln Sie in das übergeordnete Verzeichnis "local" in dem Sie mit der Maus darauf klicken
  2. Wechseln Sie anschließend in das Unterverzeichnis "VoIP Video SIP SDK"
  3. Hier finden Sie die Datei SIPVoipSDKLog_yyyymmdd-hhmmss.txt. Sowie auch eine sipXtapilog_yyyymmdd-hhmmss.txt.
    Diese Dateien können Sie mit jedem Texteditor öffnen.
    Die erste Spalte zeigt dabei die Uhrzeit in Millisekunden genau an.

Wenn Sie einen Fehler protokolliert haben, beenden Sie AG-VIP SQL und sichern Sie beide Trace-Dateien, bevor Sie mit der Arbeit fortfahren.

Schicken Sie beide Dateien an Support@grutzeck.de und beschreiben Sie so genau wie möglich, wie sich das Problem bei Ihnen darstellt.

Standard VoIP Status Code Behandlung

Als Standardeinstellung erwartet AG-VIP SQL folgende SIP-Codes bei entsprechendem Status:

  Status: SIP-Code
  Besetzt (BUSY) 486
  Nicht verbunden (NoConnect) 408
  Falsche Rufnummer (WrongNumber) 301,404

 

Dieses Verhalten kann in AG-VIP SQL in den "Telefonieeinstellungen" im Bereich "Einstellungen" geändert werden.

Dabei ist jedoch zu beachten, dass sobald dort für einen Status etwas eingetragen wird, die Standardeinstellungen überschrieben und somit deaktiviert sind.
Wenn man z.B. den Status Besetzt (BUSY) um den SIP-Code 491 erweitern möchte, so muss man auch zusätzlich den im Standard vorgebenen Wert 486 eintragen, da sonst ausschließlich der SIP-Code 491 für den Status Besetzt (BUSY) verwendet wird.

Hinweis:

Eine Liste der möglichen SIP-Status-Codes (Antwort-/Fehlercodes) finden Sie z.B. bei Wikipedia:
https://de.wikipedia.org/wiki/SIP-Status-Codes

2023-06-22 08:06
Peter Brandt

Wie kann ich den Mikrofon- und Audio Kanal beim Arbeiten über eine Remote Desktop Verbindung (RDP) genutzt werden?

Was bedeutet Remotedesktop?

Der Begriff Remotedesktop kommt aus dem Englischen und bedeutet übersetzt „Schreibtisch-Fernsteuerung“. Über eine Remotedesktop-Verbindung ist es möglich, den eigenen Computer (Client) mit einem anderen Computer (Server) zu verbinden. Sofern die technischen Voraussetzungen gegeben sind, kann der Nutzer praktisch von überall aus eine Remotedesktop-Sitzung herstellen. Bildlich können Sie es sich so vorstellen: Von Ihrem heimischen Computer aus können Sie auf alle Programme, Dateien und Netzwerkressourcen Ihres Bürocomputers zugreifen. So als würden Sie an Ihrem Arbeitsplatz sitzen.

Windows Remotedesktop am Client einrichten:

Microsoft bietet Remotedesktop-Anwendern ein hauseigenes Netzwerkprotokoll an: Das Remote Desktop Protocol (RDP). Es steuert sowohl den Terminalserver als auch den Terminalclient und regelt so die Übertragung der Bildschirminhalte sowie die Tastatur- und Mauseingaben über das Netzwerk.

Problem:

Wird nur eine Server anegegebn, mit dem man sich verbindet, dann werden die Standardeinstellungen  für eine RDP-Verbindung verwendet. Diese sehen eine Audio Wiedergabe, aber kein Aufzeichnen (Mikrofon) von Audio Signalen vor.

Das heißt Audio Signale (Sound) des Servers werden auf dem Client über den aktuellen primären Audiokanal ausgegeben.
Aber Mikrofone des Clients können am Server nicht für Audioaufzeichnungen benutzt werden. Damit ist eine Nutzung eines VoIP Clients auf dem Server dann nicht möglich, da dieser natürlich auch Audio/Sprache übermitteln muss und nicht nur wiedergeben soll.

Lösung:

1. Geben Sie im Windows Startmenü RDP ein. Für Android- oder iOS-Gerät: Öffnen Sie die Remotedesktop-App (kostenlos im Microsoft Store, in Google Play und Mac App Store verfügbar)
Die Remotedesktop Verbindung wird angezeigt.
Hier wählen Sie den Server aus, mit dem Sie sich verbinden möchten.

Sollten Sie keine Details sehen, klicken Sie auf den Schalter Optionen einblenden

2. Wechseln Sie in den Reiter Lokale Ressourcen.

3. Klicken Sie unter Remoteaudio auf den Schalter Einstellungen

Hier geben Sie das Mikrofon und den Audiokanal zur Übertragung frei. So können Sie die CRM Software AG-VIP auf einem Terminalserver betreiben und das integrierte VoIP Softphone nutzen und trotzdem am Remotearbeitsplatz darüber telefonieren.

4. Wählen Sie im Reiter Allgemein den Schalter Speichern unter, um diese Einstellung dauerhaft zu speichern.

Wenn die Einstellungen nicht gespeichert werden, dann müssen diese für eine neue Sitzung erneut ausgewählt werden.
Beachten Sie bitte auch, dass für die Aufzeichnung und WIedergabe immer nur der primäre ausgewählte Audionakanal am Client benutzt wird. Sollten Sie mehrere Mikrofone oder Lautsprecherausgänge haben (Headset, Lautsprecher, Digital-Audio), dann müssen die primären Kanäle über die Audio Systemsteuerung korrekt eingestellt werden.

Weitere hilfreiche Artikel zur Einrichtung von Remotedesktop:

2019-09-24 08:24
Markus Grutzeck

Entfernen aller durch den Benutzer installierten TSPs

Hintergrund:

Seit Windows 10 kommt es nach Updates immer wieder vor, das die TSPs (Telephony Service Provider) in der TAPI nicht mehr funktionieren.
Das Problem nach einem Update ist weiterhin, dass sich die TSPs dann auch oft nicht entfernen lassen.

Lösung:

Das Hilfsmittel RemoveAllTSPs.exe kann hier Abhilfe schaffen.
Das Tool entfernt alle TSPs aus der Registry, die nicht von Microsoft stammen.

Hintergrund:

In der TAPI sind 3 TSPs durch Microsoft vorinstalliert:

  • unimdm.tsp (Unimodem Service Provider)
  • kmddsp.tsp (TAPI Kernel-Mode Service Provider)
  • hidphone.tsp (Microsoft HID Phone TSP)

Üblicherweise sind dies die ersten drei installierten TSPs, die auch immer geladen werden.

Das Tool geht nun die Liste der TSPs in der Registry durch, und sucht solange in aufsteigender Installationsfolge bis ein TSP gefunden wird, der nicht von Microsoft stammt.

Alle folgenden TSPs werden nun aus der Registry entfernt.
Dadurch werden die TSPS nicht deinstalliert aber sie werden nicht mehr aktiv, d.h. bei Start des TAPI-Dienstes werden diese nun nicht mehr geladen.

Wird dieses Tool ausgeführt, wird ein Neustart des Rechners fällig, wenn der TAPI-Dienst gestartet wird. Zumindest ein Neustart des Dienstes ist nötig.
Zur Sicherheit wird automatisch ein Reboot nach Ausführung des Tools angeboten.

Das Tool kann nur ausgeführt werden, wenn es mit administrativen Rechten gestartet wird.

Die TSPs werden hierbei nur aus der Liste der aktiven TSPs entfernt! DIe TSPs können jederzeit wieder über die Telefon- und Modem Einstellungen zu den aktiven TSPs hinzugefügt werden. Eine Neuinstallation der TSPS ist nicht nötig. Nach der Installation eines TSPs liegen diese im Windows\Systerm32 Verzeichnis mit der Endung .TSP als Dateien vor. Diese können jederzeit zu den aktiven TSPs hinzugefügt werden oder auch wieder aus der Liste der aktiven TSPs entfernt werden. Dies ist keine Installation!

Das Tool hat weiterhin folgende Befehlszeilen Parameter:

  • /s Silent -Modus. Keine Fragen. Keine Meldungen
  • /r Ein Reboot wird sofort automatisch ausgeführt, wenn dieser notwendig ist.
Wird das Tool ohne Parameter aufgerufen, dann wird der Nutzer gefragt ob er die TSPs entfernen möchte. Nach Entfernen von TSPs wird dann gefragt ob das System neu gestartet werden soll.

2023-02-14 11:15
Martin Richter

Wie verhindert mann, dass AG-VIP SQL beim Programmstart nach einem TAPI Treiber fragt?

Hintergrund:

Beim Programmstart fragt AG-VIP SQL immer nach einem TAPI-Treiber. Aber aus technischen Gründen oder weil es sich um einen Server handelt kann dieser nicht ausgewählt werden.

Lösung:

1. Am einfachsten ist es den manuellen Tapi-Treiber zu installieren.
Hier wird einfach InstallTSP als Administrator ausgeführt und anschließend über die Telefon- und Modemeinstellungen in der Systemsteuerung der Manuelle TSP von Grutzeck Software GmbH hinzugefügt.

2. Wenn grundsätzlich kein TAPI Treiber vorhanden ist, wählt man einen anderen Telefonieprovider wie VoIP oder die manuelle Anwahl in den Basis Einstellungen von AG-VIP SQL

3. Man wählt über den Befehlszeilen Schalter -phoneprovider:n ein anderes Telefonie Profil in dem man wie bei 2. einen anderen Porvider wählt.

 

2019-12-20 07:52
Martin Richter

TAPI-Test Tool für AG-VIP SQL

Hintergrund:

Wir erhalten immer wieder Anfragen zur Kompatibilität von AG-VIP SQL zu Telefonanlagen oder bestehenden TSPs.
Da die Telefonfunktionen in AG-VIP SQL integriert ist, gibt es keine einfachen Testmöglichkeiten.

Mit der TAPI basierten kostenlosen Wahlhilfe DIALER.EXE, die mit Windows ausgeliefert wird, lassen sich jedoch nur ausgehende Telefonate testen und keine eingehenden Telefonate verarbeiten. Zudem werden keine Protokolle erzeugt, die eine detaillierte Analyse erlauben.

Lösung:

Hier schafft das TAPITestTool.exe Abhilfe. Das TAPITestTool ist ein komplett eigenständiges Programm mit denen alle Telefoniefunktionen getestet werden können, als ob diese in AG-VIP SQL ausgeführt werden. Das betrifft alle Funktionen, die AG-VIP SQL auch in der Telefonie zur Verfügung stellt.

Das Tool ist selbsterklärend und so einfach zu bedienen wie die Dialer.exe. 

Das TAPITestTool erzeugt bei einem Test eine einfache für jeden verständliche Ausgabe, aber auch weitere Protokolle, die einem versierten Techniker oder unserem Support Einblicke in die Kommunikation von Telefonie und AG-VIP SQL geben.

Das TAPITestTool ist sofort ohne weitere Downloads funktionsfähig.

Download:

Das Tapi Test Tool kann unter der folgenden Adresse heruntergeladen werden:
https://download.grutzeck.de/TAPITestTool.exe

Eine kurze Beschreibung der Funktionen finden Sie hier:
https://download.grutzeck.de/TAPITestTool.pdf

2021-01-21 15:44
Martin Richter

Anwahl mit VoIP nicht möglich. Fehlermeldung "Dieser Vorgang wurde wegen Zeitüberschreitung zurückgegeben."

Hintergrund:

Intern nutzt AG-VIP SQL einen Ping um die Verfügbarkeit des VoIP Servers zu kontrollieren. Dadurch kann gewährleistet werden, dass es nicht erst bei einem Anwahlversuch zu einer Fehlermeldung kommt.

Problem:

Manche Telefonanlagen oder VoIP Server unterstützen diese Pings nicht . Es kommt in der Folgte zu einer Fehlermeldung

Der aktuelle Telefon-Provider ist nicht bereit. Bitte überprüfen Sie die Telefonieeinstellungen und Log-Dateien!
Dieser Vorgang wurde wegen Zeitüberschreitung zurückgegeben.

Im AGVIP_Phone.log ist das Problem leicht zu erkennen, drt finden sich nach dem Init, des Telefonieproviders wiederkehrend folgende Einträge:

16:18:12:14 Telephony::CTelephonyProviderVoIP::CheckAudioSettings Audio Dialog closed
16:18:12:14 Telephony::CTelephonyProviderVoIP::CheckAudioSettings succeeded
16:18:12:14 Telephony::CTelephonyManager::Init done

16:18:18:92 Telephony::CPingThread::Run Timeout failed with 0x000005b4, Dieser Vorgang wurde wegen Zeitüberschreitung zurückgegeben.
16:18:29:43 Telephony::CPingThread::Run Timeout failed with 0x000005b4, Dieser Vorgang wurde wegen Zeitüberschreitung zurückgegeben.
16:18:39:93 Telephony::CPingThread::Run Timeout failed with 0x000005b4, Dieser Vorgang wurde wegen Zeitüberschreitung zurückgegeben.

Siehe auch diesen Artikel zum öffnen finden AGVIP_Phone.log 

Lösung:

Der interne Ping ist optional und kann abgeschaltet werden. Diese Einstellung kann direkt in Systemeinstellungen für die VoIP Telefonie vorgenommen werden.

Die ensprechende wird wie folgt vorgenommen:
Einstellungen -> Telefonieeinstellungen -> Ping SIP Server -> Nein

2021-07-29 10:00
Martin Richter

Einrichtung eines VoIP Zugangs von AG-VIP SQL für die easybell Cloud Telefonanlage

Zweck:

Um über eine easybell Cloud Telefonanlage direkt telefonieren zu können kann ein entsprechender VoIP SIP Zugang in AG-VIP SQL eingerichtet werden.
Damit erübrigt sich die Installation einer weiteren Software, die dann einen TAPI-Zugang auf Cloud Telefonanlage bereitstellt.

Vorgehensweise:

Zuerst müssen Sie die Zugangsdaten der Nebenstelle in der easybell Cloud Telefonanlage ermitteln, über die Sie telefonieren wollen.

Öffnen Sie dazu die Verwaltung Ihrer Cloud Telefonanlage über https://login.easybell.de/login 

1. Wählen Sie nun aus dem Menü Telefonfunktionen den Unterpunkt Cloud Telefonanlage:

2. Auf der Einstellungsseite für Ihre Nebenstellen und Endgeräte wählen Sie die Einstellungen für das Endgerät aus, für dass Sie den VoIP Zugang mit AG-VIP SQL einrichten wollen, klicken Sie auf das Zahnrad:


3. Rollen Sie in den Einstellungen für das Endgerät ganz nach unten auf der Seite.
Dort finden Sie alle Zugangsdaten: SIP-Registrar, SIP-Benutzername, SIP-Passwort!

Über die Kopieren Schalter lassen sich nun diese Einstellungen einfach nach AG-VIP übernehmen.,

4. Starten Sie nun AG-VIP und öffnen über die Einstellungen die Telefonoptionen und wählen dort den Abschnitt VoIP / SIP aus.
Tragen Sie nun in den Feldern Domain und Outbound Proxy den Wert aus SIP-Registrar ein.
In den Feldern User und Auth Id tragen Sie den SIP-Benutzernamen ein.
Im Feld Password tragen Sie das SIP-Password ein.

5. Soll eine verschlüsselte Verbindung über TLS hergestellt werden sind folgende Einstellungen notwendig:

Zusätzlich müssen Sie in diesem Fall in der Datei AGVIPTelPro-VoIPSIP.ini im Programmverzeichnis im Abschnitt [VoIPSIPSettings] den folgenden Eintrag hinzufügen:

[VoIPSIPSettings]
TlsForceSipScheme=1

Öffnen Sie dazu den Editor und suchen die passende Datei im Programmverzeichnis von AG-VIP SQL. Ist die Datei noch nicht vorhanden dann legen Sie eine neue Datei mit dem Namen AGVIPTelPro-VoIPSIP.ini an und speichern Sie mit dem oben genannten Inhalt ab.

5. Als letztes sollten Sie die Anwahleinstellungen kontrollieren. Es sollte die aktuelle Ortnetzkennzahl eingetragen sein. Die Felder für die Amtsholung sollten leer sein. 

Damit sind alle Einstellungen vollzogen und Sie können nun telefonieren.

Weitere Hinweise zu den Einstellungen der easybell Cloud Telefonanlage finden Sie hier in diesem Link:
https://www.easybell.de/hilfe/telefon-konfiguration/allgemein/voip-experteneinstellungen/ 

2022-12-20 14:02
Martin Richter

Hilfe zur Knowledgebase

Zur Kategorie

Spezielle Suchmöglichkeiten in der Knowledgebase

Operatoren in der Suche

Die boolesche Volltextsuche unterstützt die folgenden Operatoren:

+

Ein führendes Pluszeichen gibt an, dass das betreffende Wort in jedem zurückgegebenen Datensatz vorhanden sein muss.

-

Ein führendes Minuszeichen gibt an, dass dieses Wort nicht in einem Datensatz vorhanden sein darf, der zurückgegeben wird.

Hinweis: Der Operator - schließt nur solche Datensätze aus, die andernfalls Bestandteil des Ergebnisses wären. Aufgrund dessen gibt eine boolesche Suche, die nur mit Minuszeichen gekennzeichnete Begriffe enthält, ein leeres Ergebnis zurück, nicht jedoch "alle Datensätze mit Ausnahme derer, die einen der ausgeschlossenen Begriffe enthalten".

(kein Operator)

Standardmäßig (also wenn weder + noch - angegeben sind) ist das Wort optional, aber Datensätze, die es enthalten, werden weiter oben einsortiert.

> <

Diese beiden Operatoren werden verwendet, um den Anteil eines Worts am Relevanzwert zu ändern, der einem Datensatz zugewiesen wird. Der Operator > erhöht den Anteil, der Operator < verringert ihn.

( )

Mit Klammern werden Wörter zu Unterausdrücken zusammengefasst. Gruppen in Klammern können verschachtelt werden.

~

Eine führende Tilde fungiert als Negationsoperator, d. h., der Anteil des Wortes an der Relevanz des Datensatzes wird negativ gewertet. Dies ist nützlich, um "Störungswörter" zu kennzeichnen. Ein Datensatz, der ein solches Wort enthält, erhält eine geringere Relevanz als andere, wird aber – anders als bei - – nicht vollständig aus dem Ergebnis ausgeschlossen.

*

Das Sternchen dient als Kürzungs- oder Jokeroperator. Anders als andere Operatoren wird es an das betreffende Wort angehängt. Eine Übereinstimmung liegt bei Wörtern vor, die mit dem vor dem Operator * stehenden Wort beginnen.

"Text"

Eine Phrase, die in doppelte Anführungszeichen (‘"’) gesetzt ist, entspricht nur solchen Datensätzen, in denen diese Phrase wortwörtlich (d. h. wie eingegeben) vorkommt. Die Volltextsuche unterteilt die Phrase in Wörter und führt dann eine Suche durch. Bei Zeichen, die nicht zum Wort gehören, muss keine exakte Übereinstimmung vorliegen: Die Phrasensuche erfordert lediglich, dass bei passenden Datensätzen dieselben Wörter in genau der in der Phrase angegebenen Reihenfolge vorhanden sind. So entspricht beispielsweise "test phrase" "test, phrase".

Beispiele

Die folgenden Beispiele veranschaulichen einige Such-Strings, die boolesche Volltextoperatoren verwenden:

'TAPI Fehlermeldung'

Findet Datensätze, die mindestens eines der beiden Wörter enthalten. D.h. ale Artikel, die entweder das Wort "TAPI" oder das Wort "Fehlermeldung" enthalten.

'+TAPI +Fehlermeldung

Findet Datensätze, die beide Wörter enthalten.

'+TAPI Fehlermeldung'

Findet Datensätze, die das Wort "TAPI" enthalten, stuft aber solche Datensätze höher ein, die auch "Fehlermeldung" enthalten.

'+TAPI -Fehlermeldung'

Findet Datensätze, die das Wort "TAPI", aber nicht das Wort "Fehlermeldung" enthalten.

'+TAPI ~Fehlermeldung'

Findet Datensätze, die das Wort "TAPI" enthalten. Datensätze, die außerdem das Wort "Fehlermeldung" enthalten, werden niedriger eingestuft als solche, die es nicht enthalten. Dies ist "sanfter" als eine Suche nach '+TAPI -Fehlermeldung', bei der ein Datensatz bei Vorhandensein von "Fehlermeldung" überhaupt nicht zurückgegeben wird.

'TAPI*'

Findet Datensätze, die Wörter wie "TAPI", "TAPIs", "Tapitreiber" oder "Tapir" enthalten.

'"Worte der Weisheit"'

Findet Datensätze, die die exakte Phrase "Worte der Weisheit" enthalten. Dies wäre etwa "Worte der Weisheit von Ali Baba", nicht aber "Wort über Wiesheit". Beachten Sie, dass die ‘"’-Anführungszeichen, die die Phrase umschließen, Operatorzeichen sind, die der Trennung der Phrase dienen. Es handelt sich hierbei nicht um Anführungszeichen, die den Such-String selbst umfassen.

 

2014-09-30 09:48
Martin Richter

Outlook

Zur Kategorie

Datenexport von AG-V.I.P. nach Outlook

Beschreibung:

Um Adressdaten oder Termine in Palmtops, PDAs, Handhelds, usw. übernehmen zu können, kann es notwendig sein, Adressdaten aus AG-V.I.P. zunächst nach MS-Outlook zu übernehmen. Denn alle gängigen Palmtops (Windows CE-, Palm OS-basierte Lösungen oder PSION) können ihre Daten mit MS-Outlook synchronisieren.

Vorgehensweise:
  1. Öffnen Sie die Adressdatei AG-V.I.P.
  2. Selektieren Sie die Daten in AG-V.I.P. über das Menü Datei den Befehl Auswertungen. Sie sollten nicht mehr als 10.000 Adressen nach Outlook übertragen, da sonst die Verarbeitungsgeschwindigkeit in MS-Outlook extrem sinkt.
  3. Wählen Sie aus dem Menü Listen den Befehl Speichern
  4. Speichern Sie die Adressliste, indem Sie alle Ausgabefelder auswählen und Zuordnen. Wählen Sie als Format Ascii - Komma (ANSI).
    Beachten Sie, dass Sie für den Export auf Palmtops eine begrenzte Anzahl an zu übernehmenden Feldern haben. Die Exportdatei wird dann mit der Dateinamenerweiterung .txt gespeichert.
  5. Geben Sie den Dateinamen sowie den Pfad an. Diesen Pfad müssen Sie sich merken, da Sie den wieder beim Import in MS-Outlook benötigen. Geben Sie den Dateinamen direkt mit der Erweiterung *.CSV an, also z.B. "export.csv". Denn MS-Outlook erkennt nur Textdateien mit der Erweiterung CSV und nicht TXT !.
  6. Öffnen Sie Outlook und wählen Sie die Schaltfläche Kontakte
  7. Wählen Sie nun im Menü Datei den Befehl Importieren, Importieren aus anderen Programmen oder Dateien. Aktivieren Sie den Weiter-Schalter
  8. Datei importieren. Der zu importierende Dateityp ist: Kommagetrennte Werte (Windows)
  9. Wählen Sie nun als zu importierende Datei outlook.csv aus dem Verzeichnis, in dem Sie es vorher gespeichert hatten.
  10. Wählen Sie das Zielverzeichnis Kontakte, aktivieren Sie den Schalter Felder zuordnen und ordnen Sie die Felder aus AG-V.I.P. über Drag & Drop den Felder in MS-Outlook zu.
  11. Aktivieren Sie den OK-Schalter und wählen dann im neuen Dialogfenster den Schalter Fertig stellen. Der Importvorgang kann einige Zeit in Anspruch nehmen.
  12. Um die Daten in Ihren Palmtop zu übernehmen, starten Sie jetzt die Synchronisation Ihres Palmtops mit MS-Outlook. Dadurch kommen Ihre Adressdaten in den Palmtop.
Tipp:

Wenn Sie den Infotext übernehmen wollen, ordnen Sie ihn dem Feld Notizen in Outlook zu! Beachten Sie jedoch, dass der Infotext bis zu 32.000 Zeichen aufnehmen kann und dies die Länge des Notizfeldes in MS-Outlook übersteigt. Daten können beim Import abgeschnitten werden

Sämtliche Telefon- und Faxnummern können übernommen werden. Bitte beachten Sie, dass das Feld "Nummer" in AG-V.I.P. nicht die Telefonnummer, sondern die Nummer neben dem Kurznamen ist!

Achtung: Wenn Sie diesen Importvorgang mehrmals wiederholen, so werden die Adressen nicht überschrieben, sondern immer als neue Kontakte angelegt!

Analog können Sie für Termindaten aus AG-Top vorgehen !! Selektieren Sie dann in AG-Top zunächst alle Zeittermine und importieren Sie diese in den MS-Outlook-Ordner Kontakte. Für Aufgaben wählen Sie den Ordner Aufgaben in MS-Outlook.

Vorteil dieses Verfahrens:

In AG-V.I.P. können alle Vorteile der Adressensuche, Mailings, Hilfsmittel (Briefe + Faxe vorformatiert mit korrekter Adresse) genutzt werden und Sie haben trotzdem in Outlook Zugriff auf alle wichtigen Daten. Somit brauchen alle Adressen nur einmal eingegeben zu werden und sind für alle Mitarbeiter in allen Anwendungen nutzbar.

Siehe auch:

2008-01-11 13:45
Martin Richter

Outlook: Empfänger erhält WIN.DAT-Datei oder WINMAIL.DAT

Problem:

Versendete Email erscheint beim Empfänger als Dateianhang "winmail.dat"

Ursache:

Immer wenn aus Outlook eine Email erzeugt und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat. Dieses Emailformat kann von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)
TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum Senden von Nachrichten, daher tritt das Problem hier seltener auf.

Lösung:

Sie müssen also den Versand über das RTF-Format abstellen. In Outlook selbst gibt es hierfür mehrere Einstellungsmöglichkeiten:

  1. Menü EXTRAS, OPTIONEN, Reiter E-Mail Formate Auswahlbox VERFASSEN IM NACHRICHTENFORMAT. Hier in jedem Fall NICHT Rich-Text.
  2. Beim Kontakt in Outlook kann das Sendeformat zusätzlich individuell eingestellt werden. Veränderbar über Doppelklick auf die Emailadresse, SENDEFORMAT.
  3. Die Vorlage des Emailhilfsmittels aus AG-VIP ist in RTF erstellt worden und nicht als HTML oder TEXT.
Weitere Infos:

2011-08-17 16:05
Martin Richter

MAPI-Hilfsmittel: Email über Outlook versendet kommt manchmal als WINMAIL.DAT an

Beschreibung:

Eine Email die über ein MAPI-Hilfmittel über Outlook gesendet wird, kommt bei manchen Empfängern als Winmail.dat an.

Das Problem liegt nicht in AGVIP sondern in Outlook. (Sowohl Outlook als auch Outlook Express)

Immer wenn aus Outlook eine Email gesendet wird und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat, das von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)

TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum senden von Nachrichten, daher tritt das Problem hier seltener auf.

Das TNEF verwendet wird kann folgende Ursache haben:
  1. Outlook ist unter Optionen Email-Format auf "Rich-Text-Format" als Standard eingestellt.
  2. Der Kontakt zur Emailadresse ist in Outlook vorhanden und dort ist "Als Rich Text" senden in der Adresse des Kontakts als Sendeformat eingestellt. (Doppelklick auf Emailadresse des Kontakts-> Sendeformat)
  3. Die Vorlage auf der das Hilfsmittel basiert ist auf Rich-Text als Sendeformat eingestellt.
Lösungsmöglichkeiten:
  1. Überprüfung der 3 oben genannten Punkte auf korrekte Einstellungen.
  2. Verwendung des Hilfmittels mit HTML-Erweiterung vom 23.08.2007 (Email schreiben mit Vorlage)
Siehe auch:

2011-08-17 16:06
Martin Richter

Beim Ausführen eines Outlook Hilfsmittels kommt jedes Mal ein Warnhinweis (Outlook 2003)

Beschreibung:
Beim Ausführen eines in AG-VIP SQL eingerichteten Outlook Hilfsmittels um z.B. eine E-Mail zu verfassen erscheint in Outlook (2003) ein Pop-Up Fenster mit einem Warnhinweis, dass ein Programm auf Outlook zugreifen möchte.
Sie werden dabei aufgefordert den Zugriff zu gewähren oder zu verweigern.
Diese Bestätigung muss bei jedem Ausführen des Hilfsmittel erneut durchgeführt werden und ist daher äußerst nervend und Zeit raubend.

Lösung:
Die Firma MAPILab stellt ein kostenfreies Outlook Add In zur Verfügung, mit welchem es einem ermöglicht diese Sicherheitsabfragen auf Programme bezogen zu speichern.
Leider erscheint häufig nicht tatsächlich der Programmname des Programmes sondern lediglich die .dll Datei worüber das Programm die Verbindung zu Outlook herstellt.
Nichts desto trotz kann man dadurch die lästigen Warnhinweise auch für AG-VIP SQL bearbeiten und so muss der Zugriff nur noch einmalig gewährt werden (sofern man den Haken "Immer diese Aktion ausführen" aktiviert und natürlich auf "Zugriff erlauben" klickt)

Advanced Security für Outlook Dialog

Hinweis:
Lesen Sie wie von MAPILab empfohlen die beiligende Anleitung vor der Verwendung dieses Outlook Add Ins durch.
Die Verwendung dieses Outlook Add Ins von MAPILab geschieht auf eigene Gefahr!
Schäden oder sonstige Verluste welche durch die Verwendung dieses Outlook Add Ins zustande kommen werden nicht von uns Übernommen!
Bei einen dadurch entstandenen Support-Antrag wird dieser trotz evtl. bestehenden Wartungsvertrag kostenpflichtig berechnet!

Link zur MAPILab Webseite:
http://www.mapilab.com/de/outlook/security/

2011-08-17 16:09
Peter Brandt

Shell Fehler: Zu dieser Dateiendung existiert keine Verknüpfung zu einer Anwendung.

Beschreibung:
Beim Öffnen einer Datei über AG-VIP SQL kann evtl. das Programm nicht identifiziert werden, mit dem die Datei geöffnet werden soll.
Dies kann auftreten, wenn mehrere Programme auf einem Rechner installiert sind, welche das selbe Datei-Format öffnen können bzw. als Standard öffnen wollen. Ein gutes Beispiel ist OpenOffice und MS-Office worauf sich auch die Screenshots beziehen (OpenOffice in einem Windows7 und MS-Office in einem Windows-XP Betriebssystem).
So kann es vorkommen, dass sich Fehler bei der Zuordnung ergeben.
Zum Beispiel kann es vorkommen, dass ein Programm zum Öffnen von Dateien installiert wird.
Dieses trägt dann zum Beispiel den Standard-Pfad für "Öffnen" bzw. "Open" aus, so dass die Datei nur noch über "Bearbeiten" bzw. "Edit" geöffnet werden kann. EXECUTESHELL wird falls es im Pfad für "Öffnen" keine Anwendung findet den Pfad für "Bearbeiten" ausführen.
AG-VIP SQL ist jedoch so programmiert, dass es nur den Pfad für "Öffnen" verwendet und somit dann einen Fehler erzeugt.
Dies macht sich schon dadurch bemerkbar, dass wenn Sie mit der rechten Maustaste sich die Optionen einer Datei wessen Dateityp nicht geöffnet werden kann anschauen. Dort wird "Öffnen" bzw. "Open" nicht angezeigt.
Datei Eigenschaften - Open

Lösung:
Überprüfen Sie die Dateitypen Zuordnung wie in den folgenden Screenshots abgebildet:

Windows XP:
Start - Explorer
Starten Sie den Windows-Explorer über einen Rechtsklick auf "Start" und einem Linksklick auf "Explorer".

Extras - Ordneroptionen...
Über "Extras" -> "Ordneroptionen öffnen wir den nachfolgenden Dialog.

Dateitypen - DOC
Dort kann dann im Reiter "Dateitypen" eine Anwendung einem Dateityp zugeordnet werden.
Falls hier bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie über die "Ändern..." Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche Pfade zu korrigieren.

Windows 7:
Start - Systemsteuerung
In Windows 7 finden wir die Dateitypen Zuordnung unter "Standardprogramme" welche Sie auch direkt über "Start" -> "Standardprogramme" öffnen können oder über den Weg über die "Systemsteuerung" erreichen.

Kleinesymbole - Standardprogramme
Wenn Sie oben rechts die Anzeige auf "Kleine Symbole" einstellen, finden Sie die Auswahloption "Standardprogramme" welche Sie zuvor auch schon direkt über "Start" - "Standardprogramme" öffnen hätten können.

Dateityp oder Protokoll einem Programm zuordnen
Nun wählen Sie die Option "Dateityp oder Protokoll einem Programm zuordnen" aus.

.doc - OpenOffice.org Anwendung ausgewählt
Hier sehen Sie nun auf einem Blick welche Anwendungen welchem Dateitypen zugeordnet sind (In dem Fall wäre das für den Dateityp "Microsoft Word 97-2003 Dokument" (.doc) die Anwendung "OpenOffice.ord Writer").
Zum Ändern selektieren Sie die gewünschte Zeile und drücken oben rechts auf die Schaltfläche "Programm ändern".

WICHTIG:
Falls bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie unbedingt über die "Ändern..." bzw. "Programm ändern" Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche bzw. nur teilweise vorhandene Pfade zu korrigieren.


Registry überprüfen:
Achtung!!!
Falscheingaben in der Registry können fatale Folgen für die Funktionalität Ihres Rechners haben!!!
Die hier beschriebene Vorgehensweise soll Ihnen nur helfen, die Position in der Registry festzustellen an der Sie sehen, welche Anwendung für welchen Dateitypen verwendet wird. Änderungen die Sie in der Registry durchführen haben Sie selbst zu verantworten und dadurch entstandene Kosten oder Supportanfragen werden von uns in keiner Weise übernommen bzw. nicht kostenlos bearbeitet (bei einem dadurch entstandenen Supportfall zum Beispiel).

Verweis von .doc auslesen
Im Pfad "HKEY_CLASSES_ROOT" werden die Dateitypen behandelt. Unter ".doc" findet man bei "(Standard)" den Verweis auf "Word.Document.8".

Word.Document.8
Wenn man nun in "HKEY_CLASSES_ROOT\Word.Document.8\shell\Open\command" schaut, sieht man den hinterlegten Pfad zu der Anwendung.
In dem Fall die "WINWORD.EXE".
Bei Änderungen in der Registry ist es meistens notwendig, den Rechner neuzustarten damit die Änderungen geladen werden.

Weitere Maßnahmen:
Falls dies nicht zum Erwünschten erfolg geführt hat, sollten Sie eine Reparaturinstalltion der gewünschten Andwendung durchführen.
Diese wird Ihnen normalerweise angeboten, wenn Sie versuchen die Anwendung erneut zu installieren, obwohl diese bereits installiert ist.

2011-08-17 16:28
Peter Brandt

Das Outlook Add In funktioniert bei Benutzern welche geringe Rechte besitzen nicht.

Hinweis:
Dieses Problem besteht ab der AG-VIP SQL Version 1.30.001 nicht mehr.

Beschreibung:
Nachdem Installieren des Outlook Add Ins über die SetupAGVIPClient.exe als Administrator, können Benutzer welche nicht über die notwendigen Rechte verfügen das Outlook Add In nicht ausführen. Das Problem liegt dabei daran, dass die Verbindungsinformationen in der Registry nicht wie gewünscht im HKEY_LOCAL_MACHINE Pfad eingetragen werden sondern im HKEY_CURRENT_USER Pfad des Administrators.

Lösung 1:
Ab der AG-VIP SQL Version 1.30.001 ist dieser Fehler behoben.
Der Workarround für ältere Versionen ist, dass man die fehlenden Einträge als Administrator in der Registry ergänzt.
Dazu starten Sie einfach als Administrator auf den betroffenen Rechnern mit einem Doppelklick die .reg Datei im Anhang dieses Artikels.
Nun kann JEDER Benutzer an DIESEM Rechner das Outlook Add In verwenden (sofern zuvor bereits die SetupAGVIPClient.exe ausgeführt wurde). 

Lösung 2:
Die etwas umständlichere Lösung ist, dass der Benutzer kurzfristig der Administrator Gruppe hinzugefügt wird, dieser anschließend die SetupAGVIPClient.exe ausführt und ihm dann die Administratorrechte wieder entzogen werden.
Dadurch hat DIESER Benutzer an DIESEM Rechner seinen eigenen Verbindungseintrag im HKEY_CURRENT_USER Pfad der Registry und kann daher das Outlook Add In verwenden.
Eventuell muss der Benutzer vorher noch die "AG-VIP SQL Arbeitsstation" deinstallieren, da sonst das Setup die Installation mit der Meldung, dass bereits AG-VIP SQL auf diesem Rechner installiert sei beendet.

Warum tritt das Problem erst jetzt auf?
Das Problem bestand seit der ersten Version des Outlook Add Ins und trat auch schon früher auf.
Unsere anfänglichen Analysen ergaben, dass der Benutzer mindestens Hauptbenutzerrechte haben muss um das Outlook Add In nach einer Registrierung zu verwenden.
Die meisten Anwender haben diese Anforderung dann erfüllt und dadurch wurde das Problem umgangen.
Jedoch durch den immer mehr werdenden Einsatz von Terminal-Lösungen war es unbedingt notwendig, dass die Benutzer eben in Ihren Rechten sehr eingeschränkt sind.

Wie kam es dazu?
Dieser falsche Pfad wird automatisch beim Erstellen der AGVIPSQLOLAddin.dll (Outlook Add In) von der Entwicklungsoberfläche "Visual Basic 6" in der Connect.dsr Datei festgelegt und ist nicht für den Entwickler in der Entwicklungsoberfläche ersichtlich und konfigurierbar.
Dieser Artikel beschreibt das Problem und bietet für Entwickler auch einige Lösungsmöglichkeiten an:
http://www.darinhiggins.com/registering-vb6-office-com-add-ins-as-per-machine

Aber warum funktionierte es nicht, wenn der Benutzer mit den geringen Rechten die SetupAGVIPClient.exe mit "Als Administrator ausführen" ausgeführt hat?
Wenn der Benutzer nicht bereits über die notwendigen Administratorrechte besitzt, erscheint ein Pop-Up in dem zu einem Benutzerkonto mit Administratorrechten das Zugangspasswort eingegeben werden muss. Wenn man dies jedoch gemacht hat, war man für diesen Vorgang mit diesem Benutzer eingeloggt und die Registrierungen liefen somit in dessen Registrierungspfad HKEY_CURRENT_USER und nicht in dem Registrierungspfad des Benutzers mit den geringen Rechten.

2011-08-18 15:15
Peter Brandt

Daten von Tickets, welche über das Outlook Add In erstellt werden in Feldern übernehmen.

Beschreibung:
Wenn eine globale Suche über das Outlook Add In angestoßen wird und man dadurch ein neues Ticket erzeugt, kann über das EVENT Objekt auf die Informationen der E-Mail zugegriffen werden.

Anpassungen:
Auf Ebene der Bearbeitungsstufe in der Makroposition "beim Laden" können Sie mit folgenden Makrocode die Informationen in beliebige Felder übernehmen.
Beim Laden

'Überprüfung, ob das EVENT Objekt existiert
If Not ActiveTicket.Event Is Nothing Then
'Überprüfung ob es sich um ein neues Ticket handelt
If ActiveAddress.Fields("Id").Value = 0 Then
ActiveAddress.Fields("<IhrEMailFeldName>").Value =  ActiveTicket.Event.Source
ActiveAddress.Fields("<IhrBetreffFeldName>").Value = ActiveTicket.Event.Subject
ActiveAddress.Fields("<IhrEMailTextFeldName>").Value = ActiveTicket.Event.Text
End If
End If

Die in eckigen Klammern geschriebene Worte, müssen durch den von Ihnen gewünschten internen Feldnamen in AG-VIP SQL ersetzt werden z.B. so für die E-Mail:
ActiveAddress.Fields("CommEMail1").Value = ActiveTicket.Event.Source

Dabei sollte man jedoch beachten, dass sofern Sie keine Abfrage erstellen, ein evtl. bereits vorhandener Inhalt überschrieben wird.

Weitere Eigenschaften des EVENT Objektes wie z.B. Event.File etc. können Sie im Makrohandbuch ab der Seite 93 zum Thema "11.21 Objekt: Event (Globale Suche)" nachlesen.
siehe Handbuch Makroprogrammierung Seite 184

Vorgehensweise für die Voraussetzungen einer Übertragung der notwendigen Daten:
Im Outlook Add In die entsprechende E-Mail auswählen und auf "E-Mail speichern in AG-VIP SQL ohne Ablage" oder auf "E-Mail speichern in AG-VIP SQL mit Ablage" klicken.
Outlook Add in

Danach in AG-VIP SQL im Ausgabe-Fenster ein neues Ticket erzeugen.
Neues Ticket

Dadurch wird das Makro "beim Laden" aktiviert und die von Ihnen hinterlegten Felder befüllt.

2018-05-16 12:33
Peter Brandt

E-Mail oder Kontakt-Informationen über das "Outlook Add In" in AG-VIP SQL verarbeiten.

Beschreibung:
Das Outlook Add In verfügt ab der Outlook Add In Version 3.32.3 ein Globales Objekt, welches einem ermöglicht auf die Datenfelder der E-Mail oder des Kontaktes zuzugreifen und diese in Feldern zu speichern oder einfach über eine MessageBox auszugeben.

Voraussetzung:
AG-VIP SQL ab der Version 1.40
Outlook Add In ab der Version 3.32.3

Das Globale Objekt:
Über den Namen "OLAddIn" kann man eine Globale Variable aufrufen, welche das Outlook Add In Objekt mit folgenden Eigenschaften bereitstellt:

  • NameFirst
  • NameLast
  • Name1
  • Street
  • ZipCode
  • City
  • CommPhoneOffice
  • CommPhoneCentral
  • CommFaxOffice
  • CommPhonePrivat
  • CommFaxPrivat
  • CommInternet
  • CommEMail1
  • CommEMail2
  • CommEMail3
  • ReceivedTime
  • Subject
  • EmailPath
  • EmailFileName
  • Body
  • CommEmailsTo
  • CommEmailsCC
  • CommEmailsBCC
  • ItemType

 

Die Eigenschaften sind bis auf "ItemType" weitestgehend selbsterklärend.
Diese Eigenschaft liefert den Typ des übertragenen Mediums (E-Mail oder Kontakt).
Die genauen Typenbezeichnungen lauten:

  • MailItem
  • ContactItem

Bei einem Typ "MailItem" werden folgende Eigenschaften gesetzt:

.CommEMail1
.Subject
.Body
.ReceivedTime
.EmailFileName
.EmailPath
.CommEMailsTo
.CommEMailsCC
.CommEMailsBCC
.ItemType

Bei einem Typ "ContactItem" werden folgende Eigenschaften gesetzt:

.NameFirst
.NameLast
.Name1
.Street
.ZipCode
.City
.CommPhoneOffice
.CommPhoneCentral
.CommFaxOffice
.CommPhoneMobil
.CommPhonePrivat
.CommFaxPrivat
.CommInternet
.CommEMail1
.CommEMail2
.CommEMail3
.ItemTyp

 

Die nicht gesetzten Felder werden dabei immer geleert.

Übertragung des Objektes:
Das Objekt wird automatisch übertragen wenn man das Outlook Add In verwendet um eine E-Mail bzw. ein Kontakt nach AG-VIP SQL zu übertragen. 

 

Beispiel:
Im folgenden Makrocode wird das Memofeld "OLAddinData" mit allen Eigenschaften beschrieben.
Dabei kommt jede einzelne Eigenschaft in eine eigene Zeile.

Dim oOLAddInData
On Error Resume Next
Set oOLAddInData = Application.GlobalData("OLAddIn")
ActiveAddress.Fields("OLAddinData").value = _
                               "NameFirst: " & oOLAddInData.NameFirst & VbCr & _
                               "NameLast: " & oOLAddInData.NameLast & VbCr & _
                               "Name1: " & oOLAddInData.Name1 & VbCr & _
                               "Street: " & oOLAddInData.Street & VbCr & _
                               "ZipCode: " & oOLAddInData.ZipCode & VbCr & _
                               "City: " & oOLAddInData.City & VbCr & _
                               "PhoneOffice: " & oOLAddInData.CommPhoneOffice & VbCr & _
                               "CommPhoneCentral: " & oOLAddInData.CommPhoneCentral & VbCr & _
                               "FaxOffice: " & oOLAddInData.CommFaxOffice & VbCr & _
                               "PhoneMobil: " & oOLAddInData.CommPhoneMobil & VbCr & _
                               "PhonePrivat: " & oOLAddInData.CommPhonePrivat & VbCr & _
                               "FaxPrivat: " & oOLAddInData.CommFaxPrivat & VbCr & _
                               "Internet: " & oOLAddInData.CommInternet & VbCr & _
                               "Email1: " & oOLAddInData.CommEMail1 & VbCr & _
                               "Email2: " & oOLAddInData.CommEMail2 & VbCr & _
                               "Email3: " & oOLAddInData.CommEMail3 & VbCr & _
                               "ReceivedTime: " & oOLAddInData.ReceivedTime & VbCr & _
                               "Subject: " & oOLAddInData.Subject & VbCr & _
                               "EmailPath: " & oOLAddInData.EmailPath & VbCr & _
                               "FileName: " & oOLAddInData.EmailFileName & VbCr & _
                               "Body: " & oOLAddInData.Body & VbCr & _
                               "CC: " & oOLAddInData.CommEMailsCC & VbCr & _
                               "BCC: " & oOLAddInData.CommEMailsBCC & VbCr & _
                               "TO: " & oOLAddInData.CommEMailsTo & VbCr & _
                               "Type : " & oOLAddInData.ItemType
                              
Set oOLAddInData = Nothing
Set Application.GlobalDAta("OLAddIn") = Nothing
On Error GoTo 0

 

Hinweis:
Nachdem man die Werte übernommen hat, sollte man unbedingt das Objekt wieder durch setzen der Globalen Variable "OLAddIn" mit "Nothing" löschen, da sonst evtl. unbewusst ein falscher Inhalt in einer anderen Adresse eingetragen wird.
Dies bewirkt folgende Zeile aus dem oben aufgeführten Makro:
Set Application.GlobalData("OLAddIn") = Nothing

2013-07-12 16:13
Peter Brandt

Outlook Web Access (OWA) in AG-VIP SQL darstellen

Beschreibung:
Der OWA wird über Exchange oder über die Microsoft Cloud (365) Online bereitgestellt.
Dieser wird daher üblicherweise in einem Browser dargestellt.

Problemstellung:
Benutzer sollen kein weiteres Programm wie z.B. einen Browser bedienen bzw. das ständige hin und her wechseln zwischen AG-VIP SQL und dem Browser stört.

Lösung:
Durch Verwendung eines Browsercontrols in AG-VIP SQL, kann direkt über z.B. eine Ansicht der OWA in AG-VIP SQL dargestellt werden.

Vorgehensweise:
Sie finden den Pfad zum OWA in ihrem Outlook unter Datei->Informationen

Diesen kopieren Sie und testen diesen in Ihrem verwendeten Browser.
Wenn alles in Ordnung ist, erscheint ein Anmeldebildschirm.

Mit dieser Gewissheit, tragen wir nun diesen Pfad zum OWA in das Browsercontrol auf der AG-VIP SQL Ansicht ein, welche Sie am Ende dieses KB-Artikels herunterladen und in AG-VIP SQL importieren können.
Browsercontrol selektieren -> in den Eigenschaften rechts auf "Standard URL" klicken und im Dialog dann die URL einfügen.

Hinweis:
Falls Sie nicht die im KB-Artikel beigefügte Ansicht verwenden und ein eigenes Browsercontrol erstellt haben, müssen Sie die Eigenschaften "Navigieren erlauben" und "Formularmodus" auf "Ja" setzen.
Desweiteren ergänzt die beigefügte Ansicht noch zusätzlich an die von ihnen eingefügte URL den Pfad zum Kalender im Abschnitt "Makros beim Laden". Dieses Makro funktionieren nur, wenn das Browsercontrol wie in der angehängten Ansicht den Namen "Browser" besitzt.

Verwendung:
Nachdem nun alles fertig eingerichtet ist, kann die Ansicht verwendet werden.
Beim ersten Aufruf bzw. nach einer Abmeldung im OWA muss sich der Benutzer stets am OWA anmelden.

Bei dieser Neuanmeldung geht die Information verloren, dass man eigtl. den Kalender angezeigt haben möchte.
Daher muss man dies nach einer Anmeldung manuell auswählen.

Danach wird jedoch immer direkt der Kalender angezeigt (bis zur nächsten Anmeldung).

Tipp:
Manchmal reicht eventuell die Bandbreite der Internetverbindung nicht aus um die grafische Darstellung des OWAs schnell anzuzeigen.
Es gibt eine "Light" Version des OWAs welche auf einige grafische Elemente verzichtet.
Diese kann in den Optionen aktiviert werden.

2016-06-24 13:01
Peter Brandt

AddOns

Zur Kategorie

Beim speichern der Einstellungen des AG-VIP SQL AddIns für Outlook kommt die Meldung: "Einstellungen konnten nicht gespeichert werden"

Beschreibung:
Wenn Sie Windows Vista oder Windows 7 verwenden ist es zwingend notwendig, dass Sie Administrative Rechte besitzen um diese Einstellungen in der AGVIP.INI bzw. in der Registry abzuspeichern.

Umsetzung:
Dies können Sie bei einer Lokalen Installation wiefolgt tun:
Wechseln Sie in Ihr Installationsverzeichnis von Outlook. klicken dann mit der rechten Maustaste auf die "Outlook.exe" und wählen dann "Als Administrator Ausführen" aus. Nun können Sie die AddIn Einstellungen für AG-VIP SQL in der Registry abspeichern. Bei mehreren Lokalen Installationen muss dieser Vorgang auf jedem Rechner wiederholt werden.

Bei einer Netzwerk Installation, muss dies der System Administrator auf dem Server nur einmalig umsetzen, die Einstellungen sind dann für alle Rechner die darüber Ihr Outlook AddIn laden übernommen (da alle die selbe AGVIP.INI auslesen anstelle der lokalen Registry).

Einstellungen Lokal (Registry) oder im Netzwerk (AGVIP.INI) speichern:
Um die Outlook AddIn Einstellungen nur Lokal abzuspeichern (in der Registry), muss in dem AG-VIP SQL Outlook AddIn die Einstellungsart:
"Parameter nur für aktuellen Benutzer speichern" ausgewählt sein.
 

Um die Einstellungen im Netzwerk (AGVIP.INI) und somit für alle Benutzer der selben Einstellung zu speichern, muss die Einstellungsart:
"Parameter für alle Benutzer des Addins speichern" ausgewählt sein.
Eine Pfadangabe im Netzwerk für das Ablegen der E-Mails als Datei ist empfehlenswert.

AGVIP.INI:
Die AGVIP.INI lässt sich jedoch auch manuell anpassen.
Wenn Sie die AGVIP.INI in Ihrem Installationsverzeichnis von AG-VIP SQL mit einem Texteditor öffnen, können Sie folgende Passage hinzufügen bzw. anpassen:

[OutlookAddIn]
EmailPath=C:\Programme (x86)\AG-VIP SQL\Outlook EMails
EmailFileName=Email von %Sendername% am %Date% um %Time%
EmailSaveHistorieMode=0
EmailSaveHistorieModeNonStorage=2
EmailSendDate=1
EmailSubject=1
EmailText=1
NSEmailSendDate=1
NSEmailSubject=1
NSEmailText=1

Registry:
In der Registry werden Sie diese Einträge nur über eine Suche finden.
Mit dem Begriff "EmailSaveHistorieModeNonStorage" werden Sie fündig,
sofern bereits einmal eine Speicherung über die oben genannte Einstellungsart für eine lokale Speicherung erfolgte.


Erläuterung:
EmailPath gibt den Speicherort der zu speichernden E-Mails als Ablage an (Beim Ausführen des Hilfsmittels "Email speichern in AG-VIP SQL mit Ablage"). Bei einem zentralen Speicherort auf einem Server muss natürlich dessen Laufwerk anstelle des lokalen Laufwerks C: angegeben werden.

EmailFileName gibt an, wie der Name der zu speicherten Email als Ablage benannt werden soll. In dem Beispiel würde die abgespeicherte E-Mail z.B. folgenden Namen bekommen "Email von Max Mustermann am 16.12.2010 um 110530" wobei 110530 der Uhrzeit 11:05:30Uhr entspricht.
Mögliche Platzhalter sind:
%Date% - Datum im Format dd.mm.yyyy
%Time% - Zeit im Format hhmmss
%Subject% - der Betreff der Email
%Sender% - Die Email Adresse des Absenders
%Sendername% - Der Name des Absenders
%Receiver% - Der Name des Empfängers

EmailSaveHistorieMode stammt von dem vorgänger Outlook AddIn und ist nicht mehr in Verwendung.

EmailSaveHistorieModeNonStorage gibt an, was alles in der Historie zusätzlich mit übernommen werden soll, wenn das Hilfsmittel "Email speichern in AG-VIP SQL ohne Ablage" ausgeführt wird.
Mögliche Parameter sind:
0 - Nur Betreff
1 - Nur E-Mail Text
2 - Betreff und E-Mail Text

EmailSendDate, EmailSubject und EmailText ergänzen Datum, Betreff und E-Mail Text im Historien Text sofern das Hilfsmittel "Email speichern in AG-VIP SQL mit Ablage" ausgeführt wird.
Mögliche Parameter sind:
0 - nicht ergänzen
1 - ergänzen

Hinweis:
Mir möchten darauf hinweisen, dass die evtl. nicht mögliche Speicherung der Einstellungen des AG-VIP SQL Outlook AddIns kein Fehler im Programm ist, sondern eine in Windows Vista und Windows 7 eingeführte Verschärfung der Benutzerrechte bezüglich der Schreibrechte.

2011-08-17 16:08
Peter Brandt

Terminvereinbarung - Webportal: Der externe Agent, kann seine Zeiten im Webportal nicht verändern.

Beschreibung:
Interner Zugriff:
Der Zugriff auf das Webportal sowie das Ändern von Zeiten funktioniert.

Externer Zugriff:
Der Zugriff auf das Webportal funktioniert, jedoch können die Zeiten nicht geändert werden (Änderungen funktionieren nicht).

Ursache: 
Die Ursache liegt sehr wahrscheinlich an den Einstellungen der Firewall bzw. den IPS-Regeln (Intrusion Prevention Systems). 

Lösung:
Die Einstellungen der Firewall sowie der IPS-Regeln (falls vorhanden) überprüfen und anpassen.

2011-08-17 16:03
Peter Brandt

Das Outlook AddIn und/oder E-Mail Hilfsmittel für Outlook funktionieren nicht (Outlook 64bit)

Beschreibung:
Das AG-VIP SQL Outlook AddIn und/oder E-Mail Hilfsmittel die eine E-Mail in Outlook erstellen funktionieren bei Outlook mit 64bit nicht.

Problemdarstellung:
Beim Outlook AddIn tritt bereits bei der Installation des Outlook AddIns über die SetupAGVIPClient.exe ein Fehler auf, dass die "AGVIPSQLOLAddin.dll" Datei nicht installiert werden konnte.

Bei einem E-Mail Hilfsmittel tritt folgender Makrofehler beim Ausführen des Hilfsmittels auf:
Outlook64bitError

Erklärung:
Das AddIn sowie die E-Mail Hilfsmittel können nicht mit einer 64bit Version von Outlook verwendet werden.

Lösung:
Die 32bit Version von Outlook installieren und bei geschlossenen Outlook die SetupAGVIPClient.exe erneut ausführen.

Der Einsatz der 32-Bit-Version von Office 2010 wird für die meisten Benutzer empfohlen.

Siehe auch http://office.microsoft.com/de-de/outlook-help/auswahlen-der-32-bit-oder-64-bit-version-von-microsoft-office-HA010369476.aspx

 

Änderungslog:
25.09.2013:

  • Suchbegriffe um Fehlermeldung in AG-VIP SQL erweitert ("BS", "Falsches BS", "BS-Version", "Falsche BS-Version")

10.06.2013:

  • Erweiterung des Artikels um das selbe Problem, jedoch auch für E-Mail Hilfsmittel in Verbindung mit Outlook 64bit
  • Erweiterung des Artikels um den Abschnitt "Problemdarstellung"
  • Erweiterung des Artikels um den Abschnitt "Änderungslog"

 

2013-09-25 14:35
Peter Brandt

Beim Ausführen eines Outlook Hilfsmittels kommt jedes Mal ein Warnhinweis (Outlook 2003)

Beschreibung:
Beim Ausführen eines in AG-VIP SQL eingerichteten Outlook Hilfsmittels um z.B. eine E-Mail zu verfassen erscheint in Outlook (2003) ein Pop-Up Fenster mit einem Warnhinweis, dass ein Programm auf Outlook zugreifen möchte.
Sie werden dabei aufgefordert den Zugriff zu gewähren oder zu verweigern.
Diese Bestätigung muss bei jedem Ausführen des Hilfsmittel erneut durchgeführt werden und ist daher äußerst nervend und Zeit raubend.

Lösung:
Die Firma MAPILab stellt ein kostenfreies Outlook Add In zur Verfügung, mit welchem es einem ermöglicht diese Sicherheitsabfragen auf Programme bezogen zu speichern.
Leider erscheint häufig nicht tatsächlich der Programmname des Programmes sondern lediglich die .dll Datei worüber das Programm die Verbindung zu Outlook herstellt.
Nichts desto trotz kann man dadurch die lästigen Warnhinweise auch für AG-VIP SQL bearbeiten und so muss der Zugriff nur noch einmalig gewährt werden (sofern man den Haken "Immer diese Aktion ausführen" aktiviert und natürlich auf "Zugriff erlauben" klickt)

Advanced Security für Outlook Dialog

Hinweis:
Lesen Sie wie von MAPILab empfohlen die beiligende Anleitung vor der Verwendung dieses Outlook Add Ins durch.
Die Verwendung dieses Outlook Add Ins von MAPILab geschieht auf eigene Gefahr!
Schäden oder sonstige Verluste welche durch die Verwendung dieses Outlook Add Ins zustande kommen werden nicht von uns Übernommen!
Bei einen dadurch entstandenen Support-Antrag wird dieser trotz evtl. bestehenden Wartungsvertrag kostenpflichtig berechnet!

Link zur MAPILab Webseite:
http://www.mapilab.com/de/outlook/security/

2011-08-17 16:09
Peter Brandt

Das Outlook Add In funktioniert bei Benutzern welche geringe Rechte besitzen nicht.

Hinweis:
Dieses Problem besteht ab der AG-VIP SQL Version 1.30.001 nicht mehr.

Beschreibung:
Nachdem Installieren des Outlook Add Ins über die SetupAGVIPClient.exe als Administrator, können Benutzer welche nicht über die notwendigen Rechte verfügen das Outlook Add In nicht ausführen. Das Problem liegt dabei daran, dass die Verbindungsinformationen in der Registry nicht wie gewünscht im HKEY_LOCAL_MACHINE Pfad eingetragen werden sondern im HKEY_CURRENT_USER Pfad des Administrators.

Lösung 1:
Ab der AG-VIP SQL Version 1.30.001 ist dieser Fehler behoben.
Der Workarround für ältere Versionen ist, dass man die fehlenden Einträge als Administrator in der Registry ergänzt.
Dazu starten Sie einfach als Administrator auf den betroffenen Rechnern mit einem Doppelklick die .reg Datei im Anhang dieses Artikels.
Nun kann JEDER Benutzer an DIESEM Rechner das Outlook Add In verwenden (sofern zuvor bereits die SetupAGVIPClient.exe ausgeführt wurde). 

Lösung 2:
Die etwas umständlichere Lösung ist, dass der Benutzer kurzfristig der Administrator Gruppe hinzugefügt wird, dieser anschließend die SetupAGVIPClient.exe ausführt und ihm dann die Administratorrechte wieder entzogen werden.
Dadurch hat DIESER Benutzer an DIESEM Rechner seinen eigenen Verbindungseintrag im HKEY_CURRENT_USER Pfad der Registry und kann daher das Outlook Add In verwenden.
Eventuell muss der Benutzer vorher noch die "AG-VIP SQL Arbeitsstation" deinstallieren, da sonst das Setup die Installation mit der Meldung, dass bereits AG-VIP SQL auf diesem Rechner installiert sei beendet.

Warum tritt das Problem erst jetzt auf?
Das Problem bestand seit der ersten Version des Outlook Add Ins und trat auch schon früher auf.
Unsere anfänglichen Analysen ergaben, dass der Benutzer mindestens Hauptbenutzerrechte haben muss um das Outlook Add In nach einer Registrierung zu verwenden.
Die meisten Anwender haben diese Anforderung dann erfüllt und dadurch wurde das Problem umgangen.
Jedoch durch den immer mehr werdenden Einsatz von Terminal-Lösungen war es unbedingt notwendig, dass die Benutzer eben in Ihren Rechten sehr eingeschränkt sind.

Wie kam es dazu?
Dieser falsche Pfad wird automatisch beim Erstellen der AGVIPSQLOLAddin.dll (Outlook Add In) von der Entwicklungsoberfläche "Visual Basic 6" in der Connect.dsr Datei festgelegt und ist nicht für den Entwickler in der Entwicklungsoberfläche ersichtlich und konfigurierbar.
Dieser Artikel beschreibt das Problem und bietet für Entwickler auch einige Lösungsmöglichkeiten an:
http://www.darinhiggins.com/registering-vb6-office-com-add-ins-as-per-machine

Aber warum funktionierte es nicht, wenn der Benutzer mit den geringen Rechten die SetupAGVIPClient.exe mit "Als Administrator ausführen" ausgeführt hat?
Wenn der Benutzer nicht bereits über die notwendigen Administratorrechte besitzt, erscheint ein Pop-Up in dem zu einem Benutzerkonto mit Administratorrechten das Zugangspasswort eingegeben werden muss. Wenn man dies jedoch gemacht hat, war man für diesen Vorgang mit diesem Benutzer eingeloggt und die Registrierungen liefen somit in dessen Registrierungspfad HKEY_CURRENT_USER und nicht in dem Registrierungspfad des Benutzers mit den geringen Rechten.

2011-08-18 15:15
Peter Brandt

Entfernen / Deinstallation des Outlook Addins

Diese Beschreibung gilt nur für die Version des Outlook Addins ab Version 2.01.006.

Hintergrund:

Das Addin wird nur auf Rechnern installiert auf denen SetupAGVIPClient.EXE ausgeführt wird.

Das Registrieren erfolgt entweder für Outlook 32bit oder Outlook 64bit je nachdem was installiert wurde.

Die Installation erfolgt duch einen Eintrag in der Registry. Dies erfolgt durch SetupAGVIPClient.exe üblicherweise für alle Benutzer des Rechners unter HKEY_LOCAL_MACHINE. Es ist auch eine Installation pro User möglich. In diesem Fall erfolgen die Einträge in der Registry unter HKEY_CURRENT_USER.

Sollte es unter bestimmten Umständen nicht gewünscht sein, dass das Outlook Addin installiert wird, dann kann diesesd Addin auch entfernt werden.

Folgen des Entfernens des Addins:

Das Addin wird benötigt, damit Hilfsmittel Emails korrekt erzeugen und ablegen können. Das Addin sorgt dafür, dass Emails beim Senden korrekt in der entsprechenden Ablage gespeichert werden. Nur wenn keine Email Ablage verwendet wird und auch keine Emails aus Outlook nach AG-VIP übernommen werden sollen kann das Addin entfernt/deinstalliert werden.

Entfernen des Outlook Addins mit dem ausgelieferten Batch:

Mit der Batch Datei RegisterAGVIPOutlookAddin.bat kann dass Addin sowohl regisrtiert als auch deregistriert werden.
Der Batch muss im Administrator Modus ausgeführt werden und bearbeitet nur die Einstellungen für alle Benutzer.
Outlook sollte während dessen nicht  gestartet sein!

Das Addin wird entfernt durch folgenden Aufruf:

RegisterAGVIPOutlookAddin.bat /unregister

Manuelles Entfernen des Outlook Addins:

Outlook sollte während dessen nicht  gestartet sein!

Für Outlook 32bit auf einem 64bit Betriebssystem, löschen Sie den folgenden Ast in der Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

Für Outlook 64bit auf einem 64bit Betreibssystem, bzw. Office 32bit auf einem 32bit Betriebssystem löschen Sie den folgenden Ast in der Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

 Sollte eine lokale Installation für jeden Benutzer erfolgt sein, dann müssen der folgende Eintrag unter HKEY_CURRENT_USER entfernt werden:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

2020-07-05 08:45
Martin Richter

Email Versand per SMTP funktioniert nicht. Fehler: 530 Must issue a STARTTLS command first

Hintergrund:

Für die Sichere Kommunikation im Internet werden Daten verschlüsselt. Dazu dienen die TLS und SSL-Protokolle zu dem es mehrere unterschiedliche Versionen gibt. (TLS 1.0, 1.1, 1.2, SSL 2.0, SSL 3.0)

Problem:

Im Betriebssystem ist festgelegt welche TLS-Version bei der Verschlüsselung festgelegt wird.
Diese Verschlüsselung wird zum Beispiel auch benötigt, wenn Emails per SMTP durch unser Addin AGSendMailSMTP benötigt.
Unsere Addins verwenden im Allgemeinen immer den eingestellten Betriebssystem Standard.

Manche Provider (1&1, IONOS etc.) verlangen mittlerweile mindestens eine Verschlüsselung nach TLS 1.2 Standard. TLS 1.0 gilt bereits seit Jahren als veraltet und unsicher.

Entsprechend erhält man bei Versand einer Email in einem nicht kompatiblen TLS Standard die Meldung:
530 Must issue a STARTTLS command first

Ab der AG-VIP SQL Version 2.05.002 kann folgende Lösung verwendet werden:

Lösung:

Über das SMTP-Hilfsmittel mit der Version 2.05.002: https://kb.grutzeck.de/index.php?action=attachment&id=163
Kann die "Protocol" Eigenschaft mit dem benötigten TLS1.2 Protokoll im Makro des Hilfsmittels gesetzt werden.

Für ältere AG-VIP SQL Version bis 2.05.001
Lösung 1:

Es ist evtl. möglich, die Verschlüsselung beim Email Versand von TLS auf SSL umzustellen, wenn dies durch den Provider unterstützt wird.
Dazu muss im entsprechenden Makro Code die Verschlüsselung auf SSL umgestellt werden (Eigenschaft ConnectionType):

Mail.ConnectionType = 1 ' 1=SSL, 2=StartTLS, 3=Automatisch, 0=Keine Verschlüsselung

Diese entsprechende Zeile muss in allen Makros benutzt werden die das Addin AGSendMailSMTP verwenden.

Lösung 2:

Um einen Client auf TLS 1.2 umzustellen müssen 2 Registry Einträge gesetzt werden.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client\DisabledByDefault=0 (DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client\Enabled=1 (DWORD´)

Mit dem hier angehängten Registry Reg-Datei, können diese Einträge einfach erzeugt werden.

Laden Sie die Datei herunter
Entpacken Sie die Datei
Doppelklicken Sie die entpackte Datei und beantworten die beide Sicherheitsabfragen mit Ja.

Diese Einstellungen müssen auf allen Rechnern/Servern vorgenommen werden, die das Addin AGSendMailSMTP verwenden.

Weiterführende Informationen finden Sie auf den entsprechenden Microsoft Seiten:
https://learn.microsoft.com/de-de/mem/configmgr/core/plan-design/security/enable-tls-1-2-client  
https://learn.microsoft.com/de-de/dotnet/framework/network-programming/tls#configuring-schannel-protocols-in-the-windows-registry  

2023-08-15 13:47
Martin Richter

Kalkulationstabellen erzeugen.

Zur Kategorie

Datensatz per Hilfsmittel an eine CSV-Datei anhängen

Automatischer Excel- und Text-Export
Anmeldeinformationen der Anwender speichern

Oftmals ist es gewünscht das Ergebnis einer Stufe in einen Export zu übergeben. Dazu wird meistens eine sogenannte Exportstufe erstellt, deren Tickets dann als Textdatei exportiert werden und dann bspw. an den Auftraggeber übermittelt werden.
Nach erfolgtem Export werden die Tickets dann meist mit der Funktion "Stapelverabeitung" in entsprechende Endtöpfe des Workflows verschoben.

Das hier vorgestellte Hilfsmittel "Datensatz für CSV-Datei erzeugen" ermöglicht es, die Exportdatei automatisiert zu erzeugen.

Problem: Eine Textdatei ist eine sequenziell geschriebene Datei. Datensatzsperren u.ä. existieren nicht. Daher ist es NICHT SINNVOLL wenn viele Mitarbeiter parallel versuchen Datensätze zu erzeugen.
(z.B. Als Hilfsmittel einer Reaktion) In diesem Fall wäre es gut möglich das Mitarbeiter A und Mitarbeiter B gleichzeitig versuchen einen Datensatz an die Datei anzuhängen. In dem Fall würde der erste gewinnen und der zweite Datensatz würde beim Export verloren gehen.
Daher sollte der Einsatz dieses Hilfsmittels immer wohl überlegt werden. Wird das Hilfsmittel wie hier vorgestellt in einer Exportstufe verwendet, sollte es keine Probleme geben.

Da eine Stapelverarbeitung alle Tickets auf einmal behandelt, ist es nötig, die Ticketbearbeitung umzustellen, damit die Tickets einzeln bearbeitet werden. Damit dennoch eine automatische Bearbeitung erfolgt, muss dem Ticket noch die Reaktion und die Unterdrückung des Schlussdialogs mitgegeben werden.

Natürlich ist es möglich, daß Hilfsmittel auch für andere Aufgaben einzusetzen. In abgewandelter Form kann es zum Beispiel auch als Makro beim Öffnen und Schließen der Datenbank eingesetzt werden um eine Login/Logout-Datei je Mitarbeiter in einer versteckten Freigabe im Netzwerk zu erzeugen ...
Eine vereinfachte Variante hierfür finden Sie ebenfalls in der Dateianlage zu diesem Artikel.

Das Hilfsmittel erzeugt eine CSV-Datei die den gängigen Normen entspricht und damit direkt in Excel geöffnet werden kann. Sie eignet sich damit ideal als Datenaustauschformat für Ergebnisberichte gegenüber Auftraggebern etc.

Verwendung mit AGVIP SQL:

Installation:

  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "Datensatz für CSV-Datei erzeugen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Datensatz für CSV-Datei erzeugen" entsprechend Ihren Wünschen an. (Speicherort der Ergebnisdatei etc.)

Sie können nun weitere Einstellungen im kommentierten Kopfbereich des Makros vornehmen. Hier geben Sie, wie von den Wordhilfsmitteln bekannt, auch die Felder an, die exportiert werden.

Fallbeispiel A:
Anpassen einer Exportstufe zur automatischen Generierung einer Ergebnisdatei mit automatischer Ticketbewegung und anschließender Outlookemail für den Auftraggeber, die in Anlage die Ergebnisdatei enthält.

Vorgehensweise:
Installieren Sie die Hilfsmittel "Datensatz für CSV-Datei erzeugen.agtool" und "Reportmail mit Exportdaten für den Auftraggeber.agtool"
Passen Sie die Hilfsmittel (Name, Emailvorlage, Empfänger unf Felder für den Export) entsprechend Ihren Bedürfnissen an. Einstellungen die nicht über den Dialog des Hilfsmittels vorgenommen werden können, werden im Kopfbereich des Makros mit entsprechenden Erklärungen definiert.
Wechseln Sie anschließend in den Projektexplorer und Öffnen Sie die Exportstufe.
Stellen Sie auf der Registerkarte "Allgemein" im Modus auf "Nächstes Ticket wird vorgeschlagen" um und "Wartezeit für nächstes Ticket" auf 1 Sekunde.
Wechseln Sie auf die Registerkarte "Reaktionen" und wählen Sie die Reaktion aus, die Sie normalerweise nach dem Export ausführen. Wählen Sie hier als Hilfsmittel das ausgeführt werden soll "Datensatz für CSV-Datei erzeugen".
Wechseln Sie nun auf die Registerkarte "Ansichten" und ordnen Sie der Stufe eine Ansicht zu.
Wechseln Sie nun auf die Registerkarte "Makros"
Im Makro "Beim Laden" tragen Sie bitte folgende Zeilen ein: (<Reaktionsname> ersetzen Sie bitte durch den Namen Ihrer Reaktion für den Export.)

 
ActiveTicket.Transition="<Reaktionsname>"
ActiveTicket.SuppressFinalDialog=true 
 

 

Im Makro "Nach Einstufung" hinterlegen Sie bitte folgende Zeilen:

 
If Application.Globaldata("CSV-Dateizugriffehler")=true Then
 ActiveTicket.Transition=""
 PostReaction.Abort
End If
 

 

Ab sofort klappt Ihr Export automatisch. Sie können nun den Tickets zusehen, wie diese im Sekundentakt exportiert werden. Sind alle Tickets verarbeitet, lösen Sie direkt anschließend einfach das Emailhilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" manuell aus, und erhalten eine Email mit der Ergebnisdatei im Anhang.

Alternativ können Sie natürlich auch die 'klassische' Exportstufe erhalten.
Dabei führen Sie wie gewohnt den Exportfilter in der Stufe aus und durch Auswahl der Reaktion wird die Reportemail generiert. 
Treffen Sie eine Vereinbarung wie die Exportdatei benannt ist, und wo sie abgelegt ist.
Anschließend können Sie im Hilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" unter Makro, in der Zeile 18 Anlage="<Pfad und Dateiname zur Exportdatei" den Pfad der Ergebnisdatei definieren.
Nun können Sie das Hilfsmittel am Ende des Exports in der Reaktion hinterlegen.

Fallbeispiel B:
Erzeugen einer CSV-Datei um den Login eines Benutzers unter AGVIP SQL mitzuloggen.

Installieren Sie die Hilfsmittel "Login.agtool" und "Logoff.agtool"

Erstellen Sie nun auf Ihrem Server eine versteckte Dateifreigabe mit Schreibrechten für Ihre Anwender. (Dies kann beispielsweise die Freigabe versteckt$ sein. Der UNC Pfad lautet dann \\SERVER\versteckt$ )

Passen Sie nun die Pfade der Zieldatei der Hilfsmittel Login und Logoff an. Verwenden Sie für jeden User eine eigene Datei. (Namensgebung der Datei, Voreinstellung.) Hiermit verhindern Sie Dateizugriffsfehler.
In diesem Beispiel lautet dann der Pfad für das Zielverzeichnis der Zieldatei \\SERVER\versteckt$

Fügen Sie nun die folgende Zeile unter Administration->Datenbank->Adresstabellen-> <Name Ihrer Adressdatei> ->Ändern -> Makro beim öffnen ein:

 
Application.ExecuteTool("Login")
 

 

Im Makro beim Schließen fügen Sie folgende Zeile ein:

 
Application.ExecuteTool("Logoff")
 

 

Ab sofort finden Sie im Verzeichnis \\SERVER\versteckt$ für jeden Anwender eine Datei mit den Anmelde- und Abmeldeinformationen.

Wenn Sie sicherstellen möchten, daß ein Anwender beim Start von AGVIP SQL auch gleich in der Adresstabelle ist, können Sie in der Verküpfung von AGVIP SQL die Adresstabelle gleich mit übergeben.
z.B. C:\Programme\AGVIP SQL\AGVIP.exe /ad:<Adresstabelle>
Auch der direkte Start eines Projektes ist möglich.

Siehe auch KB-Artikel "Text-Datei als Auftragsblatt erzeugen"

2010-10-21 15:13
Ulrich Sticker

Import / Export zwischen AG-VIP SQL und Excel: Empfehlungen und hilfreiche Hinweise.

Beschreibung:
Dieser Artikel beschreibt den zu empfehlenden Import / Export Vorgang um zum Beispiel die exportierten Daten in Excel zu importieren.
Eine allgemeine Beschreibung wie man einen Import / Export Vorgang durchführt wird im Handbuch beschrieben und daher hier vorausgesetzt.

Export:
Beim Export eines nicht relationalen (flachen) Datenformats um dieses später zum Beispiel in Excel zu importieren empfehlen wir folgende Einstellungen:
- Textdatei: ANSI / Semikolon-getrennt / Anführungszeichen
- Neuer Dateiname der zu erzeugenden Exportdatei als .csv Datei abspeichern.

Oder als Exportformat:
- Excel

Hinweis:
Wegen der Begrenzung pro Feld von maximal 250 Zeichen im ODBC-Protokoll ist das Excel Exportformat nicht zu empfehlen!
Weitere Spezifikationen bzw. Obergrenzen sind von der eingesetzten Office Version abhängig.
Sie können diese unter folgenden Links nachlesen:
Office 2003: http://office.microsoft.com/de-de/excel-help/spezifikationen-und-einschrankungen-von-excel-HP005199291.aspx
Office 2007: http://office.microsoft.com/de-de/excel-help/spezifikationen-und-beschrankungen-in-excel-HP010073849.aspx
Office 2010: http://office.microsoft.com/de-de/excel-help/spezifikationen-und-beschrankungen-in-excel-HP010342495.aspx

Excel Import:
Beim Import der exportierten Datei nach Excel werden zwar die Spalten und Felder automatisch korrekt bestimmt und gefüllt jedoch die Zeilenumbrüche bei keinem der beiden Formate (.csv oder Excel .xls) dargestellt.
Dies liegt aber an der Formatierung von Excel und kann durch ein paar Einstellungen angepasst werden.
Die Ironie ist nun, dass es einfacher ist die notwendigen Einstellungen vorzunehmen um in Excel die Zeilenumbrüche bei der .csv Datei darzustellen, als bei dem Excel-Format (.xls). Daher auch unsere Empfehlung für das Format (.csv). Wenn Sie anstelle einer .csv Datei eine .txt Datei erstellt haben, funktioniert die automatische Spalten und Felder zuordnung nicht sondern muss manuell beim Öffnen der .txt Datei definiert werden.

Zeilenumbrüche in Excel aktivieren.
Selektieren Sie einfach alle Felder in dem Sie wie im folgenden Bild auf die Ecke der Spalten und Zeilen klicken:
SelectAll

Danach muss der Zeilenumbruch aktiviert werden:LFCR

Hinweis:
Bei der .csv Datei ist dies nicht notwendig.

Zeilenumbrüche in Excel darstellen:
Nachdem nun wie zuvor beschrieben alle Spalten und Zeilen selektiert sind muss die Einstellung "Oben ausrichten" aktivieren werden:
TopLined

Dann in den Spaltenkopf mit der rechten Maustaste klicken und die "Spaltenbreite" auswählen:
Tabrange

Geben Sie als Breite eine möglichst hohe Zahl ein, in dem Beispiel hier wurde die Breite 40 gewählt damit noch ein paar Felder in einen Screenshot passen. Danach klicken Sie mit einem Doppelklick auf die Spalten und Zeilen Linie eines belibiegen Feldes im Kopf und Rahmen Ihrer Tabelle:
HeightWidthAdjust

Wenn Sie wie im ersten Bild abgebildet bei dem ganzen hier beschriebenen Vorgang weiterhin die Selektion aller Felder aktiv hatten sind nun alle Felder in der Höhe und Breite passend zum größten Feldinhalt angepasst worden:
PerfectAdjusted

Achtung!
Beim Importieren der .xls Datei in Excel, markiert Excel von sich aus alle Texte in jedem Feld mit einem einfachen Hochkomma:
apostrophe

Wenn Sie das in irgendeiner Form stören oder gar behindern sollte, bleibt Ihnen nichts anderes übrich als das .csv Format für den Import in Excel zu wählen. Sie können daher auch die bereits in Excel geöffnete .xls Datei als .csv Datei (mit Trennzeichen getrennt) speichern und diese dann gleich wieder in Excel öffnen. Die Hochkommas sind dann nicht mehr vorhanden.

Import nach AG-VIP SQL:
Das Dateiformat .xls ist für einen Import nach AG-VIP SQL nicht zulässig.
Die .xls Datei muss daher in eine .csv Datei (mit Trennzeichen getrennt) abgespeichert werden damit diese in AG-VIP SQL übernommen werden kann. Das Import-Format entspricht normalerweise immer "ANSI / Semikolon-getrennt / Anführungszeichen". Es kann vorkommen, dass der "Auto" Schalter, welche automatisch das richtige Format einstellen soll, bei solchen Dateien bei denen die Endung geändert wurde nicht das richtige Format auswählt. Dies erkennen Sie spätestens daran, dass bei der Feldzuordnung die zu übernehmenden Felder nur in einer Zeile aufgelistet werden, anstatt in einer Liste:
ImportWrong

Sie können jedoch jederzeit über die "Zurück" Schaltfläche wieder in die Format-Auswahl und ein anderes Format angeben.

2025-05-06 14:56
Peter Brandt

Excel Hilfsmittel zum Befüllen einer Excel-Vorlage

Die Beschreibung des Hilfsmittels "Excel-Datei schreiben mit Vorlage":

Diese Hilfsmittel überträgt basierend auf einer Excel-Vorlage Daten aus AG-VIP SQL in eine neue Excel-Datei.


Einrichtung des Hilfsmittels "Excel-Datei schreiben mit Vorlage":

  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Excel-Datei schreiben mit Vorlage.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels"Excel-Datei schreiben mit Vorlage" Ihren Wünschen entsprechend an.


Konfiguration des Hilfsmittels zum befüllen einer Excel-Datei:

Es sind keinerlei Konfigurationen im Makro des Hilfsmittels notwendig.


Feldbenamung in Excel festlegen

Damit das Hilfsmittel die Werte aus den AG-VIP SQL Feldern an die richtige Position in der Excel-Datei einfügt, müssen Sie die gewünschten Tabellenzelle in der Excel-Datei umbenennen.

Dazu gehen Sie am Besten wie folgt vor:
Sie selektieren die gewünschte Tabellenzelle in Excel und drücken die Tastenkombination STRG + F3 oder starten stattdessen den Namens-Manager manuell über den Reiter "Formeln" -> "Namens-Manager" (Excel2007, 2010).
Formeln - Namensmanager

Drücken Sie dann auf die "Neu" Schaltfläche um der selektierten Tabellenzelle (Hier im Beispiel die Tabellenzelle A1) einen anderen Namen zu vergeben als "A1" zum Beispiel "Salutation".
NamenManager

Wenn Sie den neuen Namen mit "OK" bestätigen wird dieser Name in der zuvor leeren Liste aufgeführt.
Die Tabellenzellenbezeichnung hat sich mit dieser Bestätigung automatisch auf den neu vergebenen Namen geändert.
A1_Salutation

Um eine bereits geänderte Tabellenzelle nochmals umzubenennen oder evtl. sogar zu löschen, muss diese Tabellenzelle über die Liste des Namens-Managers ausgewählt werden und dann über die anderen zwei Schaltflächen "Bearbeiten" und "Löschen" dementsprechend bearbeitet bzw. gelöscht werden.

Die genauen Feldnamen aus AG-VIP SQL sind in der Administration - Adresstabellen  in der gewünschten Adresstabelle der Spalte "Interner Name" zu finden. Dort ist auch der Beispielwert "Salutation" gelistet, welcher standardmäßig in jeder Adresstabelle existiert.
Adresstabelle_internerFeldname

Falls Sie ein Feld von AG-VIP SQL übertragen möchten, welches vom Datentyp Kennzeichenfeld oder Kennzeichenliste ist, so müssen Sie folgende Bezeichnung in der Tabellenzelle zum Internen Feldnamen aus AG-VIP SQL ergänzen:
at_


Beispiel für ein Feld vom Typ Kennzeichenfeld mit dem internen Namen "Status":
at_Status

Bei den Kennzeichendatentypen ist es möglich noch weitere Formatierungsangaben am Ende der Tabellenbezeichnung anzugeben:
_name (nur das Kennzeichenkürzel übertragen)
_desc (nur die Kennzeichenbeschreibung übertragen)
_both (Kennzeichenkürzel und Kennzeichenbeschreibung übertragen)

Beispiel basierend von dem Beispiel zuvor für die komplette Ausgabe (Kürzel + Beschreibung):
at_Status_both

Wenn keine Formatierungsangabe gemacht wird, so wird nur die Beschreibung ausgegeben (Standard)


Um auf Zähler zuzugreifen kann folgender Syntax verwendet werden:
Für den letzten Zähler: Counter.Last
Für den Zähler an Position 1: Counter.1
Für den Zähler mit dem Namen "RechnungsNr": Counter.RechnungsNr


Auf Felder des aktuellen Anwenders der die Excel-Datei befüllt, kann mit folgenden Feldbezeichnungen in Excel zugegriffen werden:

ActiveUser.FullName = Voller Name des Benutzers
ActiveUser.DirectPhoneNumber = Durchwahl des Benutzers
ActiveUser.Department = Abteilung des Benutzers
ActiveUser.Email = Emailadresse des Benutzers
ActiveUser.FaxNumber = Faxnummer des Benutzers
ActiveUser.Function = Funktion des Benutzers
Activeuser.City = Stadt des Benutzers
Activeuser.PhoneNumber = Telefonnummer des Benutzers
Activeuser.Country = Land des Benutzers
Activeuser.Id = ID des Benutzers
Activeuser.MobilePhoneNumber = Mobile Telefonnummer des Benutzers
Activeuser.Name = Name des Benutzers
Activeuser.State = Bundesland des Benutzers
Activeuser.Street = Straße des Benutzers
Activeuser.Street2 = Straße2 des Benutzers
Activeuser.ZipCode = Postleitzahl des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL für jeden Benutzer hinterlegt.

Tabellenzellenverbunde:
Wenn die Werte aus AG-VIP SQL größer sind als die Spaltenbreite oder es mehrere Zeilen sind die übertragen werden (z.B. bei dem Briefkopf -> AddressStreet) so wird automatisch der Wert über das Feld hinweg eingetragen (überlappend) und sofern notwendig das Feld in der Anzahl von Zeilen erweitert. Dadurch werden evtl. andere benachbarte Felder verdeckt oder die Größe der Zeile verändert, was zu störenden optischen Veränderungen führen kann.
Markieren Sie die Tabellenzellen, welche Sie verbinden möchten und formatieren Sie die Zellen mit einem Rechtsklick und einem anschließenden Linksklick auf "Zellen formatieren".
ZellenFormatieren

Im Reiter "Ausrichtung" aktivieren Sie die Checkbox "Zellen verbinden" und bestätigen die Änderung mit "OK".
ZellenVerbinden

Nun sind diese drei Tabellenzellen (A1, B1 und C1) zu eine Zelle verbunden welches unseren zuvor definierten Namen "Salutation" hat.
SalutationVerbund

Wenn man jedoch einen Bereich (mehrere Tabellenzellen) miteinander verbindet, so wird der Wert auch nur in diesen Bereich eingetragen ohne das Formular zu beeinflussen. Sollte allerdings der Bereich zu klein gewählt worden sein, so kann es passieren, dass manche Inhalte nicht komplett dargestellt werden können.

In der beigefügten Vorlage werden ebenfalls Tabellenzellenverbunde verwendet.

Änderungsprotokoll
#14.03.2022: Erweiterung um Zähler-Platzhalter

1970-01-01 01:00
Peter Brandt

Outlook

Zur Kategorie

Outlook 2000: Laufzeitfehler 459: Objekt oder Klasse unterstützt diese Ereignismenge nicht / "Run-Time Error 459- Object or class does not support the set of events"

Ursache:

Das aktuelle Outlook-PlugIn von AG-VIP SQL unterstützt die Outlook Version 2003 und 2007.
Der Fehler erscheint, wenn eine AG-VIP SQL Version ab 1.09.013 mit Outlook 2000 betrieben wird. In Outlook ist dann der Menüpunkt "AG-VIP SQL" sowie die Symbolleise "AG-VIP SQL" nicht sichtbar.

Das Outlook-PlugIn von AG-VIP SQL ist notwendig,
a) um versendete Emails in AG-VIP SQL in der Historie verlinken zu können
b) eingehende Emails in AG-VIP SQL zu archivieren
c) Kontakte aus Outlook in AG-VIP SQL einzutragen.

Hintergrund:

Microsoft hat beim Wechsel von Outlook 2000 zu Outlook 2003 die API-Schnittstelle geändert. Ab Outlook 2007 wird die alte API (CDO-Objekt) nicht mehr mit installiert. Das ältere Outlook-PlugIn basierend auf dem älteren CDO-Objekt führte zu vielen Sicherheitswarnungen in der Anwendung. Deshalb wurde das Outlook-Addin von AG-VIP SQL angepasst.

Lösungsmöglichkeit:

1. Outlook Version 2003 oder 2007 einführen.
2. Outlook-Add-In deaktivieren
3. Das neue Outlook-Add-In deregistrieren und das alte Add-Inregistrieren. (nicht empfohlen)

Vorgehensweise zu  2. Outlook-Add-In deaktivieren

1. Starten Sie MS-Outlook 2000.
2. Wählen Sie aus dem Menü Extras, den Befehl Optionen.
3.  Wechseln Sie in den Reiter "Weitere".
4. Aktivieren Sie dort den Schalter Erweitere Optionen.
5. Wählen Sie den Schalter Com-Add-Ins.
6. Entfernen Sie den Haken vor dem Com-Add-In "Outlook AddIn AG-VIP SQL"

Dies muss auf jedem Client durchgeführt werden, auf dem AG-VIP SQL installiert wurde.

 Vorgehensweise zu 2) Das neue Outlook-Add-In deregistrieren und das alte Add-Inregistrieren. (nicht empfohlen)

1. Schließen Sie Outlook.
2. Erzeugen Sie unterhalb des AG-VIP SQL Programmverzeichnisses ein neues Unterverzeichnis "\agvipoladdin\". Kopieren Sie das alte Outlook Add-In "AGVIPSQLOLAddin.dll" aus angehängter ZIP-Datei in dieses Unterverzeichnis.  Sonst wird?s bei jedem Update überschrieben.

 2. Deregistrieren: (Adminrechte erforderlich)

    regsvr32.exe /u <Kompletter Pfad zur aktuellen AGVIPInstallation>\AGVIPOLAddIn.DLL

 3. Registrieren: (Adminrechte erforderlich)

    regsvr32.exe <Kompletter Pfad zur aktuellen AGVIPInstallation>\agvipoladdin\AGVIPOLAddIn.DLL

Das ist an jedem Platz durchzuführen, an dem das alte AddIn laufen soll! Von daher ist unsere Empfehlung Outllok 2003 oder 2007 einzuführen. Der Support für Outlook 2002 seitens Microsoft ist 2006 eingestellt worden!

Siehe auch: http://www.pcreview.co.uk/forums/thread-1856578.php

2023-07-27 14:02
Markus Grutzeck

Outlook: Empfänger erhält WIN.DAT-Datei oder WINMAIL.DAT

Problem:

Versendete Email erscheint beim Empfänger als Dateianhang "winmail.dat"

Ursache:

Immer wenn aus Outlook eine Email erzeugt und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat. Dieses Emailformat kann von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)
TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum Senden von Nachrichten, daher tritt das Problem hier seltener auf.

Lösung:

Sie müssen also den Versand über das RTF-Format abstellen. In Outlook selbst gibt es hierfür mehrere Einstellungsmöglichkeiten:

  1. Menü EXTRAS, OPTIONEN, Reiter E-Mail Formate Auswahlbox VERFASSEN IM NACHRICHTENFORMAT. Hier in jedem Fall NICHT Rich-Text.
  2. Beim Kontakt in Outlook kann das Sendeformat zusätzlich individuell eingestellt werden. Veränderbar über Doppelklick auf die Emailadresse, SENDEFORMAT.
  3. Die Vorlage des Emailhilfsmittels aus AG-VIP ist in RTF erstellt worden und nicht als HTML oder TEXT.
Weitere Infos:

2011-08-17 16:05
Martin Richter

Outlook: Run Time Error 459

Fehler: 

Fehlermeldung in Outlook nach Installation AG-VIP SQL Version 1.10.x:
"Run Time Error 459: object or class does not support the set of events"

Kurz:

Das Outlook Add-In von AG-VIP SQL ist freigegeben für Outlook Version 2003 und 2007. Outlook 2000 wird nicht unterstützt.

Hintergrund:

Outlook 2000, 97 und ältere Versionen nutzen das CDO Objekt und eine ältere API Version 9. In Outlook 2007 wird das CDO nicht mehr mit installiert. Ab Outlook 2003 gibt es eine neue API Version 10. Diese aktuelle API verwendet das AG-VIP SQL Outlook-Add-In. Der verwendeten Befehle schlagen dann bei Outlook Version 2000 und älter fehl, weil das entsprechende Outlook-Objektmodell nicht verfügbar ist.

Lösung:

Outlook 2003 oder 2007 installieren.
- oder
auf die Funktionalitäten des Outlook-Add-Ins von AG-VIP SQL verzichten und unter EXTRAS, OPTIONEN, im Reiter WEITERE auf den Schalter ERWEITERE OPTIONEN gehen. In diesem Reiter befindet sich ein Schalter COM-ADD-INS. Dort das AG-VIP SQL PlugIn deaktivieren.

2011-08-17 16:05
Martin Richter

MAPI-Hilfsmittel: Email über Outlook versendet kommt manchmal als WINMAIL.DAT an

Beschreibung:

Eine Email die über ein MAPI-Hilfmittel über Outlook gesendet wird, kommt bei manchen Empfängern als Winmail.dat an.

Das Problem liegt nicht in AGVIP sondern in Outlook. (Sowohl Outlook als auch Outlook Express)

Immer wenn aus Outlook eine Email gesendet wird und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat, das von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)

TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum senden von Nachrichten, daher tritt das Problem hier seltener auf.

Das TNEF verwendet wird kann folgende Ursache haben:
  1. Outlook ist unter Optionen Email-Format auf "Rich-Text-Format" als Standard eingestellt.
  2. Der Kontakt zur Emailadresse ist in Outlook vorhanden und dort ist "Als Rich Text" senden in der Adresse des Kontakts als Sendeformat eingestellt. (Doppelklick auf Emailadresse des Kontakts-> Sendeformat)
  3. Die Vorlage auf der das Hilfsmittel basiert ist auf Rich-Text als Sendeformat eingestellt.
Lösungsmöglichkeiten:
  1. Überprüfung der 3 oben genannten Punkte auf korrekte Einstellungen.
  2. Verwendung des Hilfmittels mit HTML-Erweiterung vom 23.08.2007 (Email schreiben mit Vorlage)
Siehe auch:

2011-08-17 16:06
Martin Richter

Problem:

AG-VIP SQL bietet ein Beispielhilfsmittel, um Kontaktdaten aus AG-VIP SQL in dne Kontaktordner nach Outlook zu übergeben. Umgekehrt lassen sich Outlook-Kontakte über das Outlook Add-In in AG-VIP SQL übertragen. Die Frage ist, welche Felder übergeben werden.

Lösung: Von AG-VIP SQL nach Outlook

Das Musterbeispiel übergibt standardmäßig folgende Kontaktdaten nach Outlook:

 

 AG-VIP SQL Feld  Outlook Feld
 Anrede  Title
 Vorname  FirstName
 Nachname  LastName
 Funktion  JobTitle
 Name1 & Name2 & Name3  CompanyName
 Straße  BusinessAddressStreet
 PLZ  BusinessAdressZipCode
 Ort  BusinessAdressCity
 Land (mit "Deutschland" vorbelegt)  BusinessAddressCountry
 TelefonFirma  Business2TelephoneNumber
 TelefonZentral  BusinessTelephoneNumber
 TeleFaxFirma  BusinessFaxNumer
 TelefonMobil  MobileTelephoneNumber
 TelefonPrivat  HomeTelephoneNumber
 TeleFaxPrivat  HomeFaxNumber
 Internet  BusinessHomePage
 Email1  EmailAddress1
 Email2  EmailAddress2
 Email3  EmailAddress3

Über den Makro können Sie die Zuordnung von AG-VIP Feldern zu den entsprechenden Outlook-Kontaktfelder frei bestimmen.

Sie finden dies im unteren Teil des Mustermakros in der Sektion

With olAddressItem
.[Feldname Outlook] = ActiveAddress.Fields["[Feldnamen AG-VIP SQL intern]")
....
End With

Ebenso lässt sich der Folder in Outlook frei wählen.

Lösung: Zuordnung von Outlook-Kontaktdaten nach AG-VIP SQL

Die Zuordnung von Outlook-Kontaktfeldern zur Übernahme nach AG-VIP SQL ist durch das Outlook-AddIn fest definiert und nicht frei bestimmbar. Über die AG-VIP SQL Schalterleiste in Outlook finden Sie die Funktion "Adresse in AG-VIP SQL eintragen / ergänzen". Wurde der Kontakt zuvor aus AG-VIP SQL in Outlook eingetragen, ist eine eindeutige Zuordnung und eine Aktualisierung der Daten möglich. Ist dies nicht der Fall, wird in der geöffneten Adresstabelle ein neuer Adressdatensatz angelegt. Dabei werden folgende Felder übernommen:

 Outlook Bezeichnung Outlook intern  AG-VIP SQL
 Name    
   Anrede  Title  
   Vorname  FirstName  Vorname
   weitere Vornamen    
   Nachnamen  LastName  Nachname
   Namenszusatz    
 Firma  CompanyName

Name1
KurzNamen

 Position  JobTitle  
 Email  EmailAddress1  Email1
analog für Email2, Email3
 Website  BusinessHomePage  Internet
 Geschäftlich  BusinessTelephoneNumber  TelefonZentrale
 Privat  HomeTelephoneNumber  TelefonPrivat
 Fax geschäftlich  BusinessFaxNumer  
 Mobiltelefon  MobileTelephoneNumber  
 Adressen, geschäftlich    
   Straße  BusinessAddressStreet  Straße
   PLZ  BusinessAdressZipCode  PLZ
   Bundesland    
   Ort  BusinessAdressCity  Ort
   Land  BusinessAddressCountry  DEU

Schwierigkeit:

Die Zuordnungsmöglichkeit hängt sehr stark davon ab, wie der Kontakt in Outlook erfasst wird. Wenn man z.B. den Ansprechpartner erfasst, öffnet Outlook ein PopUp und ermöglicht die Erfassung in vier Feldern ANREDE, VORNAME, VORNAME2, NACHNAME und NAMENSZUSATZ. Dann lassen sich diese Teile auch eindeutig bestimmten Feldern in AG-VIP SQL zuordnen. Ansonsten kann die Zuordnung Probleme bereiten oder mehrere Werte werden in ein Feld in AG-VIP SQL geschrieben.

Das gleiche Problem ergibt sich bei der Anschrift. Schreibt man dies einfach in das mehrzeilige Memofeld ist keine Übernahme nach AG-VIP SQL möglich. Nutzt man die in Outlook einzelnen Felder STRASSE, ORT, BUNDESLAND, PLZ, LAND / REGION, können die Daten übernommen werden.

Die private Anschrift aus Outlook wird komplett ignoriert.

neuer Outlook-Kontakt

Erscheint in AG-VIP SQL als:

neuer Outlook Kontakt erscheint in AG-VIP SQL so

2011-08-17 16:07
Markus Grutzeck

Beim Ausführen eines Outlook Addins erscheint die Meldung: "Die AGVIPCDO.DLL ist nicht registriert!"

Hinweis:
Bei der AG-VIP SQL Version 1.21.003.456 wurde versehentlich eine Outlook-AddIn-Version ausgeliefert, die nicht mit dieser oder einer älteren Version von AG-VIP SQL kompatibel ist.
Falls Sie die AG-VIP SQL Version 1.21.003.456 (oder älter) verwenden und die Fehlermeldung erscheint, dass die AGVIPCDO.DLL nicht registriert sei, ist dies leider eine Falschmeldung. Um dieses Problem zu beheben, kopieren Sie die am Ende dieses Knowledgebaseartikel hinterlegte Datei in das Installationsverzeichnis von AG-VIP SQL und überschreiben somit die bereits existierende AGVIPSQLOLAddin.DLL mit diesem Vorgang.

Wenn Sie eine neuere Version als die 1.21.003.456 verwenden, befolgen Sie bitte die hier beschriebene Vorgehensweise zur Registrierung der AGVIPCDO.dll. Die Datei im Anhang benötigen Sie zum Lösen Ihres Problems nicht. 

Beschreibung:
Bei der Installation von AG-VIP SQL oder eines Updates, bei dem das Outlook Addin eingerichtet bzw. aktuallisiert wird, wurde die AGVIPCDO.DLL nicht registriert. Dies hat zur Folge, dass die Outlook Addins nicht mehr auf die Redemption Bibliotheken zugreifen können und somit nicht mehr funktionieren.

Lösung:
Für eine Lokal-Installation muss die AGVIPCDO.DLL manuell registriert werden.
Bei einer Netzwerk-Installation kann man ebenfalls eine manuelle Registrierung der AGVIPCDO.DLL durchführen oder die SetupAGVIPClient.EXE aus dem Installationsverzeichnis von AG-VIP SQL (Server) ausführen.
Für alle Varianten benötigen Sie Administrator-Rechte.

Vorgang:
Lokale Installation:
Starten Sie eine Kommandozeileneingabeaufforderung in dem Sie in Ihrer Taskleise auf das Windowslogo bzw. auf "Start" klicken und dort dann in dem Eingabefeld "Programme / Dateien durchsuchen" bzw. öffnen Sie das Eingabefeld in dem Sie auf "Ausführen" klicken, die Buchstabenfolge "cmd" eingeben.
Nach bestätigen der Eingabe bzw. direkte Auswahl der cmd.exe startet die Kommandozeileneingabeaufforderung.
Kommandozeileneingabeaufforderung

geben Sie nun folgendes in der geöffneten KEingabeaufforderung ein und bestätigen die Eingabe mit Enter:
regsvr32.exe "C:\Programme\AG-VIP SQL\AGVIPCDO.DLL"
regscr32.exe AGVIPCDO.DLL

Der Pfad muss auf das Installationsverzeichnis von AG-VIP SQL veweisen

Netzwerk Installation:
Bei einer Netzwerk-Installation können Sie ebenfalls eine manuelle Registrierung wie im darüber liegenden Abschnitt "Lokale Installation" beschrieben durchführen. Sie müssen jedoch den Installationspfad von AG-VIP SQL auf dem Server angeben, aber die Ausführung der Kommandozeileneingabe auf dem Clienten (Über das Netzwerk).
Sie können stattdessen aber auch ohne Verwendung der Kommandozeileneingabeaufforderung die "SetupAGVIPClient.EXE" ausführen.
Öffnen Sie mit dem Windowsexplorer vom Clienten aus das Installationsverzeichnis von AG-VIP SQL auf dem Server und führen Sie dann die "SetupAGVIPClient.EXE" aus.

2011-08-17 16:07
Peter Brandt

Beim speichern der Einstellungen des AG-VIP SQL AddIns für Outlook kommt die Meldung: "Einstellungen konnten nicht gespeichert werden"

Beschreibung:
Wenn Sie Windows Vista oder Windows 7 verwenden ist es zwingend notwendig, dass Sie Administrative Rechte besitzen um diese Einstellungen in der AGVIP.INI bzw. in der Registry abzuspeichern.

Umsetzung:
Dies können Sie bei einer Lokalen Installation wiefolgt tun:
Wechseln Sie in Ihr Installationsverzeichnis von Outlook. klicken dann mit der rechten Maustaste auf die "Outlook.exe" und wählen dann "Als Administrator Ausführen" aus. Nun können Sie die AddIn Einstellungen für AG-VIP SQL in der Registry abspeichern. Bei mehreren Lokalen Installationen muss dieser Vorgang auf jedem Rechner wiederholt werden.

Bei einer Netzwerk Installation, muss dies der System Administrator auf dem Server nur einmalig umsetzen, die Einstellungen sind dann für alle Rechner die darüber Ihr Outlook AddIn laden übernommen (da alle die selbe AGVIP.INI auslesen anstelle der lokalen Registry).

Einstellungen Lokal (Registry) oder im Netzwerk (AGVIP.INI) speichern:
Um die Outlook AddIn Einstellungen nur Lokal abzuspeichern (in der Registry), muss in dem AG-VIP SQL Outlook AddIn die Einstellungsart:
"Parameter nur für aktuellen Benutzer speichern" ausgewählt sein.
 

Um die Einstellungen im Netzwerk (AGVIP.INI) und somit für alle Benutzer der selben Einstellung zu speichern, muss die Einstellungsart:
"Parameter für alle Benutzer des Addins speichern" ausgewählt sein.
Eine Pfadangabe im Netzwerk für das Ablegen der E-Mails als Datei ist empfehlenswert.

AGVIP.INI:
Die AGVIP.INI lässt sich jedoch auch manuell anpassen.
Wenn Sie die AGVIP.INI in Ihrem Installationsverzeichnis von AG-VIP SQL mit einem Texteditor öffnen, können Sie folgende Passage hinzufügen bzw. anpassen:

[OutlookAddIn]
EmailPath=C:\Programme (x86)\AG-VIP SQL\Outlook EMails
EmailFileName=Email von %Sendername% am %Date% um %Time%
EmailSaveHistorieMode=0
EmailSaveHistorieModeNonStorage=2
EmailSendDate=1
EmailSubject=1
EmailText=1
NSEmailSendDate=1
NSEmailSubject=1
NSEmailText=1

Registry:
In der Registry werden Sie diese Einträge nur über eine Suche finden.
Mit dem Begriff "EmailSaveHistorieModeNonStorage" werden Sie fündig,
sofern bereits einmal eine Speicherung über die oben genannte Einstellungsart für eine lokale Speicherung erfolgte.


Erläuterung:
EmailPath gibt den Speicherort der zu speichernden E-Mails als Ablage an (Beim Ausführen des Hilfsmittels "Email speichern in AG-VIP SQL mit Ablage"). Bei einem zentralen Speicherort auf einem Server muss natürlich dessen Laufwerk anstelle des lokalen Laufwerks C: angegeben werden.

EmailFileName gibt an, wie der Name der zu speicherten Email als Ablage benannt werden soll. In dem Beispiel würde die abgespeicherte E-Mail z.B. folgenden Namen bekommen "Email von Max Mustermann am 16.12.2010 um 110530" wobei 110530 der Uhrzeit 11:05:30Uhr entspricht.
Mögliche Platzhalter sind:
%Date% - Datum im Format dd.mm.yyyy
%Time% - Zeit im Format hhmmss
%Subject% - der Betreff der Email
%Sender% - Die Email Adresse des Absenders
%Sendername% - Der Name des Absenders
%Receiver% - Der Name des Empfängers

EmailSaveHistorieMode stammt von dem vorgänger Outlook AddIn und ist nicht mehr in Verwendung.

EmailSaveHistorieModeNonStorage gibt an, was alles in der Historie zusätzlich mit übernommen werden soll, wenn das Hilfsmittel "Email speichern in AG-VIP SQL ohne Ablage" ausgeführt wird.
Mögliche Parameter sind:
0 - Nur Betreff
1 - Nur E-Mail Text
2 - Betreff und E-Mail Text

EmailSendDate, EmailSubject und EmailText ergänzen Datum, Betreff und E-Mail Text im Historien Text sofern das Hilfsmittel "Email speichern in AG-VIP SQL mit Ablage" ausgeführt wird.
Mögliche Parameter sind:
0 - nicht ergänzen
1 - ergänzen

Hinweis:
Mir möchten darauf hinweisen, dass die evtl. nicht mögliche Speicherung der Einstellungen des AG-VIP SQL Outlook AddIns kein Fehler im Programm ist, sondern eine in Windows Vista und Windows 7 eingeführte Verschärfung der Benutzerrechte bezüglich der Schreibrechte.

2011-08-17 16:08
Peter Brandt

Das Outlook AddIn und/oder E-Mail Hilfsmittel für Outlook funktionieren nicht (Outlook 64bit)

Beschreibung:
Das AG-VIP SQL Outlook AddIn und/oder E-Mail Hilfsmittel die eine E-Mail in Outlook erstellen funktionieren bei Outlook mit 64bit nicht.

Problemdarstellung:
Beim Outlook AddIn tritt bereits bei der Installation des Outlook AddIns über die SetupAGVIPClient.exe ein Fehler auf, dass die "AGVIPSQLOLAddin.dll" Datei nicht installiert werden konnte.

Bei einem E-Mail Hilfsmittel tritt folgender Makrofehler beim Ausführen des Hilfsmittels auf:
Outlook64bitError

Erklärung:
Das AddIn sowie die E-Mail Hilfsmittel können nicht mit einer 64bit Version von Outlook verwendet werden.

Lösung:
Die 32bit Version von Outlook installieren und bei geschlossenen Outlook die SetupAGVIPClient.exe erneut ausführen.

Der Einsatz der 32-Bit-Version von Office 2010 wird für die meisten Benutzer empfohlen.

Siehe auch http://office.microsoft.com/de-de/outlook-help/auswahlen-der-32-bit-oder-64-bit-version-von-microsoft-office-HA010369476.aspx

 

Änderungslog:
25.09.2013:

  • Suchbegriffe um Fehlermeldung in AG-VIP SQL erweitert ("BS", "Falsches BS", "BS-Version", "Falsche BS-Version")

10.06.2013:

  • Erweiterung des Artikels um das selbe Problem, jedoch auch für E-Mail Hilfsmittel in Verbindung mit Outlook 64bit
  • Erweiterung des Artikels um den Abschnitt "Problemdarstellung"
  • Erweiterung des Artikels um den Abschnitt "Änderungslog"

 

2013-09-25 14:35
Peter Brandt

Beim Ausführen eines Outlook Hilfsmittels kommt jedes Mal ein Warnhinweis (Outlook 2003)

Beschreibung:
Beim Ausführen eines in AG-VIP SQL eingerichteten Outlook Hilfsmittels um z.B. eine E-Mail zu verfassen erscheint in Outlook (2003) ein Pop-Up Fenster mit einem Warnhinweis, dass ein Programm auf Outlook zugreifen möchte.
Sie werden dabei aufgefordert den Zugriff zu gewähren oder zu verweigern.
Diese Bestätigung muss bei jedem Ausführen des Hilfsmittel erneut durchgeführt werden und ist daher äußerst nervend und Zeit raubend.

Lösung:
Die Firma MAPILab stellt ein kostenfreies Outlook Add In zur Verfügung, mit welchem es einem ermöglicht diese Sicherheitsabfragen auf Programme bezogen zu speichern.
Leider erscheint häufig nicht tatsächlich der Programmname des Programmes sondern lediglich die .dll Datei worüber das Programm die Verbindung zu Outlook herstellt.
Nichts desto trotz kann man dadurch die lästigen Warnhinweise auch für AG-VIP SQL bearbeiten und so muss der Zugriff nur noch einmalig gewährt werden (sofern man den Haken "Immer diese Aktion ausführen" aktiviert und natürlich auf "Zugriff erlauben" klickt)

Advanced Security für Outlook Dialog

Hinweis:
Lesen Sie wie von MAPILab empfohlen die beiligende Anleitung vor der Verwendung dieses Outlook Add Ins durch.
Die Verwendung dieses Outlook Add Ins von MAPILab geschieht auf eigene Gefahr!
Schäden oder sonstige Verluste welche durch die Verwendung dieses Outlook Add Ins zustande kommen werden nicht von uns Übernommen!
Bei einen dadurch entstandenen Support-Antrag wird dieser trotz evtl. bestehenden Wartungsvertrag kostenpflichtig berechnet!

Link zur MAPILab Webseite:
http://www.mapilab.com/de/outlook/security/

2011-08-17 16:09
Peter Brandt

Das Outlook Add In funktioniert bei Benutzern welche geringe Rechte besitzen nicht.

Hinweis:
Dieses Problem besteht ab der AG-VIP SQL Version 1.30.001 nicht mehr.

Beschreibung:
Nachdem Installieren des Outlook Add Ins über die SetupAGVIPClient.exe als Administrator, können Benutzer welche nicht über die notwendigen Rechte verfügen das Outlook Add In nicht ausführen. Das Problem liegt dabei daran, dass die Verbindungsinformationen in der Registry nicht wie gewünscht im HKEY_LOCAL_MACHINE Pfad eingetragen werden sondern im HKEY_CURRENT_USER Pfad des Administrators.

Lösung 1:
Ab der AG-VIP SQL Version 1.30.001 ist dieser Fehler behoben.
Der Workarround für ältere Versionen ist, dass man die fehlenden Einträge als Administrator in der Registry ergänzt.
Dazu starten Sie einfach als Administrator auf den betroffenen Rechnern mit einem Doppelklick die .reg Datei im Anhang dieses Artikels.
Nun kann JEDER Benutzer an DIESEM Rechner das Outlook Add In verwenden (sofern zuvor bereits die SetupAGVIPClient.exe ausgeführt wurde). 

Lösung 2:
Die etwas umständlichere Lösung ist, dass der Benutzer kurzfristig der Administrator Gruppe hinzugefügt wird, dieser anschließend die SetupAGVIPClient.exe ausführt und ihm dann die Administratorrechte wieder entzogen werden.
Dadurch hat DIESER Benutzer an DIESEM Rechner seinen eigenen Verbindungseintrag im HKEY_CURRENT_USER Pfad der Registry und kann daher das Outlook Add In verwenden.
Eventuell muss der Benutzer vorher noch die "AG-VIP SQL Arbeitsstation" deinstallieren, da sonst das Setup die Installation mit der Meldung, dass bereits AG-VIP SQL auf diesem Rechner installiert sei beendet.

Warum tritt das Problem erst jetzt auf?
Das Problem bestand seit der ersten Version des Outlook Add Ins und trat auch schon früher auf.
Unsere anfänglichen Analysen ergaben, dass der Benutzer mindestens Hauptbenutzerrechte haben muss um das Outlook Add In nach einer Registrierung zu verwenden.
Die meisten Anwender haben diese Anforderung dann erfüllt und dadurch wurde das Problem umgangen.
Jedoch durch den immer mehr werdenden Einsatz von Terminal-Lösungen war es unbedingt notwendig, dass die Benutzer eben in Ihren Rechten sehr eingeschränkt sind.

Wie kam es dazu?
Dieser falsche Pfad wird automatisch beim Erstellen der AGVIPSQLOLAddin.dll (Outlook Add In) von der Entwicklungsoberfläche "Visual Basic 6" in der Connect.dsr Datei festgelegt und ist nicht für den Entwickler in der Entwicklungsoberfläche ersichtlich und konfigurierbar.
Dieser Artikel beschreibt das Problem und bietet für Entwickler auch einige Lösungsmöglichkeiten an:
http://www.darinhiggins.com/registering-vb6-office-com-add-ins-as-per-machine

Aber warum funktionierte es nicht, wenn der Benutzer mit den geringen Rechten die SetupAGVIPClient.exe mit "Als Administrator ausführen" ausgeführt hat?
Wenn der Benutzer nicht bereits über die notwendigen Administratorrechte besitzt, erscheint ein Pop-Up in dem zu einem Benutzerkonto mit Administratorrechten das Zugangspasswort eingegeben werden muss. Wenn man dies jedoch gemacht hat, war man für diesen Vorgang mit diesem Benutzer eingeloggt und die Registrierungen liefen somit in dessen Registrierungspfad HKEY_CURRENT_USER und nicht in dem Registrierungspfad des Benutzers mit den geringen Rechten.

2011-08-18 15:15
Peter Brandt

Daten von Tickets, welche über das Outlook Add In erstellt werden in Feldern übernehmen.

Beschreibung:
Wenn eine globale Suche über das Outlook Add In angestoßen wird und man dadurch ein neues Ticket erzeugt, kann über das EVENT Objekt auf die Informationen der E-Mail zugegriffen werden.

Anpassungen:
Auf Ebene der Bearbeitungsstufe in der Makroposition "beim Laden" können Sie mit folgenden Makrocode die Informationen in beliebige Felder übernehmen.
Beim Laden

'Überprüfung, ob das EVENT Objekt existiert
If Not ActiveTicket.Event Is Nothing Then
'Überprüfung ob es sich um ein neues Ticket handelt
If ActiveAddress.Fields("Id").Value = 0 Then
ActiveAddress.Fields("<IhrEMailFeldName>").Value =  ActiveTicket.Event.Source
ActiveAddress.Fields("<IhrBetreffFeldName>").Value = ActiveTicket.Event.Subject
ActiveAddress.Fields("<IhrEMailTextFeldName>").Value = ActiveTicket.Event.Text
End If
End If

Die in eckigen Klammern geschriebene Worte, müssen durch den von Ihnen gewünschten internen Feldnamen in AG-VIP SQL ersetzt werden z.B. so für die E-Mail:
ActiveAddress.Fields("CommEMail1").Value = ActiveTicket.Event.Source

Dabei sollte man jedoch beachten, dass sofern Sie keine Abfrage erstellen, ein evtl. bereits vorhandener Inhalt überschrieben wird.

Weitere Eigenschaften des EVENT Objektes wie z.B. Event.File etc. können Sie im Makrohandbuch ab der Seite 93 zum Thema "11.21 Objekt: Event (Globale Suche)" nachlesen.
siehe Handbuch Makroprogrammierung Seite 184

Vorgehensweise für die Voraussetzungen einer Übertragung der notwendigen Daten:
Im Outlook Add In die entsprechende E-Mail auswählen und auf "E-Mail speichern in AG-VIP SQL ohne Ablage" oder auf "E-Mail speichern in AG-VIP SQL mit Ablage" klicken.
Outlook Add in

Danach in AG-VIP SQL im Ausgabe-Fenster ein neues Ticket erzeugen.
Neues Ticket

Dadurch wird das Makro "beim Laden" aktiviert und die von Ihnen hinterlegten Felder befüllt.

2018-05-16 12:33
Peter Brandt

Office 2013 - Probleme mit dem Outlook Add In

Problem Szenario 1:
Bei der Netzwerkinstallation von AG-VIP SQL tritt eine Fehlermeldung auf, welche das Outlook Add In betrifft.
Beim Versuch das Outlook Add In manuell zu registrieren kommt folgender Fehler:
Add In Fehlermeldung

 

Problem Szenario 2:
In Outlook wird das Addin unter "inaktive Add-Ins" aufgeführt. Eine Aktivierung hat jedoch keinen Effekt bzw. das Addin bleibt trotzdem weiterhin inaktiv.

Begründung:
Seit der Office 2013 Version, liefert Microsoft eine bestimmte Bibliotheksdatei nicht mehr mit.
Diese Datei "MSADDNDR.DLL" wird jedoch von jedem customized Outlook Add In benötigt,
welches Ansichten verwendet (Einstellungsdialog und Infodialog).

KB-Artikel von Microsoft:
http://support.microsoft.com/kb/2792179

Da Microsoft den KB-Artikel entfernt hat, ist er nur noch über "Web.Archive.org" verfügbar:
https://web.archive.org/web/20141220201335/http://support.microsoft.com/kb/2792179

 

 

Lösung:
Die fehlende Datei muss manuell installiert/registriert werden.
Am Ende dieses KB-Artikels gibt es ein Setup, welches das AG-VIP SQL Outlook Add In installiert und sofern die "MSADDNDR.DLL" fehlen sollte, diese ebenfalls zuvor installiert und registriert.
Der Installationspfad ist freiwählbar, jedoch wäre zu empfehlen, den selben Pfad anzugeben, welcher dem Installationspfad von AG-VIP SQL entspricht.

 

Hinweis:
Das Problem tritt nicht auf, wenn man zuvor auf dem Rechner bereits eine ältere Version von Office installiert hatte.
Dadurch wurde nämlich die in Office 2013 fehlende .dll bereits erstellt und wird somit auch im Office 2013 verwendet.

Weiterer Hinweis:
Das Outlook Add In funktioniert nur bei einer Office Installation in der 32bit Variante (standard). Falls Sie Office als 64bit Variante installiert haben sollten, so deinstallieren Sie dieses und installieren Sie Office als 32bit Variante erneut.

 

Änderungslog:

12.08.2015

  • Weitere Szenarien und Hinweise ergänzt

16.03.2015

  • Link zum Microsoft KB-Artikel aktualisiert

09.12.2013

  • bestehende .dll durch signierte ersetzt (sonst keine Änderungen)

03.12.2013

  • AGVIPSQLOLAddin.dll im Setup aktuallisiert auf Version 3.32.6

01.10.2013

  • Link zum Microsoft KB-Artikel hinzugefügt

2015-03-16 13:20
Peter Brandt

Outlook 2016 - Fehler: Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert.

Beschreibung:
Beim Versuch ein Outlook Hilfsmittel aus AG-VIP SQL heraus zu verwenden, tritt folgender Fehler in Outlook 2016 auf:

"Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert."

OLMAPI32.DLL

 

 

AG-VIP SQL stürzt nach bestätigen der Meldung ab.

 

Ursache:
Das Outlook 2016 Modul "OLMAPI32.DLL" verursacht diesen Fehler.

 

Lösung:
Einsatz von AG-VIP SQL mit mindestens der Version 1.43.005.675 (empfohlen)
oder eine ältere Version von Outlook einsetzen.

2016-02-22 11:13
Peter Brandt

Outlook Web Access (OWA) in AG-VIP SQL darstellen

Beschreibung:
Der OWA wird über Exchange oder über die Microsoft Cloud (365) Online bereitgestellt.
Dieser wird daher üblicherweise in einem Browser dargestellt.

Problemstellung:
Benutzer sollen kein weiteres Programm wie z.B. einen Browser bedienen bzw. das ständige hin und her wechseln zwischen AG-VIP SQL und dem Browser stört.

Lösung:
Durch Verwendung eines Browsercontrols in AG-VIP SQL, kann direkt über z.B. eine Ansicht der OWA in AG-VIP SQL dargestellt werden.

Vorgehensweise:
Sie finden den Pfad zum OWA in ihrem Outlook unter Datei->Informationen

Diesen kopieren Sie und testen diesen in Ihrem verwendeten Browser.
Wenn alles in Ordnung ist, erscheint ein Anmeldebildschirm.

Mit dieser Gewissheit, tragen wir nun diesen Pfad zum OWA in das Browsercontrol auf der AG-VIP SQL Ansicht ein, welche Sie am Ende dieses KB-Artikels herunterladen und in AG-VIP SQL importieren können.
Browsercontrol selektieren -> in den Eigenschaften rechts auf "Standard URL" klicken und im Dialog dann die URL einfügen.

Hinweis:
Falls Sie nicht die im KB-Artikel beigefügte Ansicht verwenden und ein eigenes Browsercontrol erstellt haben, müssen Sie die Eigenschaften "Navigieren erlauben" und "Formularmodus" auf "Ja" setzen.
Desweiteren ergänzt die beigefügte Ansicht noch zusätzlich an die von ihnen eingefügte URL den Pfad zum Kalender im Abschnitt "Makros beim Laden". Dieses Makro funktionieren nur, wenn das Browsercontrol wie in der angehängten Ansicht den Namen "Browser" besitzt.

Verwendung:
Nachdem nun alles fertig eingerichtet ist, kann die Ansicht verwendet werden.
Beim ersten Aufruf bzw. nach einer Abmeldung im OWA muss sich der Benutzer stets am OWA anmelden.

Bei dieser Neuanmeldung geht die Information verloren, dass man eigtl. den Kalender angezeigt haben möchte.
Daher muss man dies nach einer Anmeldung manuell auswählen.

Danach wird jedoch immer direkt der Kalender angezeigt (bis zur nächsten Anmeldung).

Tipp:
Manchmal reicht eventuell die Bandbreite der Internetverbindung nicht aus um die grafische Darstellung des OWAs schnell anzuzeigen.
Es gibt eine "Light" Version des OWAs welche auf einige grafische Elemente verzichtet.
Diese kann in den Optionen aktiviert werden.

2016-06-24 13:01
Peter Brandt

Outlook 2013/2016 Version 1001/1705 - Problem mit Outlook Hilfsmittel

Beschreibung:
Mit dem Update  Outlook 2013 Version 15.0.4937.1001 und der 2016 Version 1705 ist ein Security Patch integriert worden.

Auswirkung:
Sämtlicher HTML Inhalt der Vorlagen wird beim setzen des Mail-Body in "Nur-Text" umgewandelt wodurch z.B. alle Bilder, Textformate, Links entfernt werden.
Das verwenden von Outlook Vorlagen in Verbindung mit Hilfsmitteln ist somit nicht mehr möglich bzw. muss die erstellte E-Mail immer händisch aufbereitet werden.

Lösung:
Siehe auch folgenden KB-Artikel: Outlook Security Patch verursacht Probleme mit Outlook Hilfsmitteln
Nur wenn es mit diesem Vorgehen und einem Update keine Lösung gibt sind die nachfolgenden Schritte notwendig.

Da es nicht möglich ist das Vorgehen von Outlook zu ändern, bleibt als Lösung nur ein Rollback die vorherige Version.

Anleitung für RollBack auf die Outlook 2013 Version 1000 bzw. Outlook 2016 Version 1704:

1. Die automatischen Office Updates deaktivieren.
-> In Outlook unter "Datei"->"Office Konto" finden Sie "Updateoptionen" in dem Sie die automatischen Updates deaktivieren können.



Falls Sie diesen Schalter nicht in Ihrem Outlook haben sollten, überprüfen Sie ob in den WindowsUpdate-Einstellungen unter "Erweiterte Optionen" der Schalter bei "Updates für andere Microsoft-Produkte bereitsstellen, wenn ein Windows-Update ausgeführt wird" nicht gesetzt ist.

2. Alle Office Produkte schließen/beenden (Outlook, Word, Excel etc.)

3. Eine Eingabeaufforderung mit "Als Administrator ausführen" starten.
-> Auf Windows-Start Symbol klicken und direkt "CMD" eingeben.
-> Anschließend mit der rechten Maustaste auf das angezeigte Ergebnis und mit der linken Maustaste auf "Als Administrator ausführen" klicken.

Hinweis:
Falls Sie die im Punkt "4. RollBack Befehl ausführen" aufgeführte Datei "officec2rclient.exe" nicht auf Ihrem Rechner finden sollten, haben Sie vermutlich eine Volumenlizenz von Office installiert. In diesem Fall wird der Security Patch über die WindowsUpdates installiert und muss dort auch deinstalliert werden.


4. RollBack Befehl ausführen:
-> Dazu nachfolgende Zeile kopieren und mit einem Rechtsklick in der Eingabeaufforderung einfügen und mit Enter bestätigen. 
(Auf manchen Betriebssystem wird direkt beim Einfügen automatisch die Ausführung gestartet)

Outlook 2013:
"C:\Program Files\Microsoft Office 15\ClientX64\officec2rclient.exe" /update user updatetoversion=15.0.4937.1000

Outlook 2016:
"C:\Program Files\Common Files\microsoft shared\ClickToRun\officec2rclient.exe" /update user updatetoversion=16.0.8067.2157

Eine detaillierte Beschreibung zu dem Rollback-Vorgang finden Sie auf der Offiziellen Seite von Microsoft:
https://support.microsoft.com/en-us/help/2770432/how-to-revert-to-an-earlier-version-of-office-2013-or-office-2016-clic

5. Warten bis die Office-Updates abgeschlossen sind (Es wird aus dem Internet die Office 2016 Version 1704 heruntergeladen).
Dies kann einige Minuten dauern (abhängig von der Bandbreite Ihrer Internetverbindung)
Um Komplikationen zu vermeiden, empfehlen wir erst wieder Office zu verwenden wenn der Vorgang abgeschlossen ist, auch wenn Microsoft erwähnt, dass man trotzdem weiterhin Office nutzen könnte.

6. Direkt nach Abschluss des Herunterladens beginnt automatisch die Aktualisierung.

7. Das RollBack Verfahren ist nach verschwinden des Fensters abgeschlossen und kann im Office-Konto überprüft werden.

2021-08-25 08:25
Peter Brandt

Lösung: Outlook Security Patch verursacht Probleme mit Outlook Hilfsmittel

Hinweis:

Dieser Artikel betrifft nur AG-VIP SQL vor der Version 2.01.006. Mit dieser AG-VIP SQL Version wurde das Outlook Addin komplett überarbeitet.

Beschreibung:
Mit dem Update  Outlook 2013 Version 15.0.4937.1001 und der 2016 Version 1705 ist ein Security Patch integriert worden.
Dieser führt dazu, dass die erzeugten E-Mails über ein Outlook Hilfsmittel nicht mehr korrekt dargestellt werden.
In speziellen Fällen können auch Makrofehler auftreten.

Lösung:
In der AG-VIP SQL Version 1.50.005 wurde ein Modul entsprechend erweitert um die durch den Security Patch hervorgerufenen Probleme zu beheben.
Auf Nachfrage kann das Modul auch in der AG-VIP SQL Version 1.50.004 von unserem Support installiert werden (AGVIPCDO.dll muss ausgetauscht werden).

Mit allen älteren Versionen von AG-VIP SQL kann das Problem nur durch ein wie im folgenden KB-Artikel beschriebenen Rollback Vorgang umgangen werden:
https://kb.grutzeck.de/content/29/388/de/outlook-2013_2016-version-1001_1705-_-problem-mit-outlook-hilfsmittel.html

Hilfsmittel Anpassung:
Leider reicht das Modul alleine nicht aus um das Problem zu beheben.
Daher müssen alle Outlook Hilfsmittel im Makrocode angepasst werden.
Folgende Zeile muss angepasst werden:

oItem.Save

Ändern in:

If MailType = 1 Then
   oItem.Save
End If

Falls Sie ausschließlich HTML-Vorlagen (MailType=2) verwenden und keine "Nur-Text" Vorlagen (MailType=1), können Sie die Zeile auch löschen.

Dies können Sie am einfachsten mit "Suchen und Ersetzen" (STRG + H) und betätigen des Schalters "Alle ersetzen":

Anschließend das Hilfsmittel speichern um die Änderung zu übernehmen.

 

Änderungslog:

24.08.2017:

  • Korrektur des zu anpassenden Makrocodes um Abfrage MailType=1

2021-08-25 08:29
Peter Brandt

Lösung zum Outlook Problem nach Fall Creators Update von Windows (Version 1709)

Beschreibung:
Die Outlook Hilfsmittel funktionieren nicht mehr korrekt nach der Installation des Fall Creators Update von Windows (Version 1709).

Ursache:
Das FallCreatorsUpdate hat wichtige "Interface" Einträge in der Registry von Office gelöscht.

Verschiedene Merkmale:
- AG-VIP SQL hängt sich bei der Ausführung des Hilfsmittels auf oder stürzt ab.
- Der E-Mail Inhalt ist leer.
- Es tritt ein Makrofehler auf, bei dem die Meldung "INVALID PARAMETER" angezeigt wird.

Lösung:
Variante 1:
Eine Schnellreparatur an allen betroffenen Rechnern von Microsoft Office behebt das Problem.

Variante 2:
Über folgenden Link kann eine Zip-Datei heruntergeladen werden, welche folgende Dateien enthält:

http://www.dimastr.com/redemption/Outlook_2013_C2R_fix.ZIP
- Outlook2013_C2R.reg
- Outlook2013_C2R_32_on_64.reg
- readme.txt

Wenn Sie Office als 32bit Version installiert haben und Windows als 64bit, verwenden Sie die Datei "Outlook2013_C2R_32_on_64.reg".
Für alle anderen Konstellationen verwenden Sie die "Outlook2013_C2R.reg" Datei.
In der readme.txt Datei ist nochmal beschrieben, wann Sie welche Datei ausführen müssen.

Diese .reg Datei stellt die vom FallCreatorsUpdate gelöschten Registryeinträge wieder her und behebt dadurch das Problem.
Die Datei kann von allen Office Versionen ab 2013 verwendet werden.

2017-12-08 09:03
Peter Brandt

Entfernen / Deinstallation des Outlook Addins

Diese Beschreibung gilt nur für die Version des Outlook Addins ab Version 2.01.006.

Hintergrund:

Das Addin wird nur auf Rechnern installiert auf denen SetupAGVIPClient.EXE ausgeführt wird.

Das Registrieren erfolgt entweder für Outlook 32bit oder Outlook 64bit je nachdem was installiert wurde.

Die Installation erfolgt duch einen Eintrag in der Registry. Dies erfolgt durch SetupAGVIPClient.exe üblicherweise für alle Benutzer des Rechners unter HKEY_LOCAL_MACHINE. Es ist auch eine Installation pro User möglich. In diesem Fall erfolgen die Einträge in der Registry unter HKEY_CURRENT_USER.

Sollte es unter bestimmten Umständen nicht gewünscht sein, dass das Outlook Addin installiert wird, dann kann diesesd Addin auch entfernt werden.

Folgen des Entfernens des Addins:

Das Addin wird benötigt, damit Hilfsmittel Emails korrekt erzeugen und ablegen können. Das Addin sorgt dafür, dass Emails beim Senden korrekt in der entsprechenden Ablage gespeichert werden. Nur wenn keine Email Ablage verwendet wird und auch keine Emails aus Outlook nach AG-VIP übernommen werden sollen kann das Addin entfernt/deinstalliert werden.

Entfernen des Outlook Addins mit dem ausgelieferten Batch:

Mit der Batch Datei RegisterAGVIPOutlookAddin.bat kann dass Addin sowohl regisrtiert als auch deregistriert werden.
Der Batch muss im Administrator Modus ausgeführt werden und bearbeitet nur die Einstellungen für alle Benutzer.
Outlook sollte während dessen nicht  gestartet sein!

Das Addin wird entfernt durch folgenden Aufruf:

RegisterAGVIPOutlookAddin.bat /unregister

Manuelles Entfernen des Outlook Addins:

Outlook sollte während dessen nicht  gestartet sein!

Für Outlook 32bit auf einem 64bit Betriebssystem, löschen Sie den folgenden Ast in der Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

Für Outlook 64bit auf einem 64bit Betreibssystem, bzw. Office 32bit auf einem 32bit Betriebssystem löschen Sie den folgenden Ast in der Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

 Sollte eine lokale Installation für jeden Benutzer erfolgt sein, dann müssen der folgende Eintrag unter HKEY_CURRENT_USER entfernt werden:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins\AGVIP-OutlookAddIn

2020-07-05 08:45
Martin Richter

Probleme mit dem Outlook AddIn

Problem Szenario 1:
Beim Wechsel vom alten Outlook AddIn zum neuen Outlook AddIn kommt es zu einer Fehlermeldung beim Versuch, das AddIn zu laden,
"Nicht geladen. Während des Ladens des COM-Add-Ins ist ein Laufzeitfehler aufgetreten"



Begründung:
Das falsche AddIn wird geladen.

Lösung:
Bitte prüfen Sie anhand des Speicherorts (<Pfad>\AG-VIP SQL\AGVIPSQLOLAddin.DLL), ob das richtige Outlook AddIn geladen wird. In diesem Beispiel wird AGVIPSQLOLAddin.DLL geladen, aber die ist keine richtige Outlook Addin. Bitte entfernen Sie das alte Outlook AddIn über die Schaltfläche "Entfernen".

Achtung:
Das neue Outlook AddIn kann nicht direkt von Outlook geladen werden.
Im Installationsordner von AG-VIP SQL finden Sie eine "RegisterAGVIPOutlookAddin.bat" Datei, welche Sie mit Admin-Rechten ausführen.
Anschließend starten Sie Outlook neu.

Problem Szenario 2:
Fehler für Absender Erkennung in Outlook Addin. 

Begründung
Intern werden alle angemeldeten Konten und zusätzlichen Postfächer als Empfänger behandelt.
Wenn der Absender darin nicht existiert, wird er als Absender erkannt.

Achtung:
In der Addin-Version 2.05.003.1055 wird unnötigerweise die Groß-/Kleinschreibung berücksichtigt.

Lösung
Ab der Addin-Version 2.05.003.1055 wird nicht mehr bezüglich der Groß-/Kleinschreibung unterschieden.
Bitte laden Sie die aktuellste Version am Ende dieses Artikels herunter und ersetzen Sie die Dateien im Installationsordner von AG-VIP SQL:

Problem Szenario 3:
Das Outlook AddIn wird immer unter "Langsame und deaktivierte Add-ins" eingetragen und kann nicht reaktiviert werden.

Lösung
Klicken Sie auf das Menü Datei (oben links).
Klicken Sie dann auf die Schaltfläche neben Langsam und Deaktivierte COM-Add-ins


Outlook zeigt dann ein Dialogfeld mit einer Liste der langsamen Add-Ins an. Suchen Sie "AG-VIP Outlook AddIn" in dieser Liste.
Klicken Sie direkt darunter auf Optionen.

Wenn das Add-In bereits deaktiviert war (automatisch von Outlook deaktiviert), können Sie im Dialogfeld die Option Dieses Add-In immer aktivieren auswählen. Wählen Sie diese Option und klicken Sie auf Übernehmen.

Wenn das Add-In nicht automatisch deaktiviert wurde, können Sie durch Klicken auf "Optionen" die Überwachung dieses Add-Ins für 30 Tage einstellen. Wählen Sie diese Option und klicken Sie auf "Übernehmen".

Klicken Sie auf "Schließen", um das Dialogfeld zu schließen, und klicken Sie auf den Zurück-Pfeil oben links, um das Menü "Datei" zu schließen. Das Encyro Outlook Addin sollte nun in Outlook sichtbar sein. Außerdem sollte Outlook es nicht mehr automatisch deaktivieren.

Fortgeschrittene Benutzer

Bei dieser Lösung müssen Anpassungen in der Registry vorgenommen werden.
Dies geschieht auf eigene Gefahr! Sellmore GmbH haftet nicht für eventuelle Schäden!

Wenn die obigen Anweisungen nicht verhindern, dass das Add-In von Outlook blockiert wird, kann man auch die Systemregistrierung bearbeiten, um das AG-VIP Outlook Add-In so einzustellen, dass es immer aktiviert ist.

Bitte öffnen Sie Registrierungs-Editor von Windows und  finden Sie den Registrierungseintrag 
HKEY_CURRENT_USER\Software\Microsoft\Office\<Version>\Outlook\Resiliency (Für aktuelle Benutzer)
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\<Version>\Outlook\Resiliency (Für alle Benutzer)

Klicken Sie unter "Resiliency" auf "DoNotDisableAddinList". Wenn diese Option nicht vorhanden ist, klicken Sie mit der rechten Maustaste auf "Resiliency" und wählen Sie "Neu" und dann "Schlüssel". Geben Sie den Namen "DoNotDisableAddinList" für den neu hinzugefügten Schlüssel ein.
Achten Sie dabei auf die exakte Schreibweise und Groß- und Kleinschreibung.

Klicken Sie auf "DoNotDisableAddinList", um zu prüfen, ob "AGVIP-OutlookAddIn" bereits unter den Registrierungswerten aufgeführt ist (rechter Bereich im Registrierungseditor).

Wenn es bereits aufgelistet ist, stellen Sie sich fest, dass in der Spalte Daten "0x00000001 (1)" angezeigt wird. Wenn der Wert nicht 1 ist, klicken Sie mit der rechten Maustaste auf "AGVIP-OutlookAddIn" und dann auf "Ändern". Geben Sie in dem sich öffnenden Dialogfeld für den Wert Data den Wert 1 ein.

Falls noch nicht vorhanden, klicken Sie mit der rechten Maustaste auf "DoNotDisableAddinList" und dann auf "Neu" und "DWORD (32 bit) Wert". Ein neuer Schlüssel wird im rechten Fenster des Registrierungseditors hinzugefügt. Ändern Sie seinen Namen in AGVIP-OutlookAddin. Klicken Sie dann mit der rechten Maustaste auf diesen neu hinzugefügten Schlüssel und klicken Sie auf Ändern. In dem sich öffnenden Dialogfeld geben Sie 1 für Value Data ein. Die Basis soll Hexadezimal sein. Klicken Sie auf OK.


Wenn Sie unter Resiliency einen Eintrag "DisabledItems" sehen, öffnen Sie diesen und löschen Sie alle Schlüssel darunter (dadurch werden alle deaktivierten Add-Ins einschließlich AGVIP-OutlookAddin aktiviert).

Schließen Sie den Registrierungseditor.

Starten Sie Outlook neu. Das AGVIP Outlook Addin sollte nun sichtbar sein und nicht mehr deaktiviert werden.

Problem Szenario 4:
Beim Starten von Outlook hängt sich das Programm beim Laden oder Bearbeiten des AG-VIP Outlook AddIn auf und kann nicht weiter ausgeführt werden.


Begründung:
Es könnte am Datumsformat liegen. Mit dem Datumsformat "TT/MM/JJJJ" können keine Logfiles erstellt werden.

Lösung
Dieses Problem ist ab der Version 2.05.003.1055 behoben.
Bitte laden Sie die neueste Version am Ende dieses Artikels herunter und führen Sie die Datei "RegisterAGVIPOutlookAddin.bat" mit Administaratorrechten aus.
Im Anschluss starten Sie bitte Outlook neu.

Problem Szenario 5:
Nach dem Starten von Outlook tritt eine Fehlermeldung von AG-VIP Outlook Addin auf, dass ein Profil von Ihnen nicht geladen werden kann

Begründung:
Beim Starten werden alle angemeldeten Konten und zusätzliche Postfächer geladen, um den Absender zu erkennen.
Es könnte daran liegen, dass ein Profil beschädigt ist oder das Netzwerk nicht stabil ist.

Lösung:
Bitte zuerst prüfen Sie ob das Netzwerk richtig funktioniert.
Wenn alles in Ordnung ist, versuchen Sie bitte, Ihre Profil zu reparieren.
Es gibt ein Tool SCANPST.EXE im Microsoft Installationsordner.
Bitte führe Sie diese Anwendung aus und starten Sie Outlook neu

Die SCANPST.EXE finden Sie je nach Office Version in einem der folgenden Verzeichnissen:

Outlook 2013-32 Bit Windows
C:\Program Files\Microsoft Office\Office15

Outlook 2013-64 Bit Windows
C:\Program Files (x86)\Microsoft Office\Office15

Outlook 2016-32 Bit Windows
C:\Program Files\Microsoft Office\root\Office16

Outlook 2016-64 Bit Windows
C:\Program Files (x86)\Microsoft Office\root\Office16

Office 365 / Outlook 2019 / Outlook 365 (32bit)
C:\Program Files (x86)\Microsoft Office\root\office16\

Office 365 / Outlook 2019 / Outlook 365 (64bit)
C:\Program Files\Microsoft Office\root\office16\

 

 

 

 

2024-01-30 12:29
Yumeng Sun

Dokumente erzeugen.

Zur Kategorie

Formatieren von Werten aus Hilfsmitteln mit Word

Beschreibung:

Daten werden bei den Standardhilfsmitteln für Word in Dokumenten Variablen abgelegt. Diese Dokumenten Variablen werden dann über die Feldfunktion DOCVARIABLE in das Dokument eingesetzt.

Die Daten werden hierbei nach Standard-Windows Vorgabe formatiert eingesetzt., d.h. Fließkommazahlen, Zeit- und Datumsfelder werden im entsprechenden Standardformat übernommen.
Dies führt unter Umständen jedoch nicht zum gewünschten Ausgabeformat. Z.B. könnte für ein Datumsfeld eine vollständige Textdarstellung gewünscht sein, oder für eine Uhrzeit die Unterdrückung der Sekundenangabe, oder bei einer Fließkommazahl soll die Anzahl der Nachkommastellen geändert werden.

Word unterstützt für Feldfunktionen Formatangaben \# für Fließkommazahlen und \@ für Datumsangaben. Diese Funktionalität kann entsprechend genutzt werden.

Beispiel Datum:

Gegeben sei eine DOCVARIABLE Date (Datumsfeld mit Inhalt "30.12.2002 12:23:34") gespeichert als Feldtyp:Datum, Zeit.

Die Ausgaben in Word können auf folgende Weise erfolgen:

Ohne Formatierung:

{DOCVARIABLE Date}
30.12.2002 12:23:34

Vollständiges ausgeschriebenes Datum:

{DOCVARIABLE Date \@ "dddd, d. MMMM yyyy HH:mm"}
Montag, 30. Dezember 2002 12:23

Nur Uhrzeit: 12-Stundenanzeige

{DOCVARIABLE Date \@"hh:mm"}
12:23

Nur Uhrzeit: 24-Stundenanzeige

{DOCVARIABLE Date \@"HH:mm"}
12:23

Die Werte stehen also für folgende Bedeutung:

 

 Kürzel Bedeutung 
 d Nummer eines Tages innerhalb der Woche bzw. Monat
 dd  Tag mit führender "0"
 ddd  Erste drei Buchstaben des Wochentages
 dddd  Ausgeschriebener Wochentag
 M  Monat, keine führende "0", z.B. "1"
 MM  Monat inkl. führender "0", z.B. "01"
 MMM  Monat mit ersten drei Buchstaben, z.B. "Jan"
 MMMM  Ausgeschriebener Monat, z.B. "Januar"
yyyy  vier-stellige Jahreszahl
 HH  24-Stundenanzeige inkl. führender "0"
 hh  12-Stunden inkl. führender "0"
 mm  Zeigt die Minuten inkl. führender "0" an
Beispiel Fließkommazahl:

Gegeben sei eine DOCVARIABLE Double (Inhalt -1.234,5678) gespeichert als Feldtyp:Fließkommazahl.

Die Ausgaben in Word können auf folgende Weise erfolgen:

Ohne Formatierung:

{DOCVARIABLE Double}
-1234,5678

Mit 2 Nachkommastellen und mit Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "#.###,00"}
-1.234,57

Ohne Nachkommastellen und mit Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "#.###"}
-1.235

Ohne Nachkommastellen und ohne Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "####"}
-1235

Die vollständige Dokumentation für die Formatierung von Feldfunktionen entnehmen Sie bitte der Microsoft Word Online Hilfe.

Formatierung von logischen Feldern

Bei logischen Feldern werden im Standard die Werte true (= 1 = Haken gesetzt) oder false ( = 0 = leeres logisches Feld) übergeben. Das soll im Word-Dokument aber oftmals nicht angezeigt werden.

Ein Lösungsweg kann sein, die Feldfunktion in Word, um eine IF - Anweisung zu erweitern und statt true oder false eine Grafik einblenden zu lassen. Das würde dann wie folgt als Feldfunktion in Word aussehen:

{ IF { DOCVARIABLE [Logisches Feld AG-VIP SQL} = "True" { INCLUDEPICTURE "C:\Temp\Haken.JPG" } { INCLUDEPICTURE "C:\Temp\Leer.JPG" }}

 Oder man setzt z.B. bei einem Tri-State logischen Feld statt 0 = Nein, 1 = Ja,  2 = Keine Angabe die Textausgabe

{If {DOCVARIABLE OptInPhone \* CHARFORMAT} = 1 "Ja" {If { DOCVARIABLE OptInPhone \* CHARFORMAT} = 0 "Nein" "Keine Angabe" } }

2023-02-21 08:35
Martin Richter

Wie kann ich ein PDF-Dokument erzeugen, das mit Daten aus AGVIP SQL angereichert ist?

Problem:

Es soll eine PDF-Datei erzeugt werden die mit Inhalten aus AGVIP SQL angereichert ist.

Lösung:

Die einfachste Variante ist die Verwendung eines Wordhilfsmittels und die Anreicherung des Worddokuments mit Daten AGVIP SQL vorzunehmen und dieses Worddokument dann direkt als PDF auszugeben.
Ab Version 2007 ist dies direkt mit Word über "Speichern unter" möglich (siehe dazu folgenden Link).
http://kb.grutzeck.de/index.php?action=artikel&cat=10&id=287&artlang=de

Für alle anderen Wordversionen bietet sich die Ausgabe über FreePDF / Ghostscript an.

Vorraussetzungen:
  1. MS-Word muss installiert sein.
  2. Ghostscript muss installiert sein. (Kostenlos nutzbar. Lizenz:GPL GhostScript)
  3. FreePDF XP muss installiert sein. (Kostenlos nutzbar. Lizenz:Freeware (auch für Firmen).
    Alternativ kann auch Win2PDF zur PDF-Erzeugung genutzt werden. (Kostenpflichtig)

Am einfachsten können Sie die benötigten Dateien über die Internetseite des Autors Stefan Heinz herunterladen: http://freepdfxp.de/xpDownload.html

Verwendung mit AGVIP SQL:
Installation:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "PDF-Dokument erstellen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "PDF-Dokument erstellen" entsprechend Ihren Wünschen an.

Grundsätzlich funktioniert das Hilfsmittel wie alle anderen Word-Hilfsmittel die Sie bereits von uns kennen. Feldinhalte aus AGVIP SQL lassen sich mit {DOKVARIABLE <Interner Feldname> \*CHARFORMAT} in die Wordvorlage integrieren.

Nach den Feldersetzungen wird das PDF-Dokument automatisch erzeugt und das zugehörige Worddokument gelöscht.

2012-02-16 16:00
Ulrich Sticker

Erstellen eines Hilfsmittels welches mit Adobe Acrobat X, Eingabetextfelder eines PDF-Dokumentes befüllt

Beschreibung:
Dieser Artikel befasst sich damit Eingabetextfelder eines PDF-Dokumentes zu befüllen bzw. zu setzen.
Um dies über ein VBScript Makrocode umzusetzen, wird das Tool "Adobe Acrobat X" oder ein "Acrobat" Produkt benötigt.
Dieses Tool stellt den Zugriff zu einem PDF-Dokument über eine Schnittstelle zur Verfügung.
Der Acrobat Reader stellt die Objekte nicht zur Verfügung, da dieser nur das lesen, jedoch nicht das Bearbeiten von PDFs ermöglicht.


Einführung:
Das Hilfsmittel zum Befüllen eines PDF-Dokumentes ist dem eines Hilfsmittels zum Befüllen eines Word-Dokumentes sehr ähnlich.
Jedoch stehen diese Objekte, wie auch bei einem Word-Dokument, nur zur Verfügung sofern eine gültige Version des Produktes auf dem Rechner installiert ist (welches diese Objekte über eine COM-Schnittstelle bereitstellt).


Adobe Acrobat X Testversion:
Eine 30 Tage Testversion kann direkt von Adobe bezogen werden:
https://www.adobe.com/cfusion/tdrc/index.cfm?product=acrobat_pro&loc=de

Nach Ablauf der Testzeit muss jedoch dann eine Vollversion installiert werden, da sonst auf die Objekte nicht mehr zugegriffen werden kann.
Eine Dokumentation für die COM-Schnittstelle in Verbindung der Sprache VBScript steht von Adobe leider nicht zur Verfügung...
Jedoch ist folgende Dokumentation gut formuliert und mit Beispielen versehen:
http://www.advancedqtp.com/wp-content/uploads/ScriptingQTP/CH16%20-%20Accessing%20PDF.pdf


Hilfsmittel Einstellungen in AG-VIP SQL:
Die PDF-Vorlage sollte nicht über eine Anwendung aus AG-VIP SQL heraus gestartet werden, da im Makrocode eine Instanz der Anwendung erzeugt wird, welches ein Objekt des PDF-Dokumentes erzeugt. Um einen Historieneintrag über die Hilfsmittelverwaltung zu konfigurieren, wird der Modus trotzdem mit "Starten und Eintrag mit Dateinamen in Historie anfügen" ausgewählt.
HilfsmittelReiterAllgemein


Die Vorlage und Zieldatei wird wie gewohnt angegeben

HilfsmittelReiterVorlage

Als Makromodus wird "Kein Programm starten, keine Verbindung herstellen" eingestellt. 

HilfsmittelReiterMakro


PDF-Vorlage:

Die Vorlage wurde ebenfalls mit dem Tool "Adobe Acrobat X" erstellt und ist ausschließlich als Beispiel für diesen Knowledgebase Artikel gedacht.
Eingabetextfelder, welche eine Kennzeichenliste abbilden sollen, müssen als "Mehrzeilig" definiert werden.

Kennzeichenliste_Mehrzeilig

Die "Datensatz-Benutzer Rechte" müssen ebenfalls als "Mehrzeilig" definiert werden,
sofern diese in einem Eingabetextfeld dargestellt werden sollten.

Schlusswort:
Es ist leider nicht möglich, über die bereitgestellten Objekte normalen Text zu bearbeiten.
Dieser kann nur ausgelesen und in seiner Darstellung geändert werden (z.B. in einer beliebigen Farbe markiert werden).
Um auch dynamisch einen Text in ein PDF darzustellen, muss man von dem Prinzip der Vorlage weggehen und sehr aufwendig über die bereitgestellten Objekte ein komplettes PDF generieren. Dazu wird dann immer die Position des Textes über X, Y Parameter bestimmt und diese dann in einem neu erstellten PDF mit dem Text für die Position übernommen.
Zu diesem aufwendigen Verfahren gibt es in diesem Artikel sowie im bereitgestellten Hilfsmittel keine Beschreibung oder Beispiele.
Jedoch kann dies über die oben erwähnte Dokumentation nachgelesen werden.

2016-01-25 10:44
Peter Brandt

Wie kann ich ein PDF-Dokument erzeugen, das mit Daten aus AGVIP SQL angereichert ist? (MS Office 2007 oder neuer)

Vorwort:
Seit der MS Office Version 2007 ist es möglich ein Word-Dokument als ein PDF-Dokument zu speichern.
Was früher über sogenannte PDF-Drucker bewerkstelligt wurde, ist nun in MS Office integriert und benötigt keine weiteren Programme.
Dieser Artikel bietet im Anhang ein Hilfsmittel, welches in AG-VIP SQL wie üblich nur noch importiert werden muss.
Nach den gewünschten Konfigurationen wie Zielpfad und Dateiname, sowie der Anpassung der zu übernehmenden Datenfelder ist das Hilfsmittel auch schon betriebsbereit.
Falls Sie eine ältere Version von MS Office verwenden klicken Sie auf folgenden Link:
http://kb.grutzeck.de/index.php?action=artikel&cat=10&id=137&artlang=de

Hinweis:
Verwenden Sie das in diesem KB-Artikel beschriebene Hilfsmittel bitte nur noch wenn Sie Office 2007 einsetzen.
Bei neueren Office Versionen verwenden Sie bitte das Hilfsmittel im folgenden KB-Artikel:
http://kb.grutzeck.de/content/10/302/de/word-hilfsmittel-v2-fuer-briefe-und-besuchsberichte-mit-zusatztabelle-und-historieneintraegen.html


Beschreibung:
Das Hilfsmittel erstellt im angegebenen Pfad eine Kopie der Word-Vorlage, befüllt diese mit den Daten des aktiven Datensatzes und erstellt darüber dann zusätzlich noch ein PDF-Dokument mit den selben Inhalt. In der Historie wird sofern aktiviert ein Link zu dem Word-Dokument hinterlegt.
Eine Verknüpfung zu dem PDF-Dokument ist nicht möglich, befindet sich jedoch im selben Verzeichnis unter dem selben Namen wie das Word-Dokument (nur mit der Endung ".pdf" anstatt ".doc").

Verwendung mit AG-VIP SQL:

Installation:

  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "PDF-Dokument erstellen 2007.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "PDF-Dokument erstellen 2007" entsprechend Ihren Wünschen an.

Grundsätzlich funktioniert das Hilfsmittel wie alle anderen Word-Hilfsmittel die Sie bereits von uns kennen. Feldinhalte aus AGVIP SQL lassen sich mit {DOKVARIABLE <Interner Feldname> \*CHARFORMAT} in die Wordvorlage integrieren.

2012-02-16 15:57
Peter Brandt

OpenOffice Brief-Dokument über AG-VIP SQL befüllen bzw. erstellen

Beschreibung:
Dieses Hilfsmittel überträgt basierend auf einer .sxw Vorlage (OpenOffice Writer) Daten aus AG-VIP SQL in eine neue .sxw Datei.


Einrichtung des Hilfsmittels "Brief mit OpenOffice 3.4.0":

  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Brief mit OpenOffice 3.4.0.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels"Brief mit OpenOffice 3.4.0" Ihren Wünschen entsprechend an.

Sofern die Muster-Zusatztabelle verwendet werden soll, muss diese noch in AG-VIP SQL eingerichtet werden.
Einrichtung der Muster-Zusatztabelle "Zusatztabelle.agtbstr":

  1. Klicken Sie unter Administration -> Adresstabellen -> <gewünschte Adresstabelle markieren> --> Import
    Wählen Sie nun die Datei "Zusatztabelle.agtbstr" aus

Konfiguration des Hilfsmittels zum befüllen einer OpenOffice Writer-Datei:
Sofern keine Zusatztabelle ausgelesen und in eine OpenOffice Writer-Datei übertragen werden soll, sind keinerlei Konfigurationen im Makro des Hilfsmittels notwendig.
Falls doch müsste der Name der Zusatztabelle sowie die Angabe ob eine Kopfzeile (Spaltennamen) in der zu befüllenden Tabelle verwendet wird im Makro des Hilfsmittels konfiguriert werden. Sofern nur eine bestimmte Anzahl an Feldern bzw. Spalten übernommen werden sollen oder die Reihenfolge nicht der Reihenfolge entsprich in der die Felder in der Zusatztabelle angelegt wurden, so muss auch noch zusätzlich im Makro des Hilfsmittels die unterschiedlichen gewünschten Feldnamen angegeben werden.


Benutzerfelder in der OpenOffice Writer Vorlage festlegen:
Damit das Hilfsmittel die Werte aus den AG-VIP SQL Feldern an die richtige Position in der OpenOffice Writer-Datei einfügt, müssen Sie in der Vorlage sogenannte Benutzerfelder anlegen.

Dazu gehen Sie am Besten wie folgt vor:
Positionieren Sie den Cursor an die gewünschte Stelle auf der Vorlage und drücken Sie anschließend die Tastenkombination STRG+F2
Im nun geöffneten Dialog "Feldbefehle" können Sie im Reiter "Variablen" neue Benutzerfelder anlegen.
Feldbefehle

Im Feld "Name" muss der interne Feldname aus AG-VIP SQL angegeben werden.
Die genauen Feldnamen aus AG-VIP SQL sind in der Administration - Adresstabellen in der gewünschten Adresstabelle der Spalte "Interner Name" zu finden. Dort ist auch der Beispielwert "Salutation" gelistet, welcher standardmäßig in jeder Adresstabelle existiert.
Adresstabellen_interneFeldnamen

Falls Sie ein Feld von AG-VIP SQL übertragen möchten, welches vom Datentyp Kennzeichenfeld oder Kennzeichenliste ist, so müssen Sie folgende Zeichen in dem Feld "Name" zum Internen Feldnamen aus AG-VIP SQL ergänzen:
_


Beispiel für ein Feld vom Typ Kennzeichenfeld mit dem internen Namen "Produkte":
_Produkte

Auf Felder des aktuellen Anwenders der die sxw-Datei befüllt, kann mit folgenden Feldbezeichnungen in der Vorlage zugegriffen werden:

_ActiveUser.FullName_ = Voller Name des Benutzers
_ActiveUser.DirectPhoneNumber_ = Durchwahl des Benutzers
_ActiveUser.Department_ = Abteilung des Benutzers
_ActiveUser.Email_ = Emailadresse des Benutzers
_ActiveUser.FaxNumber_ = Faxnummer des Benutzers
_ActiveUser.Function_ = Funktion des Benutzers
_Activeuser.City_ = Stadt des Benutzers
_Activeuser.PhoneNumber_ = Telefonnummer des Benutzers
_Activeuser.Country_ = Land des Benutzers
_Activeuser.Id_ = ID des Benutzers
_Activeuser.MobilePhoneNumber_ = Mobile Telefonnummer des Benutzers
_Activeuser.Name_ = Name des Benutzers
_Activeuser.State_ = Bundesland des Benutzers
_Activeuser.Street_ = Straße des Benutzers
_Activeuser.Street2_ = Straße2 des Benutzers
_Activeuser.ZipCode_ = Postleitzahl des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL für jeden Benutzer hinterlegt.

2012-08-21 14:48
Peter Brandt

Automatische Opt-In Benachrichtigung/Bestätigung

Vorwort:
Basierend auf dem Knowledgebaseartikel:
http://kb.grutzeck.de/index.php?sid=52200&lang=de&action=artikel&cat=15&id=297&artlang=de


Anforderung:
- AG-VIP SQL ab der 1.40 Version mit dem Datentyp "Tri-State" (logisches dreiwertiges Datenfeld: 0 = Nein; 1 = Ja; 2 = keine Angabe)
- Die Makros vom oben erwähnten Knowledgebaseartikel
- Umsetzung DSGVO


Beschreibung:
Dieser Artikel beschreibt eine Erweiterung des oben erwähnten Artikels um eine automatische Generierung eines Briefes bzw. einer E-Mail für den Kunden mit dessen Opt-In Bewilligungen, sofern sich diese geändert haben sollten.


Anpassung:
Hier werden die notwendigen Anpassungen beschrieben.
Änderungen werden im Makrotext (grau hinterlegt) durch das Textformat "Fett" hervorgehoben.

Felder:
Die notwenigen Opt-In Felder sind ab der AG-VIP SQL Version 1.40 als Systemfelder in jeder Adresstabelle vorhanden:

Internername Datentyp Vorbelegung
OptInLetter Tri-State 2 (keine Angabe)
OptInEmail Tri-State 2 (keine Angabe)
OptInFax Tri-State 2 (keine Angabe)
OptInPhone Tri-State 2 (keine Angabe)
OptInSMS Tri-State 2 (keine Angabe)


Die Sprachspezifische Bezeichung ist frei definierbar.


Feldliste:
Im Makroinclude "RecordChanges" in der Funktion "SetFieldsToCheck" müssen die gerade angelegten Felder mit deren internen Feldnamen ergänzt werden.

Function SetFieldsToCheck()
Application.GlobalData("changeWatch")=Array( _
"Name1", _
"Name2", _
"Name3", _
"NameSalutation", _
"NameTitle", _
"NameFirst", _
"NameLast", _
"Street", _
"Country", _
"ZipCode", _
"City", _
"CommEmail1", _
"CommPhoneCentral", _
"CommPhoneMobil", _
"CommPhoneOffice", _
"OptInLetter", _
"OptInEmail", _
"OptInFax", _
"OptInPhone", _
"OptInSMS")

End Function

Hilfsmittel:
Die dafür benötigten Hilfsmittel sind im Anhang dieses Knowledgebaseartikels und müssen nur noch importiert werden.
Eine Anpassung der Vorlagen ist bezüglich Ihrer Kopf-/Fußzeile notwendig sowie die Anpassung sonstigen Hilfsmitteleinstellungen wie zum Beispiel Pfad zur Vorlage, Zielpfad der neuen Datei etc.
Sofern Sie die Namen der Hilfsmittel umbenennen sollten, müssen Sie diese im folgenden Abschnitt "Aufruf" ebenfalls anpassen.


Aufruf:
Sie können entweder die in der ZIP-Datei bereits angepasste "RecordChanges.agminc" Datei importieren und dadurch Ihre evtl. bereits existierende ersetzen oder Sie können wie unten beschrieben die Änderungen auch manuell ergänzen.

Im Makroinclude "RecordChanges" in der Funktion "CheckValueDifference" wird der Aufruf des entsprechenden Hilfsmittel eingeleitet.
Notwendig ist eine boolische Variable welches als sogenanntes Flag eine Änderung eines Opt-In Feldes markiert.
Über dieses Flag wird dann am Ende der Funktion das entsprechende Hilfsmittel ausgeführt.

Function CheckValueDifference()
Dim n, line, oRelation, oEntry, bFirst, strNameZusatztabelle, bChangeOptIn
bChangeOptIn = False

' Hier wird der Name der Zusatztabelle hinterlegt, in der die Änderungen protokolliert werden sollen
strNameZusatztabelle = "Log-Datenänderungen" 

bFirst = True

' Die vordefinierte Feldliste wird durchgeschleift
For Each n In Application.GlobalData("changeWatch")
' Wenn sich die Werte der zuvor gesicherten Felder mit den aktuellen unterscheidet,
' werden die Daten dokumentiert
If Trim(Application.Globaldata(n))<>Trim(ActiveAddress.fields(n).value) Then
If bFirst Then
Set oRelation = ActiveAddress.Relations(strNameZusatztabelle)
bFirst = False
End If

Set oEntry = oRelation.Add
oEntry.Fields("Log_Datum") = FormatDateTime(Now(),2) & " " & FormatDateTime(Now(),4)
oEntry.Fields("Log_Feld") = ActiveAddress.Fields(n).NameLocale
oEntry.Fields("Log_User") = Application.ActiveUser.Name
oEntry.Fields("Log_WertAlt") = Trim(Application.Globaldata(n))
oEntry.Fields("Log_WertNeu") = Trim(ActiveAddress.Fields(n).value)

' Sofern ein Opt_In Feld verändert wurde, setzen wir eine Variable auf "True"
If bChangeOptIn = False AND Left(UCase(n),Len("OptIn")) = "OPTIN" Then
bChangeOptIn = True
End If

End If
Next

' Die "OptIn" Variable wird überprüft und sofern mit "True" gesetzt
' wird evtl. ein Hilfsmittel ausgeführt um automatisch einen Brief bzw. eine E-Mail zu erzeugen
If bChangeOptIn Then
If ActiveAddress.Fields("OptInEmail").value = 1 Then
Application.ExecuteTool("Opt-In Bestätigung Email")
ElseIf NOT ActiveAddress.Fields("OptInLetter").value = 0 Then
Application.ExecuteTool("Opt-In Bestätigung Brief")
End If
End If

End Function

2020-01-28 15:52
Peter Brandt

Word Hilfsmittel V2 für Briefe und Besuchsberichte mit Zusatztabelle und Historieneinträgen

Beschreibung des Word Hilfsmittels zum Generieren eines Briefes oder Besuchsberichtes mit Zusatztabelle und Historieneinträgen:

Mit diesem Hilfsmittel ist es möglich, Serienbriefe zu erstellen und Briefe für Besuchsberichte zu erstellen, in denen z.B. der Warenkorb und die vergangenen Bearbeitungen anhand der Historie enthalten sind. Sowohl der Nachrichtentext, wie auch der Betreff der Briefe können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden.

Einrichtung:
  1. Bitte laden Sie die ZIP-Dateien am Ende dieses Artikels herunter.
  2. Enpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bspw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel -> Import
  4. Wählen Sie nun die Datei "Besuchsbericht V2.6.agtool" bzw. "Brief V2.6.agtool"
  5. Passen Sie nun die Einstellungen des neuen Hilfsmittels entsprechend Ihren wünschen an.

Allgemein:
Im Anhang dieses Artikels finden Sie eine .Zip Datei welche mehrere Dateien enthält.
Die Vorlage "Vorlage Besuchsbericht V2.doc" enthält einen Tabellenbereich, in dem die Zusatztabelle und der Historientext eingefügt wird, sowie weitere Platzhalter sogenannte DocVariablen, welche dazu dienen um Felder aus AG-VIP SQL in das Word-Dokument zu übertragen.
Die Vorlage "BriefVorlage V2.doc" enthält ebenfalls einige Brieftypische DocVariablen jedoch keinen Bereich für Zusatztabellen oder Historientexte.
Die Hilfsmittel sind von Ihrer Funktionalität identisch, verwenden jedoch unterschiedliche Vorlagen.

Für die CRM-Option gibt es zusätzlich noch jeweils eine CRM-Variante, welche es dem Anwender ermöglicht, über den Verknüpfungsdialog eine Adresse zu selektieren und zu dieser dann einen Brief oder Besuchsbericht zu erstellen.
Dabei können auch CRM-Projektfelder in der Word-Vorlage verwendet werden.

DocVariable in das Word-Dokument einfügen

Wollen Sie ein Feld von AG-VIP SQL nach Word übergeben, müssen Sie eine DocVariable in Microsoft Word anlegen. Wenn Sie die Vorlage "Vorlage Besuchsbericht V2.doc" öffnen und die Tastenkombinations ALT+F9 drücken, sehen Sie alle bereits angelegten DocVariablen. Um eine neue DocVariable hinzuzufügen drücken Sie die Tastenkombination STRG+F9 oder gehen Sie auf das Menü Einfügen, Schnellbausteine und wählen den Menüpunkt Felder. In dem Fenster was nun erscheint, wählen Sie aus der Linken Spalte den Menüpunkt DocVariable. In dem Feld Feldeigenschaften Neuer Name geben Sie den Feldnamen ein, dessen Wert in die Docvariable eingefügt werden soll. Beispiel: ActiveUser.Id
Ergebnis: {DOCVARIABLE ActiveUser.Id \*MERGEFORMAT} (Bei der STRG+F9 Variante erscheinen nur die geschweiften Klammern { } und die Bezeichnung muss manuell eingegeben werden). Nun ändern Sie noch MERGEFORMAT in CHARFORMAT bzw. entfernen Sie die Angabe komplett. Wenn das Feld ActiveUser.Id in AG-VIP SQL ausgefüllt ist, wird hier die Benutzer Id des aktuellen Benutzers eingetragen.

Wenn das Feld, welches Sie aus AG-VIP SQL nach Word übernehmen wollen vom Datentyp "Kennzeichen" ist, so muss zwingend vor dem Feldnamen noch ein "@" gesetzt werden.
Beispiel:
{DOCVARIABLE @KennzeichenFeldNamen }

Eine Ausnahme sind die Datensatzbenutzerrechte.
Diese können ohne das "@" Zeichen angegeben werden oder mit "@" Zeichen.
Die Ausgabe wird jedoch dementsprechend beinflusst:
{DOCVARIABLE RecordUserRights } --> Übergibt den Loginnamen (z.B. Admin)
{DOCVARIABLE @RecordUserRights } --> Übergibt den vollen Benutzernamen sofern vorhanden (z.B. System Administrator), ansonsten den Loginnamen.

Auf GlobalData-Felder kann mit vorangestellten !-Zeichen (Ausrufezeichen) zugegriffen werden:
{DOCVARIABLE !Betreff }

Auf Felder des aktuellen Anwenders der den Brief generiert, kann mit folgenden DocVariablen in Word zugegriffen werden:

DOCVARIABLE ActiveUser.FullName = Voller Name des Benutzers
DOCVARIABLE ActiveUser.DirectPhoneNumber = Durchwahl des Benutzers
DOCVARIABLE ActiveUser.Department = Abteilung des Benutzers
DOCVARIABLE ActiveUser.Email = Emailadresse des Benutzers
DOCVARIABLE ActiveUser.FaxNumber = Faxnummer des Benutzers
DOCVARIABLE ActiveUser.Function = Funktion des Benutzers
DOCVARIABLE Activeuser.City = Stadt des Benutzers
DOCVARIABLE Activeuser.PhoneNumber = Telefonnummer des Benutzers
DOCVARIABLE Activeuser.Country = Land des Benutzers
DOCVARIABLE Activeuser.Id = ID des Benutzers
DOCVARIABLE Activeuser.MobilePhoneNumber = Mobile Telefonnummer des Benutzers
DOCVARIABLE Activeuser.Name = Name des Benutzers
DOCVARIABLE Activeuser.State = Bundesland des Benutzers
DOCVARIABLE Activeuser.Street = Straße des Benutzers
DOCVARIABLE Activeuser.Street2 = Straße2 des Benutzers
DOCVARIABLE Activeuser.ZipCode = Postleitzahl des Benutzers

Ab der Version 1.40 auch noch zusätzlich auf folgende Benutzerfelder:
DOCVARIABLE Activeuser.Other1 = Sonstige Angaben 1
DOCVARIABLE Activeuser.Other2 = Sonstige Angaben 2
DOCVARIABLE Activeuser.Other3 = Sonstige Angaben 3

Nach dem selben Verfahren kann auch auf ID-Benutzer-Felder zugegriffen werden:
DOCVARIABLE <ID-Benutzer Feldname>.FullName = Voller Name des im ID-Benutzer Feld hinterlegten Benutzers
etc.

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

 

Zähler / Counter übergeben:

Desweiteren können auch Zähler über folgende Docvariablen Namen verwendet werden:

Durch jeden dieser Aufrufe wird der Zähler automatisch um eins erhöht:

DOCVARIABLE Counter.<ZählerName>
DOCVARIABLE Counter.<ZählerID>

Hinweis:
Sollte der Zählername ein Leerzeichen enthalten, kann nur die Variante mit der ZählerID verwendet werden.

Den zuletzt gesetzten Zähler übertragen (ohne Erhöhung):

DOCVARIABLE @Counter.Last

 

Historie übernehmen:
Um die Historie in ein Word-Dokument zu übernehmen muss in der Word-Vorlage eine DocVariable mit dem Namen §History angelegt werden.
Beispiel:
{ DOCVARIABLE §History }

Um die Einträge der Historie zu begrenzen, kann zusätzlich noch die Anzahl an zu übernehmenden Historieneinträge am Ende ergänzt werden.
Beispiel für die letzten 10 Einträge:
{ DOCVARIABLE §History10 }

Zusatztabelle übernehmen:
Um eine Zusatztabelle in eine Word-Vorlage zu übernehmen muss genau wie bei der Übernahme der Historie eine DocVariable angelegt werden.
Die Bezeichnung für eine Zusatztabelle mit dem Namen "Warenkorb" sieht folgendermaßen aus: §Warenkorb
Beispiel:
{ DOCVARIABLE §Warenkorb }

Da die Bezeichnung §History fest für die Historie verwendet wird, kann keine Zusatztabelle übernommen werden welche evtl. den Namen "History" erhalten hat, da immer automatisch die Historie übernommen werden würde und nicht die Zusatztabelle mit dem Namen "History".

Die DocVariable mit dem Zusatztabellennamen, muss in einer beliebigen Zeile, jedoch ersten Spalte der zu füllenden Tabelle auf der Word-Vorlage hinterlegt sein. In der ersten Zeilen müssen weiterhin auch die zu übernehmenden Felder der Zusatztabelle mit deren interenen Feldnamen einzeln in Spalten aufgeteilt eingetragen werden.
Hier ein Beispiel:

Die Kopfzeile würde bei dieser Variante mit den Werten überschrieben werden und folgendes Ergebnis liefern (Die Spaltenbreite ist für einen besseren Vergleich identisch gewählt):

Diese Variante wird gewählt, wenn es keine Kopfzeile geben soll, oder man die Kopfzeile anders Formatieren möchte, als die eigentlichen Werte.

Denn in der folgenden beschriebenden Variante, hat die Kopfzeile die selbe Formatierung, wie die der Werte.

Um die Kopfzeile durch die Namen der Felder aus AG-VIP SQL zu ersetzen und die Werte erst eine Zeile darunter anzufügen muss bei der DocVariable noch zusätzlich ein "+" Symbol hinzugefügt werden { DOCVARIABLE §+Warenkorb }

Hier ein Beispiel:

Um eine Spalte zu überspringen (leer zu belassen), so muss der eigentliche Feldname durch die Bezeichnung "Empty" ersetzt werden.


Bilder einfügen:
Um ein Bild in der Vorlage variabel zu übergeben, kann wie bereits bei der DOCVARIABLE eine ähnliche Variable verwendet werden und zwar die INCLUDEPICTURE Variable.
Beispiel:
{ INCLUDEPICTURE "<Pfad zur Bilddatei>" }

So könnte man zum Beispiel von dem aktiven Benutzer dessen Unterschrift als Bilddatei immer passend einfügen.
Dies könnte für eine Bilddatei unter dem Pfad "H:\Bildverzeichnis\Unterschriften\Benutzername.jpg" dann so aussehen:
{ INCLUDEPICTURE "H:\Bildverzeichnis\Unterschriften\"{ DOCVARIABLE ActiveUser.Name }".jpg" }

oder wenn man den Pfad evtl. in einem bestimmten Feld hinterlegt hat, könnte man das auch direkt über eine DOCVARIABLE übergeben:
{ INCLUDEPICTURE { DOCVARIABLE Feldnamen } }


Konfigurationen im Hilfsmittel Makro:

Dokument automatisch ausdrucken:
Die Variable PrintIt muss auf 1 stehen, damit das Dokument direkt nach der Erstellung gedruckt wird.
Standardmäßig steht dieser Wert auf 0.
Beispiel: PrintIt=1

Haben Sie bei  PrinterName="" keinen Drucker angegeben, wird der Standarddrucker verwendet. Wenn Sie einen anderen Drucker verwenden wollen, geben Sie den Namen des Druckers zwischen den Anführungszeichen ein. Bsp.: PrinterName="OKI B710N an Server01"

Dokument automatisch schließen:
Beim setzen der Variable CloseFile mit dem Wert 1, wird das erzeugte Dokument automatisch nach Fertigstellung geschlossen.
Standardmäßig steht dieser Wert auf 0.
CloseFile=0

Weitere Einstellungen:
Bei JumpToStart können Sie festlegen, ob der Eingabe-Cursor auf die Sprung- bzw. Textmarke "Start" fokusiert werden soll.
Der Hintergrund dabei ist, dass der Benutzer ohne weiteres sofort an dieser Stelle mit der Eingabe bzw. der Bearbeitung des Dokumentes beginnen kann. Da jedoch oft eine manuelle Bearbeitung des Dokumentes über den Benutzers nicht notwendig ist, ist diese Option standardmäßig deaktiviert:
JumpToStart=0

Um dies zu aktivieren setzen Sie den Wert auf 1:
JumpToStart=1


Voraussetzungen zur Nutzung deses Hilfsmittels:

Es muss Microsoft Word auf dem System installiert sein.
Für die CRM Hilfsmittel wird die AG-VIP SQL Version 1.40 benötigt.

 

Änderungslog:

25.02.2020:

  • CloseFile Parameter zum Steuern ob die erzeugte Datei automatisch geschlossen wird eingeführt
  • Erweiterung der Ausgabe von GlobalData Variablen (über führendes !-Zeichen).
  • Verbesserung der Geschwindigkeit beim Aktualisieren der Feld-Platzhalter.

31.05.2016:

  • Zähler / Counter Docvariablen ermöglicht

12.04.2016:

  • Formatierungen von Datum und Nachkommastellen über die Word-Vorlage ermöglicht

08.02.2016:

  • Erweiterung der Behandlung von ID-Benutzerfeldern um auf die Benutzerdaten zuzugreifen zu können.

08.05.2014:

  • Makrofehler beim Verwenden der Zusatztabellen Übertragung behoben.

13.03.2014:

  • Speicherung als zusätzliche PDF-Datei integriert.

20.11.2013:

  • Makropassage bezüglich der Shape-Abfrage angepasst um es für ältere Office Versionen kompatibel zu gestalten.

18.07.2013:

  • Ergänzung des Artikelabschnitts "Allgemein" um die CRM-Hilfsmittel.
  • Die CRM-Hilfsmittel wurden überarbeitet um auch CRM-Projektfelder als Platzhalter (DOCVARIABLEN) in Vorlagen zu verwenden.

2020-02-25 01:42
Peter Brandt

PDF Formulare mit einem Hilfsmittel ausfüllen

Zweck:

PDF Formulare müssen unter Umständen ausgefüllt und gedruckt werden.
Das automatische Ausfüllen von PDF Formularen ist mit der Hilfe von FDF-Dateien und dem Adobe Reader direkt möglich.
Die PDF Datei selbst wird dabei jedoch nicht verändert.

Beschreibung:

Im vorgegebenen Beispiel werden Felder eines vorgegebenen PDF Formulards mit Daten aus AG-VIP SQL gefüllt.
Dabei wird eine FDF Datei mit den Feldinhalten gefüllt und die dazugehörige PDF Datem mit dem Adbobe Reader geöffnet. 
Welche Felder aus AG-VIP SQL welchem Feld in der PDF Datei zugeordnet werden soll wird, über zwei einfache Arrays im Hilfsmittel gesteuert. Die Beschreibung findet sich im Beispiel Makro.

Array 1: aTextValues 

Im Array aTextValues können Texte und Felder aus der AG-VIP SQL Datenbank übergeben werden. Die Feldnamen aus AG-VIP SQL müssen dazu in Prozentzeichen eigeschlossen werden. Es ist möglich, einem PDF Feld mehrere AG-VIP Felder zuzuordnen.
Es ist auch möglich, über ein vorangestelltes @ Zeichen komplette Kennzeichenbeschreibungen zu übernehmen.
Auch reservierte Namen wie ActiveUser.Name werden berücksichtigt.
Der Algorithmus ist identisch mit dem aktuellen Ersetzungsmechanismus aus den Email-Hilfmitteln.

' Der Erste Array ist eine Zuodrnung von Feldnamen und Texten. Die Texte die eingefügt werden, 
' dürfen Platzhalter enthalten wie das auch bei Email-Vorlagen möglich ist. Feldnamen
' werden in % eigeschlodsen. Reservierte Namen und @ Zeichen für Kennzeichentexte sind möglich.
' Ein Array Paar besteht immer aus dem Namen des PDF Feldes und dem zuzuordnenden Inhalt.
Dim aTextValues
aTextValues = Array( _
Array("Name","%NameFirst% %NameLast%"), _
Array("Employer","%Name1%"), _
Array("Address","%Street%, %ZipCode% %City%"), _
Array("Phone","%CommPhoneOffice%") _
)

Array 1: aPlainTextValues 

Über einen zweiten Array können statische Werte übergeben werden. D.h. hier findet keine Substitution statt.

' Der zweite Array ordnet direkt feste Text einem Feld zu. Das dient insbesondere festen Werten
' oder auch errechneten Werten.
' Ein Array Paar besteht immer aus dem Namen des PDF Feldes und dem zuzuordnenden Inhalt.
' Das können natürlich auch wieder Feldinhalte aus der Datenbank sein.
Dim aPlainTextValues
aPlainTextValues = Array( _
Array("Sex","M"), _
Array("Sports","Yes"), _
Array("Arts","No"), _
Array("Reading","Yes"), _
Array("Travel","No") _
)

Weiter Hinweise:

Um PDF Formulare ausfüllen zu können, ist es unbedingt notwendig, die Namen der Felder im PDF Formular zu kennen.
Um die Feldnamen zu ermitteln, empfehle ich die kostenlose Version des Tools PDFTK zu nutzen.

Um die Felder eines PDFs anzuzeigen, ist auf der Befehleszeile der folgende Befehl anzugeben:

C:\Program Files (x86)\pdftk\bin\pdftk.exe" Forumular.pdf dump_data_fields

Die Ausgabe zeigt dann alle Felder und deren Datentypen an mit eventuell vorhandenen Beschränkungen. 

Änderungen:
2019-05-07 MRi: Leere Datumsfelder korrekt behandeln. Dynamische Zieldateinamen erlauben.

2019-05-07 09:05
Martin Richter

Wie kann ich dynamisch Bilder in ein Word-Hilfsmittel einfügen, z.B. die Unterschrift?

Problem:

In Word-Dokumenten soll z.B. die Unterschrift des Autors oder das Bild des Mitarbeiters eingefügt werden. Sie möchten aber nur eine einzige Word-Vorlage für das Hilfsmittel verwenden.

Lösung:

Im Benutzerprofil des Anwenders gibt es in der Benutzerverwaltung 3 sonstige Textfelder. Hier hinterlegen Sie den Link zur einzufügenden Datei ohne Anführungszeichen. Über die Word-Funktion IncludePicture fügen Sie in der Word-Vorlage diesen Link zum Bild dynamisch ein.

Vorgehensweise:

Teil 1: Link zum Bild im Benutzerprofil hinterlegen

  1. Öffnen Sie im Arbeitsbereich AdministrationBenutzer-/ Gruppenkonten die Benutzerverwaltung in AG-VIP.
  2. Klicken Sie doppelt auf ein Benutzerprofil und wechseln in den Tab Anwenderprofil:
    Pfad zum Bild, das abhängig vom Anwender eingefügt werden soll
  3. Im Beispiel wurde der Link im Feld Sonstige Informationen 1 hinterlegt.
    Wichtig: Der Pfad darf keine Anführungszeichen am Anfang und Ende umfassen

Teil 2: Word-Vorlage für Hilfsmittel bearbeiten

  1. Öffnen Sie in Ihre Word-Vorlage für das Hilfsmittel.
  2. Feldfunktionen einblenden:
    Markieren Sie das gesamte Dokument mit der Tastenkombination STRG + A und lassen Sie die Feldfunktionen über ALT + F9 einblenden.
  3. Gehen Sie im Dokument an die Stelle, an die dynamisch das Bild eingefügt werden soll, z.B. die Unterschrift.
  4. Ergänzen Sie als Feldfunktion
    Hilfsmittel: dynamisches Bild in Vorlage einfügen
    um als Bild dynamisch das Bild aus dem Link im Benutzerprofil einzufügen.

Als Anlage ist ein einfaches Word-Muster-Hilfsmittel hinterlegt. Passen Sie den Pfad für die Grafik entsprechend an. Sie können die Feldfunktion direkt aus dem Word-Muster herauskopieren.

2025-04-30 11:57
Markus Grutzeck

Sonstiges

Zur Kategorie

Anbindung GoogleMaps für Routenplanung

Zweck:

Sie möchten die aktuelle Adresse aus AG-VIP SQL in einer Karte angezeigt bekommen oder eine Routenplanung vom aktuellen Standort zur aktuellen Adresse in AG-VIP SQL kalkulieren lassen.

Voraussetzung:
  • Internetzugang zu GoogleMaps 
Lösung:

Über einen Makro wird der Anwender zunächst gefragt, ob er nur die aktuelle Adresse in der Karte angezeigt bekommen möchte oder ob eine Routenplanung zur aktuellen Adresse (Start -> Ziel) gewünscht wird.

Startort:
Im Makro wird der Startpunkt in der Variablen "StartOrt" definiert. Hier gibt es zwei Varianten:
Entweder wird der "StartOrt" einmal fest definiert und gilt damit für alle AG-VIP SQL Anwender einheitlich, z.B. "DEU, 63452 Hanau, Hessen-Homburg-Platz 1". Dabei ist das Land nach dem in AG-VIP SQL verwendeten ISO 3166-1-alpha-3 anzugeben.
Oder der "StartOrt" wird variabel aus dem Feld "Abteilung" der Benutzerverwaltung aus AG-VIP SQL gefüllt. Damit sind innerhalb einer AG-VIP SQL Instanz unterschiedliche Startorte, z.B. für unterschiedliche Unternehmensstandorte, möglich.

Makroaufbau:
Über Konvertierungsroutinen werden unzulässige Zeichen, z.B. Komma oder Leerzeichen entfernt und die Zieladresse für GoogleMaps syntaktisch korrekt aufgebaut.
Nach der Auswahl des Anwenders für die gewünschte Anzeigeform (nur Zielort  oder  Routenplanung) wird der URL erzeugt und damit die Kalkulation in GoogleMaps ausgelöst.

Installation:
  1. Laden Sie die angehängte ZIP-Datei herunter
  2. Entpacken Sie die ZIP-Datei.
  3. Starten Sie AG-VIP SQL.
  4. Wählen Sie aus dem Menü Datei, Administration, Hilfsmittel.
  5. AktivierenSie den Import-Schalter und wählen die Datei "GoogleMaps Routenplanugn.AGTOOL" aus.
  6. Fertig. Jetzt können Sie aus AG-VIP SQL beliebig Routen planen

 

Änderungslog:
26.02.2014

  • Anpassung auf das neue Google Maps 2.0

24.07.2015

  • Nutzung der neuen Dialogoptionen

2015-07-24 01:50
Markus Grutzeck

Datensatz per Hilfsmittel an eine CSV-Datei anhängen

Automatischer Excel- und Text-Export
Anmeldeinformationen der Anwender speichern

Oftmals ist es gewünscht das Ergebnis einer Stufe in einen Export zu übergeben. Dazu wird meistens eine sogenannte Exportstufe erstellt, deren Tickets dann als Textdatei exportiert werden und dann bspw. an den Auftraggeber übermittelt werden.
Nach erfolgtem Export werden die Tickets dann meist mit der Funktion "Stapelverabeitung" in entsprechende Endtöpfe des Workflows verschoben.

Das hier vorgestellte Hilfsmittel "Datensatz für CSV-Datei erzeugen" ermöglicht es, die Exportdatei automatisiert zu erzeugen.

Problem: Eine Textdatei ist eine sequenziell geschriebene Datei. Datensatzsperren u.ä. existieren nicht. Daher ist es NICHT SINNVOLL wenn viele Mitarbeiter parallel versuchen Datensätze zu erzeugen.
(z.B. Als Hilfsmittel einer Reaktion) In diesem Fall wäre es gut möglich das Mitarbeiter A und Mitarbeiter B gleichzeitig versuchen einen Datensatz an die Datei anzuhängen. In dem Fall würde der erste gewinnen und der zweite Datensatz würde beim Export verloren gehen.
Daher sollte der Einsatz dieses Hilfsmittels immer wohl überlegt werden. Wird das Hilfsmittel wie hier vorgestellt in einer Exportstufe verwendet, sollte es keine Probleme geben.

Da eine Stapelverarbeitung alle Tickets auf einmal behandelt, ist es nötig, die Ticketbearbeitung umzustellen, damit die Tickets einzeln bearbeitet werden. Damit dennoch eine automatische Bearbeitung erfolgt, muss dem Ticket noch die Reaktion und die Unterdrückung des Schlussdialogs mitgegeben werden.

Natürlich ist es möglich, daß Hilfsmittel auch für andere Aufgaben einzusetzen. In abgewandelter Form kann es zum Beispiel auch als Makro beim Öffnen und Schließen der Datenbank eingesetzt werden um eine Login/Logout-Datei je Mitarbeiter in einer versteckten Freigabe im Netzwerk zu erzeugen ...
Eine vereinfachte Variante hierfür finden Sie ebenfalls in der Dateianlage zu diesem Artikel.

Das Hilfsmittel erzeugt eine CSV-Datei die den gängigen Normen entspricht und damit direkt in Excel geöffnet werden kann. Sie eignet sich damit ideal als Datenaustauschformat für Ergebnisberichte gegenüber Auftraggebern etc.

Verwendung mit AGVIP SQL:

Installation:

  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "Datensatz für CSV-Datei erzeugen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Datensatz für CSV-Datei erzeugen" entsprechend Ihren Wünschen an. (Speicherort der Ergebnisdatei etc.)

Sie können nun weitere Einstellungen im kommentierten Kopfbereich des Makros vornehmen. Hier geben Sie, wie von den Wordhilfsmitteln bekannt, auch die Felder an, die exportiert werden.

Fallbeispiel A:
Anpassen einer Exportstufe zur automatischen Generierung einer Ergebnisdatei mit automatischer Ticketbewegung und anschließender Outlookemail für den Auftraggeber, die in Anlage die Ergebnisdatei enthält.

Vorgehensweise:
Installieren Sie die Hilfsmittel "Datensatz für CSV-Datei erzeugen.agtool" und "Reportmail mit Exportdaten für den Auftraggeber.agtool"
Passen Sie die Hilfsmittel (Name, Emailvorlage, Empfänger unf Felder für den Export) entsprechend Ihren Bedürfnissen an. Einstellungen die nicht über den Dialog des Hilfsmittels vorgenommen werden können, werden im Kopfbereich des Makros mit entsprechenden Erklärungen definiert.
Wechseln Sie anschließend in den Projektexplorer und Öffnen Sie die Exportstufe.
Stellen Sie auf der Registerkarte "Allgemein" im Modus auf "Nächstes Ticket wird vorgeschlagen" um und "Wartezeit für nächstes Ticket" auf 1 Sekunde.
Wechseln Sie auf die Registerkarte "Reaktionen" und wählen Sie die Reaktion aus, die Sie normalerweise nach dem Export ausführen. Wählen Sie hier als Hilfsmittel das ausgeführt werden soll "Datensatz für CSV-Datei erzeugen".
Wechseln Sie nun auf die Registerkarte "Ansichten" und ordnen Sie der Stufe eine Ansicht zu.
Wechseln Sie nun auf die Registerkarte "Makros"
Im Makro "Beim Laden" tragen Sie bitte folgende Zeilen ein: (<Reaktionsname> ersetzen Sie bitte durch den Namen Ihrer Reaktion für den Export.)

 
ActiveTicket.Transition="<Reaktionsname>"
ActiveTicket.SuppressFinalDialog=true 
 

 

Im Makro "Nach Einstufung" hinterlegen Sie bitte folgende Zeilen:

 
If Application.Globaldata("CSV-Dateizugriffehler")=true Then
 ActiveTicket.Transition=""
 PostReaction.Abort
End If
 

 

Ab sofort klappt Ihr Export automatisch. Sie können nun den Tickets zusehen, wie diese im Sekundentakt exportiert werden. Sind alle Tickets verarbeitet, lösen Sie direkt anschließend einfach das Emailhilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" manuell aus, und erhalten eine Email mit der Ergebnisdatei im Anhang.

Alternativ können Sie natürlich auch die 'klassische' Exportstufe erhalten.
Dabei führen Sie wie gewohnt den Exportfilter in der Stufe aus und durch Auswahl der Reaktion wird die Reportemail generiert. 
Treffen Sie eine Vereinbarung wie die Exportdatei benannt ist, und wo sie abgelegt ist.
Anschließend können Sie im Hilfsmittel "Reportmail mit Exportdaten für den Auftraggeber" unter Makro, in der Zeile 18 Anlage="<Pfad und Dateiname zur Exportdatei" den Pfad der Ergebnisdatei definieren.
Nun können Sie das Hilfsmittel am Ende des Exports in der Reaktion hinterlegen.

Fallbeispiel B:
Erzeugen einer CSV-Datei um den Login eines Benutzers unter AGVIP SQL mitzuloggen.

Installieren Sie die Hilfsmittel "Login.agtool" und "Logoff.agtool"

Erstellen Sie nun auf Ihrem Server eine versteckte Dateifreigabe mit Schreibrechten für Ihre Anwender. (Dies kann beispielsweise die Freigabe versteckt$ sein. Der UNC Pfad lautet dann \\SERVER\versteckt$ )

Passen Sie nun die Pfade der Zieldatei der Hilfsmittel Login und Logoff an. Verwenden Sie für jeden User eine eigene Datei. (Namensgebung der Datei, Voreinstellung.) Hiermit verhindern Sie Dateizugriffsfehler.
In diesem Beispiel lautet dann der Pfad für das Zielverzeichnis der Zieldatei \\SERVER\versteckt$

Fügen Sie nun die folgende Zeile unter Administration->Datenbank->Adresstabellen-> <Name Ihrer Adressdatei> ->Ändern -> Makro beim öffnen ein:

 
Application.ExecuteTool("Login")
 

 

Im Makro beim Schließen fügen Sie folgende Zeile ein:

 
Application.ExecuteTool("Logoff")
 

 

Ab sofort finden Sie im Verzeichnis \\SERVER\versteckt$ für jeden Anwender eine Datei mit den Anmelde- und Abmeldeinformationen.

Wenn Sie sicherstellen möchten, daß ein Anwender beim Start von AGVIP SQL auch gleich in der Adresstabelle ist, können Sie in der Verküpfung von AGVIP SQL die Adresstabelle gleich mit übergeben.
z.B. C:\Programme\AGVIP SQL\AGVIP.exe /ad:<Adresstabelle>
Auch der direkte Start eines Projektes ist möglich.

Siehe auch KB-Artikel "Text-Datei als Auftragsblatt erzeugen"

2010-10-21 15:13
Ulrich Sticker

Problem:

AG-VIP SQL bietet ein Beispielhilfsmittel, um Kontaktdaten aus AG-VIP SQL in dne Kontaktordner nach Outlook zu übergeben. Umgekehrt lassen sich Outlook-Kontakte über das Outlook Add-In in AG-VIP SQL übertragen. Die Frage ist, welche Felder übergeben werden.

Lösung: Von AG-VIP SQL nach Outlook

Das Musterbeispiel übergibt standardmäßig folgende Kontaktdaten nach Outlook:

 

 AG-VIP SQL Feld  Outlook Feld
 Anrede  Title
 Vorname  FirstName
 Nachname  LastName
 Funktion  JobTitle
 Name1 & Name2 & Name3  CompanyName
 Straße  BusinessAddressStreet
 PLZ  BusinessAdressZipCode
 Ort  BusinessAdressCity
 Land (mit "Deutschland" vorbelegt)  BusinessAddressCountry
 TelefonFirma  Business2TelephoneNumber
 TelefonZentral  BusinessTelephoneNumber
 TeleFaxFirma  BusinessFaxNumer
 TelefonMobil  MobileTelephoneNumber
 TelefonPrivat  HomeTelephoneNumber
 TeleFaxPrivat  HomeFaxNumber
 Internet  BusinessHomePage
 Email1  EmailAddress1
 Email2  EmailAddress2
 Email3  EmailAddress3

Über den Makro können Sie die Zuordnung von AG-VIP Feldern zu den entsprechenden Outlook-Kontaktfelder frei bestimmen.

Sie finden dies im unteren Teil des Mustermakros in der Sektion

With olAddressItem
.[Feldname Outlook] = ActiveAddress.Fields["[Feldnamen AG-VIP SQL intern]")
....
End With

Ebenso lässt sich der Folder in Outlook frei wählen.

Lösung: Zuordnung von Outlook-Kontaktdaten nach AG-VIP SQL

Die Zuordnung von Outlook-Kontaktfeldern zur Übernahme nach AG-VIP SQL ist durch das Outlook-AddIn fest definiert und nicht frei bestimmbar. Über die AG-VIP SQL Schalterleiste in Outlook finden Sie die Funktion "Adresse in AG-VIP SQL eintragen / ergänzen". Wurde der Kontakt zuvor aus AG-VIP SQL in Outlook eingetragen, ist eine eindeutige Zuordnung und eine Aktualisierung der Daten möglich. Ist dies nicht der Fall, wird in der geöffneten Adresstabelle ein neuer Adressdatensatz angelegt. Dabei werden folgende Felder übernommen:

 Outlook Bezeichnung Outlook intern  AG-VIP SQL
 Name    
   Anrede  Title  
   Vorname  FirstName  Vorname
   weitere Vornamen    
   Nachnamen  LastName  Nachname
   Namenszusatz    
 Firma  CompanyName

Name1
KurzNamen

 Position  JobTitle  
 Email  EmailAddress1  Email1
analog für Email2, Email3
 Website  BusinessHomePage  Internet
 Geschäftlich  BusinessTelephoneNumber  TelefonZentrale
 Privat  HomeTelephoneNumber  TelefonPrivat
 Fax geschäftlich  BusinessFaxNumer  
 Mobiltelefon  MobileTelephoneNumber  
 Adressen, geschäftlich    
   Straße  BusinessAddressStreet  Straße
   PLZ  BusinessAdressZipCode  PLZ
   Bundesland    
   Ort  BusinessAdressCity  Ort
   Land  BusinessAddressCountry  DEU

Schwierigkeit:

Die Zuordnungsmöglichkeit hängt sehr stark davon ab, wie der Kontakt in Outlook erfasst wird. Wenn man z.B. den Ansprechpartner erfasst, öffnet Outlook ein PopUp und ermöglicht die Erfassung in vier Feldern ANREDE, VORNAME, VORNAME2, NACHNAME und NAMENSZUSATZ. Dann lassen sich diese Teile auch eindeutig bestimmten Feldern in AG-VIP SQL zuordnen. Ansonsten kann die Zuordnung Probleme bereiten oder mehrere Werte werden in ein Feld in AG-VIP SQL geschrieben.

Das gleiche Problem ergibt sich bei der Anschrift. Schreibt man dies einfach in das mehrzeilige Memofeld ist keine Übernahme nach AG-VIP SQL möglich. Nutzt man die in Outlook einzelnen Felder STRASSE, ORT, BUNDESLAND, PLZ, LAND / REGION, können die Daten übernommen werden.

Die private Anschrift aus Outlook wird komplett ignoriert.

neuer Outlook-Kontakt

Erscheint in AG-VIP SQL als:

neuer Outlook Kontakt erscheint in AG-VIP SQL so

2011-08-17 16:07
Markus Grutzeck

Text-Datei als Auftragsblatt erzeugen

Herausforderung:

 In einem Projekt werden Bestellungen in eine Zusatztabelle "Warenkorb" abgelegt. Der Auftrag soll als TEXT-Datei in einem vordefinierten Ordner abgelegt werden. Stammdaten sind als erste Zeile in die Textdatei zu schreiben.

Lösung:

Man baut ein Hilfsmittel. Im Reiter "Hilfsmittel Vorlage" wird der Zielpfad und gewünschte Dateinamen für die immer neu zu erzeugenden TEXT-Dateien hinterlegt.

Im Reiter "Makros" wird der Modus "Kein Programm starten, keine Verbindung herstellen gewählt".

Als MAKRO wird nachfolgender Text geschrieben:

  ' Version 1.00.001 MR 16.04.2010
Option Explicit
Dim csvfile
 'Definition des CSV-Dateinamen sofern nicht im Hilfsmitteldialog festgelegt csvfile = "C:\temp\UDtest.csv".
csvfile=ActiveTool.Filename

'Hier wird die erste Zeile mit den Kopf-Daten erzeigt
Dim Text
text =""""& ActiveAddress.Fields("Name1").value & """" & ";" & """" & ActiveAddress.Fields("city").value & """" & ";"
' Das schließen wir mit einer Zeilenachaltung ab
Text = Text + vbcrlf

' Hier schleifen wir über die Zusatztabelle "Warenkorb" und erzeugen je Zeile eine neue Zeile in der TEXT-Datei. 

'For Each oRelation In ActiveAddress.relations
Dim oRelation
Set oRelation = ActiveAddress.Relations("Warenkorb")

Dim oEntry
For Each oEntry In oRelation
                Dim oField
                For Each oField in oEntry.Fields
                               Text = Text + CStr(oField.value) + ";"
                Next
                ' Nach jeder Zeile aus dem Warenkorb auch abschließen
                Text = Text + vbcrlf
next
               
' Test um den Inhalt zu prüfen
' MsgBox Text  
               
'Schreiben in die Datei
Dim fso ' als Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oTX ' als Scripting.TextStream
Set oTX = fso.OpenTextFile(csvfile, 2, True)  ' Datei erzeugen
oTX.Write Text
oTX.Close

Siehe auch KB-Artikel "Datensatz per Hilfsmittel an eine CSV-Datei anhängen"

2010-10-21 15:05
Markus Grutzeck

Musterbeispiel "Termin in einen Google-Kalender eintragen"


Problem:

In einem Terminierungsprojekt für Aussendienstmitarbeiter oder für einen Mitarbeiter soll ein Termin aus AG-VIP SQL heraus in einem Google-Kalender eingetragen werden oder ein bestimmter Google-Kalender soll in einem Webcontrol auf einer Ansicht oder einem Gesprächsleitfaden zu Ansicht gebracht werden.

Lösung:

Die in diesem Artikel vorgestellten Dateien enthalten 2 mögliche Lösungen für die Erstellung eines Kalendereintrags.
1. Anzeige und Eintrag eines Termins mittels einer Ansicht.
2. Eintrag eines Termins mittels einem Hilfsmittel.

Hinweise:

Für die Nutzung dieses Beispiels ist ein Google-Account erforderlich.
Sie können einen Google-Account kostenlos unter der URL https://www.google.com/accounts/NewAccount anlegen.

Um die Muster allgemein lauffähig zu halten, wurden keine Datenbankbezüge für den Termineintrag integriert. Wenn Sie jedoch ein Feld vom Typ "Datum/Zeit" in der Adresstabelle anlegen und dem Control "startdatum" auf der Ansicht "Google-Kalender" eine Datenbindung mit diesem Datenbankfeld zuweisen, wird Ihr Termin in AG-VIP SQL und im Google-Kalender geführt.
Wird später natürlich der Termin im Google-Kalender verschoben, werden die Daten im Terminkalender in unserem Datenfeld in AG-VIP SQL nicht automatisch aktualisiert.
Terminänderungen sollten daher wenn möglich auch im AG-VIP SQL entsprechend aktualisiert werden.

Die wichtigsten Felder für die Nutzung dieser Beispiele sind Application.GlobalData("gmail") und Application.GlobalData("gpass").
Sie müssen vor der erfolgreichen Nutzung des Beispiels mit den Benutzerdaten des Google-Accounts gefüllt werden (Emailadresse und Passwort)

Sollte beim Laden der Ansicht folgende Warnung angezeigt werden:
Browser not supported

dann lesen Sie bitte folgenden Knowledgebase Artikel, welcher dieses Problem beschreibt:
http://kb.grutzeck.de/content/34/323/de/das-browsercontrol-wird-von-webseiten-als-veralteter-browser-erkannt.html

1. Anzeige und Eintrag eines Termins mittels einer Ansicht:

Dieses Beispiel zeigt exemplarisch wie ein Termin aus Feldern einer Ansicht in AG-VIP SQL direkt in einem Google-Kalender eingetragen werden können.
Ausserdem wird der entsprechende Googlekalender in einem Webcontrol zur Anzeige gebracht.
(Dieses Beispiel zeigt auch die Steuerung eines Formulars das mit GET anstatt mit einem POST arbeitet. [Für den Google-Login])

Um das Beispiel zu nutzen müssen Sie gültige Google-Zugangsdaten im Formular "Marko beim Laden" hinterlegen. Danach ist das Beispiel sofort einsatzbereit.

2. Eintrag eines Termins mittels einem Hilfsmittel:

Dieses Beispiel zeigt wie ein Termineintrag mit einem Hilfsmittel in einen Googlekalender vorgenommen werden kann.
Typischerweise wäre dies ein Hilfsmittel das mit einer Reaktion "Termin erstellt" auch in einem vorhandenen Terminierungsprojekt verwendet werden kann, wenn die Syncronisation des Blackberry oder Outlook-Kalenders des Aussendienstmitarbeiters mit einem Google-Kalender vorgenommen wird.
So kann nun mit einem "normalen" Terminierungsprojekt auch gleich der Termineintrag in dem entsprechenden Googlekalender des Aussendienstmitarbeiters vorgenommen werden.
Um das Beispiel auszuprobieren müssen Sie nach der Installation, im Makro des Hilfsmittels, die Werte für die Zugangsdaten für den Google-Account hinterlegen.
Danach ist das Beispiel sofort einsatzbereit.

Natürlich gibt es für diese Musterbeispiele noch unzählige Anwendungsszenarien.

Einrichtung:
  1. Laden Sie die ZIP-Datei am Ende des Artikels herunter und entpacken Sie die Dateien typischerweise im Ordner <AGVIP SQL Installationsverzeichnis>\Samples (bpw. C:\Programme\AG-VIP SQL\Samples)
  2. Öffnen Sie AG-VIP SQL und wechseln Sie im Arbeitsbereich auf die Administration
  3. Klicken Sie auf "Ansichten". Der Formulareditor öffnet sich.
  4. Klicken Sie im Formulareditor im Menü auf "Datei" -> "Import" und wählen Sie die Datei "Google-Kalender.agfrm"
  5. Klicken Sie dann auf "Makro beim öffnen" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 5 und 6:
    Application.GlobalData("gmail")="<Ihre Emailadresse>"
    Application.GlobalData("gpass")= "<Ihr Passwort>"
  6. Speichern Sie nun die Ansicht im gewünschten Kontext
  7. Schließen Sie den Formulareditor und wechseln Sie im Administrationsbereich auf "Verschiedenes" -> "Hilfsmittel"
  8. Importieren Sie nun die Datei "Termin in Google Kalender eintragen.agtool".
  9. Klicken Sie auf das Hilfsmittel "Termin in Google Kalender eintragen" -> "Ändern" und wechseln Sie auf die Registerkarte Makro
  10. Klicken Sie hier auf "Ändern" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 4 und 5:
    Application.GlobalData("gmail")="<Ihre Emailadresse>"
    Application.GlobalData("gpass")= "<Ihr Passwort>"

Nun können Sie die Beispiele bereits ausprobieren.

Anpassungsmöglichkeiten:

Sie können die folgenden Werte vorgeben:

  1. Zugangsdaten:
    Application.GlobalData("gmail")="support@grutzeck.de"
    Application.GlobalData("gpass")= "Passwort"
  2. Wert für das Startdatum
    Application.GlobalData("startdate") = ""
  3. Wert für die Startzeit
    Application.GlobalData("starttime") = ""
  4. Wert für das Enddatum
    Application.GlobalData("enddate")= ""
  5. Wert für die Endzeit
    Application.GlobalData("endttime")= ""
  6. Wert für den Titel Eintrag.
    Application.GlobalData("title")="Testeintrag im Googlekalender für " & ActiveAddress.Fields("NameLast").value
  7. Wert für die Beschreibung des Termins im Googlekalender
    Application.GlobalData("description")="Termin bei " & ActiveAddress.Fields("NameSalutation").Value & _
    " " & ActiveAddress.Fields("NameLast").Value & ", " & _
    ActiveAddress.Fields("Name1").Value
  8. Wert für den Ort an dem der Termin stattfinden soll. Hier wir als Beispiel die Adresse des Datensatzes verwendet. Könnte aber auch = "Hanau" sein.
    Application.GlobalData("place")= ActiveAddress.Fields("Street").Value & _
    ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value
  9. Wert ob der Termin als privater Termin oder öffentliche Termin eingetragen wird. Mögliche Angaben sind "private" oder "public"
    Application.GlobalData("visibility") = "private"
  10. Wert für eine Zeitkorrektur (Kalender zur eigener Systemzeit) Beispiel -01:00 oder +02:00
    Application.GlobalData("timecorection") = ""
  11. Wert ob die Zeit im Kalender als Belegt oder Frei angezeigt wird. (Mögliche Werte false oder true)
    Application.GlobalData("timeconsumption") = true

Im Beispiel für das Hilfsmittel kann mit dem Wert "Termindauer" (Termindauer=1) ein Wert für die Terminlänge eingetragen werden. (In Stunden)
Im Beispiel mit der Ansicht wird die Termindauer in Zeile 12 festgelegt. Dabei wird für die Endzeit die Startzeit +1 Stunde festgelegt.
Sie können natürlich jederzeit beliebige Vorgabewerte als Text oder aus Datenbankfeldern definieren.

 

Änderungslog:

17.03.2014

  • Verweis auf Problemlösung bezüglich der Ausgabe, dass ein veralteter Browser verwendet wird.

2014-03-17 01:51
Ulrich Sticker

Funktion zum Erzeugen einer gültigen vCard Datei (.vcf)

Beschreibung:
Mit dieser Funktion kann eine gültige vCard-Datei (.vcf) erzeugt werden mit der aus AG-VIP SQL Kontakte in andere Software oder Geräte übertragen werden kann (sofern diese das Format unterstützen).

Hinweis:
Der folgende Makrocode ist in einem Hilfsmittel, einer Schaltfläche, im MakroInclude oder sonstiger Makroausführungsposition z.B. "beim Speichern" möglich.
Es gibt zwei Versionen.
Die Paramater starke, bei der beim Aufruf der Funktion sämtliche Inhalte übergeben werden müssen und die Parameter schwache, bei der alle Inhalte bis auf den Speicherort und Dateinamen aus AG-VIP SQL direkt ermittelt werden.
Der Speicherort und Dateiname wird immer im ersten Parameter in der Variable "strPathFile" angegeben.
Ein Beispiel für den Aufruf der Parameter schwachen Funktion:
MakevCard "C:\Temp\Test.vcf"

Falls das Makro in einem Hilfsmittel mit der Angabe des neuen Dateinamens verwendet werden sollte, kann mit dem Aufruf "ActiveTool.Filename"dieser Pfad direkt ausgelesen werden.
Beispiel:
MakevCard ActiveTool.Filename
 

Parameter starke Makro-Version:
' this Function creates a vCard (.vcf), which can be used to import an contact entry
Function MakevCard( strPathFile, strFirstname, strLastname, strCompany, strStreet, strCity, strZipCode, strCountry, _
                               strTelWork, strTelPrivate, strTelMobil, strTelOther, strTelFax, strEmail1, strEmail2, strEmail3, strWebsite)
     
     Dim strDirectorySeperator, icsFile, fso
    
     set fso = createobject("scripting.filesystemobject")
     set icsFile = fso.createtextfile(strPathFile,true)

     ' fill the file with the icalendar format
     icsFile.writeline("BEGIN:VCARD")
     icsFile.writeline("VERSION:3.0")
     icsFile.writeline("N:" & strLastname & ";" & strFirstname)
     icsFile.writeline("FN:" & strFirstname & " " & strLastname)
     icsFile.writeline("ORG:" & strCompany)
     icsFile.writeline("ADR;TYPE=WORK,POSTAL,PARCEL:;;" & strStreet & ";" & strCity & ";;" & strZipCode & ";" & strCountry)
     icsFile.writeline("TEL;TYPE=VOICE,WORK:" & strTelWork)
     icsFile.writeline("TEL;TYPE=VOICE,HOME:" & strTelPrivate)
     icsFile.writeline("TEL;TYPE=VOICE,CELL:" & strTelMobil)
     icsFile.writeline("TEL;TYPE=VOICE,MSG:" & strTelOther)
     icsFile.writeline("TEL;TYPE=FAX,WORK:" & strTelFax)
     icsFile.writeline("EMAIL;TYPE=INTERNET,PREF:" & strEmail1)
     icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail2)
     icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail3)
     icsFile.writeline("URL:" & strWebsite)
     icsFile.writeline("END:VCARD")

     set fso = nothing
End Function

Parameter schwache Makro-Version:

' this Function creates a vCard (.vcf), which can be used to import an contact entry
vPfad = "C:\temp\" & ActiveRecord.Fields("ShortName").Value & ".vcf"

' Falls der Ablagepfad nach Erzeugen angezeigt werden soll, nachfolgende Zeile aktivieren
' Macro.Clipboard = vPfad
' msgbox "Der Pfad zur vCard: " & vPfad & " kann über die Tastenkombination STRG & V eingefügt werden."

MakevCard vPfad

Function MakevCard(strPathFile)
Dim strFirstname, strLastname, strCompany, strStreet, strCity, strZipCode, strCountry, strFunction
Dim strTelWork, strTelPrivate, strTelMobil, strTelOther, strTelFax, strEmail1, strEmail2, strEmail3, strWebsite

strFunction = ActiveAddress.Fields("Function").value
strFirstname = ActiveAddress.Fields("NameFirst").value
strLastname = ActiveAddress.Fields("NameLast").value
strCompany = ActiveAddress.Fields("Name1").value
strStreet = ActiveAddress.Fields("Street").value
strCity = ActiveAddress.Fields("City").value
strZipCode = ActiveAddress.Fields("ZipCode").value
strCountry = ActiveAddress.Fields("Country").value
strTelWork = ActiveAddress.Fields("CommPhoneOffice").value
strTelPrivate = ActiveRecord.Fields("CommPhonePrivat").Value
strTelMobil = ActiveAddress.Fields("CommPhoneMobil").value
strTelOther = ActiveAddress.Fields("CommPhone1").value
strTelFax = ActiveAddress.Fields("CommFaxOffice").value
strEmail1 = ActiveAddress.Fields("CommEmail1").value
strEmail2 = ActiveAddress.Fields("CommEmail2").value
strEmail3 = ActiveAddress.Fields("CommEmail3").value
strWebsite = ActiveRecord.Fields("CommInternet").Value

Dim strDirectorySeperator, icsFile, fso

set fso = createobject("scripting.filesystemobject")
set icsFile = fso.createtextfile(strPathFile,true)

' fill the file with the icalendar format
icsFile.writeline("BEGIN:VCARD")
icsFile.writeline("VERSION:3.0")
icsFile.writeline("N:" & strLastname & ";" & strFirstname)
icsFile.writeline("FN:" & strFirstname & " " & strLastname)
icsFile.writeline("ORG:" & strCompany)
icsFile.writeline("TITLE:" & strFunction)
icsFile.writeline("ADR;TYPE=WORK,POSTAL,PARCEL:;;" & strStreet & ";" & strCity & ";;" & strZipCode & ";" & strCountry)
icsFile.writeline("TEL;TYPE=VOICE,WORK:" & strTelWork)
icsFile.writeline("TEL;TYPE=VOICE,HOME:" & strTelPrivate)
icsFile.writeline("TEL;TYPE=VOICE,CELL:" & strTelMobil)
icsFile.writeline("TEL;TYPE=VOICE,MSG:" & strTelOther)
icsFile.writeline("TEL;TYPE=FAX,WORK:" & strTelFax)
icsFile.writeline("EMAIL;TYPE=INTERNET,PREF:" & strEmail1)
icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail2)
icsFile.writeline("EMAIL;TYPE=INTERNET:" & strEmail3)
icsFile.writeline("URL;WORK:" & strWebsite)
icsFile.writeline("END:VCARD")

set fso = nothing
End Function

Einbindung:
Kopieren Sie einer der beiden Makro-Versionen an die von Ihnen gewünschte Position (Hilfsmittel, Schaltfläche, MakroInclude etc.).
Falls beide Versionen eingesetzt werden sollten, muss zuvor bei einer der Funktionen der Funktionsname geändert werden, da diese momentan identisch sind.
Der Aufruf erfolgt über den Funktionsnamen und der Übergabe der Werte an die Parameter der Funktion wie in dem kleinen Beispiel im Punkt Hinweis ersichtlich.

 

2018-10-15 08:28
Peter Brandt

Hilfsmittel Adresse und Termin in MS-Outlook eintragen

Beschreibung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":

Dieses Hilfsmittel trägt einen Termin mit Adresse in MS-Outlook ein.
Folgende Varianten stehen Ihnen dabei zur Verfügung:
1. Nur Adresse übergeben.
2. Nur Termin übergeben.
3. Adresse und Termin in die eigenen MS-Outlook-Ordner übergeben.
4. Adresse und Termin in die öffentlichen MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
5. Adresse und Termin in einen Mitarbeiter MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
6. Zu den Punkten 3-5 kann eine Terminanfrage per E-Mail versendet werden.

Einrichtung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":
  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Adresse und Termin in MS-Outlook eintragen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Adresse unt Termin in MS-Outlook eintragen" Ihren Wünschen entsprechend an.

Konfiguration des Hilfsmittels für zum Eintragen von Adressen und/oder Terminen in MS-Outlook:

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern" 

Im Abschnitt "Benutzerdefinierte Eingabe" finden Sie die in diesem Artikel beschriebenen Variablen.

Eingabe des Benutzers: 

Wenn Sie möchten, dass Termine und / oder Adressen in den Kalender eines Mitarbeiters eingetragen werden, können Sie in der Variable BENUTZER den jeweiligen Benutzernamen hinterlegen. Wenn Sie den Benutzer erst beim Ausführen des Hilfsmittels auswählen möchten, lassen Sie diese Variable leer.

Benutzer = "Testbenutzer"

Wenn Sie den vollen Mitareiternamen aus AG-VIP SQL verwenden möchten, müssen Sie der Variable BENUTZER folgenden Befehl übergeben:

Benutzer = "Application.ActiveUser.Fullname"

Eingabe des Betreffs: 

Wenn Sie einen festen Betreff in einen Termin eintragen möchten, können Sie diesen in der
Variable BETREFF hinterlegen.
 Betreff = ""


Um Variablen mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgende Syntax
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
Betreff   = "Termin mit " & ActiveAddress.Fields("NameSalutation").Value & " " & ActiveAddress.Fields("NameFirst").Value & " " & ActiveAddress.Fields("NameLast").Value

In diesem Beispeil wird der Betreff zum Datensatz von Herrn Mustermann folgendermaßen aussehen: Termin mit Herrn Max Mustermann

Sie können auch eigene Betreff-Texte formulieren und diese einfügen:
Bsp.:
Betreff = "Infos zu Ihrem neuen Hilfsmittel"

Auswahl des Kalenders und des Kontaktordners: 

Wenn Sie Termine oder Adressen in einen öffentlichen Ordner eintragen möchten (nur in Verbindung mit MS-Exchange-Server möglich), müssen Sie den jeweiligen Ordnernamen für den Kalender und den Kontakt hinterlegen. Den Namen für den Kalenderordner können Sie in der Variable KALENDER hinterlegen.
Den Namen für den Kontakteordner könne Sie in der Variable KONTAKT hinterlegen.
Beispiel:

Kalender = "Testordner"
Kontakt = "Händlerteam"

Auswahl des Kalenders für die Termineintragung:

Sie haben die Möglichkeit einen Termin bei sich selbst, einem Mitarbeiter oder in einen öffentlichen
Ordner einzutragen. Setzen Sie den gewünschten Wert 0-3 für die gewünschte Methode der Termineintragung:

0. Keinen Termin eintragen
1. Eigener Kalender
2. Öffentlicher Kalender
3. Freie Kalenderauswahl (Mitarbeiterkalender)

Beispiel für eigenen Kalender:
 TerminArt  = 1

Sie können den Termin als Terminanfrage per E-Mail versenden.
Der Empfänger kann auf die Anfrage antworten (Zusagen, Ablehnen, etc.).
0. Keine Terminanfrage versenden
1. Terminanfrage versenden

Beispiel für eine aktivierte Terminanfrage:
 TerminAnfrage = 1
    
Bei aktiver TerminAnfrage kann die E-Mail der/des Empfänger/s angegeben werden(TerminAnfrageEmail = "Beispiel@test.de").
Es können auch Werte aus E-Mail Feldern übertragen werden.

Beispiel für das E-Mail Feld "Email1":
 TerminAnfrageEmail = ActiveRecord.Fields("CommEmail1").Value

Auswahl des Ordners für die anzulegende Adresse: 

Sie können zu einem Termin auch die geöffnete Adresse aus AG-VIP SQL mit nach MS-Outlook übergeben. Hier haben
Sie die Möglichkeit auch anzugeben, wo die Adresse angelegt werden soll. Setzen Sie den gewünschten Wert 0-4 für die
gewünschte Methode des Adresseneintrags in die Zeile 64:

0. Keine Adresse eintragen
1. Persönlicher Ordner
2. Öffentlicher Ordner
3. Mitarbeiterordner
4. Adresse nicht eintragen, aber Adresse und Kontaktdaten in den Betreff vom Termin schreiben

Beispiel für persönlichen Ordner:
 KontaktArt = 1

Abgleich:
Der Abgleich des Kontakteordners in MS-Outlook geschieht sofern der Kontakt durch AG-VIP SQL angelegt wurde über eine ID.
Falls der Kontakt in MS-Outlook manuell angelegt wurde, wird der Abgleich über Vor- und Nachnamen ermittelt.

Wichtig!
Beachten Sie bitte, dass die Eingaben für Kalender und Ordner die identischen Ziffern besitzen, wenn diese in beiden möglichkeiten vorhanden sind. Wenn Sie z. B. einen öffentlichen Kalender auswählen, also bei TerminArt die 2 ausgewählt haben, müssen Sie auch in der Ordnerauswahl den öffentlichen Ordner auswählen dies wäre dann auch die Ziffer 2. Eine Ausnahme ist die Ziffer 4 (Adresse nicht eintragen, aber Adresse und kontaktdaten in den Betreff vom Termin schreiben) in der Auswahl des Zielordners.

Betreffformat:
Sofern die KontaktArt 4 ausgewählt wurde, kann das Format für die Übernahme der Adress- und Kontaktdaten durch Kommas getrennt in der Variable BETREFFFORMAT angegeben werden.
Wenn kein Format angegeben wird, so wird der Komplette Adresskopf (AddressStreet) mit der Brief-/Adresskopf-Formatierung übernommen.
Die in der Adresskopf (AddressStreet) verwendeten Auswahlmöglichkeiten:
Name1, Name2, Name3, Department, Function, NameSalutation, Title, NameFirst, NameLast, Street, ZipCode, City

Um einen Umbruch einzuleiten fügen Sie der Aufzählung den Begriff "NewLine" hinzu.

Auswahl Beispiel:
BetreffFormat = "Department, NewLine, Function, NewLine, NameSalutation, NameFirst, NameLast"

Erzeugt folgenden Betreff (Beispielswerte):
Muster-Abteilung
Testbeauftragte
Herr Max Mustermann

Adresse und Termin nach erstellen automatisch schließen: 

Wenn Sie möchten, dass die Adresse sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
KONTAKTSCHLIESSEN auf 1, ansonsten auf 0
 KontaktSchliessen = 0

Wenn Sie möchten, dass der Termin sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
TERMINSCHLIESSEN auf 1, ansonsten auf 0
 TerminSchliessen = 0

Standardmäßig sind beide Werte auf 0.

Eingabe der zeitabhängigen Termindaten:
Wenn der Termin für den ganzen Tag eingetragen werden soll, so muss die Variable GANZTAGTERMIN auf 'true' gesetzt werden.
Wenn der Termin nicht für den ganzen Tag eingetragen werden soll, so muss die Variable GANZTAGTERMIN auf 'false' gesetzt werden.
 GanzTagTermin = false

Angabe des Datums mit Uhrzeit für den Terminbeginn.
Für das aktuelle Datum und Uhrzeit verwenden Sie die Funktion "Now".
Beispiel:
 TerminStart = Now



Falls Sie einen festen Termin festlegen wollen können Sie das im folgenden Format tun: "dd.mm.yyyy hh:mm:ss".
Beispiel:
TerminStart = "23.02.2012 14:30:00"
Dieses Format liefert Ihnen bereits ein Datum/Zeit Feld von AG-VIP SQL so könnten Sie über ein solches Datum/Zeit Feld den Termin übernehmen:
TerminStart = ActiveAddress.Fields("internerFeldname").Value


Bei keiner Angabe wird die von Outlook verwendete Standardeinstellung verwendet.
 TerminStart = ""

Die vorgesehene benötigte Zeit des Termins in Minuten (Dauer)
Bei keiner Angabe wird die von Outlook verwendete Standardeinstellung verwendet.
 TerminDauer = 60 

' Wie viele Minuten vor dem Terminstart soll eine Erinnerungsmeldung in Outlook angezeigt werden? Bei 0 wird keine Erinnerungsmeldung angezeigt.
TerminErinnerung = 15


Eingabe der Termin-Beschreibung:
Optionale Angabe um die letzten X Historieneinträge der Terminbeschreibung anzufügen (0 steht dabei für keinen Eintrag übernehmen).    
AnzahlHistorienEintraege = 3

Beschreibung bzw. Mitteilungstext des Termins (Zeilenumbruch mit: vbCrLf)
TerminBeschreibung = "" 


Beispiel für Text mit Zeilenumbruch:
TerminBeschreibung = "Herzlichen Glückwunsch !" & vbCrLf & "Sie haben gewonnen !"

Ergebnis:
Herzlichen Glückwunsch !
Sie haben gewonnen !

Festlegung eines Termin Status
Einem Termin kann ein bestimmter Status übergeben werden.
Dieser wird im Kalender mit unterschiedlichen Farben/Mustern dargestellt
0 = frei
1 = mit Vorbehalt
2 = gebucht (Standard)
3 = abwesend
TerminStatus = 2


Eingabe des Ortes für den Termin:

Wenn Sie einen festen Ort für Ihre Termine eintragen möchten, können Sie diesen in der Variable TERMINLOCATION hinterlegen. Um die Variable mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgenden Syntax:
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
TerminLocation = ActiveAddress.Fields("Street").Value & ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value

In dem Beispiel wird nun als Ort die Straße, PLZ und der Ort der aktuellen Adresse eingetragen.

Wollen Sie Ihre Termine immer an einem festen Ort legen, tragen Sie in die Variable TerminLocation = "" den Ort ein, an dem Ihre Termine stattfinden.

Bsp.:
TerminLocation = "Hessen-Homburg-Platz 1, 63452 Hanau"

Voraussetzung zur Benutzung des Hilfsmittels:

Es muss MS-Outlook auf dem System installiert sein.

 

Änderungslog:

13.03.2017

  • Erweiterung um einen Abgleich bei der Übertragung der Outlook-Kontakte

03.09.2016:

  • Erweiterung um den Termin-Anfragemodus per E-Mail

21.12.2015:

  • Erweiterung um die Angabe von X-Historieneinträgen für die Terminbeschreibung

24.07.2015:

  • Erweiterung um die Angabe einer Erinnerungsmeldung

01.04.2015:

  • Anpassung des Makrocodes bezüglich der neuen Objektstruktur in AG-VIP SQL

2017-03-13 10:18
Christian Heininger

Aufgabe und Adresse in MS-Outlook eintragen

Beschreibung des Hilfsmittels "Aufgabe und Adresse in MS-Outlook eintragen":

Dieses Hilfsmittel trägt eine Aufgabe mit Adresse + Kontakt-Nr. in MS-Outlook ein.
Folgende Varianten stehen Ihnen dabei zur Verfügung:
1. Nur Aufgabe übergeben.
2. Nur Adresse übergeben.
3. Adresse und Aufgabe in die eigenen MS-Outlook-Ordner übergeben.
4. Adresse und Aufgabe in die öffentlichen MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
5. Adresse und Afugabe in einen Mitarbeiter MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).

Einrichtung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":
  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bsp. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Aufgabe und Adresse in MS-Outlook eintragen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Aufgabe und Adresse in MS-Outlook eintragen" Ihren Wünschen entsprechend an.

Konfiguration des Hilfsmittels für das Eintragen einer Aufgabe und/oder Adresse (Kontakt) in Outlook.

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern"

Im Abschnitt "Benutzerdefinierte Eingabe" finden Sie die in diesem Artikel beschriebenen Variablen.

Eingabe des Benutzers: 

Wenn Sie möchten, dass Termine und / oder Adressen in den Kalender eines Mitarbeiters eingetragen werden, können Sie in der Variable BENUTZER den jeweiligen Benutzernamen hinterlegen. Wenn Sie den Benutzer erst beim Ausführen des Hilfsmittels auswählen möchten, lassen Sie diese Variable leer.

Benutzer = "Testbenutzer"

Wenn Sie den vollen Mitarbeiternamen aus AG-VIP SQL verwenden möchten, müssen Sie der Variable BENUTZER folgenden Befehl übergeben: Benutzer = "Application.ActiveUser.Fullname"


Eingabe des Betreffs: 

Wenn Sie einen festen Betreff in einer Aufgabe eintragen möchten, können Sie diesen in der
Variable BETREFF hinterlegen.

 Betreff = ""


Um Variablen mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgende Syntax
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
Betreff   = "Bitte Infos an" & ActiveAddress.Fields("NameSalutation").Value & " " & ActiveAddress.Fields("NameFirst").Value & " " & ActiveAddress.Fields("NameLast").Value & " senden"

In diesem Beispiel wird der Betreff zum Datensatz von Herrn Mustermann folgendermaßen aussehen:
Bitte Infos an Herrn Max Mustermann
senden

Sie können auch eigene Betreff-Texte formulieren und diese einfügen:
Bsp.:
Betreff = "Infos zum neuen Hilfsmittel versenden"

Auswahl des Aufgaben- und des Kontaktordners: 

Wenn Sie Aufgaben oder Adressen in einen öffentlichen Ordner eintragen möchten (nur in Verbindung mit MS-Exchange-Server möglich), müssen Sie den jeweiligen Ordnernamen für die Aufgabe und den Kontakt hinterlegen. Den Namen für den Aufgabeordner können Sie in der Variable AUFGABE hinterlegen.
Den Namen für den Kontakteordner könne Sie in der Variable KONTAKT hinterlegen.
Beispiel:

Aufgabe = "Testordner"
Kontakt = "Testteam"

Auswahl der Aufgabenart für die Aufgabeneintragung:

Sie haben die Möglichkeit einen Termin bei sich selbst, einem Mitarbeiter oder in einen öffentlichen
Ordner einzutragen. Setzen Sie den gewünschten Wert 0-3 für die gewünschte Methode der Termineintragung in der Zeile 50:

0. Keine Aufgabe eintragen
1. Eigene Aufgabe
2. Öffentliche Aufgabe
3. Freie Aufgabenauswahl (Mitarbeiteraufgaben)
 AufgabenArt  = 1

Auswahl des Ordners für die anzulegende Adresse: 

Sie können zu einer Aufgabe auch die geöffnete Adresse aus AG-VIP SQL mit nach MS-Outlook übergeben. Hier haben
Sie die Möglichkeit auch anzugeben, wo die Adresse angelegt werden soll. Setzen Sie den gewünschten Wert 0-4 für die
gewünschte Methode des Adresseneintrags:

0. Keine Adresse eintragen
1. Persönlicher Ordner
2. Öffentlicher Ordner
3. Mitarbeiterordner
4. Adresse nicht eintragen, aber Adresse und Kontaktdaten in den Betreff der Aufgabe schreiben

Beispiel für "Persönlicher Ordner":
 KontaktArt = 1

Wichtig!
Beachten Sie bitte, dass die Eingaben für die Aufgabe und der Mitarbeiterordner die identischen Ziffern besitzen, wenn diese in beiden möglichkeiten vorhanden sind. Wenn Sie z. B. eine öffentliche Aufgabe auswählen, also bei AufgabenArt die 2 ausgewählt haben, müssen Sie auch in der Ordnerauswahl den öffentlichen Ordner auswählen dies wäre dann auch die Ziffer 2. Eine Ausnahme ist die Ziffer 4 (Adresse nicht eintragen, aber Adresse und kontaktdaten in den Betreff der Aufgabe schreiben) in der Auswahl des Zielordners.
Eine Weitere Ausnahme ist der Wert 0. Dieser kann bei einer Auswahl nicht gesetzt werden und dennoch kann ein anderer Wert in der jeweils anderen AuswahlArt eingetragen werden. Soll z.B. nur der Kontakt eingetragen werden und nicht die Aufgabe, wählen Sie den Wert 0 in der AufgabenArt und z.B. den Wert 1 in KontaktArt. Dadurch wird keine Aufgabe geplant aber der Kontakt in MS-Outlook angelegt.

Betreffformat:
Sofern die KontaktArt 4 ausgewählt wurde, kann das Format für die Übernahme der Adress- und Kontaktdaten durch Kommas getrennt in der Variable BETREFFFORMAT angegeben werden.
Wenn kein Format angegeben wird, so wird der Komplette Adresskopf (AddressStreet) mit der Brief-/Adresskopf-Formatierung übernommen.
Die in der Adresskopf (AddressStreet) verwendeten Auswahlmöglichkeiten:
Name1, Name2, Name3, Department, Function, NameSalutation, Title, NameFirst, NameLast, Street, ZipCode, City

Um einen Umbruch einzuleiten fügen Sie der Aufzählung den Begriff "NewLine" hinzu.

Auswahl Beispiel: 
BetreffFormat = "Department, NewLine, Function, NewLine, NameSalutation, NameFirst, NameLast"

Erzeugt folgenden Betreff (Beispielswerte):
Muster-Abteilung
Testbeauftragte
Herr Max Mustermann

Adresse und Aufgabe nach erstellen automatisch schließen: 

Wenn Sie möchten, dass die Adresse sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
KONTAKTSCHLIESSEN auf 1, ansonsten auf 0
 KontaktSchliessen = 0

Wenn Sie möchten, dass die Aufgabe sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
AUFGABESCHLIESSEN auf 1, ansonsten auf 0
 AufgabeSchliessen = 0

Standardmäßig sind beide Werte auf 0.

Voraussetzung zur Benutzung des Hilfsmittels:
Es muss MS-Outlook auf dem System installiert sein und die eventuell nicht eigenen Ordner in MS-Outlook freigegeben werden.

2012-08-22 08:31
Christian Heininger

Sinnvolle Symbole für Hilfsmittel mit StdIcon.DLL

Nützliche Downloads - Sammlung von Icons für Hilfsmittel: StdIcons.DLL

Die gezippte angehängte Datei "StdIcons.DLL" enthält eine Sammlung von Icons. Diese Datei können Sie z.B. bei der Gestaltung von Hilfsmitteln verwenden:
Wenn Sie neue Hilfsmittel unter Datei  Administration  Hilfsmittel einrichten, können Sie im Reiter  Allgemein  rechts unten bei  Symbol Schalter ÄNDERN diese StdIcon.DLL angeben und daraus ein Symbol verwenden.

2012-01-02 10:59
Markus Grutzeck

Ausführung eines Hilfsmittels begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Hilfsmittel nur von einem bestimmten Nutzerkreis ausgeführt werden dürfen.

Der nachflogende Makro kann als "Makro vor Ausführen"in einem Hilfsmittel angelegt werden. Er begrenzt die Ausführung des Hauptmakros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For  
    End If
Next

If Not bInGroup Then  
    MsgBox "Sie haben keine Berechtigung für diese Aktion!"  
    Macro.Abort
End If

 

2015-12-16 13:06
Martin Richter

Ausführung eines Hilfsmittels begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Hilfsmittel nur von einem bestimmten Nutzerkreis ausgeführt werden dürfen.

Der nachflogende Makro kann als "Makro vor Ausführen"in einem Hilfsmittel angelegt werden. Er begrenzt die Ausführung des Hauptmakros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For  
    End If
Next

If Not bInGroup Then  
    MsgBox "Sie haben keine Berechtigung für diese Aktion!"  
    Macro.Abort
End If

 

2015-12-16 13:08
Martin Richter

Problem:

In AG-VIP verlinken sie Dateien und Dokumente in der Kontakthistorie. Das kann bei den Hilfsmitteln automatisiert erfolgen.

Ein neuer Server ist angeschafft oder die Ordnerstruktur der Ablage verändert sich. Was passiert jetzt mit den verlinkten Dateien, wenn sich dadurch der Verknüpfungspfad verändert?

Lösung:

Über die Ändern-/Ergänzen-Funktion lassen sich Verlinkungspfade ersetzen.

So geht´s:

  1. Über die Auswertung selektieren Sie die Historieneinträge mit Dateilinks.
  2. Reduzieren Sie die Trefferliste über n:1 auf Adressen als Ergebnis.
  3. Über die Funktion Ändern-/Ergänzen tauschen Sie im Feld DATEI den alten Pfad durch den neuen Pfad

 

2022-01-12 17:31
Markus Grutzeck

Wie kann ich eine Teams Besprechung erstellen?

Herausforderung:

Treffen finden immer weniger vor Ort, sondern meist als online Meeting statt. Microsoft Teams ist einer der führenden online Meeting Plattformen.

Wie kann man über ein Hilfsmittel aus der CRM Software direkt einen Termin als Online Meeting in Teams erstellen?

Lösung:

Dieses Hilfsmittel dient zur Kommunikation zwischen Microsoft Teams und AG-VIP. Benutzer können Events (z.B. Online-Besprechung) für den aktuellen Adressdatensatz in AG-VIP in Microsoft Teams erzeugen und das Event in Outlook Kalender für alle Teilnehmern eintragen.

Voraussetzung:

Die Anwender müssen eine Lizenz für Microsoft 365 oder Office 365 besitzen.

Vorgehensweise als Anwender:

  1. Datensatz in AG-VIP öffnen, der zu einem online Meeting eingeladen werden soll.
  2. Teams Hilfsmittel auslösen: "Teams: Online Besprechung erzeugen".
  3. Gewünschte Anpassungen an der online Besprechung vornehmen.
  4. Speichern. Die Einladung inkl. Link zur Teams Session wird per Email an alle Teilnehmer versendet.

Teams online Meeting aus CRM Software AG-VIP erzeugen

Als Initiator des Termins ist der aktuelle AG-VIP Anwender vorbelegt. Im Hilfsmittel lässt sich parameterisieren:

  • bExchangeOnPremise
    Ob Sie Exchange On-Premise benutzen. Default Wert ist True
  • bPopupBeforeSending
    Steuert, ob der Termin noch vor Versand angezeigt wird. Wenn False, wird der Termin nach Erstellung direkt geschickt.
    Default Wert ist False
  • dtStartDatum
    Start-Datum der Besprechung. Default Wert ist das aktuelle Datum
  • strDuration:
    (Stunden/Minuten) Dauer der Besprechung. Default Wert sind 15 Minuten
  • strOrganisatorMail
    E-Mail-Adresse von Organisator der Besprechung. Default Wert ist die E-Mail-Adresse von aktuell angemeldetem Benutzer
  • strBetreff
    Betreff für Kalender Objekt. Default Wert ist „Agenda / Telefontermin /Onlinepräsentation <Name1>, <Anrede> <Vorname> <Nachname>“
  • strOrt
    Wo die Besprechung stattfindet. Default Wert ist „Online“
  • strTeilnehmer
    E-Mail-Adressen der Teilnehmer. Gibt es mehreren Teilnehmern, bitte trennen Sie den Teilnehmern mit Semikolon. Default Wert ist die E-Mail-Adresse in Feld „CommEMail1“
  • strSalutation
    Briefanrede für die Besprechung. Default Wert ist "Sehr geehrter/r <Anrede> <Nachname>"
  • strBody
    Inhalt der Besprechung, der für Kalender Objekt eingetragen wird.
    Default Wert ist  „<Briefanrede>, Wir werden gemeinsam Ihre individuellen Fragen an Anforderungen am live System anschauen und besprechen.“

Installation & Einrichtung

Laden Sie die ZIP Datei am Ende des Beitrags herunter und entpacken die Dateien. Darin finden Sie eine detaillierte Anleitung zur Einrichtung dieses Hilfsmittels für Teams.

2022-10-11 14:27
Markus Grutzeck

Alle Elemente einer Adresse in Outlook anzeigen

Problem:

Von einer Adresse kann man in Outlook direkt einen Kontakt anlegen, eine Aufgabe, Termin oder Email erzeugen.

Jetzt will man schnell die Elemente zur aktuellen Adresse in Outlook angezeigt bekommen. Und am besten filtern nach Email, Aufgabe, Termin oder Kontakt und ggf. Datumsbereich.

Lösung:

1. Im Outlook PlugIn

Im Ribbon AG-VIP SQL in Outlook findet sich der Schalter Anzeigen von Elementen der aktiven Adresse aus AG-VIP SQL.

Ribbon AG-VIP in Outlook

Ein Dialog zur Eingabe der Suchkriterien öffnet sich:

AG-VIP Elemente in Outlook zum aktuellen Datnesatz anzeigen

Wählen Sie hier die anzuzeigenden Elemente in Outlook aus, z.B. Termine ...

Ggf. grenzen Sie den Datumsbereich ein. Das macht z.B. Sinn, wenn man nur einen Termin in der Zukunft sucht, der verschoben wurde.

Im Arbeitsbereich links finden Sie den Suchordner mit den gefundenen Elementen: AG-VIP: [Name1], [Nachname] ....

 

2. Hilfsmittel "Anzeigen von Elementen der aktiven Adresse in Outlook"

Sie können die Suche von aus AG-VIP in Outlook erzeugten Elementen des aktuellen Datensatzes auch direkt von AG-VIP aus auslösen.

Vorgehensweise:

  1. Suchen Sie den gewünschten Kontakt.
  2. Wählen Sie das Hilfsmittel Anzeigen von Elementen der aktiven Adresse in Outlook.
  3. Der Filtern Dialog (s.o.) erscheint. Geben Sie an, welche Elemente in Outlook gefunden werden sollen:
  4. Ansonsten entspricht der Ablauf wie oben beschrieben.

Voraussetzung

  • AG-VIP ab Version 2.05
  • Oder aktualisiertes Outlook PlugIn
    Dazu laden Sie die angehängte ZIP Datei "agvip-outlookaddIn_2022-11.zip" herunter.
    Entpacken die ZIP Datei und kopieren die Daten ins AG-VIP Programmverzeichnis.
    Machen Sie einen rechten Mausklick auf die Datei "RegisterAGVIPOutlook.bat" und wählen aus dem Kontextmenü "als Administrator ausführen".
    Damit wird das neue Outlook PlugIn für AG-VIP registriert. Sie können nun die erweiterten Funktionen nutzen.

2022-11-24 10:05
Markus Grutzeck

snapADDY: Kontakte auf Knopfdruck aktualisieren und übernehmen

Problem:

Wie viel Zeit benötigen Sie, um einen Kontakt zu erfassen?

Dabei liegen die Daten meist schon in elektronischer Form vor:
Sei es in einem Social Media Profil, der Signatur in der Email oder im Impressum einer Website.

Lösung:

Mit der Schnittstelle zu snapADDY DataQuality übernehmen Sie Kontaktdaten zukünftig auf Knopfdruck.
Zum Video: So funktioniert die Übernahme von Kontakten nach AG-VIP ...

Mit snapADDY übernehmen und aktualisieren sie Kontakte ganz einfach:

  1. Durch das snapADDY Browser PlugIn erscheint bei Profilen in Sozialen Netzwerken ein neuer Schalter Übernehmen.
    Damit werden die Profildaten automatisch übernommen.
    ÜBERNEHMEN Schalter von snapADDY in Profilen in Sozialen Netzwerken
    oder
    Sie markieren in beliebigen digitalen Quellen Kontaktdaten und kopieren diese über die Zwischenablage nach SnapADDY.
  2. snapADDY analysiert die Daten und ordnet die Informationen den Datenfeldern zu.
    snapADDY: Analyse vorhandener Informationen
  3. Fehlen Daten, können Sie nach Ansprechpartner oder Firma suchen.
  4. Aus der Trefferliste wählen Sie die zu ergänzend übernehmenden Daten.
    Somit haben Sie einen komplett vollständigen Datensatz. Auch wenn z.B. das Social Media Profil nur unvollständige Daten aufweist.
  5. Über ein Hilfsmittel können Sie die in snapADDY gesammelten Kontakte übernehmen oder bestehende Daten aktualisieren.
    Hilfsmittel für AG-VIP, um Kontaktdaten aus snapADDY zu übernehmen
  6. Der bzw. die neuen Kontakte werden in AG-VIP direkt angezeigt.

Diese Schnittstelle hat sich bei uns im Büroalltag als wahrer Zeiteinsparer erwiesen!

Voraussetzung:

Installation Schnittstelle

  1. Laden Sie die ZIP-Datei am Ende des Artikels herunter und entpacken die Datei.
  2. Lesen Sie aufmerksam die detaillierte Installations- und Handlungsanweisung. Sie werden Schritt-für-Schritt durch die Einrichtung und Konfiguration geleitet.
  3. Dazu importieren Sie das MacroInclude "snapADDY.minc".
  4. Anschließend übernehmen Sie die zwei Hilfsmittel.
  5. Diese Hilfsmittel können Sie anschließend konfigurieren und auf die eigenen Bedürfnisse anpassen.
    Dazu zählt z.B. die Feldzuordnung.

Revision:

02.01.2022: ISO Ländercode 2 Umwandlung integriert

2024-07-13 07:19
Markus Grutzeck

Visitenkarte scannen und in CRM Software AG-VIP übernehmen

Problem:

Visitenkarten enthalten alle relevante Kontaktdaten. Statt die Informationen manuell in der CRM Software zu erfassen, lässt sich eine Visitenkarte mit dem Handy scannen und direkt in AG-VIP übernehmen.

Voraussetzungen

Notwendigs Tools:

  1. Der Anwender muss eine Lizenz für snapADDY DataQuality besitzen.
    (Mit diesen Zugangsdaten melden Sie sich an snapADDY an.) snapADDY CardScanner zum Scannen der Visitenkarte ist Teil des Produktes.
  2. Die snapADDY CardScanner App muss auf Ihrem Handy installiert werden.

Vorbereitung: snappADDY CardScanner installieren

Zweck:

Mit dieser Anwendung können Kontaktdaten von Visitenkarten gescannt und direkt übernommen werden.

Vorgehensweise:

Zum Video: https://youtu.be/pNBMwbBNOTY

  1. Installieren Sie die snapADDY CardScanner-App von App Store in iOS oder Google Play in Android.

Visitenkarte scannen und in CRM Software AG-VIP übernehmen

Zweck:

Visitenkarten lassen sich einfach in snapADDY CardScanner einscannen und in AG-VIP übernehmen. Dazu sind folgende drei Schritte notwendig:

  1. Visitenkarte mit snapADDY CardScanner einscannen.
  2. Kontakt in snappADDY DataQuality aus Hauptliste in AG-VIP Liste verschieben.
  3. Über Hilfsmittel in AG-VIP Kontakt nach AG-VIP übertragen.

Tipp:
Wenn Sie Hilfe brauchen, folgen Sie Video Tutorials wie CardScanner funktioniert:
Hier geht’s direkt zum Video Tutorial …

Vorgehensweise:

  1. Öffnen Sie die snapADDY CardScanner-App. Tippen Sie auf „Visitenkarte scannen“ oder das Plus unten rechts.

2. Scannen Sie dann eine Visitenkarte. Die erfassten Kontaktdaten werden Ihnen angezeigt.

3. Sie können den erkannten Kontakt direkt in snapADDY DataQuality exportieren. Hierfür navigieren Sie zurück zur Startseite. Klicken Sie oben rechts auf das Zahnrad (Einstellungen) und geben Sie Ihre Zugangsdaten für snapADDY DataQuality ein.

4. Wählen Sie in der Kategorie Export, Automatischer Export nach snapADDY DataQuality. Die erfassten Kontakte landen dann nach dem Scannen direkt in der Hauptliste von snapADDY DataQuality.

5. Alle Kontakte aus dem CardScanner werden immer in die Hauptliste von snapADDY DataQuality übernommen.

6. Um Kontaktdaten nach AG-VIP zu übernehmen, verschieben Sie den Kontakt manuell aus der Hauptlist in die AG-VIP Liste:
Öffnen Sie dafür snapADDY DataQuality. Wählen den gescannten Kontakt und verschieben den Kontakt in die AG-VIP Liste.

7. In snapADDY DataQuality lässt sich der gescannte Kontakt noch mit weiteren Informationen anreichern.

8. Anschließend übertragen Sie den Kontakt aus snapAddy nach AG-VIP wie hier beschrieben ...

2023-04-28 14:31
Markus Grutzeck

Kann ich mit AG-VIP elektronische Rechnungen erstellen?

Herausforderung elektronische Re

Herausforderung elektronische Rechnungslegung:

Die Umstellung auf elektronische Rechnungslegung gemäß Wachstumschancengesetz wird bis 2025 für alle Unternehmen im B2B-Sektor verpflichtend. Herkömmliche PDF-Rechnungen, die z.B. über Hilfsmittel in AG-VIP aus Word- oder Excel-Dateien erstellt wurden, erfüllen die neuen gesetzlichen Anforderungen nicht. Sie unterstützen weder das PDF- noch das XML-Format für elektronische Rechnungen.

So sieht der zeitliche Fahrplan aus:

Phase 1: Bis 2025 – Empfangsbereitschaft für elektronische Rechnungen herstellen

Alle Unternehmen müssen E-Rechnungen empfangen können.
Schaffen Sie jetzt eine Basis für die nahtlose Verarbeitung elektronischer Rechnungen in bestehende Systeme.
Viele Firmen verwenden bereits elektronische Formate wie ZUGFeRD oder XRechnung für ihre Rechnungsprozesse.
Schon jetzt dürfen Rechnungen an Behörden und öffentliche Institutionen nur als XRechnung erfolgen. Somit müssen diese bereits seit längerem in der Lage sein, E-Rechnungen zu empfangen.

Phase 2: Ab 2026 – Gesetzliche Erstellungspflicht nach dem Wachstumschancen Gesetz

Ab diesem Jahr wird die Erstellung von E-Rechnungen in mehreren Stufen bis 2028 für alle Unternehmen verpflichtend.
Dadurch sollen Unternehmen sich schrittweise mit den Anforderungen und Vorteilen der E-Rechnung vertraut machen.


Anforderungen und Formate für elektronische Rechnungslegung

Elektronische Rechnungen müssen in einem strukturierten Format vorliegen, wie z.B. ZUGFeRD oder Factur-X, um die gesetzlich vorgeschriebenen Standards zu erfüllen. Diese Formate kombinieren PDF-Dokumente mit XML-Daten, die von Maschinen gelesen und verarbeitet werden).

Lösungsmöglichkeiten:

Eine einfache Lösung für die elektronische Rechnungslegung bietet die Integration von easybill mit der CRM-Software AG-VIP. Mit easybill erstellen Sie Rechnungen, die alle gesetzlichen Anforderungen erfüllen und im notwendigen PDF- und XML-Format bereitgestellt werden. Easybill ist eine preiswerte online Lösung für Rechnungslegung und -versand. Damit überwachen Sie den Zahlungseingang. Die Daten übergeben Sie im DATEV Format für die Buchhaltung oder Rechnungswesen. Sprechen Sie uns bei Interesse einfach an. Mehr zur Schnittstelle zwischen AG-VIP und easybill ... <-  Klick.

Vorteile der elektronischen Rechnungslegung:

  • Effizienz und Automatisierung: Schnellere Zahlungsabwicklung und reduzierte Fehlerquote.
  • Kostenersparnis: Wegfall von Druck- und Versandkosten.
  • Nachhaltigkeit: Reduzierung des Papierverbrauchs.
  • Sicherheit: Hohe Standards durch Verschlüsselung und digitale Signaturen.

Fazit

Die Umstellung auf elektronische Rechnungen ist nicht nur eine gesetzliche Anforderung, sondern bietet Unternehmen zahlreiche Vorteile. Nutzen Sie Tools wie easybill, um den Übergang reibungslos zu gestalten und die Vorteile voll auszuschöpfen.

2024-07-09 10:14
Martin Richter

Beispiele

Zur Kategorie

Beispiel: "Eisbär" Outbound Kampagne

Beispiel: "Eisbär"

Das Beispiel "Eisbär" ist eine einfache, einstufige Outboundkampagne. Agenten prüfen, ob der Angerufene eine Tiefkühltruhe besitzt und bieten im positiven Fall einen Katalog

Wie dieses Projekt für den Anwender aussieht, sehen Sie in diesem Video.

für tiefgekühlte Lebensmittel an. Agenten können also Telefonate einstufen als
- positiv = Katalog gewünscht
- negativ = Kein Interesse oder nicht gesprächsbereit
- Wiedervorlage = Zielperson nicht erreicht.

Prozess Outbound Eisbär

Enthaltene Dateien:

  • "Eisbär Adressen.txt": 6 exemplarische Adressen für den Import
  • "Eisbär Adresstabellen.agtbstr": Die notwendige Datenstruktur der Adress- und Projekttabelle
  • "Eisbär Ansicht.agfrm": Ansicht für den Teamleiter auf die Kontaktdaten und Ergebnisse inkl. Historie
  • "Eisbär Gesprächsleitfaden.agscr": interaktiver Gesprächsleitfaden für die Agenten
  • "Eisbär Projekt.agproj": Workflow für die Kampagne.
  • "Einrichtung Outbound Projekt EISBÄR.agadmtasks": Schritt-für-Schritt-Anleitung zur Einrichtung dieses Beispielprojektes innerhalb von AG-VIP

Einrichtung:

Laden Sie sich zunächst die Datei "Eisbaer_Outbound.ZIP" am Ende des Artikels herunter.Entpacken Sie die Datei in einem Samples-Ordner.

0.  Administrative Aufgabe importieren
Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichtung Outbound Projekt EISBÄR.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

1. Adresstabelle importieren:
Sie melden sich mit administrativen Rechten an AG-VIP SQL an.
Wählen Sie aus dem Menü DATEI, ADMINISTRATION den Befehl ADRESSTABELLEN.
Sie finden rechts den Schalter IMPORT. Wählen Sie nun die Datei "Eisbär Adresstabellen.agtbstr".
Bestätigen Sie die Dialoge mit OK und verlassen den Tabellenexplorer.

2. Ansicht übernehmen:
Wählen Sie aus dem Menü DATEI, ADMINISTRATION den Punkt ANSICHTEN. Der Formulareditor wird gestartet.
Hier klappen Sie im Menü DATEI, den Punkt IMPORT auf.
Wählen Sie die Datei "Eisbär Ansicht.agfrm" aus. Sie können die Oberfläche nun ggf. modifzieren und anpassen. Speichern Sie die Ansicht im Kontext "Eisbär" ab.
Schließen Sie den Formulareditor.

3. Gesprächsleitfaden einfügen:
Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION den Punkt SCRIPT. Der Editor für den Gesprächsleitfaden wird geöffnet.
Aus dem Menü DATEI wählen Sie den Punkt IMPORT. Geben Sie die Datei "Eisbär Gesprächsleifaden.agscr" an. Der Leitfaden für die Agenten wird übernommen. Speichern Sie das

Script im Kontext der Adresstabelle "Eisbär" ab.

4. Workflow importieren:
Zu guter Letzt übernehmen Sie den Workflow. Der Workflow steuert den Kampagnenablauf.
Starten Sie dazu in AG-VIP SQL aus dem Menü DATEI, den Befehl ADMINISTRATION, PROJEKTVERWALTUNG.
Markieren Sie unterhalb der Adresstabelle "Eisbär" die Projekttabelle "Katalogversand".
Klicken Sie rechts auf den Schalter IMPORT und wählen die Datei "Eisbär Projekt.agproj" aus. Der Workflow wird übernommen. Die Kampagne steht jetzt fertig zur Nutzung zur Verfügung.
Ordnen Sie ggf. in der Bearbeitungsstufe "1_Telefonakquise" im Reiter "Benutzer" die gewünschten Anwender für die Kampagne zu.

5. Daten importieren:

Um die Kampagne mit Leben zu füllen, benötigen Sie Adressmaterial. Die Datei "Eisbär Adressen.TXT" enthält 6 Dummyadressen.
Wählen Sie aus dem Menü DATEI, den Befehl IMPORT aus. Der Importassistent für Kontaktdaten öffnet sich.
Wählen Sie als Importfilter "WinWord: ANSI / Tab-Getrennt" aus.
Als Quelldatei geben Sie "Eisbär Adressen.TXT" an.
Aktivieren Sie den WEITER-Schalter.
Wählen Sie die Adresstabelle "Eisbär" als Zieltabelle an und aktivieren den WEITER-Schalter. Die Feldzuordnung erscheint.
Über den AUTO-Schalter werden namensgleiche Felder bereits zugeordnet.
Markieren Sie in der rechten Spalte das Feld "6 Vorwahl" und links "TelefonPrivat". Aktivieren Sie den Schalter ZUORDNEN.
Um ein Trennzeichen zwischen Vor- und Durchwahl zu erhalten, markieren Sie links "TelefonPrivat" und wählen den Schalter TEXT.
Geben Sie hier "/" als Trennzeichen an.
Markieren Sie links "TelefonPrivat" und rechts "7 Telefon" und wählen den Schalter ZUORDNEN, um auch die Ortsdurchwahl in das Feld TelefonPrivat zu importieren.
Über den WEITER-Schalter gelangen Sie zur Auswahl der Importmodus.
Wählen Sie hier "Alle Adressen als neu importieren", weil die Adresstabelle bislang noch keine Kontakte enthält.
Über den FERTIG STELLEN -Schalter startet der Importvorgang.

6. Tickets erzeugen:
Damit Agenten telefonieren können, müssen Sie Tickets zu den Adressen erzeugen.
Klicken Sie dazu im Arbeitsbereich ADRESSTABELLE doppelt auf die Adresstabelle "Eisbär".
Wählen Sie auch dem Menü SUCHEN den Befehl AUSWERTUNG. Da zu allen 6 Adressen Tickets erzeugt werden sollen, bestätigen Sie einfach das OK. In der Ausgabeliste finden Sie nun alle Datensätze.

7. Kontakte.
Wählen Sie aus dem Menü DATENSÄTZE den Befehl TICKETS in BEARBEITUNGSSTUFE EINSTELLEN.
Geben Sie jetzt die Bearbeitungsstufe "1 Telefonakquise" an. Geben Sie unter Tickets für "alle Adressen" erzeugen an und bestätigen über den OK-Schalter.
Jetzt können die Agenten telefonieren.

Weitere Dokumentation:

Dieses Beispiel ist die Grundlage der Seminarunterlagen zu AG-VIP SQL für Outboundkampagnen, die Sie hier finden:

2018-05-16 12:30
Markus Grutzeck

Beispiel: "Inbound Bäcker Heinzel & Autohaus Müller"

Beispiel Inbound Bäcker Heinzel & Autohaus Müller

In diesem einfachen Inbound Beispiel gibt es zwei Auftraggeber: Das Autohaus Müller und den Bäcker Heinzel. Anhand der ACD-Gruppen-Nr. (Called-ID bzw. Redirected-ID) werden die Projekte bei einem eingehenden Anruf identifiziert. Dabei wird jeder Anrufer als neuer Datensatz erfasst.

Wie das für den Agenten aussieht, sehen Sie hier im Video.

AG-VIP SQL: Prozess Inbound

Dies ist ein sehr einfaches Beispiel für ein Inboundprojekt. Für komplexere Anforderungen empfiehlt sich das kostenpflichtige Inboundtemplate

für Büroservice-Anbieter. Dabei gibt es je Auftraggeber eine Mitarbeitertabelle. Je Auftraggeber und je Mitarbeiter lassen sich individuelle Weiterleistungsregeln hinterlegen sowie Preise für unterschiedliche Dienstleistungen. Nähere Details hierzu finden Sie hier ... bzw. in diesem Video.

Enthaltene Dateien:

Zu diesem Beispiel gehören die Dateien:

  • Heinzel Adresstabellen.agtbstr = Datenstruktur mit Adress- und Projekttabelle für Bäcker Heinzel
  • Heinzel Ansicht.agfrm  = Ansicht, Oberfläche
  • Heinzel Projekt.agproj  = Workflow, Projektablauf
  • Heinzel Inbound Infoweiterleitung Auftraggeber per Email.agtool = Hilfsmittel zur Infoweiterleitung über Anruf an Auftraggeber
  • Müller Adresstabellen.agtbstr = Datenstruktur mit Adress- und Projekttabelle für Autohaus Müller
  • Müller Ansicht.agfrm = Ansicht, Oberfläche
  • Müller Projekt.agproj = Workflow, Projektablauf
  • Müller Inbound Infoweiterleitung Auftraggeber per Email.agtool = Hilfsmittel zur Infoweiterleitung über Anruf an Auftraggeber
  • Vorlage Inbound Infoweiterleitung Auftraggeber.oft = Emailvorlage für Outlook zur Infoweiterleitung an Auftraggeber
  • Einrichung Inbound Beispiel.agadmtasks = Vorlage Administrative Aufgabe, ihre Schritt-für-Schritt Anleitung

Die Datei "Heinzel Adresstabellen.agtbstr" bzw. "Müller Adresstabellen.agtbstr" enthält auch Musteradresstabellenlayout speziell für den Inbound. Enthalten sind Felder für allgemeine Kontaktdaten, wie Name, Anschrift, Email, usw.?. Daneben gibt es ein Zusatzfeld "Bemerkung" vom Typ Memo, um den Anrufgrund zu notieren.

Installation:

Landen Sie sich die AGVIPSQL_Inbound.Zip-Datei am Ende des Artikels herunter. Entpacken Sie diese Datei in einem Samples-Ordner.

2.0  Administrative Aufgabe
Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichung Inbound Beispiel.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

2.1. Datenstruktur:
Um die Datenstruktur zu installieren, starten Sie AG-VIP SQL mit administrativen Rechten.
Wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Adresstabellen.
Aktivieren Sie den Import-Schalter rechts und wählen die Datei "Heinzel Adresstabellen.agtbstr" aus dem Ordner \SAMPLE\. Das gleiche machen Sie mit "Müller Adresstabellen.agtbstr". Damit haben Sie die Musteradresstabellen für die zwei Inboundkampagnen geladen.

2.2. Ansichten
Damit Sie auch Informationen in das Beispiel "Inbound Bäcker-Heinzel" bzw. "Inbound Autohaus Müller" eingeben können, benötigen Sie Ansichten. Dazu enthält die Datei "Heinzel Ansicht.agfrm" bzw. "Müller Ansicht.agfrm" eine Ansicht für unterschiedliche Informationen.
Über den Ansichtengenerator können Sie weitere Ansichten selbst kreieren oder die Beispiele nach Ihren eigenen Bedürfnissen verändern.

Um die Ansichten zu importieren, wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Ansichten. Der Formulareditor wird geöffnet.
Aktivieren Sie im Formulareditor aus dem Menü Datei den Befehl Import.
Wählen Sie die Datei "Heinzel Ansicht.agfrm" bzw. "Müller Ansicht.agfrm" aus dem entpackten Ordner \SAMPLE\ und speichern diese im jeweiligen Kontext der Adresstabelle "Bäcker Heinzel" bzw. "Autohaus Müller".
Damit haben Sie die Ansicht importiert.

2.3. Hilfsmittel
Das Hilfsmittel sorgt dafür die Anruferdaten an den Auftraggeber zu übertragen. Es gibt eine zentrale Emailvorlage für die Verwendung mit Microsoft Outlook "Vorlage Inbound Infoweiterleitung Auftraggeber.oft". Die Hilfsmittel selbst sind spezifisch für jeden Auftraggeber, da es unterschiedliche Ziel-Emailadressen gibt.

Zur Einrichtung der Hilfsmittel wählen Sie aus dem Menü Datei, Administration den Punkt Hilfsmittel.
Markieren Sie die Adresstabelle "Bäcker Heinzel" und wählen rechts den Schalter Import. Suchen Sie die entpackte Datei "Heinzel Inbound Infoweiterleitung Auftraggeber per Email.agtool" und wählen den OK-Schalter. Im Reiter "Vorlage" passen Sie ggf. den Pfad zur Vorlagendatei "Vorlage Inbound Infoweiterleitung Auftraggeber.oft". Durch Doppel-Klick auf das Hilfsmittel oder durch klicken des Ändern-Schalters, können Sie das Hilfsmittel bearbeiten. Im Reiter "Makros" können Sie über den Ändern-Schalter in Zeile 14 die Ziel-Emailadresse des Auftraggebers, an die diese Email gesendet werden soll, verändern.

Analog gehen Sie für Autohaus Müller vor.


2.4. Workflow
Um den Inboundprozess in AG-VIP SQL abzubilden, benötigen Sie den Workflow "Heinzel Projekt.agproj" bzw. "Müller Projekt.abproj". Bei einem eingehenden Anruf hat der Agent die Möglichkeiten a) "verwählt", "Infoweiterleitung sofort per Email" oder "Tagesreport" anzugeben. In der Realität würde man weitere sofort auszuführende Weiterleitungswege wie SMS oder Fax etc. implementieren. Alle Tickets wandern anschließend in die Exportstufe "Tagesreport Auftraggeber". I.d.R. wird die Teamleitung dort einmal am Tag die gesammelten Anruferdaten exportieren und an den Auftraggeber übermitteln. Die Tickets wandern dann in den "Endtopf Abrechnen".

Um den Workflow zu importieren, starten Sie AG-VIP SQL mit administrativen Rechten.
Wählen Sie aus dem Menü Datei den Befehl Administration und wählen Projektverwaltung.
Hier markieren Sie nun die Projekttabelle "Bäcker Heinzel: Inbound"  und aktivieren rechts den Schalter Import.
Wählen Sie nun aus dem entpackten Ordner \Samples\ die Datei "Heinzel Projekt.agproj" und speichern anschließend diesen Workflow über den Speichern-Schalter links oben.
Öffnen Sie nun die Bearbeitungsstufe "Start Bäcker-Heinzel" und ordnen im Reiter "Benutzer" die gewünschten Anwender zu. Damit direkt die Erfassungsmaske aufpoppt, dürfen die zugeordneten Anwender kein funktionales Recht "Direktzugriff" auf Ebene der Adresstabelle haben. Im Reiter "Inbound" können Sie die Zielruf-Nr. für die Inbound-Projektidentifizierung hinterlegen. Aktuell ist hier "1111" für Autohaus Müller und "3333" für Bäcker Heinzel hinterlegt. Im Reiter "Infotext" lässt sich ein projektspezifischer Willkommenstext hinterlegen (ab AG-VIP SQL Version 1.30). Dieser Text erscheint bereits vor der Globalen Suche.

Das ganze wiederholen Sie dann für das Projekt "Autohaus Müller".

Damit sind die beispielhaften Inboundprojekte betriebsfertig.

Tipp: Eingehene Anrufe simulieren 

Wenn Sie als TAPI-Treiber den manuellen TAPI-Treiber auswählen, können Sie über die Datei "AGManualTspCtrl.exe" aus dem AG-VIP SQL Programmverzeichnis, eingehende Anwahlversuche simulieren.

2016-01-28 16:35
Markus Grutzeck

Beispiel Terminvereinbarung für Kundenberater

Beispiel "Terminvereinbarung für Kundenberater"

Inhalt:

Das optionale Add-On "Terminvereinbarung" für AG-VIP SQL plant entfernungsoptimiert Termine in einem fest definierten Zeitraster für Außendienstmitarbeiter oder Kundenberater. Jeder zu verplanende Außendienstmitarbeiter verfügt dabei über einen eigenen Kalender, der skillbasiert automatisiert bei Anwahl geöffnet werden kann. Der Agent bekommt die Entfernung des aktuellen Gesprächspartners zu den bereits gebuchten Terminen im Kalender direkt angezeigt. Terminlücken, die aufgrund der Entfernung günstig wären, sind grün hervor gehoben. Mehr hierzu finden Sie hier ...

AG-VIP SQL Add-On

Voraussetzung:

  • AG-VIP SQL ab Version 1.09x
  • Option Workflow zu AG-VIP SQL

Erweiterungsmöglichkeiten:

Über Hilfsmittel gibt es direkt Möglichkeiten, Termine in Microsoft Outlook Kalender einzutragen. Das lässt sich hier auch kombinieren oder direkt Emails mit iCal-Elementen zu erzeugen. Ebenso lässt sich alternativ über das Browser-Controll der Google Kalender anbinden.

Ablauf:

In diesem einfachen Workflow-Beispiel gibt es eine Anwahlstufe mit den Reaktionsmöglichkeiten

  1. Wiedervorlage
  2. Kein Interesse und
  3. Termin vereinbart.

Pkt. 3.) wird automatisch via Makro ausgewählt, sofern die Termindaten gefüllt sind.

In der Praxis wird man dieses einfache Beispiel sicherlich um eine Terminbestätigung für den Kunden und eine Termininfo für den Auftraggeber erweitern.

Zur Dokumentation und Installation laden Sie sich die AGVIPSQL_Terminvereinbarung.ZIP am Ende der Seite herunter. Dort finden Sie neben den Musterdaten ein PDF mit ausführlichen Installationshinweisen und Einrichtungsparametern sowie die Vorlage für die "Administative Aufgaben" Terminvereinbarung.agadmtasks.

Schritt-für-Schritt-Anleitung laden

Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die entpackte Datei "Einrichtung Add-On Terminvereinbarung.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

Inhalt:

Die ZIP-Datei enthält folgende Dateien:

Template für Administrative Aufgaben Terminvereinbarung.agadmtasks
Ansichten für den Workflow und das freie Arbeiten  Terminvereinbarung.agfrm
Kompletter Makrocode (Mandantenspezifisch und Allgemein) Terminvereinbarung.agminc
Datenstruktur für Adressentabelle/Projekt Terminvereinbarung.agtbstr
Beispiel  Hilfsmittel für Terminfreigabe Terminvereinbarung.agtool
Einfacher Workflow Terminvereinbarung.agproj

 

2023-02-21 12:36
Markus Grutzeck

Beispiel AG-VIP SQL CRM - Vertriebskontakte

Beispiel AG-VIP SQL CRM - Vertriebskontakte

Inhalt:

Das Beispiel "Vertriebskontakte" erhält ein Grundmuster für die Nutzung von AG-VIP SQL als CRM-System. Es gibt einen Vertriebsworkflow, bei dem Verkaufsvorgänge durch einen Verkaufsprozess geführt werden. Damit sieht man jederzeit, wie der Verkaufstrichter gefüllt ist. Informationen zu konkreten Verkaufsvorgängen (= Tickets) liegen auf Ebene der Projekttabelle. Dazu gehören Informationen über Abschlusswahrscheinlichkeit, Entscheidungszeitpunkt, Entscheider, Angebotsgegenstand, Absagegrund usw. Dieses Datenmodell lässt sich einfach nach den eigenen Vorstellungen erweitern.

Es wird von einem einfachen Verkaufsprozess ausgegangen. D.h. bei einer neuen Verkaufschance wird ein neues Ticket erzeugt. Man könnte dann auch in einen zweiten Prozess "Bestandskundenbetreuung"übergehen. Um der Übersichtlichkeit willen, wurde hierauf verzichtet. Ebenso schliesst sich in der Realität an die Kundenzufriedenheitsbefragung ggf. ein eigenständiger Serviceprozess an.

AG-VIP SQL CRM: Abbildung eines Verkaufsprozesses

Die Arbeitsweise sehen Sie in folgendem Video ... 

Zugehörige Dateien:

  • Vertrieb Ansicht Historie.agfrm = Ansicht der Historie
  • Vertrieb Ansicht Produkte.agfrm = Ansicht der Zusatztabelle "Produkte"
  • Vertrieb Ansicht Unternehmensdaten.agfrm = Ansicht für unternehmensspezifische Informationen, z.B. Branche, Umsatz, etc.
  • Vertrieb Ansicht Vertriebsdaten.agfrm = Ansicht für Informationen zum aktuellen Verkaufsvorgang, z.B. Angebotssumme, Abschlusswahrscheinlichkeit usw.
  • Vertrieb Besuchsbericht.agtool = Hilfsmittel zur Erzeugung eines Besuchsberichts / Karteikarte, z.B. in Vorbereitung eines Kundenbesuchs. Darin enthalten sind die Stammdaten, die aktuelle Verkaufschance, die vorhandene Produktkonfiguration sowie die Kontakthistorie
  • Vertrieb Projekt.agproj = Workflow mit Ablauf des Vertriebsprozesses
  • Vorlage Besuchsbericht.doc = Word-Vorlagendatei für das Hilfsmittel "Besuchsbericht"

Einrichtung:

Um dieses Beispielprojekt für den Vertrieb zu importieren, gehen Sie wie folgt vor: 

Laden Sie sich die "AGVIPSQL_Vertrieb.Zip"-Datei am Ende des Artikels herunter. Entpacken Sie diese Datei in einem Samples-Ordner.

0. Vorlage administrative Aufgabe

Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichtung CRM Workflow.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

1. Datenstruktur

Um die Datenstruktur zu installieren, starten Sie AG-VIP SQL mit administrativen Rechten.
Wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Adresstabellen.
Aktivieren Sie den Import-Schalter rechts und wählen die Datei "Vertrieb Adresstabellen.agtbstr" aus dem Ordner \SAMPLE\.

2. Ansichten

Damit Sie auch Informationen in das Beispiel eingeben können, benötigen Sie Ansichten.
Über den Ansichtengenerator können Sie weitere Ansichten selbst kreieren oder die Beispiele nach Ihren eigenen Bedürfnissen verändern.

Um die Ansichten zu importieren, wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Ansichten. Der Formulareditor wird geöffnet.
Aktivieren Sie im Formulareditor aus dem Menü Datei den Befehl Import.
Wählen Sie nach und nach die Dateien "Vertrieb Ansicht Historie.agfrm", "Vertrieb Ansicht Produkte.agfrm", "Vertrieb Ansicht Unternehmensdaten.agfrm" bzw. "Vertrieb Ansicht Vertriebsdaten.agfrm" aus dem entpackten Ordner \SAMPLE\ und speichern diese im Kontext der Adresstabelle "Vertriebskontakte".
Damit haben Sie die Ansicht importiert.

3. Hilfsmittel

Das Hilfsmittel bietet Ihnen im freien Arbeiten auf Ebene der Projekttabelle die Möglichkeit, eine Kundenkartei in Word zu erzeugen und z.B. als Vorbereitung für einen Kundenbesuch mitzunehmen. Oder Sie können das Hilfsmittel über den Schalter "Besuchsbericht erzeugen" in der Ansicht "Vertriebsdaten" auslösen.

Zur Einrichtung der Hilfsmittel wählen Sie aus dem Menü Datei, Administration den Punkt Hilfsmittel.
Markieren Sie die Adresstabelle "Vertriebskontakte" und wählen rechts den Schalter Import. Suchen Sie die entpackte Datei "Vertrieb Besuchsbericht.agtool" und wählen den OK-Schalter. Im Reiter "Vorlage" passen Sie ggf. den Pfad zur Vorlagendatei "Vorlage Besuchsbericht.doc". Durch Doppel-Klick auf das Hilfsmittel oder durch klicken des Ändern-Schalters, können Sie das Hilfsmittel bearbeiten.

 4. Workflow

Der Workflow enthält den Vertriebsprozess. Dieser Prozess ist dafür zuständig, Leads durch den Verkaufstrichter von Anfragen zu Abschlüssen zu führen. Um den Workflow zu importieren, gehen Sie wie folgt vor:

Wählen Sie aus dem Menü Datei, Administration die Projektverwaltung.

Markieren Sie unterhalb der Adresstabelle "Vertriebskontakte" die Projekttabelle "Sales Leads".

Wählen Sie rechts den Schalter Import und wählen die Datei "Vertrieb Projekt.agproj" aus. Damit haben Sie den Workflow importiert.

Wenn Sie nun Adressen importieren und Tickets erzeugen, können Sie den Vertriebsprozess durchspielen, erweitern und auf Ihre Bedürfnisse anpassen. Reaktionen in Bearbeitungsstufen lassen sich direkt mit Hilfsmittel koppeln. So können Sie z.B. den Infoversand oder die Angebotserstellung automatisieren und beschleunigen.

Enthaltene Makros:

Bearbeitungsstufe "0__Kontaktdaten validieren"

Für den Anwender gibt es zwei Einstufungsmöglichkeiten: a) neue Kontaktdaten b) nichts Neues zu ermitteln. Es wird aber für jede gewünschte Folgestufe eine verborgene Reaktion angelegt. Über "IdStateLast" lässt sich die vorhergehende Bearbeitungsstufe ermitteln und somit das Ticket dahin zurück schieben, wo es zuletzt bearbeitet worden ist:

' Wenn die Adresse direkt in die Bearbeitungsstufe KONTAKTDATEN VALIDIEREN eingestellt worden ist,
' belassen wir die eingestellte Folgestufe ansonsten wählen wir eine Reaktion aus mit Identischen Namen
' der vorhergehenden Bearbeitungsstufe.
If ActiveAddress.Fields("IdStateLast") <> "" Then
' Wir ignorieren evtl. auftretenden Fehler
On Error Resume Next
ActiveTicket.Transition = ActiveAddress.Fields("IdStateLast")
On Error Goto 0

' Prüfung, ob die entsprechende Folgestufe als verborgene Reaktion angelegt wurde 
If UCase(ActiveTicket.Transition) <> UCase(ActiveAddress.Fields("IDStateLast").Value) Then
MsgBox "Der ADMIN hat vergessen eine Reaktions aus ""Kontaktdaten vailidieren"" nach " & ActiveAddress.Fields("IDStateLast").Value & " anzulegen!"
ActiveTicket.Transition = ""
End If 
End If

Weitere Tipps:

2016-01-28 16:55
Markus Grutzeck

Wiedervorlagenzeitraum Abfrage mit vordefinierten Einstellungen realisieren (Workflow)

Beschreibung:
Sie haben Ihren Mitarbeitern oder Agenten die Option freigeschaltet, dass diese selbstständig ein Wiedervorlage Termin setzen dürfen.
Allerdings möchten Sie vermeiden, dass Termine in all zu ferner Zukunft vereinbart werden.

Problem:
Der Dialog "Ticket Speichern" welcher dem Mitarbeiter oder Agenten ermöglicht einen variablen Termin festzulegen kann leider nicht erneut bei einer Überschreitung des maximalen Wiedervorlagezeitraums angezeigt werden.

Lösung:
Dem Mitarbeiter oder Agenten wird über eine Hinweismeldung kenntlich gemacht, dass er den maximalen Wiedervorlagenzeitraum überschritten hat. Gleichzeitig wird ihm angeboten, dass er diesen maximalen Termin stattdessen automatisch übernehmen oder manuell erneut über eine sogenannte "InputBox" einen neuen gültigen Termin eintragen kann.

Makro Anpassung:
Als Erstes wird das im Anhang dieses Artikels beigefügte MacroInclude "Wiedervorlagezeitraum" importiert, welches die Funktionen:
SetTicketInterval(Start, Ende, Tag)
CheckDateRange(Tage, Uhrzeit)

bereitstellt.
In der Reaktion mit z.B. dem Namen "WV - Wiedervorlage" wird eine Vordefinierung der Intervalle mit Hilfe der SetTicketInterval(Start,Ende,Tag) Funktion in der Makroposition "Nach Einstufung" durchgeführt.
Reaktion - Wiedervorlage

Zum Beispiel für Start = 6:00Uhr, Ende = 18:00 Uhr und Tag = 31 (Mo-Fr):
MacroInclude "Wiedervorlagezeitraum" 
SetTicketInterval "06:00", "18:00", "31"

Der Wert für Tag ergibt sich aus der Summe der einzelnen Tagwerte:
Mo=1, Di=2,Mi=4,Do=8,Fr=16,Sa=32,So=64
So ergibt die Wochentagauswahl von Montag bis Freitag 1+2+4+8+16=31

Jetzt muss nur noch in der Bearbeitungsstufe, in der gearbeitet wird z.B. "1_Telefonakquise" im Reiter "Makros" in der Makroposition "beim Speichern" die andere Funktion wiefolgt aufgerufen werden:


Makro speichern

z.B. eine Maximale Terminierung von 42 Tagen (6Wochen) in der Zukunft bis 18:00Uhr :

MacroInclude "Wiedervorlagezeitraum"
CheckDateRange 42, "18:00:00"

Ergebnis:
So würde die Vordefinierung (grün) sich bemerkbar machen:
Ticket speichern

Im roten Bereich hat der Mitarbeiter oder Agent einen Zeitraum länger als die maximalen 42 Tage (6Wochen) ausgewählt und bestätigt die Eingabe mit "OK".
Daraufhin wird der Dialog geschlossen und kann leider dem Mitarbeiter oder Agenten nicht mehr angezeigt werden.
Daher begnügen wir uns mit vorerst einer einfachen MessageBox welche uns zwei Optionen anbietet:
Hinweis

Falls der Mitarbeiter oder Agent auf "Nein" drücken sollte, kann er über ein Textfeld das Datum erneut eingeben.
Ihm wird automatisch der entfernteste mögliche Termin eingetragen:
Manueller Termin

Die Texte in den Meldedialogen können beliebig im Angehängten MacroInclude angepasst werden.

2012-08-01 16:21
Peter Brandt

Problem:

Bei einer Bearbeitungsstufe im Modus "Stapelverarbeitung" werden alle Tickets auf einmal exportiert, um so einen Serienbrief, Serienemail etc. zu schreiben. Es lässt sich dabei aber kein Hilfsmittel auslösen.

Lösung:

  1. Man definiert eine Bearbeitungsstufe im Modus "Nächstes Ticket wird vorgeschlagen". Bei "Verhalten für das Laden des nächsten Tickets" wählt man die Option "automatisch nach Verzögerung 0 Sekunden laden". Damit ist sichergestellt, dass die Tickets nacheinander abgearbeitet werden.
  2. Im Reiter "Reaktion" sollte sich eine einzige Reaktion befindeten. Die Reaktion darf die Option "Versteckt, verwendung nur in Makros" gesetzt haben. Mit der Reaktion kann z.B. ein Hilfsmittel ausgelöst werden oder ein Makro ablaufen, um z.B. Daten zu verändern oder ein neues Ticket zu erzeugen, ...
  3. Im Reiter "Makros" hinterlegt man im Makro "Beim Laden":

    ActiveTicket.SuppressFinalDialog = true
    ActiveTicket.Transition = "[Name der Reaktion]"


    Über ActiveTicket.SupressFinalDialog wird der Einstufungsdialog unterdrückt. Es gibt dann nach der Ticketbearbeitung keine Interaktion des Anwenders mehr.
    ActiveTicket.Transition = "xy" sorgt für die Vorauswahl der zu wählenden Einstufung. Wichtig ist hierbei das der Name der Reaktion angegeben werden muss und nicht die Folgebearbeitungsstufe.
    Damit werden alle Tickets in der Bearbeitungsstufe solange abgearbeitet, bis kein Ticket mehr fällig ist.

2012-09-20 14:55
Markus Grutzeck

Powerdialing mit Telefonnummernwechsel bei dem Gesprächsergebnis "nicht Verbunden"

Beschreibung:
Es gibt Szenarien, da versucht man den Gesprächspartner immer über dessen direkte Durchwahl (sofern bekannt) und nicht über die Zentrale zu erreichen. Allerdings ist die Erreichbarkeit auf einer Durchwahl im Allgemeinen schlechter als auf der Zentrale, da dort nun mal nur der gewünschte Gesprächspartner das Gespräch entgegennehmen kann und sonst niemand.

Daher ist es gewünscht, dass nach einer bestimmten Anzahl an Fehlversuchen den Gesprächspartner zu erreichen doch die Zentrale angerufen werden soll, anstelle der direkten Durchwahl.

Problem:
Im Powerdial-Modus (AG-VIP SQL wählt automatisch), kann man jedoch nur eine allgemeine Reihenfolge der zu verwendenen Telefonnummernfelder angeben und darüber wird immer das Telefonnummernfeld verwendet, welches nicht leer und am höchsten eingestuft ist.
In unserem Beispiel sieht die Reihenfolge der Telefonfelder folgendermaßen aus:

  1. Durchwahl
  2. Zentrale


Sofern also im 1. Telefonfeld "Durchwahl" eine Telefonnummer hinterlegt ist, wird IMMER die dort hinterlegte Telefonnummer verwendet und nur wenn dort keine Telefonnummer hinterlegt wurde, wird stattdessen die Zentrale angerufen.

Lösung:
Ab der AG-VIP SQL Version 1.40.007 ist es möglich die Telefonnummer die angerufen werden soll beim Laden des Tickets per Makro zu setzen.
Diese Option ermöglicht es uns, ein Makro zu programmieren, welches auch die weiter unten eingestuften Telefonfelder verwendet.
Das Makro wird auf Ebene der Bearbeitungsstufe in der Makroposition "beim Laden" sowie "beim Speichern" hinterlegt.
Zusätzlich müssen noch in Reaktionen, die auf die selbe Bearbeitungsstufe verweisen und dadurch eine sogenannte "Wiedervorlage" erstellen in der Makroposition "nach Einstufung" bestimmte Felder gesetzt werden, um eine manuelle Wiedervorlage von einer automatisch durch AG-VIP SQL erzeugten zu unterscheiden.
Der Hintergrundgedanke dabei ist, dass wenn der Anwender manuell eine Wiedervorlage setzt, hat er mit jemanden gesprochen und dieser hat Ihm vermutlich gesagt "Rufen Sie doch bitte um ... nochmal an.".
In diesem Fall wäre es unpraktisch, wenn dann die Telefonnummer gewechselt werden würde.
Daher muss beim nächsten Laden des Tickets ersichtlich sein, dass auf keinen Fall ein Telefonnummernwechsel stattfinden soll.

Konfigurationsoptionen:
In der Makroposition "beim Laden" der Bearbeitungsstufe können Einstellungen vorgenommen werden.
So kann man zum Beispiel einstellen, ob der Anwender sogar über einen Auswahldialog eine Telefonnummer auswählen kann oder ob dies automatisch passieren soll.
Desweiteren muss noch angegeben werden, ab wievielen Fehlversuchen die andere Telefonnummer verwendet werden soll.

Am Ende dieses Artikels finden Sie ein Beispielprojekt, in der das eben geschilderte Szenario abgebildet ist.
Um es in bestehende Projekte zu integrieren, müssen an den oben genannten Makropositionen die Makros kopiert und die benötigten Projekttabellenfelder angelegt werden.

Voraussetzungen:

  • AG-VIP SQL Version 1.40.007 oder höher
  • Projekttabellenfeld "TimeTicketOld" vom Datentyp "Datum Zeit"
  • Projekttabellenfeld "NoConnectCounter" vom Datentyp "Ganzzahl" und Länge 2
  • Makro "beim Laden" sowie "beim Speichern" der Bearbeitungsstufe
  • Makro "nach Einstufung" in jeder Reaktion, die auf die selbe Bearbeitungsstufe als Folgestufe verweist (Wiedervorlage)
  • Die "Verschiebe Zeiten" für "Besetzt" und "keine Verbindung" im Reiter "Telefonie" der Bearbeitungsstufe müssen sich mindestens 2 Minuten unterscheiden

Änderungslog:

16.01.2019:

  • Makroanpassung bezüglich der Ermittlung des nächsten Telefoniefeldes, beim ersten Durchlauf.
    Wenn beim ersten Durchlauf, das erste Telefonfeld leer war, wurde sobald die maximale Anrufzahl erreicht wurde erneut das selbe Telefonfeld angerufen. Die Rotation hat sich somit um einen Zyklus verschoben. Das Problem wurde behoben.

13.03.2014:

  • Makroanpassung bezüglich der Rotierungsoption und Ermittlung der Besetzt- und NichtVerbunden-Zeiten.

2014-12-16 15:07
Peter Brandt

Benutzer sollen nur Inbound für eine Bearbeitungsstufe arbeiten aber keine Outbound Telefonate tätigen

Anforderung:

Es gibt Bearbeitungsstufen, die eigentlich nur Outbound Stufen sind, aber über Emails oder Rückrufe auch Inbound Ereignisse erzeugen.

Bestimmte Agenten werden für diese Stufen eingesetzt.

Oft gibt es hier die Anforderungen, dass einige Agenten zusätzlich auschließlich für den Inbound aktiv werden sollen.

Oder aber die gesamte Stufe wird nicht mehr aktiv bearbeitet , weil das Projektsoll erfüllt wurde.
Rückrufe, oder Emails sollen aber weiter bearbeitet werden.

Lösung:

Durch einen Makro und die Zugehörigkeit zu einer bestimmten Gruppe wird geprüft, ob die aktive Bearbeitung der Bearbeitungsstufe über den Arbeitsbereich PROJEKTE zulässig ist.

Man legt eine Benutzergruppe in AG-VIP SQL an, mit dem Namen "Nur Inbound". Dieser Gruppe werden alle Mitarbeiter zugewiesen, die nur noch Inbound auf eine bestimmte Stufe zugreifen dürfen.

Im Makro Beim Laden (OnLoad) der entsprechenden Bearbeitungsstufe wird der folgende Makro eingebaut:

Option Explicit 
' Im OnLoadMakro, Outbound, Inbound Makro haben wir die
' Wenn ein Inbound Event vorhanden ist erlauben wir immer den Zugriff.
' Wenn Kein Inbound Event vorhandenist, werden alle User in der Gruppe Inbound für diese Stufe ausgesperrt
If ActiveWorkflowTicket.Event Is Nothing Then
' Prüfen in welcher Gruppe der aktuelle Benutzer ist.
Dim oGroup, bFound
On Error Resume Next
bFound = false
For Each oGroup In Application.ActiveUser.Groups
If UCase(oGroup.Name)="NUR INBOUND" Then
bFound = true
Exit For
End If
Next

' Benutzer ist in der Gruppe Inbound und darf deshalb nicht weiter machen!
If bFound Then
MsgBox "Sie dürfen in diesem Projekt nur Inbound arbeiten!"
Macro.Abort
Macro.Exit
End If
End If

Erklärung:

Im Falle eines Inbound Ereignisses (egal ob Email, oder eingehendes Telefonat) existiert auch ein entsprechendes Event, dass den Vorgang mit der globalen Suche verbindet. Dieses Objekt existiert nicht, wenn ein Ticket normal bearbeitet wird. D.h. über den Befehl "Nächstes Ticket" oder die "Pickliste" geladen wird. 

Existiert also dieses Inbound Event Objekt nicht, wird geprüft, ob der entsprechende aktuelle Nutzer in der Grupper "Nur Inbound" Mitglied ist. Ist der Nutzer Mitglied dieser Gruppe, und es existiert besagtes Inbound Event nicht, dann wird eine passende Meldung ausgegeben  und das Laden des Datensatzes wird beendet.

Anmerkung:

Wird eine globale Suche manuell ausgeführt, dann existiert gleichfalls kein Inbound  Event. Auch in diesem Fall kann man so ein Ticket nicht über die globale Suche oder auch die Pickliste eines Projektes laden.

2018-08-30 11:30
Martin Richter

Import von B2B Adressen von Databyte

Zweck:

Anwender selektieren losgelöst von AG-VIP online unter https://www.databyte.de/ und exportieren dort Daten. Die Daten werden anschließend in AG-VIP importiert.

Voraussetzungen:

  •  Account bei Databyte https://www.databyte.de/
  • Ausreichend Kontingente an Download Einheiten für den Export Es gibt drei Umfänge für den Datenexport: In den meisten Fällen wird der Standard- oder Erweiterte Export verwendet werden.

Unterschiedliche Daten je nach Exportumfang

Notwendige Vorarbeiten

Laden Sie die ZIP-Datei am Ende des Artikels herunter und entpacken die Datei.

1.       Import der ergänzenden Felder in die Adresstabelle

Das Databyte Adressportal liefert eine Reihe relevanter Zusatzinformationen. Deshalb empfiehlt es sich die Ziel-Adresstabelle, um folgende Datenfelder zu ergänzen:

Interner Name Deutsch (Deutschland) Typ Länge
Adress_Status Adress-Status Kennzeichenfeld: Adress_Status  
AP_Tätigkeit AP Tätigkeit Text 30
Branche Branche Memo 1.000
Databyte_Adress_Nr Databyte Adress-Nr Text 15
Databyte_Bundesland Databyte Bundesland Text 30
Databyte_Kreis Databyte Kreis Text 30
Funktion_Ansp Funktion AP Kennzeichenfeld: Funktion-AP  
Geburtstag Geburtstag Datum  
Gründung Gründung Datum  
KA_Staffel Kapital Staffel Text 30
Last_CheckDate letzte Adressprüfung Datum  
Last_CheckUser letzte Adressprüfung durch ID Benutzer  
LinkedIn WEB Adresse Text 255
MA_Staffel Mitarbeiter Staffel Text 30
UM_Staffel Umsatz-Staffel Text 30
XING WEB Adresse Text 255

KA-, MA-, UM-Staffel wurden als Text angelegt, weil sonst das gelieferte Datenfeld aufgeteilt werden muss, da hier Kürzel, z.B. „a“ und Erklärungstext in einem Feld geliefert werden.
Databyte liefert den Branchen-Code nach WZ 2008. Dabei werden bis zu 6 Branchen in einzelnen Datenfeldern geliefert. Um das zu vereinfachen, empfiehlt es sich die Branchen Informationen in ein Text- bzw. Memofeld zu importieren.
Geburtstag ist nur notwendig, wenn der Professional Export gewählt wird.
Die Datenfelder Adress-Status, Last_CheckDate, Last_CheckUser, Funktion_Ansp sind nicht notwendig und vervollständigen nur die Ansicht.  

In der ZIP Datei finden Sie obige Datenfelder zum direkten Import in Ihre Datenstruktur.

2.       Import der Ansicht für die erweiterten Felder von Databyte Vorgehensweise:

  1. Wählen Sie aus dem Arbeitsbereich Administration den Punkt Ansichten. Der Ansichten Designer öffnet sich.
  2. Aus dem Datei Menü wählen Sie den Punkt Import.
  3. Wählen Sie die Datei „Stammdaten_Databyte.agfrm“ aus dem ZIP-Musterfile.
  4. Speichern Sie die Ansicht ab.

Datenrecherche und Export in Databyte

Zweck:
Recherche der relevanten Adressen und erzeugen der Exportdatei in Databyte.

Vorgehensweise:

  1. Melden Sie sich unter www.databyte.de mit Ihren Zugangsdaten an.
  2. Geben sie die gewünschten Suchkriterien ein:
    Databyte Suchkriterien
  3. Über den Schalter Suche starten beginnt der Suchvorgang. Alle Treffer sehen Sie Sie in der Ergebnisliste:
    Databyte Ergbnisliste der Treffer
  4. Klicken Sie auf einen Eintrag, werden im unteren Teil alle Details des Datensatzes angezeigt.
  5. Wenn Sie nur ausgewählte Datensätze exportieren möchten, haken Sie die gewünschten Datensätze entsprechend an.
  6. Wählen Sie rechts Export / Download, um die Exportdatei zu erzeugen.
  7. Bei den Export Einstellungen legen Sie fest, welche Daten exportiert werden:
    Databyte Exporteinstellungen
  8. Beachten Sie, dass Sie für den Datenexport über ein ausreichendes Download Kontingent verfügen. Jeder Ansprechpartner wird als eigener Datensatz exportiert. Zu Beginn des Dokumentes finden Sie beschrieben, welche Informationen in welchem Exportumfang enthalten sind.
  9. Über Exportieren startet der Exportvorgang. Nach Abschluss erhalten Sie die Übersicht:
    Databyte Exportdatei herunterladen
  10. Wählen Sie rechts das Symbol für den Download als ZIP-Datei.
  11. Speichern Sie diese Datei ab und entpacken die ZIP-Datei.

Datenimport in AG-VIP

Zweck:
Import die zuvor aus Databyte exportierten Adressen in AG-VIP

Vorgehensweise:

  1. Öffnen Sie die entpackte TXT Datei mit einem Texteditor, z.B. Notpad.
  2. Wählen Sie aus dem Menü Datei den Punkt Speichern unter und wählen als Codierung ANSI aus:
    Textdatei ANSI codiert abspeichern
  3. Wählen Sie in AG-VIP aus dem Ribbon Sonstiges den Punkt Import.
  4. Als Importfilter wählen Sie Winword ANSI TAB getrennt:
    AG-VIP Importfilter auswählen
  5. Unter Quelldatei geben Sie die Exportdatei von Databyte an, die Sie in ANSI Codierung abgespeichert haben.
  6. Über den Weiter Schalter gelangen Sie zur Auswahl der Adresstabelle, in der die Daten importiert werden sollen:
    AG-VIP: Auswahl der Ziel-Adresstabelle
  7. Klicken Sie auf den Weiter Schalter, um die Feldzuordnung vorzunehmen:
Feld AG-VIP Feld Databyte
Databyte Adress-Nr Adress-Nr
Kurzname Firma
Name1 Firma-1
Name2 Firma-2
Name3 Firma-3
Straße +“ „ + Nr Strasse

Geht in das Feld Straße. Über den Schalter Text ergänzen Sie zunächst ein Leerzeichen und nutzen den Zuordnen Schalter, um das Feld Nr. zu ergänzen

Nr
PLZ PLZ
Ort Ort
Databyte Kreis Kreis
Name des Landkreises
Gemeindeschlüssel KGS
Databyte Bundesland
Das Standardfeld Bundesland enthält nur den 3-stelligen Code für das Bundesland
Bundesland
TelefonZentrale Telefon
TeleFaxFirma Telefax
Internet Hompage
Email2 E-Mail
Mitarbeiter Staffel MA-Staffel
Kapital Staffel KA-Staffel
Umsatz Staffel UM-Staffel
Gründung Gruendung
Anrede Anrede
BriefAnrede
Enthält nur „Sehr geehrte(r)“
Deshalb sind hier ein Leerzeichen Titel und Nachname sowie Komma zu ergänzen
BriefAnrede
Titel Titel
Vorname Vorname
Nachname Nachname
Funktion Funktion
AP Tätigkeit Tätigkeit
XING Person-XING
LinkedIn Person-LinkedIn
Branche
Als Memofeld angelegt, da ein Datensatz bis zu 6 Branchen enthalten kann. Alle Felder Branchen_Text aus der Quelle werden dem Feld Branche in AG-VIP zugeordnet, getrennt durch Komma und Leerzeichen „, „
Wer lieber mit Kennzeichenfelder in Branche arbeitet, muss zuvor den WZ 2008 Branchencode des statistischen Bundesamtes importieren und entsprechend separate Branchenfelder anlegen.
Bra-Text1
Bra-Text2
Bra-Text3
Bra-Text4
Bra-Text5
Bra-Text6
Nicht relevant, da hier nur Bestandsänderungen vermerkt werden. V_ …

AG-VIP Feldzuordnung Ziel- und Quelldatei

  1. Über den Weiter Schalter gelangen Sie zur Definition der Abgleich Regeln:
    AG-VIP: Importmodus und abzugleichende Felder

  2. Wir empfehlen über die Felder Name1, Vorname und Nachname abzugleichen. Evtl. bezieht man das Feld PLZ noch mit ein. Dann werden bestehende Datensätze aktualisiert. Wenn Sie regelmäßig von Databyte Adressen beziehen, kann das Feld Databyte Adress-Nr. als eindeutiges Kriterium für die Zuordnung verwendet werden.
  3. Über den Speichern-Schalter können Sie diesen Importfilter für die spätere Verwendung abspeichern. Dann geht der nächste Import in Nullkommanichts!
  4. Starten Sie den Importvorgang über den Schalter Fertig stellen.
  5. Die Protokollanzeige gibt an, wie viele Datensätze gelesen, neuangelegt oder aktualisiert wurden.
  6. Über eine Auswertung nach AngelegtDatum filtern Sie rasch die neu importierten Daten.

2022-03-08 17:15
Markus Grutzeck

Integrationen: Welche Anbindung von AG-VIP an andere Systeme gibt es?

Integrationen steigern den Nutzen von CRM Software. Brechen Datensilos auf und beschleunigen für Anwender Abläufe.

Nachfolgend finden Sie wichtige Anbindung mit Links zu weiterführenden Informationen:

Dokumente

Tabellen

  • Microsoft Exel:
    Excel Sheet personalisieren. Jeder beliebige Feldinhalt aus AG-VIP lässt sich in eine Zelle in Excel übertragen.
    So lassen sich Angebote kalkulieren etc.
    - zum Muster Hilfsmittel ...

Präsentationen

  • Microsoft PowerPoint:
    Präsentation personalisieren und Interessenten mit persönlichem Firmenname und Ansprache überraschen
    - zum Muster Hilfsmittel ...

Kalender: Termin

  • Microsoft Outlook: Termin und Adresse
    Termin in vordefinierten Kalender eintragen inkl. Kontaktdaten
    - zum Muster Hilfsmittel ...
  • Microsoft Outlook: Aufgabe und Adresse
    Aufgabe für Person eintragen inkl. Kontaktdaten
    - zum Muster Hilfsmittel ...
  • Termin weiter geben: iCal erzeugen
    Termin als iCal erzeugen. Somit kann ein Termin z.B. per Email versendet werden. Empfänger muss nur Doppelklick auf iCal Element machen und hat Termin in seinem Kalender.
    - zum Muster Hilfsmittel ...
  • Zugriff auf Kalender via OWA
    OWA steht für Outlook Web Access. Im Browser Control von AG-VIP lässt sich das webbasierte Outlook einbinden.
    - so funktioniert es  ...
  • Google Kalender: Termin eintragen
    Termin in einen beliebigen Google Kalender eintragen. Viele Kalender Systeme synchronisieren mit Google Kalender. So bekommt man Termine aus dem CRM in viele Drittsysteme
    - so funktioniert es ...
  • Microsoft Teams: Online Besprechung in Kalender eintragen
    Direkt aus AG-VIP einen Termin für eine Online Besprechung in Teams erzeugen und aktuellen Kontakt dazu einladen
    - in Kürze verfügbar

Nachricht senden: Email / SMS

  • Microsoft Outlook: Email senden
    Erzeugen einer personalisierten Email inkl. optionaler Dateianlagen. Anwender kann vor dem Senden Email noch bearbeiten
    - zum Muster Hilfsmittel ...
  • Email via SMTP senden
    Erzeugen einer personalisierten Email inkl. optionaler Dateianlagen. Der Versand erfolgt ohne Benutzer Interaktion im Hintergrund direkt über den Mailserver.
    - zum Muster Hilfsmittel ...
  • Lotus Notes: Email senden
    Personalisierte Email erzeugen.
    - zum Muster Hilfsmittel
  • SMS Versand
    Ihre Nachricht oder einen Kontakt direkt aufs Handy. Möglich über das Musterhilfsmittel für ASPSMS
    - zum Muster Hilfsmittel

Newsletter / Marketing Automation

  • SuperMailer
    Newsletter einfach personalisiert und preiswert versenden. Entweder direkt über ihren Mailserver oder ihr lokales Outlook. Datenübergabe via Export / Import.
    - zur Schritt-für-Schritt-Anleitung
  • Klick-Tipp: Newsletter / Email Funnels / Anmeldeformulare
    Klick-Tipp bietet vielfältige Möglichkeiten der Lead Marketing Automation. Neben Newslettern lassen sich Email Funnels nutzen. Über die Schnittstelle werden selektierte Kontakte direkt einer Email Kampagne zugewiesen. Versand, Öffnung, Klicken von Links lassen sich automatisch in der Historie von AG-VIP dokumentieren. Aus Aktionen des Email Empfänger können in AG-VIP Wiedervorlagen oder Tickets erzeugt / verschoben werden. Zusätzlich sieht man alle Email Aktivitäten aus Klick-Tipp in einer Zusatztabelle in AG-VIP.
    - Mehr wissen ...
    - Handbuch zur Schnittstelle
    - Kostenloser Kurs: Online Marketing für Einsteiger
  • Evalanche: Newsletter / Email Funnels / Anmeldeformulare
    Mächtige Lead-Marketing Automation Lösung. Über die Schnittstelle werden Kontakte aus AG-VIP nach Evalanche übergeben. Das Email Verhalten der Empfänger spiegelt sich in einer Zusatztabelle in AG-VIP wieder.
    - Mehr wissen ...
    - zum Muster Hilfsmittel für eine einzige Adresse ...

Website Tracking

Keine Lust auf Kaltakquise? Beim B2B Website Tracking ent-anonymisieren sie ihre Website Besucher DSGVO konforn. Sie erhalten die Sammdaten der Unternehmen, die ihre Website besuchen inkl. aufgerufener Seiten, Verweildauer und der wievielte Website Besuch das war. Damit nicht jeder Kontakt naach AG-VIP übernommen wird, können Sie eine Mindest-Verweildauer oder den Aufruf bestimmter Zeiten definieren.

Schnittstellen gibt es zu

Rechnungsstellung

  • EasyBill
    Rechnungen mit fortlaufender Nummerierung funktionieren auch über das Word Hilfsmittel. Das Ergebnis ist aber ein Stück Papier. Cleverer ist eine preiswerte online Lösung für Rechnungslegung und -versand. Überwachung des Zahlungseingangs sowie Export im DATEV Format für die Buchhaltung oder Rechnunswesen. Sprechen Sie uns bei Interesse einfach an.
    - Mehr Infos zu EasyBíll ...

Kontakte

  • Kontakte einfach weitergeben: vCard
    Sie sprechen eine Empfehlung aus und wollen die Kontaktdaten schnell weitergeben? Mit dem vCard Format kann der Empfänger den Kontakt sofort in sein Outlook etc. übernehmen. Das Hilfsmittel erzeugt eine vCard-Datei des aktuellen Datensatzes.
    - zum Muster Hilfsmittel ...
  • Microsoft Exchange: öffentlicher Kontakt Ordner
    Nicht jeder im Unternehmen hat Zugriff auf AG-VIP. Aber jeder braucht die Kontakte. Über eine Schnittstelle werden Kontakte aus AG-VIP in einem öffentlichen Kontaktordner im Exchange lesend bereitgestellt. Die Verwaltung der Adressen erfolgt in AG-VIP. Bei Interesse an der Schnittstelle, bitte einfach melden.

PDF personalisiert erzeugen

  • Microsoft Word: direkt als PDF ablegen
    Das Muster Hilfsmittel zum Erzeugen es Dokumentes kann die Datei sofort als PDF ablegen
    - zum Muster Hilfsmittel ...
  • Adobe Acrobat X - Vollversion
    Mit der kostenpflichtigen Vollversion von Acrobat lassen sich über ein Hilfsmittel sofort personalisierte PDF Dateien erzeugen
    - zum Muster Hilfsmittel ..
  • FreePDF / GhostScript
    Erzeugt ein personalisiertes PDF-Dokument
    - zum Muster Hilfsmittel ...

Social Media

Anzeige des Social Media Profils des aktuellen Ansprechpartners bei XING, LinkedIn, Facebook oder Twitter oder der Profile der Mitarbeiter zum aktuellen Unternehmen. In der Musteransicht wird diese Funktionalität über ein Browser Control in einer AG-VIP Ansicht zur Verfügung gestellt.
- zur Muster Ansicht

2022-09-22 17:06
Markus Grutzeck

Hintergrundprozesse

Zur Kategorie

Standard Hintergrundprozess Datenimport

Der Importer Hintergrundprozess kann als Template dienen für Importabläufe, die regelmässig stattfinden müssen.

Variablen zur Steuuerung

Im Kopf des Makros befinden sich Variablen mit denen der Ablauf und das Verhalten des Hintergrundprozesses gesetuert werden können.

Alle Variablen werden im Makro beschrieben.

Anpassung für Dateiformate

Für das EIngabedateiformat muss eine spezielle File Klasse verwendet werden. Aktuell befinden sich drei File-Klassen in dem Beispiel. Je nach Format und Trennzeichen muss hier eine Anpassung erfolgen.

Spezielle Filer und Anpassungen je Feld

Für bestimmte Felder ist es evtl. notwendig eine Konvertierung einzubauen. In dem Beispiel erfolgt dies für den Ländercode. Auch hier muss manuell entsprechend den Eingabedaten eine Anpsasung erfolgen.

 

2019-07-17 10:37
Martin Richter

Emailversand an einen Administrator für Hintergrundprozesse

Es ist möglich aus dem AGVIPJobScheduler Prozess Emails zu versenden.

Dadurch kann ein Administrator benachrichtigt werden, wenn Prozesse ausgeführt wurden oder Fehler mleden.

Damit dies aber möglich ist muss ein SMTP Zugriff verfügbar sein und die Anmeldedaten im JobScheduler eingerichtet werden.
Dazu ist eine Datei mit dem Namen AGVIPJobScheduler.ini notwendig. Diese Datei ist nach der Installation des Job-Schedulers noch nicht vorhanden und muss angelegt werden.

Eine Beispieldatei mit einigen Anmerkungen finden Sie hier (auch las Download):

 

[EMail]
; Allgemeine Infos
Host="mail.server.loc"
Port=465 Username="anybody@domain.de"
Password="theverysecretsecret"

; Empfänger Informationen
To="Admin <administrator@domain.de>"
; Absende Informationen
From="Job Scheduler <administrator@domain.de>"
ReplyTo="Admin Job Scheduler <admin@domain.de>"
;Die LoginMethod gibt an, wie Sie sich am SMTP-Server anmelden möchten. Folgende Möglichkeiten
; stehen Ihnen zur Auswahl:
; 0 = Keine Anmeldung, z.B. lokalem SMTP-Server
; 1 = Anmeldedaten werden verschlüsselt an den SMTP-Server übertragen (CramMD5Method),
; 2 = Anmeldedaten werden mit BASE64 versschlüsselt. Dies dient nur zum korrekten darstellen von Umlauten bzw.
; Sonderzeichen. Die eigentlichen Daten werden im Klartext übertragen (AuthLoginMethod), z.B. bei GMX, Freenet, ...
; 3 = Anmeldedaten werden im Klartext übertragen. Von dieser Methode ist abzuraten (LoginPlainMethod).
LoginMethod=0

; Der ConnectionType gibt an, ob die Datenübertragung per SSL verschlüsselt ist.
; 0 = Keine Verschlüsselung
; 1 = SSL Verschlüsselung (Port Anpassung für SSL berücksichtigen ! z.B. 465)
ConnectionType=1

Eine genaue Beschreibung aller Einstellungen und Werte finden Sie im aktuellen Makrto-Handbuch.

2015-07-29 10:10
Martin Richter

Email Versand per SMTP funktioniert nicht. Fehler: 530 Must issue a STARTTLS command first

Hintergrund:

Für die Sichere Kommunikation im Internet werden Daten verschlüsselt. Dazu dienen die TLS und SSL-Protokolle zu dem es mehrere unterschiedliche Versionen gibt. (TLS 1.0, 1.1, 1.2, SSL 2.0, SSL 3.0)

Problem:

Im Betriebssystem ist festgelegt welche TLS-Version bei der Verschlüsselung festgelegt wird.
Diese Verschlüsselung wird zum Beispiel auch benötigt, wenn Emails per SMTP durch unser Addin AGSendMailSMTP benötigt.
Unsere Addins verwenden im Allgemeinen immer den eingestellten Betriebssystem Standard.

Manche Provider (1&1, IONOS etc.) verlangen mittlerweile mindestens eine Verschlüsselung nach TLS 1.2 Standard. TLS 1.0 gilt bereits seit Jahren als veraltet und unsicher.

Entsprechend erhält man bei Versand einer Email in einem nicht kompatiblen TLS Standard die Meldung:
530 Must issue a STARTTLS command first

Ab der AG-VIP SQL Version 2.05.002 kann folgende Lösung verwendet werden:

Lösung:

Über das SMTP-Hilfsmittel mit der Version 2.05.002: https://kb.grutzeck.de/index.php?action=attachment&id=163
Kann die "Protocol" Eigenschaft mit dem benötigten TLS1.2 Protokoll im Makro des Hilfsmittels gesetzt werden.

Für ältere AG-VIP SQL Version bis 2.05.001
Lösung 1:

Es ist evtl. möglich, die Verschlüsselung beim Email Versand von TLS auf SSL umzustellen, wenn dies durch den Provider unterstützt wird.
Dazu muss im entsprechenden Makro Code die Verschlüsselung auf SSL umgestellt werden (Eigenschaft ConnectionType):

Mail.ConnectionType = 1 ' 1=SSL, 2=StartTLS, 3=Automatisch, 0=Keine Verschlüsselung

Diese entsprechende Zeile muss in allen Makros benutzt werden die das Addin AGSendMailSMTP verwenden.

Lösung 2:

Um einen Client auf TLS 1.2 umzustellen müssen 2 Registry Einträge gesetzt werden.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client\DisabledByDefault=0 (DWORD)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client\Enabled=1 (DWORD´)

Mit dem hier angehängten Registry Reg-Datei, können diese Einträge einfach erzeugt werden.

Laden Sie die Datei herunter
Entpacken Sie die Datei
Doppelklicken Sie die entpackte Datei und beantworten die beide Sicherheitsabfragen mit Ja.

Diese Einstellungen müssen auf allen Rechnern/Servern vorgenommen werden, die das Addin AGSendMailSMTP verwenden.

Weiterführende Informationen finden Sie auf den entsprechenden Microsoft Seiten:
https://learn.microsoft.com/de-de/mem/configmgr/core/plan-design/security/enable-tls-1-2-client  
https://learn.microsoft.com/de-de/dotnet/framework/network-programming/tls#configuring-schannel-protocols-in-the-windows-registry  

2023-08-15 13:47
Martin Richter

Datensicherung von AG-VIP SQL mit der Hilfe von Hintergrundprozessen

Hintergrund:

Datensicherungen sind eine essentielle Notwendigkeit für jeden, der in der modernen IT Welt Daten verarbeitet.

Die Sicherung Ihrer Daten im MS-SQL Server kann einfach über einen Wartungsplan im SQL Server erfolgen. Leider verfügen die SQL Express Varianten von Microsoft nicht über die Funktion der Wartungspläne.

Hier können die Hintergrundprozesse von AG-VIP SQL einfach Abhilfe schaffen. Mit der Hilfe der Hintergrundprozesse, die hier vorgestellt werden lassen sich komplette Sicherung in jeder Form und Variante einfach erzeugen.

Für weitere Informationen zum Thema Datensicherung verweise ich auf den Artikel  Grundlagen für die Datensicherung von AG-VIP SQL über den SQL Server

Zusammenfassung des hier verwendeten Backup Modelles

Die Hintergrundprozesse sind so gebaut, dass Sie für das Wiederherstellungsmodel Vollständig angewendet werden können. Verwenden Sie nur ein einfaches Wiederherstellungsmodell, benötigen Sie den Hintergrundprozess Backup-Transaktionsprotokoll nicht. Sie können diesen Hintergrundprozess dann deaktivieren oder löschen.

In den vorgegebenen Einstellungen erfolgt jeden Montag morgens in der Nacht eine Vollsicherung der Datenbank zum Wochenbeginn.

An allen Werktagen von Montag bis Freitag, zwischen 07:30 Uhr und 17:59 wird alle 2 Stunden das Transaktionsprotokoll gesichert.
Zusammen mit der Hauptsicherung lässt sich also jeder Datenstand im 2 Stundenrhythmus wieder herstellen.

Sie können diese Einstellungen nach Ihren Wünschen anpassen. Beachten Sie aber, dass für Vollsicherungen oder bei großen und starken Datenbankänderungen auch die Backupdateien stark an Größe zunehmen.
Allerdings ist der hier verwendete Platz für die Sicherung extrem effektiv genutzt. Es werden zwar häufig Transaktionsprotokollsicherungen erzeugt. Diese sind aber sehr kompakt und klein, weil aus unserer Erfahrung die Menge der Datenänderungen doch beschränkt ist. Selbst bei großen Datenbeständen.

Rücksicherung

Im Falle einer Rücksicherung benötigen Sie eine Vollsicherung und alle Sicherungen des Transaktionsprotokolls bis zum Wiederherstellungszeitpunkt, den Sie wünschen. Es darf keine einzelne der Sicherungen fehlen.
Bei der Rücksicherung (die auch unter einem anderen Namen erfolgen kann), müssen sofort die Vollsicherung und alle Sicherungen des Transaktionsprotokolles angegeben werden.
Die Wiederherstellung erfolgt in einem Zug.

Vorbereitung:

Die Hintergrundprozesse selbst müssen durch Sie nicht mehr angepasst werden. Außer Sie benötigen andere Sicherungsintervalle.

Alle notwendigen Einstellungen nehmen Sie über die globalen Datenbank Einstellungen in AG-VIP SQL vor.

Einrichten der Parameter für das Backup

  1. Öffnen Sie dazu die Administration -> Globale Einstellungen -> Variablen
  2. Legen Sie die folgenden 3 Variablen an:
  3. BackupSQL: Der Pfad aus der Sicht des SQL Servers in dem die Backups erfolgen sollen. Dieser Pfad muss angegeben werden.
  4. BackupJob: Der Pfad aus der Sicht des Servers, auf dem die Hintergrundprozesse laufen, zu dem Pfad in dem die Backups erfolgen. Dieser Pfad muss nicht eingestellt werden, wenn Hintergrundprozesse und SQL Server auf einer Maschine laufen. Ist dieser Wert nicht angegeben, wird der Wert aus BackupSQL übernommen.
  5. BackupDays: Aufbewahrungszeit in Tagen für die Backupdateien. Backupdateien, die älter als diese Anwahl von Tagen sind, werden gelöscht. Ist dieser Wert nicht definiert, gilt eine Aufbewahrungsdauer von 30 Tagen.

 

Einrichten der Hintergrundprozesse

  1. Entpacken Sie die Dateien aus der Zip-Datei, die an diesen Artikel angehängt wurde.
  2. Importieren Sie die Hintergrundprozesse, die Sie benötigen (siehe unten: Beschreibung der Hintergrundprozesse)
  3. Passen Sie die Zeitpläne entsprechend Ihren Gegenheiten und wünsche an.
  4. Vergessen Sie nicht die Hintergrundprozesse aktiv zu setzen.
  5. Testen Sie jeden der Prozesse durch eine einmalige Aktivierung.

Hintergrundprozess Backup-Vollsicherung

Die Vollsicherung erzeugt eine komplette Datensicherung Ihrer AG-VIP SQL Datenbank. Mit dieser Datei alleine kann die Datei komplett auf den Stand zurückgesichert werden, an dem diese Vollsicherung gemacht wurde.

Die aktuell voreingestellten Werte sehen vor, dass immer montags um 03:00 Uhr eine Vollsicherung erfolgt.

Die Vollsicherung erfolgt in den eingestellten Pfad (Systemvariable BackupSQL siehe oben) in eine Datei mit folgenden Namen:
Backup_NameDerDB_yyyymmddhhmmss.bak

 

Hintergrundprozess Backup-Transaktionsprotokoll

Das Transaktionsprotokoll muss nur gesichert werden, wenn Sie für Ihre Datenbank das Wiederherstellungsmodell Vollständig verwenden. Im Modell Einfach muss das Transaktionsprotokoll nicht gesichert werden bzw. kann auch nicht gesichert werden.
Sollten Sie diesen Hintergrundprozesse dennoch aktivieren, wird es zu einem Fehler kommen, dass ein Backup nicht erzeugt werden kann.

Das Transaktionsprotokoll umfasst alle Änderungen seit der letzten Sicherung des Transaktionprotokolles. Es erlaubt einfach nach einer Vollsicherung, jeden Teilstand der Datenbank mit den einzelnen Transaktionsprotokollsicherungen wiederherzustellen.
Die Größe der Sicherung richtet sich ausschließlich nach der Menge der Datenänderungen.

In der voreingestellten Backupstrategie wird das Transaktionsprotokoll zwischen 07:30 und 18:00 Uhr an allen Werktagen von Montag bis Freitag gesichert.

Die Sicherung des Transaktionsprotokolls erfolgt in den eingestellten Pfad (Systemvariable BackupSQL siehe oben) in eine Datei mit folgenden Namen:
Backup_NameDerDB_yyyymmddhhmmss.trn

 

 

Hintergrundprozess Backup-Bereinigung

Dieser Prozess dient ausschließlich dazu alte Backups, die nicht mehr benötigt werden, zu löschen.

Dazu wird die Systemvariable BackupDays (siehe oben) verwendet. Wird diese Variable nicht definiert, werden Backups, die älter als 30 Tage sind, entfernt.

Dieser Prozess löscht ausschließlich Dateien mit der folgenden Namensform, deren Datum im Namen yyyymmddhhmmss älter ist als die angegeben Tage von aktuellen Datum aus gerechnet.
Backup_NameDerDB_yyyymmddhhmmss*.bak
Backup_NameDerDB_yyyymmddhhmmss*.trn

 

Abschließender Hinweis

Mit den Backupdateien, die diese Prozesse erzeugen, können Sie flexibel jeden Datenstand wiederherstellen.
Um aber gegen einen Hardwareausfall geschützt zu sein, müssen Sie auch diese Backupdateien, auf ein externes Medien bringen und nach Möglichkeit sogar außer Haus aufbewahren.

Backup mit dem SQL Server Bordmitteln

Alternativ ist es auch möglich, eine Datensicherung mit den Wartungsplänen des SQL Servers auszufühen, dazu ist allerdings mindestens ein Micrsoft SQL Server Standard nötig. Die Express Versionen des SQL Servers verfügen über keine Wartungspläne.
Datensicherung für AG-VIP SQL mit SQL Server Wartungsplänen

 

Mehr zum Thema

2024-05-21 12:52
Martin Richter

Datensicherung für AG-VIP SQL mit SQL Server Wartungsplänen

Hintergrund:

Für die allgemeinen Grundlagen der Datensicherung lesen Sie bitte den folgenden Artikel.

Alle MS-SQL Server Editionen außer den SQL Express Versionen unterstützen Wartungspläne.
Wartungspläne erlauben es, einfach regelmäßige Tasks auf den eigenen Datenbanken auszuführen. Dazu zählen auch Backups des SQL Servers.

Für die Datensicherung auf einem SQL Express Server oder auch wenn Sie die Datensicherung über eigene Hintergrundprozesse durchführen wollen, lesen Sie bitte den folgenden Artikel [Link?].

Beispiel Szenario:

In dem hier vorgestellten Verfahren wird eine Vollsicherung jeweils zu Wochenbeginn (Montags um 03:00 Uhr) erzeugt. Gefolgt von Sicherungen des Transaktionsprotokolls jede Stunde, an jedem Tag zu den normalen Arbeitszeiten (zwischen 07:00 und 18:00 Uhr). Es steht Ihnen frei andere Rhythmen zu wählen. Beachten Sie aber immer die Anzahl der Dateien und Datenmengen die entstehen.
Die Aufbewahrung erfolgt über 2 Monate.
Dieses Sicherungsverfahren erlaubt es auf jeden Zustand der Datenbank rückwirkend für 2 Monate im Stundenrhythmus stündlich wiederherzustellen.

Da immer nur das Transaktionsprotokoll gesichert wird, hängt die Menge der Daten von der Anzahl der Änderungen in der Datenbank ab. Beachten Sie, dass für eine erfolgreiche Rücksicherung immer die Vollsicherung gefolgt von allen Sicherungen des Transaktionsprotokolles eingespielt werden müssen.

Einrichten eines neuen Wartungsplanes für das Backup

  • Starten Sie das SQL Managament Studio.
  • Wählen Sie den Abschnitt Verwaltung -> Wartungspläne
  • Mit der Rechten Maus klicken Sie auf Wartungspläne und wählen Wartungsplanungs-Assistent
  • Der Planungsassistent startet. 

  • Klicken Sie auf Weiter

Eigenschaften des Wartungsplanes angeben

  • Geben Sie dem Wartungsplan einen Namen (z.B. Backup)
  • Wählen Sie Getrennte Zeitpläne für jede Aufgabe
  • Klicken Sie auf Weiter

Wartungsplan Inhalt definieren

  • Wählen Sie Datenbank sichern (vollständig) aus
  • und sofern Sie auch das Transaktionsprotokoll sichern wollen Datenbank sichern (Transaktionsprotokoll)
    Bitte lesen Sie dazu unbedingt die Grundlagen für eine SQL Server Datenbanksicherung.
    Eine Sicherung des Transkationsprotokolles ist nur im Wiederherstellungsmodus Vollständig notwendig!
  • Wählen Sie zusätzlich Wartung bereinigen. Mit diesem Menüpunkt ist es möglich, die Anzahl der Sicherungen auf der Festplatte zu beschränken.
  • Klicken Sie auf Weiter.

Reihenfolge der Sicherungsvorgänge

  • Sie können die Reihenfolge der Tasks belassen. Die eigentliche Reihenfolge wird durch die unterschiedlichen Zeitpläne definiert.
  • Klicken Sie auf Weiter

 Vollsicherung konfigurieren

In diesem Schritte werden die Eigenschaften und vorgehensweise für die Vollsicherung definiert.

  • Wählen sie die Datenbank oder auch die Datenbanken, die gesichert werden sollen.
  • Klicken Sie auf den Karteireiter Ziel.

Auswahl des Sicherungszieles

Als Sicherungsziel kommt jede lokale Festplatte oder angeschlossenes USB Laufwerk am SQL Server in Frage.
Auf Netzwerklaufwerke kann nur zugegriffen werden, wenn der SQL Server Agent in einem entsprechenden Benutzerkontext läuft, der solch einen Zugriff erlaubt. Ist das der Fall kann man auch UNC Pfade auf anderen Servern angeben.

Vorgeschlagen wird das interne Verzeichnis für Backups.

  • Wählen Sie zusätzlich die Option Unterverzeichnisse für jede Datenbank erzeugen. Das erleichtert die Handhabung mit den Sicherungsdateien, weil alle Sicherungsdateien einer Datenbank immer in einem eigenen Verzeichnis liegen und nicht gemischt werden.
  • Klicken Sie auf Weiter.

Zeitplan für die Vollsicherung definieren

Als Zeitplan für eine Vollsicherung schlagen wir eine wöchentliche Sicherung vor. Es ist auch möglich ein engeres Sicherungsintervall zu definieren.

  • Klicken Sie auf Ändern für den Zeitplan.

  • Wählen Sie die entsprechenden Optionen.
  • Klicken SIe auf OK

  •  Der Zeitplan wird im Wartungsplan angezeigt.
  • Klicken Sie auf Weiter.

Sicherung des Transaktionsprotokolles konfigurieren

Eine Sicherung des Transaktionsprotokolles muss nur erfolgen, wenn der Wiederherstellungsmodus Vollständig für Ihre Datenbank ausgewählt wurde.
Sie sollten diesen Abschnitt also nur ausführen müssen, wenn Sie die Sicherung des Transaktionsprotokolles auch in den Tasks ausgewählt haben.
Ansonsten überspringen Sie diesen Abschnitt.

  • Wählen Sie wieder Ihre Datenbank aus, die gesichert werden soll. Erscheint hier Ihre Datenbank nicht, dann befindet sich Ihre Datenbank vermutlich nicht im Wiederherstellungsmodus Vollständig.
  • Klicken Sie auf Weiter

Auswahl des Zieles für die Sicherung

Wählen Sie als Ziel das gleiche Verzeichnis, wie Sie es schon für die Vollsicherung gemacht haben.

  •  Wählen Sie zusätzlich auch wieder Unterverzeichnis für jede Datenbank erstellen.
  • Klicken Sie auf Weiter.

 Zeitplan für die Sicherung des Transaktionsprotokolles definieren

Für das Transaktionprotokoll wählen Sie den geeigneten Ryhtmus, um eine mögliche Wiederherstellung in einem engen Raster zu erlauben, der aber auch nicht zu eng ist, um mit der Datenmenge Probleme zu machen.

In diesem Beispiel wird eine stündliche Sicherung erzeugt.

  • Klicken Sie auf Ändern für den Zeitplan.

  • Geben Sie den entsprechenden Zeitplan ein.
  • Klicken Sie auf OK

 

  •  Der Zeitplan wird im Wartungsplan angezeigt.
  • Klicken Sie auf Weiter

Bereinigung der Backupdateien definieren

In diesem Schritt können Sie definieren, wie lange Backupdateien aufbewahrt werden sollen.

  • Wählen Sie den entsprechenden Zeitraum aus.
  • Klicken Sie auf Ändern um den Zeitplan für die Bereinigung zu definieren.

Zeitplan für die Bereinigung der Datensicherungen

Der Zeitplan wird wie für die Vollsicherung gewählt. In diesem Falle 02:00 Uhr am Montag.

D.h. die Bereinigung (das Löschen alter Backups) erfolgt vor der eigentlichen nächsten Vollsicherung.

Berichtsoptionen

Wählen die Berichtsoptionen, die Sie benötigen.
In unserem Beispiel werden keine Berichte benötigt.

Abschließen des Wartungsplanes

Klicken Sie auf Fertigstellen um den Wartungsplan in der angegeben Form zu speichern.

 

Weitere Artikel zu dem Thema

 

2024-05-21 09:20
Martin Richter

Hintergrundprozess - Daten anonymisieren

Herausforderung: Anonymisierung von Daten

Der Gesetzgeber fordert die Anonymisierung Personen bezogener Daten. Das basiert auf Grundlage folgender Gesetze:

1. Datenschutz-Grundverordnung (DSGVO) der EU

  • Artikel 4(1) DSGVO definiert personenbezogene Daten als alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person beziehen.
  • Artikel 5 DSGVO fordert, dass personenbezogene Daten nur so lange in einer Form gespeichert werden, die die Identifizierung der betroffenen Personen ermöglicht, wie es für die Zwecke, für die die Daten verarbeitet werden, erforderlich ist.
  • Artikel 25 DSGVO (Datenschutz durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen): Verantwortliche müssen geeignete technische und organisatorische Maßnahmen ergreifen, um den Schutz personenbezogener Daten zu gewährleisten, was auch Anonymisierung einschließt.
  • Erwägungsgrund 26 DSGVO: Anonymisierte Daten fallen nicht in den Anwendungsbereich der DSGVO, da sie keine personenbezogenen Daten mehr darstellen.

2. Bundesdatenschutzgesetz (BDSG) in Deutschland

  • § 27 BDSG: Regelt den Datenschutz im Zusammenhang mit der Verarbeitung personenbezogener Daten zu wissenschaftlichen, statistischen oder historischen Forschungszwecken, wobei Anonymisierung eine zentrale Rolle spielt.
  • § 28 BDSG: Behandlung von personenbezogenen Daten im Beschäftigungskontext, wobei die Anonymisierung von Daten eine empfohlene Maßnahme ist, wenn die Daten zu anderen Zwecken weiterverarbeitet werden sollen.

3. Telekommunikationsgesetz (TKG) und Telemediengesetz (TMG)

Beide Gesetze enthalten spezifische Regelungen zum Schutz personenbezogener Daten in der elektronischen Kommunikation und bei Telemediendiensten, die ebenfalls Maßnahmen zur Anonymisierung vorsehen.

Lösung:

Mit diesem Hintergrundprozess werden Daten in AG-VIP SQL anonymisiert.

Konfiguration:

Um zu vermeiden, dass dieser Job ungewollt Daten anonymisiert, muss zuerst der Adresstabellenname im Makro manuell eingetragen werden.
strTableName = "Hier muss der Name der Adressentabelle eingetragen werden"

Es kann eine Anzahl an Tagen festgelegt werden, worüber Datensätze die diese Anzahl an Tagen mindestens nicht bearbeitet wurden, anonymisiert werden.
iMinDaysNotModified = 365*10

Anstatt die Feldinhalte zu leeren, kann stattdessen ein festgelegtes Zeichen oder eine Zeichenfolge zum Ersetzen der Feldwerte verwendet werden.
CONST strEmtpyValue = "***"

Wenn nur bestimmte Felder anonymisiert werden sollen, können diese über den internen Feldnamen nach folgendem Syntax aufgeführt werden:
arrFieldlist = Array(_
"Shortname",_
"NameFirst",_
"NameLast",_
"Street",_
"ZipCode",_
"City",_
"CommPhone1",_
"CommPhone2",_
"CommPhone3",_
"CommPhoneCentral" _
)

Wenn alle Felder anonymisiert werden sollen, kann folgende Variable auf true gesetzt werden (Als Standard = false wird die Feldliste verwendet):
bClearAllFields = false

Über folgende Variable ist es möglich auch die Texte der Historieneinträge sowie die Pfade der evtl. angehängten Dateien zu anonymisieren.
Als Standard = false wird die History nicht anonymisiert.
bClearHistory = false

Hintergrundjob implementieren

  1. Laden Sie die angehängte ZIP-Datei herunter und entpacken diese.
  2. Gehen Sie in AG-VIP in den Arbeitsbereich Administration auf Hintergrundprozesse.
  3. Klicken Sie auf den Schalter Import.
  4. Wählen Sie die entpackte Musterdatei aus diesem Beitrag.
  5. Nehmen Sie die gewünschte Konfiguration vor.
  6. Wählen Sie den gewünschten Zeitplan für die Ausführung des Hintergrundjobs.

2024-06-20 12:02
Peter Brandt

Reporting

Zur Kategorie

Benutzerarbeitszeitstatistik als individueller Report

Hintergrund:

Die Benutzerarbeitszeitstatistik ist eine beliebte Statistik aus den vorgegebenen Projektstatistiken.
Allerdings ist die Form der Ausgabe fest. Zudem ist die Statistik ohne bestimmte Eingaben nicht automatisch auszuführen.

Der nachfolgende Report, stellt die Benutzerarbeitszeitstatistik komplett nach mit allen verfügbaren Zahlen.
Es werden nur Stufen und Benutzer angezeigt, bei denen, es auch entweder eine Ticketbewegung oder eine Arbeitszeit gegeben hat. 

Die Aktuelle Vorlage erstellt die Statistik für die letzten 30 Tage inkl. dem aktuellen Tag (dies ist anpassbar s.u.).

Beschreibung:

Der Report ist in zwei Teile aufgeteilt.
Im ersten Teil wird eine Gesamt-Statistik angezeigt. In der werden alle Stufen über alle Benutzer saldiert.
Im zweiten Teil werden alle Benutzer (sortiert nach Namen) mit allen Bearbeitungsstufen ausgegeben, in denen gearbeitet wurde.

Benutzerdefinierte Queries:

Der Report basiert auf 3 benutzerdefinierten Abfragen:

  • Abfrage UserWorkTime_Total: Diese Abfrage erzeugt alle Zahlen für alle Bearbeitungsstufen saldiert über alle Benutzer. 
  • Abfrage Users: Mit dieser Abfrage werden alle Benutzer ermittelt, zu denen es eine Ticketbewegung oder Arbeitszeit gibt. Diese Abfrage dient dazu, Paarungen von Benutzern/Stufen zu unterdrücken bei denen keine Arbeitszeit aufgelaufen ist.
  • Abfrage UserWorkTime: Diese Abfrage erzeugt alle Zahlen für alle Bearbeitungsstufen je Benutzer und Stufe. 

Relevante Spalten, die sich aus dem Abfragen ergeben sind nachfolgend erklärt.
Diese erste Gruppe an Daten wird über die aktuelle Historie ermittelt, in der alle Ticketbewegungen verzeichnet werden.

  • Brutto* - Brutto Ticketbewegungen
  • Netto* -  Netto Ticketbewegungen
  • Winner *- Ticketbewegungen in Winnerstufen
  • Tickettime* - Anzahl der Sekunden für die komplette Bearbeitung eines Tickets
  • TicketCallTime* - Reine Gesprächszeit für die Bearbeitung eines Tickets

Alle weiteren Daten werden aus der Session Log Tabelle ausgelesen, in der saldarisch die Arbeitszeit aufgezeichnet wird.

  • TimeTotalNetto* - Zeit der Spalte TimeTotal abzüglich TimePause
  • TimeTotal - gesamte Arbeitszeit
  • TimePause - Pausezeit
  • TimeIdle - Zeit inaktiv
  • TimeInputIdle - Zeit wartend auf Benutzereingabe
  • TimeWaiting - Zeit wartend auf System
  • TimeConnected - Zeit verbunden

Verwendet werden nur die Spalten, die mit einem * markiert sind.
Die meisten anderen Spalten, die im Report ausgegeben werden, ergeben sich aus entsprechenden Kalkulationen zwischen diesen verwendeten Spalten.

Installation:

Der Report wird einfach unterhalb, des entsprechenden Projekts importiert für den er ausgeführt werden soll. 

  1. Laden Sie die angehängte Datei herunter und entpacken diese
  2. Öffnen Sie die Administration
  3. Wählen Sie Report Vorlagen
  4. Wählen Sie das Projekt für das die Statistik erzeugt werden soll.
  5. Klicken Sie auf Import und wählen Sie die heruntergeladene Datei aus.

Anpassen des Reports:

Der Report kann nun über den Report-Designer angepasst werden.

Soll der Zeitraum, der vorgegeben ist verändert werden, so gehen Sie wie folgt vor:

  1. Öffnen Sie den Report im Designer
  2. Wählen Sie im Menü Projekt -> Berichtsparameter
  3. Der @DateFrom Parameter gibt das Startdatum an, der @DateTo Parameter das Enddatum.
  4. Auf der rechten Seite ist es möglich die Formel für die Voreinstellung (Voreinstellung -> Wert(e)) zu ändern:
    @DateTo = ToDay()
    @DateFrom = AddDays(ToDay(),-29)

 

2019-07-10 12:47
Martin Richter

Beispiel für automatische Reports: Ticketvorschau für heute und für die nächsten 30 Tage

Beschreibung:

Mit der Version 2.00.005 wurden automatisch erzeugte Reports und der neue Report-Viewer integriert.

Mit den nachfolgenden Reports ist es möglich, je Benutzer in einem Projekt eine Vorschau von Ticktes mit einer Wiedervorlage für den heutigen Tag und für die nächsten 30 Tage zu erhalten.

Die Auswertungen arbeiten Stufen übergreifend.
Es werden keine Stufen berücksichtigt, die mit dem Wort "Ende ..." beginnen.

Installation:

Entpacken Sie die Dateien. Importieren Sie die Reports im Kontext für das Projekt, für das die Vorschau erzeugt werden soll.

Nehmen Sie für sich die passenden entsprechenden Einstellungen vor.

2019-09-23 16:43
Martin Richter

Wie ist es um meine Datenqualität bestellt - Der Report gibt Auskunft

Herausforderung

Beim Arbeiten mit CRM Lösungen ist die Qualität der Kontakte das A&O.  Wie kann man Anwendern die Qualität und Vollständigkeit der Daten sichtbar machen? Woher weiß ich, welches Potential für eine werbliche Ansprache ich wirklich habe?

Lösung

In der CRM Software gibt es eine interne Reporting Engine für individuelle Berichte und Dashboards. Wir haben ein exemplarisches Dashboard für Sie bereitgestellt, dass ...

  • den Anteil von Privat- und Geschäftskontakten
  • die Vollständigkeit in Bezug auf Anschrift, Telefon, Email, SMS etc. zeigt
  • und für welche Kanäle die Einwilligung für die werbliche Ansprache vorliegt.

So sehen Sie auf einen Blick, wie Sie die Kontakte im Vertrieb nutzen können.

Außerdem zeigt der Report wie lange schon Adressen im CRM System sind und wieviele Adressen schon wie lange nicht mehr geändert wurden.

Implementierung

Um diesen Report nutzen zu können, gehen Sie wie folgt vor:

  1.  Laden Sie die ZIP-Datei am Ende des Beitrags herunter und entpacken die ZIP-Datei.
  2. Wählen Sie aus dem Arbeitsbereich Administration den Punkt Report Vorlagen.
  3.  Markieren Sie die Adresstabelle, für den Sie diesen Bericht nutzen möchten und wählen rechts den Schalter Import.
  4. Wählen Sie nun die entpackte Download Datei Adressqualität AG-VIP Kontakte.agrpt.
  5. Über den Schalter Eigenschaften wechseln Sie in den Tab Rechte.
  6. Legen Sie hier fest, welche Benutzer oder Gruppen diesen Report nutzen dürfen.

Damit steht jetzt der Nutzung dieses Reports nichts mehr im Wege.

Nutzung

Anwender, denen Sie die Nutzung des Reports freigeschaltet haben, gehen wie folgt vor:

  1. Aus dem Ribbon Sonstiges wählen Sie den Punkt Reports.
    Hier erscheinen alle verfügbaren Reports.
  2. Markieren Sie hier den Report Adressqualität AG-VIP Kontakte und klicken rechts oben auf den Schalter Drucken.
    Legen Sie jetzt das Ausgabeformat fest, z.B. Excel, PDF oder einfach die Vorschau, um den Report anzuschauen.

2021-07-20 09:47
Markus Grutzeck

Teilnehmerliste für Veranstaltung mit QR-Code

Frage:

QR-Codes ermöglichen es einfach, Links von mobilen Geräten zu öffnen, ohne sich zu vertippen. Im konkreten Anwendungsfall wurde eine Teilnehmerliste mit  Firnemname, Vorname und Nachname benötigt. Über einen QR-Code sollte der Link zum LinkedIn Profil des Teilnehmers geöffnet werden. So können sich die Teilnehmer einfach untereinander vernetzen.

Lösung:

  1. In der Adresstabelle wurde ein Feld LinkedIn vom Typ Internet angelegt.
  2. Im Feld LinkedIn wird die URL zum LinkedIn Profil des Teilnehmers hinterlegt.
  3. Über die Auswertung filtern Sie die gewünschten Datensätze.
  4. Aus dem Ribbon Ausgabefenster wählen Sie die Funktion Report drucken.
  5. Über den Report "Erfolgreiches Kundendialog - Teilnehmerliste" wird eine Namensliste inkl. QR-Code zum LinkedIn Profil ausgegeben.
    Somit können Teilnehmer direkt den QR-Code scannen und eine Kontaktanfrage an diese Person stellen.

Teilnehmerliste mit QR-Code zu LinkedIn Profil

Implementierung Report:

  • Bitte laden Sie die angehängte ZIP-Datei herunter und entpacken diese.
  • Gehen Sie in AG-VIP in den Arbeitsbereich Administration und klicken doppelt auf den Punkt Report Vorlagen.
  • Klicken Sie rechts den Import-Schalter.
  • Wählen Sie die entpackte Datei aus.
  • Der Report steht nun zur Anwendugn bereit.

Voraussetzung:

Der Report bezieht sich auf die AG-VIP Felder:

  • Name1
  • Vorname
  • Nachname
  • LinkedIn

2023-10-04 10:55
Markus Grutzeck

Funktionsbibliotheken

Zur Kategorie

Funktionsbibliothek Standard1

Beschreibung:

Mit der Funktionsbibliothek "Standard1" kann in alle Makros ein erweitereter Befehlsumfang eingebunden werden. Hierzu wird die Funktionsbibliothek über den Befehl

MacroInclude "Standard1"

in das Makro eingebunden. Anschließend können die in der Funktionsbibliothek vorhandenen Funktionen direkt in den eigenen Macros genutzt werden. Viele Hilfsmittel setzen die Installation dieser Makrobibliothek voraus. Um diese Makrobibliothek nutzen zu können müssen Sie mindestens über die AG-VIP SQL 1.21.002 oder höher verfügen. Eine Beschreibung der durch diese Bibliothek verfügbaren neuen Funktionen finden Sie nachfolgend.

Einrichtung:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Enpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Makro Includes -> Import
    Wählen Sie nun die Datei "Standard1.agminc"
  4. Fügen Sie anschließend die Zeile MacroInclude "Standard1" im Kopfbereich des Makros ein, indem Sie eine Funktion aus dieser Bibliothek verwenden wollen.
WICHTIGE HINWEISE:

Nehmen Sie bitte keine Veränderungen in den Funktionen dieser Bibliothek vor. Wir erweitern diese beständig. Wenn Sie eine aktuellere Version dieser Bibliothek zum Einsatz bringen wollen, würden Ihre Änderungen verloren gehen.

Wenn Sie an den Funktionen Anpassungen vornehmen wollen, erstellen Sie bitte eine Kopie dieser Bibliothek. (Z.B. mit dem Namen "AngepassteStandard1"). Damit bleibt Ihr System auch bei Anpassungen "Updatefähig".

Vorraussetzungen zur Nutzung dieser Funktionsbibliothek:

Es muss mindestens AG-VIP SQL 1.21.002 Build 454 vom 22.11.2010 auf dem System installiert sein.

Einige wenige Funktionen nutzen spezielle Shell-Objekte o.ä. die nicht in einer 64-Bit Umgebung lauffähig sind. Sofern diese jedoch nicht aufgerufen werden kann die Bibliothek auch unter 64-Bit Systemen verwendet werden.

Beschreibung der durch diese Funktionsbibliothek verfügbaren Funktionen:

1. Allgemein

2. Datum, Uhrzeit und Zahlen

3. Interaktion und Dateizugriff

4. Hilfsmittel- und Systemfunktionen

5. Datenbank


1. Allgemein:

2. Datum, Zeit und Zahlen

3. Interaktion und Dateizugriff

4. Hilfsmittel- und Systemfunktionen 

5. Datenbank (Bitte beachten Sie das wir für direkte Datenbankzugriffe keinen Support leisten!)

2018-05-11 09:04
Ulrich Sticker

Systembibliothek (Verwendung in Hilfsmitteln oder Subfunktion)

Beschreibung:

In der Funktionsbibliothek Standard1 sind diverse Funktionen als Systembibliothek gekennzeichnet. Eine weitere Beschreibung für die Nutzung dieser Funktionen existiert nicht.

Der Grund hierfür ist, das diese Funktionen von Hilfsmitteln verwendet und voraussgesetzt werden oder Subfunktionen andrerer Funktionen darstellen. Eine sinnvolle allgemeine Verwendbarkeit dieser Funktionen dürfte im Normallfall nicht gegeben sein.

2011-10-25 17:15
Ulrich Sticker

Die AGVIP.INI und die Verbindungsdateien

Zur Kategorie

Längenbeschränkung für Benutzername und Kennwort in Verbindungsdatei AGVIP.AGDB

Beschreibung:

In der Verbindungsdatei von AG-VIP SQL wird bei Verwendung der SQL Authentifizierung der Benutzername und das Kennwort gespeichert.

Das Kennwort darf allerdings nur eine maximale Länge von 32 Zeichen haben.
Der Benutzername ist auf 40 Stellen begrenzt.

Da lange Kennworte oft per Copy&Paste in die Anmeldebildschirme übertragen werden fällt es manchmal nicht auf wenn längere Kennworte abgeschnitten werden, da das Kennwort in diesem Fenster verdeckt angezeigt werden und die Begrenzung nicht auffällt.

Diese Beschränkungen sind by Design. 

2015-08-18 08:34
Martin Richter

Die Behandlung von Disconnect Modes in AG-VIP SQL

Beschreibung: 

Immer wieder kommt es zu Problemen, wenn Tapi-Treiber einen falschen Disconnect Mode (Art und Weise der Trennung) zurückgeben.

Zur Erklärung:

Der Disconnect Mode dient dazu um zu ermitteln warum eine Verbindung nicht hergestellt werden konnte oder warum eine Verbindung beendet wurde. Der Disconnect Mode ist eine zusätzliche Angabe zu dem Callstate (Anrufstatus) LINECALLSTATE_DISCONNECT angegeben. In einem Tapi-Trace findet sich diese Information in solch einer Zeile wieder:
09:55:16:33 Tapi::CTapiControl::TapiCallState hCall=0x000100de, dwCallstate=DISCONNECTED, dwCallStateDetail=NORMAL
Im allgemeinen wird der Disconnect Mode beim aktiven Beenden eines Telefonates, also durch Auflegen des Anwenders oder bei einem Timeout ignoriert. Dennoch sollte der Tapi-Treiber hier LINEDISCONNECTMODE_NORMAL returnieren.
Wichtig wird der Disconnect Mode beim Verbindungsaufbau, denn hier hilft er zwischen 4 Möglichkeiten beim Nichtzustandekommen eines Telefonats zu unterscheiden.

  1. Besetzt
  2. Nicht erreicht (vorübergehend nicht erreichbar)
  3. Falsche Telefonnummer
  4. Fataler Fehler bei der Anwahl (TK-Anlage gestört und ähnliches)

Diese entsprechenden Zustände werden durch die folgenden Modi angezeigt, alle Modi werden hier mit ihrem hexadezimalen Zahlenwert aufgeführt:

LINEDISCONNECTMODE_NORM 0x00000001
LINEDISCONNECTMODE_UNKNOWN 0x00000002
LINEDISCONNECTMODE_REJECT 0x00000004
LINEDISCONNECTMODE_PICKUP 0x00000008
LINEDISCONNECTMODE_FORWARDED 0x00000010
LINEDISCONNECTMODE_BUSY 0x00000020
LINEDISCONNECTMODE_NOANSWER 0x00000040
LINEDISCONNECTMODE_BADADDRESS 0x00000080
LINEDISCONNECTMODE_UNREACHABLE 0x00000100
LINEDISCONNECTMODE_CONGESTION 0x00000200
LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
LINEDISCONNECTMODE_UNAVAIL 0x00000800
LINEDISCONNECTMODE_NODIALTONE 0x00001000
LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
LINEDISCONNECTMODE_OUTOFORDER 0x00004000
LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
LINEDISCONNECTMODE_BLOCKED 0x00020000
LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
LINEDISCONNECTMODE_CANCELLED 0x00080000
Im Normalfall werden diese Werte so interpretiert:
  1. Besetzt
    LINEDISCONNECTMODE_NORMAL, LINEDISCONNECTMODE_BUSY
  2. Nicht erreicht
    LINEDISCONNECTMODE_REJECT, LINEDISCONNECTMODE_NOANSWER, LINEDISCONNECTMODE_UNREACHABLE, LINEDISCONNECTMODE_DONOTDISTURB, LINEDISCONNECTMODE_OUTOFORDER
  3. Falsche Telefonnummer
    LINEDISCONNECTMODE_NUMBERCHANGED, LINEDISCONNECTMODE_BADADDRESS, LINEDISCONNECTMODE_INCOMPATIBLE
  4. Fataler Fehler:
    LINEDISCONNECTMODE_UNKNOWN, LINEDISCONNECTMODE_PICKUP, LINEDISCONNECTMODE_FORWARDED, LINEDISCONNECTMODE_CONGESTION, LINEDISCONNECTMODE_UNAVAIL, LINEDISCONNECTMODE_NODIALTONE, LINEDISCONNECTMODE_TEMPFAILURE, LINEDISCONNECTMODE_QOSUNAVAIL, LINEDISCONNECTMODE_BLOCKED, LINEDISCONNECTMODE_CANCELLED

Es gibt nun leider Tapi-Treiber, die sich nicht an die Vorgaben halten, und bei einem Besetzt z.B. den LINEDISCONNECTMODE_UNKNOWN returnieren. Dies würde allerdings von AG-VIP SQL als fataler Fehler interpretiert. Die Folge ist, dass AG-VIP SQL eine Fehlermeldung ausgibt und die weitere Anwahl in dem Projekt unterbindet. Dies geschieht damit nicht durch einen Fehler in der TK-Anlage das Projekt weiter läuft. AG-VIP SQL ist in der Lage bis zu 20 Telefonate pro Sekunde anzuwählen. Würde ein Fehler also immer als Besetzt interpretiert werden würde das Projekt weiterlaufen und in wenigen Minuten wären alle Telefonate als Besetzt erkannt worden und evtl. auf einen späteren Zeitpunkt verschoben. AG-VIP SQL muss deshalb die fatalen Fehler mit einem Stop der automatischen Anwahl quittieren.

Welche Zuordnung aktuelle gilt wird bei Programmstart im Tapi-Trace verzeichnet (ab Hotfix 1.07.009 Build 249):

09:19:08:03 Tapi::CTapiControl::SetDisconnectModesBusy 0x00000021, NORMAL,BUSY 
09:19:08:03 Tapi::CTapiControl::SetDisconnectModesNoConnect 0x00044144, REJECT,NOANSWER,UNREACHABLE,OUTOFORDER,DONOTDISTURB
09:19:08:03 Tapi::CTapiControl::SetDisconnectModesWrongNumber 0x00002480, BADADDRESS,INCOMPATIBLE,NUMBERCHANGED
09:19:08:04 Tapi::CTapiControl::SetDisconnectModesError 0x000b9a1a, UNKNOWN,PICKUP,FORWARDED,CONGESTION,UNAVAIL,NODIALTONE,TEMPFAILURE,QOSUNAVAIL,BLOCKED,CANCELLED
09:19:08:04 Tapi::CTapiControl::CheckDisconnectModesSetting Covered=0x000fffff

Um solche Fehler korrigieren zu können ist es möglich, diese Standardwerte für Besetzt, nicht erreicht, falsche Telefonnummer und fataler Fehler zu überschreiben bzw. andere Vorgaben zu machen. Dies ist möglich ab dem Hotfix 1.07.009 Build 249.

Anpassung über dir AGVIP.INI oder AGOvderdialTAPI.INI

Über die AGVIP.INI bzw. AGOvderdialTAPI.INI im Programmverzeichnis ist es möglich für die zentrale Netzwerkinstallation bzw. den Overdialserver eine Änderung vorzunehmen. Das nachfolgende Beispiel zeigt wie der LINEDISCONECTMODE_UNKNOWN als Besetzt interpretiert und nicht als Fehler.
Der entsprechende Abschnitt [TAPI] muss evtl. noch in der INI Datei angelegt werden. Ist der Abschnitt nicht vorhanden, können Sie diesen untenstehenden Textblock direkt an das Ende der Datei kopieren. 

[TAPI]
DisconnectMode_Busy=0x00000023
DisconnectMode_NoConnect=0x00044144
DisconnectMode_WrongNumber=0x00002480
DisconnectMode_Error=0x000b9a18
Anpassung über die Registry

Über die registry kann eine entsprechende Änderung Arbeitsplatz bezogen durchgeführt werden.

Dazu können in der Registry im Zweig:
32bit Betriebssystem:
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes

64bit Betriebssystem:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes

Die entsprechende hexadezimalen Werte überschrieben werden.

Eine entsprechende Reg-Datei findet sich nachfolgend. In diesem 32bit Beispiel wird der LINEDISCONECTMODE_UNKNOWN als Besetzt interpretiert und nicht als Fehler.

REGEDIT4 
[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes] 
"Busy"=dword:00000023
"NoConnect"=dword:00044144
"WrongNumber"=dword:00002480
"Error"=dword:000b9a18

Speichern Sie den markierten Textblock als .REG Datei ab und Doppelklicken Sie die Datei auf den Rechnern, an denen die Änderung durchgeführt werden soll.

Entsprechend zeigt der Trace die Veränderung an:
11:45:29:53 Tapi::CTapiControl::LoadDisconnectModesSetting 
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesBusy 0x00000023, NORMAL,UNKNOWN,BUSY
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesNoConnect 0x00044144, REJECT,NOANSWER,UNREACHABLE,OUTOFORDER,DONOTDISTURB
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesWrongNumber 0x00002480, BADADDRESS,INCOMPATIBLE,NUMBERCHANGED
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesError 0x000b9a18, PICKUP,FORWARDED,CONGESTION,UNAVAIL,NODIALTONE,TEMPFAILURE,QOSUNAVAIL,BLOCKED,CANCELLED

Zur Sicherheit, dass die Einstellungen, bzw. Änderungen korrekt sind, wird zusätzlich eine Kontrollzeile mit ausgegeben, die im Normalfall so aussieht:

11:45:29:55 Tapi::CTapiControl::CheckDisconnectModesSetting Covered=0x000fffff

Bei Fehlern zeigt diese Zeile Probleme mit einer Doppel- oder Falschbelegung an.

Wir bitten darum, dass Änderungen an diesen Einstellungen nur in enger Absprache mit der Hotline durchgeführt werden, da hier Fehler fatale Folgen haben können. Auf eine detaillierte Beschreibung wie diese Werte aufgebaut werden müssen, wird deshalb an dieser Stelle verzichtet.

 

2019-06-21 10:55
Martin Richter

Verwendung des Schalters "Falsche Telefonnummer" in der Telefonleiste.

Problembeschreibung: 

Es gibt viele TAPITreiber, die "falsche" Telefonnummern nicht korrekt erkennen. Die meisten dieser fehlerhaften TSPs beenden das Gespräch sofort mit "Besetzt".

Nur ca. 2% dieser fehlerhaften TSPs haben eine weitere Fehlfunktion: Sie stellen die Ansage wie "Falsche Rufnummer" zum Agenten durch. D.h. die Ansage wird durchgestellt. Das Telefonat aber nicht beendet und so wie ein erfolgreiches Telefonat behandelt. (Vergleichbar einem Ruf zu einem Anrufbeantworter)

Die eigentliche Lösung ist in der Installation eines korrekten TSP zu suchen:

Wenden Sie ich an Ihren Hersteller Ihres TSPs und verlangen eine entsprechende Korrektur bzw. ein Update der Software.
Weiterhin gibt es natürlich die Möglichkeit, eine TK-Anlage mit korrekt funktionierende TAPI-Treiber einzusetzen oder eine andere CTI-Middleware. Gerne unterstützen wir Sie bei der Beratung oder Auswahl.  

Lösungsmöglichkeit für die TSPs die eine Ansage durchstellen und bei der keine TSP-Version existiert die falsche Rufnummern korrekt behandelt: 

Sie können in der Oberflächen einen Schalter aktivieren, den der Anwender anklicken kann, wenn dieser Fall eintritt. (Falsche Rufnummer)

ACHTUNG: Es ist dem Agenten möglich, über diesen Schalter Telefonate abzulehnen und als "Falsche Telefonnummer" einzustellen. Gegen diesen Missbrauch gibt es keinerlei Kontrollmöglichkeit.

Historische Entwicklung:

Dieser Schalter war bis zur Version 1.10.003 in der Anwendung AG-VIP SQL vorhanden und wurde von uns wegen technischer Probleme aus dem Produkt entfernt.

Ab der Version 1.20.011.434 steht Ihnen diese Funktionalität wieder zur Verfügung.

Aktivierung des Schalters: 

Der Schalter kann entweder in der AGVIP.INI für alle Benutzer oder in der Registry über den Eintrag eines Schlüssels aktiviert werden.

Einschalten über die AGVIP.INI:
Man öffnet die relevante AGVIP.INI Datei über einen Editor. Im Abschnitt [TAPI] wird der folgende Eintrag ergänzt:

[Tapi]
Phone_AllowButtonWrongNumber=1

Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.
Existiert kein Abschnitt mit dem Namen [TAPI], so kann dieser am Ende der INI Datei angelegt werden.

Einschalten über die Registry:
Im Registry-Editor wird im Abschnitt
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\
Ein Unterschlüssel TAPI angelegt. In diesem wiederum ein Abschnitt PhoneFunctions
In diesem Abschnitt wird nun ein neuer DWORD Eintrag erzeugt mit dem Namen AllowButtonWrongNumber. Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.

Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben -  wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind. 

Bekannte Probleme:

Unter Umständen kann es beim Einschalten dieser Option auf einzelnen Arbeitsstationen zu einer falschen Anzeige der Schalterleiste für Telefonate kommen. Es ist möglich, dass der Schalter beim ersten Start nicht korrekt angezeigt wird. Dies kann auch jeden Arbeitsmodus einzeln betreffen (Adressentabelle, Projektmodus, Workflow, Skript).
Durch ein zurücksetzen der Schalterleiste kann dies behoben werden. Dies geschieht durch einen Rechtsklick auf die Schalterleiste Anpassen -> Symbolleisten -> Markieren von Anruf -> Zurücksetzen oder durch Klicken auf ?Alle Zurücksetzen?.
Dieses Problem kann auf einzelnen Rechner auftreten und nicht vermieden werden. Es kann auch nach einem Update auftreten. Hängt aber nur direkt mit diesem neuen Schalter zusammen.
Es tritt nur einmalig auf.

Detailierter technischer Hintergrund:

Funktionsweise:
In der Anwahlphase (Status Amt verfügbar - DIALTONE, Ruf erfolgt - DIALING, oder Ruf geht durch - RINGBACK) kann mit diesem Schalter sofort der Status ?Falsche Telefonnummer? erzeugt werden.  Einer dieser Anrufstatis muss gemeldet werden.
Der Abbruch ist sowohl in der freien Anwahl, als auch im Workflow möglich. Der Effekt ist identisch zu der Vorgehensweise, wenn der TSP (Tapi-Service-Provider) eine falsche Telefonnummer meldet (Disconnect Reason BADADDRESS).
Der Anruf wird sofort beendet. Es erfolgt eine neue Anwahl.

Einschränkung:
Dieser Schalter nützt nichts, wenn durch einen TSP, direkt Besetzt (BUSY) gemeldet wird, wenn eine falsche Telefonnummer erkannt wird.
Diese Funktion hat also nur eine Wirkungsweise, wenn eine Ansage erfolgt, aber das Telefonat selbst weder mit einem CONNECT noch durch einen DISCONNECT beendet wird. Nur in diesem Fall hat der Benutzer auch nur eine Chance den Schalter anzuklicken.
Wird der Schalter nicht angeklickt würde sonst das Telefonat nach der Wartezeit als ?Nicher erreicht? (NOCONNECT) bewertet.

Weitere Informationen: 

Welche Fehler bzw. Probleme hier auftreten, lässt sich ohne Probleme über einen Tapi-Trace ermitteln.
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=36&artlang=de

2015-08-18 08:28
Ulrich Sticker

Interne Einstellungen der TAPI-Funktionen in AG-VIP SQL

Einige Funktionen der Telefonie in AG-VIP SQL können angepasst werden. Diese Schalter dienen dazu bestimmte Funktionalitäten ein- bzw. auszuschalten, oder das Verhalten von AG-VIP SQL zu verändern.
In den meisten Fällen ist dies nur notwendig, wenn die TAPI-Treiber bzw. TSP (Telephony Service Provider), vom Standard abweichen oder Fehlverhalten aufweisen. In einigen dieser Fälle können über die hier vorgestellten Schalter Anpassungen vorgenommen werden.

Die hier angegebenen Schalter sollten nur angewendet werden, wenn dies mit dem Support abgesprochen wurde!!!

Die Schalter können entweder in der AGVIP.INI für alle Benutzer abgelegt werden, oder in der Registry über den Eintrag eines Schlüssels aktiviert werden, die dann nur für diese Maschine gelten. Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben damit - wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind.
Änderungen an den Standardeinstellungen werden auch im TAPI-TRace mit aufgezeichnet!

Phone Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix Phone_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\Phone
AllowButtonWrongNumber (Standardwert 0) ab Version 1.20.009.422

Eine Erklärung dieses Schalters findet sich in dem Artikel:
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=125&artlang=de

AllowConsultantCall (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich über die R-Taste eine Rückfrage einzuleiten, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so können keine Rückfragen über die R-Taste ausgeführt werden auch wenn der TSP diese Funktion unterstützt.

AllowConferenceCall (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich nach einleiten einer Rückfrage eine Telefonkonferenz zu beginnen, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so können keine Telefonkonferenzen ausgeführt werden auch wenn der TSP diese Funktion unterstützt.

AllowSwapHold (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich nach einleiten einer Rückfrage zwischen dem gehaltenen Telefonat und dem aktiven Telefonat zu makeln, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so ist das Makeln nicht möglich auch wenn der TSP diese Funktion unterstützt.

AllowSearchForSecondCall (Standardwert 0) ab Version 1.50.001.728

Ist dieser Wert ungleich 0, wird auch bei einem aktiven Telefonat eine globale Suche angestoßen, wenn ein zweiter Call durch die TAPI gemeldet wird. Dies war der Standard bis zur Version 1.44.000.686. Dies wurde aber als Fehlverhalten angesehen weil, die globale Suche zum aktuellen Telefenat dadurch vernichtet wurde. Über diesen Schalter kann nun das alte Verhalten wieder hergestellt werden.
Grundsätzlich ist dies aber Abhängig vom TAPI Treiber, ob dieser bei einem Verbundenen Telefonat ein anklopfen zulässt.

Miscellaneous Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix MiscSetting_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\MiscSetting
CallDelay (Standardwert 0msec) ab Version 1.21.000.446

Über diesen Wert kann eine Verzögerung zwischen Telefonaten erzwungen werden. Der Wert hier gibt die Anzahl von Millisekunden an, die nach dem Idle, des letzten Telefonates bis zum Beginn des nächsten Telefonates mindestens vergehen müssen.
Der Wert kann hier zwischen 0 Millisekunden und 2000 Millisekunden gewählt werden. Beachten Sie, dass AG-VIP SQL im Workflow eine Mindestverzögerung von 100msec aus technischen Gründen automatisch vorsieht, auch wenn hier ein Wert von 0 eingetragen wird.

InboundEventDelay (Standardwert 250msec) ab Version 1.40.001.523

Wenn ein eingehendes Telefonat ankommt, kann mit diesem Wert der Start der Suche einer Adresse verzögert werden. In dem Moment in dem der Ruf über den TSP signalisiert wird ist evtl. die rufende Nummer noch nicht bekannt. Diese kommt evtl. mit einer späteren Statusmeldung. Der Wert in Millisekunden gibt an, wie lange AG-VIP SQL warten soll bis die Suche gestartet wird.

InboundUseOnlyDigits (Standardwert=0) ab Version 1.43.002.641

Wird dieser Wert auf 1 gesetzt wird bei einem eingehenden Telefonat alle nicht numerischen Zeichen aus der rufenden Nummer entfernt. Manche TSPs liefern auchBuchstaben kombinationen was allerdings sehr selten ist. Grundsätzlich hat AG-VIPÜ SQL mit solchen Nummern kein Problem.

LineSetupTransferOnlyWaitForDialtone (Standardwert=0) ab Version 1.43.002.641

Bei dem Aufbau einer Rückfrage werden bei manchen TK-Anlagen der aktuelle Call nicht sofort auf OnHoldPendingTransfer gestellt.  Üblicherweise wartet AG-VIP SQL mit der Anwahl der Rückfrage bis der neue Ruf sich im status Dialtone befindet und der aktuelle Ruf gehalten wird. (OnHoldPendingTransfer). Wird dieser Wert auf 1 gesetzt wartet AG-VIP SQL nur auf den Wählton der aufzubauenden Verbindung. Das aktuelle Telefonat muss noch nicht gehalten sein. (Dieser Schalter ist zum Beispiel bei Mitel/AAstra Anlagen notwendig).

OutboundDialOnlyDigits (Standardwert=0) ab Version 1.43.002.641

Wird dieser Wert auf 1 gesetzt wird vor der Anwahl alle nicht numerischen Zeichen (außer # und *) aus der zu rufenden Nummer entfernt. Bei der Nummernaufbereitung ist es möglich das auch Buchstaben im Wählstzring erscheinen. Manche TSPs kommen damit nicht zurecht.

PreferCalledIDtoRedirectingID (Standardwert=0) ab Version 1.43.003.653

Für die Ermittlung der gerufenen Nummer werden normalerweise die Felder RedirectingID und CalledID verwendet. In dieser Reihenfolge. Bevorzugt wird also normalerweise der Inhalt des Feldes RedirectingID wird also hier ein Wert zurückgegeben wird der Wert in CalledID ignoriert. Das Feld CalledID wird nur verwendet wenn RedirectingID leer bleibt.

Wird der Schalter PreferCalledIDtoRedirectingID auf 1 gesetzt, wird zuerst das Feld CalledID ausgewertet und erst dann das Feld RedirectingID.

SwapCallerAndCalledID (Standardwert=0)

Ist dieser Wert 1, dann werden die Informationen CallerID (CLIP), und CalledID (gerufene Nummer) des Telefonates getauscht. Wird der Wert auf 1 gesetzt bedeutet dies, dass die gerufene (i.a.W. eigene Telefonnummer) wird als Datensatz in AG_VIP SQL gesucht wird.
Warnung: Änderungen hier können zu Fehlfunktionen in AG-VIP SQL führen. Änderungen dürfen nur in Absprache mit dem Support durchgeführt werden.

 

DisconnectMode Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix DisconnectMode_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes
Busy (Standardwert 0x00000021)
NoConnect (Standardwert 0x00044144)
WrongNumber (Standardwert 0x00002480)
Error (Standardwert 0x000b9a1a)
AnsweringMachine(Standardwert 0x00000000)

Eine Erklärunng der entsprechenden Einträge findet sich in dem separaten Artikel:
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=83&artlang=de
Warnung: Änderungen hier können zu Fehlfunktionen in AG-VIP SQL führen. Änderungen dürfen nur in Absprache mit dem Support durchgeführt werden.

Beispiel:

AGVIP.INI 

Nachfolgend ein Beispiel für Auschnitt aus der INI Datei, der die Standardwerte darstellt, die gelten, wenn keine Einträge gemacht werden.

[Tapi]
; Phone features in the UI
Phone_AllowButtonWrongNumber=0
Phone_AllowConsultantCall=1
Phone_AllowConferenceCall=1
Phone_AllowSwapHold=1
Phone_AllowSearchForSecond_Call=0

; Miscellaneous settings
MiscSetting_InboundEventDelay=250
MiscSetting_InboundUseOnlyDigits=0
MiscSetting_LineSetupTransferOnlyWaitForDialtone=0
MiscSetting_CallDelay=0
MiscSetting_OutboundDialOnlyDigits=0
MiscSetting_PreferCalledIDtoRedirectingID=0
MiscSetting_SwapCallerAndCalledID=0

; Disconnect mode settings
DisconnectMode_Busy=0x00000021
DisconnectMode_NoConnect=0x00044144
DisconnectMode_WrongNumber=0x00002480
DisconnectMode_Error=0x000b9a1a
DisconnectMode_AnsweringMachine=0x00000000

Registry: 

Nachfolgen ein Export einer REG-Datei mit den Standardeinstellungen. Sind keine Einstellungen vorhanden gelten diese Standardeinstellungen:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi]

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\PhoneFunctions]
"AllowButtonWrongNumber"=dword:00000000
"AllowConsultantCall"=dword:00000001
"AllowConferenceCall"=dword:00000001
"AllowSwapHold"=dword:00000001
"AllowSearchForSecondCall"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\MiscSetting]
"CallDelay"=dword:00000000
"InboundEventDelay"=dword:0000000FA
"InboundUseOnlyDigits"=dword:00000000
"LineSetupTransferOnlyWaitForDialtone"=dword:00000000
"OutboundDialOnlyDigits"=dword:00000000
"PreferCalledIDtoRedirectingID"=dword:00000000
"SwapCallerAndCalledID"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes]
"Busy"=dword:00000021
"NoConnect"=dword:00044144
"WrongNumber"=dword:00002480
"Error"=dword:000b9a1a
"AnsweringMachine"=dword:00000000

2017-02-28 14:59
Martin Richter

Anpassung des Formates der Felder AdresseStraße / AddressStreet und AdressePostfach / AddressPOBox

Die vorformatierten Felder Adresse Straße / AddressStreet und Adresse Postfach / AddressPOBox werden für das Kopieren einer Adresse in die Zwischenablage, für den Etikettendruck und für den Datenexport verwendet.

Adresse Straße ist dabei die postalisch korrekt formatierte Adresse für das Zielland. Bevorzugt wird hier die Straßenanschrift ausgegeben. Ist nur eine Postfachanschrift vorhanden und keine Straßenanschrift, wird automatisch die Postfachanschrift verwendet. Eine Straßenanschrift gilt als vorhanden wenn das Feld Ort / City gefüllt ist.

Adresse Postfach ist dabei die postalisch korrekt formatierte Adresse für das Zielland. Bevorzugt wird hier die Postfachanschrift ausgegeben. Ist nur eine Straßenanschrift vorhanden und keine Postfachanschrift, wird automatisch die Straßenanschrift verwendet. Eine Postfachanschrift gilt als vorhanden wenn das Feld Postfach Ort / POBoxCity gefüllt ist.

Dennoch kommt es immer wieder zu speziellen wünschen wie das Adressfeld formatiert werden soll, bzw. welche Felder verwendet werden sollen.

Grundsätzlich bestehen diese Adressenfelder aus zwei Teilen. Einem Namensblock und einem Anschriften Block. Der Anschriftenblock wird je nach Zielland und gemäß den Postspezifikationen formatiert. Dabei kann der Anschriftenblock auch über dem Namensblock stehen.

Das Format des Namensblocks ist üblicherweise:
Name1*Name2*Name3*Abteilung*Funktion*Anrede Titel Vorname Nachname

Es gibt zusätzlich eine Personifizierung über das logische Feld Personifizierung. Ist dieser Schalter gesetzt werden die Namenszeilen unter den Vornamen und Nachnamen gesetzt. Nach Postrecht gilt dann der Empfänger mit diesem Namen als persönlicher Empfänger. Die Sendung muss also als privat und persönlich übermittelt werden.
Bei Verwendung dieser Option wird der Adressblock wie folgt aufgebaut:
Funktion*Anrede Titel Vorname Nachname*Name1*Name2*Name3*Abteilung

Zum Syntax siehe weiter unten.

Soll nun von dem Aufbau des Namensblockes geändert werden dann kann dies über die AGVIP.INI Datei im Programmverzeichnis geschehen.
Dabei wird in der AGVIP.INI ein entsprechender Abschnitt eingefügt.

[AddressLayout]
; Leerzeichen ist ein Leerzeichen.
; * = Weiche Zeilenschaltung (leere Zeilen werden entfernt)
; # = Harte Zeilenschaltung, es wird auch bei leerem Feld/Zeileninhalt eine Zeile ausgegeben
Normal=Name1*Name2*Name3*Department*Function*NameSalutation NameTitle NameFirst NameLast
Swapped=Function*NameSalutation NameTitle NameFirst NameLast*Name1*Name2*Name3*Department

[AddressLayout-Kunden]
Normal=Name1*Name2*Name3*Department*NameSalutation NameTitle*NameFirst NameLast
Swapped=NameSalutation NameTitle*NameFirst NameLast*Name1*Name2*Name3*Department


Dabei kann für jede Adressentabelle ein eigenes Layout definiert werden. Dazu muss ein Abschnitt mit dem Namen [AddressLayout-<Name der Adressentabelle>] eingefügt werden. Ist kein solcher Abschnitt für die verwendete Adressentabelle vorhanden, dann wird der Abschnitt [AddressLayout] verwendet. Je nach Art der Anschrift (Personifiziert oder nicht), wird der Eintrag Normal oder Swapped verwendet. Als Namen können alle internen Feldnamen verwendet werden die in der Adressentabelle vorhanden sind. Der Inhalt wird immer als Text interpretiert.

Es gelten folgende Symbole und Regeln:

  • * weiche Zeichenschaltung. D.h. Ist bisher die Zeile leer wird keine Zeile in den Text eingefügt
  • # Es wird immer eine Zeilenschaltung eingefügt, auch wenn der Text der Zeile bisher leer ist.
  • @ Durch ein vor- oder nachgestelltes @ Zeichen ist es Möglich bei Kennzeichen den voll ausgeschriebenen Kennzeichentext bzw. den kompletten Benutzernamen anstatt eines Kürzels zu erhalten. Bei Feldern, die dies nicht unterstützen wird das @ Zeichen ignoriert.
  • Leerzeichen werden als Leerzeichen übernommen.
  • Sonstige Texte werden als Feldnamen interpretiert. Ist ein Feld nicht vorhanden so wird diese Formatierungsanweisung ignoriert.
  • Fehlt ein Definition Normal oder Swapped in der INI Datei, oder sind die Felder leer, wird der Standard verwendet.
  • Gibt es keine passenden Abschnitte in der INI Datei dann wird der Standard verwendet.

Das obige Beispiel, definiert für die Adressentabelle Kunden eine abweichende Regel. Das Feld Funktion wird hier nicht verwendet und in der Adresse ausgegeben. Zusätzlich werden die Zeilen Anrede und Titel in eine eigene Zeile über Vorname und Nachname gesetzt. Sind die beiden Felder Anrede und Titel leer wird keine Leerzeile ausgegeben, gleiches gilt für die Zeilen Name1, Name2, Name3.

Für andere Adressentabellen gilt das Format das unter [AddressLayout] definiert wurde. Hier ist das Standardformat hinterlegt.

Verfügbar ist diese Funktion ab der Version AG-VIP SQL 1.40.001.526 (1.40.001.526 = Hotfix 1 bzw. Installations-CDs ab dem 29.04.2012, bzw. Update-Downloads ab dem 29.04.2013)

2018-10-17 07:37
Martin Richter

Begrenzung der SQL Server Last bei Statistikupdates

Wir beobachten bei bestimmten SQL Statements in den Statistikupdates eine extrem hohe Serverlast. Speziell wird diese erzeugt wenn Datensatzbenutzerrechte verwendet werden und eine hohe Anzahl von Benutzern und Datensätze vorhanden ist.

In diesem Statement wird für jedes Paar Adresse-Benutzer ein Eintrag erzeugt. Nur mit dieser Tabelle ist es möglich die exakten Zahlen anzuzeigen, wie viele Tickets je Agent und Stufe zur Bearbeitung zur Verfügung stehen.

Zwei Statements erzeugen dabei eine sehr hohe Prozessorlast. Da es sich um einen Hintergrundprozess handelt, ist eine "schnelle" Ausführung eigentlich nicht zwingend. Vor allem solten andere Prozesse nicht darunter leiden. Zu beobachten ist jedoch, dass die Prozessorlast des SQL Servers hier auf 100% ansteigt.

Lösung:

In der Verbindungsdatei (AGDB Datei) wurde ein neuer Abschnitt eingebaut mit einem neuen Eintrag:

[BackgroundWorkerOptions]
MaxDOP=50


MaxDOP gibt dabei den "Maximum Degree of Parallelism" an. Damit kann ein Prozentwert angegeben werden, der angibt wieviel Prozent der zur Verfügung stehenden Prozessoren für die entsprechenden SQL Statements zur Verfügung stehen sollen. 50 gibt also an, dass die hälfte der Prozessoeren verwendet werden dürfen. Es wird kaufmänisch gerundet.  Jeder Wert zwischen 1 und 100 kann verwendet werden. Liegen die Werte außerhalb werden alle Prozessoren verwendet.
Gleiches gilt wenn kein Eintrag vorhanden ist.

Die Verwendung einer Begrenzung führt zwar dazu, dass die Erzeugung der Statistik etwas länger dauert, behindert dafür aber andere SQL-Queries weniger.
Dieses Statement hat nur Auswirkungen auf ausgewählte SQL Statements in den Hintergrundprozessen, die statistische Daten erzeugen. Allgemein werden Abfragen und Suchen nicht durch diesen Parameter beeinflusst.

2016-03-23 16:33
Martin Richter

Einstellungen und Parameter in der AGVIP.AGDB

In der Verbindungsdatein werden primär die Zugangsdaten zur SQL Datenbank hinterlegt.

Zusätzlich können über die Verbindungsdatei von AG-VIP SQL weitere Parameter mit gesetzt werden, die sie Performance und das Verhalten von Hintergrundprozessen und auch die Ausführung von SQL Statements kontrollieren.

Insbesondere die Aktualisierung der Statistiken im Hintergrund und auch das Verhalten der Hintergrundprozesse werden durch diese Einstellungen beeinflusst.

Aktualisierung der Statistiken (Abschnitt [DisableBackgroundWorker])

Um die Aktualisierung der Statistiken in bestimmten Zeitabschnitten auszusetzen, kann für jeden Wochentag (Montag=1, Dienstag=2, ... Sonntag=7), ein Eintrag in der AGDB Datei erzeugt werden gefolgt von zwei Uhrzeiteinträgen.

Ist Zeit1<Zeit2, dann wird für die Zeit von Zeit1<JETZT und JETZT<Zeit2 kein Statistikupdate druchgeführt.
Ist Zeit1>Zeit2, dann wird für die Zeit von Zeit1<JETZT oder JETZT<Zeit2 kein Statistikupdate druchgeführt.

Beispiel:

[DisableBackgroundWorker]
; Mo=1, Tu=2, ... Su=7
; Time1 separator Time2 (Separator is ;.,/ or blank)
; Time1<Time2	The time inbetween time1 and time2 ist disabled.
; Time1>Time2	Any time before Time2 and after Time1 is disabled.
2=17:00 20:00
3=20:00 06:00

In diesem Beispiel wird am Dienstag zwischen 17:00 und 20:00 kein Statistikupdate ausgeführt. Sowie am Mittwoch vor 06:00 Uhr und nach 20:00 Uhr. 

Begrenzung der CPU Nutzung für das Statistikupdate (Abschnitt [BackgroundWorkerOptions])

Der SQL Server versucht Statements so schnell wie möglich auszuführen. Dazu werden auch mehr als ein Prozessor verwendet, wenn diese verfügbar und frei sind.

Unter Umständen führt das aber nicht zu einer schnelleren Bearbeitung, weil ein komplexer Statistikupdate Prozess evtl. alle CPUs belegt. Dadurch werden weitere Anfragen an den SQL Server blockiert bis alle CPUs Ihre Arbeit erledigt haben. Durch den Eintrag MaxDOP (Maximum Degree of Parallism), kann die maximale Nutzung der CPUs eingeschränkt werden. Der Wert gibt die Anzahl der CPUs in Prozent an (Werte zwischen 1 und 100). Die Berechnung erfolg mit kaufmännischer Rundung und garantiert, dass im Minimum eine CPU eingesetzt wird.
Wenn dieser Wert auf Empfehlung des Supports eingerichtet wird, ist meistens ein Wert von 50% ratsam.

Beispiel:

[BackgroundWorkerOptions]
MaxDOP=50

 

Begrenzung und Kontrolle von Hintergrundprozessen (Abschnitt [JobSchedulerOptions])

Wenn sehr viele Hintergrundprozesse definiert sind, kann dies auf Servern schnell zu einem Ressourcen Problem werden. Je Hintergrundprozess werden im Minimum 13 Threads und damit ca. 13MB virtueller Speicher benutzt. Da die Jobagents im 32bit Adressraum ablaufen ist nach ca. 130 Prozessen der maximale Speicher aufgebraucht, auch wenn theoretisch noch mehr physikalischer Speicher zur Verfügung steht.

Die maximale Anzahl der Hintergrundprozesse wird durch den Eintrag MaxRunningJobs begrenzt. Sind bereits diese Anzahl an Hintergrundprozessen gestartet, werden keine weiteren Prozesse gestartet, bis einer der Prozesse endet.
Ist dieser Wert in der AGDB Datei nicht angegeben, gilt ein Maximum von 50 Prozessen.

Der gleichzeitige Start von vielen Hintergrundprozessen kann auch für den SQL Server ein Problem darstellen, wenn er auf einmal mit sehr vielen Anfragen zum Öffnen von SQL Verbindungen geflutet wird. Mit dem Eintrag StartJobDelay kann der Start einzelner Hintergrundprozesse verzögert werden. StartJobDelay gibt dabei die Anzahl von Millisekunden an, die vergehen müssen bis ein neuer Hintergrundprozess gestartet werden darf.
Ist derr Wert in der AGDB Datei nicht angegeben gilt eine Verzögerung von 500msec. D.h. in einer Sekunde dürfen maximal 2 Prozesse neu gestartet werden. Werden also 20 Prozesse fällig, wird der Start der Prozesse über die nächsten 10 Sekunden verteilt. 

[JobSchedulerOptions]
; Standardvalues
MaxRunningJobs=50
StartJobDelay=500

 

 

2016-03-23 16:31
Martin Richter

Intern

Zur Kategorie

Standard Hintergrundprozess Datenimport

Der Importer Hintergrundprozess kann als Template dienen für Importabläufe, die regelmässig stattfinden müssen.

Variablen zur Steuuerung

Im Kopf des Makros befinden sich Variablen mit denen der Ablauf und das Verhalten des Hintergrundprozesses gesetuert werden können.

Alle Variablen werden im Makro beschrieben.

Anpassung für Dateiformate

Für das EIngabedateiformat muss eine spezielle File Klasse verwendet werden. Aktuell befinden sich drei File-Klassen in dem Beispiel. Je nach Format und Trennzeichen muss hier eine Anpassung erfolgen.

Spezielle Filer und Anpassungen je Feld

Für bestimmte Felder ist es evtl. notwendig eine Konvertierung einzubauen. In dem Beispiel erfolgt dies für den Ländercode. Auch hier muss manuell entsprechend den Eingabedaten eine Anpsasung erfolgen.

 

2019-07-17 10:37
Martin Richter

Anzeige einer Ansicht begrenzen auf eine bestimmte Gruppe von Nutzern

Dir Rechterverwaltung erlaubt zwar detailierte Einschränkungen, aber dennoch ist es manchmal sinnvoll, dass bestimmte Ansichten nur von einem bestimmten Nutzerkreis angezeigt werden dürfen.

Das betrifft hier natürlich nur Ansichten im freien Arbeiten. Ansichjten im Workflow werden zentral gesteurt.

Der nachflogende Makro kann als OnOpen-Makros in einer Ansicht angelegt werden. Er begrenzt die Ausführung des OnOpen-Makros generell auf Mitglieder der Gruppen "Vertrieb" und "Büro". D.h. nur wer Mitglied einer dieser Gruppen ist, kann diesen Makro auch ausführen. Andere Nutzer erhalten eine Fehlermeldung.

Option Explicit

Dim oGroup, bInGroup
bInGroup = false
For Each oGroup In Application.ActiveUser.Groups     
    If oGroup.Name="Vertrieb" Or oGroup.Name="Büro" Then
        bInGroup = true
        Exit For
    End If
Next

If Not bInGroup Then
      MsgBox "Sie haben keine Berechtigung für diese Aktion!"
      CurrentForm.Visible = false
End If

 

2015-12-16 13:12
Martin Richter

Tutorials

Zur Kategorie

Daten in CRM Software AG-VIP SQL importieren

Der folgende Artikel beschäftigt sich mit dem Vorgang des Datenimports aus Textdateien mithilfe des Importassistenten in AG-VIP SQL.

  • Der Importassistent in AG-VIP SQL lässt sich über den Ribbon Import starten.
  • Anschließend wählen Sie das Dateiformat der Quelldatei aus und geben den Dateipfad zur Quelldatei an.
  • Bereits konfigurierte Importfilter finden Sie unter dem Schalter Laden.

 

Im nächsten Fenster können Sie nun auswählen, in welche Tabelle die Daten importiert werden sollen.

  • Sie können Kontakte in eine Adresstabelle oder Verkaufschancen in eine CRM-Tabelle importieren. Zusatzinformationen wie Bestellungen oder Umsätze zu Adressen übernehmen Sie in eine Zusatztabelle.

 

Im nächsten Schritt wird die Feldzuordnung vorgenommen.

  • In der linken Spalte sehen Sie alle bereits angelegten Felder in alphabetischer Reihenfolge.
  • Die rechte Spalte zeigt Ihnen alle Felder der Quelldatei an.
  • Über den Schalter Auto lassen sich alle Felder automatisch anhand des Namens zuordnen.
  • Alle weiteren Felder werden nun manuell zugeordnet, indem Sie diese auf beiden Seiten markieren und auf den Schalter Zuordnen klicken.
  • Über den Schalter Text lassen sich beliebig statische Texte zuordnen.
  • Falls ein Feld noch nicht angelegt wurde, können Sie dies über den Schalter Neues Feld nachholen.

 

Im letzten Schritt können weitere Optionen ausgewählt werden.

  • Wählen Sie die Option Ersten Datensatz überspringen, da sich in der ersten Zeile der Quelldatei nur die Überschriften befinden.
  • Wenn sehr lange Firmennamen auf mehrere Felder verteilt werden sollen, wählen Sie Automatischer Überlauf für die Felder Name1 bis Name3.
  • Mit der dritten Option können Postleitzahl und Ort automatisch getrennt werden.
  • Um doppelte Datensätze zu vermeiden, wählen Sie den Importmodus Neue Datensätze und Änderungen aus und geben die Felder an, über die die Datensätze abgeglichen werden sollen.

2016-04-04 13:17
Lukas Hölzer

Administrative Aufgaben in AG-VIP SQL

Der folgende Artikel beschäftigt sich mit dem Umgang der Vorlagen für administrative Aufgaben in AG-VIP SQL.

 

Häufig ist es notwendig, die gleichen administrativen Aufgaben in der CRM-Software auszuführen. Um die notwendigen Schritte nicht zu vergessen, gibt es die administrativen Aufgaben als interaktive Schritt-für-Schritt-Anleitung in AG-VIP SQL.

  • Im Bereich der Administration gibt es die Vorlagen für administrative Aufgaben.
  • Diese Vorlagen kann man exportieren und bereits vorgefertigte importieren.
  • Sie können den Titel und die Beschreibung der Vorlage anpassen und die einzelnen Teilaufgaben bearbeiten.
  • Eine Teilaufgabe besteht ebenso aus einem Titel und einer Beschreibung.
  • Dieser lässt sich weiterhin eine Datei und eine Aktion hinzufügen. Die Aktion führt den Anwender direkt in den Bereich, in dem etwas zu tun ist.

 

Aus Sicht des Anwenders finden Sie die administrativen Aufgaben unter dem Ribbon Andere Fenster.

  • Über den Schalter Neue administrative Aufgabe können Sie aus den bestehenden Vorlagen nun eine konkrete Vorlage auswählen.
  • Der Titel und die Beschreibung lässt sich beliebig verändern.
  • Ist die Aufgabe erledigt, kann diese als erledigt markiert werden. Daraufhin wird diese ausgeblendet.

2016-04-06 10:21
Lukas Hölzer

Dublettencheck: Doppelte Adressen finden

Der folgende Artikel beschäftigt sich mit dem Auffinden von doppelten Adressen in AG-VIP SQL.

Doppelte Adressen können in AG-VIP SQL einfach gefunden werden. Klicken Sie hierzu unter dem Reiter Sonstiges auf Doppelte Adressen suchen.

Sie können zwischen vier verschiedenen Abgleichmodi wählen:

1. Abgleich über identische Adresse und nach phonetischen Kriterien

  • Das Änderungsdatum ermöglicht die Reduzierung der zu betrachtenden Daten.
  • Die Worttrefferquote gibt an, wie viel Prozent der Silben phonetisch identisch sein müssen, damit eine Dublette gefunden wird.
  • Weitere Felder, wie "Abteilung" oder "Vorname" und "Nachname", lassen sich neben dem Firmennamen in den Abgleich miteinbeziehen.
  • Entscheiden Sie nun, ob alle oder nur doppelte Adressen angezeigt werden sollen.
  • In der Trefferliste stehen anschließend doppelte Adressdatensätze untereinander.
  • Über Anzeige anpassen lassen sich weitere Spalten einblenden. Diese können Sie per Drag & Drop auswählen.

2. Abgleich über gleiche Telefonnummer

  • Wählen Sie für den Datenabgleich relevante Felder vom Typ Telefon aus.
  • Nun sucht AG-VIP SQL nach doppelten Datensätzen anhand der Telefonnummer.

3. Abgleich über gleiche Emailadresse

  • Wählen Sie für den Datenabgleich relevante Felder vom Typ Email aus.

4. Abgleich über gleichen Feldinhalt

  • Wählen Sie hier ein beliebiges Feld für den Datenabgleich aus.

2016-04-04 16:02
Lukas Hölzer

Email auf Knopfdruck aus AG-VIP SQL erzeugen

Der folgende Artikel beschäftigt sich mit dem automatischen Erzeugen von Emails aus AG-VIP SQL.

In AG-VIP SQL ist es möglich, automatisch Emails in Outlook zu erzeugen. Um eine Email anhand eines fertig erstellten Hilfsmittel zu erzeugen, wählen Sie dies unter dem Ribbon Hilfsmittel aus. Die Email wird dabei bereits personalisiert und die Anhänge werden ergänzt. Anschließend wird diese dem Anwender in Outlook angezeigt.

Wie erstellt man ein E-Mail Hilfsmittel für Outlook?

  • Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Hilfsmittel.
  • Falls noch kein E-Mail Hilfsmittel importiert wurde, können Sie sich das E-Mail Musterhilfsmittel unter folgendem Link herunterladen und in AG-VIP SQL importieren: E-Mail Hilfsmittel für MS-Outlook
  • Markieren Sie das importierte Hilfsmittel, machen Sie einen Rechtsklick und wählen Sie Kopieren.
  • Dann markieren Sie die Adresstabelle, in dessen Kontext Sie das E-Mail Hilfsmittel einfügen möchten. Machen Sie wieder einen rechten Mausklick und wählen Sie Einfügen.
  • Über den Schalter Ändern können Sie das Hilfsmittel nun bearbeiten.
  • Im Reiter Allgemein passen Sie nun den Titel des Hilfsmittels an und wählen unter Modus die gewünschte Ausführungsart.
  • Gehen Sie in den Reiter Hilfsmittel Vorlage und verknüpfen Sie dort Ihre Email-Vorlage als .oft-Datei. Sie können dazu jede beliebige Email verwenden. Um AG-VIP SQL mitzuteilen, welche Feldinhalte in die Email übernommen werden sollen, verwenden Sie als Platzhalter den internen Feldnamen, eingeschlossen in Prozentzeichen: %Name1%
  • Im Reiter Historie wählen Sie als gewünschten Kommunikationstyp "Email - ausgehend" und geben den gewünschten Protokolltext für die Kontakthistorie ein.

2016-04-05 08:56
Lukas Hölzer

Datenstruktur in AG-VIP SQL einfach erweitern

Der folgende Artikel beschäftigt sich mit dem Erweitern der Datenstruktur in AG-VIP SQL.

CRM-Systeme sind letztendlich Datenbanken. Die Struktur der Daten können Sie in AG-VIP SQL einfach verändern.
Die Grundlage der Datenstruktur wird dabei von einer sogenannten Adresstabelle gebildet. Hierin sind Ihre Kontakte gespeichert. Nutzen Sie die optionale Workflow-Engine, benötigen Sie die Workflow-Projekttabelle. Darin sind alle Informationen enthalten, die zur Steuerung eines Vorgangs notwendig sind. Sowohl unterhalb der Adresstabelle, als auch unterhalb der Workflow-Projekttabelle können Sie Zusatztabellen anlegen. Nutzen Sie die optionale CRM-Option, gibt es analog zur Workflow-Projekttabelle die CRM-Projekttabelle.
Damit Sie die Datenstruktur verändern können, benötigen Sie das administrative Recht "Verändern des Datenbank Layouts zulassen".

Um ein neues Feld in AG-VIP SQL anzulegen, gehen Sie wie folgt vor:

  • Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Adresstabellen.
  • Um eine neue Adresstabelle anzulegen, wählen Sie den Schalter Neue Tabelle.
  • Geben Sie anschließend den Namen der Adresstabelle an.
  • Links unten finden Sie den Schalter Neu. Über diesen können Sie neue Felder anlegen.
  • Geben Sie in der ersten Spalte des neuen Feldes den internen Feldnamen ein. Beachten Sie, dass dieser keine Leerzeichen enthalten und nicht mit einer Ziffer beginnen darf.
  • In der zweiten Spalte geben Sie den Namen des Feldes ein, wie er aus Sicht des Anwenders in der Oberfläche erscheinen soll.
  • Nun wählen Sie in der dritten Spalte den Typen des Datenfeldes aus.
  • Bei einem Feld des Typs "Text", können Sie in der vierten Spalte die Anzahl der maximal zulässigen Zeichen definieren.
  • Bei numerischen Eingabefeldern können Sie über die Spalte Skalierung die Anzahl der Nachkommastellen angeben.
  • Über die Spalte Vererbbar geben Sie an, ob bei Anlegen eines neuen Ansprechpartners in der grafischen Adresshierarchie der Feldinhalt übernommen werden soll.
  • Sie können in der Spalte Standardwert eine Vorbelegung des Inhalts hinterlegen.
  • Legen Sie nun über den Neu-Schalter weitere Felder an oder schließen Sie die Bearbeitung der Datenstruktur über den Schalter OK ab.

2016-04-05 10:02
Lukas Hölzer

Word-Hilfsmittel erstellen in AG-VIP SQL

Der folgende Artikel beschäftigt sich mit dem Einrichten von Word-Hilfsmitteln in AG-VIP SQL.

AG-VIP SQL verwaltet nicht nur effizient Kontakte, sondern erstellt für Sie auch Briefe, E-Mails oder Faxe. Dies funktioniert über VB-Script geschriebene Makros.

Wie funktioniert ein Hilfsmittel?

Man benötigt eine Vorlage. Diese wird mit sogenannten Platzhaltern versehen. Um das Hilfsmittel zu starten, muss AG-VIP SQL wissen, wo die Vorlage abgelegt wurde und wie diese heißt. Bei der Ausführung des Hilfsmittels wird die Vorlage kopiert und die Platzhalter werden mit dem Feldinhalt des aktuellen Datensatzes ersetzt. Nun wird das neue Dokument unter dem gewünschten Dateiablageort gespeichert.

Wie richtet man ein Hilfsmittel ein?

  • Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Hilfsmittel.
  • Falls noch kein Word Hilfsmittel importiert wurde, können Sie sich das Word Musterhilfsmittel unter folgendem Link herunterladen und in AG-VIP SQL importieren: Word Hilfsmittel
  • Markieren Sie das importierte Hilfsmittel, machen Sie einen Rechtsklick und wählen Sie Kopieren.
  • Dann markieren Sie die Adresstabelle, in dessen Kontext Sie das Word Hilfsmittel einfügen möchten. Machen Sie wieder einen rechten Mausklick und wählen Sie Einfügen.
  • Im Reiter Allgemein passen Sie nun den Titel des Hilfsmittels an und wählen unter Modus die gewünschte Ausführungsart.
  • Gehen Sie in den Reiter Hilfsmittel Vorlage und verknüpfen Sie dort Ihre Word-Vorlage als .doc-Datei. Um AG-VIP SQL mitzuteilen, welche Feldinhalte in das Dokument übernommen werden sollen, verwenden Sie als Platzhalter den internen Feldnamen in sogenannten Docvariablen. Markieren Sie über Strg + A alles im geöffneten Dokument und lassen Sie sich über Alt + F9 die Docvariablen anzeigen. Sie können nun beliebig weitere Docvariablen hinzufügen.
  • Geben Sie unter Zielverzeichnis den gewünschten Ablagepfad an.
  • Für den Zieldateinamen können Sie ebenso Platzhalter verwenden.
  • Im Reiter Historie wählen Sie als gewünschten Kommunikationstyp "Brief - ausgehend" und geben den gewünschten Protokolltext für die Kontakthistorie ein.

2016-04-05 11:29
Lukas Hölzer

Hilfsmittel importieren / exportieren - AG-VIP SQL

Der folgende Artikel beschäftigt sich mit dem Importieren und Exportieren von Hilfsmitteln in AG-VIP SQL.

Es ist möglich, bereits vorgefertigte Hilfsmittel in AG-VIP SQL zu importieren oder Hilfsmittel zu exportieren.

Sie finden Musterhilfsmittel unter folgendem Link: Musterhilfsmittel

Wie importiert man ein Hilfsmittel?

  • Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Hilfsmittel.
  • Markieren Sie nun die Adresstabelle, in dessen Kontext Sie das Hilfsmittel importieren möchten und wählen Sie den Schalter Import.
  • Wählen Sie das Hilfsmittel aus und drücken Sie den Schalter Öffnen.

Wie exportiert man ein Hilfsmittel?

  • Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Hilfsmittel.
  • Markieren Sie die zu exportierenden Hilfsmittel.
  • Wählen Sie rechts den Schalter Export und gehen Sie zum gewünschten Ablageort. Beachten Sie, dass hierbei die Vorlagen nicht mitexportiert werden.

2016-04-05 12:27
Lukas Hölzer

Daten einfach in AG-VIP SQL finden und auswerten

Der folgende Artikel beschäftigt sich mit dem Finden und Auswerten von Daten in AG-VIP SQL.

Die Grundlage eines guten CRM-Systems ist ein effektives Kontaktmanagement. Dazu gehört auch das schnelle Auffinden und Auswerten der Daten.

In AG-VIP SQL stehen Ihnen dazu zwei grundlegende Möglichkeiten zur Verfügung: Die Suchfunktion und die Auswertung.

Wie findet man Daten über die Suchfunktion?

  • Sie finden die Suchfunktion im Ribbon Standard oder über die Funktionstaste F4.
  • Die Suchfunktion sucht nach einem Stichwort oder Fragment in allen spezifischen Eingabefeldern dieses Typs.
  • Die Suchergebnisse können Sie im Suchergebnis 1 & 2 speichern, sodass man zwei Suchergebnisse parallel halten kann.

Wie findet man Daten über die Auswertung?

  • Sie finden die Auswertung im Ribbon Standard oder über die Tastenkombination Strg + Umschalt + F4.
  • Geben Sie bei Daten anzeigen aus Tabelle die Datentabelle an, aus der Sie die Daten auswerten möchten.
  • Wählen Sie nun ein Datenfeld aus und gehen Sie auf Ändern. Geben Sie den Feldinhalt ein, nachdem Sie suchen möchten. Sie haben die Möglichkeit verschiedene Optionen auszuwählen.
  • Sie können nun analog zum vorherigen Schritt weitere Felder der Auswertung hinzufügen.
  • Als Suchmodus können Sie auswählen, ob alle Kriterien in der Auswertung zutreffen müssen oder ob mindestens ein Kriterium zutreffen muss.
  • Das Ergebnis der Auswertung können Sie nun weiter verfeinen, indem Sie im Ausgabefenster auf das Fernglas klicken.
  • Nun können Sie auf Basis der bestehenden Treffer weiter filtern.
  • Anschließend wird Ihnen eine Trefferliste auf Basis der klassischen Mengenlehre angezeigt.
  • Die Ergebnisse können Sie exportieren, grafisch auswerten, ausdrucken, reduzieren oder erweitern.

2016-04-05 13:44
Lukas Hölzer

Wiedervorlagen filtern in AG-VIP SQL

Der folgende Artikel beschäftigt sich mit dem Filtern von Wiedervorlagen in AG-VIP SQL.

  • Sie finden die Wiedervorlagen über das Aktivitätenfenster im Ribbon Standard.
  • Als Standard sehen Sie die Wiedervorlagen des aktuellen Tages für den angemeldeten Benutzer.
  • Rechts finden Sie den Schalter Fällige Aktivitäten.
  • Sie können über diese Funktion nach einem beliebigen Stichwort filtern oder Sie können auch im Krankheits- oder Urlaubsfall alle fälligen Wiedervorlagen anderer Benutzer filtern.
  • Mit einem Doppelklick können Sie direkt den Datensatz öffnen.

2016-04-05 14:09
Lukas Hölzer

Kampagnenmanagement mit der Workflow-Projektverwaltung in AG-VIP SQL

Der folgende Artikel beschäftigt sich mit dem Einrichten von Kampagnen mit der Workflow-Projektverwaltung in AG-VIP SQL.

In AG-VIP SQL ist es möglich Kampagnen einfach und flexibel zu designen.

Bevor Sie mit dem grafischen Kampagnendesign beginnen, sollten Sie bereits die Datenstruktur und eine Workflow-Projekttabelle definiert haben. Ebenso sollten Sie eine Oberfläche angelegt und die notwendigen Hilfsmittel eingerichtet haben.

Wie lassen sich Workflows bearbeiten?

  • Klicken Sie im Arbeitsbereich Administration doppelt auf den Punkt Workflow-Projektverwaltung. Alle Kampagnen, auf die Sie Zugriff haben, erscheinen.
  • Wählen Sie die Workflow-Projekttabelle aus und klicken Sie auf den Schalter Designer.
  • Wie in einem Flussdiagramm erstellen Sie nun den Ablauf Ihrer Kampagne.
  • Um konkrete Arbeitsschritte, auch Bearbeitungsstufen genannt, im Workflow zu definieren, verwenden Sie den Schalter mit dem weißen Kasten.
  • Klicken Sie anschließend in eine leere Fläche. Das Dialogfeld zum Editieren der Bearbeitungsstufe öffnet sich.
  • Benennen Sie zuerst die erstellte Stufe und geben Sie dieser idealerweise eine Nummer.
  • Geben Sie an, ob diese Stufe aktiv ist und ob diese eine Startstufe in diesem Projekt ist.
  • Definieren Sie im Modus, ob der Anwender die zu bearbeitenden Tickets vorgeschlagen bekommt oder ob er diese selbst auswählen darf.
  • Als Art geben Sie den Kommunikationskanal an, über den in dieser Bearbeitungsstufe kommuniziert wird.
  • Beim Verhalten für das Laden des nächsten Tickets können Sie angeben, ob der Anwender entscheidet, wann er das nächste Ticket bearbeitet oder ob dieses nach einer Verzögerung automatisch geladen wird.
  • Warnstufen geben der Teamleitung an, ob eine Nachsteuerung notwendig ist. Wenn Warnstufe 1 unterschritten wird, dann wird diese Bearbeitungsstufe grün markiert. Wenn Warnstufe 2 überschritten wird, dann wird sie rot markiert.
  • Im Reiter Zeit kann angeben werden, wann die Bearbeitungsstufe für die Anwender zur Verfügung steht.
  • Im Reiter Ansichten ordnen Sie der Bearbeitungsstufe eine vorher erstellte Oberfläche zu.
  • Im Reiter Benutzer lassen sich der Bearbeitungsstufe einzelne Benutzer oder eine ganze Gruppe zuordnen.
  • In einer Telefoniestufe geben Sie im Reiter Telefonie Ihre gewünschten Parameter ein.
  • Der Reiter Overdial ist nur relevant, wenn Sie im Predictive-Modus telefonieren.
  • Unter dem Reiter Felder wird definiert, welche Telefonnummernfelder für die Anwahl herangezogen werden.
  • Im Reiter Inbound Filter können Sie eine ACD-Gruppe hinterlegen.
  • Unter Sonstiges wählen Sie unter anderem aus, in welcher Reihenfolge fällige Wiedervorlagen abgearbeitet werden.
  • Als Infotext lässt sich ein individueller Bemerkungstext hinterlegen, den der Anwender eingeblendet bekommt, wenn er beginnt in der Kampagne zu arbeiten.
  • Schließen Sie die die Konfiguration der Bearbeitungsstufe über OK ab.
  • Klicken Sie oben den Schalter Modus neue Reaktion. Verbinden Sie nun zwei Bearbeitungsstufen miteinander, indem Sie auf eine Reaktion klicken, den linken Mauszeiger festhalten und über der zweiten Reaktion dann loslassen.
  • Geben Sie der Reaktion nun einen Titel  und eine Beschreibung für die Historie.
  • Mit einer Schlinge in die eigene Stufe können Sie eine Wiedervorlage als mögliche Reaktion definieren.
  • Wenn Sie Ihren Workflow fertig erstellt haben, speichern Sie diesen bitte über den Schalter links oben ab.

2016-04-05 15:49
Lukas Hölzer

VBScript Dokumentation

Microsoft hat leider die gesamte VBScript Referenzen von der Webseite entfernt.

Folgende Seiten bieten jedoch auch komplette Beschreibungen und Tutorials an:

In der Anlage hierdieses Artikels wurden zusätzlich die deutsche und englische Hilfedateien angehängt.
Diese CHM Dateien können einfach geöffnet werden und enthalten die komplette VBScript Dokumentation.

2020-03-03 12:06
Martin Richter

Top 100 Auswertung: welches sind die Kunden mit den meisten Einträgen in einer Zusatztabelle?

Herausforderung:

In einer Zusatztabelle hat man z.B. Produkte oder erbrachte Dienstleistungstage. Nun will man wissen, welche Kunden die meisten Käufe getätigt haben.

Lösung:

1. Über die AUSWERTUNG werten Sie die gewünschten Einträge der Zusatztabelle aus. Dabei ist es wichtig, dass Sie die Zusatztabelle bei "Daten anzeigen aus Tabelle" oben wählen.

2. In der Ausgabeliste wählen Sie den Schalter für die statistische Balkengrafik.

3. Wählen Sie hier das Feld NAME1, das den Firmennamen enthält. Über den WEITER Schalter gelangen Sie auf die nächste Seite des Assistenten.

4. Über den Schalter FERTIGSTELLEN erscheint das Ergebnis.

5. Durch Doppelklick auf die Spalte ANZAHL wird die Reihenfolge nach Häufigkeit sortiert. Somit sehen Sie direkt, welche Top Kunden die meisten Einträge Sie in der Zusatztabelle haben.

6. Über den KOPIEREN Schalter rechts in der Ausgabeliste können Sie das kumulierte Ergebnis direkt in jede beliebige Anwendung übertragen.

2020-12-10 17:36
Markus Grutzeck

Hotkeys in AG-VIP SQL

Tipps, zur effektiven Bedienung von Programmen mit der Tastatur:

Ribbons über die Tastatur bedienen

Drücken Sie zuerst die Alt-Taste und lassen diese los, oder halten Sie diese fest und warten einen kurzen Moment.
Es erscheinen nun im Ribbon die Buchstabenkürzel für die Bedienung. Wenn Sie die Tastenkombination auswendig kennen, können Sie auch die weiteren Tasten drücken.

Anschließend tippen Sie die Buchstaben für den Befehl, den Sie auslösen wollen. Gibt es weitere Unterkategorien, klappt ein eigenes Menü  auf. Andernfalls wird der Befehl sofort ausgelöst. So als ob Sie den entsprechenden Schalter angeklickt hätten.

Sie können auch die Alt-Taste drücken und loslassen. Die Kürzel erscheinen dann sofort.

Haben Sie die falsche Kategorie geöffnet, drücken Sie einfach zweimal die Alt-Taste. Das erste Drücken der Alt-Taste bricht die Auswahl ab. Mit dem zweiten Drücken der Alt-Taste öffnen Sie die korrekte Kageorie im Ribbon.

Folgende Bedienungen sind gleichwertig.

Beispiel: Sie wollen in AG-VIP SQL einen Rückruf über das Ribbon mit einer eigenen Nummer auslösen. 

  • Der Tastenpfad (Buchstabenkürzel), ist T (Telefonmenü) Ü (Rückruf) T (Telefonnummer eingeben).
  • Sie Drücken die Alt-Taste  und dann die Buchstaben TÜT und lassen die Alt-Taste los.
  • Sie Drücken die Alt-Taste  und lassen sie los, dann drücken Sie die Buchstaben TÜT.

Technisch gesehen, können Sie die Alt-Taste an jeder beliebigen Stelle loslassen.

Wollen Sie die Bedienung des Ribbons abbrechen ohne eine Auswahl zu tätigen, drücken Sie erneut die Alt-Taste. Es ist nicht mögich die Tastaturbedienung des Ribbons mit der Esc-Taste abzubrechen.
Es ist auch möglich mit der Maus in ein beliebiges anderes Fenster zu klicken.

Menüs über die Tastatur bedienen

Normale Menüs können auch einfachst über die Tastatur bedient werden. Drücken Sie dazu die ALT-Taste und halten Sie diese fest.
In der ersten Menüzeile haben die einzelnen Menüpunkte Buchstaben mit Unterstrichen. Drücken Sie nun den entsprechenden Buchstaben und lassen die Alt-Taste los.
Das entsprechende Menü klappt auf.

Auch die entsprechenden Untermenüpunkte haben wieder Buchstaben, die unterstrichen sind. Sie können die Pfeiltasten wählen und den entsprechenden Menüpunkt auswählen, oder Drücken direkt einen der unterstrichenen Buchstaben. 
Der entsprechende Befehl wird ausgeführt, als ob Sie ihn mit der Maus angeklickt hätten.

Es ist auch möglich zu Beginn die Alt-Taste zu drücken und direkt loszulassen. Der erste Menüeintrag links wird markiert.
Sie können entweder die unterstrichenen Buchstaben eingeben oder verwenden wieder die Pfeiltasten.
Untermenüs werden durch die Pfeil-Rechts Taste oder den markierten Buchstaben geöffnet.

Wollen Sie die Bedienung des Menüs abbrechen ohne eine Auswahl zu tätigen, drücken Sie die Esc-Taste, oder erneut die Alt-Taste.
Es ist auch möglich mit der Maus in ein beliebiges anderes Fenster zu klicken.

Dialogen nutzen:

Die Tabfolge in Dialogen ist optimiert. Durch Drücken der Tab-Taste wird der Eingabe Fokus in das nächste Feld verschoben. Das kann auch ein Button sein. Ein selektierter (ausgewählter) Button kann durch Leertaste und die Eingabetaste ausgelöst werden.

Durch Drücken der Alt-Taste + Buchstabe kann auch hier direkt ein anderes Feld angesprungen werden.

Die Eingabetaste löst den aktuellen Default-Schalter aus. Das ist der Schalter, der einen fetten Rahmen hat. Im Allgemeinen ist das der OK Schalter.  Aber es kann auch ein anderer Schalter als Default ausgewählt werden.

Bei Ja/Nein Abfragen, die eine evtl. weitreichendere Konsequenz haben wird oft auch Nein, anstatt Ja als Default vorbelegt. Erscheint die Frage, kann man mit der Eingabetaste diesen Vorgang nicht bestätigen. Man muss mit den Cursortasten entweder die Ja-Taste auswählen oder über die Alt+Buchstabentaste , die entsprechende Antwort wählen.

Tastenkombinationen in Dialogen immer anzeigen:

In die Dialogen können Felder per Alt+Buchstabe oft gezielt angesprungen werden. Die normalen Windows Einstellungen zeigen aber diese Zugriffstasten erst an, wenn die Alt-Taste gedrückt wird. Man kann Windows so einstellen, dass diese Tastenkombinationen in allen Dialogen automatisch (also immer) angezeigt werden.

Windows 10:
Einstellungen -> Erleichterte Bedienung -> Tastatur -> Funktionsweise von Tastenkombinationen ändern -> Zugriffstasten unterstreichen, falls verfügbar.

Über die Registry:
HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference -> Wert On auf 1 setzen (Typ REG_SZ)

Nutzen Sie Kontextmenüs

Kontextmenüs fassen oft für bestimmte Objekte gängige Operationen zusammen. Kontextmenüs öffnen Sie durch Klick auf das Objekt mit der rechten Maustaste, oder einfach über die Tastatur mit der Kontextmenütaste (rechts neben der Leertaste).
Das Kontextmenü lässt sich auch über die Tasten Umschalt+F10 öffnen.
Die Bedienung des Kontextmenüs erfolgt wieder direkt über entsprechende Tastenebfehle wie es oben für Menüs bereits beschrieben ist.

 

Allgemeine Hinweise

Es ist ergonomisch nicht effektiv, permanent zwischen der Maus und der tastatur zu wechseln.

Viele Nutzer wissen gar nicht, dass die meisten Programm komplett ohne Maus bedient werden können. Greifen Sie also nur zur Maus, wenn Sie länger mit der Maus arbeiten oder Verwaltungsaufgaben lösen wollen.

Während Sie Daten eingaben, vermeiden Sie am Besten den Griff zur Maus. Andere Felder und Masken lassen sich leicht über hier beschriebene Hotkeys anspringen und auswählen. Das ist effektiver und schneller als die Nutzung der Maus.

 

Auflistung der Hotkeys

Allgemeine Hotkeys in AG-VIP

F1 Zeige die Online Hilfe zu dem aktuellen Kontext
Umschalt+F1 Ermöglicht die Auswahl eines Objektes zu dem die Online Hilfe angezeigt werden soll
Alt+F4 Schließen des Programmmes
F5 Anzeige aktualsieren / Neu Laden
Kontextmenütaste
Umschalt+F10
Öffnet das Kontext Menü für das aktuelle Feld, den aktuellen Eintrag oder das aktuell markierte Objekt.
Strg+C
Strg+Einfg
Kopieren die aktuelle Auswahl oder den Feldinhalt in die Zwischenablage.
Strg+V
Umschalt-Einfg
Einfügen des Inhalts der Zwischenablage in das aktuelle Feld. Die aktuelle Selektion wird ersetzt.
Strg+X
Umschalt+Entf
Auschneiden der aktuelle Auswahl oder des Feldinhalt und kopieren in die Zwischenablage. Der Inhalt der aktuellen Markierung wird entfernt.
Strg+P Drucken
Alt+Strg+Umschalt+Druck Minidump erzeugen.
Strg+F Suche für das aktuelle Fenster / den aktuellen Kontext

 

Hotkeys in AG-VIP SQL bei geöffneten Ansichten / Workflow

ESC Aktuelle Bearbeitung abbrechen (nicht speichern)
Bild-Unten Nächster Datensatz
Bild-Oben Vorhergehender Datensatz
Alt+Bild-Unten Öffnet eine Combobox, die Datumsauswahl oder einen Auswahldialog für Kennzeichen
F3 In den den Feldern Kurzname und Nummer wird eine Schnellsuche ausgelöst (Prefix Suche)
Beispiel: Müller F3 Sucht alle Datensätze die mit dem Begriff Müller anfangen.
In anderen Eingabefeldern wird die Auswahlliste angezeigt oder ein Textbaustein abgerufen.
Umschalt+F3 In den den Feldern Kurzname und Nummer wird eine Schnellsuche ausgelöst (Ähnlichkeitssuche)
Beispiel: Müller Umschalt+F3 Sucht alle Datensätze die den Begriff Müller enthalten.
F4 Suchdialog öffnen
Strg+F4 Aktuelle Bearbeitung beenden (Arbeitsbereich schließen)
Umschalt+F4 Dialog für globale Suche öffnen
Strg+Umschalt+F4 Auswertungsdialog öffnen
F5 Aktuellen Datensatz neu einlesen (aktuelle Änderungen werden verworfen)
F12 Aktuellen Datensatz speichern
Eingabetaste
Tab
Springe in das nächste Eingabefeld
Umschalt+Tab Springe in das vorhergehende Eingabefeld
Alt+F2
Alt+Strg+F2
Strg+#
Strg+^
Setze den Fokus in die Kurzname/Nummern Leiste
Strg+Ziffer 1-9 und 0 Aktiviere Ansicht 1, 2, ... 10
Strg+Umschalt+B Kopiere Postfachadresse in die Zwischenablage
Strg+Umschalt+S Kopiere Straßenadresse in die Zwischenablage
Strg+N Neuen Datensatz anlegen
Alt+Strg+N Neuen Datensatz als untergeordnete Adresse der aktuellen Adresse anlegen

 

Hotkeys zum aktivieren bestimmte Fenster bei geöffneten Ansichten / Workflow

Strg+Umschalt+A Aktiviere das Aktivitätenfenster
Strg+Umschalt+C Aktiviere das CRM-Verknüpfungsfenster
Strg+Umschalt+H Aktiviere das Hierrachiefenster
Strg+Umschal+M Aktiviere das Monitorfenster
Strg+Umschal+N Aktiviere das Notizenfenster (Workflow)
Strg+Umschal+O Aktiviere das Ausgabefenster
Strg+Umschal+P Aktiviere das Projektstatistikfenster
Strg+Umschal+T Aktiviere die Telefonieleiste
Strg+Umschal+W Aktiviere das Arbeitsbereichsfenster
Alt+F2
Alt+Strg+F2
Strg+#
Strg+^
Setze den Fokus in die Kurzname/Nummern Leiste
Strg+Tab
Strg+Bild-Unten
F6
Alt+Rechts
Nächste Ansicht
Strg+Umschalt+Tab
Strg+Bild-Oben
Umschalt+F6
Alt+Links
Vorhergehende Ansicht

 

Hotkeys zum aktivieren bestimmter Tabs in gedockten Fenstern

Strg+Tab
Strg+Bild-Unten
F6
Alt+Rechts
Nächstes Fenster in der Tab-Ansicht
Strg+Umschalt+Tab
Strg+Bild-Oben
Umschalt+F6
Alt+Links
Vorhergehendes Fenster in der Tab-Ansicht
Strg+Ziffer 1-9 und 0 Aktiviere Tab-Fenster 1, 2, ... 10

 

Hotkeys in Ausgabefenstern/Listenanzeigen für Datensätze
(siehe auch Hotkeys für Listen und Listen mit Mehrfachauswahl)

Eingabetaste Lädt den markierten Datensatz
Esc Blendet das Ausgabefenster aus bzw. fährt das gedockte Fenster ein
Strg+C Markierte Datensätze der Liste in die Zwischenablage kopieren
Strg+P Drucken
Strg+S Auswahl speichern

 

Hotkeys in Dialogen

Tab Springe in das nächste Eingabefeld
Umschalt+Tab Springe in das vorhergehende Eingabefeld
Eingabetaste Führe den Standard-Schalter/Aktion aus
(Dieser Schalter hat einen fetten Rand) 
Escape Abbruch des Dialoges/Vorganges ohne Ausführung/Änderung
Leertaste Ist ein Schalter aktiv wird dieser ausgeführt.
Ist eine Checkbox aktiv wird der Status gewechselt.
Pfeil-Hoch
Pfeil-Links
In einer Liste von Optionsfeldern wird die vorherige Option ausgewählt, oder das vorherige Feld angesprungen.
Pfeil-Runter
Pfeil-Rechts
In einer Liste von Optionsfeldern wird die nächste Option ausgewählt, oder das nächste Feld angesprungen.
Alt+Buchstabe Direkte Navigation zu dem Feld mit dem entsprechenden Buchstabenkürzel im Namen. 
Leertaste Aktivieren des Schalters, eines Radiobuttons oder iener Checkbox wenn diese Fokus haben.

 

Hotkeys in Dialogen mit mehreren Seiten (Listenauswahl rechts, oder Tableiste oben)
(siehe auch Hotkeys für Dialoge)

Strg+Tab
Strg+Bild-Unten
Aktiviere die nächste Dialogseite
Strg+Umschalt+Tab
Strg+Bild-Oben
Springe in die vorhergehende Dialogseite

 

Hotkeys in Eingabefeldern

Entf Löschen des Zeichens rechts vom Cursor, oder löscht den aktuellen markierten Text.
Rück-Taste Löschen des Zeichens links vom Cursor, oder löscht den aktuellen markierten Text.
Strg+Pfeil-Rechts Springt nach rechts zum nächsten Wortanfang oder bis zum Textende.
Strg+Pfeil-Links Springt nach links bis zum nächsten Wortanfang oder bis zum Textanfang.
Umschalt+Pfeil-Rechts Erweitert die Markierung um ein Zeichen nach rechts.
Umschalt+Pfeil-Links Erweitert die Markierung um ein Zeichen nach links.
Umschalt+Pos1 Erweitert die Markierung nach links bis zum Textanfang. 
Umschalt+Ende Erweitert die Markierung nach rechts bis zum Textende. 
Strg+Umschalt+Pfeil-Rechts Erweitert die Markierung um bis zum nächsten Wortanfang nach rechts oder bis zum Textende.
Strg+Umschalt+Pfeil-Links Erweitert die Markierung um bis zum nächsten Wortanfang nach links oder bis zum Textanfang.
Strg+A Markiert den gesamten Feldinhalt
Strg+Y Zuletzt rückgängig gemachte Aktion wiederholen.
Strg+Z Letzte Änderung Rückgängig machen
Umschalt+Mausklick Der Text von der bisherigen Cursorposition bis zu der Stelle an die man klickt markiert.
Doppelklick Markiert das Wort auf das geklickt wurde.

 

Hotkeys in Listen und Tabellen

F2 Aktuellen Eintrag bearbeiten (sofern Änderungen in der Zeile direkt erlaubt sind)
F5 Liste aktualisieren / Neu einlesen
(wird nur teilweise unterstützt wo es Sinn macht)
Einfg Neuen Eintrag erzeugen (sofern direktes Anlegen erlaubt ist)
Entf Löscht die aktuelle Zeile (sofern direktes Löschen erlaubt ist).
Strg+A Sofern eine Merhfachauswahl erlaubt ist werden alle Einträge markiert.
Leertaste Markiert die aktuelle Zeile
Pfeil-Unten Nächster Eintrag
Pfeil-Oben Vorhergehender Eintrag
Bild-Unten Eine Seite weiter blättern.
Bild-Oben Eine Seite nach oben blättern.
Pos1 Auf ersten Eintrag springen.
Ende Auf letzten Eintrag springen
Buchstabe oder Ziffer Selektiert den ersten Eintrag mit dem entsprechenden Buchstaben oder Ziffer in der Liste.
Tipp: Man kann auch ganze Begriffe eingeben. Der Eingabepuffer wird nach ca. 1sec wieder gelöscht.
ab schnell getippt amrkiert den Eintrag der mit ab beginnt.
ab langsam eingegeben markiert erst einen Eintrag der mit a beginnt, dann einen der mit b beginnt.

 

Hotkeys in Listen mit Mehrfachauswahl
(siehe auch Hotkeys für  Listen)

Strg+A Alle Einträge markieren
Strg+Leertaste Hebt die Markierung der aktuellen Zeile auf
Strg+Pfeil-Unten Fokus auf nächsten Eintrag verschieben ohne ihn zu markieren.
Strg+Pfeil-Oben Fokus auf vorhergehenden Eintrag verschieben ohne ihn zu markieren.
Umschalt+Pfeil-Unten Markierung um nächsten Eintrag erweitern
Umschalt+Pfeil-Oben Markierung um vorhergehenden Eintrag erweitern
Umschalt+Pos1 Markierung bis zum ersten Eintrag erweitern.
Umschalt+Ende Markierung bis zum letzten Eintrag erweitern.
Strg+Mausklick Aktuellen Eintrag markieren bzw. Markierung aufheben.
Umschalt+Mausklick Alle Einträge ab dem aktuellen Eintrag bis zu dem angeklickten Eintrag markieren.

 

Hotkeys in Baumanzeigen
(siehe auch Hotkeys in Listen und Listen mit Mehrfachauswahl)

Entf Löscht die aktuelle Zeile sofern direktes Löschen erlaubt ist.
Pfeil-Rechts Ist ein Knoten nicht geöffnet wird der Knoten aufgeklappt.
Ist der Knoten geöffnet wird der nächste Eintrag ausgewählt.
Pfeil-Links Ist der aktuelle Knoten geschlossen, wird der Elterndatensatz selektiert.
Ist der aktuelle Knoten geöffnet wird der aktuelle Knoten geschlossen.
Multiplikationstaste (Numpad) Der aktuelle Knoten inkl. aller Unterknoten wird komplett aufgeklappt.
Plustaste (Numpad) Der aktuelle Knoten wird aufgeklappt. Unterknoten werden nicht geöffnet.
Minustaste (Numpad) Der aktuelle Knoten wird geschlossen. Der Status der Unterknoten ändert sich nicht.
Strg+Multiplikationstaste (Numpad) Öffnet alle Knoten des gesamten Baumes inkl. aller Unterknoten.
Strg+Minustaste (Numpad) Schließt alle Knoten des gesamten Baumes inkl. aller Unterknoten
Leertaste Markiert die aktuelle Zeile
Strg+Leertaste Hebt die Markierung der aktuellen Zeile auf

 

Hotkeys für Kombinationsboxen/Kombinationsfelder
Tipp: Für fast alle Hotkeys muss die Kombinationsbox nicht geöffnet werden. D.h. die Auswahl von Einträgen kann auch direkt bei geschlossener Kombinationsbox über die Pfeiltasten oder eine Buchstabenkmbination erfolgen.

Alt+Pfeil-Unten Kombinatiopnsbox aufklappen
Pfeil-Unten Markiere nächsten Eintrag.
Pfeil-Oben Markiere vorhergehenden Eintrag.
Buchstabe oder Ziffer Selektiert den ersten Eintrag mit dem entsprechenden Buchstaben oder Ziffer in der Liste.
Tipp: Dazu muss die Kombinationsbox nicht geöffnet werden.

 

 Hotkeys in der Datumsauswahl

Escape Beenndet die Datumsauswahl. 
Pfeil-Rechts Nächster Tag.
Pfeil-Links Vorhergehender Tag.
Pfeil-Unten Nächste Woche.
Pfeil-Oben Vorhergehende Woche.
Bild-Unten Nächster Monat
Bild-Oben Vorhergehender Monat.
Strg+Bild-Unten Nächstes Jahr.
Strg+Bild-Oben Vorhergehendes Jahr.

 

Interaktion mit anderen Programmen / Windows

Windows-Taste Öffnet das Startmenü
Alt+Tab Wechselt zwischen Programmen.
Alt-Tab festhalten - öffnet die Auswahl der aktuellen Programme
Alt-Tab und loslassen - wechselt zum zuvor aktiven Programm
Alt-Tab kann mehrfach hinmtereinander gedrückt werden, bevor die Alt-Taste losgelassen wird.
Strg+Bild-Oben Vorhergehendes Jahr.

 

2023-03-13 12:05
Martin Richter

Musterbeispiele

Zur Kategorie

Beispiel: "Eisbär" Outbound Kampagne

Beispiel: "Eisbär"

Das Beispiel "Eisbär" ist eine einfache, einstufige Outboundkampagne. Agenten prüfen, ob der Angerufene eine Tiefkühltruhe besitzt und bieten im positiven Fall einen Katalog

Wie dieses Projekt für den Anwender aussieht, sehen Sie in diesem Video.

für tiefgekühlte Lebensmittel an. Agenten können also Telefonate einstufen als
- positiv = Katalog gewünscht
- negativ = Kein Interesse oder nicht gesprächsbereit
- Wiedervorlage = Zielperson nicht erreicht.

Prozess Outbound Eisbär

Enthaltene Dateien:

  • "Eisbär Adressen.txt": 6 exemplarische Adressen für den Import
  • "Eisbär Adresstabellen.agtbstr": Die notwendige Datenstruktur der Adress- und Projekttabelle
  • "Eisbär Ansicht.agfrm": Ansicht für den Teamleiter auf die Kontaktdaten und Ergebnisse inkl. Historie
  • "Eisbär Gesprächsleitfaden.agscr": interaktiver Gesprächsleitfaden für die Agenten
  • "Eisbär Projekt.agproj": Workflow für die Kampagne.
  • "Einrichtung Outbound Projekt EISBÄR.agadmtasks": Schritt-für-Schritt-Anleitung zur Einrichtung dieses Beispielprojektes innerhalb von AG-VIP

Einrichtung:

Laden Sie sich zunächst die Datei "Eisbaer_Outbound.ZIP" am Ende des Artikels herunter.Entpacken Sie die Datei in einem Samples-Ordner.

0.  Administrative Aufgabe importieren
Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichtung Outbound Projekt EISBÄR.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

1. Adresstabelle importieren:
Sie melden sich mit administrativen Rechten an AG-VIP SQL an.
Wählen Sie aus dem Menü DATEI, ADMINISTRATION den Befehl ADRESSTABELLEN.
Sie finden rechts den Schalter IMPORT. Wählen Sie nun die Datei "Eisbär Adresstabellen.agtbstr".
Bestätigen Sie die Dialoge mit OK und verlassen den Tabellenexplorer.

2. Ansicht übernehmen:
Wählen Sie aus dem Menü DATEI, ADMINISTRATION den Punkt ANSICHTEN. Der Formulareditor wird gestartet.
Hier klappen Sie im Menü DATEI, den Punkt IMPORT auf.
Wählen Sie die Datei "Eisbär Ansicht.agfrm" aus. Sie können die Oberfläche nun ggf. modifzieren und anpassen. Speichern Sie die Ansicht im Kontext "Eisbär" ab.
Schließen Sie den Formulareditor.

3. Gesprächsleitfaden einfügen:
Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION den Punkt SCRIPT. Der Editor für den Gesprächsleitfaden wird geöffnet.
Aus dem Menü DATEI wählen Sie den Punkt IMPORT. Geben Sie die Datei "Eisbär Gesprächsleifaden.agscr" an. Der Leitfaden für die Agenten wird übernommen. Speichern Sie das

Script im Kontext der Adresstabelle "Eisbär" ab.

4. Workflow importieren:
Zu guter Letzt übernehmen Sie den Workflow. Der Workflow steuert den Kampagnenablauf.
Starten Sie dazu in AG-VIP SQL aus dem Menü DATEI, den Befehl ADMINISTRATION, PROJEKTVERWALTUNG.
Markieren Sie unterhalb der Adresstabelle "Eisbär" die Projekttabelle "Katalogversand".
Klicken Sie rechts auf den Schalter IMPORT und wählen die Datei "Eisbär Projekt.agproj" aus. Der Workflow wird übernommen. Die Kampagne steht jetzt fertig zur Nutzung zur Verfügung.
Ordnen Sie ggf. in der Bearbeitungsstufe "1_Telefonakquise" im Reiter "Benutzer" die gewünschten Anwender für die Kampagne zu.

5. Daten importieren:

Um die Kampagne mit Leben zu füllen, benötigen Sie Adressmaterial. Die Datei "Eisbär Adressen.TXT" enthält 6 Dummyadressen.
Wählen Sie aus dem Menü DATEI, den Befehl IMPORT aus. Der Importassistent für Kontaktdaten öffnet sich.
Wählen Sie als Importfilter "WinWord: ANSI / Tab-Getrennt" aus.
Als Quelldatei geben Sie "Eisbär Adressen.TXT" an.
Aktivieren Sie den WEITER-Schalter.
Wählen Sie die Adresstabelle "Eisbär" als Zieltabelle an und aktivieren den WEITER-Schalter. Die Feldzuordnung erscheint.
Über den AUTO-Schalter werden namensgleiche Felder bereits zugeordnet.
Markieren Sie in der rechten Spalte das Feld "6 Vorwahl" und links "TelefonPrivat". Aktivieren Sie den Schalter ZUORDNEN.
Um ein Trennzeichen zwischen Vor- und Durchwahl zu erhalten, markieren Sie links "TelefonPrivat" und wählen den Schalter TEXT.
Geben Sie hier "/" als Trennzeichen an.
Markieren Sie links "TelefonPrivat" und rechts "7 Telefon" und wählen den Schalter ZUORDNEN, um auch die Ortsdurchwahl in das Feld TelefonPrivat zu importieren.
Über den WEITER-Schalter gelangen Sie zur Auswahl der Importmodus.
Wählen Sie hier "Alle Adressen als neu importieren", weil die Adresstabelle bislang noch keine Kontakte enthält.
Über den FERTIG STELLEN -Schalter startet der Importvorgang.

6. Tickets erzeugen:
Damit Agenten telefonieren können, müssen Sie Tickets zu den Adressen erzeugen.
Klicken Sie dazu im Arbeitsbereich ADRESSTABELLE doppelt auf die Adresstabelle "Eisbär".
Wählen Sie auch dem Menü SUCHEN den Befehl AUSWERTUNG. Da zu allen 6 Adressen Tickets erzeugt werden sollen, bestätigen Sie einfach das OK. In der Ausgabeliste finden Sie nun alle Datensätze.

7. Kontakte.
Wählen Sie aus dem Menü DATENSÄTZE den Befehl TICKETS in BEARBEITUNGSSTUFE EINSTELLEN.
Geben Sie jetzt die Bearbeitungsstufe "1 Telefonakquise" an. Geben Sie unter Tickets für "alle Adressen" erzeugen an und bestätigen über den OK-Schalter.
Jetzt können die Agenten telefonieren.

Weitere Dokumentation:

Dieses Beispiel ist die Grundlage der Seminarunterlagen zu AG-VIP SQL für Outboundkampagnen, die Sie hier finden:

2018-05-16 12:30
Markus Grutzeck

Beispiel: "Inbound Bäcker Heinzel & Autohaus Müller"

Beispiel Inbound Bäcker Heinzel & Autohaus Müller

In diesem einfachen Inbound Beispiel gibt es zwei Auftraggeber: Das Autohaus Müller und den Bäcker Heinzel. Anhand der ACD-Gruppen-Nr. (Called-ID bzw. Redirected-ID) werden die Projekte bei einem eingehenden Anruf identifiziert. Dabei wird jeder Anrufer als neuer Datensatz erfasst.

Wie das für den Agenten aussieht, sehen Sie hier im Video.

AG-VIP SQL: Prozess Inbound

Dies ist ein sehr einfaches Beispiel für ein Inboundprojekt. Für komplexere Anforderungen empfiehlt sich das kostenpflichtige Inboundtemplate

für Büroservice-Anbieter. Dabei gibt es je Auftraggeber eine Mitarbeitertabelle. Je Auftraggeber und je Mitarbeiter lassen sich individuelle Weiterleistungsregeln hinterlegen sowie Preise für unterschiedliche Dienstleistungen. Nähere Details hierzu finden Sie hier ... bzw. in diesem Video.

Enthaltene Dateien:

Zu diesem Beispiel gehören die Dateien:

  • Heinzel Adresstabellen.agtbstr = Datenstruktur mit Adress- und Projekttabelle für Bäcker Heinzel
  • Heinzel Ansicht.agfrm  = Ansicht, Oberfläche
  • Heinzel Projekt.agproj  = Workflow, Projektablauf
  • Heinzel Inbound Infoweiterleitung Auftraggeber per Email.agtool = Hilfsmittel zur Infoweiterleitung über Anruf an Auftraggeber
  • Müller Adresstabellen.agtbstr = Datenstruktur mit Adress- und Projekttabelle für Autohaus Müller
  • Müller Ansicht.agfrm = Ansicht, Oberfläche
  • Müller Projekt.agproj = Workflow, Projektablauf
  • Müller Inbound Infoweiterleitung Auftraggeber per Email.agtool = Hilfsmittel zur Infoweiterleitung über Anruf an Auftraggeber
  • Vorlage Inbound Infoweiterleitung Auftraggeber.oft = Emailvorlage für Outlook zur Infoweiterleitung an Auftraggeber
  • Einrichung Inbound Beispiel.agadmtasks = Vorlage Administrative Aufgabe, ihre Schritt-für-Schritt Anleitung

Die Datei "Heinzel Adresstabellen.agtbstr" bzw. "Müller Adresstabellen.agtbstr" enthält auch Musteradresstabellenlayout speziell für den Inbound. Enthalten sind Felder für allgemeine Kontaktdaten, wie Name, Anschrift, Email, usw.?. Daneben gibt es ein Zusatzfeld "Bemerkung" vom Typ Memo, um den Anrufgrund zu notieren.

Installation:

Landen Sie sich die AGVIPSQL_Inbound.Zip-Datei am Ende des Artikels herunter. Entpacken Sie diese Datei in einem Samples-Ordner.

2.0  Administrative Aufgabe
Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichung Inbound Beispiel.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

2.1. Datenstruktur:
Um die Datenstruktur zu installieren, starten Sie AG-VIP SQL mit administrativen Rechten.
Wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Adresstabellen.
Aktivieren Sie den Import-Schalter rechts und wählen die Datei "Heinzel Adresstabellen.agtbstr" aus dem Ordner \SAMPLE\. Das gleiche machen Sie mit "Müller Adresstabellen.agtbstr". Damit haben Sie die Musteradresstabellen für die zwei Inboundkampagnen geladen.

2.2. Ansichten
Damit Sie auch Informationen in das Beispiel "Inbound Bäcker-Heinzel" bzw. "Inbound Autohaus Müller" eingeben können, benötigen Sie Ansichten. Dazu enthält die Datei "Heinzel Ansicht.agfrm" bzw. "Müller Ansicht.agfrm" eine Ansicht für unterschiedliche Informationen.
Über den Ansichtengenerator können Sie weitere Ansichten selbst kreieren oder die Beispiele nach Ihren eigenen Bedürfnissen verändern.

Um die Ansichten zu importieren, wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Ansichten. Der Formulareditor wird geöffnet.
Aktivieren Sie im Formulareditor aus dem Menü Datei den Befehl Import.
Wählen Sie die Datei "Heinzel Ansicht.agfrm" bzw. "Müller Ansicht.agfrm" aus dem entpackten Ordner \SAMPLE\ und speichern diese im jeweiligen Kontext der Adresstabelle "Bäcker Heinzel" bzw. "Autohaus Müller".
Damit haben Sie die Ansicht importiert.

2.3. Hilfsmittel
Das Hilfsmittel sorgt dafür die Anruferdaten an den Auftraggeber zu übertragen. Es gibt eine zentrale Emailvorlage für die Verwendung mit Microsoft Outlook "Vorlage Inbound Infoweiterleitung Auftraggeber.oft". Die Hilfsmittel selbst sind spezifisch für jeden Auftraggeber, da es unterschiedliche Ziel-Emailadressen gibt.

Zur Einrichtung der Hilfsmittel wählen Sie aus dem Menü Datei, Administration den Punkt Hilfsmittel.
Markieren Sie die Adresstabelle "Bäcker Heinzel" und wählen rechts den Schalter Import. Suchen Sie die entpackte Datei "Heinzel Inbound Infoweiterleitung Auftraggeber per Email.agtool" und wählen den OK-Schalter. Im Reiter "Vorlage" passen Sie ggf. den Pfad zur Vorlagendatei "Vorlage Inbound Infoweiterleitung Auftraggeber.oft". Durch Doppel-Klick auf das Hilfsmittel oder durch klicken des Ändern-Schalters, können Sie das Hilfsmittel bearbeiten. Im Reiter "Makros" können Sie über den Ändern-Schalter in Zeile 14 die Ziel-Emailadresse des Auftraggebers, an die diese Email gesendet werden soll, verändern.

Analog gehen Sie für Autohaus Müller vor.


2.4. Workflow
Um den Inboundprozess in AG-VIP SQL abzubilden, benötigen Sie den Workflow "Heinzel Projekt.agproj" bzw. "Müller Projekt.abproj". Bei einem eingehenden Anruf hat der Agent die Möglichkeiten a) "verwählt", "Infoweiterleitung sofort per Email" oder "Tagesreport" anzugeben. In der Realität würde man weitere sofort auszuführende Weiterleitungswege wie SMS oder Fax etc. implementieren. Alle Tickets wandern anschließend in die Exportstufe "Tagesreport Auftraggeber". I.d.R. wird die Teamleitung dort einmal am Tag die gesammelten Anruferdaten exportieren und an den Auftraggeber übermitteln. Die Tickets wandern dann in den "Endtopf Abrechnen".

Um den Workflow zu importieren, starten Sie AG-VIP SQL mit administrativen Rechten.
Wählen Sie aus dem Menü Datei den Befehl Administration und wählen Projektverwaltung.
Hier markieren Sie nun die Projekttabelle "Bäcker Heinzel: Inbound"  und aktivieren rechts den Schalter Import.
Wählen Sie nun aus dem entpackten Ordner \Samples\ die Datei "Heinzel Projekt.agproj" und speichern anschließend diesen Workflow über den Speichern-Schalter links oben.
Öffnen Sie nun die Bearbeitungsstufe "Start Bäcker-Heinzel" und ordnen im Reiter "Benutzer" die gewünschten Anwender zu. Damit direkt die Erfassungsmaske aufpoppt, dürfen die zugeordneten Anwender kein funktionales Recht "Direktzugriff" auf Ebene der Adresstabelle haben. Im Reiter "Inbound" können Sie die Zielruf-Nr. für die Inbound-Projektidentifizierung hinterlegen. Aktuell ist hier "1111" für Autohaus Müller und "3333" für Bäcker Heinzel hinterlegt. Im Reiter "Infotext" lässt sich ein projektspezifischer Willkommenstext hinterlegen (ab AG-VIP SQL Version 1.30). Dieser Text erscheint bereits vor der Globalen Suche.

Das ganze wiederholen Sie dann für das Projekt "Autohaus Müller".

Damit sind die beispielhaften Inboundprojekte betriebsfertig.

Tipp: Eingehene Anrufe simulieren 

Wenn Sie als TAPI-Treiber den manuellen TAPI-Treiber auswählen, können Sie über die Datei "AGManualTspCtrl.exe" aus dem AG-VIP SQL Programmverzeichnis, eingehende Anwahlversuche simulieren.

2016-01-28 16:35
Markus Grutzeck

Beispiel Terminvereinbarung für Kundenberater

Beispiel "Terminvereinbarung für Kundenberater"

Inhalt:

Das optionale Add-On "Terminvereinbarung" für AG-VIP SQL plant entfernungsoptimiert Termine in einem fest definierten Zeitraster für Außendienstmitarbeiter oder Kundenberater. Jeder zu verplanende Außendienstmitarbeiter verfügt dabei über einen eigenen Kalender, der skillbasiert automatisiert bei Anwahl geöffnet werden kann. Der Agent bekommt die Entfernung des aktuellen Gesprächspartners zu den bereits gebuchten Terminen im Kalender direkt angezeigt. Terminlücken, die aufgrund der Entfernung günstig wären, sind grün hervor gehoben. Mehr hierzu finden Sie hier ...

AG-VIP SQL Add-On

Voraussetzung:

  • AG-VIP SQL ab Version 1.09x
  • Option Workflow zu AG-VIP SQL

Erweiterungsmöglichkeiten:

Über Hilfsmittel gibt es direkt Möglichkeiten, Termine in Microsoft Outlook Kalender einzutragen. Das lässt sich hier auch kombinieren oder direkt Emails mit iCal-Elementen zu erzeugen. Ebenso lässt sich alternativ über das Browser-Controll der Google Kalender anbinden.

Ablauf:

In diesem einfachen Workflow-Beispiel gibt es eine Anwahlstufe mit den Reaktionsmöglichkeiten

  1. Wiedervorlage
  2. Kein Interesse und
  3. Termin vereinbart.

Pkt. 3.) wird automatisch via Makro ausgewählt, sofern die Termindaten gefüllt sind.

In der Praxis wird man dieses einfache Beispiel sicherlich um eine Terminbestätigung für den Kunden und eine Termininfo für den Auftraggeber erweitern.

Zur Dokumentation und Installation laden Sie sich die AGVIPSQL_Terminvereinbarung.ZIP am Ende der Seite herunter. Dort finden Sie neben den Musterdaten ein PDF mit ausführlichen Installationshinweisen und Einrichtungsparametern sowie die Vorlage für die "Administative Aufgaben" Terminvereinbarung.agadmtasks.

Schritt-für-Schritt-Anleitung laden

Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die entpackte Datei "Einrichtung Add-On Terminvereinbarung.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

Inhalt:

Die ZIP-Datei enthält folgende Dateien:

Template für Administrative Aufgaben Terminvereinbarung.agadmtasks
Ansichten für den Workflow und das freie Arbeiten  Terminvereinbarung.agfrm
Kompletter Makrocode (Mandantenspezifisch und Allgemein) Terminvereinbarung.agminc
Datenstruktur für Adressentabelle/Projekt Terminvereinbarung.agtbstr
Beispiel  Hilfsmittel für Terminfreigabe Terminvereinbarung.agtool
Einfacher Workflow Terminvereinbarung.agproj

 

2023-02-21 12:36
Markus Grutzeck

Beispiel AG-VIP SQL CRM - Vertriebskontakte

Beispiel AG-VIP SQL CRM - Vertriebskontakte

Inhalt:

Das Beispiel "Vertriebskontakte" erhält ein Grundmuster für die Nutzung von AG-VIP SQL als CRM-System. Es gibt einen Vertriebsworkflow, bei dem Verkaufsvorgänge durch einen Verkaufsprozess geführt werden. Damit sieht man jederzeit, wie der Verkaufstrichter gefüllt ist. Informationen zu konkreten Verkaufsvorgängen (= Tickets) liegen auf Ebene der Projekttabelle. Dazu gehören Informationen über Abschlusswahrscheinlichkeit, Entscheidungszeitpunkt, Entscheider, Angebotsgegenstand, Absagegrund usw. Dieses Datenmodell lässt sich einfach nach den eigenen Vorstellungen erweitern.

Es wird von einem einfachen Verkaufsprozess ausgegangen. D.h. bei einer neuen Verkaufschance wird ein neues Ticket erzeugt. Man könnte dann auch in einen zweiten Prozess "Bestandskundenbetreuung"übergehen. Um der Übersichtlichkeit willen, wurde hierauf verzichtet. Ebenso schliesst sich in der Realität an die Kundenzufriedenheitsbefragung ggf. ein eigenständiger Serviceprozess an.

AG-VIP SQL CRM: Abbildung eines Verkaufsprozesses

Die Arbeitsweise sehen Sie in folgendem Video ... 

Zugehörige Dateien:

  • Vertrieb Ansicht Historie.agfrm = Ansicht der Historie
  • Vertrieb Ansicht Produkte.agfrm = Ansicht der Zusatztabelle "Produkte"
  • Vertrieb Ansicht Unternehmensdaten.agfrm = Ansicht für unternehmensspezifische Informationen, z.B. Branche, Umsatz, etc.
  • Vertrieb Ansicht Vertriebsdaten.agfrm = Ansicht für Informationen zum aktuellen Verkaufsvorgang, z.B. Angebotssumme, Abschlusswahrscheinlichkeit usw.
  • Vertrieb Besuchsbericht.agtool = Hilfsmittel zur Erzeugung eines Besuchsberichts / Karteikarte, z.B. in Vorbereitung eines Kundenbesuchs. Darin enthalten sind die Stammdaten, die aktuelle Verkaufschance, die vorhandene Produktkonfiguration sowie die Kontakthistorie
  • Vertrieb Projekt.agproj = Workflow mit Ablauf des Vertriebsprozesses
  • Vorlage Besuchsbericht.doc = Word-Vorlagendatei für das Hilfsmittel "Besuchsbericht"

Einrichtung:

Um dieses Beispielprojekt für den Vertrieb zu importieren, gehen Sie wie folgt vor: 

Laden Sie sich die "AGVIPSQL_Vertrieb.Zip"-Datei am Ende des Artikels herunter. Entpacken Sie diese Datei in einem Samples-Ordner.

0. Vorlage administrative Aufgabe

Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichtung CRM Workflow.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

1. Datenstruktur

Um die Datenstruktur zu installieren, starten Sie AG-VIP SQL mit administrativen Rechten.
Wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Adresstabellen.
Aktivieren Sie den Import-Schalter rechts und wählen die Datei "Vertrieb Adresstabellen.agtbstr" aus dem Ordner \SAMPLE\.

2. Ansichten

Damit Sie auch Informationen in das Beispiel eingeben können, benötigen Sie Ansichten.
Über den Ansichtengenerator können Sie weitere Ansichten selbst kreieren oder die Beispiele nach Ihren eigenen Bedürfnissen verändern.

Um die Ansichten zu importieren, wählen Sie aus dem Menü Datei den Befehl Administration und wählen Datenbank, Ansichten. Der Formulareditor wird geöffnet.
Aktivieren Sie im Formulareditor aus dem Menü Datei den Befehl Import.
Wählen Sie nach und nach die Dateien "Vertrieb Ansicht Historie.agfrm", "Vertrieb Ansicht Produkte.agfrm", "Vertrieb Ansicht Unternehmensdaten.agfrm" bzw. "Vertrieb Ansicht Vertriebsdaten.agfrm" aus dem entpackten Ordner \SAMPLE\ und speichern diese im Kontext der Adresstabelle "Vertriebskontakte".
Damit haben Sie die Ansicht importiert.

3. Hilfsmittel

Das Hilfsmittel bietet Ihnen im freien Arbeiten auf Ebene der Projekttabelle die Möglichkeit, eine Kundenkartei in Word zu erzeugen und z.B. als Vorbereitung für einen Kundenbesuch mitzunehmen. Oder Sie können das Hilfsmittel über den Schalter "Besuchsbericht erzeugen" in der Ansicht "Vertriebsdaten" auslösen.

Zur Einrichtung der Hilfsmittel wählen Sie aus dem Menü Datei, Administration den Punkt Hilfsmittel.
Markieren Sie die Adresstabelle "Vertriebskontakte" und wählen rechts den Schalter Import. Suchen Sie die entpackte Datei "Vertrieb Besuchsbericht.agtool" und wählen den OK-Schalter. Im Reiter "Vorlage" passen Sie ggf. den Pfad zur Vorlagendatei "Vorlage Besuchsbericht.doc". Durch Doppel-Klick auf das Hilfsmittel oder durch klicken des Ändern-Schalters, können Sie das Hilfsmittel bearbeiten.

 4. Workflow

Der Workflow enthält den Vertriebsprozess. Dieser Prozess ist dafür zuständig, Leads durch den Verkaufstrichter von Anfragen zu Abschlüssen zu führen. Um den Workflow zu importieren, gehen Sie wie folgt vor:

Wählen Sie aus dem Menü Datei, Administration die Projektverwaltung.

Markieren Sie unterhalb der Adresstabelle "Vertriebskontakte" die Projekttabelle "Sales Leads".

Wählen Sie rechts den Schalter Import und wählen die Datei "Vertrieb Projekt.agproj" aus. Damit haben Sie den Workflow importiert.

Wenn Sie nun Adressen importieren und Tickets erzeugen, können Sie den Vertriebsprozess durchspielen, erweitern und auf Ihre Bedürfnisse anpassen. Reaktionen in Bearbeitungsstufen lassen sich direkt mit Hilfsmittel koppeln. So können Sie z.B. den Infoversand oder die Angebotserstellung automatisieren und beschleunigen.

Enthaltene Makros:

Bearbeitungsstufe "0__Kontaktdaten validieren"

Für den Anwender gibt es zwei Einstufungsmöglichkeiten: a) neue Kontaktdaten b) nichts Neues zu ermitteln. Es wird aber für jede gewünschte Folgestufe eine verborgene Reaktion angelegt. Über "IdStateLast" lässt sich die vorhergehende Bearbeitungsstufe ermitteln und somit das Ticket dahin zurück schieben, wo es zuletzt bearbeitet worden ist:

' Wenn die Adresse direkt in die Bearbeitungsstufe KONTAKTDATEN VALIDIEREN eingestellt worden ist,
' belassen wir die eingestellte Folgestufe ansonsten wählen wir eine Reaktion aus mit Identischen Namen
' der vorhergehenden Bearbeitungsstufe.
If ActiveAddress.Fields("IdStateLast") <> "" Then
' Wir ignorieren evtl. auftretenden Fehler
On Error Resume Next
ActiveTicket.Transition = ActiveAddress.Fields("IdStateLast")
On Error Goto 0

' Prüfung, ob die entsprechende Folgestufe als verborgene Reaktion angelegt wurde 
If UCase(ActiveTicket.Transition) <> UCase(ActiveAddress.Fields("IDStateLast").Value) Then
MsgBox "Der ADMIN hat vergessen eine Reaktions aus ""Kontaktdaten vailidieren"" nach " & ActiveAddress.Fields("IDStateLast").Value & " anzulegen!"
ActiveTicket.Transition = ""
End If 
End If

Weitere Tipps:

2016-01-28 16:55
Markus Grutzeck

Hilfsmittel Adresse und Termin in MS-Outlook eintragen

Beschreibung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":

Dieses Hilfsmittel trägt einen Termin mit Adresse in MS-Outlook ein.
Folgende Varianten stehen Ihnen dabei zur Verfügung:
1. Nur Adresse übergeben.
2. Nur Termin übergeben.
3. Adresse und Termin in die eigenen MS-Outlook-Ordner übergeben.
4. Adresse und Termin in die öffentlichen MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
5. Adresse und Termin in einen Mitarbeiter MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
6. Zu den Punkten 3-5 kann eine Terminanfrage per E-Mail versendet werden.

Einrichtung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":
  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Adresse und Termin in MS-Outlook eintragen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Adresse unt Termin in MS-Outlook eintragen" Ihren Wünschen entsprechend an.

Konfiguration des Hilfsmittels für zum Eintragen von Adressen und/oder Terminen in MS-Outlook:

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern" 

Im Abschnitt "Benutzerdefinierte Eingabe" finden Sie die in diesem Artikel beschriebenen Variablen.

Eingabe des Benutzers: 

Wenn Sie möchten, dass Termine und / oder Adressen in den Kalender eines Mitarbeiters eingetragen werden, können Sie in der Variable BENUTZER den jeweiligen Benutzernamen hinterlegen. Wenn Sie den Benutzer erst beim Ausführen des Hilfsmittels auswählen möchten, lassen Sie diese Variable leer.

Benutzer = "Testbenutzer"

Wenn Sie den vollen Mitareiternamen aus AG-VIP SQL verwenden möchten, müssen Sie der Variable BENUTZER folgenden Befehl übergeben:

Benutzer = "Application.ActiveUser.Fullname"

Eingabe des Betreffs: 

Wenn Sie einen festen Betreff in einen Termin eintragen möchten, können Sie diesen in der
Variable BETREFF hinterlegen.
 Betreff = ""


Um Variablen mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgende Syntax
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
Betreff   = "Termin mit " & ActiveAddress.Fields("NameSalutation").Value & " " & ActiveAddress.Fields("NameFirst").Value & " " & ActiveAddress.Fields("NameLast").Value

In diesem Beispeil wird der Betreff zum Datensatz von Herrn Mustermann folgendermaßen aussehen: Termin mit Herrn Max Mustermann

Sie können auch eigene Betreff-Texte formulieren und diese einfügen:
Bsp.:
Betreff = "Infos zu Ihrem neuen Hilfsmittel"

Auswahl des Kalenders und des Kontaktordners: 

Wenn Sie Termine oder Adressen in einen öffentlichen Ordner eintragen möchten (nur in Verbindung mit MS-Exchange-Server möglich), müssen Sie den jeweiligen Ordnernamen für den Kalender und den Kontakt hinterlegen. Den Namen für den Kalenderordner können Sie in der Variable KALENDER hinterlegen.
Den Namen für den Kontakteordner könne Sie in der Variable KONTAKT hinterlegen.
Beispiel:

Kalender = "Testordner"
Kontakt = "Händlerteam"

Auswahl des Kalenders für die Termineintragung:

Sie haben die Möglichkeit einen Termin bei sich selbst, einem Mitarbeiter oder in einen öffentlichen
Ordner einzutragen. Setzen Sie den gewünschten Wert 0-3 für die gewünschte Methode der Termineintragung:

0. Keinen Termin eintragen
1. Eigener Kalender
2. Öffentlicher Kalender
3. Freie Kalenderauswahl (Mitarbeiterkalender)

Beispiel für eigenen Kalender:
 TerminArt  = 1

Sie können den Termin als Terminanfrage per E-Mail versenden.
Der Empfänger kann auf die Anfrage antworten (Zusagen, Ablehnen, etc.).
0. Keine Terminanfrage versenden
1. Terminanfrage versenden

Beispiel für eine aktivierte Terminanfrage:
 TerminAnfrage = 1
    
Bei aktiver TerminAnfrage kann die E-Mail der/des Empfänger/s angegeben werden(TerminAnfrageEmail = "Beispiel@test.de").
Es können auch Werte aus E-Mail Feldern übertragen werden.

Beispiel für das E-Mail Feld "Email1":
 TerminAnfrageEmail = ActiveRecord.Fields("CommEmail1").Value

Auswahl des Ordners für die anzulegende Adresse: 

Sie können zu einem Termin auch die geöffnete Adresse aus AG-VIP SQL mit nach MS-Outlook übergeben. Hier haben
Sie die Möglichkeit auch anzugeben, wo die Adresse angelegt werden soll. Setzen Sie den gewünschten Wert 0-4 für die
gewünschte Methode des Adresseneintrags in die Zeile 64:

0. Keine Adresse eintragen
1. Persönlicher Ordner
2. Öffentlicher Ordner
3. Mitarbeiterordner
4. Adresse nicht eintragen, aber Adresse und Kontaktdaten in den Betreff vom Termin schreiben

Beispiel für persönlichen Ordner:
 KontaktArt = 1

Abgleich:
Der Abgleich des Kontakteordners in MS-Outlook geschieht sofern der Kontakt durch AG-VIP SQL angelegt wurde über eine ID.
Falls der Kontakt in MS-Outlook manuell angelegt wurde, wird der Abgleich über Vor- und Nachnamen ermittelt.

Wichtig!
Beachten Sie bitte, dass die Eingaben für Kalender und Ordner die identischen Ziffern besitzen, wenn diese in beiden möglichkeiten vorhanden sind. Wenn Sie z. B. einen öffentlichen Kalender auswählen, also bei TerminArt die 2 ausgewählt haben, müssen Sie auch in der Ordnerauswahl den öffentlichen Ordner auswählen dies wäre dann auch die Ziffer 2. Eine Ausnahme ist die Ziffer 4 (Adresse nicht eintragen, aber Adresse und kontaktdaten in den Betreff vom Termin schreiben) in der Auswahl des Zielordners.

Betreffformat:
Sofern die KontaktArt 4 ausgewählt wurde, kann das Format für die Übernahme der Adress- und Kontaktdaten durch Kommas getrennt in der Variable BETREFFFORMAT angegeben werden.
Wenn kein Format angegeben wird, so wird der Komplette Adresskopf (AddressStreet) mit der Brief-/Adresskopf-Formatierung übernommen.
Die in der Adresskopf (AddressStreet) verwendeten Auswahlmöglichkeiten:
Name1, Name2, Name3, Department, Function, NameSalutation, Title, NameFirst, NameLast, Street, ZipCode, City

Um einen Umbruch einzuleiten fügen Sie der Aufzählung den Begriff "NewLine" hinzu.

Auswahl Beispiel:
BetreffFormat = "Department, NewLine, Function, NewLine, NameSalutation, NameFirst, NameLast"

Erzeugt folgenden Betreff (Beispielswerte):
Muster-Abteilung
Testbeauftragte
Herr Max Mustermann

Adresse und Termin nach erstellen automatisch schließen: 

Wenn Sie möchten, dass die Adresse sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
KONTAKTSCHLIESSEN auf 1, ansonsten auf 0
 KontaktSchliessen = 0

Wenn Sie möchten, dass der Termin sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
TERMINSCHLIESSEN auf 1, ansonsten auf 0
 TerminSchliessen = 0

Standardmäßig sind beide Werte auf 0.

Eingabe der zeitabhängigen Termindaten:
Wenn der Termin für den ganzen Tag eingetragen werden soll, so muss die Variable GANZTAGTERMIN auf 'true' gesetzt werden.
Wenn der Termin nicht für den ganzen Tag eingetragen werden soll, so muss die Variable GANZTAGTERMIN auf 'false' gesetzt werden.
 GanzTagTermin = false

Angabe des Datums mit Uhrzeit für den Terminbeginn.
Für das aktuelle Datum und Uhrzeit verwenden Sie die Funktion "Now".
Beispiel:
 TerminStart = Now



Falls Sie einen festen Termin festlegen wollen können Sie das im folgenden Format tun: "dd.mm.yyyy hh:mm:ss".
Beispiel:
TerminStart = "23.02.2012 14:30:00"
Dieses Format liefert Ihnen bereits ein Datum/Zeit Feld von AG-VIP SQL so könnten Sie über ein solches Datum/Zeit Feld den Termin übernehmen:
TerminStart = ActiveAddress.Fields("internerFeldname").Value


Bei keiner Angabe wird die von Outlook verwendete Standardeinstellung verwendet.
 TerminStart = ""

Die vorgesehene benötigte Zeit des Termins in Minuten (Dauer)
Bei keiner Angabe wird die von Outlook verwendete Standardeinstellung verwendet.
 TerminDauer = 60 

' Wie viele Minuten vor dem Terminstart soll eine Erinnerungsmeldung in Outlook angezeigt werden? Bei 0 wird keine Erinnerungsmeldung angezeigt.
TerminErinnerung = 15


Eingabe der Termin-Beschreibung:
Optionale Angabe um die letzten X Historieneinträge der Terminbeschreibung anzufügen (0 steht dabei für keinen Eintrag übernehmen).    
AnzahlHistorienEintraege = 3

Beschreibung bzw. Mitteilungstext des Termins (Zeilenumbruch mit: vbCrLf)
TerminBeschreibung = "" 


Beispiel für Text mit Zeilenumbruch:
TerminBeschreibung = "Herzlichen Glückwunsch !" & vbCrLf & "Sie haben gewonnen !"

Ergebnis:
Herzlichen Glückwunsch !
Sie haben gewonnen !

Festlegung eines Termin Status
Einem Termin kann ein bestimmter Status übergeben werden.
Dieser wird im Kalender mit unterschiedlichen Farben/Mustern dargestellt
0 = frei
1 = mit Vorbehalt
2 = gebucht (Standard)
3 = abwesend
TerminStatus = 2


Eingabe des Ortes für den Termin:

Wenn Sie einen festen Ort für Ihre Termine eintragen möchten, können Sie diesen in der Variable TERMINLOCATION hinterlegen. Um die Variable mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgenden Syntax:
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
TerminLocation = ActiveAddress.Fields("Street").Value & ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value

In dem Beispiel wird nun als Ort die Straße, PLZ und der Ort der aktuellen Adresse eingetragen.

Wollen Sie Ihre Termine immer an einem festen Ort legen, tragen Sie in die Variable TerminLocation = "" den Ort ein, an dem Ihre Termine stattfinden.

Bsp.:
TerminLocation = "Hessen-Homburg-Platz 1, 63452 Hanau"

Voraussetzung zur Benutzung des Hilfsmittels:

Es muss MS-Outlook auf dem System installiert sein.

 

Änderungslog:

13.03.2017

  • Erweiterung um einen Abgleich bei der Übertragung der Outlook-Kontakte

03.09.2016:

  • Erweiterung um den Termin-Anfragemodus per E-Mail

21.12.2015:

  • Erweiterung um die Angabe von X-Historieneinträgen für die Terminbeschreibung

24.07.2015:

  • Erweiterung um die Angabe einer Erinnerungsmeldung

01.04.2015:

  • Anpassung des Makrocodes bezüglich der neuen Objektstruktur in AG-VIP SQL

2017-03-13 10:18
Christian Heininger

Aufgabe und Adresse in MS-Outlook eintragen

Beschreibung des Hilfsmittels "Aufgabe und Adresse in MS-Outlook eintragen":

Dieses Hilfsmittel trägt eine Aufgabe mit Adresse + Kontakt-Nr. in MS-Outlook ein.
Folgende Varianten stehen Ihnen dabei zur Verfügung:
1. Nur Aufgabe übergeben.
2. Nur Adresse übergeben.
3. Adresse und Aufgabe in die eigenen MS-Outlook-Ordner übergeben.
4. Adresse und Aufgabe in die öffentlichen MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).
5. Adresse und Afugabe in einen Mitarbeiter MS-Outlook-Ordner übergeben (Nur mit MS-Exchange möglich).

Einrichtung des Hilfsmittels "Adresse und Termin in MS-Outlook eintragen":
  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bsp. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Aufgabe und Adresse in MS-Outlook eintragen.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Aufgabe und Adresse in MS-Outlook eintragen" Ihren Wünschen entsprechend an.

Konfiguration des Hilfsmittels für das Eintragen einer Aufgabe und/oder Adresse (Kontakt) in Outlook.

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern"

Im Abschnitt "Benutzerdefinierte Eingabe" finden Sie die in diesem Artikel beschriebenen Variablen.

Eingabe des Benutzers: 

Wenn Sie möchten, dass Termine und / oder Adressen in den Kalender eines Mitarbeiters eingetragen werden, können Sie in der Variable BENUTZER den jeweiligen Benutzernamen hinterlegen. Wenn Sie den Benutzer erst beim Ausführen des Hilfsmittels auswählen möchten, lassen Sie diese Variable leer.

Benutzer = "Testbenutzer"

Wenn Sie den vollen Mitarbeiternamen aus AG-VIP SQL verwenden möchten, müssen Sie der Variable BENUTZER folgenden Befehl übergeben: Benutzer = "Application.ActiveUser.Fullname"


Eingabe des Betreffs: 

Wenn Sie einen festen Betreff in einer Aufgabe eintragen möchten, können Sie diesen in der
Variable BETREFF hinterlegen.

 Betreff = ""


Um Variablen mit Feldinhalten aus AG-VIP SQL zu füllen, verwenden Sie folgende Syntax
ActiveAddress.Fields("[INTERNER FELDNAME AG-VIP SQL]").Value

Bsp.:
Betreff   = "Bitte Infos an" & ActiveAddress.Fields("NameSalutation").Value & " " & ActiveAddress.Fields("NameFirst").Value & " " & ActiveAddress.Fields("NameLast").Value & " senden"

In diesem Beispiel wird der Betreff zum Datensatz von Herrn Mustermann folgendermaßen aussehen:
Bitte Infos an Herrn Max Mustermann
senden

Sie können auch eigene Betreff-Texte formulieren und diese einfügen:
Bsp.:
Betreff = "Infos zum neuen Hilfsmittel versenden"

Auswahl des Aufgaben- und des Kontaktordners: 

Wenn Sie Aufgaben oder Adressen in einen öffentlichen Ordner eintragen möchten (nur in Verbindung mit MS-Exchange-Server möglich), müssen Sie den jeweiligen Ordnernamen für die Aufgabe und den Kontakt hinterlegen. Den Namen für den Aufgabeordner können Sie in der Variable AUFGABE hinterlegen.
Den Namen für den Kontakteordner könne Sie in der Variable KONTAKT hinterlegen.
Beispiel:

Aufgabe = "Testordner"
Kontakt = "Testteam"

Auswahl der Aufgabenart für die Aufgabeneintragung:

Sie haben die Möglichkeit einen Termin bei sich selbst, einem Mitarbeiter oder in einen öffentlichen
Ordner einzutragen. Setzen Sie den gewünschten Wert 0-3 für die gewünschte Methode der Termineintragung in der Zeile 50:

0. Keine Aufgabe eintragen
1. Eigene Aufgabe
2. Öffentliche Aufgabe
3. Freie Aufgabenauswahl (Mitarbeiteraufgaben)
 AufgabenArt  = 1

Auswahl des Ordners für die anzulegende Adresse: 

Sie können zu einer Aufgabe auch die geöffnete Adresse aus AG-VIP SQL mit nach MS-Outlook übergeben. Hier haben
Sie die Möglichkeit auch anzugeben, wo die Adresse angelegt werden soll. Setzen Sie den gewünschten Wert 0-4 für die
gewünschte Methode des Adresseneintrags:

0. Keine Adresse eintragen
1. Persönlicher Ordner
2. Öffentlicher Ordner
3. Mitarbeiterordner
4. Adresse nicht eintragen, aber Adresse und Kontaktdaten in den Betreff der Aufgabe schreiben

Beispiel für "Persönlicher Ordner":
 KontaktArt = 1

Wichtig!
Beachten Sie bitte, dass die Eingaben für die Aufgabe und der Mitarbeiterordner die identischen Ziffern besitzen, wenn diese in beiden möglichkeiten vorhanden sind. Wenn Sie z. B. eine öffentliche Aufgabe auswählen, also bei AufgabenArt die 2 ausgewählt haben, müssen Sie auch in der Ordnerauswahl den öffentlichen Ordner auswählen dies wäre dann auch die Ziffer 2. Eine Ausnahme ist die Ziffer 4 (Adresse nicht eintragen, aber Adresse und kontaktdaten in den Betreff der Aufgabe schreiben) in der Auswahl des Zielordners.
Eine Weitere Ausnahme ist der Wert 0. Dieser kann bei einer Auswahl nicht gesetzt werden und dennoch kann ein anderer Wert in der jeweils anderen AuswahlArt eingetragen werden. Soll z.B. nur der Kontakt eingetragen werden und nicht die Aufgabe, wählen Sie den Wert 0 in der AufgabenArt und z.B. den Wert 1 in KontaktArt. Dadurch wird keine Aufgabe geplant aber der Kontakt in MS-Outlook angelegt.

Betreffformat:
Sofern die KontaktArt 4 ausgewählt wurde, kann das Format für die Übernahme der Adress- und Kontaktdaten durch Kommas getrennt in der Variable BETREFFFORMAT angegeben werden.
Wenn kein Format angegeben wird, so wird der Komplette Adresskopf (AddressStreet) mit der Brief-/Adresskopf-Formatierung übernommen.
Die in der Adresskopf (AddressStreet) verwendeten Auswahlmöglichkeiten:
Name1, Name2, Name3, Department, Function, NameSalutation, Title, NameFirst, NameLast, Street, ZipCode, City

Um einen Umbruch einzuleiten fügen Sie der Aufzählung den Begriff "NewLine" hinzu.

Auswahl Beispiel: 
BetreffFormat = "Department, NewLine, Function, NewLine, NameSalutation, NameFirst, NameLast"

Erzeugt folgenden Betreff (Beispielswerte):
Muster-Abteilung
Testbeauftragte
Herr Max Mustermann

Adresse und Aufgabe nach erstellen automatisch schließen: 

Wenn Sie möchten, dass die Adresse sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
KONTAKTSCHLIESSEN auf 1, ansonsten auf 0
 KontaktSchliessen = 0

Wenn Sie möchten, dass die Aufgabe sofort nach dem Erstellen geschlossen wird, setzen Sie die Variable
AUFGABESCHLIESSEN auf 1, ansonsten auf 0
 AufgabeSchliessen = 0

Standardmäßig sind beide Werte auf 0.

Voraussetzung zur Benutzung des Hilfsmittels:
Es muss MS-Outlook auf dem System installiert sein und die eventuell nicht eigenen Ordner in MS-Outlook freigegeben werden.

2012-08-22 08:31
Christian Heininger

Funktionsbibliothek Standard1

Beschreibung:

Mit der Funktionsbibliothek "Standard1" kann in alle Makros ein erweitereter Befehlsumfang eingebunden werden. Hierzu wird die Funktionsbibliothek über den Befehl

MacroInclude "Standard1"

in das Makro eingebunden. Anschließend können die in der Funktionsbibliothek vorhandenen Funktionen direkt in den eigenen Macros genutzt werden. Viele Hilfsmittel setzen die Installation dieser Makrobibliothek voraus. Um diese Makrobibliothek nutzen zu können müssen Sie mindestens über die AG-VIP SQL 1.21.002 oder höher verfügen. Eine Beschreibung der durch diese Bibliothek verfügbaren neuen Funktionen finden Sie nachfolgend.

Einrichtung:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Enpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Makro Includes -> Import
    Wählen Sie nun die Datei "Standard1.agminc"
  4. Fügen Sie anschließend die Zeile MacroInclude "Standard1" im Kopfbereich des Makros ein, indem Sie eine Funktion aus dieser Bibliothek verwenden wollen.
WICHTIGE HINWEISE:

Nehmen Sie bitte keine Veränderungen in den Funktionen dieser Bibliothek vor. Wir erweitern diese beständig. Wenn Sie eine aktuellere Version dieser Bibliothek zum Einsatz bringen wollen, würden Ihre Änderungen verloren gehen.

Wenn Sie an den Funktionen Anpassungen vornehmen wollen, erstellen Sie bitte eine Kopie dieser Bibliothek. (Z.B. mit dem Namen "AngepassteStandard1"). Damit bleibt Ihr System auch bei Anpassungen "Updatefähig".

Vorraussetzungen zur Nutzung dieser Funktionsbibliothek:

Es muss mindestens AG-VIP SQL 1.21.002 Build 454 vom 22.11.2010 auf dem System installiert sein.

Einige wenige Funktionen nutzen spezielle Shell-Objekte o.ä. die nicht in einer 64-Bit Umgebung lauffähig sind. Sofern diese jedoch nicht aufgerufen werden kann die Bibliothek auch unter 64-Bit Systemen verwendet werden.

Beschreibung der durch diese Funktionsbibliothek verfügbaren Funktionen:

1. Allgemein

2. Datum, Uhrzeit und Zahlen

3. Interaktion und Dateizugriff

4. Hilfsmittel- und Systemfunktionen

5. Datenbank


1. Allgemein:

2. Datum, Zeit und Zahlen

3. Interaktion und Dateizugriff

4. Hilfsmittel- und Systemfunktionen 

5. Datenbank (Bitte beachten Sie das wir für direkte Datenbankzugriffe keinen Support leisten!)

2018-05-11 09:04
Ulrich Sticker

Email per SMTP-Versenden

Beschreibung des Hilfsmittels für das Versenden einer E-Mail per SMTP-Server:
Mit dem E-Mail Hilfsmittel für Email per SMTP versenden ist es möglich, eine E-Mail mit vorgegebenen Text und Feldersetzungen zu erzeugen.
Sowohl der Nachrichtentext, wie auch der Betreff der E-Mail können in einer Vorlagendatei definiert werden. Es kann für das Hilfsmittel ein beliebiger Text für die Historie der Adresse erzeugt werden oder der versendete Text in die Historie eingetragen werden. Der Versand der Email erfolgt hierbei vollständig ohne Benutzerinteraktion im Hintergrund.

Einrichtung:

  1. Bitte laden Sie die .ZIP-Datei am Ende dieses Artikels herunter.
  2. (bzw. C:\Programme\AG-VIP SQL\Samples) Entpacken Sie die Datei im Ordner <AG-VIP SQL Installationsverzeichnis>\Samples
  3. Wählen Sie nun die Datei "Email schreiben mit SMTP-ActiveX-Komponente.agtool" Klicken Sie unter Administration -> Hilfsmittel -> Import
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "Email schreiben mit SMTP-ActiveX-Komponente" entsprechend Ihren wünschen an. Wichtig ist hierbei, das ein Erfolgreicher Emailversand erst nach der Konfiguration des Hilfsmittels im Kopfbereich des Makrocodes des Hilfsmittels funktionieren kann. Sie benötigen die korrekte Adresse und Zugangsdaten zu einem SMTP-Server.
    Die Vorlage für die Email kann entsprechend Ihren Wünschen angepasst werden. (Siehe auch Handbuch für Administratoren)

Konfiguration des Hilfsmittels für den Versand von Emails per SMTP-Server:

Öffnen Sie den Makrocode des Hilfsmittels auf der Registerkarte "Makro" über den Schalter "Ändern"

Passen Sie folgende Einstellungen an:
Host  ="mail.musterfee.loc" <- Hier müssen Sie den SMTP-Server eintragen. z.B. smtp.1und1.de oder mail.gmx.de
Port  = "25" <- Diese Einstellung können Sie im Normalfall bei der Standardeinstellung belassen.
Username = "musterfee@musterfee.de" <- Hier tragen Sie den Benutzer für die Anmeldung am SMTP-Server ein. Ist keine Authentifizierung erforderlich können Sie hier auch "" eintragen. Oftmals ist der Benutzername die Emailadresse.
Password = "MeinPasswort" <- Hier tragen Sie das Passwort für die Anmeldung an dem SMTP-Server ein.
From  = "Info@Musterfee.de" <- Hier tragen Sie die Absenderadresse ein.
FromName = "Musterfee GmbH" <- Hier tragen Sie den Absendernamen ein.
Subject  = "Betreff für diese Email" <- Hier können Sie einen Betreff angeben. Dies kann auch ein Feld sein, z.B. ActiveAddress.Fields("Subject").value

Durch die Variablen "Empfaenger" ("To") und "Kopie" ("CC") bzw. BCC (Blindkopie) können Sie einstellen, ob die Email an einen bestimmten Empfänger bzw. eine Kopie der Email an einen bestimmten Empfänger geschickt werden soll. Wenn beim Antworten auf die Email an eine andere Emailadresse geantwortet werden soll als die bei From eingetragene Adresse, kann dies bei ReplyTo eingetragen werden.
Beim "Empfaenger" können Sie eine feste Empfängeradresse einstellen, z.B. zur Informationsweiterleitung an einen Mandanten. Geben Sie keinen Empfänger vor, d.h. - Empfaenger = "" -, wird automatisch das Feld EMAIL1 aus dem aktuellen Datensatz als Empfänger verwendet.
Empfaenger = ActiveAddress.Fields("CommEMail1").Value
Kopie  = ""
BCC   = ""
ReplyTo  = ""

Die LoginMethod gibt an, wie Sie sich am SMTP-Server anmelden möchten. Folgende Möglichkeiten stehen Ihnen zur Auswahl:
0 = Keine Anmeldung, z.B. lokalem SMTP-Server
1 = Anmeldedaten werden verschlüsselt an den SMTP-Server übertragen (CramMD5Method),
2 = Anmeldedaten werden mit BASE64 versschlüsselt. Dies dient nur zum korrekten darstellen von Umlauten bzw. Sonderzeichen. Die eigentlichen Daten werden im Klartext übertragen (AuthLoginMethod), z.B. bei GMX, Freenet, ...
3 = Anmeldedaten werden im Klartext übertragen. Von dieser Methode ist abzuraten (LoginPlainMethod).
6 = XOAUTH2 Authentifizierung - Bei dieser Variante, muss als 'Username' die E-Mail Adresse des Absenderkontos und als 'Password' der AccessToken des Providers übergeben werden.

LoginMethod = 3 <- Dies wäre z.B. die richtige Einstellung bei 1und1.

DOKUMENTATION IN DER HISTORIE
Fall 1: Keine Dokumentation gewünscht Historie = 0 - und im Reiter "Allgemein" - Modus = Nur Starten, wenn Adresse ausgewählt -
Fall 2: Standardhistorientext Historie = 0 - und im Reiter "Allgemein" - Modus = Starten und Eintrag in Historie anfügen - Im Reiter "Bemerkung" Standardhistorieneintrag festlegen.
Fall 3: Text der versendeten EMail in Historie anfügen Historie = 1 - und im Reiter "Allgemein" - Modus = Nur Starten, wenn Adresse ausgewählt
Historie = 1

Der ConnectionType gibt an, ob die Datenübertragung per SSL verschlüsselt ist.
0 = Keine Verschlüsselung
1 = SSL Verschlüsselung (Port Anpassung für SSL berücksichtigen ! z.B. 465)
2 = TLS Verschlüsselung (Port Anpassung für TLS berücksichtigen !
3 = SSL versuchen, dann TLS
ConnectionType = 1

' Das TLSProtocol gibt an, welches TLS Protokoll bei der Übertraung verwendet werden soll.
' Als Standart wird das vom Betriebsystem definierte Protokoll verwendet (OSDefault).
' Beispiel:
' Zum Setzen des TLS 1.2 Protokolls, kann dies folgendermaßen umgesetzt werden:
' TLSProtocol = TLS12

' Alle möglichen Protokoll-Konstanten
CONST SSL2or3 = 0
CONST TLS10 = 1
CONST TLS11 = 2
CONST TLS12 = 3
CONST SSL2 = 5
CONST SSL3 = 6
CONST OSDefault = 7
CONST AnyTLSUpTo12 = 8
CONST AnyTLSUpTo13 = 9
' TLS 1.3 wird erst ab Windows 11 und Windows Server 2022 unterstützt!
CONST TLS13 = 10

' Setzen der zu verwendenen Protokoll-Konstante
TLSProtocol = OSDefault

DATEIANHÄNGE
Wenn Sie in der Email eine Datei mit anhängen möchten, können Sie diese in der Variable Datei hinterlegen. Wenn Sie mehrere Dateien anhängen möchten, müssen diese mit einem Semikolon oder einen Komma getrennt werden.
Datei  = ""

Damit ist die Funktionsfähigkeit hergestellt.

Vorlage anpassen:

Passen Sie nun noch die Vorlage an. Sie können Felder aus AG-VIP SQL mit %Feldname% in die Vorlage einfügen.

Wird eine Textdatei verwendet, so wird eine reine Textnachricht generiert. Wird eine HTML-Datei als Vorlage angegeben, so wird eine HTML-Email gesendet.

Felder des aktuellen Anwenders in der Vorlage anpassen:

Auf Felder des aktuellen Anwenders, der die E-Mail generiert, kann mit folgenden Variablen zugegriffen werden:

%ActiveUser.Fullname% = Voller Name des Benutzers
%ActiveUser.DirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUser.Department% = Abteilung des Benutzers
%ActiveUser.Email% = Emailadresse des Benutzers
%ActiveUser.FaxNumber% = Faxnummer des Benutzers
%ActiveUser.Function% = Funktion des Benutzers'
%ActiveUser.City% = Stadt des Benutzers
%ActiveUser.Country% = Land des Benutzers
%ActiveUser.Id% = Id des Benutzers
%ActiveUser.MobilePhoneNumber% = Mobile Telefonnummer des Benutzers
%ActiveUser.Name% = Name des Benutzers
%ActiveUser.State% = Bundesland des Benutzers
%ActiveUser.Street% = Straße des Benutzers
%ActiveUser.Street2% = Straße 2 des Benutzers
%ActiveUser.Zipcode% = PLZ des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die E-Mail übernommen werden.

Voraussetzungen zur Nutzung dieses E-Mail-Hilfsmittels:
Es muss ein Zugang zu einem SMTP-Server vorhanden sein.
Der Computer-/Hostname darf keine speziellen Sonderzeichen enthalten.
Siehe dazu folgenden KB-Artikel: http://kb.grutzeck.de/index.php?action=artikel&cat=34&id=304&artlang=de

 

Änderungslog:

15.08.2023

  • Erweiterung um die Möglichkeit TLS Protokolle festzulegen
  • Versionsnummer des Hilfsmittel von 1.45 auf 2.05.002 geändert (ab dieser AG-VIP SQL Version funktioniert das Feature)

04.02.2021

  • Umstrukturierung der Eingabevariablen
  • Kommentarerweiterung bei ConnectionType im Hilfsmittel

27.04.2016

  • Unterstützung von CSS Informationen innerhalb der .html Vorlage

16.10.2015

  • ConnectionType um TLS Beschreibung erweitert.
  • Datumsformatierung integriert (siehe Outlook Hilfsmittel)

 

10.01.2014

  • Hilfsmittel unterstützt nun SSL Verschlüsselung (ConnectionType)

 

2024-09-19 14:36
Ulrich Sticker

Excel Hilfsmittel zum Befüllen einer Excel-Vorlage

Die Beschreibung des Hilfsmittels "Excel-Datei schreiben mit Vorlage":

Diese Hilfsmittel überträgt basierend auf einer Excel-Vorlage Daten aus AG-VIP SQL in eine neue Excel-Datei.


Einrichtung des Hilfsmittels "Excel-Datei schreiben mit Vorlage":

  1. Bitte laden Sie die ZIP-Datei am Ende des Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bzw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfsmittel -> Import
    Wählen Sie nun die Datei "Excel-Datei schreiben mit Vorlage.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels"Excel-Datei schreiben mit Vorlage" Ihren Wünschen entsprechend an.


Konfiguration des Hilfsmittels zum befüllen einer Excel-Datei:

Es sind keinerlei Konfigurationen im Makro des Hilfsmittels notwendig.


Feldbenamung in Excel festlegen

Damit das Hilfsmittel die Werte aus den AG-VIP SQL Feldern an die richtige Position in der Excel-Datei einfügt, müssen Sie die gewünschten Tabellenzelle in der Excel-Datei umbenennen.

Dazu gehen Sie am Besten wie folgt vor:
Sie selektieren die gewünschte Tabellenzelle in Excel und drücken die Tastenkombination STRG + F3 oder starten stattdessen den Namens-Manager manuell über den Reiter "Formeln" -> "Namens-Manager" (Excel2007, 2010).
Formeln - Namensmanager

Drücken Sie dann auf die "Neu" Schaltfläche um der selektierten Tabellenzelle (Hier im Beispiel die Tabellenzelle A1) einen anderen Namen zu vergeben als "A1" zum Beispiel "Salutation".
NamenManager

Wenn Sie den neuen Namen mit "OK" bestätigen wird dieser Name in der zuvor leeren Liste aufgeführt.
Die Tabellenzellenbezeichnung hat sich mit dieser Bestätigung automatisch auf den neu vergebenen Namen geändert.
A1_Salutation

Um eine bereits geänderte Tabellenzelle nochmals umzubenennen oder evtl. sogar zu löschen, muss diese Tabellenzelle über die Liste des Namens-Managers ausgewählt werden und dann über die anderen zwei Schaltflächen "Bearbeiten" und "Löschen" dementsprechend bearbeitet bzw. gelöscht werden.

Die genauen Feldnamen aus AG-VIP SQL sind in der Administration - Adresstabellen  in der gewünschten Adresstabelle der Spalte "Interner Name" zu finden. Dort ist auch der Beispielwert "Salutation" gelistet, welcher standardmäßig in jeder Adresstabelle existiert.
Adresstabelle_internerFeldname

Falls Sie ein Feld von AG-VIP SQL übertragen möchten, welches vom Datentyp Kennzeichenfeld oder Kennzeichenliste ist, so müssen Sie folgende Bezeichnung in der Tabellenzelle zum Internen Feldnamen aus AG-VIP SQL ergänzen:
at_


Beispiel für ein Feld vom Typ Kennzeichenfeld mit dem internen Namen "Status":
at_Status

Bei den Kennzeichendatentypen ist es möglich noch weitere Formatierungsangaben am Ende der Tabellenbezeichnung anzugeben:
_name (nur das Kennzeichenkürzel übertragen)
_desc (nur die Kennzeichenbeschreibung übertragen)
_both (Kennzeichenkürzel und Kennzeichenbeschreibung übertragen)

Beispiel basierend von dem Beispiel zuvor für die komplette Ausgabe (Kürzel + Beschreibung):
at_Status_both

Wenn keine Formatierungsangabe gemacht wird, so wird nur die Beschreibung ausgegeben (Standard)


Um auf Zähler zuzugreifen kann folgender Syntax verwendet werden:
Für den letzten Zähler: Counter.Last
Für den Zähler an Position 1: Counter.1
Für den Zähler mit dem Namen "RechnungsNr": Counter.RechnungsNr


Auf Felder des aktuellen Anwenders der die Excel-Datei befüllt, kann mit folgenden Feldbezeichnungen in Excel zugegriffen werden:

ActiveUser.FullName = Voller Name des Benutzers
ActiveUser.DirectPhoneNumber = Durchwahl des Benutzers
ActiveUser.Department = Abteilung des Benutzers
ActiveUser.Email = Emailadresse des Benutzers
ActiveUser.FaxNumber = Faxnummer des Benutzers
ActiveUser.Function = Funktion des Benutzers
Activeuser.City = Stadt des Benutzers
Activeuser.PhoneNumber = Telefonnummer des Benutzers
Activeuser.Country = Land des Benutzers
Activeuser.Id = ID des Benutzers
Activeuser.MobilePhoneNumber = Mobile Telefonnummer des Benutzers
Activeuser.Name = Name des Benutzers
Activeuser.State = Bundesland des Benutzers
Activeuser.Street = Straße des Benutzers
Activeuser.Street2 = Straße2 des Benutzers
Activeuser.ZipCode = Postleitzahl des Benutzers

Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL für jeden Benutzer hinterlegt.

Tabellenzellenverbunde:
Wenn die Werte aus AG-VIP SQL größer sind als die Spaltenbreite oder es mehrere Zeilen sind die übertragen werden (z.B. bei dem Briefkopf -> AddressStreet) so wird automatisch der Wert über das Feld hinweg eingetragen (überlappend) und sofern notwendig das Feld in der Anzahl von Zeilen erweitert. Dadurch werden evtl. andere benachbarte Felder verdeckt oder die Größe der Zeile verändert, was zu störenden optischen Veränderungen führen kann.
Markieren Sie die Tabellenzellen, welche Sie verbinden möchten und formatieren Sie die Zellen mit einem Rechtsklick und einem anschließenden Linksklick auf "Zellen formatieren".
ZellenFormatieren

Im Reiter "Ausrichtung" aktivieren Sie die Checkbox "Zellen verbinden" und bestätigen die Änderung mit "OK".
ZellenVerbinden

Nun sind diese drei Tabellenzellen (A1, B1 und C1) zu eine Zelle verbunden welches unseren zuvor definierten Namen "Salutation" hat.
SalutationVerbund

Wenn man jedoch einen Bereich (mehrere Tabellenzellen) miteinander verbindet, so wird der Wert auch nur in diesen Bereich eingetragen ohne das Formular zu beeinflussen. Sollte allerdings der Bereich zu klein gewählt worden sein, so kann es passieren, dass manche Inhalte nicht komplett dargestellt werden können.

In der beigefügten Vorlage werden ebenfalls Tabellenzellenverbunde verwendet.

Änderungsprotokoll
#14.03.2022: Erweiterung um Zähler-Platzhalter

1970-01-01 01:00
Peter Brandt

Feldänderungen in bestimmten Feldern protokollieren

Beschreibung:
Dieser Artikel beschreibt, wie man eine Protokollierung von Feldänderungen, z.B. an Stammdaten und Opt-In Felder, zu einer Auswahl von Feldern (auch in Zusatztabellen) umsetzen kann.
Die Protokollierung wird in einer Zusatztabelle gespeichert und kann darüber auch ausgewertet werden.
Benutzer benötigen keine Zugriffsrechte auf diese Zusatztabelle.

Damit kann dem Transparenzgebot der DSGVO Rechnung getragen werden.

Lösung:
Beim Laden einer Adresse, werden die Feldinhalte aus einer zuvor festgelegten Feld- und Zusatztabellenliste in einer globalen Variable gespeichert.
Beim Speichern werden die global gespeicherten Feldinhalte mit denen der aktuellen Feldern verglichen.
Sollte es Differenzen geben, so wird ein Protokolleintrag erzeugt.

Der Protokolleintrag besteht aus:
Datum+Zeit, Benutzername, Feldname, alter Feldinhalt, neuer Feldinhalt

Im Anhang dieses Knowledgebase Artikels finden Sie das notwendige Makroinclude "RecordChanges.agminc", welches die benötigten Funktionen bereitstellt um die Vorgänge durchzuführen.
Es müssen jedoch noch an drei Positionen Makrozeilen auf Ebene der Adresstabelle ergänzt werden, damit das Makroinclude auch ausgeführt wird.

Position 1:
Beim Öffnen der Adresstabelle wird die Liste der zu überprüfenden Felder über einen simplen Aufruf der Funktion "SetFieldsToCheck()" definiert:

MacroInclude "RecordChanges"
SetFieldsToCheck()

Position 2:
Beim Laden der Adresstabelle werden die Feldinhalte über den Aufruf der Funktion "SaveOriginalValues()" gesichert,
bevor ein Benutzer diese verändern kann.

MacroInclude "RecordChanges"
SaveOriginalValues()

Position 3:
Beim Speichern der Adresstabelle werden letztendlich die Feldinhalte der aktuellen Adresse mit den gespeicherten Feldinhalten
über die Funktion "CheckValueDifference()" verglichen:

MacroInclude "RecordChanges"
CheckValueDifference()

Zusätzlich muss noch eine Zusatztabelle angelegt werden, in denen die Daten protokolliert werden können.
Diese Zusatztabelle ist ebenfalls im Anhang enthalten und muss nur auf Adresstabellenebene importiert werden.

Zum Schluss können Sie die Liste der zu protokollierenden Felder im Makroinclude anpassen.
Es sind bereits sinnvolle Adressfelder vordefiniert, welche Sie jedoch Ihren Wünschen anpassen können.

 

Hinweis:
Wenn keine Protokollierung gewünscht ist, weil es zum Beispiel keine Zusatztabelle gibt die protokolliert werden muss, so muss eine leere Liste (ein leerer Array) übergeben werden.

Beispiel:
Application.GlobalData("changeWatchRelations")=Array()

 Siehe auch Erweiterung um Protokollierung Opt-In Felder und Auslösen der Opt-In Bestätigung

Änderungslog:

27.11.2020:

  • Einführung eines Fehler-Modus (IsErrorMode)

17.06.2020:

  • Protokollierung von Kennzeichenlisten integriert

22.01.2020:

  • Vordefinierte ChangeWatch Array-Feldliste verkleinert.

04.06.2019:

  • Dynamisch erzeugte Globale Variablen mit Prefixes versehen.
  • Explizite Text-Formatierung der Werte für Globale Variablen.

12.05.2016:

  • Kommentar im Makro bezüglich der Zusatztabellenprotokollierung ergänzt.

 06.05.2016:

  • Protokollierung von Zusatztabellen integriert

2018-05-11 16:39
Peter Brandt

Verwendung des SelectedObjects Objektes zur Auswahl Verarbeitung einer Zusatztabelle (z.B. Warenkorb)

Beschreibung:
In den vorherigen AG-VIP SQL Versionen (vor 1.40.003) war das Umsetzen einer Verarbeitung von ausgewählten Einträgen wegen der Selektierung bzw. Markierung der Zeilen in einer Zusatztabelle sehr umständlich, da man eine extra Spalte einbinden musste, welche die Auswahl über einen "Ja" bzw. "Nein" Wert identifizierte.
Seit der AG-VIP SQL Version 1.40.003 kann man die Selektierung per Makro direkt abfragen.

Allgemein:
Der Artikel befasst sich mit einer im unteren Abschnitt angehängten Telefonverkauf Beispiel, welche es ermöglicht einen Warenkorb in AG-VIP SQL abzubilden und dabei die Selektionen über das neue Makro-Objektmodell abzufragen.

Import des Beispiels:
Zuerst die Adresstabellenstrukturen importieren und anschließend die Ansichten.
Danach die Artikelliste in die Adresstabelle "Telefonverkauf Artikel" importieren.


Das Makro (Auf der "Telefonverkauf Bestellung mit SelectedObjects" in der Schaltfläche "In Warenkorb übernehmen" hinterlegt):
Option Explicit

' Zusatztabellen Objekt zum Auslesen erzeugen.
' Dabei ist zu beachten, dass über ActiveForm.Controls das Objekt erzeugt wird !
Dim oProducts
Set oProducts = Application.ActiveForm.Controls("Suchergebnis")

' Array der selektierten Objekte erstellen
Dim oSelItems
oSelItems = oProducts.SelectedObjects

' Analysieren ob überhaupt ein Eintrag ausgewählt wurde
If UBound(oSelItems)>=0 Then

' Zusatztabellen Objekt zum Eintragen der ausgelesenen Daten erzeugen
Dim oCart, oCartEntry
Set oCart = ActiveAddress.Relations("Warenkorb")

' Über alle ausgewählten Daten schleifen und übernehmen
Dim oProduct, strText
For Each oProduct in oSelItems
Set oCartEntry = oCart.Add
oCartEntry.Fields("W_Artikelnummer").Value = oProduct.Fields("S_Artikelnummer").Value
oCartEntry.Fields("W_Artikeltext").Value = oProduct.Fields("S_Artikeltext").Value
oCartEntry.Fields("W_Belegdatum").Value = Now()
oCartEntry.Fields("W_Menge").Value = "1"
oCartEntry.Fields("W_Preis").Value = oProduct.Fields("S_Preis").Value

Set oCartEntry = Nothing
Next
Else
MsgBox "Nichts ausgewählt"
End If

 

Änderungslog:
17.12.2013

  • Bestellansicht des beiliegenden Telefonverkauf Beispiels auf die Query Funktionalität angepasst (ohne SQL-Statements)

2013-12-17 12:27
Peter Brandt

Beispielprozess für das Auslesen eines POP3 Kontos für die Formularübernahme

Der POP3 Hintergrundprozess kann als Template dienen für die Übernahme von Emails aus einem POP3 Konto, dass durch ein WEB-Formular bedient wird.

Variablen zur Steuerung

Im Kopf des Makros befinden sich Variablen mit denen der Ablauf und das Verhalten des Hintergrundprozesses gesteuert werden können.

Alle Variablen werden im Makro beschrieben.

Spezielle Filter und Anpassungen je Feld

Für Layout und der Parser für die Formular Analyse wurde angenommen, dass es eine bestimmte Phrasde gibt, ab der die Formular Felder übertragen werden.

Es wird angenommen, dass jede Zeile mit dem Namen des Feldes beginnt und mit einem Doppelpunkt abgeschlossen wird.

Aktionen

In diesem Beispiel werden nur die Ergebnisse und die Emails im Protokoll ausgegeben. Weitere Aktionen finden nicht statt.

 

2015-07-23 16:22
Martin Richter

Beispiel xRM - Solution Selling

Beim Solution Selling geht es um den erfolgreichen Verkauf erklärungsbedürftiger Produkte im B2B Umfeld an Mehr-Personen-Entscheidungsprozesse (Buying Center).

Screenshot Solution Selling - xRM AG-VIP SQL

Das nachfolgende Beispiel für AG-VIP xRM besteht aus

  • der CRM Projekttabelle inkl. Zusatztabelle "Dienstleistungen"
  • drei Ansichten: xRM Projekt, xRM Historie, xRM Dienstleistung
  • den CRM Projekteinstellungen mit Verkaufsphasen und Rollen

Zum Konzept des Solution Selling empfehlen wir das kostenlose Whitepaper "Solution Selling.

Whitepaper Solution Selling

Voraussetzung

Die xRM Option zu AG-VIP SQL muss für Ihre Lizenz freigeschaltet sein.

Installation des Beispiels

Laden Sie die angehängte ZIP Datei unten herunter und entpacken diese auf Ihrem Rechner.

0. Vorlage administrative Aufgabe importieren

Wählen Sie unter Datei, Administration den Befehl "Vorlagen für administrative Aufgaben". Aktivieren Sie rechts den Schalter Import und importieren die Datei "Einrichtung xRM Solution Selling.agadmtasks". Somit haben Sie ihre Schritt-für-Schritt-Anleitung zur Einrichtung des beispielhaften Inboundprojektes in AG-VIP SQL immer vor Augen.

1. Adresstabelle importieren:

Sie melden sich mit administrativen Rechten an AG-VIP SQL an.
Wählen Sie aus dem Menü DATEI, ADMINISTRATION den Befehl ADRESSTABELLEN.
Legen Sie eine neue Adresstabelle an oder markieren eine bereits bestehende Adresstabelle, in der das neue xRM Projekt ergänzt werden soll.
Sie finden rechts den Schalter IMPORT. Wählen Sie nun die Datei "xRM Datenstruktur.agtbstr".
Bestätigen Sie die Dialoge mit OK und verlassen den Tabellenexplorer.

2. Ansicht übernehmen:

Wählen Sie aus dem Menü DATEI, ADMINISTRATION den Punkt ANSICHTEN. Der Formulareditor wird gestartet.
Hier klappen Sie im Menü DATEI, den Punkt IMPORT auf.
Importieren Sie nach einander die Dateien "xRM-Dienstleistung.agfrm", "xRM-Historie.agfrm" sowie "xRM-Projekt.agfrm" aus. Sie können die Oberfläche nun ggf. modifzieren und anpassen. Speichern Sie die Ansicht im Kontext "xRM Datenstruktur" ab.
Schließen Sie den Formulareditor.


3. xRM Projekteinstellungen importieren:

Zu guter Letzt übernehmen Sie die xRM Projekteinstellungen. Beim Solution Selling wird der Verkaufsprozess in unterschiedliche, in AG-VIP SQL frei definierbare Verkaufsphasen unterteilt. Diese dienen als Grundlage für das Vertriebscontrolling über den Verkaufstrichter. Verkaufsphasen lassen sich zeitliche Meilensteine zuordnen. Bei Überschreitung warnt AG-VIP den Anwender.

Zu einem xRM Projekt lassen sich beliebig Kontakte aus der Adresstabelle verknüpfen. Die Beziehung der Kontakte zum xRM Projekt können über frei definierbare Rollen festgelegt werden.

Wählen Sie bitte aus dem Arbeitsbereich ADMINISTRATION den Punkt CRM-PROJEKTVERWALTUNG.

Markieren Sie die xRM Projekttabelle "xRM Datenstruktur" und wählen rechts den Schalter IMPORT.

Wählen Sie nun die Datei "xRM Projekteinstellungen.agcrm" und passen das Muster entsprechend Ihren Wünschen an.

Damit haben Sie das Muster erfolgreich implementiert. Viel Erfolg im Verkauf!

 

2016-01-28 16:44
Markus Grutzeck

Dokumentenablage vereinfachen durch AG-VIP SQL

Zweck: Aus AG-VIP SQL können automatisch Dokumente erzeugt werden. Diese sollen dann in einem separaten Ordner zu einem bestimmten Kunden abgelegt werden.

Voraussetzung: Um auf Knopfdruck einen Ordner zur Dokumentenablage zu einem Datensatz zu erzeugen, gehen Sie wie folgt vor:

- Legen Sie in der Adresstabelle ein Feld vom Typ „Dateiname“ an.

- Platzieren Sie dieses anschließend auf der Ansicht. Wählen im Dropdown-Menü bei den Eigenschaften des Feldes unter Sonstiges „Verzeichnisauswahl“ aus.

- Erstellen Sie auf der Ansicht einen Schalter, welcher den Ordner erstellt und benennen Sie diesen. Auf diesem Schalter hinterlegen Sie folgenden Makro:

 

Dim objFSO, sVerzeichnis' Überprüfung, ob die benötigten Felder gefüllt sind
'Falls nicht, wird die Erstellung des Ordners abgebrochen
If Trim(ActiveRecord.Fields("NameLast").Value) = "" OR Trim(ActiveRecord.Fields("NameFirst").Value) = "" OR Trim(ActiveRecord.Fields("Number").Value) = "" Then
 MsgBox "Um den Ordner anzulegen, werden mindestens folgende Felder benötigt:"&vbCrLf&vbCrLf&" - Vorname"&vbCrLf&" - Nachname" &vbCrLf&" - Nummer", vbOkOnly+vbInformation, "AG-VIP SQL - Ordner anlegen"
 Macro.Exit
End If
'Geben Sie hier den Pfad an, unter dem der neue Ordner erstellt werden soll
'Sie können hier beliebige Felder hinterlegen, die in den Ordnernamen aufgenommen werden sollen (vergessen Sie bitte nicht die Prüfung, ob diese gefüllt sind)
'Weiterhin ist es wichtig, dass der Ordnername anhand der übergebenen Felder eindeutig ist
sVerzeichnis = "Y:\Temp\Ablage\"& _
    Application.Substitute("%NameLast% %NameFirst% %Number%", True)
    
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(sVerzeichnis) Then
 ActiveRecord.Fields("Unterlagen").Value = sVerzeichnis
 'Soll der Schalter nach dem Anlegen des Ordners unsichtbar werden, so kommentieren Sie die nächste Zeile bitte aus
 'CurrentForm.Controls("Ordner anlegen").Visible = false
Else
 objFSO.CreateFolder(sVerzeichnis)
 'MsgBox "Der Ordner wurde erfolgreich angelegt"
 ActiveRecord.Fields("Unterlagen").Value = sVerzeichnis
 'Soll der Schalter nach dem Anlegen des Ordners unsichtbar werden, so kommentieren Sie die nächste Zeile bitte aus
 'CurrentForm.Controls("Ordner anlegen").Visible = false
End If

- Passen Sie den Makrocode, an den in den Kommentaren beschriebenen Stellen, an.
- Speichern Sie die Änderungen der Ansicht.

- Wechseln Sie nun im Administrationsbereich in das Menü Hilfsmittel.

- Öffnen Sie das Hilfsmittel mit dem abzulegenden Dokument und gehen Sie in den Reiter Hilfsmittel Vorlage.

- Unter Zielverzeichnis geben Sie bitte den Pfad an, unter dem sich der zukünftig erstellte Ordner befinden wird. Arbeiten Sie mit den Platzhaltern der Felder des zuvor im Makro verwendeten Beispiels. In diesem Falle wären dies die Platzhalter %NameLast%, %NameFirst%, %Number%

- Speichern Sie die Einstellungen, indem Sie auf „OK“ klicken.

2016-06-03 14:34
Lukas Hölzer

Ein CRM-Ticket per Makro abschließen

Beschreibung:
Ein CRM-Ticket muss immer über einen Historieneintrag mit der höchsten Phase "Abschluss" abgeschlossen werden.

Erleichterung:
Um den Aufwand zu verringern, kann per Makro der erforderliche Historieneintrag mit einem Klick auf einen Schalter erzeugt und dadurch das CRM-Ticket abgeschlossen werden.
Dabei werden noch die Felder "Auftragswahrscheinlichkeit" auf 100%, "Vorgangsstatus" auf "Gewonnen" und "Abschlussdatum" auf das heutige Datum gesetzt.

Voraussetzung:
Es wird die AG-VIP SQL Version 1.5x benötigt sowie die AG-VIP SQL Option "XRM".

Makrocode per Klick:

Option Explicit 
' Es muss ein Datensatz da sein vom Typ CRM
If ActiveRecord.Type<>agRecordTypeProjectCRM Then
     MsgBox "Ein CRM-Datensatz muss geladen sein!"
     Macro.Exit
End If

'Auftragswahrscheinlichkeit = 100%
ActiveRecord.Fields("OrderPropability").Value = 100
    
'Vorgangsstatus = GEWONNEN
ActiveRecord.Fields("CurrentState").Value = 1
    
'Abschlussdatum = Jetzt
ActiveRecord.Fields("DateCompletion").Value = Now()

' Suche die Phase mit der höchsten Order
Dim oMax, oPhase
Set oMax = Nothing
For Each oPhase In ActiveRecord.Project.CRMPhases
     If oMax Is Nothing Then
         Set oMax = oPhase
     ElseIf oMax.Order<oPhase.Order Then
          Set oMax = oPhase
     End If
Next  
' Historieneintrag erstellen
Dim oHistEntry
Set oHistEntry = ActiveRecord.History.Add(agHistoryTypeNote)
' Maximale Phase und Text setzen.
oHistEntry.Fields("IdPhase").Value = oMax
oHistEntry.Fields("Text").Value = "Das CRM-Projekt wurde erfolgreich abgeschlossen!"

Weitere Anwendungsmöglichkeiten:
Durch eine Abfrage des Feldes "CurrentState", welches den Status "offen", "verloren" und "gewonnen" angibt,
könnte man sogar das Ticket automatisch beim Speichern abschließen.
Für diese Anwendungsmöglichkeit gibt es die "CRM-Projekt" Ansicht im Anhang zum Herunterladen.

2017-03-13 08:56
Peter Brandt

Neuanlegen von Datensätzen im "freien Arbeiten" verhindern

Problem:

Manchmal möchte man, dass Benutzer im sogenannten "freien Arbeiten" keine neuen Datensätze anlegen dürfen, um z.B. das Erzeugen von Dubletten zu verhindern.

Lösung:

Um Benutzer daran zu hindern, neue Datensätze im "freien Arbeiten" anzulegen, gehen Sie wie folgt vor:

  • Importieren Sie sich das angehängte MacroInclude (im Bereich Administration unter Verschiedenes)
  • Legen Sie eine Benutzergruppe in AG-VIP an und ordnen Sie dieser Gruppe die Benutzer zu, die keine neuen Datensätze anlegen dürfen 
  • Hinterlegen Sie das MacroInclude auf Ebene der Adresstabelle beim Laden (im Bereich Administration unter Datenbanken). Kopieren Sie dazu folgende Zeile: 

MacroInclude "Neuanlegen von Datensätzen verhindern"

  • Gleichen Sie den Namen der Benutzergruppe im MacroInclude an
'Checken, ob Datensatz neu ist
if ActiveRecord.State = 2 then
	'Wenn ja, dann muss überprüft werden, ob der aktuelle Benutzer sich in der "Negativgruppe" befindet	
	Dim benutzerGruppen, benutzerGruppe 
	'Gruppen holen, denen der Benutzer zugeordnet ist
	Set benutzerGruppen = Application.ActiveUser.Groups
	'Schleife, um Benutzer zu vergleichen
	for each benutzerGruppe in benutzerGruppen
		'Geben Sie in der nachfolgenden Zeile den Namen der Gruppe an
		if lcase(benutzerGruppe) = lcase("negativgruppe") Then
			'falls in Gruppe, dann soll eine Warnung ausgegeben und der Datensatz entladen werden
			MsgBox "Sie dürfen keine neuen Datensätze anlegen"
			ActiveRecord.unload
			Set benutzerGruppe = Nothing
			exit for
		end if
	next
	Set benutzerGruppen = Nothing
end if

2017-04-19 13:56
Lukas Hölzer

Wie ordne ich einen Außendienstler einem Datensatz zu?

Problem:

In der Akquise sollen potentiellen Interessenten skillbasiert einem passenden Außendienstmitarbeiter (ADM) zugeordnet werden.

Lösung:

Das optionale Add-On "Terminvereinbarung" zur CRM Software AG-VIP verfügbar bereits über eine skillbasierte Verwaltung von Außendienstmitarbeitern. So lassen sich z.B. je ADM PLZ Gebiete zuordnen, um eine regionale Zuordnung zu erzielen. Es sind aber auch andere Skills denkbar.

Beim Add-On "Terminvereinbarung" erfolgt die ADM Zuordnung aber erst, wenn ein Termin vereinbart wird. Oft gibt es aber auch eine Bedarfssituation oder einen direkte Aktion für den Außendienstler zu diesem Interessenten. Auch in diesem Fall muss der Außendienstler zugeordnet werden.

Über angehängten MacroInclude "ADM Zuordnung Add-On Terminvereinbarung" können unabhängig von der Einstufung Datensätze ADM zugeordnet werden. Der Makro kann in einer Reaktion vor Einstufung oder über einen Schalter auf der Ansicht ausgelöst werden.

2017-09-11 10:26
Markus Grutzeck

PDF Formulare mit einem Hilfsmittel ausfüllen

Zweck:

PDF Formulare müssen unter Umständen ausgefüllt und gedruckt werden.
Das automatische Ausfüllen von PDF Formularen ist mit der Hilfe von FDF-Dateien und dem Adobe Reader direkt möglich.
Die PDF Datei selbst wird dabei jedoch nicht verändert.

Beschreibung:

Im vorgegebenen Beispiel werden Felder eines vorgegebenen PDF Formulards mit Daten aus AG-VIP SQL gefüllt.
Dabei wird eine FDF Datei mit den Feldinhalten gefüllt und die dazugehörige PDF Datem mit dem Adbobe Reader geöffnet. 
Welche Felder aus AG-VIP SQL welchem Feld in der PDF Datei zugeordnet werden soll wird, über zwei einfache Arrays im Hilfsmittel gesteuert. Die Beschreibung findet sich im Beispiel Makro.

Array 1: aTextValues 

Im Array aTextValues können Texte und Felder aus der AG-VIP SQL Datenbank übergeben werden. Die Feldnamen aus AG-VIP SQL müssen dazu in Prozentzeichen eigeschlossen werden. Es ist möglich, einem PDF Feld mehrere AG-VIP Felder zuzuordnen.
Es ist auch möglich, über ein vorangestelltes @ Zeichen komplette Kennzeichenbeschreibungen zu übernehmen.
Auch reservierte Namen wie ActiveUser.Name werden berücksichtigt.
Der Algorithmus ist identisch mit dem aktuellen Ersetzungsmechanismus aus den Email-Hilfmitteln.

' Der Erste Array ist eine Zuodrnung von Feldnamen und Texten. Die Texte die eingefügt werden, 
' dürfen Platzhalter enthalten wie das auch bei Email-Vorlagen möglich ist. Feldnamen
' werden in % eigeschlodsen. Reservierte Namen und @ Zeichen für Kennzeichentexte sind möglich.
' Ein Array Paar besteht immer aus dem Namen des PDF Feldes und dem zuzuordnenden Inhalt.
Dim aTextValues
aTextValues = Array( _
Array("Name","%NameFirst% %NameLast%"), _
Array("Employer","%Name1%"), _
Array("Address","%Street%, %ZipCode% %City%"), _
Array("Phone","%CommPhoneOffice%") _
)

Array 1: aPlainTextValues 

Über einen zweiten Array können statische Werte übergeben werden. D.h. hier findet keine Substitution statt.

' Der zweite Array ordnet direkt feste Text einem Feld zu. Das dient insbesondere festen Werten
' oder auch errechneten Werten.
' Ein Array Paar besteht immer aus dem Namen des PDF Feldes und dem zuzuordnenden Inhalt.
' Das können natürlich auch wieder Feldinhalte aus der Datenbank sein.
Dim aPlainTextValues
aPlainTextValues = Array( _
Array("Sex","M"), _
Array("Sports","Yes"), _
Array("Arts","No"), _
Array("Reading","Yes"), _
Array("Travel","No") _
)

Weiter Hinweise:

Um PDF Formulare ausfüllen zu können, ist es unbedingt notwendig, die Namen der Felder im PDF Formular zu kennen.
Um die Feldnamen zu ermitteln, empfehle ich die kostenlose Version des Tools PDFTK zu nutzen.

Um die Felder eines PDFs anzuzeigen, ist auf der Befehleszeile der folgende Befehl anzugeben:

C:\Program Files (x86)\pdftk\bin\pdftk.exe" Forumular.pdf dump_data_fields

Die Ausgabe zeigt dann alle Felder und deren Datentypen an mit eventuell vorhandenen Beschränkungen. 

Änderungen:
2019-05-07 MRi: Leere Datumsfelder korrekt behandeln. Dynamische Zieldateinamen erlauben.

2019-05-07 09:05
Martin Richter

Beispiel für die Steuerung der Sprachaufzeichnung in der Telefonie von AG-VIP SQL

Zweck:

Dieses Beispiel zeigt, wie über Makros die Sprachaufzeichnung von AG-VIP SQL gesteuert werden kann.

Beschreibung:

Seit der Version 2.00 werden auch Telefonie-Provider mit Sprachaufzeichnung unterstützt.
Die automatische Sprachaufzeichnung ohne weitere Software wurde zum Beispiel im SIP-VoIP Provider implementiert.

Für die Integration wurden in der Automatisationsinterface von AG-VIP SQL neue Befehle eingeführt.
ActiceCall verfügt nun über die neuen Methoden: CanRecord, StartRecording, StopRecording, IsRecodring, RecordFilename!

Die angehängte Ansicht verfügt über zwei Buttons für das starten der Aufzeichnung und das Beenden der Aufzeichnung. Der Name der MP3 Datei, wird dabei aus dem Feldkurzname und einem Zeitstempel gebildet.

Ein Befehl zum Beenden der Sprachaufzeichnung ist nicht nötig. Die Sprachaufzeichnung läuft automatisch bis Gesprächsende, wenn diese nicht zuvor beendet wird. Das Stoppen der Sprachaufzeichnung ist also nur von Interesse, wenn dies durch den Anwender explizit passieren soll.

Nachfolgend der relevante Makro-Code zum Start der Sprachaufzeichnung.

' Aufnahme Modus
' agRecordModeAll = 0, alles wird aufgezeichnet
' agRecordModeLocal = 1, nur die lokale Seite wird aufgenommen
' agRecordModeRemote = 2, nur der entfertne Gesprächsteilnehmer wird aufgenommen.
const iRecord = 0

' Der folgende Wert legt den Ablage Pfad fest
Dim strPath, strName
strPath = "D:\Temp\"

' Der Dateiname der verwendet werden soll setzt sich hier aus dem Datum und dem Kurznamen zusammen
strPath = strPath + Application.Substitute("%!DATETIMESTAMP% %ShortName%.mp3",true)

'----------------------------------------------------
If Application.ActiveCall Is Nothing Then
     MsgBox "Es wird aktuell kein Telefonat geführt!"
     Macro.Exit
End If

If Not Application.ActiveCall.CanRecord Then
     MsgBox "Dieser Provider unterstützt keine Sprachaufzeichnung!"
     Macro.Exit
End If

If Application.ActiveCall.IsRecording Then
    MsgBox "Eine Sprachaufzeichnung läuft bereits!"
    Macro.Exit
End If

' Bestimme Historien Typ
Dim iType
If Application.ActiveCall.IsInbound Then iType = 2 Else iType = 3

' Recording starten
If Not Application.ActiveCall.StartRecording(strPath, iRecord) Then
     MsgBox "Die Sprachaufzeichnung konnte nicht gestartet werden!"
    Macro.Exit
End If

' Neuen Historieneintrag erzeugen
 With ActiveRecord.History.Add(iType) 
    .Fields("Time") = Date
    .Fields("Text") = "Gesprächsaufzeichnung"
    .Fields("File") = strPath
End With

.

2019-03-20 10:34
Martin Richter

Hintergrundprozess - Daten anonymisieren

Herausforderung: Anonymisierung von Daten

Der Gesetzgeber fordert die Anonymisierung Personen bezogener Daten. Das basiert auf Grundlage folgender Gesetze:

1. Datenschutz-Grundverordnung (DSGVO) der EU

  • Artikel 4(1) DSGVO definiert personenbezogene Daten als alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person beziehen.
  • Artikel 5 DSGVO fordert, dass personenbezogene Daten nur so lange in einer Form gespeichert werden, die die Identifizierung der betroffenen Personen ermöglicht, wie es für die Zwecke, für die die Daten verarbeitet werden, erforderlich ist.
  • Artikel 25 DSGVO (Datenschutz durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen): Verantwortliche müssen geeignete technische und organisatorische Maßnahmen ergreifen, um den Schutz personenbezogener Daten zu gewährleisten, was auch Anonymisierung einschließt.
  • Erwägungsgrund 26 DSGVO: Anonymisierte Daten fallen nicht in den Anwendungsbereich der DSGVO, da sie keine personenbezogenen Daten mehr darstellen.

2. Bundesdatenschutzgesetz (BDSG) in Deutschland

  • § 27 BDSG: Regelt den Datenschutz im Zusammenhang mit der Verarbeitung personenbezogener Daten zu wissenschaftlichen, statistischen oder historischen Forschungszwecken, wobei Anonymisierung eine zentrale Rolle spielt.
  • § 28 BDSG: Behandlung von personenbezogenen Daten im Beschäftigungskontext, wobei die Anonymisierung von Daten eine empfohlene Maßnahme ist, wenn die Daten zu anderen Zwecken weiterverarbeitet werden sollen.

3. Telekommunikationsgesetz (TKG) und Telemediengesetz (TMG)

Beide Gesetze enthalten spezifische Regelungen zum Schutz personenbezogener Daten in der elektronischen Kommunikation und bei Telemediendiensten, die ebenfalls Maßnahmen zur Anonymisierung vorsehen.

Lösung:

Mit diesem Hintergrundprozess werden Daten in AG-VIP SQL anonymisiert.

Konfiguration:

Um zu vermeiden, dass dieser Job ungewollt Daten anonymisiert, muss zuerst der Adresstabellenname im Makro manuell eingetragen werden.
strTableName = "Hier muss der Name der Adressentabelle eingetragen werden"

Es kann eine Anzahl an Tagen festgelegt werden, worüber Datensätze die diese Anzahl an Tagen mindestens nicht bearbeitet wurden, anonymisiert werden.
iMinDaysNotModified = 365*10

Anstatt die Feldinhalte zu leeren, kann stattdessen ein festgelegtes Zeichen oder eine Zeichenfolge zum Ersetzen der Feldwerte verwendet werden.
CONST strEmtpyValue = "***"

Wenn nur bestimmte Felder anonymisiert werden sollen, können diese über den internen Feldnamen nach folgendem Syntax aufgeführt werden:
arrFieldlist = Array(_
"Shortname",_
"NameFirst",_
"NameLast",_
"Street",_
"ZipCode",_
"City",_
"CommPhone1",_
"CommPhone2",_
"CommPhone3",_
"CommPhoneCentral" _
)

Wenn alle Felder anonymisiert werden sollen, kann folgende Variable auf true gesetzt werden (Als Standard = false wird die Feldliste verwendet):
bClearAllFields = false

Über folgende Variable ist es möglich auch die Texte der Historieneinträge sowie die Pfade der evtl. angehängten Dateien zu anonymisieren.
Als Standard = false wird die History nicht anonymisiert.
bClearHistory = false

Hintergrundjob implementieren

  1. Laden Sie die angehängte ZIP-Datei herunter und entpacken diese.
  2. Gehen Sie in AG-VIP in den Arbeitsbereich Administration auf Hintergrundprozesse.
  3. Klicken Sie auf den Schalter Import.
  4. Wählen Sie die entpackte Musterdatei aus diesem Beitrag.
  5. Nehmen Sie die gewünschte Konfiguration vor.
  6. Wählen Sie den gewünschten Zeitplan für die Ausführung des Hintergrundjobs.

2024-06-20 12:02
Peter Brandt

Beispiel: Telefonverkauf mit AG-VIP

1. Inhalt

Dieses Beispiel zeigt, wie AG-VIP SQL für den Telefonverkauf genutzt werden kann. Es beschreibt den gesamten Verkaufsprozess, die Verwendung von Adresstabellen zur Verwaltung von Kontakten und Artikeln sowie den Workflow zur Erfassung und Nachverfolgung von Bestellungen und Kundendaten.


2. Zweck

Unternehmen setzen AG-VIP als Telefonverkaufssystem ein, um Produkte effizienter an Kunden zu vertreiben. Das System bietet eine klare Struktur, um Verkäufe besser zu organisieren, Bestellungen nachzuverfolgen und Kundendaten systematisch zu verwalten.

  • Die Verwaltung von Kundenkontakten erfolgt über eine zentrale Adresstabelle mit Stammdaten, in der alle relevanten Informationen zu bestehenden und potenziellen Kunden erfasst werden.

  • In einer separaten Adresstabelle werden Produktdaten gepflegt.




  • Der Verkaufsprozess wird durch einen vordefinierten Workflow gesteuert, der Verkäufer Schritt für Schritt durch den Ablauf führt.

  • Jeder Verkauf wird gespeichert, sodass zu einem späteren Zeitpunkt nachvollzogen werden kann, welche Produkte ein Kunde bereits gekauft hat, wann er zuletzt kontaktiert wurde und welche Verkaufsergebnisse erzielt wurden. Diese Informationen können für zukünftige Verkaufsaktivitäten oder zur Kundenbetreuung genutzt werden.

Das gesamte System ist flexibel und kann individuell an die spezifischen Anforderungen eines Unternehmens angepasst werden.


3. Struktur des Prozesses

Der Verkaufsprozess basiert auf mehreren Tabellen, die verschiedene Daten speichern und verarbeiten. Jede Tabelle erfüllt eine spezifische Funktion.

  1. Die Adresstabelle Artikel ist der erste Schritt im Verkaufsprozess. In dieser wird der gesamte Artikelbestand verwaltet. Es werden alle relevanten Produktinformationen gespeichert und gepflegt. Sie bildet die Grundlage für die Produktsuche im Prozess.
  2. Der Verkäufer sucht im Workflow anhand einer Warengruppe oder eines Stichworts nach passenden Produkten für den Kunden. Diese Suche erfolgt in der Adresstabelle Artikel, in der sämtliche Produkte gespeichert sind.

  3. Nach der Auswahl eines oder mehrerer Artikel werden diese in den Warenkorb übernommen. Der Warenkorb ist eine Zusatztabelle, die für jeden Kunden individuell die ausgewählten Artikel speichert.

  4. Nachdem der Kunde seine Auswahl bestätigt hat, wird die Bestellung zunächst als Ticket in die nächste Bearbeitungsstufe überführt. In dieser Stufe überprüft der Teamleiter die Bestellung und gibt sie frei. Nach der Freigabe werden die Daten aus dem Warenkorb automatisch in die Bestellhistorie übertragen. Diese speichert sämtliche abgeschlossenen Bestellungen. Dadurch kann nachvollzogen werden, welche Artikel ein Kunde in der Vergangenheit gekauft hat.

  5. Die Daten fließen in diesem Prozess von der Produktsuche über den Warenkorb zur Bestellhistorie.

4. Einrichtung des Systems

4.1. Import der Datenstruktur

Um die Datenstruktur in AG-VIP zu importieren, muss das Programm gestartet werden. Anschließend wird im Arbeitsbereich Administration – Datenbank – Tabellen ausgewählt.

Der Import-Schalter öffnet ein Dialog für die Dateiauswahl. Die Dateien "Telefonverkauf Artikel.agtbstr" und "Telefonverkauf Stammdaten.agtbstr" müssen ausgewählt und importiert werden. Dadurch werden die Tabellen für Artikel und Kundenstammdaten in die Datenbank eingefügt.

4.2. Import der Ansichten

Es müssen verschiedene Ansichten importiert werden. Dies geschieht über das Menü Administration – Datenbank – Ansichten.

Der Ansichteneditor wird gestartet, und unter Datei – Import werden die folgenden Dateien ausgewählt und importiert:

  • "Telefonverkauf Stammdaten.agfrm" wird in der Adresstabelle "Telefonverkauf Stammdaten" hinterlegt. Diese Ansicht dient der Kundenverwaltung.
  • "Telefonverkauf Bestellung.agfrm" wird im Workflow-Projekt "Telefonverkauf" gespeichert. Diese Ansicht ermöglicht die Erfassung neuer Bestellungen.
  • "Telefonverkauf Bestellung abschließen.agfrm" wird ebenfalls im Workflow-Projekt "Telefonverkauf" hinterlegt. Diese Ansicht wird verwendet, um eine Bestellung zu finalisieren und abzuschließen.
  • "Artikel Verwaltung.agfrm" wird in der Adresstabelle "Telefonverkauf Artikel" gespeichert. Diese Ansicht ermöglicht die Verwaltung der einzelnen Artikel, einschließlich der Preise und Bestände.

4.3. Import der Hilfsmittel

In AG-VIP SQL besteht die Möglichkeit, Rechnungen, Lieferscheine und andere Dokumente automatisch zu erzeugen und diese mit den entsprechenden Daten aus dem System zu füllen. Da jedes Unternehmen individuelle Anforderungen an die Dokumentengestaltung hat, müssen die Vorlagen entsprechend angepasst und konfiguriert werden. Dies betrifft insbesondere Inhalte wie:

  • Firmenlogo und Adressdaten
  • Standardtexte für Rechnungen und Lieferscheine
  • Platzhalter für dynamische Felder (z. B. Kundenname, Bestellnummer, Artikelpositionen)
  • Steuer- und Zahlungsinformationen

Kundennummern, Rechnungsnummern und Lieferscheinnummern werden in AG-VIP automatisch über Zähler erzeugt. Diese müssen im Menü Administration – Verschiedenes – Zähler angelegt werden.



Es ist wichtig, dass die IDs 11, 12 und 13 verwendet werden.

Die im Beispiel enthaltenen Muster für Rechnungen und Lieferscheine können als Grundlage für die individuelle Anpassung genutzt werden. Diese werden im Menü Administration – Verschiedenes – Hilfsmittel importiert. Es wird empfohlen, die Hilfsmittel im Kontext der Adresstabelle „Telefonverkauf Stammdaten“ zu importieren. Zudem sollten die Pfade der Vorlagen und Ablageorte individuell angepasst werden.

Die folgenden Hilfsmittel sind im Musterprojekt enthalten:

  1. Rechnung: Automatische Generierung einer Rechnung mit allen Bestelldetails.
  2. Rechnung Begleitschreiben: Outlook E-Mail Vorlage mit der Rechnung als .pdf im Anhang. Hierfür ist eine E-Mail Vorlage erforderlich.
  3. Lieferschein: Erzeugt einen Lieferschein mit den entsprechenden Artikeln und Mengen.
  4. Lieferschein Begleitschreiben: Outlook E-Mail Vorlage mit dem Lieferschein als .pdf im Anhang. Hierfür ist eine E-Mail Vorlage erforderlich.

Die E-Mail Vorlage kann in einem E-Mail Client geschrieben und bspw. als Outlook-Vorlage (.oft) gespeichert werden. Diese kann dann als Vorlagen-Datei in das entsprechende Hilfsmittel in AG-VIP eingebunden werden. Alle Dateien liegen in dem "Samples" Ordner im AG-VIP Verzeichnis.

4.4. Import der MacroIncludes

Die Vorlage enthält mehrere Makros, die die Funktionalität des Prozesses ermöglichen. Diese Makros automatisieren verschiedene Abläufe, wie die Artikelsuche, das Hinzufügen von Artikeln in den Warenkorb, die Berechnung des Warenkorbs und die Reduzierung des Lagerbestands. Diese müssen im Arbeitsbereich Administration – MacroIncludes – Import importiert werden.

Nach dem Import stehen die folgenden Makros zur Verfügung:

  1. Telefonverkauf – Artikelsuche ermöglicht die Suche nach Produkten anhand von Stichworten oder Warengruppen.

  2. Telefonverkauf – Bestellung abschließen steuert die Abschlussphase der Bestellung und überführt sie in die nächste Bearbeitungsstufe zur Freigabe.

  3. Telefonverkauf – Button Artikel in Warenkorb hinzufügen sorgt dafür, dass Artikel per Button-Klick in den Warenkorb übernommen werden.

  4. Telefonverkauf – Doppelklick Artikel in Warenkorb ermöglicht das Hinzufügen von Artikeln durch Doppelklick auf einen Artikel in der Suchtabelle.

  5. Telefonverkauf – Lagerbestand reduzieren reduziert den Artikelbestand, sobald eine Bestellung bestätigt wird.

  6. Telefonverkauf – Warenkorb berechnen berechnet den Gesamtwert der Artikel im Warenkorb unter Berücksichtigung von Mengen, Rabatten und Einzelpreisen.

  7. Telefonverkauf – Warenkorb leeren ermöglicht das Entfernen aller Artikel aus dem Warenkorb.

4.5. Einrichtung des Workflows

Der Import des Workflows erfolgt erst als letzter Schritt, um sicherzustellen, dass alle benötigten Komponenten bereits vorhanden sind und richtig verknüpft werden können.

Er steuert den gesamten Verkaufsprozess und wird über die Projektverwaltung eingerichtet. Dazu wird im Menü Administration – Workflow-Projekte geöffnet.

In der Workflow-Projekt Verwaltung wird die Adresstabelle "Telefonverkauf Stammdaten" ausgewählt. Anschließend wird die Projekttabelle "Telefonverkauf" markiert. Durch Anklicken des Import-Schalters und Auswahl der Datei "Telefonverkauf.agproj" wird der Workflow importiert.

Hinweis: Die Stufen sind aktuell auf SONSTIGES gesetzt. Für eine erzwungene Anwahl im Klick-to-Dial oder Powerdial muss die Stufe entsprechend angepasst werden.

4.6. Optionale Schalter

Ein-/ausschalten der Lagerverwaltung

Über das Feld "Artikel Bestand" kann der Verkäufer überprüfen, ob ein Artikel noch in ausreichender Menge verfügbar ist. Falls der Lagerbestand zu niedrig ist, wird ein Hinweis angezeigt, damit der Verkäufer entsprechend reagieren kann.

Diese Funktion kann in dem MacroInclude "Telefonverkauf - Lagerbestand reduzieren" ausgeschaltet werden, indem die Variable "LagerbestandAbbuchungAktiv" in Zeile 10 auf "False" gesetzt wird. 


5. Nutzung des Telefonverkaufs-Workflows

Artikelverwaltung

Das logische Feld "aktiv" bestimmt, ob ein Artikel in der Suche innerhalb des Workflows angezeigt wird. Falls ein Artikel nicht mehr verkauft werden soll, kann dieses Feld deaktiviert werden, sodass der Artikel nicht mehr in den Suchergebnissen erscheint.

Produktsuche und Warenkorb-Funktion

Die Produktsuche erfolgt anhand der Warengruppe oder eines Stichworts. Dadurch kann der Verkäufer gezielt nach Artikeln suchen, die für den Kunden relevant sind.

Die Suchergebnisse werden in einer temporären Tabelle gespeichert und dem Verkäufer angezeigt. Dieser kann nun einzelne Artikel auswählen und mit einem Klick in den Warenkorb übernehmen.

Bestellprozess

Der Warenkorb kann vom Verkäufer jederzeit angepasst werden. Es ist möglich, die Menge eines Artikels zu ändern, Rabatte zu gewähren oder den Gesamtpreis sowie Deckungsbeitrag der Bestellung zu berechnen.

Bevor die Bestellung abgeschlossen wird, erhält der Anwender eine Bestellübersicht. Hier kann er noch einmal alle Positionen der Bestellung überprüfen. Falls Änderungen notwendig sind, können diese vor der endgültigen Bestätigung vorgenommen werden.

Nach Abschluss des Bestellvorgangs werden die Daten in die Bestellhistorie übertragen. Dadurch wird jede Bestellung dokumentiert und kann zu einem späteren Zeitpunkt eingesehen werden.

Kundenhistorie und Nachverfolgung

Alle Interaktionen mit dem Kunden werden dokumentiert. Dadurch ist es jederzeit möglich nachzuvollziehen, wann der Kunde zuletzt kontaktiert wurde und welche Gespräche geführt wurden.

2025-02-28 13:34
Marko Sekuljica

Problemlösungen

Zur Kategorie

3-stellige Ländercodes nach ISO 3166

AG-VIP SQL verwendet im Feld "Land" den 3-stelligen Ländercode noch ISO 3166-1-alpha-3. Für die Vorbereitung einer Datenübernahme ist es hilfreich zu wissen, welche Ländernamen mit welchem Code zu versehen ist.

Weitere Informationen und eine vollständige Übersicht aller ISO-3166 finden Sie auch hier:
http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste

Nachfolgend eine Übersichtsliste:

ISO3   ISO2  Name
--------------------------------------------
ABW    AW    Aruba
AFG    AF    Afghanistan
AGO    AO    Angola
AIA    AI    Anguilla
ALA    AX    Åland Inseln
ALB    AL    Albanien
AND    AD    Andorra
ANT    AN    Niederländische Antillen
ARE    AE    Vereinigte Arabische Emirate
ARG    AR    Argentinien
ARM    AM    Armenien
ASM    AS    Amerikanisch Samoa
ATA    AQ    Antarktis
ATF    TF    Französische Südgebiete
ATG    AG    Antigua und Barbuda
AUS    AU    Australien
AUT    AT    Österreich
AZE    AZ    Aserbaidschan
BDI    BI    Burundi
BEL    BE    Belgien
BEN    BJ    Benin
BFA    BF    Burkina Faso
BGD    BD    Bangladesch
BGR    BG    Bulgarien
BHR    BH    Bahrain
BHS    BS    Bahamas
BIH    BA    Bosnien und Herzegowina
BLR    BY    Weißrussland
BLZ    BZ    Belize
BMU    BM    Bermuda
BOL    BO    Bolivien
BRA    BR    Brasilien
BRB    BB    Barbados
BRN    BN    Brunei Darussalam
BTN    BT    Bhutan
BVT    BV    Bouvetinsel
BWA    BW    Botsuana
CAF    CF    Zentralafrikanische Republik
CAN    CA    Kanada
CCK    CC    Kokosinseln
CHE    CH    Schweiz
CHL    CL    Chile
CHN    CN    China
CIV    CI    Côte d´Ivoire
CMR    CM    Kamerun
COD    CD    Kongo, Dem. Rep.
COG    CG    Kongo
COK    CK    Cookinseln
COL    CO    Kolumbien
COM    KM    Komoren
CPV    CV    Kap Verde
CRI    CR    Costa Rica
CUB    CU    Kuba
CXR    CX    Weihnachtsinsel
CYM    KY    Kaimaninseln
CYP    CY    Zypern
CZE    CZ    Tschechische Republik
DEU    DE    Deutschland
DJI    DJ    Republik Dschibuti
DMA    DM    Dominica
DNK    DK    Dänemark
DOM    DO    Dominikanische Republik
DZA    DZ    Algerien
ECU    EC    Ecuador
EGY    EG    Ägypten
ERI    ER    Eritrea
ESH    EH    Westsahara
ESP    ES    Spanien
EST    EE    Estland
ETH    ET    Äthiopien
FIN    FI    Finnland
FJI    FJ    Fidschi
FLK    FK    Falklandinseln
FRA    FR    Frankreich
FRO    FO    Färöer
FSM    FM    Mikronesien, Föderierte Staaten von
GAB    GA    Gabun
GBR    GB    Vereinigtes Königreich
GEO    GE    Georgien
GGY    GG    Guernsey
GHA    GH    Ghana
GIB    GI    Gibraltar
GIN    GN    Guinea
GLP    GP    Guadeloupe
GMB    GM    Gambia
GNB    GW    Guinea-Bissau
GNQ    GQ    Äquatorialguinea
GRC    GR    Griechenland
GRD    GD    Grenada
GRL    GL    Grönland
GTM    GT    Guatemala
GUF    GF    Französisch Guiana
GUM    GU    Guam
GUY    GY    Guyana
HKG    HK    Hong Kong
HMD    HM    Heard Insel und McDonald Inseln
HND    HN    Honduras
HRV    HR    Kroatien
HTI    HT    Haiti
HUN    HU    Ungarn
IDN    ID    Indonesien
IMN    IM    Isle of Man
IND    IN    Indien
IOT    IO    Britische Territorien im Indischen Ozean
IRL    IE    Irland
IRN    IR    Iran, Islam. Rep.
IRQ    IQ    Irak
ISL    IS    Island
ISR    IL    Israel
ITA    IT    Italien
JAM    JM    Jamaika
JEY    JE    Jersey
JOR    JO    Jordanien
JPN    JP    Japan
KAZ    KZ    Kasachstan
KEN    KE    Kenia
KGZ    KG    Kirgisistan
KHM    KH    Kambodscha
KIR    KI    Kiribati
KNA    KN    St. Kitts und Nevis
KOR    KR    Korea, Rep.
KWT    KW    Kuwait
LAO    LA    Laos, Dem. Volksrep.
LBN    LB    Libanon
LBR    LR    Liberia
LBY    LY    Libysch-Arabische Dschamahirija
LCA    LC    St. Lucia
LIE    LI    Liechtenstein
LKA    LK    Sri Lanka
LSO    LS    Lesotho
LTU    LT    Litauen
LUX    LU    Luxemburg
LVA    LV    Lettland
MAC    MO    Macao
MAR    MA    Marokko
MCO    MC    Monaco
MDA    MD    Moldau, Rep.
MDG    MG    Madagaskar
MDV    MV    Malediven
MEX    MX    Mexiko
MHL    MH    Marshallinseln
MKD    MK    Mazedonien, ehemalige jugoslawische Republik
MLI    ML    Mali
MLT    MT    Malta
MMR    MM    Myanmar
MNE    ME    Montenegro
MNG    MN    Mongolei
MNP    MP    Nördliche Marianen
MOZ    MZ    Mosambik
MRT    MR    Mauretanien
MSR    MS    Montserrat
MTQ    MQ    Martinique
MUS    MU    Mauritius
MWI    MW    Malawi
MYS    MY    Malaysia
MYT    YT    Mayotte
NAM    NA    Namibia
NCL    NC    Neukaledonien
NER    NE    Niger
NFK    NF    Norfolk Insel
NGA    NG    Nigeria
NIC    NI    Nicaragua
NIU    NU    Niue
NLD    NL    Niederlande
NOR    NO    Norwegen
NPL    NP    Nepal
NRU    NR    Nauru
NZL    NZ    Neuseeland
OMN    OM    Oman
PAK    PK    Pakistan
PAN    PA    Panama
PCN    PN    Pitcairn
PER    PE    Peru
PHL    PH    Philippinen
PLW    PW    Palau
PNG    PG    Papua-Neuguinea
POL    PL    Polen
PRI    PR    Puerto Rico
PRK    KP    Korea, Dem. Volksrep.
PRT    PT    Portugal
PRY    PY    Paraguay
PSE    PS    Palästinische Gebiete
PYF    PF    Französisch Polynesien
QAT    QA    Katar
REU    RE    Réunion
ROU    RO    Rumänien
RUS    RU    Russische Föderation
RWA    RW    Ruanda
SAU    SA    Saudi-Arabien
SDN    SD    Sudan
SEN    SN    Senegal
SGP    SG    Singapur
SGS    GS    Südgeorgien und die Südlichen Sandwichinseln
SHN    SH    Saint Helena
SJM    SJ    Svalbard und Jan Mayen
SLB    SB    Salomonen
SLE    SL    Sierra Leone
SLV    SV    El Salvador
SMR    SM    San Marino
SOM    SO    Somalia
SPM    PM    Saint Pierre und Miquelon
SRB    RS    Serbien
STP    ST    São Tomé und Príncipe
SUR    SR    Suriname
SVK    SK    Slowakei
SVN    SI    Slowenien
SWE    SE    Schweden
SWZ    SZ    Swasiland
SYC    SC    Seychellen
SYR    SY    Syrien, Arab. Rep.
TCA    TC    Turks- und Caicosinseln
TCD    TD    Tschad
TGO    TG    Togo
THA    TH    Thailand
TJK    TJ    Tadschikistan
TKL    TK    Tokelau
TKM    TM    Turkmenistan
TLS    TL    Timor-Leste
TON    TO    Tonga
TTO    TT    Trinidad und Tobago
TUN    TN    Tunesien
TUR    TR    Türkei
TUV    TV    Tuvalu
TWN    TW    Taiwan
TZA    TZ    Tansania, Vereinigte Rep.
UGA    UG    Uganda
UKR    UA    Ukraine
UMI    UM    United States Minor Outlying Islands
URY    UY    Uruguay
USA    US    Vereinigte Staaten von Amerika
UZB    UZ    Usbekistan
VAT    VA    Heiliger Stuhl
VCT    VC    St. Vincent und die Grenadinen
VEN    VE    Venezuela
VGB    VG    Britische Jungferninseln
VIR    VI    Amerikanische Jungferninseln
VNM    VN    Vietnam
VUT    VU    Vanuatu
WLF    WF    Wallis und Futuna
WSM    WS    Samoa
YEM    YE    Jemen
ZAF    ZA    Südafrika
ZMB    ZM    Sambia
ZWE    ZW    Simbabwe

2011-08-18 15:16
Markus Grutzeck

Outlook 2000: Laufzeitfehler 459: Objekt oder Klasse unterstützt diese Ereignismenge nicht / "Run-Time Error 459- Object or class does not support the set of events"

Ursache:

Das aktuelle Outlook-PlugIn von AG-VIP SQL unterstützt die Outlook Version 2003 und 2007.
Der Fehler erscheint, wenn eine AG-VIP SQL Version ab 1.09.013 mit Outlook 2000 betrieben wird. In Outlook ist dann der Menüpunkt "AG-VIP SQL" sowie die Symbolleise "AG-VIP SQL" nicht sichtbar.

Das Outlook-PlugIn von AG-VIP SQL ist notwendig,
a) um versendete Emails in AG-VIP SQL in der Historie verlinken zu können
b) eingehende Emails in AG-VIP SQL zu archivieren
c) Kontakte aus Outlook in AG-VIP SQL einzutragen.

Hintergrund:

Microsoft hat beim Wechsel von Outlook 2000 zu Outlook 2003 die API-Schnittstelle geändert. Ab Outlook 2007 wird die alte API (CDO-Objekt) nicht mehr mit installiert. Das ältere Outlook-PlugIn basierend auf dem älteren CDO-Objekt führte zu vielen Sicherheitswarnungen in der Anwendung. Deshalb wurde das Outlook-Addin von AG-VIP SQL angepasst.

Lösungsmöglichkeit:

1. Outlook Version 2003 oder 2007 einführen.
2. Outlook-Add-In deaktivieren
3. Das neue Outlook-Add-In deregistrieren und das alte Add-Inregistrieren. (nicht empfohlen)

Vorgehensweise zu  2. Outlook-Add-In deaktivieren

1. Starten Sie MS-Outlook 2000.
2. Wählen Sie aus dem Menü Extras, den Befehl Optionen.
3.  Wechseln Sie in den Reiter "Weitere".
4. Aktivieren Sie dort den Schalter Erweitere Optionen.
5. Wählen Sie den Schalter Com-Add-Ins.
6. Entfernen Sie den Haken vor dem Com-Add-In "Outlook AddIn AG-VIP SQL"

Dies muss auf jedem Client durchgeführt werden, auf dem AG-VIP SQL installiert wurde.

 Vorgehensweise zu 2) Das neue Outlook-Add-In deregistrieren und das alte Add-Inregistrieren. (nicht empfohlen)

1. Schließen Sie Outlook.
2. Erzeugen Sie unterhalb des AG-VIP SQL Programmverzeichnisses ein neues Unterverzeichnis "\agvipoladdin\". Kopieren Sie das alte Outlook Add-In "AGVIPSQLOLAddin.dll" aus angehängter ZIP-Datei in dieses Unterverzeichnis.  Sonst wird?s bei jedem Update überschrieben.

 2. Deregistrieren: (Adminrechte erforderlich)

    regsvr32.exe /u <Kompletter Pfad zur aktuellen AGVIPInstallation>\AGVIPOLAddIn.DLL

 3. Registrieren: (Adminrechte erforderlich)

    regsvr32.exe <Kompletter Pfad zur aktuellen AGVIPInstallation>\agvipoladdin\AGVIPOLAddIn.DLL

Das ist an jedem Platz durchzuführen, an dem das alte AddIn laufen soll! Von daher ist unsere Empfehlung Outllok 2003 oder 2007 einzuführen. Der Support für Outlook 2002 seitens Microsoft ist 2006 eingestellt worden!

Siehe auch: http://www.pcreview.co.uk/forums/thread-1856578.php

2023-07-27 14:02
Markus Grutzeck

Warum erscheint die Meldung "Es sind keine weiteren Tickets in der Bearbeitungsstufe "XYZ" vorhanden!"?

Wenn ein Benutzer eine Bearbeitungsstufe öffnet in der in der Arbeitsbereichs-Anzeige laut Zählern, Tickets zur Bearbeitung anstehen, ist es dennoch möglich, dass die Meldung "Es sind keine weiteren Tickets in der Bearbeitungsstufe "XYZ" vorhanden!" erfolgt.

Die Ursachen hierfür sind vielfältig:

  1. Die Tickets wurden gerade neu eingestellt. Allerdings haben alle Tickets keine korrekten Telefonnummern, oder Kontaktinformationen, die für die Bearbeitung der Tickets notwendig sind (siehe Einstellungen zur Projektstufe). Die Tickets werden also in die korrekte Stufe eingestellt, aber wenige Zeit später in die entsprechende Stufe für die Validierung der Kontaktdaten geschoben.
    Die Statistik in der Anzeige des Arbeitsbereiches, wie auch der eigentliche Vorgang des Verschieben der Tickets erfolgt zeitverzögert (alle 5-15min). Dennoch kann keines der Tickets einem Agenten zugeteilt werden, da keine gültigen Kontaktinfos vorhanden sind.
    Meistens wird dieses Problem sichtbar wenn nach einigen Minuten alle Tickets aus der Bearbeitungsstufe wieder "verschwunden" (sprich verschoben) wurden.
  2. Die Bearbeitungsstufe hat eine minimale Latenzzeit. D.h. Reifezeit. Erst nach Ablauf der Reifezeit werden die Tickets zum Bearbeiten verfügbar.
  3. Alle fälligen Tickets sind einem anderen Mitarbeiter zugeordnet. D.h. die entsprechenden Tickets sind fällig, aber bei der Wiedervorlage für die Tickets wurde angegeben, dass der gleiche Agent das Ticket bearbeiten soll. Der Agent, der die Meldung erhält, ist jedoch für keines dieser Tickets zuständig.
  4. Die fälligen Tickets wurden bei der Wiedervorlage mit einem Zeitintervall, bzw. einer Wochentagsauswahl versehen und die der aktuelle Wochentag und die aktuelle Uhrzeit trifft auf keines der Tickets zu.
  5. Die fälligen Tickets sind bereits in Bearbeitung bzw. bearbeitet worden und die Zähler in der Anzeige des Arbeitsbereiches wurden noch nicht wieder aktualisiert.
  6. Gleiches gilt, wenn die Tickets bereits die maximale Verweildauer erreicht haben und noch nicht verschoben wurden.

2013-08-02 09:48
Martin Richter

Probleme durch fehlerhaften Datenimport bei AG-VIP SQL

Durch einen fehlerhaften Datenimport, der direkt die SQL-Datenbank veränderte wurde folgender Effekt beobachtet:

  • Eine Telefoniestufe wurde von einem Agenten ausgewählt.
  • Ein Ticket wurde als nächstes vorgeschlagen, aber es erfolgte keine Anwahl.
  • Man kann ein Ticket dann manuell wählen aus dem entsprechenden Kommunikationsfeld.
  • Automatisches erkennen von Besetzt und keine Verbindung erfolgte natürlich nicht, weil die Anwahl nicht automatisch durch AG-VIP SQL erfolgte.

Eine Kontrolle ergab, dass Daten in die SQL Datenbank direkt per SQL Statements oder per DTS importiert wurden. Hierbei wurde aber ein entscheidender Fehler gemacht. Es wurden die Telefoniefelder als leere Textfelder und nicht als NULL (SQL-NULL) importiert.
Der SQL Server unterscheidet zwischen einem Feld mit dem Inhalt NULL bzw. leeres Feld (Feld mit einem Text mit 0 Zeichen).
AG-VIP SQL setzt immer den Status NULL für ein leeres Feld. So arbeiten auch alle SQL Abfragen immer entsprechend und erwarten, dass ein Feld ohne Inhalt in der SQL Datenbank als NULL Feld gespeichert wird.

Speziell ist dies wichtig für die Verwendung der alternativen Telefonnummern. Hier wird in der Bearbeitungsstufe angegeben, in welcher Reihenfolge Telefonnummern berücksichtigt werden sollen. Hierbei werden Felder mit NULL Wert nicht berücksichtigt.
Haben die Felder nun aber nicht NULL als Wert sondern wurden als leeres Feld importiert, dann funktioniert die Ermittlung nicht mehr.
AG-VIP SQL ermittelt eine leere Telefonnummer, die natürlich nicht zu einer Anwahl führt.

Es ist also unbedingt darauf zu achten, dass beim Import über DTS oder direkten SQL Zugriff die entsprechenden Telefonnummernfelder, die keinen Inhalt haben als NULL Felder importiert werden!

Der Import von AG-VIP SQL berücksichtigt dies natürlich korrekt.

Anmerkung:

Mit der Freigabe der Version 1.10.003 wurde die Abfragetechnik verändert, so dass solche fehlerhaften Datenimporte das Verhalten unserer Software nicht mehr beeinflussen.

2011-08-17 16:30
Martin Richter

Wo speichert AG-VIP SQL Crash Dumps

Sollte AG-VIP SQL Abstürzen, dann wird normalerweise automatisch ein so genannter Crash-Dump erzeugt.

Ein Crash-Dump kann unserem Support detaillierte Informationen geben über die Ursache und Art des Fehlers, der in unserer Anwendung aufgetreten ist. Das Sam-meln dieser Daten kann immens dazu beitragen Probleme mit unserer Software zu lokalisieren und zu lösen. Diese Informationen helfen uns unsere Software zu ver-bessern.

Problembericht senden 

Wenn solch ein Fehler auftritt, dann erhält der Benutzer in den meisten Fällen die folgende Fehlermeldung:

Wenn diese Anzeige erfolgt, dann wurde bereits ein entsprechender Crash-Dump lokal gespeichert. Der Anwender hat nun die Möglichkeit zusätzlich noch den Schalter Problembericht senden auszuwählen.
In diesem Fall werden die zusätzliche Crash-Informationen über Microsoft direkt an den Support der Firma Grutzeck-Software gesendet. Die Datenerfassung hierbei erfolgt anonym und lässt sich nicht zurück verfolgen. Sie ist aber auch für unseren Support ein wichtiges Hilfsmittel um Fehlern in unserem Programm auf die Spur zu kommen. Deshalb sollte nach Möglichkeit der Schalter Problembericht senden immer gewählt werden.

Der lokale Crash-Dump

Der Name dieser Datei lautet AGVIP.EXE yyyymmdd hhmm-n.DMP. Wobei yyyymmdd hhmm-n ein Zeitstempel für den Crash sind mit einer fortlaufenden Nummer. Crash-Dumps können je nach Art beachtliche Größen erreichen. Sie überschreiten im Allgemeinen jedoch als Minidumps nicht die 1MB Marke.

AG-VIP SQL speichert nicht mehr als 10 Dumps.

Besonders aussagekräftig sind volle Speicherdumps. Diese können mit der Pro-gramm Option -fulldump erzeugt werden. Oder auch über den Taskmanager.

Wie bereits erwähnt wird immer ein lokaler Crash-Dump erzeugt. Sofern Schreib-zugriff auf das Programmverzeichnis von AG-VIP SQL existiert, d.h. das Ver-zeichnis in dem das Programm AGVIP.EXE liegt, so wird der Crash-Dump auch in diesem Verzeichnis gespeichert.
Existiert kein Schreibzugriff auf das Programmverzeichnis, weil der Benutzer keine administrativen Rechte hat, oder der Zugriff auf das Programmverzeichnis einge-schränkt ist (z.B. bei Verwendung von Windows 7 und später), dann wird die Dump Datei im temporären Benutzerverzeichnis angelegt. Der leichteste Weg die-ses Verzeichnis zu finden ist es, über den Windows Start-Schalter, Ausführen aus-zuwählen und im dem nun offenen Dialog einfach %TMP% einzugeben und den OK-Schalter zu wählen. Das funktioniert auch in der Ordnerleiste des Explorers.

Nach Eingabe und Auslösen des OK-Schalters wird ein Explorer Fenster angezeigt in dem die entsprechende Dump-Datei zu finden ist. Sie sollte eine aktuelle Uhrzeit und Datum aufweisen.

Crash-Logs

Im gleichen Verzeichnis finden sich auch eine entsprechende LOG-Datei mit dem Namen AGVIP.EXE.LOG. In dieser Datei wird zusätzlich zu der Dump-Datei der Absturz aufgezeichnet. Diese Datei wird aber einer bestimmten Größe umbenannt und gelöscht um ein übermassiges Anwachsen der Datei zu verhindern.

Fehler-Logs

Bei bestimmten Fehlern wird zusätzlich eine AGVIP_Error.log Datei geschrieben. In dieser Datei steht zum Beispiel die Ursache und Fehlermeldung bei einem Ver-lust der Verbindung zum SQL-Server. Auch diese Informationen können hilfreich sein.

Weitergabe der Crash Informationen an den Support

Sollten solche Crash-Informationen an den Support von Grutzeck-Software (support@grutzeck.de) weiter gegeben werden, dann ist es unbedingt erforderlich eine möglichst genau Beschreibung anzugeben, wie es zu dem Fehler kam. D.h. folgende Fragen sollten beantwortet werden müssen.

  • Welche Funktion sollte ausgelöst werden als der Fehler auftrat?
  • Welche Aktion wurde unmittelbar vor dem Fehler ausgeführt?
  • In welcher Adressentabelle, bzw. in welcher Projektstufe des Workflows erfolgte der Fehler?
  • Welches Skript/Hilfsmittel/Ansicht war in dem Moment involviert?
  • Ist der Fehler reproduzierbar?
  • Ist gleichzeitig ein anderes offenes Programm abgestürzt?

Anmerkung:

Der Name der Dump-Datei bzw. der LOG-Datei entspricht dem Namen des ausge-führten Programmes. D.h. sollte der Formular-Editor, oder der Datenbank-Wizard abstürzen, dann lauten die Namen entsprechend AGVIPFormEditor.exe usw. Oder es wird der Name des Dientstes verwendet z.B. AGVIPBackendService.exe

Fehlfunktionen erzeugen natürlich keinen Crash-Dump. Auch ein Auftretender Verbindungsfehler zur Datenbank löst im Allgemeinen keinen Crash-Dump aus. In diesen Fällen wird nur eine entsprechende Fehlermeldung angezeigt.
Die Ursache für solch einen Fehler ist meistens in einer instabilen oder zusammen-gebrochenen Netzwerkverbindung zu suchen. Die Fehlermeldungen enthalten ent-sprechend auch meistens Hinweise auf ein Timeout, oder ein Connection failed. In diesem Fall wird die entsprechende Information in der Datei AVIP_Error.log ge-speichert, oder Sie finden diese Information in den normalen Logs der Dienste.

Siehe auch:

Erzeugen eines vollen Crash Dumps

2020-04-21 12:57
Martin Richter

Outlook: Empfänger erhält WIN.DAT-Datei oder WINMAIL.DAT

Problem:

Versendete Email erscheint beim Empfänger als Dateianhang "winmail.dat"

Ursache:

Immer wenn aus Outlook eine Email erzeugt und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat. Dieses Emailformat kann von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)
TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum Senden von Nachrichten, daher tritt das Problem hier seltener auf.

Lösung:

Sie müssen also den Versand über das RTF-Format abstellen. In Outlook selbst gibt es hierfür mehrere Einstellungsmöglichkeiten:

  1. Menü EXTRAS, OPTIONEN, Reiter E-Mail Formate Auswahlbox VERFASSEN IM NACHRICHTENFORMAT. Hier in jedem Fall NICHT Rich-Text.
  2. Beim Kontakt in Outlook kann das Sendeformat zusätzlich individuell eingestellt werden. Veränderbar über Doppelklick auf die Emailadresse, SENDEFORMAT.
  3. Die Vorlage des Emailhilfsmittels aus AG-VIP ist in RTF erstellt worden und nicht als HTML oder TEXT.
Weitere Infos:

2011-08-17 16:05
Martin Richter

Outlook: Run Time Error 459

Fehler: 

Fehlermeldung in Outlook nach Installation AG-VIP SQL Version 1.10.x:
"Run Time Error 459: object or class does not support the set of events"

Kurz:

Das Outlook Add-In von AG-VIP SQL ist freigegeben für Outlook Version 2003 und 2007. Outlook 2000 wird nicht unterstützt.

Hintergrund:

Outlook 2000, 97 und ältere Versionen nutzen das CDO Objekt und eine ältere API Version 9. In Outlook 2007 wird das CDO nicht mehr mit installiert. Ab Outlook 2003 gibt es eine neue API Version 10. Diese aktuelle API verwendet das AG-VIP SQL Outlook-Add-In. Der verwendeten Befehle schlagen dann bei Outlook Version 2000 und älter fehl, weil das entsprechende Outlook-Objektmodell nicht verfügbar ist.

Lösung:

Outlook 2003 oder 2007 installieren.
- oder
auf die Funktionalitäten des Outlook-Add-Ins von AG-VIP SQL verzichten und unter EXTRAS, OPTIONEN, im Reiter WEITERE auf den Schalter ERWEITERE OPTIONEN gehen. In diesem Reiter befindet sich ein Schalter COM-ADD-INS. Dort das AG-VIP SQL PlugIn deaktivieren.

2011-08-17 16:05
Martin Richter

Entwicklung von VIP SQL, Bekannte Fehler, neue Funktionen, neue Releases

AG-VIP SQL wird permanent weiterentwickelt.

Neue Funktionen werden immer zuerst hier auf unserer Knowledge Base veröffentlicht.

Alle registrierten Anwender mit Wartungsvertrag erhalten automatisch eine Nachricht über neu verfügbare Update mit dem entsprechenden Link zur Dokumentation, was neu geworden ist sowie den Link zum Download des Updates selbst inkl. Kennwort zum Entpacken.

Wir benachrichtigen nicht alle Nutzer auf einemal, sondern wir führen die senden Informationen zyklisch in kleinen Einheiten an unsere Kunden um einen guten Support gewährleisten zu können.
Wollen Sie sofort die Informationen zum aktuellen Update senden Sie eine Email mit Ihrer Seriennummer an vertrieb@grutzeck.de. 
Auch wenn Sie eine aktuelle Lizenz-CD zugesandt haben möchten, genügt eine Email an vertrieb@grutzeck.de unter Angabe Ihrer Serien-Nr.

Zu Allgemeinen Fragen der Installation steht Ihnen unserer Support-Team unter der Emailadresse support@grutzeck.de zur Verfügung.

2020-10-13 12:21
support@grutzeck.de

TAPI-Fehler finden und Anwahlprobleme erkennen

Problem:

Oft ist unklar, warum die Anwahl nicht funktioniert oder die Telefoniesoftware in der ein- oder anderen Weise reagiert.

Lösung:

Um dem Problem auf die Spur zu kommen, sollte ein TAPI/Telefon-Trace erzeugt werden. Das ist ein Protokoll der Kommunikation zwischen TAPI-Treiber (Der vom Hersteller der Telefonanlage kommt) und der Telefoniesoftware auf der anderen Seite.

Vorgehensweise: TAPI-Log aktivieren

AG-VIP SQL ist per Standard so eingestellt, dass immer ein Trace erzeugt wird.
Der Trace wird automatisch im temporären Verzeichnis des Benutzers gespeichert. Der Trace beginnt bei Programmstart und wird geschlossen, wenn das Programm beendet wird. Jeder erneute Programmstart überschreibt den alten Trace.

Gehen Sie also wie folgt vor

  1. Starten Sie AG-VIP SQL
  2. Führen Sie nun die Telefonate, die Probleme machen, z.B. Anwahl einer falschen Telefon-Nr. wird nicht erkannt.
  3. Beenden Sie AG-VIP SQL.
  4. Wählen Sie aus dem Windows-Menü START, AUSFÜHREN und geben %tmp% + ENTER-Taste ein.
  5. Der Windows-Explorer öffnet sich mit dem temporären Benutzer-Verzeichnis. Hier finden Sie die Datei AGVIP_Phone.LOG (vor der Version 2.0 hieß die Datei AGVIP_TAPI.log). Diese Datei können Sie mit jedem Texteditor öffnen. Die erste Spalte zeigt dabei die Uhrzeit in Millisekunden genau an.

Wenn Sie also einen Fehler protokolliert haben beenden Sie AG-VIP SQL und sichern Sie den Trace, bevor Sie mit der Arbeit fortfahren.

Seit der Version 2.02.002 werden die letzten 10 Logs in dem entsprechenden Verzeichnis gespeichert unter den Namen AGVIP_Phonen.LOG (n=1-9).
Sichern Sie alle Log-Dateien und merken sich die genaue Uhrzeit des Fehlers. Senden Sie diese Dateien bei Bedarf an den zuständigen Support.

Beispiel für einen verbundenen erfolgreichen ausgehenden Anruf:
11:18:05:34 Tapi::CTapiCall::CTapiCall
11:18:05:34 Tapi::CTapiCall::PrepareDialing Inp:"06181/97010"
11:18:05:34 Tapi::CTapiCall::PrepareDialing Pre:"+49 (6181) 97010"
11:18:05:35 Tapi::CTapiCall::PrepareDialing Out:"T00618197010"
11:18:05:35 Tapi::CTapiCall::MakeCall dwLine=9, dwAPIVersion=0x00020000
11:18:05:35 Tapi::CTapiControl::TapiEventThread dwMessage=LINE_REPLY, hDevice=0x00000000, dwParam1=0x000100ee, dwParam2=0x00000000, dwParam3=0x000100cc
11:18:05:35 Tapi::CTapiCall::MakeCall returns 0x000100ee 11:18:05:47 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=DIALTONE
11:18:05:47 Tapi::CTapiCall::GetCallInfo CalledID = "00618197010"
11:18:05:49 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=DIALING
11:18:15:65 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=CONNECTED
11:19:30:17 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=DISCONNECTED, dwCallStateDetail=0x00000000
11:19:30:18 Tapi::CTapiControl::TapiCallState hCall=0x000100cc, dwCallstate=IDLE
11:19:30:21 Tapi::CTapiControl::TapiEventThread dwMessage=LINE_REPLY, hDevice=0x00000000, dwParam1=0x000100bb, dwParam2=0x00000000, dwParam3=0x00000000
11:19:44:39 Tapi::CTapiCall::~CTapiCall


Der CALLSTATE gibt den aktuellen Leitungsstatus an. Am Callstate wird der aktuelle Zustand der Verbindung erkannt.

Dabei sind lt. TAPI-Dokumentation folgende CALLSTATES definiert

Beachten Sie bitte, dass nicht alle TSPs alle Callstates unterstützen bzw. melden.

  • LINECALLSTATE_ACCEPTED = 0x00000004
    The call was in the offering state and has been accepted. This indicates to other, monitoring, applications that the current owner application has claimed responsibility for answering the call. In ISDN, the accepted state is entered when the called-party equipment sends a message to the switch indicating that it is willing to present the call to the called person. This has the side effect of alerting (ringing) the users at both ends of the call. An incoming call can always be immediately answered without first being separately accepted.
  • LINECALLSTATE_BUSY = 0x00000040
    The call is receiving a busy tone. A busy tone indicates that the call cannot be completed. This occurs if either a circuit (trunk) or the remote party's station are in use.
  • LINECALLSTATE_CONFERENCED = 0x00000800
    The call is a member of a conference call and is logically in the connected state.
  • LINECALLSTATE_CONNECTED = 0x00000100
    The call has been established and the connection is made. Information is able to flow over the call between the originating address and the destination address.
  • LINECALLSTATE_DIALING = 0x0000010
    The originator is dialing digits on the call. The dialed digits are collected by the switch. Note that neither lineGenerateDigits nor TSPI_lineGenerateDigits will place the line into the dialing state.
  • LINECALLSTATE_DIALTONE = 0x00000008
    The call is receiving a dial tone from the switch. This means that the switch is ready to receive a dialed number.
  • LINECALLSTATE_DISCONNECTED = 0x00004000
    The remote party has disconnected from the call.
  • LINECALLSTATE_IDLE = 0x00000001
    The call exists but has not been connected. No activity exists on the call. This means that no call is currently active. A call can never transition out of the idle state.
  • LINECALLSTATE_OFFERING = 0x000000002
    The call is being offered to the station, signaling the arrival of a new call. The offering state is not the same as causing a phone or computer to ring. In some environments, a call in the offering state does not ring the user until the switch instructs the line to ring. For example this state is in use when an incoming call appears on several station sets but only the primary address rings. The instruction to ring does not affect any call states.
  • LINECALLSTATE_ONHOLD = 0x00000400
    The call is on hold by the switch. This frees the physical line. This allows another call to use the line.
  • LINECALLSTATE_ONHOLDPENDCONF = 0x00001000
    The call is currently on hold while it is being added to a conference.
  • LINECALLSTATE_ONHOLDPENDTRANSFER = 0x00002000
    The call is currently on hold awaiting transfer to another number.
  • LINECALLSTATE_PROCEEDING = 0x00000200
    Dialing has completed and the call is proceeding through the switch or telephone network. This occurs after dialing is complete and before the call reaches the dialed party, as indicated by ringback, busy, or answer.
  • LINECALLSTATE_RINGBACK = 0x00000020
    The station to be called has been reached, and the destination's switch is generating a ring tone back to the originator. A ringback means that the destination address is being alerted to the call.
  • LINECALLSTATE_SPECIALINFO = 0x00000080
    The call is receiving a special information signal that precedes a prerecorded announcement indicating why a call cannot be completed.
  • LINECALLSTATE_UNKNOWN = 0x00008000
    The call exists, but its state is currently unknown. This may be the result of poor call progress detection by the service provider. A call state message with the call state set to unknown may also be generated to inform the TAPI DLL about a new call at a time when the actual call state of the call is not exactly known
Was ist signifikant, wenn es zu keiner Verbindung kommt? 

Kommt es zu keiner Verbindung, dann werden im Trace die so genannten Disconnect Reasons wichtig. Ein Disconnect Reason gibt an, warum eine Verbindung nicht zustande kam oder abgebrochen wurde.

Beachten Sie bitte, dass nicht alle TSPs alle Disconnect Reasons unterstützen bzw. melden. Besonders problemtisch wird dies, wenn der TSP für die Anwahl einer falschen Nummer (LINEDISCONNECTMODE_BADADDRESS) einfach Besetzt returniert LINEDISCONNECTMODE_BUSY)

  • LINEDISCONNECTMODE_BADADDRESS
    The destination address is invalid.
  • LINEDISCONNECTMODE_BLOCKED
    The call could not be connected because calls from the origination address are not being accepted at the destination address. This differs from LINEDISCONNECTMODE_REJECT in that blocking is implemented in the network (a passive reject) while a rejection is implemented in the destination equipment (an active reject). The blocking can be due to a specific exclusion of the origination address, or because the destination accepts calls from only a selected set of origination address (closed user group). (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_BLOCKED
    is appropriate as a blacklisted response. For example, a modem has received an answer, gone more than six seconds without detecting Ringback, failed to connect a defined number of times, determines that the phone number is not valid to call, and issues a 'blacklisted' response.
  • LINEDISCONNECTMODE_BUSY
    The remote user's station is busy.
  • LINEDISCONNECTMODE_CANCELLED
    The call was cancelled. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_CONGESTION
    The network is congested.
  • LINEDISCONNECTMODE_DONOTDISTURB
    The call could not be connected because the destination has invoked the Do Not Disturb feature. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_FORWARDED
    The call was forwarded by the switch.
  • LINEDISCONNECTMODE_INCOMPATIBLE
    The remote user's station equipment is incompatible with the type of call requested.
  • LINEDISCONNECTMODE_NOANSWER
    The remote user's station does not answer.
  • LINEDISCONNECTMODE_NODIALTONE
    A dial tone was not detected within a service-provider defined timeout, at a point during dialing when one was expected (such as at a "W" in the dialable string). This can also occur without a service-provider-defined timeout period or without a value specified in the dwWaitForDialTone member of the LINEDIALPARAMS structure. (TAPI versions 1.4 and later)
  • LINEDISCONNECTMODE_NORMAL
    This is a normal disconnect request by the remote party. The call was terminated normally.
  • LINEDISCONNECTMODE_NUMBERCHANGED
    The call could not be connected because the destination number has been changed, but automatic redirection to the new number is not provided. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_OUTOFORDER
    The call could not be connected or was disconnected because the destination device is out of order (hardware failure). (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_PICKUP
    The call was picked up from elsewhere.
  • LINEDISCONNECTMODE_QOSUNAVAIL
    The call could not be connected or was disconnected because the minimum quality of service could not be obtained or sustained. This differs from LINEDISCONNECTMODE_INCOMPATIBLE in that the lack of resources may be a temporary condition at the destination. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_REJECT
    The remote user has rejected the call.
  • LINEDISCONNECTMODE_TEMPFAILURE
    The call could not be connected or was disconnected because of a temporary failure in the network; the call can be reattempted later and is expected to eventually complete. (TAPI versions 2.0 and later)
  • LINEDISCONNECTMODE_TEMPFAILURE
    is appropriate as a delayed response. For example, a modem getting a busy signal or equivalent too many times in a particular time period concludes that the number should not be called again until a defined time has elapsed and issues a 'delayed' response.
  • LINEDISCONNECTMODE_UNAVAIL
    The reason for the disconnect is unavailable and will not become known later.
  • LINEDISCONNECTMODE_UNKNOWN
    The reason for the disconnect request is unknown but may become known later.
  • LINEDISCONNECTMODE_UNREACHABLE
    The remote user could not be reached
Wie behandelt AG-VIP SQL die unterschiedlichen Disconnect Modes?

Kommt es zu keiner Verbindung muss, AG-VIP SQL versuchen, dass Telefonat entsprechend zu behandeln. Warum es nicht zu einer Verbindung kam, wird anhand des Disconnect Mods bestimmt. AG-VIP SQL unterscheidet hier in 4 Kategorien: Besetzt, Keine Verbindung, falsche Nummer und Fehler.

Bei einem fatalen Fehler wird der Workfow sdofort abgebrochen und das Ticket gilt als nicht bearbeitet. Dies ist eine Vorsichtsmassnahme, damit nicht durch einen Fehler in der TK-Anlage z.B. alle Tickets als nicht verbunden eingestuft werden.

AG-VIP SQL behandelt die entsprechenden Dicsonnect-Modes Fälle wie folgt:

Behandlung als BESETZT:

  • NORMAL
  • BUSY

Behandlung als KEINE VERBINDUNG:

  • REJECT
  • NOANSWER
  • UNREACHABLE
  • DONOTDISTURB
  • OUTOFORDER

Behandlung als TELEFON-NR FALSCH:

  • NUMBERCHANGED
  • BADADDRESS
  • INCOMPATIBLE

Behandlung als finaler Fehler, der zum Projektstopp führt: 

  • UNKNOWN
  • PICKUP
  • FORWARDED
  • CONGESTION
  • UNAVAIL
  • NODIALTONE
  • TEMPFAILURE
  • QOSUNAVAIL
  • BLOCKED
  • CANCELLED
Quellen:

2023-02-27 08:17
Martin Richter

Tools zur Administration der MSDE

Problem:

Die MSDE ist zwar kostenlos aber ohne grafische Administrationsoberfläche. Das macht das Einrichten von Datensicherungsjobs u.ä. über Scripte sehr zeitaufwändig.

Lösung:

Drittanbieter haben den MS-SQL-Server Enterprise-Manager "nachgebaut" und bieten hier z.T. kostenlos Administrationssoftware an. Die Liste wird jedoch immer kürzer seit Erscheinen von MS-SQL 2005 Express.

Anmerkung:

Mit dem erscheinen von der MS-SQL 2005 Express Edition sind solche Frontends nicht mehr notwendig, denn für die Express Edition steht die Management Console von Microsoft kostenlos zur Verfügung.

2011-08-17 16:03
Martin Richter

Anmerkungen zu Adressen kopieren und versetzen

Beschreibung:

Das Versetzen und Kopieren von Adressen erfolgt immer in einer Transaktion, im Gegensatz von Datenimport, bei dem dies optional ist.

Dies geschieht aus Sicherheitsgründen, um unvollständige und inkonsistente Datenbestände zu vermeiden.
Daraus ergibt sich, dass solche Operationen nicht unter Volllast während des Callcenter Betriebes durchgeführt werden sollen. Währen der entsprechenden Transaktion ist sowohl Quell- als auch Zieldatenbank zum Teil zu 100% gesperrt.

Anmerkungen und Seiteneffekte:
  • Das Versetzen von Adressen löscht zwangsläufig alle Tickets! In der Zieldatenbank werden keine Projektdaten erzeugt.
    Tickets können nicht kopiert werden!!!
  • Wie auch das Löschen von Datensätzen beeinflusst das Versetzen von Adressen die Projektstatistik.
  • Die Historiendatensätze werden zwar kopiert, aber zu normalen Notizeinträgen umgewandelt. Diese haben keine Relevanz mehr für eine Projektstatistik.

2011-08-18 15:16
Martin Richter

Anzeige der verwendeten Datenbank in AG-VIP SQL

Beschreibung:

In AG-VIP SQL ist es möglich über einen internen versteckten Schalter, die jeweils verwendete Datenbank und den genutzten Datenbank-Server in der Kopfzeile des Programmes anzuzeigen.

Zusätzlich wird mit dieser Option auch der angemeldete Anwender in der Kopfzeile des Programmes mit angezeigt.

Vorgehensweise 1: 

Dazu ist der folgende Eintrag in der Registry zu erzeugen:

  1. Starten von REGEDIT.EXE 
  2. Auswahl des Pfades HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL 
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORD-Wert auf ShowConnection umbenennen
  5. Den neuen Wert auf 1 setzen.

Wird der Wert auf 0 zurück gesetzt oder der Eintrag aus der Registry gelöscht, so erfolgt keine spezielle Anzeige mehr in der Kopfzeile.

Vorgehensweise 2: 

Die gleiche Funktion kann erreicht werden indem auf der Befehlszeile der Schalter -showdbname mit angegeben wird.

  1. Klicken Sie dazu mit der rechten Maustaste auf das Symbol mit dem Sie AG-VIP SQL starten.
  2. Wählen Sie Eigenschaften
  3. Hinter dem Zeil ergänzen Sie ein Leerzeichen und den Text -showdbname
Vorgehensweise 3:

Ergänzen Sie in der Datei AGVIP.INI den im Abschnitt [Database] den Eintrag ShowConnection.

  1. Öffnen Sie mit dem Editor (Zubehör), die Datei AGVIP.INI aus dem Programmverzeichnis
  2. Suchen Sie den Abschnitt [Database], ist dieser nicht vorhanden ergänzen Sie diesen Eintrag am Ende der Datei.
  3. Fügen Sie nun unter dem Abschnitt [Database] die Zeile
    ShowConnection=1
    ein.

2011-08-17 16:02
Martin Richter

Aufbereitung von Telefonnummern zur Anwahl

Beschreibung:

Jede nicht kanonische Telefonnummer, die AG-VIP wählt, wird zuerst in eine kanonische Form umgewandelt. Kanonische Telefonnummern, erkennbar an einem führenden +-Zeichen, werden nicht weiter aufbereitet. (Siehe auch: Kanonische Telefonnummern)

Damit AG-VIP eine Telefonnummer anpassen kann muss diese in Ländervorwahl, Ortsvorwahl und Durchwahl zerlegt werden. Dazu wird in einer Telefonnummer nach Trennzeichen gesucht ( / \ ( ) - ).

Wie die Telefonnummernaufbereitung arbeitet kann im Tapi-Log von AG-VIP verfolgt werden.
In diesem Log sind 3 Zeilen, die den Ablauf der Umwandlung von der Telefonnummer, die der Anwender angegeben hat, bis hin zur wählbaren Nummer aufzeigt. Diese Zeilen beginnen mit dem Text Tapi::CTapiCall::PrepareDialing.

  1. "Inp:" = Input zeigt die Nummer, wie sie vom Anwender angegeben wurde
  2. "Pre:" = Prepared (Aufbereitet) Dies ist die Telefonnummer wie sie von AG-VIP in eine kanonische Telefonnummer umgewandelt wurde. Unter Berücksichtigung von Trennzeichen.
  3. "Out :" = Output (Ausgabe) Die dritte Zeile zeigt nun die tatsächliche Nummer, die von der Tapi zur Anwahl verwendet wird. Die Umwandlung von 2. auf 3. erfolgt intern durch die Tapi und wird von den Systemeinstellungen beeinflusst.

    In den Systemeinstellungen werden die Standorteinstellungen, unter Start -> Systemsteruerung -> Drucker und andere Hardware -> Telefon-und Modemoptionen, Reiter Wählregeln definiert. Diese Systemeinstellungen beeinflussen die Umwandlung der kanonischen Telefonnummer in die zu wählende Telefonnummer.

    Alle nachfolgenden Beispiele wurden mit den folgenden Standortparametern durchgeführt:
Amtsholung  = 0
Land: Deutschland = 49
Vorwahl  = 06181
Rufnummer = 97010
Übergebene Rufnummer: 06181/9701-0
  • Inp:"06181/9701-0"
  • Pre:"+49 (6181) 9701-0"
  • Out:"097010"

AG-VIP kann in diesem Beispiel aufgrund der angegebenen Trennzeichen ( / ), die Vorwahl von der Rufnummer trennen.
Da keine Ländervorwahl angegeben ist, fügt AG-VIP diese einfach vor die angegebene Nummer und setzt, unter Weglassen der führenden Null, die Ortsvorwahl in Klammern ( ) vor die eigentliche Durchwahl.
Nun erfolgt die eigentliche Umwandlung der kanonischen Telefonnummer, bei der die Tapi die Ländervorwahl und die Ortsvorwahl unterdrückt, da sie mit den Standortdaten identisch sind

Übergebene Rufnummer : 0618197010
  • Inp:"0618197010"
  • Pre:"+49 0618197010"
  • Out:"00618197010"

AG-VIP kann in der vorgegebenen Telefonnummer keine Trennzeichen erkennen. Es bleibtnichts weiter übrig, als die gesamte Telefonnummer zu übernehmen. Allerdings muss noch die Ländervorwahl des Standortes vor die Nummer gesetzt werden (+49).
Dadurch kann keine Unterdrückung der Ortsnetznummer erfolgen. Die Nummer hat nach kanonischer Schreibweise keine Ortsvorwahl.

Übergebene Rufnummer: 0049/6181/97010
  • Inp:"0049/6181/97010"
  • Pre:"+49 (6181) 97010"
  • Out:"097010"

Hier erkennt AG-VIP, aufgrund der Trennzeichen ( / ) die Länderwahl und die Vorwahl und wandelt diese ins typische kanonische Format um. Die Anwahl erfolgt entsprechend.

Übergebene Rufnummer: 0043123/1234455
  • Inp:" 0043123/1234455"
  • Pre:"+43 (123) 1234455"
  • Out:"000431231234455"

AG-VIP erkennt 0043 für die Österreich und trennt so Ländervorwahl und Ortsnetzvorwahl. Entsprechend erfolgt dann die Aufbereitung der zu wählenden Nummer. 0 für die Amtsholung. 0043 für Österreich gefolgt von Ortsnetzvorwahl und Durchwahl.



Übergebene Rufnummer: +49 (6181) 9701-0
  • Inp:"+49 (6181) 9701-0"
  • Pre:"+49 (6181) 9701-0"
  • Out:"097010"

Dies ist eine komplett korrekte und vollständig der Norm entsprechende kanonische Telefonnummer. AG-VIP verändert diese Telefonnummer nicht weiter. Die Anwahl erfolgt wie oben bereits besprochen.

Übergebene Rufnummer: +49 (06181) 4567890
  • Inp:"+49 (06181) 4567890"
  • Pre:"+49 (06181) 4567890"
  • Out:"04567890"

Die kanonische Telefonnummer enthält eine überflüssige 0 in der Ortsvorwahl. Diese wird ignoriert und die Anwahl erfolgt wie bekannt.

Übergebene Rufnummer: +1 (123) 456789
  • Inp:"+1 (123) 4567890"
  • Pre:"+1 (123) 4567890"
  • Out:"00011234567890"

Auch hier eine komplett korrekte und vollständig der Norm entsprechende kanonische Telefonnummer. Der Ruf geht in die USA (Ländervorwahl: +1). Die Tapi fügt nicht nur die Amtsholung ein, sondern ergänzt nach aktuellem Standard auch die Ländervorwahl 001 für die USA. Es folgt die entsprechende Ortsnetzkennzahl und Durchwahl.

Übergebene Rufnummer: +49 (89) 456789
  • Inp:"+49 (89) 4567890"
  • Pre:"+49 (89) 4567890"
  • Out:"00894567890"

Auch hier eine komplett korrekte und vollständig der Norm entsprechende kanonische Telefonnummer. In diesem Beispiel handelt es sich um einen Call innerhalb Deutschlands, jedoch in ein anderes Ortsnetz (München: 089).
Beim ausgehenden Ruf wird nun zunächst wieder die Null für die Amtsholung eingefügt, gefolgt von der (089) für München und der Durchwahl.

Übergebene Rufnummer: +49 6181 97010
  • Inp:"+49 6181 97010"
  • Pre:"+49 6181 97010"
  • Out:"0618197010

Diese Nummer wird vom AG-VIP bereits als kanonische Telefonnummer erkannt und nicht weiter verändert. Allerdings kann auch hier die Ortsvorwahl nicht unterdrückt werden, da korrekte Schreibweise der Ortsvorwahl (Nutzung von Klammern) vorliegt..

Übergebene Rufnummer: +49618197010
  • Inp:" +49618197010"
  • Pre:" +49618197010"

Es erfolgt eine Fehlermeldung in AG-VIP
Diese kanonische Nummer ist falsch formatiert. Auf den Ländercode muss mindestens ein Leerzeichen folgen. Es wird eine Fehlermeldung angezeigt und das Telefonat mit "falscher Telefonnummer" beendet.

2011-08-17 15:38
Martin Richter

Auswertung über verbundene Telefonate in einer Bearbeitungsstufe

Beschreibung:

In bestimmten fällen will man aus den Telefonaten die x-mal nicht erreicht wurden die Telefonate herausfiltern, die zumindest einmal ein verbundenes Telefonat ergaben.

Man möchte zum Beispiel diese Telefonate noch mal einstellen, oder auch für diese Telefonate wurde eine Bezahlung mit dem Auftraggeber vereinbart.

Grund kann auch sein, dass der Tapi-Treiber keine Erkennung von falschen Telefonnummern erlaubt und die Telefonate die niemals erreicht wurden vermutlich sowieso falsche Telefonnummern haben.

Vorgehensweise:
  1. Man wählt im Auswertungs-Dialog die entsprechende Projekt oder Adresstabelle aus.
  2. Im Feld Historie::Bearbeitungsstufe gibt man die Bearbeitungsstufe an, die man auswerten möchte.
  3. Als weitere Information wählt man das Feld Historie:Dauertelefonat und gibt dort einen Wert von 1 im Von-Feld an.
  4. Dadurch werden alle Datensätze ermittelt, die die in mindestens einem Historien Eintrag eine Gesprächsdauer >=1 Sekunde haben.
Anmerkung:

Dieses Verfahren eignet sich auch für mehrstufige Aktionen mit mehreren Telefoniestufen, da man die Historieneinträge gezielt nur auf die Datensätze durchsucht, die in dieser bestimmten Bearbeitungsstufe erzeugt wurden.

2011-08-17 16:30
Martin Richter

Einrichtung und Installation der virtuellen Telefonanlage AG-PBX

A. Was ist die virtuelle AG-PBX?

Die virtuelle AG-PBX ist eine Simulation einer Telefonanlage, die über eine 3rd-Party-TAPI-Schnittstelle verfügt.
Dabei können Sie frei definieren, über wie viele interne und Amtsleitungen, die PBX verfügen soll, mit welcher Häufigkeit Ereignisse, wie besetzt, keine Verbindung, falsche Telefon-Nr. usw. auftreten. Wie schnell eine Verbindung zustande kommt und wie lange ein Gespräch im Durchschnitt dauern soll (Min, Max).

B. Einrichtung der virtuellen AG-PBX

Die virtuelle AG-PBX besteht aus zwei Komponenten:

  • AGPBXCallSimulator.tsp
  • AGPBXCallSimulator.ini

Die AGPBXCallSimulator.ini Datei enthält die Einstellungsparameter für die virtuelle AG-PBX. Die Datei AGPBXCallSimulator.tsp ist der TAPI-Treiber für die virtuelle AG-PBX.

  1. Kopieren Sie bitte die Datei AGPBXCallSimulator.tsp sowie die Datei AGPBXCallSimulator.ini in das c:\windows\system32 Verzeichnis.
  2. Wechseln Sie nun in die SYSTEMSTEUERUNG von Windows und öffnen den Bereich TELEFON UND MODEMOPTIONEN.
  3. Wechseln Sie in den Reiter ERWEITERT und aktivieren den HINZUFÜGEN-Schalter.
    Sie finden dort nun den neuen TAPI-Treiber AG-PBX SIMULATOR SERVICE PROVIDER.
  4. Diesen TAPI-Treiber bitte markieren und HINZUFÜGEN-Schalter wählen.
  5. Verlassen Sie die Windows SYSTEMSTEUERUNG.
  6. Nehmen Sie ggf. Anpassungen an der Simulation vor, in dem Sie die AGPBXCallSimulator.ini bearbeiten. Liegt Ihnen keine *.INI Datei vor, wird diese beim ersten Start des TSP automatisch erzeugt. Die Simualationsparameter sind dann ggf. anzupassen.
  7. Der TSP erzeugt automatisch eine Protokolldatei mit dem Namen AGPBXCallSimulator.log. In dieser Datei werden alle Anwahlversuche und die vom TSP errechnete zufällige Reaktion, die vorgesehen ist verzeichnet. Es werden insgesamt 9 Protokoll Dateien rotierend erhalten.
C. Erklärung der Simulationsparameter der AGPBXCallSimulator.ini
Im Block [TSP]
  • NumInternalDigits=2
    Anzahl der internen Nebenstelle.
    "2" = zweistellige Nebenstellen-Nr., z.B. 20, 30, 40
  • BaseLineNo=10
    Niedrigste Nummer der Nebenstelle (bei zweistelligen Nebenstellennummern 10, bei dreistelligen 100, etc.)
  • IntLines=20
    Anzahl der internen Leitungen zu den Agentenarbeitsplätzen, Beginnend mit BaseLineNo.
  • ExtLines=20
    Anzahl der externen Leitungen zum Amt hin
  • Im Block [Outbound]:
    • Busy=5 
      Prozentzahl, wie viel Prozent aller Anwahlversuche als "besetzt" retourniert werden sollen. "5" führt zu 5% besetzten Anwahlversuchen.
    • WrongNumber=2
      Prozentanzahl der Anwahlversuche, die als falsche Telefon-Nr. gelten "2" ergibt 2 Prozent ungültiger Ruf-Nr.
    • NoConnect=23
      Prozentanzahl der Verbindungen, bei denen niemand nach x Sekunden abnimmt. "23" In 23 % aller Anwahlversuchen nimmt die Gegenstellt das Gespräch nicht an.
    • MinTimeToConnect=5
      Minimale Zeit, die die PBX benötigen soll, um eine erfolgreiche Verbindung herzustellen.
    • MaxTimeToConnect=25
      Maximale Anzahl Zeit in Sekunden, die die PBX auf eine Verbindung wartet. Danach gilt der Anwahlversuch als "Keine Verbindung"
    • MinTimeConnection=30
      Minimale Gesprächsdauer für ein verbundenes Telefonat.
    • MaxTimeConnection=90
      Maximale Gesprächsdauer in Sekunden für ein verbundenes Telefonat. Die PBX-Simulation verteilt dabei die Gesprächsdauern zwischen minimaler und maximaler Gesprächsdauer gleichmäßig.
    • TimeUntilBusy=4000
      Anzahl Millisekunden, die vergehen, bis die AG-PBX einen Besetzt-Status liefert.
    • TimeUntilWrongnumber=4000
      Anzahl Millisekunden, die die virtuelle AG-PBX benötigt, um eine falsche Ruf-Nr. zurück zu liefern.
Im Block [Timing]:

Alle Angaben in diesem Block sollten nicht verändert werden. Hier kann das Zeitverhalten des TAPI-Treibers bei den verschiedensten Nachrichten des TSPs fein eingestellt werden. Alle Werte sollten auf 200 Millisekunden stehen bleiben.

  • Reply=200
  • Offering=200
  • Accepted=200
  • Answer=200
  • Dialtone=200
  • Dialing=200
  • Proceeding=200
  • CallstateDisconnect=200
  • CallstateIdle=200
  • Ringback=3000

Durch den Eintrag Ringback wird gesteuert alle wieviel Millisekunden ein "Ruf geht durch" Signal vom TSP zurückgemeldet werden soll. "3000" bedeutet, dass ein Ringback alle 3 Sekunden erfolgt. Wird dieser Wert auf 0 gesetzt, dann erfolgt nur ein einziges Ringback Signal.
Dies kann bei einem Test die Ausgabe in die Protokolle erheblich minimieren.

2011-08-17 15:37
Martin Richter

Erzeugen eines vollen Crash Dumps

Problem:

Unter bestimmten Umständen genügt eine Dumpdatei im Minidump-Format, wie er standardmäßig von AG-VIP SQL erzeugt wird, nicht um Fehler zu lokalisieren.

ACHTUNG: Entsprechende volle Speicher Dumps können bis an die 300 MB groß werden!

Dynamisch können Speicherdumps für AG-VIP SQL auch ohne einen Crash direkt auf Anforderung des Benutzers erzeugt werden. Es wird ein Speicherabbild geschrieben wenn die Tasten Umschalt+Strg+Alt+Druck zusammen gedrückt werden.

Vorgehensweise 1:

Ab der Version 1.07.010 ist es auch möglich einen vollen Speicherdump für AG-VIP SQL zu erzeugen.
Dies wird auf einem PC in der Registry eingestellt.

32bit Betriebssystem:

  1. Starten von REGEDIT.EXE
  2. Auswahl des Pfades
    HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORT-Wert auf FullDump umbenennen
  5. Den neuen Wert auf 1 setzen.

64bit Betriebssystem:

  1. Starten von REGEDIT.EXE
  2. Auswahl des Pfades 
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Grutzeck Software\AG-VIP SQL
  3. Menüpunkt Bearbeiten->Neu->DWORD Wert
  4. Neuen DWORT-Wert auf FullDump umbenennen
  5. Den neuen Wert auf 1 setzen.

Wird der Wert auf 0 zurück gesetzt oder der Eintrag aus der Registry gelöscht, so erfolgt ein Dump wieder im kompakten Minidump-Format.

Vorgehensweise 2: 

Ab der AG-VIP SQL Version 2.00.003 ist es möglich einen Fulldump auch über die AGVIP.INI zu defijnieren. In diesem Fall wird im Abschnitt [Options] der folgende Eintrag hinzugefügt

[Options]
FullDump=1

Vorgehensweise 3: 

Weiterhin ist es auch möglich die AGVIP.EXE mit dem Befehlszeilenschalter /fulldump zu starten. Gehen sie wie folgt vor:

  1. Wählen Sie mit der rechten Maustaste dsas Symbol aus mit dem Sie AG-VIP SQL starten. 
  2. Klicken Sie auf Eigenschaften.
  3. Im Feld Ziel geben Sie zusätzlich mit einer Leertaste getrennt die Option /fulldump ein.

Vorgehensweise 4:

Seid Windows Vista, kann man über den Taskmanager ebenfalls einen vollen Crash Dump erzeugen.

  1. Starten Sie den Taskmanager über die Tastenkombination STRG + ALT + ENTF und klicken Sie dann auf "Taskmanager starten"
  2. Wechseln Sie in den Reiter "Prozesse" sofern dieser noch nicht aktiv sein sollte
  3. Klicken Sie mit der rechten Maustaste auf den Prozess "AGVIP.exe"
  4. Klicken Sie anschließend auf den Menüpunkt "Abbilddatei erstellen"

Siehe auch:

 

Änderungslog:

25.08.2021

  • Entfernen der Unterscheidung von 32bit und 64bit Task Manager (seit Windows 10 obsolet)
  • Neuer Link für Dump Erzeugung mir Procdump

08.07.2013

  • Erweiterung des Artikelpunktes "Vorgehensweise 1" um den Registrypfad bei 64bit Betriebssystemen

04.07.2013

  • Textkorrekturen vorgenommen
  • Erweiterung des Artikels um den neuen Vorgehensweise.
  • Erweiterung des Artikels um den Abschnitt "Änderungslog".

 05.06.2019

  • Neue Vorgehensweise mit Eintrag in der AGVIP.INI ab AG-VIP 2.00.003

2021-08-25 09:06
Martin Richter

Formatieren von Werten aus Hilfsmitteln mit Word

Beschreibung:

Daten werden bei den Standardhilfsmitteln für Word in Dokumenten Variablen abgelegt. Diese Dokumenten Variablen werden dann über die Feldfunktion DOCVARIABLE in das Dokument eingesetzt.

Die Daten werden hierbei nach Standard-Windows Vorgabe formatiert eingesetzt., d.h. Fließkommazahlen, Zeit- und Datumsfelder werden im entsprechenden Standardformat übernommen.
Dies führt unter Umständen jedoch nicht zum gewünschten Ausgabeformat. Z.B. könnte für ein Datumsfeld eine vollständige Textdarstellung gewünscht sein, oder für eine Uhrzeit die Unterdrückung der Sekundenangabe, oder bei einer Fließkommazahl soll die Anzahl der Nachkommastellen geändert werden.

Word unterstützt für Feldfunktionen Formatangaben \# für Fließkommazahlen und \@ für Datumsangaben. Diese Funktionalität kann entsprechend genutzt werden.

Beispiel Datum:

Gegeben sei eine DOCVARIABLE Date (Datumsfeld mit Inhalt "30.12.2002 12:23:34") gespeichert als Feldtyp:Datum, Zeit.

Die Ausgaben in Word können auf folgende Weise erfolgen:

Ohne Formatierung:

{DOCVARIABLE Date}
30.12.2002 12:23:34

Vollständiges ausgeschriebenes Datum:

{DOCVARIABLE Date \@ "dddd, d. MMMM yyyy HH:mm"}
Montag, 30. Dezember 2002 12:23

Nur Uhrzeit: 12-Stundenanzeige

{DOCVARIABLE Date \@"hh:mm"}
12:23

Nur Uhrzeit: 24-Stundenanzeige

{DOCVARIABLE Date \@"HH:mm"}
12:23

Die Werte stehen also für folgende Bedeutung:

 

 Kürzel Bedeutung 
 d Nummer eines Tages innerhalb der Woche bzw. Monat
 dd  Tag mit führender "0"
 ddd  Erste drei Buchstaben des Wochentages
 dddd  Ausgeschriebener Wochentag
 M  Monat, keine führende "0", z.B. "1"
 MM  Monat inkl. führender "0", z.B. "01"
 MMM  Monat mit ersten drei Buchstaben, z.B. "Jan"
 MMMM  Ausgeschriebener Monat, z.B. "Januar"
yyyy  vier-stellige Jahreszahl
 HH  24-Stundenanzeige inkl. führender "0"
 hh  12-Stunden inkl. führender "0"
 mm  Zeigt die Minuten inkl. führender "0" an
Beispiel Fließkommazahl:

Gegeben sei eine DOCVARIABLE Double (Inhalt -1.234,5678) gespeichert als Feldtyp:Fließkommazahl.

Die Ausgaben in Word können auf folgende Weise erfolgen:

Ohne Formatierung:

{DOCVARIABLE Double}
-1234,5678

Mit 2 Nachkommastellen und mit Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "#.###,00"}
-1.234,57

Ohne Nachkommastellen und mit Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "#.###"}
-1.235

Ohne Nachkommastellen und ohne Tausendertrennung (es wird gerundet):

{DOCVARIABLE Double \# "####"}
-1235

Die vollständige Dokumentation für die Formatierung von Feldfunktionen entnehmen Sie bitte der Microsoft Word Online Hilfe.

Formatierung von logischen Feldern

Bei logischen Feldern werden im Standard die Werte true (= 1 = Haken gesetzt) oder false ( = 0 = leeres logisches Feld) übergeben. Das soll im Word-Dokument aber oftmals nicht angezeigt werden.

Ein Lösungsweg kann sein, die Feldfunktion in Word, um eine IF - Anweisung zu erweitern und statt true oder false eine Grafik einblenden zu lassen. Das würde dann wie folgt als Feldfunktion in Word aussehen:

{ IF { DOCVARIABLE [Logisches Feld AG-VIP SQL} = "True" { INCLUDEPICTURE "C:\Temp\Haken.JPG" } { INCLUDEPICTURE "C:\Temp\Leer.JPG" }}

 Oder man setzt z.B. bei einem Tri-State logischen Feld statt 0 = Nein, 1 = Ja,  2 = Keine Angabe die Textausgabe

{If {DOCVARIABLE OptInPhone \* CHARFORMAT} = 1 "Ja" {If { DOCVARIABLE OptInPhone \* CHARFORMAT} = 0 "Nein" "Keine Angabe" } }

2023-02-21 08:35
Martin Richter

Häufige Fehler beim Aufbau der Verbindung zum SQL-Server

Beschreibung:

Die Installation von AG-VIP SQL und ggf. der MSDE bzw. MS SQL Server 2005 erfolgen i.d.R. problemlos. Schwierigkeiten treten beim Aufbau der Verbindungsdatei AGVIP.AGDB über den AGVIPDBWizzard.exe auf.

1. Auf Server kann AG-VIP SQL gestartet werden, auf Client nicht

Problem:

Die Verbindungsdatei wurde direkt am Server erzeugt. Dort ist der Name des SQL-Servers (local). Damit klappt das Starten von AG-VIP SQL am Server problemlos. Beim Starten von AG-VIP SQL am Client erscheint aber die Fehlermeldung, dass der SQL-Server nicht gefunden wurde.

Lösung:
  1. Starten Sie den AGVIPDBWizzard.EXE vom Client aus und geben den Computernamen des SQL-Servers an.
  2. Öffnen Sie die AGVIP.AGDB im zentralen AG-VIP SQL-Programmverzeichnis und ändern Sie den Eintrag (local) über einen Texteditor in die IP-Adresse oder besser den Computernamen des SQL-Servers um.

2. AGVIPDBWizzard schlägt fehl, wenn mit festem SQL-User gearbeitet wird

Problem:

Sie wollen über einen neuen fest definierten SQL-User den Zugriff von AG-VIP SQL auf die SQL-Datenbank ermöglichen. Aber Sie erhalten die Fehlermeldung:

Keiner vertrauten SQL-Server Verbindung zugeordnet!

Lösung:

Bei der Standardinstallation von Microsoft SQL Server wird nur die Windows-Authentifizierung erlaubt. Damit bekommt aber jeder User über Excel oder Access Zugriff auf alle Daten von AG-VIP SQL (ODBC-Zugriff etc.) und kann Daten lesen und manipulieren.

Deswegen macht es Sinn über einen in der AGVIP.AGDB verschlüsselt abgelegten User den Zugriff auf die SQL-Datenbank für AG-VIP SQL zu ermöglichen. Dazu müssen Sie im Microsoft SQL-Server neben der Windows- auch die SQL-Authentifizierung ermöglichen.

  1. Dazu starten Sie den MS-SQL Enterprise Manager und klicken mit dem rechten Mausklick auf den relvanten SQL-Server, z.B. (local) und wählen aus dem Kontextmenü den Befehl Eigenschaften.
  2. Wechseln Sie in den Reiter Sicherheit und wählen dort die Option Authentifizierung: SQL und WINDOWS

3. Fehler: ?SQL-Server existiert nicht oder Zugriff verweigert"

Problem:

Sie haben einen SQL-Server angegeben, der nicht existiert, dessen Service nicht läuft oder auf den Sie kein Zugriffsrecht haben.

Lösung:
  1. Geben Sie statt des Namens die IP-Adresse des Computers an, auf dem der SQL-Server läuft.
  2.  Stellen Sie sicher, dass der SQL-Service am Server läuft.
  3. Wenn Sie eine Instanz verwenden z.B. "SERVER01\SQLEXPRESS" dann muss der "SQL Server Browser" gestartet sein.

2011-08-17 16:01
Martin Richter

Kanonische Telefonnummern

Beschreibung:

Grundsätzlich muss man unterscheiden zwischen der Telefonnummer, die ein Anwender in AG-VIP anlegt und der Nummer, die physikalisch auf einer Leitung gewählt wird.
Im Allgemeinen findet immer eine Aufbereitung der Telefonnummer statt. Dies wird unter Andrem notwendig, da eine Telefonnummer selbst noch keine Amtsholung, oder auch keine nationalen- oder regionalen Sonderheiten berücksichtigt.

AG-VIP benutzt intern für die Anwahl das kanonische Telefonnummernformat.
D.h. alle Telefonnummern werden, sofern sie nicht bereits im kanonischen Format vorliegen in ein kanonisches Telefonnummern Format gebracht. Aus dieser kanonischen Telefonnummer wird dann die physikalisch zu wählende Nummer erzeugt.

Es ist dringend anzuraten Telefonnummern kanonisch zu hinterlegen, denn nur diese Schreibweise garantiert, dass eine Adresse unabhängig vom Standort korrekt angewählt wird. Der kanonischen Schreibweise ist es vor allem auch möglich Standorte in unterschiedlichen Ländern zu unterstützen. Ohne diese einheitliche Schreibweise kann keine standortunabhängige Vorwahl garantiert und unterstützt werden.

Der Aufbau einer kanonischen Telefonnummer ist wie folgt:
+ Ländervorwahl Leerzeichen [(Ortsvorwahl) Leerzeichen] Rufnummer
z.B: +49 (6181) 9701-0

Kanonische Telefonnummern beginnen immer mit einem Pluszeichen. AG-VIP SQL verändert kanonische Telefonnummern nicht weiter, sonder übergibt diese direkt an die TAPI, die daraus die physikalisch zu wählende Telefonnummer aufbaut.

Auf das Pluszeichen folgt der Ländercode. (z.B. 49 für Deutschland) gefolgt von einem Leerzeichen. Der Ländercode wird immer angegeben, auch wenn die Telefonnummer selbst dasselbe Zielland hat.

Auf den Ländercode getrennt mit einem Leerzeichen folgt die regionale Vorwahl, die in Klammern gesetzt wird. Eine regionale Vorwahl ist optional bei kanonischen Telefonnummern. Die regionale Vorwahl hat im Allgemeinen keine führende 0. Sollte dennoch eine führende 0 angegeben werden, so wird diese ignoriert.

Auf die Vorwahl folgt, wieder durch ein Leerzeichen getrennt die Durchwahl. Der Aufbau der Durchwahl (weitere Trennzeichen wie Komma, Bindestrich, Schrägstrich) spielt keine Rolle.

Für die Umwandlung der kanonischen Telefonnummern werden die Standardort Einstellungen in der Systemsteuerung (unter START -> SYSTEMSTEUERUNG -> DRUCKER UND ANDERE HARDWARE -> TELEFON-UND MODEMOPTIONEN die WÄHLREGELN) herangezogen.
Hier wird der Standardort definiert von dem aus der Anruf erfolgt. Hinterlegt sind hier das eigene Land, die eigene Vorwahl und eine evtl. notwendige Ziffernfolge zur Amtsholung.

Für die in diesem Artikel aufgeführten Beispiele gilt, das aktuelle Land: Deutschland (Ländercode 49), Vorwahl für Hanau (06181), Amtsholung für eine TK_Anlage (0).
Innerhalb von AG-VIP SQL ist es zusätzlich möglich eine Projektvorwahl zu definieren, die der kompletten Nummer voran gestellt wird.

Die zu wählende Nummer enthält zuerst die Projektvorwahl, anschließend wird die Amtsholung angehängt. Der weitere Aufbau der Nummer hängt entscheidend von Übereinstimmung bzw. Unterschied von Länder- bzw. Vorwahlnummer ab.
Ist der Ländercode der zu wählenden Nummer identisch zum Ländercode des Standortes wird keine weitere Ziffernfolge zur Wahl hinzugefügt. Ist der Ländercode unterschiedlich wird die notwendige Ziffernfolge angehängt die einen internationalen Ruf in das entsprechende Zielland auslöst.
Ist der Ländercode identisch wird als nächstes die zu wählende Vorwahl mit der Vorwahl des Standortes verglichen. Ist diese identisch wird nur noch die Durchwahl zur zu wählenden Nummer hinzugefügt. Unterscheidet sich Vorwahl oder Ländercode wird die entsprechende Vorwahlnummer und Durchwahl angehängt.

Beispiel Standort:
Projektvorwahl = 4711
Amtsholung = 0
Land: Deutschland = 49
Vorwahl = 6181

Zu wählen eine internationale Nummer in den USA: +1 (123) 4567890
Es wird gewählt: 4711 0 001 123 4567890
(die Leerzeichen dienen nur der besseren Darstellung, diese werden normalerweise nicht eingefügt).

Zu wählen ein nationaler Ruf nach München: +49 (89) 4567890
Es wird gewählt: 4711 0 089 4567890

Zu wählen ein nationaler Ruf ins gleiche Ortsnetz: +49 (6181) 4567890
Es wird gewählt: 4711 0 4567890

2011-08-17 15:39
Martin Richter

Längenbeschränkung für Benutzername und Kennwort in Verbindungsdatei AGVIP.AGDB

Beschreibung:

In der Verbindungsdatei von AG-VIP SQL wird bei Verwendung der SQL Authentifizierung der Benutzername und das Kennwort gespeichert.

Das Kennwort darf allerdings nur eine maximale Länge von 32 Zeichen haben.
Der Benutzername ist auf 40 Stellen begrenzt.

Da lange Kennworte oft per Copy&Paste in die Anmeldebildschirme übertragen werden fällt es manchmal nicht auf wenn längere Kennworte abgeschnitten werden, da das Kennwort in diesem Fenster verdeckt angezeigt werden und die Begrenzung nicht auffällt.

Diese Beschränkungen sind by Design. 

2015-08-18 08:34
Martin Richter

MAPI-Hilfsmittel: Email über Outlook versendet kommt manchmal als WINMAIL.DAT an

Beschreibung:

Eine Email die über ein MAPI-Hilfmittel über Outlook gesendet wird, kommt bei manchen Empfängern als Winmail.dat an.

Das Problem liegt nicht in AGVIP sondern in Outlook. (Sowohl Outlook als auch Outlook Express)

Immer wenn aus Outlook eine Email gesendet wird und die Email im Outlook "Rich Text" Format gesendet wird, verwendet Outlook das sogenannte TNEF-Emailformat, das von einigen Emailclients nicht dargestellt werden kann. (In der Regel alle nicht Microsoft Emailclients)

TNEF (Transport Neutral Encapsulation Format) ist die Bezeichnung für ein proprietäres, von der Firma Microsoft in deren Mailprogramm Microsoft Outlook® und in Microsoft Exchange® implementiertes Dateiformat für Attachments (Dateianhänge). Es enthält sowohl beschreibende Strukturen als auch das eigentliche Attachment inline in der E-Mail. Attachments in diesem Format erhalten häufig automatisch den Dateinamen ?winmail.dat" oder ?win.dat".
Neuere Outlookversionen verwenden in der Regel HTML als Standardformat zum senden von Nachrichten, daher tritt das Problem hier seltener auf.

Das TNEF verwendet wird kann folgende Ursache haben:
  1. Outlook ist unter Optionen Email-Format auf "Rich-Text-Format" als Standard eingestellt.
  2. Der Kontakt zur Emailadresse ist in Outlook vorhanden und dort ist "Als Rich Text" senden in der Adresse des Kontakts als Sendeformat eingestellt. (Doppelklick auf Emailadresse des Kontakts-> Sendeformat)
  3. Die Vorlage auf der das Hilfsmittel basiert ist auf Rich-Text als Sendeformat eingestellt.
Lösungsmöglichkeiten:
  1. Überprüfung der 3 oben genannten Punkte auf korrekte Einstellungen.
  2. Verwendung des Hilfmittels mit HTML-Erweiterung vom 23.08.2007 (Email schreiben mit Vorlage)
Siehe auch:

2011-08-17 16:06
Martin Richter

MS-SQL Server Authentifizierung umstellen

Beschreibung:

Die MSDE und der MS-SQL Server unterstützen zwei Authentifizierungs Modis.

  1. Nur Windows Authentifizierung
  2. Windows Authentifizierung und SQL-Server Authentifizierung

In den meisten Fällen ist nach der Installation einer MSDE oder eines MS-SQL Server nur die Windows Authentifizierung aktiv.

Was bedeutet es wenn nur Windows Authentifizierung eingestellt ist?

Das bedeutet, dass auch beim Anlegen der Datenbanken Rechte für die existierenden Benutzerkonten eingerichtet werden müssen. Zudem muss der Anwender der die Datenbanken anlegt Administrative Rechte im SQL Server (MSDE) haben. Ist dies nicht der Fall kann auch mit der Kenntnis eines "sa" Kennwortes keine Datenbank angelegt werden und keine Verbindung.
Im Allgemeinen bedeutet es auch, das nach dem Anlegen der Datenbank, die entsprechende Windows Benutzergruppe den Zugriff auf die SQL Datenbank zugeteilt bekommen muss. Dies ist bei der MSDE mangels Userinterface nicht ohne weiteres möglich.

Was ist der Vorteil der SQL Authentifizierung?

Es gibt einen entsprechenden Usernamen und ein Kennwort das den Zugriff regelt. Dieses Beiden Informationen werden in der Verbindungsdatei (.agdb) von AG-VIP SQL verschlüsselt hinterlegt. Nur AG-VIP SQL und jeder der das Kennwort kennt ist somit in der Lage eine Verbindung zu der Datenbank aufzubauen.
Wird ein Zugriff über die Windows Authentifizierung gestattet, dann kann jeder Anwender mit jedem Programm (also auch Access) auf die AG-VIP SQL Datenbank zugreifen und alle Daten auslesen und manipulieren. Ein Zugriff über die SQL-Server Authentifizierung erlaubt eine Datenbank wirklich abzuschotten und nur dem Programm (und nicht dem Anwender) den Zugriff zu gestatten.

Wie stellt man die Authentifizierung um?
  1. MS-SQL Server 2000
    Beim MS-SQL Server öffnet man den Enterprise Manager. Klickt mit der rechten Maustaste, den entsprechenden Server an und wählt Eigenschaften. In den Eigenschaften wählt man den Karteireiter Sicherheit aus. Dort kann man nun die gewünschte Einstellung "Windows und SQL-Server" vornehmen.
  2. MSDE
    Bei der MSDE kann man den folgenden Registry Schlüssel verändern (funktioniert auch beim MS-SQL Server):
    HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
    Wert 1 = Nur Windows Authentifizierung
    Wert 2 = Windows Authentifizierung und SQL-Server Authentifizierung
  3. MS-SQL Server 2005 (Express Edition)
    Beim MS-SQL Server 2005 öffnet man das Management Studio. Klickt mit der rechten Maustaste, den entsprechenden Server an und wählt Eigenschaften. In den Eigenschaften wählt man den Karteireiter Sicherheit aus. Dort kann man nun die gewünschte Einstellung "Windows und SQL-Server" vornehmen.

In allen Fällen muss der Server oder zumindest alle MS-SQL/MSDE Services neu gestartet werden.

In der normalen Installation der MSDE ist die "nur Windows Authentifizierung" eingestellt. Die Installation der MSDE von unserer Demo bzw. Lizenz-CD erlaubt "Windows Authentifizierung und SQL-Server Authentifizierung".
Dies hat zur Folge das bei den meisten bereits bestehenden MSDE Installationen die Authentifizierung umgestellt werden muss.
Achtung in diesem Fall ist oft das sa Kennwort unbekannt oder es ist dringend empfohlen das sa Kennwort zu ändern.

Siehe auch:

Ändern des sa Kennwortes in der MSDE

2011-08-17 15:59
Martin Richter

Online-Hilfe zeigt "Aktion abgebrochen" anstatt den Hilfetext

Problem:

Durch die Installation der Sicherheitsupdates MS05-026 bzw. MS04-023 ist es nicht mehr möglich den Inhalt von Hilfedateien einzusehen wenn diese auf einem Netzwerklaufwerk liegen. Die Online-Hilfe zeigt dann an, dass die entsprechende Seite nicht geladen werden kann. Es wird im Hilfe Fenster eine Fehlermeldung "Aktion abgebrochen" angezeigt. Die Anzeige von Index und das Inhaltsverzeichnis sind davon nicht betroffen.

Insbesondere AG-VIP SQL und AG-V.I.P. Netzwerkinstallation sind davon betroffen weil beide die Hilfe Datei zentral auf dem Server installieren.

Betrifft:

Windows Vista, Windows XP, Windows 2000

Lösung:

Es ist möglich weiterhin den Zugriff auf diese chm Hilfedateien zu erlauben. Dazu wird der Zugriff auf Hilfedateien gewährt, die innerhalb des eigenen Intranets liegen. Die Sicherheitseinstellungen werden dadurch leicht gelockert.

Vorgehensweise 1:
  1. Wechseln ins AG-VIP SQL Installationsverzeichnis
    Standard: C:\Programme (x86)\AG-VIP SQL
  2. Erstellen Sie eine Verknüpfung von der "SetupAGVIPClient.exe"
  3.  In den Eigenschaften der Verknüpfung (Rechtsklick -> Eigenschaften)
    ergänzen Sie im Bereich "Ziel" am Ende des Dateipfads mit einem Leerzeichen getrennt den Parameter: -f
    Beispiel:  "C:\Programme (x86)\AG-VIP SQL\SetupAGVIPClient.exe" -f
  4. Speichern Sie die Änderung und starten Sie die Verknüpfung (Das Setup installiert/registriert nun alle notwendigen Komponenten).
Vorgehensweise 2:
  1. Starten Sie REGEDIT.EXE
  2. Wählen Sie den Pfad
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions
    bzw. bei 64bit Betriebssystemen wählen Sie den Pfad
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\HTMLHelp\1.x\ItssRestrictions
  3. Tragen Sie im MaxAllowedZone den Wert 1 ein.
  4.  Tragen Sie im UrlAllowList den Dateipfad zur AGVIPDEU.chm ein.

Hinweis:
Falls der Pfad nicht existieren sollte,
muss dieser über einen Rechtsklick auf den weitesten Ast des Pfades über den Begriff "Schlüssel" hinzugefügt werden.
Beispiel:
Der Pfad geht nur bis: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\
und muss daher mit einem Rechtsklick auf 1.x um den "Schlüssel" ItssRestrictions erweitert werden.
Dadurch fehlt auch das Feld MaxAllowedZone welches dann durch ebenfalls einem Rechtsklick jedoch auf ItssRestrictions als DWORD hinzugefügtwird.
Nachdem Sie dies getan haben, sollte der Rechner neugestartet werden, damit die Einstellungen auch übernommen werden.

Vorgehensweise 3:

  1. Starten Sie den Editor (Notepad)
  2. Kopieren Sie den unten stehenden Text aus diesem Artikel in den Editor.
  3. Speichern Sie die Datei unter dem Namen "CHM-Intranet-Fix.reg". Achten Sie beim Speichern darauf das Sie den neuen Namen in Anführungszeichen setzen, sonst wird die Datei mit der Endung .txt gespeichert und nicht mit der Endung .reg.
  4. Doppelklicken Sie auf jedem betroffenen Rechner diese Datei.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
"UrlAllowList"="\\\\Rechnername\\Pfad\\AG-VIP SQL\\AGVIPDEU.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
"UrlAllowList"="\\\\Rechnername\\Pfad\\AG-VIP SQL\\AGVIPDEU.chm"
Weiterführende Infos finden Sie unter den folgenden Links:

http://support.microsoft.com/kb/896358/de

http://support.microsoft.com/kb/896054/de

2013-04-18 12:11
Martin Richter

Die Behandlung von Disconnect Modes in AG-VIP SQL

Beschreibung: 

Immer wieder kommt es zu Problemen, wenn Tapi-Treiber einen falschen Disconnect Mode (Art und Weise der Trennung) zurückgeben.

Zur Erklärung:

Der Disconnect Mode dient dazu um zu ermitteln warum eine Verbindung nicht hergestellt werden konnte oder warum eine Verbindung beendet wurde. Der Disconnect Mode ist eine zusätzliche Angabe zu dem Callstate (Anrufstatus) LINECALLSTATE_DISCONNECT angegeben. In einem Tapi-Trace findet sich diese Information in solch einer Zeile wieder:
09:55:16:33 Tapi::CTapiControl::TapiCallState hCall=0x000100de, dwCallstate=DISCONNECTED, dwCallStateDetail=NORMAL
Im allgemeinen wird der Disconnect Mode beim aktiven Beenden eines Telefonates, also durch Auflegen des Anwenders oder bei einem Timeout ignoriert. Dennoch sollte der Tapi-Treiber hier LINEDISCONNECTMODE_NORMAL returnieren.
Wichtig wird der Disconnect Mode beim Verbindungsaufbau, denn hier hilft er zwischen 4 Möglichkeiten beim Nichtzustandekommen eines Telefonats zu unterscheiden.

  1. Besetzt
  2. Nicht erreicht (vorübergehend nicht erreichbar)
  3. Falsche Telefonnummer
  4. Fataler Fehler bei der Anwahl (TK-Anlage gestört und ähnliches)

Diese entsprechenden Zustände werden durch die folgenden Modi angezeigt, alle Modi werden hier mit ihrem hexadezimalen Zahlenwert aufgeführt:

LINEDISCONNECTMODE_NORM 0x00000001
LINEDISCONNECTMODE_UNKNOWN 0x00000002
LINEDISCONNECTMODE_REJECT 0x00000004
LINEDISCONNECTMODE_PICKUP 0x00000008
LINEDISCONNECTMODE_FORWARDED 0x00000010
LINEDISCONNECTMODE_BUSY 0x00000020
LINEDISCONNECTMODE_NOANSWER 0x00000040
LINEDISCONNECTMODE_BADADDRESS 0x00000080
LINEDISCONNECTMODE_UNREACHABLE 0x00000100
LINEDISCONNECTMODE_CONGESTION 0x00000200
LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
LINEDISCONNECTMODE_UNAVAIL 0x00000800
LINEDISCONNECTMODE_NODIALTONE 0x00001000
LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
LINEDISCONNECTMODE_OUTOFORDER 0x00004000
LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
LINEDISCONNECTMODE_BLOCKED 0x00020000
LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
LINEDISCONNECTMODE_CANCELLED 0x00080000
Im Normalfall werden diese Werte so interpretiert:
  1. Besetzt
    LINEDISCONNECTMODE_NORMAL, LINEDISCONNECTMODE_BUSY
  2. Nicht erreicht
    LINEDISCONNECTMODE_REJECT, LINEDISCONNECTMODE_NOANSWER, LINEDISCONNECTMODE_UNREACHABLE, LINEDISCONNECTMODE_DONOTDISTURB, LINEDISCONNECTMODE_OUTOFORDER
  3. Falsche Telefonnummer
    LINEDISCONNECTMODE_NUMBERCHANGED, LINEDISCONNECTMODE_BADADDRESS, LINEDISCONNECTMODE_INCOMPATIBLE
  4. Fataler Fehler:
    LINEDISCONNECTMODE_UNKNOWN, LINEDISCONNECTMODE_PICKUP, LINEDISCONNECTMODE_FORWARDED, LINEDISCONNECTMODE_CONGESTION, LINEDISCONNECTMODE_UNAVAIL, LINEDISCONNECTMODE_NODIALTONE, LINEDISCONNECTMODE_TEMPFAILURE, LINEDISCONNECTMODE_QOSUNAVAIL, LINEDISCONNECTMODE_BLOCKED, LINEDISCONNECTMODE_CANCELLED

Es gibt nun leider Tapi-Treiber, die sich nicht an die Vorgaben halten, und bei einem Besetzt z.B. den LINEDISCONNECTMODE_UNKNOWN returnieren. Dies würde allerdings von AG-VIP SQL als fataler Fehler interpretiert. Die Folge ist, dass AG-VIP SQL eine Fehlermeldung ausgibt und die weitere Anwahl in dem Projekt unterbindet. Dies geschieht damit nicht durch einen Fehler in der TK-Anlage das Projekt weiter läuft. AG-VIP SQL ist in der Lage bis zu 20 Telefonate pro Sekunde anzuwählen. Würde ein Fehler also immer als Besetzt interpretiert werden würde das Projekt weiterlaufen und in wenigen Minuten wären alle Telefonate als Besetzt erkannt worden und evtl. auf einen späteren Zeitpunkt verschoben. AG-VIP SQL muss deshalb die fatalen Fehler mit einem Stop der automatischen Anwahl quittieren.

Welche Zuordnung aktuelle gilt wird bei Programmstart im Tapi-Trace verzeichnet (ab Hotfix 1.07.009 Build 249):

09:19:08:03 Tapi::CTapiControl::SetDisconnectModesBusy 0x00000021, NORMAL,BUSY 
09:19:08:03 Tapi::CTapiControl::SetDisconnectModesNoConnect 0x00044144, REJECT,NOANSWER,UNREACHABLE,OUTOFORDER,DONOTDISTURB
09:19:08:03 Tapi::CTapiControl::SetDisconnectModesWrongNumber 0x00002480, BADADDRESS,INCOMPATIBLE,NUMBERCHANGED
09:19:08:04 Tapi::CTapiControl::SetDisconnectModesError 0x000b9a1a, UNKNOWN,PICKUP,FORWARDED,CONGESTION,UNAVAIL,NODIALTONE,TEMPFAILURE,QOSUNAVAIL,BLOCKED,CANCELLED
09:19:08:04 Tapi::CTapiControl::CheckDisconnectModesSetting Covered=0x000fffff

Um solche Fehler korrigieren zu können ist es möglich, diese Standardwerte für Besetzt, nicht erreicht, falsche Telefonnummer und fataler Fehler zu überschreiben bzw. andere Vorgaben zu machen. Dies ist möglich ab dem Hotfix 1.07.009 Build 249.

Anpassung über dir AGVIP.INI oder AGOvderdialTAPI.INI

Über die AGVIP.INI bzw. AGOvderdialTAPI.INI im Programmverzeichnis ist es möglich für die zentrale Netzwerkinstallation bzw. den Overdialserver eine Änderung vorzunehmen. Das nachfolgende Beispiel zeigt wie der LINEDISCONECTMODE_UNKNOWN als Besetzt interpretiert und nicht als Fehler.
Der entsprechende Abschnitt [TAPI] muss evtl. noch in der INI Datei angelegt werden. Ist der Abschnitt nicht vorhanden, können Sie diesen untenstehenden Textblock direkt an das Ende der Datei kopieren. 

[TAPI]
DisconnectMode_Busy=0x00000023
DisconnectMode_NoConnect=0x00044144
DisconnectMode_WrongNumber=0x00002480
DisconnectMode_Error=0x000b9a18
Anpassung über die Registry

Über die registry kann eine entsprechende Änderung Arbeitsplatz bezogen durchgeführt werden.

Dazu können in der Registry im Zweig:
32bit Betriebssystem:
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes

64bit Betriebssystem:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes

Die entsprechende hexadezimalen Werte überschrieben werden.

Eine entsprechende Reg-Datei findet sich nachfolgend. In diesem 32bit Beispiel wird der LINEDISCONECTMODE_UNKNOWN als Besetzt interpretiert und nicht als Fehler.

REGEDIT4 
[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes] 
"Busy"=dword:00000023
"NoConnect"=dword:00044144
"WrongNumber"=dword:00002480
"Error"=dword:000b9a18

Speichern Sie den markierten Textblock als .REG Datei ab und Doppelklicken Sie die Datei auf den Rechnern, an denen die Änderung durchgeführt werden soll.

Entsprechend zeigt der Trace die Veränderung an:
11:45:29:53 Tapi::CTapiControl::LoadDisconnectModesSetting 
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesBusy 0x00000023, NORMAL,UNKNOWN,BUSY
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesNoConnect 0x00044144, REJECT,NOANSWER,UNREACHABLE,OUTOFORDER,DONOTDISTURB
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesWrongNumber 0x00002480, BADADDRESS,INCOMPATIBLE,NUMBERCHANGED
11:45:29:53 Tapi::CTapiControl::SetDisconnectModesError 0x000b9a18, PICKUP,FORWARDED,CONGESTION,UNAVAIL,NODIALTONE,TEMPFAILURE,QOSUNAVAIL,BLOCKED,CANCELLED

Zur Sicherheit, dass die Einstellungen, bzw. Änderungen korrekt sind, wird zusätzlich eine Kontrollzeile mit ausgegeben, die im Normalfall so aussieht:

11:45:29:55 Tapi::CTapiControl::CheckDisconnectModesSetting Covered=0x000fffff

Bei Fehlern zeigt diese Zeile Probleme mit einer Doppel- oder Falschbelegung an.

Wir bitten darum, dass Änderungen an diesen Einstellungen nur in enger Absprache mit der Hotline durchgeführt werden, da hier Fehler fatale Folgen haben können. Auf eine detaillierte Beschreibung wie diese Werte aufgebaut werden müssen, wird deshalb an dieser Stelle verzichtet.

 

2019-06-21 10:55
Martin Richter

Voller Datenbank Export bei sehr komplexen Adresstabellen führt zu Fehlermeldung

Beschreibung:

Wird eine sehr komplexe Adresstabelle angelegt und versucht von dieser ein kompletter Export über Access zu machen, so kann es zu der folgenden Fehlermeldung kommen:

Create table failed!
Microsoft JET Database Engine: Zu viele Felder definiert. [3190] =-68092944

Ursache: 

By Design erlaubt Access je Tabelle nur 255 Felder. MS-SQL erlaubt je Tabelle 1024 Felder.
Somit können komplexe Tabellen aus AG-VIP SQL nicht nach Access exportiert werden.

Anmerkung: Auch wenn MS-SQL 1024 Felder unterstützt so wird nur eine maximale Datensatzlänge von 8036 Zeichen zugelassen.

 

2011-08-17 15:58
Martin Richter

Wie werden Locks von abgestürzten AG-VIP-SQL Sessions behandelt?

Beschreibung:

Wenn AG-VIP SQL durch einen Rechner Absturz unvorhergesehen beendet wird, kann es vorkommen, dass beim erneuten Anmleden die folgende Fehlermeldung erscheint:

Das Benutzerkonto "xyz" ist gesperrt!
Dieses Objekt ist durch den Benutzer "xyz" an der Arbeitsstation "abc" gesperrt seit "12.07.2007 14:35"!

Hintergrund:

Datenbanksperren werden in zwei Tabellen der SQL Datenbank gehalten. Es ist klar, dass Einträge in diesen Tabellen erhalten bleiben, wenn AG-VIP SQL oder eine Komponente abstürzt, oder eine Komponente durch einen Rechnerabsturz oder Netzwerkdefekt nicht beendet werden konnte.

Jede aktive Session setzt alle 5 Minuten ein bestimmtes Feld im aktuellen Sessioneintrag. Gleichzeitig wird von jeder aktiven Session alle 5 Minuten geprüft ob es Sessions gibt die länger als 10 Minuten keine Aktualisierung durchgeführt haben.
Sessions die keine Aktualisierung für mehr als 10 Minuten durchgeführt haben gelten als tot und werden automatisch mit allen gehaltenen Locks entfernt.
Dieser Test startet beim Aufruf einer neuen AG-VIP SQL Instanz und erfolgt dann alle 5 Minuten.

Gleichzeitig gibt es eine automatische Aktualisierung für den aktuellen PC.
Beim Start einer Instanz von AG-VIP SQL wird die aktuelle Session in der Registry des Rechners vermerkt. Stürzt der Rechner ab, oder AG-VIP SQL und wird AG-VIP SQL sofort neu gestartet, dann wird in der Registry der entsprechende Wert der letzten Session gefunden und diese Session automatisch entfernt.
Ansonsten bliebe diese Session für 10 Minuten gesperrt.

Das hat aber folgenden Seiteneffekt: Stürzt eine AG-VIP SQL Session ab für Benutzer X. Aber der Benutzer wechselt nun den PC und will sich an einem neuen Rechner anmelden, so ist seine Session weiterhin gesperrt (für 10 Minuten). An dem Rechner an dem er gearbeitet hatte und die letzte Session nicht ordnungsgemäß abgeschlossen wurde, hätte er sich sofort neu anmelden können.

Auch für AGVIPDBUpdate gilt die gleiche Regel.
Manche Administratoren können oder wollen nicht warten bis alle Nutzer AG-VIP SQL beendet haben und Terminieren diese laufenden Sitzungen. Die Folge es bleiben offene Sessions. AGVIPDBUpdate kann nun nicht gestartet werden, weil diese Session AGVIPDBUpdate anzeigen, dass es noch aktive Nutzer gibt.

Das Problem löst sich auch in diesem Fall nach ca. 10-15 Minuten.

2011-08-18 16:14
Martin Richter

Zurücksetzen der Fensterpositionen in AG-VIP SQL

Problem:

Es kommt immer wieder vor, dass die Fensterpositionen in AG-VIP SQL so verstellt sind, dass ein vernünftiges Arbeiten nicht mehr möglich ist. Man kann die Fensterpositionen löschen, indem man den gesamten Ast HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL löscht. Dies ist aber insofern negativ, als auch andere Einstellungen, wie die letzte Suche und Filter in der Historie dadurch gelöscht werden.

Lösung 1 (ab der Version 2.05.002) direkt mit AG-VIP SQL:

Direkt in den Fenstereinstellungen gibt es einen neuen Schalter UI zurücksetzen.
Gehen Sie wie folgt vor.

  • Klicken Sie mit der rechten Maustaste in das Ribbon oder eine Schalterleiste.
  • Wählen Sie aus dem Menü Symbolleiste anpassen 
  • In dem neuen Einstellungen-Dialog wählen sie nun den Karteireiter Benutzeroberfläche
  • Klicken Sie hier den Schalter UI Zurücksetzen. 

Dieser Schalter löscht alle Einstellungen in der Registry. Die aktuellen Einstellungen werden jedoch nicht zurückgesetzt. 

Lösung 2 direkt mit einer Batch-Datei:
  • Starten Sie die Sie die Datei ResetUI.bat.
  • Bestätigen Sie durch die Eingabetaste die Ausführung des ResetUI Befehls
  • Es erscheint eine Meldung, dass die Fensterpositionen gelöscht wurden. Drücken Sie die Eingabetaste.

Alle Fenster Positionen wurden gelöscht.

Arbeitsweise: Durch den Batch wird der Befehl REG ausgeführt und die relevanten Einträge in der Registry entfernt.
Vorteil: Es sind keine Adminsitratorrechte nötig. Nur die Ausführung des REG-Befehls muss möglich sein.

Lösung 3 indirekt mit einer Batch Datei und dem Start von AG-VIP SQL:

In der Anlage zu diesem Artikel befindet sich eine ZIP-Datei. Laden Sie diese herunter und entpacken diese. In dieser Datei befinden sich 3 Dateien.

  • Starten Sie die Sie die Datei AGVIP-ResetUI.bat.
  • Bestätigen Sie durch die Eingabetaste die Ausführung des ResetUI Befehls
  • Melden Sie sich in AG-VIP SQL an.
  • Beenden Sie das Programm
  • Es erscheint eine Meldung, dass die Fensterpositionen gelöscht wurden. Drücken Sie die Eingabetaste.

Alle Fenster Positionen wurden gelöscht.

Arbeitsweise: Durch den Batch wird die AGVIP.EXE mit der Option -ResetUI gestartet. Diese Option löscht alle aktuellen Fensterpositionen.
Vorteil: Es sind keine Administratorrechte nötig. Nur die normale Ausführung von AGVIP.EXE muss möglich sein.

Lösung 4 direkt mit einer Reg-Datei:

In der Anlage zu diesem Artikel befindet sich eine ZIP-Datei. Laden Sie diese herunter und entpacken diese. In dieser Datei befinden sich 3 Dateien.

  • Doppelklicken Sie die Datei ResetUI.reg
  • Bestätigen Sie den Zugriff als Administrator.
  • Bestätigen Sie den Import der Datei und setzen den Vorgang fort in dem Sie auf Ja klicken.
  • Es erscheint die Meldung, dass die Reg-Datei erfolgreich importiert wurde.

Arbeitsweise: Durch die Anweisungen in der Reg-Datei werden die entsprechenden Knoten in der Registry gelöscht.
Nachteil: Administrator Rechte sind notwendig.

Lösung 5 direkt durch manuelles Löschen der Registry Einträge:

Wer nur die Fensterposition direkt aus der Registry entfernen will, der muss die folgenden Äste löschen.

  • Starten Sie den REGEDIT.EXE
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\Settings
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsAddrSet
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsEmpty
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsProject
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsProjectCRM 
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsRibbon
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsStateDesigner
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsWorkflow
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL\SettingsWorkflowScript 
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL FormEditor\Settings
  • HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL ScriptEditor\Settings

Nachteil: Adminisrative Rechte nötig zum Start von REGEDIT.EXE

2023-11-07 16:33
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert<br />

Beschreibung: 

Es wurde eine Installation mit Microsoft-SQL 2008 /2012/2014/1016/2017 (auch Express Edition) durchgeführt.
Auf dem Server wurde eine Verbindungsdatei erfolgreich mit dem Microsoft-SQL Server 2008/2012 SQL Server Native Client (SNAC) bzw. Microsoft OLE DB Provider for SQL  Server  erzeugt.

Wird AG-VIP SQL nach der Installation mit SetupAGVipClient.exe nun auf einem der Client Rechner gestartet, dann erhält man die folgende Fehlermeldung:

AG-VIP SQL
Verbinden zur Datenbank ist fehlgeschlagen!
Es ist ein größeres Problem beim Aufbauen der Verbindung zur Datenbank aufgetreten. Der gemeldete Fehler lautet:
Database open
Microsoft OLE DB Service Components: Klasse nicht registriert

Ursache:

AG-VIP SQL greift auf die MS-SQL Datenbanken mit einem OLE-DB Provider zu. AG-VIP SQL unterstützt  zwei verschiedene OLE-DB Provider.  Zum einen den Microsoft-SQL Server 2012 SQL Server Native Client (SNAC)  und zusätzlich den neuesten Provider Microsoft OLE DB Provider for SQL  Server.

Die entsprechenden OLE-DB Provider werden automatisch mit dem entsprechenden MS-SQL Server installiert und stehen dann auch auf dem Server zur Verfügung . Für den Zugriff von einem beliebigen Client müssen  die passenden OLE-DB Provider jedoch mit installiert werden.

Entsprechende MSI Pakete finden sich auf der Installations CD im Ordner Tools.

SQL 2008 Server:
Tools\sqlncli_2008_x64.msi  (64bit)
Tools\sqlncli_2008_x86.msi (32bit)

SQL 2012/2014/2017 Server:
Tools\sqlncli_2012_x64.msi (64bit)
Tools\sqlncli_2012_x86.msi (32bit)

Seit SQL 2019 Server wird ein neutraler MS-SQL OLEDB Provider als Standard verwendet:
Tools\msoledbsql_x64.msi  (64bit)
Tools\msoledbsql_x86.msi (32bit)

Oder stehen hier zum Download auf unserer Homepage zur Verfügung:

SQL 2008 Server:
http://download.grutzeck.de/sqlncli_2008_x64.msi (64bit)
http://download.grutzeck.de/sqlncli_2008_x86.msi (32bit)

SQL 2012/2014/2017 Server:
http://download.grutzeck.de/sqlncli_2012_x64.msi (64bit)
http://download.grutzeck.de/sqlncli_2012_x86.msi (32bit)

SQL 2019 Server (MS-SQL OLEDB Provider):
http://download.grutzeck.de/msoledbsql_x64.msi (64bit)
http://download.grutzeck.de/msoledbsql_x86.msi (32bit)

Anmerkung:

Nach Möglichkeit sollte immer der neueste passende OLE-DB Provider für den entsprechenden SQL Server verwendet werden.
Der neue Microsoft OLE DB Provider for SQL unterstützt alle uns bekannen Microsoft SQL Server 2008, 2012, 2014, 2016, und 2017 (inkl. aller Express Versionen).

Alle SQL OLE DB Provider sind nach unserer Erkenntnis rückwärtskompatibel, d.h. jeder neue OLE DB Provider funktioniert auch mit älteren SQL Server Versionen..

Auch sind uns sind keine Probleme bekannt, wenn ältetere SQL Native Client Provider mit neueren Servern verwendet werden.
In Einzelfällen wird jedoch von langsameren Verbindungsaufbau oder Verbindungsproblemen berichtet, was sich in unserem Testfeld nicht bestätigen lässt.

Man  kann davon ausgehen, das die Funktionalität der aktuell unterstützten drei Provider untereinander austauchbar und gleich ist. (Dies betrifft die Basisfunktionalitäten, nicht jedoch die individuellen Leistungsmerkmale, die zum Teil gravierend unterschiedlich sind).

Microsoft empfiehlt die Nutzung des neuen Microsoft OLE DB Provider for SQL .
Die Reihe der SQL Native Clients (SNAC)
wird nicht fortgesetzt.
Der neue Microsoft OLE DB Provider for SQL  ist explizit rückwärtskompatibel zum Microsoft SQL 2012 Native Client.  

Siehe auch:

Microsoft Artikel: OLE DB Driver for SQL Server

Welcher OLE-DB Provider wird aktuell verwendet?

2023-11-07 14:48
Martin Richter

Welcher OLE-DB Provider wird aktuell verwendet?

Frage:

Wenn eine Verbindungsdatei zu einer AG-VIP SQL Datenbank erzeugt wurde ist es im nachhinen gut zu wissen welcher OLE DB Provider hier verwendet wurde.

Wie kann man nun ermitteln welcher OLE DB Provider aktuel verwendet wird?

Beschreibung:
  1. Öffnen Sie den Editor über Start -> Ausführen über Notepad und Eingabe-Taste. Oder man startet den Editor über Start -> Alle Programme -> Zubehör -> Editor
  2. Öffnen Sie nun mit dem Editor AGVIP.AGDB aus dem AG-VIP Programmverzeichnis. Dies erreichen Sie auch dadurch, dass Sie den Explorer starten (z.B. Windows-Taste+E) und nun Datei AGVIP.AGDB auf den Editor ziehen.

Findet sich in der Datei eine Zeile die wie folgt beginnt:

InitString=Provider=SQLOLEDB.1;  ...

dann der wird der MS-SQL Server 2000 OLE-DB Provider verwendet. (Dieser wird seit der Version 1.50.001 vom 16.02.2017 nicht mehr unterstützt)


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI.1; ...

dann wird der Microsoft-SQL Server 2005 SQL Server Native Client (SNAC) verwendet. (Dieser kann aktuell noch verwendet werden, wird jedoch im AGVIPDBWizard ab der Version 1.51.002.777 nicht mehr unterstützt)


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI10.1; ...

dann wird der Microsoft-SQL Server 2008 SQL Server Native Client (SNAC) verwendet.


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=SQLNCLI11.1; ...

dann wird der Microsoft-SQL Server 2012 SQL Server Native Client (SNAC) verwendet.  


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=MSOLEDBSQL.1; ...

dann wird der neue Microsoft OLE DB Provider for SQL  Server Version 18 verwendet.  (Dieser wird ab der Version 1.51.002.777 vom 17.05.2018 untersützt).


Findet sich in der Datei eine Zeile die folgenden Inhalt hat:

InitString=Provider=MSOLEDBSQL19.1; ...

dann wird der neue Microsoft OLE DB Provider for SQL  Server Version 19 verwendet.  (Dieser wird ab der Version 2.05.003.1055 vom 29.01.2023 untersützt).


Siehe auch:

Beim Starten von AG-VIP SQL wird gemeldet: Verbinden zur Datenbank ist fehlgeschlagen! Microsoft OLE DB Service Components: Klasse nicht registriert

2024-12-09 09:44
Martin Richter

Fehlermeldung: Die Uhrzeit auf dem Datenbank Server ist tt-mm-jj hh:mm:ss. Die Uhrzeit auf diesem Arbeitsplatz ist hh:mm:ss.

Beschreibung:

Beim Start von AG-VIP SQL erscheint die Fehlermeldung:

Die Uhrzeit auf dem Datenbank Server ist tt-mm-jj hh:mm:ss.
Die Uhrzeit auf diesem Arbeitsplatz ist hh:mm:ss.
Die Differenz ist größer als eine Minute, dies kann zu Fehlfunktionen des Programmes führen!

Unter Umständen erscheint diese Meldung direkt nach Neustart eines Rechners. Wenige Augenblicke später startet das Programm wie gewohnt. 

Ursache:

AG-VIP SQL muss Operationen auf dem SQL Server ausführen. Hierbei wird in vielen dynamischen SQL-Befehlen auch die aktuelle Uhrzeit benötigt (z.B. überfällige Tickets verschieben etc.). Für diese Operationen wird die Uhrzeit auf dem Rechner verwendet, auf dem der SQL-Server läuft.

Gleichfalls wird auf der Seite des Benutzers die Zeit benötigt um bestimmte Listen korrekt anzuzeigen. Hier wird die Uhrzeit des Rechners verwendet auf dem die AG-VIP SQL Anwendung selbst ausgeführt wird.

Laufen nun diese beiden Uhren mit einer zu großen Differenz (mehr als 2 Minuten), dann ist ein korrektes Arbeiten und Darstellen aller Informationen nicht mehr gewährleistet. Es kann zu sehr unüblichen Seiteneffekten im System kommen.
Aus diesem Grund werden beim Systemstart die Uhr des Servers mit der Uhr auf dem Clientrechner verglichen. Bei Abweichungen von mehr als 2 Minuten wird der Start von AG-VIP SQL abgebrochen.

Lösung:

Sorgen Sie dafür, dass der Aktualisierungsdienst für die Uhrzeit regelmäßig auf beiden Rechner von der selben Quelle die Uhrzeit aktualisiert. Normalerweise ist dies schon dadurch gewährleistet, dass SQL Server und Client in der selben Domäne liegen.

Tritt dieses Problem nach einem Rechnerneustart auf und verschwindet dann nach einigen Minuten wieder, dann hat der Aktualisierungsdienst für die Zeit kurz nach Rechnerstart noch keine Aktualisierung durchführen können.
Oft verschwindet dieses Problem von selbst.

Synchronisation der Zeit unter Windows

Das Einrichten einer Zeitsynchronisation unter Windows ist nicht notwendig, wenn sich der Rechner in einer Windows-Domäne befindet.
Die Windows-Klienten synchronisieren ihre Zeit automatisch mit dem Domämencontroller.
Nur der Domämencontroller an der Spitze des Windows-Baums benötigt in der Regel eine Zeitsynchronisation mit einer externen Quelle.

Wenn ein Windows-Rechner nicht in eine Domäne eingebunden ist, sollte ein NTP-Server (Zeitgeber-Server) verwendet werden.

Windows XP/2003
Das Einrichten einer Zeitsynchronisation unter Windows XP/2003 erfolgt über die Systemsteuerung.
Dort wählt man den Menüpunkt Datum und Uhrzeit: Systemsteuerung öffnen -> Datum und Uhrzeit auswählen


Eigenschaften von Datum und Uhrzeit in Windows XP


als Server ptbtime1.ptb.de  eintragen.

Windows 2000
Unter Windows 2000 muss der Dienst W32Time zur Synchronisation der Zeit mit dem NTP-Server benutzt werden. Dazu hält man als Administrator zunächst den Dienst mit dem Befehl (Geben Sie die Befehle in der Eingabeaufforderung an)

net stop w32time

an, setzt dann in der Registry den zu verwendenden NTP-Server mit dem folgenden Befehl


net time /setsntp:ptbtime1.ptb.de

und startet den Dienst anschließend wieder mit dem Befehl

net start w32time

Schließlich sollte der Dienst Windows Zeitgeber auf den Autostarttyp Automatisch umgestellt werden.
Damit wird der Dienst nach einem Neustart des Systems automatisch gestartet.

Zeitserver die öffentlich zur Verfügung stehen:
ptbtime1.ptb.de
ptbtime2.ptb.de
time.windows.com
0.europe.pool.ntp.org
1.europe.pool.ntp.org
2.europe.pool.ntp.org
3.europe.pool.ntp.org

Siehe auch:
Informationen zum NTP-Protokoll:
http://www.heise.de/netze/Zeit-Abgleich--/artikel/91588/1

Liste aktueller Zeitserver:
http://support.ntp.org/bin/view/Servers/StratumOneTimeServers

Konfigurieren eines autorisierenden Zeitservers in Windows Server 2003 (MS-Support)
http://support.microsoft.com/kb/816042/de

Einstellungen unter Windows XP SP3 anpassen:
http://support.microsoft.com/kb/307897

Bis Windows 98 SE / ME hat man eine spezielle Software zum abgleichen der Systemzeit mit einem Zeitserver benötigt.
Wenn Sie eine Software für die Zeitsyncronisation verwenden möchten, finden Sie beispielsweise mit Tme-Sync ein passendes Werkzeug für Windows NT 4.0, Windows 2000, Windows XP Home/Professional, Windows 2003 Server, Windows Vista, Windows 2008 Server oder Windows 7

2011-08-18 15:13
Martin Richter

Werte der Arbeitszeitstatistik werden zeitverzögert aktualisiert

Beschreibung:

Wenn eine aktuelle Projektstatistik gemacht wird, die den heutigen Tag einschließt und Agenten umfasst, die aktuell arbeiten, dann erscheinen manche saldarischen Arbeitszeiten als zu kurz (maximal bis zu 5 Minuten).

Begründung:

Um das gesamte System zu entlasten, schreibt AG-VIP SQL die Arbeitszeit Informationen nur alle 5 Minuten in die SQL Datenbank. Das heißt alle Informationen (Arbeitszeit, Wartezeit, Gesprächszeit etc.) werden 5 Minuten gesammelt, bis entsprechende Einträge in das Arbeitszeitprotokoll gemacht werden. Ebenfalls werden diese Werte in die Datenbank geschrieben, wenn der Agent das Programm verlässt.

Im Gegensatz dazu werden die Informationen zu Tickets und Historieneinträge sofort geschrieben.

Dadurch kann sich in einem laufenden System (bei wenig Agenten die aktuell arbeiten) eine Auswertung ergeben, in der die Ticketbearbeitungszeit/Gesprächszeit (ermittelt aus der Historie, die immer aktuell ist) und die Werte aus der saldierten Arbeitszeit in einer Stufe (verzögertes Speichern) um eine Differenz von bis zu 5 Minuten je Agent auseinanderlaufen.

Die Werte sind sicher und ändern sich nicht mehr, wenn alle Agenten das Programm verlassen haben, oder wenn die Agenten mindestens 5 Minuten nicht mehr auf der betreffenden Adresstabelle bzw. Projekt gearbeitet haben. Spätestens dann wurden alle zwischengespeicherten Werte in die Datenbank geschrieben.

Dieser Effekt ist by Design und dient der Performancesteigerung bei großen Projekten.

Auswertungen in die Vergangenheit (gestrige Tag/ letzte Woche/Monat), d.h. Auswertungen, die den aktuellen Tag nicht einbeziehen, sind von diesem Effekt natürlich nicht betroffen.

2011-08-17 16:31
Martin Richter

Wie funktioniert die Suche nach Telefon-Nr.?

Beschreibung des Verrfahrens ab der Version 1.43.004.669 (17.11.2015):

AG-VIP SQL speichert alle Telefonummern einer Adresse in einem eigenen aufbereiteten Format in einer extra Tabelle für jede Adresse.
Sind Felder mit Telefonnummern auch in einem Ticket vorhanden, existiert auch eine entsprechende Tabelle für das Projekt.

Über diese Tabelle erfolgt die Telefonummernsuche direkt über einen SQL Query. Das erlaubt eine extrem schnelle Suche. (Weitaus schneller als das alte Verfahren siehe unten).

Wird eine Adresse oder Ticket angelegt bzw. geändert, wird dieser Index sofort für diese Adresse oder dieses Ticket aktualisiert. D.h. die Telefonnummernsuche funktioniert sofort für eine Adresse, die im User Interface angelegt wird.

Beim Import von Datensätzen werden Adressen über das Makro-Interface angelegt, oder direkt in die SQL Tabelle importiert, dann wird dieser Index anhand des Änderungsdatums der Adressen aktualisiert. D.h. für alle Adressen, die seit der letzten Indexaktualsierung geändert oder angelegt wurden, werden die Telefonnummen im Index auch aktualisiert und nachgepflegt.

Die Aktualisierung im Batch erfolgt asynchron in einem Hintergrundprozess, der die geänderten Daten in diese spezielle Tabelle eingetragen. Ein Update dieser Tabelle erfolgt automatisch ca. alle 7 Minuten.

Achtung: Werden Adressen oder Telefonnumernfelder in der Datenbank extern über SQL Statements geändert oder gesetzt, dann muss auch dafür gesorgt werden, dass das Änderungsdatum der Adressen oder Tickets geändert wird. Andernfalls kann der Index nicht korrekt aktualisiert werden. Beim Erzeugen eines neuen Datensatzes wird das AngelegtDatum  im allgemeinen durch die Vorgaben automatisch gesetzt.


Beschreibung des Verfahrens vor der Version 1.43.004.669 (17.11.2015):

Damit Datensätze in der Datenbank, bei der Vielzahl an Telefonnummernfeldern und der unterschiedlichen Schreibweisen schnell gefunden werden bedient sich AG-VIP SQL eines internen Telefonnummernfilters.

Dieser Telefonnummernfilter untersucht bei einer Suche die Telefonnummer und ermittelt, die für diese Telefonnummer gültigen Land und PLZ Bereiche. Anschließend erfolgt die Suche nur noch für Adressen mit diesem Land bzw. dieser Postleitzahl.
Dadurch wird die Anzahl der zu durchsuchenden Adressen entscheidend eingeschränkt.

Mögliche Nebeneffekte:

Wird nun eine Telefonnummer mit einer Vorwahl abgespeichert zu der die entsprechende Postleitzahl nicht passt, dann ist es möglich, dass diese Adresse nicht gefunden wird.
Wird also die Telefonnummer +49 (6181) 9701-0 (Ortsnetz Hanau, PLZ 63452) unter einer Adresse mit der PLZ 45359 (Essen) abgespeichert, so kann der Datensatz durch die Telefonnummernsuche nicht gefunden werden. Die Telefonnummernsuche würde die Vorwahl 06181 immer dem PLZ Bereich 63* zuordnen und nur diese Adressen durchsuchen.

Gleiches gilt wenn z.B. die Telefonnummer +49 (6181) 9701-0 unter dem Land AUT (Österreich) abgespeichert wird. Die Suche würde nur deutsche Adressen einschließen.

Telefonnummern von Mobilfunkgeräten und 0700/0800 o.ä. Nummern werden grundsätzlich ohne PLZ-Einschränkung gesucht.

Man kann den Telefonnummernfilter ganz abschalten, in dem die Einträge unter dem Menüpunkt Extras -> Optionen leer gesetzt werden. Dies hat jedoch zur Folge, dass die Suche nach Telefonnummern gravierend mehr Zeit beansprucht.

Weiterhin ist anzumerken, dass der aktuelle Telefonnummernfilter nur eine Optimierung für Deutsche Telefonnummer hat. D.h. wird AG-VIP SQL nicht in Deutschland betrieben oder ist es an ein Telefonnetz angeschlossen, dass die Telefonnummern relativ zu einem anderen Staat ausgibt, dann können ebenfalls entsprechende Adressen nicht gefunden werden.

Die Schreibweise der Telefonnummern in AG-VIP SQL spielt im Allgemeinen keine Rolle. Die Telefonnummernsuche ist hier flexibel und erkennt alle gängigen Schreibweisen:

  • +49 (6181) 9701-0 (diese kanonische Schreibweise wird empfohlen)
  • 0049 6181 97010
  • 06181/97010
  • (06181) 9701-0
Nutzung von AG-VIP SQL außerhalb von Deutschland:

In diesem Fall ist das Abschalten des Telefonnummernfilters zwingend erforderlich.

Wenden Sie sich an unseren Support um zu erfragen ob für das entsprechende Land ein angepasster Telefonnummernfilter vorliegt.

Siehe auch:

Kanonische Telefonnummern

2017-12-06 09:34
Martin Richter

Prüfen einer Verbindung zum SQL Server ohne AG-VIP SQL

Beschreibung:

AG-VIP SQL verwendet die Standard MS-SQL Server OLE-DB Provider, die auf dem entsprechenden Rechner installiert sind. Kommt es beim Verbindungsaufbau zu Problemen ist oft unklar wo die Fehlerursache liegt.

Es bietet sich deshalb an, eine Verbindung zum SQL Server mit Standard-Microsoft Komponenten zu testen, die auf jedem Client installiert sind, sofern MDAC_TYP (Microsoft Data Access Components) installiert sind.

Vorgehensweise:
  • Starten Sie die Systemsteuerung
  • Leistung und Wartung auswählen und dort Verwaltung wenn man die Kategorienansicht verwendet. Direkt Verwaltung in der Standardansicht.
  • Dort wählt man den Eintrag Datenquellen
  • Da es sich nur um einen Test handelt, wählt man am besten Benutzer-DSN, d.h. die Daten der Verbindung werden nur für diesen Anwender gespeichert.
  • Wählen Sie nun den Schalter hinzufügen.
  • In der Liste der Treiber finden Sie nun SQL Server und SQL-Native Client wählen Sie den entsprechenden Treiber und  klicken auf Fertigstellen.
  • Geben Sie nun einen Namen ein (z.B. Test). Das Beschreibungsfeld können Sie leer lassen.
    Wählen Sie im Feld Server, Ihren Datenbankserver aus, oder geben Sie die IP-Adresse oder den Namen ein sofern der Server nicht automatisch in der Liste aufgeführt wird. Wenn der SQL-Server nicht die Standardinstanz ist, so muss zusätzlich noch der Instanzennamen mit einem Backslash an den Servernamen angefügt werden. Klicken Sie auf weiter.
  • Geben Sie nun die entsprechenden Informationen für die Authentifizierung ein. D.h. entweder den Benutzernamen und das Kennwort für den SQL-Server. Entsprechend den normalen Installationsanweisungen empfehlen wir hier den Benutzernamen AGUser. Geben Sie das korrekte Kennwort ein, oder verwenden Sie die Windows-Authentifizierung.
  • Wenn Sie den Haken in dem Feld anhaken Zum SQL-Server verbinden, um Standardeinstellungen für die zusätzliche Konfiguration zu erhalten, dann wird wenn Sie auf Weiter klicken bereits ein Verbindung zum SQL-Server hergestellt. Sollten Sie keine Fehlermeldung erhalten ist der Verbindungsversuch bereits erfolgreich verlaufen.
  • Erhalten Sie dagegen eine Fehlermeldung, wie z.B.

Microsoft SQL Server-Anmeldung
---------------------------
Fehler bei der Verbindung:
SQLState: '01000'
SQL Server-Fehler: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Fehler bei der Verbindung:
SQLState: '08001'
SQL Server-Fehler: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server existiert nicht oder Zugriff verweigert.
---------------------------
OK  

  • dann  konnte keine Verbindung zum SQL Server hergestellt werden. Die Ursachen müssen entsprechend der Fehlermeldung analysiert werden.
  • Wenn es gewünscht wird, kann das Erzeugen einer Datenbankverbindung fortgesetzt werden. In diesem Fallmuss auf der nächsten Seite der Datenbankname aus der Liste ausgewählt werden oder manuell eingegeben werden.
    Lassen Sie alle anderen Einstellungen auf den Standardwerten und klicken Sie auf Weiter.
  • Im letzten Dialog sind keine Einstellungen mehr zu machen und sie wählen nur noch Fertigstellen aus.
  • Sie erhalten nun einen Dialog indem Sie erneut die Verbindung testen können über den Schalter Datenquelle testen. Mit OK wird nun die Datenbankverbindung gespeichert.

Man kann nun jederzeit über die Systemsteuerung erneut eine bestehende Verbindung prüfen indem der Verbindungsdialog geöffnet wird und so lange Weiter ausgewählt wird bis wieder der Dialog erscheint mit der Auswahl Datenquelle testen.

Zur weiteren Fehlersuche

In den meisten Fällen liegen die Ursachen in den folgenden Bereichen:

  • Die Namensauflösung zum Server funktioniert nicht. (Evtl. IP Adresse verwenden)
  • Der Server ist nicht in diesem Sub-Netz erreichbar (Ping)
  • Der Server hat einen Instanznamen, der nicht angegeben wurde.
  • Der Server ist nicht auf SQL-Authentifizierung geschaltet (wenn nicht die Windows Authentifizierung verwendet wird)
  • Der SQL-Server befindet sich in einer anderen Domäne oder in keiner Domäne und kann die Windows Authentifizierung nicht durchführen (wenn die Windows Authentifizierung verwendet wird)
  • Berechtigungen für die entsprechende Datenbank wurde nicht gesetzt. 
  • Benutzername und Kennwort stimmen nicht.

2011-08-17 15:57
Martin Richter

In Globaler Suche ist Feldliste bei "Text aus" leer

AG-VIP SQL
Globale Suche zeigt keine Felder (Suchargumente)

Problem:

Die "globale Suche" (Menü Suchen, Globale Suche  oder Tastenkominbation Umschalt + F4) ermöglicht dem Anwender Adressen über alle Adresstabellen hinweg zu suchen, auf die er Zugriff hat. Im Suchargument "Text aus" kann der Anwender aus einer Feldliste auswählen, in dem ein bestimmter Wert gesucht werden soll. Diese Suchliste ist aber leer!

Dialogfenster

Lösung:

Um die Feldliste auszulesen, benötigt AG-VIP SQL zumindest LESE-Recht auf die Vorlage-Adresstabelle.

  1. Prüfen Sie dies, in dem Sie sich mit administrativen Rechten an AG-VIP SQL anmelden.
  2. Gehen Sie im Menü Datei auf den Befehl Administration, Benutzer / Gruppenkonten.
  3. Markieren Sie den Anwender und wählen den Ändern-Schalter.
  4. Wechseln Sie in den Reiter Zugriffsrechte.
  5. Sie finden dort in der obersten Zeile den Eintrag Vorlage Adresstabelle. Prüfen Sie, ob der Anwender das Lese-Recht besitzt.

Tipp:

Einfacher lösen Sie dies über Gruppenrechte.

Beachten Sie, dass das Rechte der Vorlage Adresstabelle in darunterliegende Tabellen vererbt wird. Wenn z.B. Callcenter Agenten keinen Zugriff auf Adresstabellen erhalten sollen, ist ggf. bei anderen Adresstabellen das Lese-Recht explizit auszuschließen. Solange ein Anwender nicht über das funktionale Recht "Direktzugriff" verfügt, ist jedoch außerhalb vom Workflow kein Zugriff auf Daten möglich,

2011-08-18 15:32
Markus Grutzeck

Zählung von Lizenzen und Arbeitsplätzen in einer Installation

Grundsätzlich werden in AG-VIP SQL nur aktive Arbeitsplätze gezählt. Das bedeutet, dass jeder Platz auf dem AG-VIP SQL gestartet wird als genutzte Lizenz zählt. Es spielt hierbei keine Rolle wie oft AG-VIP SQL installiert wird.

Wenn in einem System mehrere Lizenzdateien mit unterschiedlichen Seriennummern genutzt werden, dann zählt jede Lizenz für sich. Das heißt wenn AG-VIP SQL gestartet wird, dann wird kontrolliert wie viele Programme bereits mit der Seriennummer laufen, die auch von dem zu startenden Programm verwendet wird.
Ist die Anzahl noch nicht erreicht wird der Start erlaubt. Ist die Anzahl bereits erreicht wird eine Meldung ausgegeben, dass die Anzahl der Arbeitsplätze bereits erreicht ist.

Der Overdial-Server selbst oder andere Dienste von AG-VIP SQL zählen nie als Arbeitsplatz.

Beispiel:

  • Eine normale Netzwerkinstallation wurde mit einer 10er Netzwerklizenz und der Seriennummer N222/91234 durchgeführt. Dann können mit dieser Lizenz 10 Benutzer arbeiten.
  • Ist auf einem externen Arbeitsplatz z.B. eine Extra-Einzelplatz Lizenz erworben worden mit einer anderen Seriennummer (z.B. E223/91234), dann kann ein weitere User mit dieser Lizenz auf der Datenbank arbeiten. Sollte die gleiche Einzelplatz-Lizenz allerdings noch einmal gestartet werden, dann würde eine Meldung erscheinen, die besagt, dass die Anzahl der Arbeitsplätze ausgeschöpft ist, selbst wenn von der 10er Netz Lizenz nicht alle aktiv sind.

Auf diese Weise ist es möglich Lizenzen Additiv zu verwenden und auch für Kooperationspartner zu erwerben, die komplett unabhängig von einander verwaltet werden.

2011-08-18 16:40
Martin Richter

Ich erzeuge neue Tickets, aber die Tickets werden sofort verschoben ...

Problem:

Sie haben eine Bearbeitungsstufe vom Typ "Telefonat" erstellt. Nun erzeugen Sie neue Tickets, aber die neuen Tickets erscheinen nicht in dieser Stufe.

Lösung:

Unter dem Menü Datei, Befehl Administration, Projektverwaltung definieren Sie in der Bearbeitungsstufe im Reiter Felder, welche Felder für die Anwahl herangezogen werden. So haben Sie z.B. für eine Ourboundkampagne im B-to-C-Bereich für die Anwahl die Felder TelefonPrivat und TelefonMobil definiert.

Nun importieren Sie Adressdaten nach AG-VIP SQL. Dabei ordnen Sie das Telefon-Nr. Feld der Quelldatei dem Feld Telefon1 in AG-VIP SQL zu. Sie erzeugen nun neue Tickets.
Was passiert?

  1. Die neuen Tickets werden korrekt in der Bearbeitungsstufe erzeugt.
  2. AG-VIP SQL erkennt, dass in diesen Datensätzen die in der Projektverwaltung definierten Telefon-Felder TelefonPrivat und TelefonMobil nicht gefüllt sind.
    Damit werden diese Tickets entsprechend der Definition in der Projektverwaltung z.B. in die Bearbeitungsstufe "Kontaktdaten validieren" verschoben. Die aktive Outboundtelefoniestufe ist komplett leer.
Abhilfe:

Zunächst löschen Sie die Adresen inkl. der zugehörigen Ticktes.

Ordnen Sie dann beim Import der Adressdatensätze in AG-VIP SQL das Telefonfeld der Quelldatei dem in der Projektverwaltung definierten Telefonfeld für den Outbound zu, d.h. in diesem Beispiel TelefonPrivat.

2011-08-17 16:32
Markus Grutzeck

Verwendung des Schalters "Falsche Telefonnummer" in der Telefonleiste.

Problembeschreibung: 

Es gibt viele TAPITreiber, die "falsche" Telefonnummern nicht korrekt erkennen. Die meisten dieser fehlerhaften TSPs beenden das Gespräch sofort mit "Besetzt".

Nur ca. 2% dieser fehlerhaften TSPs haben eine weitere Fehlfunktion: Sie stellen die Ansage wie "Falsche Rufnummer" zum Agenten durch. D.h. die Ansage wird durchgestellt. Das Telefonat aber nicht beendet und so wie ein erfolgreiches Telefonat behandelt. (Vergleichbar einem Ruf zu einem Anrufbeantworter)

Die eigentliche Lösung ist in der Installation eines korrekten TSP zu suchen:

Wenden Sie ich an Ihren Hersteller Ihres TSPs und verlangen eine entsprechende Korrektur bzw. ein Update der Software.
Weiterhin gibt es natürlich die Möglichkeit, eine TK-Anlage mit korrekt funktionierende TAPI-Treiber einzusetzen oder eine andere CTI-Middleware. Gerne unterstützen wir Sie bei der Beratung oder Auswahl.  

Lösungsmöglichkeit für die TSPs die eine Ansage durchstellen und bei der keine TSP-Version existiert die falsche Rufnummern korrekt behandelt: 

Sie können in der Oberflächen einen Schalter aktivieren, den der Anwender anklicken kann, wenn dieser Fall eintritt. (Falsche Rufnummer)

ACHTUNG: Es ist dem Agenten möglich, über diesen Schalter Telefonate abzulehnen und als "Falsche Telefonnummer" einzustellen. Gegen diesen Missbrauch gibt es keinerlei Kontrollmöglichkeit.

Historische Entwicklung:

Dieser Schalter war bis zur Version 1.10.003 in der Anwendung AG-VIP SQL vorhanden und wurde von uns wegen technischer Probleme aus dem Produkt entfernt.

Ab der Version 1.20.011.434 steht Ihnen diese Funktionalität wieder zur Verfügung.

Aktivierung des Schalters: 

Der Schalter kann entweder in der AGVIP.INI für alle Benutzer oder in der Registry über den Eintrag eines Schlüssels aktiviert werden.

Einschalten über die AGVIP.INI:
Man öffnet die relevante AGVIP.INI Datei über einen Editor. Im Abschnitt [TAPI] wird der folgende Eintrag ergänzt:

[Tapi]
Phone_AllowButtonWrongNumber=1

Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.
Existiert kein Abschnitt mit dem Namen [TAPI], so kann dieser am Ende der INI Datei angelegt werden.

Einschalten über die Registry:
Im Registry-Editor wird im Abschnitt
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\
Ein Unterschlüssel TAPI angelegt. In diesem wiederum ein Abschnitt PhoneFunctions
In diesem Abschnitt wird nun ein neuer DWORD Eintrag erzeugt mit dem Namen AllowButtonWrongNumber. Wird der Wert auf 1 gesetzt so wird der Schalter angezeigt. Wird der Wert auf 0 gesetzt wird der Schalter ausgeblendet.

Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben -  wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind. 

Bekannte Probleme:

Unter Umständen kann es beim Einschalten dieser Option auf einzelnen Arbeitsstationen zu einer falschen Anzeige der Schalterleiste für Telefonate kommen. Es ist möglich, dass der Schalter beim ersten Start nicht korrekt angezeigt wird. Dies kann auch jeden Arbeitsmodus einzeln betreffen (Adressentabelle, Projektmodus, Workflow, Skript).
Durch ein zurücksetzen der Schalterleiste kann dies behoben werden. Dies geschieht durch einen Rechtsklick auf die Schalterleiste Anpassen -> Symbolleisten -> Markieren von Anruf -> Zurücksetzen oder durch Klicken auf ?Alle Zurücksetzen?.
Dieses Problem kann auf einzelnen Rechner auftreten und nicht vermieden werden. Es kann auch nach einem Update auftreten. Hängt aber nur direkt mit diesem neuen Schalter zusammen.
Es tritt nur einmalig auf.

Detailierter technischer Hintergrund:

Funktionsweise:
In der Anwahlphase (Status Amt verfügbar - DIALTONE, Ruf erfolgt - DIALING, oder Ruf geht durch - RINGBACK) kann mit diesem Schalter sofort der Status ?Falsche Telefonnummer? erzeugt werden.  Einer dieser Anrufstatis muss gemeldet werden.
Der Abbruch ist sowohl in der freien Anwahl, als auch im Workflow möglich. Der Effekt ist identisch zu der Vorgehensweise, wenn der TSP (Tapi-Service-Provider) eine falsche Telefonnummer meldet (Disconnect Reason BADADDRESS).
Der Anruf wird sofort beendet. Es erfolgt eine neue Anwahl.

Einschränkung:
Dieser Schalter nützt nichts, wenn durch einen TSP, direkt Besetzt (BUSY) gemeldet wird, wenn eine falsche Telefonnummer erkannt wird.
Diese Funktion hat also nur eine Wirkungsweise, wenn eine Ansage erfolgt, aber das Telefonat selbst weder mit einem CONNECT noch durch einen DISCONNECT beendet wird. Nur in diesem Fall hat der Benutzer auch nur eine Chance den Schalter anzuklicken.
Wird der Schalter nicht angeklickt würde sonst das Telefonat nach der Wartezeit als ?Nicher erreicht? (NOCONNECT) bewertet.

Weitere Informationen: 

Welche Fehler bzw. Probleme hier auftreten, lässt sich ohne Probleme über einen Tapi-Trace ermitteln.
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=36&artlang=de

2015-08-18 08:28
Ulrich Sticker

Warum erscheinen für den Benutzer Admin alle Bearbeitungsstufen grau?

Das Benutzerkonto Admin ist ein spezielles Benutzerkonto.
Diesem Konto ist es als einzigem erlaubt, dass es von mehreren Arbeitsplätzen gleichzeitig verwendet werden kann. D.h. mehrere Anwender können diesen Login zeitgleich benutzten. Dies ist für alle anderen Benutzerkonten ausgeschlossen.
Dies ermöglicht es aber einem Administrator sofort von jedem Arbeitsplatz sich anzumelden, auch wenn er selbst noch irgendwo anders angemeldet ist. Dies erlaubt eine höhere Flexibilität.

Aus diesem Grund der mehrfachen gleichzeitigen Anmeldung ist eine korrekte Arbeitszeitprotokollierung nicht möglich. Aus diesem Fall wird für Admin keinerlei Arbeitszeit protokolliert.

Daraus ergibt sich auch zwangsweise, dass man als Admin nicht im Workflow arbeiten kann. Das Programm wäre nicht fähig eine Arbeitszeitstatistik korrekt zu führen, die aber für die Nutzung des Workflows unerlässlich ist. Weiterhin wäre es nicht möglich individuelle private Einstellungen zu ermöglichen, wenn mehrere Anwender zeitgleich als Admin arbeiten.

Aus diesem Grund kann ein Admin jederzeit in alle Projekte hineinsehen, allerdings eben nicht in den Bearbeitungstufen arbeiten.

2011-08-17 16:33
Martin Richter

Zwei (oder mehr) Hilfsmittel in einer Reaktion bei Einstufung eines Ticket gleichzeitig ausführen lassen.

Problem:

Der Standard-Dialog zur Definition einer Reaktion bietet die Möglichkeit ein Hilfsmittel ausführen zu lassen. Manchmal macht es aber Sinn mehr als ein Hilfsmittel gleichzeit auszuführen.

Lösung:

Rufen Sie die zusätzlichen Hilfsmittel in einem Makro der Reaktion auf.

Definieren Sie das Makro im Dialog "Reaktion bearbeiten" unter Makros mit einem Haken in "Makro Vor Einstufung"

Application.ExecuteTool("<Name des Hilfsmittels1>")
Application.ExecuteTool("<Name des Hilfsmittels2>")
'...usw

Die Liste kann beliebig fortgesetzt werden. Dadurch ist es auch möglich 3 oder 4 Makros mit einer Reaktion auszuführen.
Bitte beachten Sie das ExecuteTool die Mechanismen ausser Kraft setzen, die bei einem OptOut für einen Kommunikationskanal den Aufruf eines Hilfsmittels des entsprechenden Kommunikationstyps verhindern. Sie müssen also selbst per Makro ggf. prüfen ob ein OptOut gesetzt ist.

2017-05-16 13:08
Ulrich Sticker

Problem:

AG-VIP SQL bietet ein Beispielhilfsmittel, um Kontaktdaten aus AG-VIP SQL in dne Kontaktordner nach Outlook zu übergeben. Umgekehrt lassen sich Outlook-Kontakte über das Outlook Add-In in AG-VIP SQL übertragen. Die Frage ist, welche Felder übergeben werden.

Lösung: Von AG-VIP SQL nach Outlook

Das Musterbeispiel übergibt standardmäßig folgende Kontaktdaten nach Outlook:

 

 AG-VIP SQL Feld  Outlook Feld
 Anrede  Title
 Vorname  FirstName
 Nachname  LastName
 Funktion  JobTitle
 Name1 & Name2 & Name3  CompanyName
 Straße  BusinessAddressStreet
 PLZ  BusinessAdressZipCode
 Ort  BusinessAdressCity
 Land (mit "Deutschland" vorbelegt)  BusinessAddressCountry
 TelefonFirma  Business2TelephoneNumber
 TelefonZentral  BusinessTelephoneNumber
 TeleFaxFirma  BusinessFaxNumer
 TelefonMobil  MobileTelephoneNumber
 TelefonPrivat  HomeTelephoneNumber
 TeleFaxPrivat  HomeFaxNumber
 Internet  BusinessHomePage
 Email1  EmailAddress1
 Email2  EmailAddress2
 Email3  EmailAddress3

Über den Makro können Sie die Zuordnung von AG-VIP Feldern zu den entsprechenden Outlook-Kontaktfelder frei bestimmen.

Sie finden dies im unteren Teil des Mustermakros in der Sektion

With olAddressItem
.[Feldname Outlook] = ActiveAddress.Fields["[Feldnamen AG-VIP SQL intern]")
....
End With

Ebenso lässt sich der Folder in Outlook frei wählen.

Lösung: Zuordnung von Outlook-Kontaktdaten nach AG-VIP SQL

Die Zuordnung von Outlook-Kontaktfeldern zur Übernahme nach AG-VIP SQL ist durch das Outlook-AddIn fest definiert und nicht frei bestimmbar. Über die AG-VIP SQL Schalterleiste in Outlook finden Sie die Funktion "Adresse in AG-VIP SQL eintragen / ergänzen". Wurde der Kontakt zuvor aus AG-VIP SQL in Outlook eingetragen, ist eine eindeutige Zuordnung und eine Aktualisierung der Daten möglich. Ist dies nicht der Fall, wird in der geöffneten Adresstabelle ein neuer Adressdatensatz angelegt. Dabei werden folgende Felder übernommen:

 Outlook Bezeichnung Outlook intern  AG-VIP SQL
 Name    
   Anrede  Title  
   Vorname  FirstName  Vorname
   weitere Vornamen    
   Nachnamen  LastName  Nachname
   Namenszusatz    
 Firma  CompanyName

Name1
KurzNamen

 Position  JobTitle  
 Email  EmailAddress1  Email1
analog für Email2, Email3
 Website  BusinessHomePage  Internet
 Geschäftlich  BusinessTelephoneNumber  TelefonZentrale
 Privat  HomeTelephoneNumber  TelefonPrivat
 Fax geschäftlich  BusinessFaxNumer  
 Mobiltelefon  MobileTelephoneNumber  
 Adressen, geschäftlich    
   Straße  BusinessAddressStreet  Straße
   PLZ  BusinessAdressZipCode  PLZ
   Bundesland    
   Ort  BusinessAdressCity  Ort
   Land  BusinessAddressCountry  DEU

Schwierigkeit:

Die Zuordnungsmöglichkeit hängt sehr stark davon ab, wie der Kontakt in Outlook erfasst wird. Wenn man z.B. den Ansprechpartner erfasst, öffnet Outlook ein PopUp und ermöglicht die Erfassung in vier Feldern ANREDE, VORNAME, VORNAME2, NACHNAME und NAMENSZUSATZ. Dann lassen sich diese Teile auch eindeutig bestimmten Feldern in AG-VIP SQL zuordnen. Ansonsten kann die Zuordnung Probleme bereiten oder mehrere Werte werden in ein Feld in AG-VIP SQL geschrieben.

Das gleiche Problem ergibt sich bei der Anschrift. Schreibt man dies einfach in das mehrzeilige Memofeld ist keine Übernahme nach AG-VIP SQL möglich. Nutzt man die in Outlook einzelnen Felder STRASSE, ORT, BUNDESLAND, PLZ, LAND / REGION, können die Daten übernommen werden.

Die private Anschrift aus Outlook wird komplett ignoriert.

neuer Outlook-Kontakt

Erscheint in AG-VIP SQL als:

neuer Outlook Kontakt erscheint in AG-VIP SQL so

2011-08-17 16:07
Markus Grutzeck

Warum ist ein Benutzer aktiv ? (Anmelden bei AG-VIP SQL nicht möglich)

Beschreibung:
Ein Benutzer versucht sich bei AG-VIP SQL anzumelden. Er bekommt aber die Meldung, dass dieser Benutzer aktiv ist und somit das Anmelden abgebrochen wird.

Ursache:
Der Benutzer hat vor maximal 10 Minuten in AG-VIP SQL gearbeitet und hat das Programm nicht korrekt beendet (z.B. durch einen PC-Absturz etc.). Zusätzlich hat er während dessen den PC gewechselt (Arbeitsplatz) und sich an dem neuen PC versucht bei AG-VIP SQL anzumelden.

Begründung:
AG-VIP SQL arbeitet mit Sessions. Diese werden dem Benutzer und dem Arbeitsplatz zugeordnet.
Hintelegt werden diese Informationen in der Registry des Client Rechners (Session Id) und in der Datenbank des Servers (Benutzer Id, Session Id und andere Daten wie z.B. Einlogzeitpunkt, Lebenszykluszeit etc.).
Bei einem normalen Anmeldeversuch, überprüft AG-VIP SQL die Session Id in der Registry des Clients mit evtl. bereits existierenden Sessions in der Datenbank. Wenn nun bereits eine Session auf der Datenbank existiert und die Session Id in der Registry des Client Rechners sind identisch, wird einfach eine neue Session Id vergeben und der Benutzer kann sich wie gewohnt bei AG-VIP SQL anmelden. Hat der Benutzer jedoch den PC gewechselt (Session in der Datenbank besteht noch) und versucht sich über diesen anzumelden, wird beim Vergleich der Session Id keine Übereinstimmung gefunden und somit der Zugang verweigert.

Session Verwaltung:
Eine Session wird alle 5 Minuten überprüft (RefreshTime).
Die Lebenszykluszeit (AliveAt) der Session wird bei einem Fünftel des RefreshTime Wertes erneuert (jede Minute wird ein sogenanntes KeepAlive in einem im Hintergrund laufenden Prozess von AG-VIP SQL gesetzt).
Wenn nach zwei maliger RefreshTime (10 Minuten) die Lebenszykluszeit (AliveAt) nicht gesetzt wurde, wird die Session gelöscht.

Lösungs-Möglichkeiten:
1. Nach 10 Minuten wird die Session aus der Datenbank gelöscht und der Benutzer kann sich von jedem Arbeitsplatz wieder anmelden.
2. Der Benutzer meldet sich an dem Arbeitsplatz an, an dem er zuvor gearbeitet hat (Session wird gelöscht und neu angelegt).
3. Falls keine der bereits aufgezählten Lösungs-Möglichkeiten umsetzbar sein sollte kann sich der System-Administrator an unseren Support wenden (support@grutzeck.de).

2012-08-24 09:29
Peter Brandt

PLZ-Ermittlung funktioniert nicht

Problem: Einstellungen bei AG-VIP SQL Nutzung außerhalb Deutschlands.

Wer AG-VIP SQL nicht in Deutschland nutzt, muss einige Einstellungen beachten.

Die Vorbelegung des Datenbankfeldes Land ist in der Vorlage für neu angelegte Adresstabellen immer "DEU". Daher ist es erforderlich alle Felder vom Typ ?Land? entsprechend auf das gewünschte Land umzustellen.
Ansonsten wird beim Datenimport oder der Neuanlage eines Datensatzes immer Das "Land" mit DEU (= Deutschland) vorbelegt. Damit funktioniertendann aber die PLZ-Ermittlung oder die Telefon-Nr. Suche nicht.

Unter MENÜ, OPTIONEN lässt sich das "Land Postversand" sowie "Sprache Postversand" ändern. Dies hat nur Auswirkungen auf die Ausgabe des synthetischen Feldes "AdresseStraße" bzw. "AdressePostfach". d.h. bei der Ausgabe der Anschrift z.B. für Briefe.

Lösung:

Unter DATEI, ADMINISTRATION, ADRESSTABELLEN muss in allen Adresstabellen im Feld "Land" die Vorbelegung auf den entsprechenden Standort geändert werden. Ansonsten wird beim Datenimport oder der Neuanlage eines Datensatzes immer Das "Land" mit DEU (= Deutschland) vorbelegt. Damit funktioniert dann aber nicht die PLZ-Ermittlung oder die Telefon-Nr. Suche.

2021-08-25 08:52
Markus Grutzeck

Kompatibilität von AG-VIP SQL zu Elsbeth Predictive Dialer

AG-VIP SQL ist ab der Version 1.44.000 zu den folgenden Elsbeth Programmversionen und Bestandteilen kompatibel.

Frontend:

Die folgenden Frontendversionen werden unterstützt:
3.5, 3.6, 4.1, 5.0, 5.4, 6.2

Sollte eine neuere Elsbeth Version installiert sein, zu der unsere Software nicht komaptibel ist, dann kann man entsprechende ältere Elsbeth Frontend und Backend Module  auf den betroffenen Client Rechner oder auch auf dem Backend Server installieren.

Alle Elbseth Predictive Dialer sind zu älteren Frontend Versionen kompatibel.

Backend:

Als Elsbeth Backend Server können alle Server bis einschließlich derVerrsion 5.4 verwendet werden. Versionen 6.0 werden bisher nicht unterstützt. Es kann aber jeder Elsbeth Predictive Dialer der Versionen 6.x und höher ohne Probleme mit einem Elsbeth Backend Dienst der Version 5.4 verwendet werden.

Alle Elbseth Predictive Dialer sind zu älteren Backend Versionen kompatibel.

Zur Erklärung:

  • Das Elsbeth Backend ist der Service der mit der Hilfe des AGVIPElsbethBackend Modules die Daten aus unserer Datenbank ausliest. Der Service wird vorzugsweise auf dem Elsbeth Server selbst oder auf dem Datenbank Server installiert.
  • Die Elsbeth Frontend Software ist ein COM Modul, dass auf jedem Client Rechner installiert werden muss. Das Elsbeth Frontend ist Bestandteil der Elsbeth Software und wird von AG-VIP SQL direkt genutzt.

Anmerkung:

AG-VIP SQL unterstützt nicht alle Funktionen und Fetaures des Elsbeth Predictive Dialers. Bitte beachten Sie, dass nur die Grundfunktionen angesprochen wqerden können.

Für weitere Informationen dazu wenden Sie sich bitte an Ihren Fachhändler sollten Sie spezielle Funktionen des Elsbeth Dialers benötigen.

2017-05-31 10:04
Martin Richter

Interne Einstellungen der TAPI-Funktionen in AG-VIP SQL

Einige Funktionen der Telefonie in AG-VIP SQL können angepasst werden. Diese Schalter dienen dazu bestimmte Funktionalitäten ein- bzw. auszuschalten, oder das Verhalten von AG-VIP SQL zu verändern.
In den meisten Fällen ist dies nur notwendig, wenn die TAPI-Treiber bzw. TSP (Telephony Service Provider), vom Standard abweichen oder Fehlverhalten aufweisen. In einigen dieser Fälle können über die hier vorgestellten Schalter Anpassungen vorgenommen werden.

Die hier angegebenen Schalter sollten nur angewendet werden, wenn dies mit dem Support abgesprochen wurde!!!

Die Schalter können entweder in der AGVIP.INI für alle Benutzer abgelegt werden, oder in der Registry über den Eintrag eines Schlüssels aktiviert werden, die dann nur für diese Maschine gelten. Ein Eintrag in der Registry auf der lokalen Maschine überlagert einen Eintrag in der AGVIP.INI. Einträge in der Registry haben damit - wie auch bei anderen Systemeinstellungen - Vorrang über denen, die in der AGVIP.INI vorhanden sind.
Änderungen an den Standardeinstellungen werden auch im TAPI-TRace mit aufgezeichnet!

Phone Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix Phone_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\Phone
AllowButtonWrongNumber (Standardwert 0) ab Version 1.20.009.422

Eine Erklärung dieses Schalters findet sich in dem Artikel:
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=125&artlang=de

AllowConsultantCall (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich über die R-Taste eine Rückfrage einzuleiten, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so können keine Rückfragen über die R-Taste ausgeführt werden auch wenn der TSP diese Funktion unterstützt.

AllowConferenceCall (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich nach einleiten einer Rückfrage eine Telefonkonferenz zu beginnen, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so können keine Telefonkonferenzen ausgeführt werden auch wenn der TSP diese Funktion unterstützt.

AllowSwapHold (Standardwert 1) ab Version 1.20.011.432

Ist dieser Wert ungleich 0 so ist es möglich nach einleiten einer Rückfrage zwischen dem gehaltenen Telefonat und dem aktiven Telefonat zu makeln, sofern der TSP diese Funktion unterstützt. Ist der Wert 0, so ist das Makeln nicht möglich auch wenn der TSP diese Funktion unterstützt.

AllowSearchForSecondCall (Standardwert 0) ab Version 1.50.001.728

Ist dieser Wert ungleich 0, wird auch bei einem aktiven Telefonat eine globale Suche angestoßen, wenn ein zweiter Call durch die TAPI gemeldet wird. Dies war der Standard bis zur Version 1.44.000.686. Dies wurde aber als Fehlverhalten angesehen weil, die globale Suche zum aktuellen Telefenat dadurch vernichtet wurde. Über diesen Schalter kann nun das alte Verhalten wieder hergestellt werden.
Grundsätzlich ist dies aber Abhängig vom TAPI Treiber, ob dieser bei einem Verbundenen Telefonat ein anklopfen zulässt.

Miscellaneous Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix MiscSetting_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\MiscSetting
CallDelay (Standardwert 0msec) ab Version 1.21.000.446

Über diesen Wert kann eine Verzögerung zwischen Telefonaten erzwungen werden. Der Wert hier gibt die Anzahl von Millisekunden an, die nach dem Idle, des letzten Telefonates bis zum Beginn des nächsten Telefonates mindestens vergehen müssen.
Der Wert kann hier zwischen 0 Millisekunden und 2000 Millisekunden gewählt werden. Beachten Sie, dass AG-VIP SQL im Workflow eine Mindestverzögerung von 100msec aus technischen Gründen automatisch vorsieht, auch wenn hier ein Wert von 0 eingetragen wird.

InboundEventDelay (Standardwert 250msec) ab Version 1.40.001.523

Wenn ein eingehendes Telefonat ankommt, kann mit diesem Wert der Start der Suche einer Adresse verzögert werden. In dem Moment in dem der Ruf über den TSP signalisiert wird ist evtl. die rufende Nummer noch nicht bekannt. Diese kommt evtl. mit einer späteren Statusmeldung. Der Wert in Millisekunden gibt an, wie lange AG-VIP SQL warten soll bis die Suche gestartet wird.

InboundUseOnlyDigits (Standardwert=0) ab Version 1.43.002.641

Wird dieser Wert auf 1 gesetzt wird bei einem eingehenden Telefonat alle nicht numerischen Zeichen aus der rufenden Nummer entfernt. Manche TSPs liefern auchBuchstaben kombinationen was allerdings sehr selten ist. Grundsätzlich hat AG-VIPÜ SQL mit solchen Nummern kein Problem.

LineSetupTransferOnlyWaitForDialtone (Standardwert=0) ab Version 1.43.002.641

Bei dem Aufbau einer Rückfrage werden bei manchen TK-Anlagen der aktuelle Call nicht sofort auf OnHoldPendingTransfer gestellt.  Üblicherweise wartet AG-VIP SQL mit der Anwahl der Rückfrage bis der neue Ruf sich im status Dialtone befindet und der aktuelle Ruf gehalten wird. (OnHoldPendingTransfer). Wird dieser Wert auf 1 gesetzt wartet AG-VIP SQL nur auf den Wählton der aufzubauenden Verbindung. Das aktuelle Telefonat muss noch nicht gehalten sein. (Dieser Schalter ist zum Beispiel bei Mitel/AAstra Anlagen notwendig).

OutboundDialOnlyDigits (Standardwert=0) ab Version 1.43.002.641

Wird dieser Wert auf 1 gesetzt wird vor der Anwahl alle nicht numerischen Zeichen (außer # und *) aus der zu rufenden Nummer entfernt. Bei der Nummernaufbereitung ist es möglich das auch Buchstaben im Wählstzring erscheinen. Manche TSPs kommen damit nicht zurecht.

PreferCalledIDtoRedirectingID (Standardwert=0) ab Version 1.43.003.653

Für die Ermittlung der gerufenen Nummer werden normalerweise die Felder RedirectingID und CalledID verwendet. In dieser Reihenfolge. Bevorzugt wird also normalerweise der Inhalt des Feldes RedirectingID wird also hier ein Wert zurückgegeben wird der Wert in CalledID ignoriert. Das Feld CalledID wird nur verwendet wenn RedirectingID leer bleibt.

Wird der Schalter PreferCalledIDtoRedirectingID auf 1 gesetzt, wird zuerst das Feld CalledID ausgewertet und erst dann das Feld RedirectingID.

SwapCallerAndCalledID (Standardwert=0)

Ist dieser Wert 1, dann werden die Informationen CallerID (CLIP), und CalledID (gerufene Nummer) des Telefonates getauscht. Wird der Wert auf 1 gesetzt bedeutet dies, dass die gerufene (i.a.W. eigene Telefonnummer) wird als Datensatz in AG_VIP SQL gesucht wird.
Warnung: Änderungen hier können zu Fehlfunktionen in AG-VIP SQL führen. Änderungen dürfen nur in Absprache mit dem Support durchgeführt werden.

 

DisconnectMode Einträge

AGVIP.INI: Abschnitt [TAPI], Prefix DisconnectMode_
Registry-Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes
Busy (Standardwert 0x00000021)
NoConnect (Standardwert 0x00044144)
WrongNumber (Standardwert 0x00002480)
Error (Standardwert 0x000b9a1a)
AnsweringMachine(Standardwert 0x00000000)

Eine Erklärunng der entsprechenden Einträge findet sich in dem separaten Artikel:
http://kb.grutzeck.de/index.php?action=artikel&cat=20&id=83&artlang=de
Warnung: Änderungen hier können zu Fehlfunktionen in AG-VIP SQL führen. Änderungen dürfen nur in Absprache mit dem Support durchgeführt werden.

Beispiel:

AGVIP.INI 

Nachfolgend ein Beispiel für Auschnitt aus der INI Datei, der die Standardwerte darstellt, die gelten, wenn keine Einträge gemacht werden.

[Tapi]
; Phone features in the UI
Phone_AllowButtonWrongNumber=0
Phone_AllowConsultantCall=1
Phone_AllowConferenceCall=1
Phone_AllowSwapHold=1
Phone_AllowSearchForSecond_Call=0

; Miscellaneous settings
MiscSetting_InboundEventDelay=250
MiscSetting_InboundUseOnlyDigits=0
MiscSetting_LineSetupTransferOnlyWaitForDialtone=0
MiscSetting_CallDelay=0
MiscSetting_OutboundDialOnlyDigits=0
MiscSetting_PreferCalledIDtoRedirectingID=0
MiscSetting_SwapCallerAndCalledID=0

; Disconnect mode settings
DisconnectMode_Busy=0x00000021
DisconnectMode_NoConnect=0x00044144
DisconnectMode_WrongNumber=0x00002480
DisconnectMode_Error=0x000b9a1a
DisconnectMode_AnsweringMachine=0x00000000

Registry: 

Nachfolgen ein Export einer REG-Datei mit den Standardeinstellungen. Sind keine Einstellungen vorhanden gelten diese Standardeinstellungen:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi]

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\PhoneFunctions]
"AllowButtonWrongNumber"=dword:00000000
"AllowConsultantCall"=dword:00000001
"AllowConferenceCall"=dword:00000001
"AllowSwapHold"=dword:00000001
"AllowSearchForSecondCall"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\MiscSetting]
"CallDelay"=dword:00000000
"InboundEventDelay"=dword:0000000FA
"InboundUseOnlyDigits"=dword:00000000
"LineSetupTransferOnlyWaitForDialtone"=dword:00000000
"OutboundDialOnlyDigits"=dword:00000000
"PreferCalledIDtoRedirectingID"=dword:00000000
"SwapCallerAndCalledID"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL\Tapi\DisconnectModes]
"Busy"=dword:00000021
"NoConnect"=dword:00044144
"WrongNumber"=dword:00002480
"Error"=dword:000b9a1a
"AnsweringMachine"=dword:00000000

2017-02-28 14:59
Martin Richter

Auswahlkriterien für die Installation eines MS-SQL Servers in Verwendung mit AG-VIP SQL

Beschreibung:
SQL Server Express mit Verwaltungstools (SQL Server Management Studio (SMSS)).
Für die Verwendung von AG-VIP SQL ist ein solcher Server notwendig um die Daten in dessen Datenbank zu speichern/verwalten.

Empfehlung:
Wir empfehlen den SQL Server 2019 Express, da diese Version die momentan aktuellste kostenfreie MS-SQL Server Version ist..

Systemanforderungen:
Unterstützte Betriebssysteme: Windows 10 TH1 1507 oder höher; Windows Server 2016 oder höher
Prozessoren: Ausschließlich x64-Prozessoren werden unterstützt.

  • 1,4-GHz-Prozessor oder schneller (2,0-GHz oder schneller empfohlen)
  • Mindestens 512 MB RAM für Express Version; 1 GB  für alle anderen Versionen (Empfohlen wird mindestens 1GB)
  • 6 GB verfügbarer Festplattenspeicher (Abhängig von den ausgewählten Features)

Vorteile:
- Kostenfreie MS-SQL Server Express Version
- Integrierte Verwaltungswerkzeuge (SQL Server Management Studio)
- Einfache Installation und Einrichtung des MS-SQL Servers
- Bis zu 10GB Datenbank Volumen (Express)
- Datensicherung über die Verwaltungswerkzeuge
- Einfaches einrichten einer Datenbank für AG-VIP SQL (automatisch)

Nachteile: (beziehen sich auf die Express Version eines MS-SQL Servers)
- 10GB maximales Datenbank Volumen (unbegrenzt bei einer kostenpflichtigen Version)
- keine automatisierte Datensicherung über Wartungspläne (jedoch über eine von uns entwickelte Lösung möglich)
- max 1 CPU Verwendbar
- max 1 GB Arbeitsspeicher Verwendbar (1410MB)

Feature Übersicht:
Die genaueren Details der Features entnehmen Sie bitte der Tabelle unter folgendem Link:
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

Download:
Dies bezüglich möchten wir Sie auf unseren Knowledgebase Artikel "Installation des MS-SQL Servers 2019 Express" hinweisen. Diesen finden Sie am schnellsten über folgenden Link:
http://www.kb.grutzeck.de/index.php?action=artikel&cat=26&id=187&artlang=de

2013-03-14 11:18
Peter Brandt

Installation des MS-SQL Servers 2019 Express

Hinweis:
Wie bereits im Knowledgebase Artikel "Vorteile einer Installation eines MS-SQL Servers" erwähnt,
Link: http://www.kb.grutzeck.de/index.php?action=artikel&cat=26&id=186&artlang=de
benötigt AG-VIP SQL mindestens die Version mit den Verwaltungstools (Database with Management Tools).
Falls Sie diesen Artikel noch nicht gelesen haben sollten, empfiehlt es sich, dies vorab zu tun, bevor Sie mit der eigtl. Installation beginnen bzw. fortfahren.

Download:
Den MS-SQL Server 2019 Express können Sie unter folgenden Link kostenlos herunterladen:
https://www.microsoft.com/de-de/download/details.aspx?id=101064

Aktuelle Linksammlung zum SQL-Server 2019:
http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=207&artlang=de

Hinweis:
Zum Herunterladen müssen Sie den von Microsoft benötigten Downloadmanager installieren. Sie werden beim Start des Downloads direkt aufgefordert diesen zu installieren (nach Bestätigung installiert dieser sich automatisch).

Ob Sie eventuell eine kostenpflichtige SQL Server Edition benötigen entnehmen Sie bitte der von Microsoft angegebenen Eigenschaftstabelle:
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

Installation:
Nach erfolgreichem herunterladen des MS-SQL Servers 2019 (Express Version) starten Sie diesen nun auf Ihren als Server eingesetzten Rechner um mit der Installation zu beginnen. Eventuell werden Sie aufgefordert das MS .NET Framework 3.5 sowie den Windows Installer 4.5 oder andere Programme zu installieren. Installieren Sie diese über die in der Meldung angegebenen Downloadlinks. Überprüfen Sie sobald Sie diese zusätzlichen Programme installiert haben, ob nicht bereits updates für diese Programme vorliegen. Führen Sie dafür einfach das WindowsUpdate aus.

Sobald Sie im Dialog "SQL Server-Installationscenter" sind, wechseln Sie zu "Extras" und drücken auf "Systemkonfigurationsprüfung". Dadurch starten Sie ein Tool zur Überprüfung des Systems auf Bedingungen, die eine erfolgreiche Installation von dem SQL Server verhindern könnten. Falls dort nicht alle Punkte mit dem Status "Erfolgreich" abgeschlossen wurden, erscheint eine Liste mit allen Modulen. Die betroffenen Module (erkennbar durch den Status "Fehler") müssen Sie noch installieren bzw. erfüllen. Sie erhalten leider in der Auflistung keine Links und müssen daher diese fehlenden Module selbstständig aus dem Internet herunterladen. Zum Beispiel für das Windows PowerShell Modul geben Sie in Ihrer Suchmaschine als Suchbegriff "MSDN PowerShell download" ein.

Sobald die "Systemkonfigurationsprüfung" keine Fehlermeldungen mehr erzeugt, wechseln Sie im "SQL Server-Installationscenter" Dialog zu "Installation" und wählen dann "Neuinstallation oder Hinzufügen von Funktionen zu einer vorhandenen Installation" aus um mit der Installation zu beginnen. Sofern Sie keine speziellen Änderungen vornehmen möchten, bestätigen Sie die Dialoge mit "Weiter" bis Sie zum Dialog "Serverkonfiguration" gelangen. Dort aktivieren Sie den Dienst "SQL Server Browser" in dem Sie diesen in der Spalte "Starttyp" auf "Automatisch" einstellen.
Zusätzlich geben Sie in der Spalte "Kontoname" des Dienstes "SQL Server Database Engine" den Kontonamen "NT-AUTORITÄT\NETZWERKDIENST" an. Nachdem Sie beide Änderungen vorgenommen haben, bestätigen Sie Ihre Eingabe in dem Sie auf "Weiter" drücken.

Im nächsten Dialog "Datenbankmodulkonfiguration" wählen Sie als Authentifizierungsmodus den "Gemischter Modus (SQL Server-Authentifizierung und Windows-Authentifizierung)" aus und geben ein Passwort für den Server-Systemadministrator (SA) an.
Dieses Passwort muss mindestens 8 Zeichen lang sein, mind. eine Ziffer, mind. ein Sonderzeichen sowie mind. einen großgeschriebenen Buchstaben beinhalten. Notieren Sie sich dieses Passwort unbedingt und bewahren Sie es an einen sicheren Ort auf. Bei bedarf können Sie noch einen Benutzer hinzufügen, welcher als SQL Server-Administrator uneingeschränkten Zugriff auf das Datenbankmodul besitzt.
Standard ist hier der Windows Administrator angegeben. Drücken Sie zur Bestätigung Ihrer Eingabe auf "Weiter". Nach dem bestätigen des darauffolgenden Dialogs, beginnt letztendlich die Installation des MS SQL Servers.
Sofern bei der Installation keine Fehler aufgetreten sind, ist die Installation des MS SQL Servers 2019 Express nach ca. 10 Minuten abgeschlossen.

Weitere Konfigurationen:
Starten Sie nun über Start - Alle Programme - Microsoft SQL Server 2019 - Konfigurationstools
den "SQL Server-Konfigurations-Manager"
Maximieren Sie den Ast über das [+] Symbol bei "SQL Server-Netzwerkkonfiguration" und selektieren Sie anschließend "Protokolle für 'SQLEXPRESS'" bzw. die Bezeichnung welche Sie evtl. bei der Installation des SQL Servers vergeben haben.
Dort müssten nun 4 Protokolle aufgelistet werden, welche folgenden Zustand haben müssen:
Shared Memory    -    Aktiviert
Named Pipes        -    Aktiviert
TCP/IP                  -    Aktiviert
VIA                        -    Deaktiviert 

Falls bei einem Protokoll die Einstellungen nicht zutreffen sollten, klicken Sie bei dem zutreffenden Protokoll in der Spalte "Status" doppelt auf den vorhandenen Eintrag und ändern diesen durch die Angabe von Aktiviert = "Ja" oder "Nein" und bestätigen anschließend Ihre Eingabe.

Um die Änderung zu übernehmen müssen Sie den Dienst neustarten. Wechseln Sie in der Baumstruktur links auf "SQL Server-Dienste" und selektieren Sie anschließend den Dienst "SQL Server (SQLEXPRESS)". Durch Rechtsklick beenden Sie diesen und starten diesen ebenfalls durch einen Rechtsklick, sobald er beendet ist erneut. Der Dienst "SQL Server-Agent (SQLEXPRESS)" wird hier irreführend als zur Verfügungstehender Dienst dargestellt. Dieser wird jedoch nicht von der Express Version unterstützt. Der SQL Server-Agent würde die automatische Datensicherung über einen Wartungsplan durchführen. Beenden Sie nun den "SQL Server Konfigurationsmanager".
Der MS SQL Server ist nun soweit eingerichtet, dass Sie diesen für die Installation und Nutzung von AG-VIP SQL verwenden können.

Datensicherung:
Bezüglich der Umsetzung und des Konfigurierens einer manuellen oder automatischen Datensicherung lesen Sie bitte folgenden Artikel:
http://www.kb.grutzeck.de/index.php?sid=25174&lang=de&action=artikel&cat=2&id=188&artlang=de

2013-03-14 11:30
Peter Brandt

Der Start von AG-VIP SQL schlägt fehl. Es wird ein Problem mit der Signatur angezeigt.

Beschreibung:
Dieses Phänomen kann auf Systemen auftreten, für die längerer Zeit kein Windowsupdate mehr durchgeführt wurde.
Die Ursache ist ein nicht mehr gültige Stammzertifikat von VeriSign, welches durch das Windowsupdate aktualisiert wird.

Eine weitere Ursache kann sein, dass der Rechner nicht für die Nutzung von SHA-2 / SHA-256 Zertifikaten vorbereitet ist.
Auch diese Voraussetzung sollte normalerweise durch Installation aller Updates von Windowsupdate geschaffen werden.

Fehlerbeschreibung:
Beim Starten von AG-VIP SQL erhalten Sie folgende Fehlermeldung:
AG-VIP SQL Fehlermeldung - Signatur zerstört

Durch öffnen der Eigenschaften einer EXE oder DLL aus dem AG-VIP SQL Verzeichnis (Rechtsklick -> Eigenschaften), können Sie über den Karteireiter "Digitale Signaturen" unsere Signatur auswählen und über die Schaltfläche "Details" Informationen darüber wiefolgt anzeigen lassen:
Details der digitalen Signatur (Fehler)

Durch weiteres betätigen der Schaltfläche "Zertifikat anzeigen" bekommen Sie eine nähere Beschreibung über das Zertifikat:
Zertifikat (Fehler)

Lösung:
 
Das Problem wird durch die Aktualisierung der Stammzertifikate behoben.
 Führen Sie dazu die Windowsupdates aus oder installieren Sie die aktuellen Stammzertifikate von Microsoft.

Die Zertifikate können auch direkt durch das Programm rootupd.exe aktualisiert werden.
Das Programm kan von dieser Microsoft Seite heruntergeladen werden.
Danach muss es einmal auf allen entsprechenden Rechnern ausgeführt werden.
http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe

Grundsätzlich sollten alle Windows Update ausgeführt werden, dann gibt hier aucch keine Probleme!

Überprüfung:
Wenn Sie den Vorgang aus dem Abschnitt "Fehlerbeschreibung" nun wiederholen, müssten folgende Ausgaben erscheinen:
Details der digitalen Signatur (gültig)

und über die Schalftläche "Zertifikat anzeigen" müssten Sie folgende Informationen erhalten:
Zertifikat (gültig)

Weiterfürhende Links und Informationen:

Änderungslog:
27.03.2017
- Aktualisierung des Downloadlinks

24.05.2015
- Aktualisierung von weiteren Links und weitere Lösungsmöglichkeiten

2017-05-24 10:52
Ulrich Sticker

Beim Ausführen eines Outlook Addins erscheint die Meldung: "Die AGVIPCDO.DLL ist nicht registriert!"

Hinweis:
Bei der AG-VIP SQL Version 1.21.003.456 wurde versehentlich eine Outlook-AddIn-Version ausgeliefert, die nicht mit dieser oder einer älteren Version von AG-VIP SQL kompatibel ist.
Falls Sie die AG-VIP SQL Version 1.21.003.456 (oder älter) verwenden und die Fehlermeldung erscheint, dass die AGVIPCDO.DLL nicht registriert sei, ist dies leider eine Falschmeldung. Um dieses Problem zu beheben, kopieren Sie die am Ende dieses Knowledgebaseartikel hinterlegte Datei in das Installationsverzeichnis von AG-VIP SQL und überschreiben somit die bereits existierende AGVIPSQLOLAddin.DLL mit diesem Vorgang.

Wenn Sie eine neuere Version als die 1.21.003.456 verwenden, befolgen Sie bitte die hier beschriebene Vorgehensweise zur Registrierung der AGVIPCDO.dll. Die Datei im Anhang benötigen Sie zum Lösen Ihres Problems nicht. 

Beschreibung:
Bei der Installation von AG-VIP SQL oder eines Updates, bei dem das Outlook Addin eingerichtet bzw. aktuallisiert wird, wurde die AGVIPCDO.DLL nicht registriert. Dies hat zur Folge, dass die Outlook Addins nicht mehr auf die Redemption Bibliotheken zugreifen können und somit nicht mehr funktionieren.

Lösung:
Für eine Lokal-Installation muss die AGVIPCDO.DLL manuell registriert werden.
Bei einer Netzwerk-Installation kann man ebenfalls eine manuelle Registrierung der AGVIPCDO.DLL durchführen oder die SetupAGVIPClient.EXE aus dem Installationsverzeichnis von AG-VIP SQL (Server) ausführen.
Für alle Varianten benötigen Sie Administrator-Rechte.

Vorgang:
Lokale Installation:
Starten Sie eine Kommandozeileneingabeaufforderung in dem Sie in Ihrer Taskleise auf das Windowslogo bzw. auf "Start" klicken und dort dann in dem Eingabefeld "Programme / Dateien durchsuchen" bzw. öffnen Sie das Eingabefeld in dem Sie auf "Ausführen" klicken, die Buchstabenfolge "cmd" eingeben.
Nach bestätigen der Eingabe bzw. direkte Auswahl der cmd.exe startet die Kommandozeileneingabeaufforderung.
Kommandozeileneingabeaufforderung

geben Sie nun folgendes in der geöffneten KEingabeaufforderung ein und bestätigen die Eingabe mit Enter:
regsvr32.exe "C:\Programme\AG-VIP SQL\AGVIPCDO.DLL"
regscr32.exe AGVIPCDO.DLL

Der Pfad muss auf das Installationsverzeichnis von AG-VIP SQL veweisen

Netzwerk Installation:
Bei einer Netzwerk-Installation können Sie ebenfalls eine manuelle Registrierung wie im darüber liegenden Abschnitt "Lokale Installation" beschrieben durchführen. Sie müssen jedoch den Installationspfad von AG-VIP SQL auf dem Server angeben, aber die Ausführung der Kommandozeileneingabe auf dem Clienten (Über das Netzwerk).
Sie können stattdessen aber auch ohne Verwendung der Kommandozeileneingabeaufforderung die "SetupAGVIPClient.EXE" ausführen.
Öffnen Sie mit dem Windowsexplorer vom Clienten aus das Installationsverzeichnis von AG-VIP SQL auf dem Server und führen Sie dann die "SetupAGVIPClient.EXE" aus.

2011-08-17 16:07
Peter Brandt

Beim speichern der Einstellungen des AG-VIP SQL AddIns für Outlook kommt die Meldung: "Einstellungen konnten nicht gespeichert werden"

Beschreibung:
Wenn Sie Windows Vista oder Windows 7 verwenden ist es zwingend notwendig, dass Sie Administrative Rechte besitzen um diese Einstellungen in der AGVIP.INI bzw. in der Registry abzuspeichern.

Umsetzung:
Dies können Sie bei einer Lokalen Installation wiefolgt tun:
Wechseln Sie in Ihr Installationsverzeichnis von Outlook. klicken dann mit der rechten Maustaste auf die "Outlook.exe" und wählen dann "Als Administrator Ausführen" aus. Nun können Sie die AddIn Einstellungen für AG-VIP SQL in der Registry abspeichern. Bei mehreren Lokalen Installationen muss dieser Vorgang auf jedem Rechner wiederholt werden.

Bei einer Netzwerk Installation, muss dies der System Administrator auf dem Server nur einmalig umsetzen, die Einstellungen sind dann für alle Rechner die darüber Ihr Outlook AddIn laden übernommen (da alle die selbe AGVIP.INI auslesen anstelle der lokalen Registry).

Einstellungen Lokal (Registry) oder im Netzwerk (AGVIP.INI) speichern:
Um die Outlook AddIn Einstellungen nur Lokal abzuspeichern (in der Registry), muss in dem AG-VIP SQL Outlook AddIn die Einstellungsart:
"Parameter nur für aktuellen Benutzer speichern" ausgewählt sein.
 

Um die Einstellungen im Netzwerk (AGVIP.INI) und somit für alle Benutzer der selben Einstellung zu speichern, muss die Einstellungsart:
"Parameter für alle Benutzer des Addins speichern" ausgewählt sein.
Eine Pfadangabe im Netzwerk für das Ablegen der E-Mails als Datei ist empfehlenswert.

AGVIP.INI:
Die AGVIP.INI lässt sich jedoch auch manuell anpassen.
Wenn Sie die AGVIP.INI in Ihrem Installationsverzeichnis von AG-VIP SQL mit einem Texteditor öffnen, können Sie folgende Passage hinzufügen bzw. anpassen:

[OutlookAddIn]
EmailPath=C:\Programme (x86)\AG-VIP SQL\Outlook EMails
EmailFileName=Email von %Sendername% am %Date% um %Time%
EmailSaveHistorieMode=0
EmailSaveHistorieModeNonStorage=2
EmailSendDate=1
EmailSubject=1
EmailText=1
NSEmailSendDate=1
NSEmailSubject=1
NSEmailText=1

Registry:
In der Registry werden Sie diese Einträge nur über eine Suche finden.
Mit dem Begriff "EmailSaveHistorieModeNonStorage" werden Sie fündig,
sofern bereits einmal eine Speicherung über die oben genannte Einstellungsart für eine lokale Speicherung erfolgte.


Erläuterung:
EmailPath gibt den Speicherort der zu speichernden E-Mails als Ablage an (Beim Ausführen des Hilfsmittels "Email speichern in AG-VIP SQL mit Ablage"). Bei einem zentralen Speicherort auf einem Server muss natürlich dessen Laufwerk anstelle des lokalen Laufwerks C: angegeben werden.

EmailFileName gibt an, wie der Name der zu speicherten Email als Ablage benannt werden soll. In dem Beispiel würde die abgespeicherte E-Mail z.B. folgenden Namen bekommen "Email von Max Mustermann am 16.12.2010 um 110530" wobei 110530 der Uhrzeit 11:05:30Uhr entspricht.
Mögliche Platzhalter sind:
%Date% - Datum im Format dd.mm.yyyy
%Time% - Zeit im Format hhmmss
%Subject% - der Betreff der Email
%Sender% - Die Email Adresse des Absenders
%Sendername% - Der Name des Absenders
%Receiver% - Der Name des Empfängers

EmailSaveHistorieMode stammt von dem vorgänger Outlook AddIn und ist nicht mehr in Verwendung.

EmailSaveHistorieModeNonStorage gibt an, was alles in der Historie zusätzlich mit übernommen werden soll, wenn das Hilfsmittel "Email speichern in AG-VIP SQL ohne Ablage" ausgeführt wird.
Mögliche Parameter sind:
0 - Nur Betreff
1 - Nur E-Mail Text
2 - Betreff und E-Mail Text

EmailSendDate, EmailSubject und EmailText ergänzen Datum, Betreff und E-Mail Text im Historien Text sofern das Hilfsmittel "Email speichern in AG-VIP SQL mit Ablage" ausgeführt wird.
Mögliche Parameter sind:
0 - nicht ergänzen
1 - ergänzen

Hinweis:
Mir möchten darauf hinweisen, dass die evtl. nicht mögliche Speicherung der Einstellungen des AG-VIP SQL Outlook AddIns kein Fehler im Programm ist, sondern eine in Windows Vista und Windows 7 eingeführte Verschärfung der Benutzerrechte bezüglich der Schreibrechte.

2011-08-17 16:08
Peter Brandt

Projekt exportieren und importieren

Kompletter Projektexport in AG-VIP SQL:

Zweck:

Manche Projekte werden nicht mehr aktiv bearbeitet, sind aber vom Ablauf evtl. später noch einmal interessant. Oder man möchte ein Projekt auf einer anderen AG-VIP SQL Installation nutzen.
Dafür bietet AG-VIP SQL Export- und Importmöglichkeiten aller relevanten Elemente einer Kampagne. Es geht dabei um die "Hülle", d.h. Strukturen und nicht um die Daten.

Voraussetzung:

Sie benötigen administrative Zugriffsrechte auf die Elemente der zu exportierenden Kampagne.


1) Export einer Kampagnenstruktur:

1.1) Export der Datenstruktur:
a) Gehen Sie in AG-VIP SQL auf das Menü DATEI, ADMINISTRATION, DATENBANK, ADRESSTABELLEN.
b) Markieren Sie die zu exportierende Tabelle und wählen rechts den Schalter EXPORT.
c) Geben Sie das gewünschte Zielverzeichnis an. Es empfiehlt sich alle Elemente einer Kampagne in ein Zielverzeichnis zu exportieren.
Hinweis:
Wenn Sie die Adresstabelle markieren und den EXPORT-Schalter wählen, werden auch alle unter der markierten Adresstabelle befindlichen Projekt- und Zusatztabellen mit exportiert. Es ist dann kein einzelner Export dieser Elemente mehr notwendig.

1.2) Kennzeichen - Wertelisten für Auswahlfelder
Datenfelder vom Typ KENNZEICHENFELD oder KENNZEICHENLISTEN sind sogenannte Kennzeichenkategorien zugeordnet. Diese Kennzeichenkategorien enthalten Werteliste für diese Auswahlfelder.
a) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION, VERSCHIEDENES den Punkt KENNZEICHEN.
b) Markieren Sie die relevante Kennzeichenkategorie und wählen rechts den ÄNDERN-Schalter.
c) Sie finden nun im neuen Dialog den EXPORT-Schalter. Wählen Sie das gewünschte Exportformat, geben die Ausgabedatei und das Zielverzeichnis an.
Tipp: Um die Übersichtlichkeit zu gewährleisten, empfiehlt es sich Kennzeichenkategorie z.B. mit [Mandantenname] [Inhalt Kategorie] zu bezeichnen.


1.3) Export von Ansichten
a) Gehen Sie in AG-VIP SQL auf das MEnü DATEI, ADMINISTRATION, ANSICHTEN.
Der Formulareditor öffnet sich.
b) Über das Menü DATEI, ÖFFNEN laden Sie die zu existierende Ansicht.
c) Anschließend finden Sie unter DATEI, EXPORT die Möglichkeit, diese Ansicht in das Zielverzeichnis zu exportieren.
Beachten Sie bitte, dass sich Ansichten im Kontext der exportierten Adresstabelle befinden können, aber auch im globalen Kontext stehen können.


1.4) Export von Gesprächsleitfäden
Wenn Sie mit interaktiven Gesprächsleitfäden in Kampagnenstufen arbeiten:
a) Gehen Sie in AG-VIP SQL auf das MEnü DATEI, ADMINISTRATION, SKRIPTe. Der Scripteditor öffnet sich.
b) Über Menü DATEI, ÖFFNEN laden Sie zunächst das zu exportierende Script.
c) Über DATEI, EXPORT können Sie das aktuell sichtbar geladdene Script in das Zielverzeichnis exportieren.


1.5) Hilfsmittel für Dokument- oder Emailerzeugung
In Kampagnen werden im Workflow oft automatisiert Emails oder Dokumente erzeugt.
a) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION VERSCHIEDENES den Punkt HILFSMITTEL.
b) Markieren Sie alle Hilfsmittel, die in dieser Kampagne verwendet werden. Mehrfachmarkierungen sind über die Taste STRG möglich. Hilfsmittel können dabei im globalen KOntaktext aber auch im Kontext der exportierten Adresstabelle liegen.
c) Wählen Sie rechts den Schalter EXPORT und geben das gewünschte Zielverzeichnis an.
Tipp: Wenn Sie eine Adresstabelle markieren, werden alle Hilfsmittel in diesem Kontext exportiert.
Kopieren Sie auch alle für die Hilfsmittel notwendigen VORLAGEN (*.doc, *.oft usw.) in das Zielverzeichnis über den Windows Explorer.

1.6) Export von Macro Includes
Wenn innnerhalb des Workflows, Hilfsmitteln etc. Makrofunktionen verwendet werden, die in den "Macro Includes" abgelegt sind, müssen Sie auch diese Bestandteile exportieren.
a) Wählen Sie in AG-VIP SQL Im Menü DATEI, ADMINISTRATRION, MACRO INCLUDES.
b) Markieren Sie die Macro Includes, die Sie in Ihrem Projekt verwenden und wählen den EXPORT-Schalter.
c) Geben Sie den gewünschten Dateinamen sowie das Zielverzeichnis an.


1.7) Export des Workflows
a) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION den Punkt PROJEKTVERWALTUNG.
b) Markieren Sie das zu exportierende Projekt und aktivieren rechts den SChalter Export.
c) Geben Sie den gewünschten Dateinamen und das Zielverzeichnis an.

2) Kampagnenstruktur wieder importieren
Achtung:

Beim Import der Kampagnenstrultur ist die Reihenfolge, in der Sie einzelne Elemente importieren wichtig. Von daher gehen Sie bitte in folgenden Schritten vor:

Voraussetzung:

Sie benötigen administrative Zugriffsrechte.


2.1) Import von Macro Includes
Wurden für die Kampagne übergreifende Makros verwendet, müssen diese direkt als erstes importiert werden.
a) Dazu wählen Sie in AG-VIP SQL aus dem Menü DATEI, ADMINISTRATION den Punkt MACRO INCLUDES.
b) Aktivieren Sie rechts den Schalter IMPORT und geben die zu importierende Datei an.


2.2) Import Datenstruktur
a) Öffnen Sie den Tabellenexplorer in AG-VIP SQL über das Menü DATEI, ADMINISTRATION, DATENBANK, ADRESSTABELLEN.
b) Wählen Sie rechts den Schalter IMPORT.
c) Geben Sie die Importdatei an.
Kontrollieren Sie, dass unterhalb der Adresstabelle die gewünschte Projekttabelle (Enthält später die Ticketinformationen) steht.


2.3) Kennzeichenkategorien
Mit dem Import der Datenstruktur werden auch ggf. neue notwendige Kennzeichenkategorien angelegt. Diese Wertelisten der Auswahlfelder können Sie über den Import befüllen.
a) Wählen Sie dazu aus dem Menü DATEI, ADMINISTRATION, VERSCHIEDENES den Punkt KENNZEICHEN.
b) Markieren Sie die zu befüllende Kennzeichenkategorie und wählen rechts den Schalter ÄNDERN.
c) Im neuen Menü IMPORT erscheint en Importassistent, der Sie sicher durch den weiteren Importvorgang führt. Wählen Sie dort das gewünschte Importformat aus und geben den Namen und Ablageort Ihrer Quelldatei an.


2.4) Import von Ansichten
Die Oberfläche. Das sieht der Anwender nachher.
a) Starten Sie den Formulareditor über Menü DATEI, ADMINISTRATION, ANSICHTEN.
b) Im Formulareditor können Sie Ansichten über Menü DATEI, IMPORT importieren.
Wenn Sie zuvor die Adresstabelle mit ursprünglichen Namen importiert haben, sollte die neu importierte Ansicht direkt auch in diesem Kontext stehen. Anderfalls bitte prüfen, dass die importierte Ansicht im Kontext der gewünschten Adress- bzw. Projekttablle oder als GLOBAL gespeichert wird.
c) Diesen Importvorgang wiederholen Sie für jede einzelne Ansicht.


2.5) Import von Gesprächsleitfäden
Arbeiten Sie mit einem interaktiven Gesprächsleitfaden gehen Sie analog wie unter Pkt. 2.3) beschrieben vor.


2.6) Import der Hilfsmittel
a) Kopieren Sie über den Windows Explorer die ggf. notwendigen Vorlagen (*.doc, .oft) in das gewünschte Vorlagenverzeichnis.
b) Wählen Sie in AG-VIP SQL aus dem Menü DATEI, den Punkt ADMINISTRATION, HILFSMITTEL.
c) Markieren Sie die neu importierte Adresstabelle (Kontext) und wählen rechts den Schalter IMPORT.
d) Geben Sie nun die zu importierende Quelldatei an.
e) Prüfen Sie ob bei den neu importierten Hilfsmitteln im Reiter HILFSMITTEL VORLAGE der Verweis auf die Vorlage und das Zielverzeichnis korrekt sind.


2.7 Import des Workflows
Im letzten Schritt können Sie den Workflow importieren, der die bisher bereits importierten Elemente zusammenfasst.
a) Wählen Sie in AG-VIP SQL den Punkt PROJEKTVERWALTUNG aus dem Menü DATEI, ADMINISTRATION.
b) Markieren Sie die Projekttabelle und wählen rechts den Schalter IMPORT.
c) Geben Sie die gewünschte Importdatei an.
AG-VIP SQL prüft, ob alle im zu importierenden Workflow verknüpften Ansichten, Hilfsmittel usw. vorhanden sind und gibt ggf. Warnungen aus. Es empfiehlt sich, diese Warnungen über den KOPIEREN Schalter zu übernehmen und in einem anderen Dokument abzulegen. So können Sie die offenen Punkte Schritt für Schritt abarbeiten.

2011-08-17 16:34
Markus Grutzeck

Terminvereinbarung - Webportal: Der externe Agent, kann seine Zeiten im Webportal nicht verändern.

Beschreibung:
Interner Zugriff:
Der Zugriff auf das Webportal sowie das Ändern von Zeiten funktioniert.

Externer Zugriff:
Der Zugriff auf das Webportal funktioniert, jedoch können die Zeiten nicht geändert werden (Änderungen funktionieren nicht).

Ursache: 
Die Ursache liegt sehr wahrscheinlich an den Einstellungen der Firewall bzw. den IPS-Regeln (Intrusion Prevention Systems). 

Lösung:
Die Einstellungen der Firewall sowie der IPS-Regeln (falls vorhanden) überprüfen und anpassen.

2011-08-17 16:03
Peter Brandt

Das Outlook AddIn und/oder E-Mail Hilfsmittel für Outlook funktionieren nicht (Outlook 64bit)

Beschreibung:
Das AG-VIP SQL Outlook AddIn und/oder E-Mail Hilfsmittel die eine E-Mail in Outlook erstellen funktionieren bei Outlook mit 64bit nicht.

Problemdarstellung:
Beim Outlook AddIn tritt bereits bei der Installation des Outlook AddIns über die SetupAGVIPClient.exe ein Fehler auf, dass die "AGVIPSQLOLAddin.dll" Datei nicht installiert werden konnte.

Bei einem E-Mail Hilfsmittel tritt folgender Makrofehler beim Ausführen des Hilfsmittels auf:
Outlook64bitError

Erklärung:
Das AddIn sowie die E-Mail Hilfsmittel können nicht mit einer 64bit Version von Outlook verwendet werden.

Lösung:
Die 32bit Version von Outlook installieren und bei geschlossenen Outlook die SetupAGVIPClient.exe erneut ausführen.

Der Einsatz der 32-Bit-Version von Office 2010 wird für die meisten Benutzer empfohlen.

Siehe auch http://office.microsoft.com/de-de/outlook-help/auswahlen-der-32-bit-oder-64-bit-version-von-microsoft-office-HA010369476.aspx

 

Änderungslog:
25.09.2013:

  • Suchbegriffe um Fehlermeldung in AG-VIP SQL erweitert ("BS", "Falsches BS", "BS-Version", "Falsche BS-Version")

10.06.2013:

  • Erweiterung des Artikels um das selbe Problem, jedoch auch für E-Mail Hilfsmittel in Verbindung mit Outlook 64bit
  • Erweiterung des Artikels um den Abschnitt "Problemdarstellung"
  • Erweiterung des Artikels um den Abschnitt "Änderungslog"

 

2013-09-25 14:35
Peter Brandt

Kann AG VIP SQL mit dem Internet Protokoll Version 6 (IPv6) betrieben werden?

Das Internetprotokoll Version 6 ist das Internetprotokoll
der Zukunft. Hauptziel von IPv6 ist die Vergrößerung des knapp werdenden IPv4
Adressraums sowie die Vermeidung von Network Address Translation (NAT), die
derzeit verwendet wird um den knappen Adressraum zu vergrößern. Dies
wiederspricht jedoch dem Ende-zu-Ende-Prinzip das von manchen Protokollen
eigentlich erwartet wird. (z.B. das SIP-Protokoll.). (Siehe auch http://de.wikipedia.org/wiki/IPv6)

Damit das IPv6 Protokoll mit AG VIP SQL verwendet werden
kann müssen alle an der Kommunikation zwischen Client und Server beteiligten
Komponenten IPv6-fähig sein.

Dies Betrifft sowohl das Client-Betriebssystem, den
verwendeten SQL-Client sowie das SQL-Server-Betriebssystem, den SQL-Server
sowie alle dazwischen liegenden Netzwerkkomponenten. (Hardware und Software wie
Netzwerkkarten, Switches, Firewalls, DNS etc.)

Für Windowsbetriebssysteme gilt: (Siehe auch http://www.microsoft.com/ipv6)

Windows XP ab SP1 und Windows Server 2003 sind mit
zusätzlicher Konfiguration mit IPv6 nutzbar.

Während Microsoft den Produktiveinsatz von IPv6 für Windows
Server 2003 eingeschränkt betrachtet ist die produktive Nutzung unter Windows
XP möglich.

Windows Vista und Windows 7 bringen von Haus aus IPv6 mit einer
Duallayer-Architektur mit.  Dasselbe gilt
für Windows Server 2008.

Der Microsoft SQL-Server ab der Version 2005 unterstützt
sowohl Client wie auch Serverseitig IPv6. Dies muss jedoch entsprechen im
SQL-Server-Konfigurations-Manager eingerichtet werden.

Ist dies erfolgt und Clientseitig der Native Client
installiert und eine IPv6-Kommunikation mit dem SQL Server möglich, so ist ein
IPv6-Zugriff auf den SQL-Server möglich.

Da Microsoft hier im Regelfall einen Dual-Stack als
Konfiguration vorsieht (IPv4 und IPv6 parallel), wird zunächst immer versucht
eine IPv4-Kommunikation aufzubauen. Erst nach dessen Timeout, erfolgt der
Zugriff via IPv6. (siehe http://msdn.microsoft.com/en-us/library/ms345359.aspx)

Sofern der ?Fully qualified domain name" (FQDN) verwendet
wurde um die Verbindungsdatei für AG VIP-SQL zu erzeugen und bereits der Native
Client im Einsatz ist, sind keine weiteren Änderungen erforderlich.

Siehe auch:

KB-Artikel: Welcher OLE-DB Provider wird aktuell verwendet? http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=97&artlang=de

KB-Artikel: Installation des MS-SQL Servers 2008 R2 Express http://kb.grutzeck.de/index.php?action=artikel&cat=26&id=187&artlang=de

Handbuch für Administratoren ?Anlegen der SQL-Datenbank: AGVIPDBWizzard.EXE" http://www.grutzeck.de/de/Bedienungsanleitung/bedienungsanleitung.html

2011-08-17 15:53
Ulrich Sticker

Beim Ausführen eines Outlook Hilfsmittels kommt jedes Mal ein Warnhinweis (Outlook 2003)

Beschreibung:
Beim Ausführen eines in AG-VIP SQL eingerichteten Outlook Hilfsmittels um z.B. eine E-Mail zu verfassen erscheint in Outlook (2003) ein Pop-Up Fenster mit einem Warnhinweis, dass ein Programm auf Outlook zugreifen möchte.
Sie werden dabei aufgefordert den Zugriff zu gewähren oder zu verweigern.
Diese Bestätigung muss bei jedem Ausführen des Hilfsmittel erneut durchgeführt werden und ist daher äußerst nervend und Zeit raubend.

Lösung:
Die Firma MAPILab stellt ein kostenfreies Outlook Add In zur Verfügung, mit welchem es einem ermöglicht diese Sicherheitsabfragen auf Programme bezogen zu speichern.
Leider erscheint häufig nicht tatsächlich der Programmname des Programmes sondern lediglich die .dll Datei worüber das Programm die Verbindung zu Outlook herstellt.
Nichts desto trotz kann man dadurch die lästigen Warnhinweise auch für AG-VIP SQL bearbeiten und so muss der Zugriff nur noch einmalig gewährt werden (sofern man den Haken "Immer diese Aktion ausführen" aktiviert und natürlich auf "Zugriff erlauben" klickt)

Advanced Security für Outlook Dialog

Hinweis:
Lesen Sie wie von MAPILab empfohlen die beiligende Anleitung vor der Verwendung dieses Outlook Add Ins durch.
Die Verwendung dieses Outlook Add Ins von MAPILab geschieht auf eigene Gefahr!
Schäden oder sonstige Verluste welche durch die Verwendung dieses Outlook Add Ins zustande kommen werden nicht von uns Übernommen!
Bei einen dadurch entstandenen Support-Antrag wird dieser trotz evtl. bestehenden Wartungsvertrag kostenpflichtig berechnet!

Link zur MAPILab Webseite:
http://www.mapilab.com/de/outlook/security/

2011-08-17 16:09
Peter Brandt

Verschiedene Registry-Äste bei einem 64bit Betriebssystem (32bit & 64bit Ast)

Beschreibung:
AG-VIP SQL ist eine reine 32bit Anwendung und verfügt tatsächlich nur bei dem AG-Manual TSP Treiber - welcher nur benötigt wird um ein Telefonat zu simulisieren - über eine 64bit Version.
Wie viele andere Programme, schreibt AG-VIP SQL bestimmte lokal benötigte Einstellungen in die Registry.
Dies funktioniert auch obwohl es ein 32bit Programm ist auf einem Betriebssystem welches auf 64bit basiert.
Denn bei einem 64bit Betriebssystem gibt es den Stamm für 64bit (Standard) und einen Ast für 32bit Programme.
Das Betriebssystem erkennt also automatisch, dass dies ein 32bit Programm ist und fügt den Registryeintrag in dem 32bit Registry-Ast hinzu bzw. ändert dort diesen ab.

Problem:
Wenn man eine Registrydatei (.reg) erzeugt, welche für ein 32bit Programm gedacht ist, wird dieses beim Ausführen auf einem 64bit Betriebssystem irrtümlicherweise in den Registry Stamm für 64bit Programme eingetragen und nicht in dem dafür vorgesehenen Unterast HKEY_LOCAL_MACHINE\Software\WOW6432Node

in dem die 32bit Registry Einträge normalerweise in einem 64bit Betriebssystem abgelegt werden.
Die Registrydatei enthält nämlich keine Informationen für welche bit Variante es angewendet werden soll und daher wird der Standard (64bit) ausgewählt.


Lösung:
Starten Sie die 32bit Variante der regedit.exe und führen darüber dann einen Importvorgang durch (Datei - Import -> .reg Datei auswählen).
Zum Starten einfach folgenden Schritten folgen:
  1. Klicken Sie auf Start und anschließend auf Ausführen bzw. setzen Sie den Cursor in das Eingabefeld
    Programme/Dateien durchsuchen.
  2. Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit ein.
    Klicken Sie dann auf OK.

Falls sich keine Registry öffnen sollte, haben Sie vermutlich noch die 64bit Registry geöffnet.
Schließen Sie diese und wiederholen Sie den Vorgang oder setzen Sie den Parameter /m bei Schritt 2. wie folgt:

  • Im Feld Öffnen bzw. in dem zuvor aktiv gesetzten Eingabefeld geben Sie %systemroot%\syswow64\regedit /m ein.
    Klicken Sie dann auf OK.

So wird eine weitere Instanz erzeugt.

2011-09-26 10:59
Peter Brandt

Shell Fehler: Zu dieser Dateiendung existiert keine Verknüpfung zu einer Anwendung.

Beschreibung:
Beim Öffnen einer Datei über AG-VIP SQL kann evtl. das Programm nicht identifiziert werden, mit dem die Datei geöffnet werden soll.
Dies kann auftreten, wenn mehrere Programme auf einem Rechner installiert sind, welche das selbe Datei-Format öffnen können bzw. als Standard öffnen wollen. Ein gutes Beispiel ist OpenOffice und MS-Office worauf sich auch die Screenshots beziehen (OpenOffice in einem Windows7 und MS-Office in einem Windows-XP Betriebssystem).
So kann es vorkommen, dass sich Fehler bei der Zuordnung ergeben.
Zum Beispiel kann es vorkommen, dass ein Programm zum Öffnen von Dateien installiert wird.
Dieses trägt dann zum Beispiel den Standard-Pfad für "Öffnen" bzw. "Open" aus, so dass die Datei nur noch über "Bearbeiten" bzw. "Edit" geöffnet werden kann. EXECUTESHELL wird falls es im Pfad für "Öffnen" keine Anwendung findet den Pfad für "Bearbeiten" ausführen.
AG-VIP SQL ist jedoch so programmiert, dass es nur den Pfad für "Öffnen" verwendet und somit dann einen Fehler erzeugt.
Dies macht sich schon dadurch bemerkbar, dass wenn Sie mit der rechten Maustaste sich die Optionen einer Datei wessen Dateityp nicht geöffnet werden kann anschauen. Dort wird "Öffnen" bzw. "Open" nicht angezeigt.
Datei Eigenschaften - Open

Lösung:
Überprüfen Sie die Dateitypen Zuordnung wie in den folgenden Screenshots abgebildet:

Windows XP:
Start - Explorer
Starten Sie den Windows-Explorer über einen Rechtsklick auf "Start" und einem Linksklick auf "Explorer".

Extras - Ordneroptionen...
Über "Extras" -> "Ordneroptionen öffnen wir den nachfolgenden Dialog.

Dateitypen - DOC
Dort kann dann im Reiter "Dateitypen" eine Anwendung einem Dateityp zugeordnet werden.
Falls hier bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie über die "Ändern..." Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche Pfade zu korrigieren.

Windows 7:
Start - Systemsteuerung
In Windows 7 finden wir die Dateitypen Zuordnung unter "Standardprogramme" welche Sie auch direkt über "Start" -> "Standardprogramme" öffnen können oder über den Weg über die "Systemsteuerung" erreichen.

Kleinesymbole - Standardprogramme
Wenn Sie oben rechts die Anzeige auf "Kleine Symbole" einstellen, finden Sie die Auswahloption "Standardprogramme" welche Sie zuvor auch schon direkt über "Start" - "Standardprogramme" öffnen hätten können.

Dateityp oder Protokoll einem Programm zuordnen
Nun wählen Sie die Option "Dateityp oder Protokoll einem Programm zuordnen" aus.

.doc - OpenOffice.org Anwendung ausgewählt
Hier sehen Sie nun auf einem Blick welche Anwendungen welchem Dateitypen zugeordnet sind (In dem Fall wäre das für den Dateityp "Microsoft Word 97-2003 Dokument" (.doc) die Anwendung "OpenOffice.ord Writer").
Zum Ändern selektieren Sie die gewünschte Zeile und drücken oben rechts auf die Schaltfläche "Programm ändern".

WICHTIG:
Falls bereits die gewünschte Anwendung dem Dateitypen zugeordnet sein sollte, sollten Sie unbedingt über die "Ändern..." bzw. "Programm ändern" Schaltfläche die Anwendung erneut dem Dateitypen zuordnen um evtl. falsche bzw. nur teilweise vorhandene Pfade zu korrigieren.


Registry überprüfen:
Achtung!!!
Falscheingaben in der Registry können fatale Folgen für die Funktionalität Ihres Rechners haben!!!
Die hier beschriebene Vorgehensweise soll Ihnen nur helfen, die Position in der Registry festzustellen an der Sie sehen, welche Anwendung für welchen Dateitypen verwendet wird. Änderungen die Sie in der Registry durchführen haben Sie selbst zu verantworten und dadurch entstandene Kosten oder Supportanfragen werden von uns in keiner Weise übernommen bzw. nicht kostenlos bearbeitet (bei einem dadurch entstandenen Supportfall zum Beispiel).

Verweis von .doc auslesen
Im Pfad "HKEY_CLASSES_ROOT" werden die Dateitypen behandelt. Unter ".doc" findet man bei "(Standard)" den Verweis auf "Word.Document.8".

Word.Document.8
Wenn man nun in "HKEY_CLASSES_ROOT\Word.Document.8\shell\Open\command" schaut, sieht man den hinterlegten Pfad zu der Anwendung.
In dem Fall die "WINWORD.EXE".
Bei Änderungen in der Registry ist es meistens notwendig, den Rechner neuzustarten damit die Änderungen geladen werden.

Weitere Maßnahmen:
Falls dies nicht zum Erwünschten erfolg geführt hat, sollten Sie eine Reparaturinstalltion der gewünschten Andwendung durchführen.
Diese wird Ihnen normalerweise angeboten, wenn Sie versuchen die Anwendung erneut zu installieren, obwohl diese bereits installiert ist.

2011-08-17 16:28
Peter Brandt

Import / Export zwischen AG-VIP SQL und Excel: Empfehlungen und hilfreiche Hinweise.

Beschreibung:
Dieser Artikel beschreibt den zu empfehlenden Import / Export Vorgang um zum Beispiel die exportierten Daten in Excel zu importieren.
Eine allgemeine Beschreibung wie man einen Import / Export Vorgang durchführt wird im Handbuch beschrieben und daher hier vorausgesetzt.

Export:
Beim Export eines nicht relationalen (flachen) Datenformats um dieses später zum Beispiel in Excel zu importieren empfehlen wir folgende Einstellungen:
- Textdatei: ANSI / Semikolon-getrennt / Anführungszeichen
- Neuer Dateiname der zu erzeugenden Exportdatei als .csv Datei abspeichern.

Oder als Exportformat:
- Excel

Hinweis:
Wegen der Begrenzung pro Feld von maximal 250 Zeichen im ODBC-Protokoll ist das Excel Exportformat nicht zu empfehlen!
Weitere Spezifikationen bzw. Obergrenzen sind von der eingesetzten Office Version abhängig.
Sie können diese unter folgenden Links nachlesen:
Office 2003: http://office.microsoft.com/de-de/excel-help/spezifikationen-und-einschrankungen-von-excel-HP005199291.aspx
Office 2007: http://office.microsoft.com/de-de/excel-help/spezifikationen-und-beschrankungen-in-excel-HP010073849.aspx
Office 2010: http://office.microsoft.com/de-de/excel-help/spezifikationen-und-beschrankungen-in-excel-HP010342495.aspx

Excel Import:
Beim Import der exportierten Datei nach Excel werden zwar die Spalten und Felder automatisch korrekt bestimmt und gefüllt jedoch die Zeilenumbrüche bei keinem der beiden Formate (.csv oder Excel .xls) dargestellt.
Dies liegt aber an der Formatierung von Excel und kann durch ein paar Einstellungen angepasst werden.
Die Ironie ist nun, dass es einfacher ist die notwendigen Einstellungen vorzunehmen um in Excel die Zeilenumbrüche bei der .csv Datei darzustellen, als bei dem Excel-Format (.xls). Daher auch unsere Empfehlung für das Format (.csv). Wenn Sie anstelle einer .csv Datei eine .txt Datei erstellt haben, funktioniert die automatische Spalten und Felder zuordnung nicht sondern muss manuell beim Öffnen der .txt Datei definiert werden.

Zeilenumbrüche in Excel aktivieren.
Selektieren Sie einfach alle Felder in dem Sie wie im folgenden Bild auf die Ecke der Spalten und Zeilen klicken:
SelectAll

Danach muss der Zeilenumbruch aktiviert werden:LFCR

Hinweis:
Bei der .csv Datei ist dies nicht notwendig.

Zeilenumbrüche in Excel darstellen:
Nachdem nun wie zuvor beschrieben alle Spalten und Zeilen selektiert sind muss die Einstellung "Oben ausrichten" aktivieren werden:
TopLined

Dann in den Spaltenkopf mit der rechten Maustaste klicken und die "Spaltenbreite" auswählen:
Tabrange

Geben Sie als Breite eine möglichst hohe Zahl ein, in dem Beispiel hier wurde die Breite 40 gewählt damit noch ein paar Felder in einen Screenshot passen. Danach klicken Sie mit einem Doppelklick auf die Spalten und Zeilen Linie eines belibiegen Feldes im Kopf und Rahmen Ihrer Tabelle:
HeightWidthAdjust

Wenn Sie wie im ersten Bild abgebildet bei dem ganzen hier beschriebenen Vorgang weiterhin die Selektion aller Felder aktiv hatten sind nun alle Felder in der Höhe und Breite passend zum größten Feldinhalt angepasst worden:
PerfectAdjusted

Achtung!
Beim Importieren der .xls Datei in Excel, markiert Excel von sich aus alle Texte in jedem Feld mit einem einfachen Hochkomma:
apostrophe

Wenn Sie das in irgendeiner Form stören oder gar behindern sollte, bleibt Ihnen nichts anderes übrich als das .csv Format für den Import in Excel zu wählen. Sie können daher auch die bereits in Excel geöffnete .xls Datei als .csv Datei (mit Trennzeichen getrennt) speichern und diese dann gleich wieder in Excel öffnen. Die Hochkommas sind dann nicht mehr vorhanden.

Import nach AG-VIP SQL:
Das Dateiformat .xls ist für einen Import nach AG-VIP SQL nicht zulässig.
Die .xls Datei muss daher in eine .csv Datei (mit Trennzeichen getrennt) abgespeichert werden damit diese in AG-VIP SQL übernommen werden kann. Das Import-Format entspricht normalerweise immer "ANSI / Semikolon-getrennt / Anführungszeichen". Es kann vorkommen, dass der "Auto" Schalter, welche automatisch das richtige Format einstellen soll, bei solchen Dateien bei denen die Endung geändert wurde nicht das richtige Format auswählt. Dies erkennen Sie spätestens daran, dass bei der Feldzuordnung die zu übernehmenden Felder nur in einer Zeile aufgelistet werden, anstatt in einer Liste:
ImportWrong

Sie können jedoch jederzeit über die "Zurück" Schaltfläche wieder in die Format-Auswahl und ein anderes Format angeben.

2025-05-06 14:56
Peter Brandt

Microsoft SQL Server 2019 Linksammlung

Hardware und Softwareanforderungen für Microsoft SQL Server 2019

Beschreibung der Hard und Softwareanforderungen für den SQL Server 2019

Microsoft SQL Server 2019 Express

Downloadlink zum SQL Server 2019 Expressversion.

Microsoft SQL Server 2019 Editionen und Features

Beschreibung für die verschiedenen SQL Server 2019 Versionen und deren jeweilige Features.

 Microsoft SQL Server Management Studio (SSMS)

Downloadlink zum SQL Server Management Studio.

 

Siehe auch http://sqlserver.grutzeck.de

2016-12-13 08:28
Ulrich Sticker

Das Outlook Add In funktioniert bei Benutzern welche geringe Rechte besitzen nicht.

Hinweis:
Dieses Problem besteht ab der AG-VIP SQL Version 1.30.001 nicht mehr.

Beschreibung:
Nachdem Installieren des Outlook Add Ins über die SetupAGVIPClient.exe als Administrator, können Benutzer welche nicht über die notwendigen Rechte verfügen das Outlook Add In nicht ausführen. Das Problem liegt dabei daran, dass die Verbindungsinformationen in der Registry nicht wie gewünscht im HKEY_LOCAL_MACHINE Pfad eingetragen werden sondern im HKEY_CURRENT_USER Pfad des Administrators.

Lösung 1:
Ab der AG-VIP SQL Version 1.30.001 ist dieser Fehler behoben.
Der Workarround für ältere Versionen ist, dass man die fehlenden Einträge als Administrator in der Registry ergänzt.
Dazu starten Sie einfach als Administrator auf den betroffenen Rechnern mit einem Doppelklick die .reg Datei im Anhang dieses Artikels.
Nun kann JEDER Benutzer an DIESEM Rechner das Outlook Add In verwenden (sofern zuvor bereits die SetupAGVIPClient.exe ausgeführt wurde). 

Lösung 2:
Die etwas umständlichere Lösung ist, dass der Benutzer kurzfristig der Administrator Gruppe hinzugefügt wird, dieser anschließend die SetupAGVIPClient.exe ausführt und ihm dann die Administratorrechte wieder entzogen werden.
Dadurch hat DIESER Benutzer an DIESEM Rechner seinen eigenen Verbindungseintrag im HKEY_CURRENT_USER Pfad der Registry und kann daher das Outlook Add In verwenden.
Eventuell muss der Benutzer vorher noch die "AG-VIP SQL Arbeitsstation" deinstallieren, da sonst das Setup die Installation mit der Meldung, dass bereits AG-VIP SQL auf diesem Rechner installiert sei beendet.

Warum tritt das Problem erst jetzt auf?
Das Problem bestand seit der ersten Version des Outlook Add Ins und trat auch schon früher auf.
Unsere anfänglichen Analysen ergaben, dass der Benutzer mindestens Hauptbenutzerrechte haben muss um das Outlook Add In nach einer Registrierung zu verwenden.
Die meisten Anwender haben diese Anforderung dann erfüllt und dadurch wurde das Problem umgangen.
Jedoch durch den immer mehr werdenden Einsatz von Terminal-Lösungen war es unbedingt notwendig, dass die Benutzer eben in Ihren Rechten sehr eingeschränkt sind.

Wie kam es dazu?
Dieser falsche Pfad wird automatisch beim Erstellen der AGVIPSQLOLAddin.dll (Outlook Add In) von der Entwicklungsoberfläche "Visual Basic 6" in der Connect.dsr Datei festgelegt und ist nicht für den Entwickler in der Entwicklungsoberfläche ersichtlich und konfigurierbar.
Dieser Artikel beschreibt das Problem und bietet für Entwickler auch einige Lösungsmöglichkeiten an:
http://www.darinhiggins.com/registering-vb6-office-com-add-ins-as-per-machine

Aber warum funktionierte es nicht, wenn der Benutzer mit den geringen Rechten die SetupAGVIPClient.exe mit "Als Administrator ausführen" ausgeführt hat?
Wenn der Benutzer nicht bereits über die notwendigen Administratorrechte besitzt, erscheint ein Pop-Up in dem zu einem Benutzerkonto mit Administratorrechten das Zugangspasswort eingegeben werden muss. Wenn man dies jedoch gemacht hat, war man für diesen Vorgang mit diesem Benutzer eingeloggt und die Registrierungen liefen somit in dessen Registrierungspfad HKEY_CURRENT_USER und nicht in dem Registrierungspfad des Benutzers mit den geringen Rechten.

2011-08-18 15:15
Peter Brandt

AGVIPDBWizard.exe schlägt mit einem Fehler bezüglich des SQL Servers fehl.

Beschreibung:
Beim Ausführen des Verbindungsassistenten (AGVIPDBWizard.exe) tritt beim Versuch eine Verbindung mit dem SQL Server herzustellen folgender Fehler auf:

SQL Provider 2000:
Fehler: Server Existiert nicht bzw. Zugriff verweigert

Native Client:
Named Pipes Provider - Error: Could not open a connection to SQL Server

Ursache:
Für diesen Fehler kann es unterschiedliche Ursachen geben.
Häufigste Ursachen:

  1. Der SQL-Server Name bzw. dessen IP ist nicht korrekt (existiert also tatsächlich nicht).
  2. Der Client-Rechner hat Probleme den Namen des Servers in eine IP aufzulösen (DNS nicht richtig konfiguriert).
  3. Die Ports des SQL-Servers werden von der Windows Firewall bei nicht autorisierten Zugriff geblockt (Windows 7 und Windows Server 2008).
    Zur Konfiguration der Windows Firewall und MS SQL Server 2014 ...
  4. Sie verwenden einen SQL-Server-Instanznamen und der SQL-Server Browser Dienst ist nicht gestartet.
  5. Der Client-Rechner ist nicht in der Domäne. Der für den SQL-Server eingetragene Dienst ist jedoch ein Netzwerkdienst welcher dies vorraussetzt.

Lösung:

  1. Kontrollieren Sie den Servernamen bzw. die IP des SQL-Servers
  2. Überprüfen Sie ob die Namensauflösung funktioniert in dem Sie über eine Eingabeaufforderung (command prompt) Ihren Server über dessen Namen anpingen z.B. Ping PC-Test
    Wenn dies nicht funktionieren sollte wiederholen Sie den Versuch nur dieses mal mit der IP.
    Nun müssten Sie 4 erfolgreich abgeschlossene Verbindungen angezeigt bekommen.
    Wenn dies der Fall ist, kontrollieren Sie Ihre DNS-Einstellungen oder setzen Sie anstelle des Server Namens einfach die Server IP in den Verbindungsassistenten ein.
  3. Dies ist leider schwer zu überprüfen, da ein Ping zum Server trotzdem funktioniert, der Verbindungsaufbau zum SQL-Server jedoch von der Firewall geblockt wird. Der Microsoft Support Artikel beschreibt das Problem und bietet gleichzeitig eine Batch Datei als Lösung an um die betroffenen Ports automatisch freizuschalten: http://support.microsoft.com/kb/968872/de
    Windows Firewall für MS SQL Server 2014 konfigurieren
  4. Falls Sie einen Instanznamen bei Ihrem SQL-Server verwenden z.B. PC-Test\SQLExpress muss der SQL-Server Browser Dienst gestartet sein um diese Instanz auflösen zu können. Starten Sie dafür den Konfigurationsmanager des SQL-Servers:
    Start - (Alle) Programme - Microsoft SQL Server 200x - Konfigurationstools -> SQL Server-Konfigurations-Manager
    Unter "SQL Server-Dienste" wird der "SQL Server Browser" augeführt welcher mit einem Rechtsklick gestartet werden kann.
    Falls sich der SQL Server Browser nicht starten lassen sollte, muss dieser erst über dessen Eigenschaften im Reiter "Dienst" aktiviert werden.
  5. Die einfachste und wohl auch beste Lösung ist es, den Rechner der Domäne hinzuzufügen. Ansonsten kann man dem SQL Server Dienst im Konfigurationsmanager (wie unter 4. beschrieben) den für die Anmeldung im Reiter "Anmeldung" eingetragenen Netzwerkdienst auf Lokaler Dienst bzw. Lokales System ändern.

2016-06-01 10:28
Peter Brandt

Einsatz von USB Netzwerklösungen für eine Installation von AG-VIP SQL mit Dongle

Beschreibung:

In virtualisierten Serverumgebungen und bei Hochverfügbarkeitslösungen ist es oftmals schwierig, einen Dongle physikalisch an einem Server bereit zu stellen. Hier bietet sich an den Dongle per USB-over-Ethernet an den virtualisierten Server anzuschließen.

Auch ist es unter Microsoft Hyper-V derzeit nicht möglich einen USB-Port der physikalischen Maschine an einen virtuellen Server durchzureichen. Hier bietet sich eine Softwarelösung an um den Dongle per USB-over-Ethernet anzuschließen.

Eine gute, reine Softwarelösung stellt nach unseren Erfahrungen dabei die Software "USB-over-Ethernet" der Firma Kernelpro dar.

Als alternative, speziell für Failover-Lösungen mit mehreren physikalischen Systemen bieten sich USB-Netzwerkhubs als Lösung an.

Aufgrund häufigerer Anfragen hat die Firma WIBU-SYSTEMS AG, als Hersteller der von uns eingesetzten Donglelösung Codemeter, einige USB-Netzwerkhubs getestet und dabei die folgende Geräte ermittelt, die problemlos mit den aktuellen Treiberversionen von Codemeter zusammen funktioniert haben:

Wichtig: Bitte beachten Sie bei der Auswahl der USB-Lösung über Netzwerk die Angaben der Hersteller bezüglich der unterstützten Betriebssysteme und Kompatibilitätsangaben.:

  1. Belkin Network USB-Hub „Belkin F5L009ea" (http://www.belkin.com/us/support-article?articleNum=5149)
  2. Silex USB Device Server „SX-2000U2" (http://www.silexeurope.com/).
    Bei dem neuen SX-3000GB wurde festgestellt, dass es dazu kommen kann, dass die WibuBox nach kurzer Zeit wieder verschwindet und man sie erneut verbinden muss. Dazu hat Silex bereits einen Knowledgebase-Eintrag, den Sie unter folgender Adresse finden können: http://www.silexeurope.com/de/home/support/faq/virtualisierung-und-servereinsatz.html#faq4
  3. Gridconnect/Lantronics „UBOX2100", „UBOX4100" (http://www.gridconnect.com/)
  4. Digi International „AnywhereUSB" (http://www.digi.com/). Bei Tests mit älteren Treiberversionen von Digi wurde festgestellt, dass die Hardware-Lösung „AnywhereUSB" nicht korrekt arbeitet. Das ist mittlerweile durch eine neue Treiberversion behoben, die direkt bei Digi heruntergeladen werden kann: http://www.digi.com/ -> Support -> Drivers -> Modellauswahl
  5. SEH Computertechnik GmbH „myUTN-80 USB Dongleserver" (http://www.myutn.de/myutn-produkte/myutn-80-dongleserver.html)
  6. W&T Interfaces „USB-Server Industry Typ #53641" (http://www.wut.de/e-53641-ww-dade-000.php)

Sollten Sie Fragen zur Installation von AG-VIP SQL mit Dongle haben, stehen wir Ihnen gerne zur Verfügung.

Siehe auch Installation von AG-VIP SQL mit Dongle

2020-04-21 14:26
Ulrich Sticker

Das AGVIPElsbethBackend Backend Modul kann vom bbBackend Service nicht angesprochen werden

Eines Windows 7 SP1 Servicepacks haben sich die GUIDs bestimmter COM Objekte verändert.
Dies betrifft alle AGVIPElsbethBackend Versionen nach der Version 1.21.

Dadurch kann es dazu kommen, dass im bbBackend Service von Elsbeth beim Lesen der Tickets folgende Fehler im Protokoll gemeldet werden:

2728 2012-02-22 09:56:50,015: [Source] <- [GetNextCallJobs] CampaignCode: 533, CallJobCount: 5
2728 2012-02-22 09:56:50,062: Runtime Error: Error on transfering calljobs.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x8002802B): Element nicht gefunden.
--- End of inner exception stack trace ---
at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
at itCampus.bb.Backend.Source.GetNextCallJobs(String campaignCode, Int32 callJobCount)
at itCampus.bb.Backend.Queues.Events.OnCallJobsNeeded.Process()

Der angezeigte Fehlercode 0x8002802B bedeutet TYPE_E_ELEMENTNOTFOUND, in der Microsoft Dokumentation und deutet darauf hin, dass eine bestimmte Typ-Library nicht vorhanden ist oder nicht bekannt ist.

Das Problem ist, dass die neue AGVIPElsbethBackend.dll auf einem Windows 7 SP1 64bit entwickelt wurde. Allerdings wurde von Microsoft im SP1 das Objekt ADO RecordSet, verändert und eine andere GUID gegeben. Die eingesetzte Elsbeth Software sucht aber weiterhin nach der alten GUID (vor SP1). Damit verstehen sich bbBackend Dienst und AGVIPElsbethBackend.dll nicht mehr.

Zur Lösung wurde die AGVIPElsbethBackend.dll mit einer Rückwärtskompatiblen Typelib neu aufgebaut. Allerdings muss diese rückwärtskompatible Typen-Bibliothek auch auf dem entsprechenden Zeilrechner installiert werden.
Die neuen Typelibraries können mit dem folgenden Download installiert werden:
http://download.grutzeck.de/ADOFix.zip
In diesem Archiv befinden sich zwei Typelibraries für 32bit und 64bit, sowie ein Batch für die Installation. Der Batch InstADO60Fix.bat muss als Administrator ausgeführt werden. Die Installation ist nur an den Rechnern nötig, auf denen der Elsbeth Backend Dienst läuft.
Die Installation dieser Typelibs kann auch rückgängig gemacht werden. Wenden Sie sich bitte dazu an unseren Support.

Sind die kompatiblem TypLibs nicht installiert erhält man folgende Fehlermeldung im bbBackend Protokoll:

456 2012-02-23 10:04:02,750: [Source] <- [GetNextCallJobs] CampaignCode: 533, CallJobCount: 5
456 2012-02-23 10:04:02,781: Runtime Error: Error on transfering calljobs.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x80029C4A): Fehler beim Laden der Typbibliothek/DLL.
--- End of inner exception stack trace ---
at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
at itCampus.bb.Backend.Source.GetNextCallJobs(String campaignCode, Int32 callJobCount)
at itCampus.bb.Backend.Queues.Events.OnCallJobsNeeded.Process()

Weitere Hintergründe finden sich in den folgenden Artikeln:
http://support.microsoft.com/kb/983246
http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/3a4ce946-effa-4f77-98a6-34f11c6b5a13

Die Lösung, die durch uns angewendet wurde ist hier dokumentiert:
http://support.microsoft.com/kb/2517589/en-us
In diesem Link finden sich auch die benötigten Typelibraries, die auf der Zielmaschine installiert werden müssen.

2012-02-23 15:10
Martin Richter

Wiedervorlagenzeitraum Abfrage mit vordefinierten Einstellungen realisieren (Workflow)

Beschreibung:
Sie haben Ihren Mitarbeitern oder Agenten die Option freigeschaltet, dass diese selbstständig ein Wiedervorlage Termin setzen dürfen.
Allerdings möchten Sie vermeiden, dass Termine in all zu ferner Zukunft vereinbart werden.

Problem:
Der Dialog "Ticket Speichern" welcher dem Mitarbeiter oder Agenten ermöglicht einen variablen Termin festzulegen kann leider nicht erneut bei einer Überschreitung des maximalen Wiedervorlagezeitraums angezeigt werden.

Lösung:
Dem Mitarbeiter oder Agenten wird über eine Hinweismeldung kenntlich gemacht, dass er den maximalen Wiedervorlagenzeitraum überschritten hat. Gleichzeitig wird ihm angeboten, dass er diesen maximalen Termin stattdessen automatisch übernehmen oder manuell erneut über eine sogenannte "InputBox" einen neuen gültigen Termin eintragen kann.

Makro Anpassung:
Als Erstes wird das im Anhang dieses Artikels beigefügte MacroInclude "Wiedervorlagezeitraum" importiert, welches die Funktionen:
SetTicketInterval(Start, Ende, Tag)
CheckDateRange(Tage, Uhrzeit)

bereitstellt.
In der Reaktion mit z.B. dem Namen "WV - Wiedervorlage" wird eine Vordefinierung der Intervalle mit Hilfe der SetTicketInterval(Start,Ende,Tag) Funktion in der Makroposition "Nach Einstufung" durchgeführt.
Reaktion - Wiedervorlage

Zum Beispiel für Start = 6:00Uhr, Ende = 18:00 Uhr und Tag = 31 (Mo-Fr):
MacroInclude "Wiedervorlagezeitraum" 
SetTicketInterval "06:00", "18:00", "31"

Der Wert für Tag ergibt sich aus der Summe der einzelnen Tagwerte:
Mo=1, Di=2,Mi=4,Do=8,Fr=16,Sa=32,So=64
So ergibt die Wochentagauswahl von Montag bis Freitag 1+2+4+8+16=31

Jetzt muss nur noch in der Bearbeitungsstufe, in der gearbeitet wird z.B. "1_Telefonakquise" im Reiter "Makros" in der Makroposition "beim Speichern" die andere Funktion wiefolgt aufgerufen werden:


Makro speichern

z.B. eine Maximale Terminierung von 42 Tagen (6Wochen) in der Zukunft bis 18:00Uhr :

MacroInclude "Wiedervorlagezeitraum"
CheckDateRange 42, "18:00:00"

Ergebnis:
So würde die Vordefinierung (grün) sich bemerkbar machen:
Ticket speichern

Im roten Bereich hat der Mitarbeiter oder Agent einen Zeitraum länger als die maximalen 42 Tage (6Wochen) ausgewählt und bestätigt die Eingabe mit "OK".
Daraufhin wird der Dialog geschlossen und kann leider dem Mitarbeiter oder Agenten nicht mehr angezeigt werden.
Daher begnügen wir uns mit vorerst einer einfachen MessageBox welche uns zwei Optionen anbietet:
Hinweis

Falls der Mitarbeiter oder Agent auf "Nein" drücken sollte, kann er über ein Textfeld das Datum erneut eingeben.
Ihm wird automatisch der entfernteste mögliche Termin eingetragen:
Manueller Termin

Die Texte in den Meldedialogen können beliebig im Angehängten MacroInclude angepasst werden.

2012-08-01 16:21
Peter Brandt

Das SMTP-EMail Hilfsmittel zeigt an einigen Rechnern die Fehlermeldung: "501 – Syntax error in parameters or arguments" an.

 

Beschreibung:
Auf einigen Rechnern bricht das SMTP-EMail Hilfsmittel mit der Fehlermeldung "501 – Syntax error in parameters or arguments" ohne ersichtlichen Grund ab.
Andere Rechner haben das Problem nicht und diese verwenden das selbe Hilfsmittel.

Ursache:
Wenn die oben genannte Fehlermeldung auf einigen Rechnern auftritt obwohl bei anderen Rechnern welche das selbe Hilfsmittel verwenden keine Probleme auftreten liegt das Problem sehr wahrscheinlich an einem nicht gültigen Computer- / Hostnamen.

Beispiel:
Der Computer mit dem Namen: PC-Client1
hat keine Probleme mit dem Hilfsmittel.

Der Computer mit dem Namen: PC_Client1
bekommt jedoch die Fehlermeldung angezeigt da ein Unterstrich ein illegales Zeichen im Hostnamen ist (SMTP).

Lösung:
Sobald für den Computer-/Hostnamen keine Sonderzeichen außer ein Bindestrich verwendet werden, kann man sicher sein, dass diese Zeichen alle zulässig sind und das Hilfsmittel keine Probleme haben wird diesen Namen für den SMTP-EMail Vorgang zu verwenden.

 

2012-11-16 15:54
Peter Brandt

Anpassung des Formates der Felder AdresseStraße / AddressStreet und AdressePostfach / AddressPOBox

Die vorformatierten Felder Adresse Straße / AddressStreet und Adresse Postfach / AddressPOBox werden für das Kopieren einer Adresse in die Zwischenablage, für den Etikettendruck und für den Datenexport verwendet.

Adresse Straße ist dabei die postalisch korrekt formatierte Adresse für das Zielland. Bevorzugt wird hier die Straßenanschrift ausgegeben. Ist nur eine Postfachanschrift vorhanden und keine Straßenanschrift, wird automatisch die Postfachanschrift verwendet. Eine Straßenanschrift gilt als vorhanden wenn das Feld Ort / City gefüllt ist.

Adresse Postfach ist dabei die postalisch korrekt formatierte Adresse für das Zielland. Bevorzugt wird hier die Postfachanschrift ausgegeben. Ist nur eine Straßenanschrift vorhanden und keine Postfachanschrift, wird automatisch die Straßenanschrift verwendet. Eine Postfachanschrift gilt als vorhanden wenn das Feld Postfach Ort / POBoxCity gefüllt ist.

Dennoch kommt es immer wieder zu speziellen wünschen wie das Adressfeld formatiert werden soll, bzw. welche Felder verwendet werden sollen.

Grundsätzlich bestehen diese Adressenfelder aus zwei Teilen. Einem Namensblock und einem Anschriften Block. Der Anschriftenblock wird je nach Zielland und gemäß den Postspezifikationen formatiert. Dabei kann der Anschriftenblock auch über dem Namensblock stehen.

Das Format des Namensblocks ist üblicherweise:
Name1*Name2*Name3*Abteilung*Funktion*Anrede Titel Vorname Nachname

Es gibt zusätzlich eine Personifizierung über das logische Feld Personifizierung. Ist dieser Schalter gesetzt werden die Namenszeilen unter den Vornamen und Nachnamen gesetzt. Nach Postrecht gilt dann der Empfänger mit diesem Namen als persönlicher Empfänger. Die Sendung muss also als privat und persönlich übermittelt werden.
Bei Verwendung dieser Option wird der Adressblock wie folgt aufgebaut:
Funktion*Anrede Titel Vorname Nachname*Name1*Name2*Name3*Abteilung

Zum Syntax siehe weiter unten.

Soll nun von dem Aufbau des Namensblockes geändert werden dann kann dies über die AGVIP.INI Datei im Programmverzeichnis geschehen.
Dabei wird in der AGVIP.INI ein entsprechender Abschnitt eingefügt.

[AddressLayout]
; Leerzeichen ist ein Leerzeichen.
; * = Weiche Zeilenschaltung (leere Zeilen werden entfernt)
; # = Harte Zeilenschaltung, es wird auch bei leerem Feld/Zeileninhalt eine Zeile ausgegeben
Normal=Name1*Name2*Name3*Department*Function*NameSalutation NameTitle NameFirst NameLast
Swapped=Function*NameSalutation NameTitle NameFirst NameLast*Name1*Name2*Name3*Department

[AddressLayout-Kunden]
Normal=Name1*Name2*Name3*Department*NameSalutation NameTitle*NameFirst NameLast
Swapped=NameSalutation NameTitle*NameFirst NameLast*Name1*Name2*Name3*Department


Dabei kann für jede Adressentabelle ein eigenes Layout definiert werden. Dazu muss ein Abschnitt mit dem Namen [AddressLayout-<Name der Adressentabelle>] eingefügt werden. Ist kein solcher Abschnitt für die verwendete Adressentabelle vorhanden, dann wird der Abschnitt [AddressLayout] verwendet. Je nach Art der Anschrift (Personifiziert oder nicht), wird der Eintrag Normal oder Swapped verwendet. Als Namen können alle internen Feldnamen verwendet werden die in der Adressentabelle vorhanden sind. Der Inhalt wird immer als Text interpretiert.

Es gelten folgende Symbole und Regeln:

  • * weiche Zeichenschaltung. D.h. Ist bisher die Zeile leer wird keine Zeile in den Text eingefügt
  • # Es wird immer eine Zeilenschaltung eingefügt, auch wenn der Text der Zeile bisher leer ist.
  • @ Durch ein vor- oder nachgestelltes @ Zeichen ist es Möglich bei Kennzeichen den voll ausgeschriebenen Kennzeichentext bzw. den kompletten Benutzernamen anstatt eines Kürzels zu erhalten. Bei Feldern, die dies nicht unterstützen wird das @ Zeichen ignoriert.
  • Leerzeichen werden als Leerzeichen übernommen.
  • Sonstige Texte werden als Feldnamen interpretiert. Ist ein Feld nicht vorhanden so wird diese Formatierungsanweisung ignoriert.
  • Fehlt ein Definition Normal oder Swapped in der INI Datei, oder sind die Felder leer, wird der Standard verwendet.
  • Gibt es keine passenden Abschnitte in der INI Datei dann wird der Standard verwendet.

Das obige Beispiel, definiert für die Adressentabelle Kunden eine abweichende Regel. Das Feld Funktion wird hier nicht verwendet und in der Adresse ausgegeben. Zusätzlich werden die Zeilen Anrede und Titel in eine eigene Zeile über Vorname und Nachname gesetzt. Sind die beiden Felder Anrede und Titel leer wird keine Leerzeile ausgegeben, gleiches gilt für die Zeilen Name1, Name2, Name3.

Für andere Adressentabellen gilt das Format das unter [AddressLayout] definiert wurde. Hier ist das Standardformat hinterlegt.

Verfügbar ist diese Funktion ab der Version AG-VIP SQL 1.40.001.526 (1.40.001.526 = Hotfix 1 bzw. Installations-CDs ab dem 29.04.2012, bzw. Update-Downloads ab dem 29.04.2013)

2018-10-17 07:37
Martin Richter

Aktualisierung des eingesetzten MS-SQL Servers

Beschreibung:
Wenn Sie einen SQL-Server wie in folgenden KB-Artikel beschrieben installiert haben:
http://kb.grutzeck.de/content/2/187/de/installation-des-ms_sql-servers-2008-r2-express.html

sollten Sie regelmäßig überprüfen ob es zu diesem SQL-Server eine aktuellere Version (Service Pack) bzw. einen Hotfix (kumulatives Update) gibt.

Update Center:
Welche die aktuellsten Service Packs und kumulative Updates sind können Sie auf der "Update Center" Webseite von Microsoft einsehen:
http://technet.microsoft.com/en-us/sqlserver/ff803383.aspx

SQL-Server Version ermitteln:
Wenn Sie nicht wissen sollten, welche SQL-Server Version Sie einsetzen, können Sie dies über einer der in dem folgenden Microsoftartikel beschriebenen Methoden ermitteln und weiter unten im selben Artikel einem Service Pack zuordnen:
http://support.microsoft.com/kb/321185/de

2013-08-22 10:53
Peter Brandt

Das Browsercontrol wird von Webseiten als veralteter Browser erkannt.

Beschreibung:
Wenn man über ein Browsercontrol Webseiten aufruft, erhalten diese als Information über den verwendeten Browser zum Beispiel  den Internet Explorer Version 7.0.
Das hat zur Folge, dass evtl. einige Elemente nicht korrekt dargestellt werden, oder sogar wie z.B. beim Google Kalender eine Warnung angezeigt wird, dass diese Browserversion nicht unterstützt wird.

Überprüfung:
Sie können das am einfachsten über die an diesem Artikel angehängte Ansicht "ShowUsedBrowser" anzeigen lassen.
Browser Version OK

Die Ausgabe "Mozilla 5.0" in diesem Beispiel weißt auf einen IE11 hin. Diese Angabe ist über folgenden MSDN Artikel beschrieben:
http://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx

Wenn dort die Ausgabe "Interenet Explorer 7.0" angezeigt werden würde, bzw. die Ausgabe nicht mehr dem verwendeten Browser entspricht, so können Sie wie im Abschnitt "Lösung" beschrieben den Eintrage setzen bzw. aktuallisieren.

Lösung:
In folgenden Artikel wird beschrieben, welche Registryeinträge gesetzt werden müssen:
http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

In einem anderen Artikel, finden Sie die Werte, welche den entsrpechenden Browserversionen zugeordnet werden müssen:
http://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx

 

Da dies doch recht kompliziert ist, haben wir ebenfalls im Anhang eine VBScript Datei "SetBrowserEmulation.vbs" beigefügt, welche diese Anpassung automatisch vornimmt. Dieses wurde unter Windows XP, Windows 7 und Windows 8.1 erfolgreich getestet.

Hinweis: Die Lösung führt Änderungen in der Registry durch ! Die Verwendung geschieht auf eigene Gefahr !
Die Firma Grutzeck Software GmbH übernimmt keinerlei Haftung für dadurch verursachte Schäden bzw. gibt keinen kostenlosen Support sofern dadurch ein Supportfall entstanden sein sollte !

Um das VBScript zu starten, müssen Sie dieses über einen Doppelklick ausführen.
Sie werden ab Windows Vista gefragt, ob Sie die Datei mit erhöhten Rechten starten möchten.
Diese Frage bestätigen Sie mit "Ja", da sonst keine Änderungen in der Registry vorgenommen werden können.
Nach erscheinen der Abschlussmeldung, starten Sie den Rechner neu und überprüfen wie im Abschnitt "Überprüfung" beschrieben ob der Vorgang erfolgreich war.

Hinweis: Die Lösung führt Änderungen in der Registry durch ! Die Verwendung geschieht auf eigene Gefahr !
Die Firma Grutzeck Software GmbH übernimmt
keinerlei Haftung für dadurch verursachte Schäden bzw. gibt keinen kostenlosen Support sofern dadurch ein Supportfall entstanden sein sollte !

2014-03-17 14:59
Peter Brandt

Die CDate Funktion meldet auf Rechnern mit einem anderen Zeitformat einen Fehler bzw. ein falsches Ergebnis

Beschreibung:
Die Funktion CDate() soll einen Wert wie z.B. den String "31.03.2014" in ein gültiges Datumsformat konvertieren.
--> Konvertiere = Convert; Datum = Date --> CDate

Problembeschreibung:
Die Funktion CDate() kann jedoch den übergebenen String "31.03.2014" nur in ein gültiges Datumformat konvertieren, wenn das auf dem Rechner eingestellte Zeitformat dd.mm.yyyy ist !

Ist das Format z.B. Englisch, so wird das Zeitformat mm.dd.yyyy erwartet und CDate zeigt eine Fehlermeldung an, da es nun mal keine 31 Monate gibt.

Ein anderes Beispiel in Japanisch, dort wird das Zeitformat yyyy.dd.mm erwartet und dadurch ebenfalls ein Fehler angezeigt.

Sollte zufälligerweise das übergebene Format trotzdem gültig sein, dann wird es falsch konvertiert werden z.B. bei allen Dati bei denen der Tag nicht größer als 12 ist --> "12.03.2014" geht auch im Englischen Format jedoch wird der 12. als Dezember (Monat) konvertiert und nicht wie gewünscht als der 12. Tag im Monat März !

Lösung:
Man setzt bevor man eine Datumskonvertierung macht das erwartete Zeitformat.
Dies geht über die VBScript Funktion:

  • SetLocale(<LCID>)

 

Die Liste der LCID (Locale ID) finden Sie in folgenden Microsoft Support Beitrag:
http://support.microsoft.com/default.aspx?id=221435

So kann man nun für das deutsche Zeitformat folgenden Aufruf durchführen:

SetLocale(1031)

Mit der Funktion GetLocale() kann man die aktuell aktive LCID auslesen.


Hinweis:
Das Setzen der LCID über die Funktion SetLocale ist nur solange wirksam, bis der entsprechende Context abgeschlossen wird.
Desweiteren ist die Änderung nur in dem selben Context wirksam. Das bedeutet, ändert man im Makro eines Hilfsmittels das Zeitformat und wird in dem Hilfsmittel noch ein weiteres aufgerufen, verwendet dieses Hilfsmittel den Standard und nicht das Zeitformat was zuvor gesetzt wurde.

Anderes Beispiel:
Werden zwei .vbs Dateien ausgeführt hat das setzen des Zeitformats in einer .vbs Datei keinen Einfluss auf die Zweite oder sonstige.

Sobald der Context verlassen wird (Makro ist durchgelaufen/abgeschlossen) ist somit auch wieder der Standard beim nächsten Aufruf des Makros aktiv.

2014-04-04 15:28
Peter Brandt

Fehlermeldung: Der Makro-Debugger kann nicht gestartet werden! Ursache: Ungültige Klassenzeichenfolge

Beschreibung:

Beim Start von AG-VIP SQL erscheint nach dem Anmelden eine Fehlermeldung mit dem folgenden Text:

Der Makro-Debugger kann nicht gestartet werden!Ursache: Ungültige Klassenzeichenfolge

 

Ursache:

Der AG-VIP Makro Debugger wurde nicht korrekt im System registriert. Es wurde versäumt nach dem Update, wie beschrieben, SetupAGVIPClient.exe aufzurufen.

Diese Fehlermeldung weißt nur darauf hin, dass der Makro Debugger nicht vorhanden ist bzw. nicht registriert wurde und dass Debuggen somit nicht möglich ist. Die entsprechenden Schalter und Optionen bleiben ausgegraut.

Alle sonstigen Funktionen in AG-VIP SQL bleiben davon unberührt und funktionieren normal.

Lösung: 

Es gibt mehrere Vorgehensweisen zur Lösung: 

  • Sofern es sich um einen Rechner mit einer kompletten lokalen Installation handelt führen Sie die Installation nochmals durch
  • Sofern es sich um eine Arbeitsstation in einem Netzwerk handelt, führen Sie SetupAGVIPClient nochmals aus.  
  • Es ist immer möglich AGVIPMacroDebugger.exeneu zu registrieren. Dazu öffnen Sie ein Befehlszeilenfenster als Administrator und führen den Befehl AGVIPMacroDebugger.exe -register aus. 

Betrifft nur AG-VIP SQL Installation ab der Version 1.40.013

2014-07-31 12:24
Martin Richter

Fehlermeldung: Der "Process Debug Manager" kann nicht gestartet werden! Bitte konsultieren Sie unsere Knowledge Base um sich über die Ursachen zu informieren. Der Makro Debugger wird in dieser Sitzung abgeschaltet. Ursache: Klasse nicht registriert

Beschreibung:

Beim Start von AG-VIP SQL erscheint nach dem Anmelden eine Fehlermeldung mit dem folgenden Text:

 Der "Process Debug Manager" kann nicht gestartet werden!
Bitte konsultieren Sie unsere Knowledge Base um sich über die Ursachen zu informieren.
Der Makro Debugger wird in dieser Sitzung abgeschaltet.
Ursache: Klasse nicht registriert

 

Ursache:

Der AG-VIP Makro Debugger kann nur zusammen mit dem Process Debug Manager arbeiten. Dieser ist jedoch auf diesem Computer nicht registriert. Die Fehlermeldung erscheint einmalig, wenn die Funktion "Debugger starten" bzw. "Bei Ausführung Stop im Debugger" ausgewählt wurde.

Diese Fehlermeldung weißt nur darauf hin, dass wichtige Komponenten für den Makro Debugger nicht vorhanden sind bzw. nicht registriert wurden und dass Debuggen somit nicht möglich ist. Die entsprechenden Schalter und Optionen bleiben ausgegraut.

Alle sonstigen Funktionen in AG-VIP SQL bleiben davon unberührt und funktionieren normal.

Lösung: 

Je nach benutztem Betriebssystem von Microsoft befindet sich der Process Debug Manager (PDM.DLL) im einem der folgenden Verzeichnisse:

  • Windows Vista, Windows 7, Windows 8, Windows 8.1 (64bit)
    C:\Program Files (x86)\Internet Explorer\pdm.dll
  • Windows Vista, Windows 7, Windows 8, Windows 8.1 (32bit)
    C:\Program Files\Internet Explorer\pdm.dll

    Für Windows 10 ab der Version 1607 bitte im Abschnitt "Windows 10 v1607" fortfahren.
  • Windows 10 (64bit)
    C:\Windows\SysWow64\F12\pdm.dll
  • Windows 10 (32bit)
    C:\Windows\System32\F12\pdm.dll 

Diese Datei muss registriert werden. Dazu öffnen Sie ein Befehlszeilen Fenster (CMD.EXE) als Administrator und führen Sie den folgenden Befehl auf die gefundene PDM.DLL aus:
REGSVR32 "<kompletter Pfad der PDM.DLL>"

Schrittweises Vorgehen:
  1. Starten Sie den Explorer und lokalisieren Sie die PDM.DLL anhand der oben aufgeführten Liste
  2. Klicken Sie mit der rechten Maustaste bei gedrückter Umschalt-Taste auf die Datei. Wählen Sie den Menüpunkt Als Pfad kopieren
  3. Suchen Sie nun die CMD.EXE indem Sie den Startknopf anklicken und CMD.EXE eingeben, oder die Windows Suche nach CMD.EXE ausführen.
  4. Klicken Sie nun auf die CMD.EXE mit der rechten Maustaste und wählen Als Administrator ausführen.
  5. Geben Sie nun REGSVR32 ein und klicken mit der rechten Maustaste in das Fenster. Wählen Sie den Menüpunkt Einfügen
  6. Drücken Sie die Eingabetaste. Das Modul wird registriert. 

Windows 10 v1607:
Mit der Version 1607 von Windows 10 kann die von Microsoft mit gelieferte PDM.DLL nicht mehr manuell registriert werden.
Daher muss die PDM.DLL durch Microsoft Produkte automatisch registriert werden.
Im folgenden Link können Sie über die Installation der "Remote Tools for Visual Studio 2015 Update 3"  die PDM.DLL registrieren:
32bit: https://go.microsoft.com/fwlink/?LinkId=615469&clcid=0x407
64bit: https://go.microsoft.com/fwlink/?LinkId=615470&clcid=0x407
Nach der Installation der "Remote Tools" können Sie diese direkt wieder deinstallieren.
Die PDM.DLL bleibt trotz Deinstallation der "Remote Tools" weiterhin registriert und kann von AG-VIP SQL verwendet werden.

Beachten Sie auch die Anmerkungen zu den Problemen mit verschiedenen Versionen der PDM.DLL:
http://kb.grutzeck.de/content/1/328/de/ag_vip-sql-und-ag_vip-sql-makro-debugger-beenden-sich-nicht-nachdem-man-den-debugger-benutzt-hat.html

Betrifft nur AG-VIP SQL Installation ab der Version 1.40.013

 

2015-08-05 13:16
Martin Richter

AG-VIP SQL und AG-VIP SQL Makro Debugger beenden sich nicht nachdem man den Debugger benutzt hat

Beschreibung:

Der AG-VIP SQL Makro Debugger verwendet den "Process Debug Manager" von Microsoft. Dieser ist allerdings in bestimmten Versionen fehlerhaft.

Ursache:

Wenn der Makro Debugger aktiv geworden ist werden auch aktive Variablen angezeigt. Bei der Ermittlung dieser Daten macht der Process Debug Manager einen Fehler und gibt diese nicht mehr frei. In der Folge kann weder AG-VIP SQL noch der AG-VIP SQL Makro Debugger beendet werden.

Dies hat grundsätzlich keinen Einfluss auf zuvor bearbeitete Daten. Die Datenbank Verbindung ist zwar noch aktiv, aber alle Daten wurden zurückgeschrieben und es gibt auch keinerlei Sperren mehr auf Datensätze oder Tabellen.

Folgende Versionen der PDM.DLL weisen einen Fehler auf:

9.0.30729.1 08.01.2009 VS-2008 IE 9 
10.0.20319.1 18.03.2010 VS-2010 MSSQL-2014 

Folgende Versionen arbeiten nach unserem Wissen korrekt:

7.0.9466.0 05.01.2002 VS-NET
8.0.50727.1826 21.04.2008 VS-2005 MSSQL 2008 R2
11.0.50727.1 26.07.2012 VS-2012
12.0.20712.1 01.04.2014 VS-2013 Preview / IE-11
12.0.21005.1 05.10.2013 VS-2013  

Die aktuell verwendete PDM.DLL finden Sie über die Registry heraus. Öffnen Sie dazu im Registrierungseditor den folgenden Pfad:
HKEY_CLASSES_ROOT\CLSID\{78A51822-51F4-11D0-8F20-00805F2CD064}\InprocServer32

Übliche Pfade sind
C:\Program Files (x86)\Internet Explorer\pdm.dll
bzw.
C:\Program Files (x86)\Common Files\Microsoft Shared\VS7Debug\pdm.dll

Lösung 1: 

Da die Ursache nur in der Variablenansicht liegt ist es möglich durch einen Eintrag in der Registry die Variablenansicht  im Makro Debugger auszuschalten. Dazu wird ein Registry Eintrag vom Typ DWORD32 mit dem Wert 0 im folgenden Pfad benötigt:
HKEY_CURRENT_USER\Software\Grutzeck Software\AG-VIP SQL Macro Debugger\VariablesBar\Enable

Lösung 2: 

Man sucht eine funktionierende PDM.DLL auf dem Rechner oder einem anderen Rechner und registriert diese dann. Die Datei kann in jedem belieben Ordner stehen.

Öffnen Sie dazu ein Befehlszeilenfenster (CMD.EXE) mit administrativen Rechten und registrieren sie die neue PDM.DLL mit dem Befehl:
REGSVR32 PDM.DLL

Bitte ersetzen Sie die alte Datei nicht, bzw. Löschen diese auch nicht! Versichern Sie sich zuvor, welche Datei registriert war um den Vorgang wieder rückgängig machen zu können.

Achtung:
Diese DLL beeinflusst und ermöglicht das Debuggen von allen VBScript Komponenten und HTML Seiten mit Visual Studio. Somit kann sich in Bezug auf VBScript Debugging das Verhalten in Visual Studio verändern.

Betrifft nur AG-VIP SQL Installation ab der Version 1.40.013

2014-08-04 16:51
Martin Richter

Allgemeine Dump Erzeugung aktivieren

Problem:
Um bei einem Programmabsturz den Hersteller möglichst genaue Angaben diesbezüglich zu geben wird oft ein Crashdump benötigt.

Lösung:
Um bei einem Programmabsturz einen Crashdump zu erzeugen, kann ab Windows Vista SP1 bzw. Windows Server 2008 in der Registry das "Windows Error Reporting" verwendet werden.

Unter dem Registrypfad:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\AGVIP.exe

werden folgende Werte angelegt:

  • DumpFolder
  • DumpCount
  • DumpType

Erklärung der Werte:

Wert Beschreibung Type Standardwert
DumpFolder Ablagepfad Wert der erweiterbaren Zeichenfolge %PROGRAMDATA%/CrashDumps
DumpCount Max. Anzahl an Dumps im Ablagepfad DWORD (32bit) 10
DumpType

Art des Dumps:

  • 0: individueller Dump
  • 1: Mini Dump
  • 2: Full Dump
DWORD (32bit)

2

 

 

Bei MSDN werden die Einstellungen unter folgendem Artikel beschrieben:

MSDN: Allgemeine Dump Erzeugung aktivieren

 

Am Ende unseres KB-Artikels finden Sie eine "Aktiviere Fulldumps.reg" Datei zum Herunterladen.
Diese Datei erzeugt die hier beschriebenen Werte an dem genannten Registrypfad.

Bedenken Sie, dass ein einzelner Full Dump über 100MB groß werden kann und dies bei einer maximalen Anzahl an 10 Dumps einen Speicherbedarf von über 1GB beanspruchen kann.

Hinweis:
Das Ausführen dieser Datei bzw. das Anpassen der Registry geschieht auf eigene Gefahr. Grutzeck Software übernimmt keine Haftung für eventuell dadurch entstandenen Kosten und/oder Schäden.

 

2021-08-25 08:55
Peter Brandt

Weitere Wörterbücher in anderen Sprachen für AG-VIP SQL

Ab der Version 1.42.003 unterstützt AG-VIP SQL auch eine Rechtschreibprüfung in Textfeldern.

Wörterbücher für Deutsch und Englisch sind vorinstalliert. Weitere passende Wörterbücher finden sich auf den Seiten für Open-Office bzw. der Mozilla Foundation für den Thunderbird.

Die Extension Dateien mit der Endung OXT bzw. XPI. Um die Wörterbücher zu exrahieren gehen Sie wie folgt vor.

Installation

  1. Laden Sie die Extension Datei herunter.
  2. Ändern Sie die Endung von .XPI bzw. .OXT in .ZIP
  3. Sie können nun die Dateien entpacken wie normale ZIP-Dateien.
  4. In den Zip Dateien finden sich nun Dateien mit der Endung .AFF und .DIC. (z.B. nl-nl.aff und nl-nl.dic)
  5. Es werden nur die Dateien mit der Endung .AFF und .DIC vebötigt.
  6. Achten Sie darauf, dass die Kürzel durch einen Bindestrich getrennt sind (nicht einen Unterstrich). Benennen Sie die Dateien evtl. um.

Diese Dateien werden nun in das Wörterbuchverzeichnis von AG-VIP SQL kopiert (zum Beispiel W:\AGVIPSQL\Data\Dictionaries\). Das für Sie eingestellte Verzeichnis finden Sie in den Systemeinstellungen von AG-VIP SQL.

Einstellungen von AG-VIP SQL

Die Einstellungen für die Rechtschreibprüfung finden sich in der AGVIP.INI des Programmverzeichnisses. Sie können diese Einstellungen über die AG-VIP SQL im Dialog "Einstellungen" ändern, wenn Sie dafür entsprechende Rechte haben. Unter Umständen müssen Sie dazu AG-VIP SQL als Administrator starten.

Ist das "Verzeichnis für Dateien der Rechtschreibprüfung" leer, so wird keine Rechtschreibprüfung in AG-VIP SQL aktiviert. In dem Feld "Sprache für die Rechtschreibprüfung" können Sie die gewünschte Sprache einstellen, die AG-VIP SQL verwenden soll. Ist dieses Feld leer, dann wird die aktuell eingestellte System Sprache verwendet (Bei Deutsch de-de).

Ist das entsprechende Wörterbuch in AG-VIP SQL nicht vorhanden oder defekt, oder kann nicht geladen werden, erhält man eine Fehlermeldung beim Start. Es wird das Verzeichnis für die Wörterbücher angezeigt und die Sprache für die ein Wörterbuch gesucht wurde. Die Fehlermeldung kann man übergehen. AG-VIP SQL arbeitet dann ohne Rechtschreibprüfung.

Beachten Sie, dass AG-VIP SQL auch Untersprachen und Sprachvarianten wie "Deutsch (Schweiz)" oder "Englisch (USA)" unterstützt.

Sollten Sie weitere Fragen oder Probleme haben, wenden Sie sich an unseren Support.

2015-09-21 12:44
Martin Richter

Abstürze und unerwartetes Beenden von AG-VIP SQL oder der zugehörigen Diensten

Es kommt immer wieder vor, dass AG-VIP SQL oder auch einer der Dienste wie der Overdialer, der Job-Scheduler oder auch der Backenddienst unerwartet beendet wird.

Für einer erleichterte Fehler- und Ursachensuche werden dieverse Log Dateien erzeugt.

AG-VIP SQL

Bei Fehlern in AG-VIP SQL muss man zwiscchen einem Absturz und dem unerwarteten Beenden unterrscheiden.

Programmabsturz

AG-VIP SQL (und alle anderen im Programmpaket enthaltenen Module) stürzt wie jedes andere Programm bei bestimmten fatalen Programmfehlern oder Zuständen ab. Solch ein Absturz wird in den meisten Fällen durch die Meldung:

AG-VIP SQL Adressmanagement for Windows funktioniert nicht mehr
Es wird nach einer Lösung für das Problem gesucht.

In diesem Fall versucht AG-VIP SQL einen Speicher Dump zu schreiben. Dieser liegt entweder im Programmverzeichnis oder im temporäeren Verzeichnis des aktuellen Benutzers. Der Name des Speicher Dumps lautet <Programmname>.exe.dmp. yyyymmdd hhmm-n ist hierbei ein Zeitstempel mit fortlaufender Nummer. Es werden maximal 10  Dumps gespeichert.
Zusätzlich wird eine Zeile in die Datei <Programmname>.exe.log geschrieben. Die letzte Datei ist eine reine Textdatei, in der nur die groben Ursachen, der PC Name sowie der Absturzgrund verzeichnet. Im Gegensatz zu der DMP Datei, die immer überschrieben wird, bleibt die LOG Datei erhalten. In der LOG-Datei kann man die Häufigkeit solcher Abstürze ablesen. (Siehe auch unten den Verweis auf weitere Artikel)

Unerwartetes Beenden des Programmes

AG-VIP SQL (und alle anderen im Programmpaket enthaltenen Module) wird unerwartet beendet, wenn zum Beispiel die Verbindung zur Datenbank abreist, oder die Verbindung zum Backend Dienst beendet wird.

In all diesen Fällen erhält man eine detailierte Fehlermeldung, in der der Grund für den Absturz direkt angezeigt wird. SQL Fehlermeldungen, werden direkt angezeigt, wie Sie vom System gemeldet werden und geben in den meisten Fällen zumindest etwas Aufschluss über die Ursache. In 99% aller Fälle handelt es sich hier um Netzwerkfehler.
Auch in diesem Fall wird eine LOG Datei angelegt, Diese Datei heißt AGVIP_Error.log und enthält fortlaufend alle Laufzeitfehler, die zum unerwarteten Beenden des Programmes geführt haben.

 

Dienste

Der Absturz eines Dienstes ist weit schwerwiegender, als der Absturz eines einzelnen PCs. In den meisten Fällen sind vom Absturz eines Dienstes auch noch alle anderen Arbeitsplätze betroffen.

Da Dienste grundsätzlich über kein Userinterface verfügen werden von allen Diensten in AG-VIP SQL Log-Dateien erzeugt. Es wird immer für jeden Tag eine Log-Datei angelegt und weitere 9 Log-Dateien als Backup erhalten. Die aktuelle Log Datei hat dabei den Namen <Dienstname>.log. Die nächst ältere Datei hat den Namen <Dienstname>1.log

In dieser Datei werden auch Ereignisse verzeichnet, die zu einer unerwartetem Beenden des Dienstes führen. Wie zum Beispiel Verbindungsprobleme zum SQL Server. Üblicherweise stehen diese Daten dann am Ende des Logs.

Bei einem Programmabsturz wird - wie auch in AG-VIP SQL - eine <Dienstname>.exe.log  und eine <Dienstname> yyyymmdd hhmm-n.exe.dmp Datei erzeugt. Da die Dienste in fast allen Fällen Schreibrechte auf das Programmverzeichnis haben liegen alle Log-Dateien und Dumps immer auch dort. yyyymmdd hhmm-n ist hierbei ein Zeitstempel mit fortlaufender Nummer.

 

Weitere Hilfreiche Artikel:

Wo speichert AG-VIP SQL Crash Dumps
Erzeugen eines vollen Crash Dumps
Allgemeine Dump Erzeugung aktivieren

2020-04-21 12:51
Martin Richter

Beim Starten von AG-VIP SQL wird gemeldet:Der Anmeldevorgang konnte wegen Verzögerung beim Öffnen der Serververbindung nicht abgeschlossen werden.

Beschreibung:
Die Anmeldung an den SQL-Server dauert länger als die im Standard festgelegten 20 Sekunden.

Ursache:
Dieses Problem könnte z.B. durch Antivirenprogramme verursacht werden, welche Anwendungen wie z.B. "AG-VIP SQL" analysieren und dann diese erst erlauben im Netzwerk zu kommunizieren.

Lösung:
Optimal wäre es, das Problem am Schopf zu packen und z.B. im Falle eines Antivirenprogramms die Anwendung z.B. "AG-VIP SQL" freizugeben.
Falls die Ursache nicht ermittelt werden kann, ist es möglich die Dauer der Anmeldung in der Verbindungsdatei (.agdb) festzulegen.
Dazu erweitert man den ConnectionString am Ende um folgende zwei Eigenschaften (durch Semikolon getrennt):

;Connect Timeout=120;General Timeout=120

Die angegebene Zahl 120 entspricht den Sekunden -> 120s = 2 Minuten Anmeldetimeout.
Ein vollständiger ConnectionString könnte also wiefolgt aussehen:

InitString=Provider=SQLNCLI11.1;User ID=AGUser;Initial Catalog=AGVIP;Data Source=SERVER\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False;Application Intent=READWRITE;Connect Timeout=120;General Timeout=120

2016-01-20 14:19
Peter Brandt

Outlook 2016 - Fehler: Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert.

Beschreibung:
Beim Versuch ein Outlook Hilfsmittel aus AG-VIP SQL heraus zu verwenden, tritt folgender Fehler in Outlook 2016 auf:

"Das Betriebssystem ist momentan nicht zum Ausführen dieser Anwendung konfiguriert."

OLMAPI32.DLL

 

 

AG-VIP SQL stürzt nach bestätigen der Meldung ab.

 

Ursache:
Das Outlook 2016 Modul "OLMAPI32.DLL" verursacht diesen Fehler.

 

Lösung:
Einsatz von AG-VIP SQL mit mindestens der Version 1.43.005.675 (empfohlen)
oder eine ältere Version von Outlook einsetzen.

2016-02-22 11:13
Peter Brandt

Startparameter / Befehlszeilenparameter von AGVIP SQL

Die Startparameter / Befehlszeilenparameter von AGVIP SQL

AGVIP SQL kann mit verschiedenen Schaltern gestartet werden, die unterschiedliches bewirken.
Dieser Artikel beschreibt die Funktion der zur Verfügung stehenden Schalter für die Befehlszeile.

Der Startparameter kann entweder über Start->Ausführen "<Pfad zur AGVIP SQL Installation>\agvip.exe -<Schalter>" oder in die Eigenschaften der AGVIP SQL Verknüpfung integriert werden.

Übergabe der zu verwendenden Verbindungsdatei:
AGVIP.exe <Verbindungsdateiname und Pfad>.agdb

Startbefehle die einen Arbeitsbereich öffnen

Option -ad:
Mit der Option ad lässt sich eine Adresstabelle direkt beim Start aufrufen.
/ad:[Name der aufzurufenden Adresstabelle]
Beispiel: /ad:Kunden
Damit wird direkt die Adresstabelle Kunden geöffnet.

Option -pr:
Mit der Option pr lässt sich ein Projekt direkt beim Start aufrufen.
/pr:[Name des Projektes]
Beispiel: /pr:Support
Damit wird direkt das Projekt Support geöffnet.

Option -st:
Mit der Option st lässt sich eine Bearbeitungsstufe direkt beim Start aufrufen.
/st:[Name der Bearbeitungsstufe]
Beispiel: /st:Support
Damit wird direkt die Bearbeitungsstufe Support geöffnet.

Einstellungen zum Steuern der Telefonie

Option -phone:
Mit der Option phone ist es möglich auf der Befehlszeile eine Abweichende Nummer für den aktuellen Benutzer anzugeben, der sich anmeldet. Diese Nummer wird dann beim Verwenden der R-Taste benutzt um von anderen Arbeitsplätzen einen Rückruf für den Benutzer einzuleiten. Diese Einstellung überschreibt den Parameter der evtl. lokal für den Arbeitsplatz in der Registry angelegt wurde
Beispiel: /phone:"+49 (6181) 471108-15
Bei einer Nutzung der R-Taste werden Telefonate an diese Nebenstelle mit dieser Nummer durchgeführt, egal was lokal eingestellt ist oder über die Benutzereinstellung gesetzt wurde.

Option -phoneprofile (ab Version 2.00):
Die option /phoneprofile:n erlaubt es mehrere Profile in der Registry für die Telefonieeinstellungen zu benutzen.

Option -phoneprovider (ab Version 2.00):
In der AGVIP.INI ist der Provider für die Telefonie hinterlegt. Die Einstellungen befinden sich normalerweise im Abschnitt [Telephone]. 
Über den Befehl /phoneprovider:n, können bis zu 9 unterschiedliche Einstellungen in der AGVIP.INI angesteuert werden.
/phoneprovider:0 entspricht dabei der Grundeinstellung, wenn AG-VIP SQL ohne Parameter gestartet wird.

Anwendungsbereich: Man kann unterschiedliche Verknüpfungen anlegen. Dabei wird in der normalen Verknüpfung (ohne /phoneprovider), die Einstellungen für den TAPI-Provider eingerichtet.
Unter /phoneprovider:1 kann man nun eine AG-VIP SQL starten und dort Einstellungen zum Beispiel für den VoIP oder Elsbeth Provider benutzen. Dadurch wird es überflüssig mehrere AGVIP.INI Dateien zu benuzten.
(siehe auch /phoneprofile:n)

Option -disablephonesetup (ab Version 2.02.002)
Normalerweise wird das Telefon-Setup für persönlichen Telefonieeinstullungen aufgerufen, wenn zum Beispiel der TSP nicht zur Verfügung steht oder die Telefonie Umgebung sich gravierend geändert hat oder noch nie eingestellt war.

Durch die Option /disablephonesetup ist es möglich, dass dieser Dialog für die Einstellungen zur Telefonie bei Programmstart niemals beim Programmstart angezeigt wird.

Option -forcephonesetup (ab Version 2.01.002)
Normalerweise wird das Telefon-Setup für persönlichen Telefonieeinstullungen nur aufgerufen, wenn zum Beispiel der TSP nicht zur Verfügung steht oder die Telefonie Umgebung sich gravierend geändert hat.

Durch die Option /forcephonesetup ist es möglich, dass der Dialog für die Einstellungen zur Telefonie bei Programmstart sofort angezeigt wird.

Parameter zum Steuern der UI

Option -dialogstyles:
Mit der Option -dialogstyles:yes/no wird der eingestellte visuelle Stil der Oberfläche von AG-VIP SQL auch auf die Dialoge angewendet. Mit -dialogstyles:no werden die Dialoge im normalen Windows Stil angezeigt.

Option -mode:
Über den -mode:touch/mouse Befehl ist es möglich die Anwendung in den Touch- oder Mouse-Modus zu zwingen. Im Touch-Modus wird zwischen den Symbolen im Ribbon und in den Menüs ein größerer Abstand gelassen.
Beispiel: -mode:touch  / -mode:mouse

Option -nofreeze:
Mit der Option -nofreeze wird das neue Verhalten bei Ansichten abgeschaltet, bei dem ein allgemeiner Wartetext angezeigt wird "Bitte warten...". Wird diese Option angegeben, wird der Aufbau der Ansichten sichtbar. Die Verwendung dieses Schalters macht AG-VIP SQL im Allgemeinen langsamer.
Beispiel: /nofreeze

Option -nowarnings:
Mit der Option -nowarnings werden Warnungen beim Start von AG-VIP SQL SQL unterdrückt.
Beispiel: /nowarnings

Option -resetui:
Mit der Option -resetui lassen sich die Fenstereinstellungen und Anzeigeoptionen von AG-VIP SQL zurück setzen. Dieser Schalter eignet sich nicht um ihn permanent zu verwenden. Bei Bedarf kann er benutzt werden um alle Bildschirmeinstellungen auf den Startzustand zurückzusetzen.
Beispiel: -resetui

Option -ribbon:
Über den -ribbon:yes/no Befehl, kann die Anwendung in den Ribbon-Modus oder in den Modus für normale Befehlszeilen gezwungen werden, egal in welchem Modus zuvor die Anwendung gestartet wurde. Alle Einstellungen, die in der Registry dazu gespeichert wurden werden ignoriert.
Beispiel: -ribbon:no / -ribbon-yes

Option -scale:
Über den -scale:n Befehl ist es möglich die Ansichten in AG-VIP SQL zu skalieren und zu vergrößern. Das betrifft nicht die normalen Dialoge, sondern nur die angelegten Ansichten in AG.VIP SQL. Der zusätzliche Paramater gibt die prozentuale Vergrößerung an.
Beispiel: -scale:120
Durch diesen Befehl werden Ansichten um 120% vergrößert.

Option -wintoast:
Um fällige Aktivitäten anzuzeigen nutzt AG-VIP SQL auch das Windows-Info Center. Über die Befehlszeile mit /wintoasts:no kann AG-VIP SQL untersagt wer-den Benachrichtigungen über das Windows-Info Center anzuzeigen.
Die Benachrichtigungen können auch direkt im Windows-Info Center abgestellt werden, genauso wie die Einstellungen für die Art der Benachrichtigung (Audio-Einstellungen).
Die zulässigen Einstellungen sind no und yes.
Beispiel: /wintoasts:no
Durch diesen Befehl werden Benachrichtigungen im Windows Info Bereich abgeschlatet.

 

Nutzen der AGVIP.INI Datei für Voreinstellungen

Einige der oben genannten Schalter können auch in der AGVIP.INI Datei eingestellt werden und gelten damit automatisch für alle Rechner und Installationen, die diese Datei verwenden.
Die Einträge werden dazu im Abschnitt [Options] hinterlegt. Der entsprechende Wert ist meistens 0 bzw. 1 bzw. der Wert der bei dem spezfischen Schalter hinterlegt wurde.

Folgende Schalter sind für die AGVIP.INI verfügbar:

  • FullDump 
  • NoFreezeWindow
  • NoSound
  • ShowDBName
  • ForcePhoneSetup
  • DisablePhoneSetup
  • FormCacheSize

Option -FormCacheSize=<Anzahl>:
AG-VIP SQL kann intern Ansichten die geschlossen werden wiederverwenden, wenn diese erneut benutzt werden. Dies kann bei einem Kontextwechsel viel Zeit einsparen. Der Standard Cache ist 30 Einträge groß. Erlaubte Werte sind 0-100. Durch 0 Wird das Caching ausgeschaltet.
Beachten Sie, dass die Nutzung dieses Cache zu einem größeren Ressourcenver-brauch von AG-VIP SQL führt.
Dieser Eintrag kann in der Registry oder der AGVIP.INI defiiert werden.

 

 Nutzen der AGVIPJobAgent.INI Datei für Voreinstellungen

Auch für die AGVIPJobAgent.exe existiert eine ini Datei mit dem Namen. Für die Hintergrundprozesse existieren keine Dialoge für die Standardeinstellungen. Entsprechend gibt es folgende Einträge in der AGVIPJobAgent.INI angepasst können.

Abschnitt [Options]

Option -CountryDefault:
Hier kann das Standardlanmd angepasst werden, dass intern vom Job Agent benutzt wird. Wenn dies abweichend vom eingestellten Standardland des Systems ist.

Option -DebugReporting:
Mit DebugReporting=1 kann für die Reporterzeugung eine erweiterte Debug Ausgabe erzzeugt werden. Dies kann bei der Fehlersuche sehr nützlich sein.

Option -BankcodePathDEU:
 Hier kann ein abweichender Datenpfad für die deutschen Bankdaten hinterlegt werden. Der Default Wert ist automatisch das folgende Unterverzeichnis: Data\Bankcode\DEU

Option -NumLogFiles:
Durch die Option NumLogFiles kann die Anzahl der Log-Dateien, die für jeden Job vorgehalten werden verändert werden. Die maximale Anzahl beträgt 999.

Abschnitt [Location]

Option -Country, -Language, -Holidays:
 Die Parameter Country, Language, und Holidays sind identisch zu der Verwednung in AGVIP.INI und erlauben auch hier Anpassungen in der Nutzung der Sprache und der Feiertagsberechnung.

Nutzen der Registry Datei für Voreinstellungen

Einige der oben genannten Schalter können auch in der Registry eingestellt werden und gelten damit für diesen.
Der Pfad unter dem die Einträge erzeugt werden müssen ist bei einem 64bit System:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Grutzeck Software\AG-VIP SQL
Bei einem 32 bit System lautet der Pfad:
HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL
Der entsprechende Wert ist meistens DWORD Werte (0 bzw. 1) bzw. der Wert/Typ der bei dem spezfischen Schalter hinterlegt wurde.

Folgende Schalter sind für die Registry verfügbar:

  • FullDump 
  • NoFreezeWindow
  • NoSound
  • ShowDBName
  • ForcePhoneSetup
  • DisablePhoneSetup
  • FormCacheSize
  • EnableWindowsToasts

Sonstige Parameter

Option -debug / -trace:
Mit der Option -debug / -trace ist es möglich besondere Ausgaben auf der Debug Ebene zu erhalten (siehe DbgView). Insbesondere im Reporting werden hier zusätzliche Informationen mit ausgegeben.
Im allgemeinen werden Sie vom Support angewiesen, diese Option zu benutzen.
Beispiel: /debug bzw. /trace

Option -noDebugger
Seit Windows 10 v1607 kann die PDM.DLL nicht mehr manuell registriert werden. Dies hat zur Folge, dass der in AG-VIP SQL integrierte Makro-Debugger nicht mehr funktioniert. Über den Parameter -noDebugger, kann der Debug Modus deaktiviert werden, um diese Warn Meldungen in AG-VIP zu unterbinden.

Option -DumpOnException:
Mit der Option -DumpOnException erzeugt AG-VIP SQL bei jeder internen Ausnahme einen Speicher-Dump. Dies dient zur werweiteren Fehleranalyse und sollte nur auf Anraten des Supports verwendet werden.
Es werden unbegrenzt viele Dumps erzeugt. Beim Start von AG-VIP SQL werden die ältesten Dumps gelöscht so dass nur 10 Dumps verbleiben.
Volle Seicherdumps können sehr groß werden. Im Normalfall werden nur Minidumps erzeugt.
Beispiel: -dumponexception

Option -ini:
Mit der Option -ini:<pfad> ist es möglich eine abweichende AGVIP.INI Datei zu verwenden, d.h. man kann einen kompletten neuen Namen für eine INI Datei angeben, die auch in einem anderen Pfad liegen kann. Sinnvoll ist dieser Parameter wenn unterschiedliche Nutzer unterrschiedliche Einstellungen in der AGVIP.INI Datei benötigen (Telefonieeinstellungen o.ä.). Alle Einstellungen in den Systemeinstellungen beziehen sich dann auf diese INI-Datei.

Beispiel: /ini:"C:\MeinPfad\NeueAGVIP.ini"
Damit wird die AGVIP.INI im Ordner MeinPfad mit dem Namen NeueAGVIP.INI verwendet.

Option -lic:
Mit der Option -lic:<pfad> ist es möglich eine abweichende Lizenzsatei AGVIP.LIC Datei zu verwenden, d.h. man kann einen kompletten neuen Namen für eine LIC Datei angeben, die auch in einem anderen Pfad liegen kann. Sinnvoll ist dieser Parameter wenn unterschiedliche Nutzer mit unterrschiedliche Lizenzen arbeiten müssen.  Es kann entweder ein Pfad oder ein voller Dateiname angegeben werden.

Beispiel: /lic:"C:\MeinPfad\AGVIP2.lic"
Damit wird die AGVIP2.LIC im Ordner MeinPfad verwendet.

Option -showdbname:
Mit der Option -showdbname wir im Fenstertitel die verwendete Datenbank angezeigt.
Beispiel: - showdbname

Option -s / -silent:
Mit der Option -s (-silent) lässt sich AGVIP SQL ohne Meldungen starten.
Beispiel: -s bzw. -silent
Diese Option macht vor allem Sinn in Verbindung mit der Option -register

Option -nosound:
Mit der Option -nosound werden Sound Ausgaben von AG.-IPSQL unterdrückt.
Beispiel : -nosound

Option -register:
Mit der Option -register lässt sich AGVIP SQL als COM-Server neu registrieren.
Beispiel : -register

Um AGVIP SQL zum Beispiel per Adminscript als COM-Server neu zu registrieren kann die Kombination:
Agvip.exe -s -register
verwendet werden. So wird der COM-Server im Silentmodus neu registriert.

Option -fulldump:
Mit der Option -fulldump erzeugt AGVIP SQL ein vollständiges Speicherabbild. Dies dient zur werweiteren Fehleranalyse und sollte nur auf Anraten des Supports verwendet werden.
Volle Seicherdumps können sehr groß werden. Im Normalfall werden nur Minidumps erzeugt.
Siehe Hierzu auch KB-Artikel ID 1060. ?Erzeugen eines vollen Crash Dumps"

 

Die Startparameter von AG-VIP SQL Clientsetup

Option: -u
Deinstalliert einen AG-VIP SQL Client

Option: -m
Installiert nur einen Menübefehl zum Aufrufen von AG-VIP SQL.

Option: -d
Erzeugt nur ein Symbol auf dem Desktop, um AG-VIP SQL zu starten.

Option: -s
Die Installation des Client wird ohne Ausgabe von Fehlermeldungen durchgeführt. Damit eignet sich diese Variante z.B. zur Remoteinstallation.

Option: -f
Erzwingt eine neue Installation, auch wenn bereits eine Installation vorhanden ist. Bestehende Komponenten werden erneut registriert. 

 

Die Startparameter von AGVIPDBUpdate.exe:

Option: -force
Führt ein Datenbankupdate auch durch wenn der vorhandene Speicherplatz auf dem SQL-Server nicht ermittelt werden konnte. Siehe Hierzu auch KB-Artikel ID 1091. ?AGVIPDBUpdate meldet: Das Update benötigt n MB freien Plattenplatz auf dem SQL-Server, aber es stehen nur 0 MB freier Speicher zur Verfügung"

Tipp: Alle Anwendungen sind Drag 'N' Drop - fähig. Das bedeutet wenn eine Verbindungsdatei (*.agdb) im Explorer auf die Anwendung AGVIPDBUpdate.exe gezogen wird, wird der Update-Assistent direkt mit dieser Verbindungsdatei ausgeführt.
Ebenso wenn eine Lizenzdatei, auch als ZIP-Datei verpackt, auf den Lizenzmanager gezogen wird.

2024-01-18 11:33
Martin Richter

Outlook Web Access (OWA) in AG-VIP SQL darstellen

Beschreibung:
Der OWA wird über Exchange oder über die Microsoft Cloud (365) Online bereitgestellt.
Dieser wird daher üblicherweise in einem Browser dargestellt.

Problemstellung:
Benutzer sollen kein weiteres Programm wie z.B. einen Browser bedienen bzw. das ständige hin und her wechseln zwischen AG-VIP SQL und dem Browser stört.

Lösung:
Durch Verwendung eines Browsercontrols in AG-VIP SQL, kann direkt über z.B. eine Ansicht der OWA in AG-VIP SQL dargestellt werden.

Vorgehensweise:
Sie finden den Pfad zum OWA in ihrem Outlook unter Datei->Informationen

Diesen kopieren Sie und testen diesen in Ihrem verwendeten Browser.
Wenn alles in Ordnung ist, erscheint ein Anmeldebildschirm.

Mit dieser Gewissheit, tragen wir nun diesen Pfad zum OWA in das Browsercontrol auf der AG-VIP SQL Ansicht ein, welche Sie am Ende dieses KB-Artikels herunterladen und in AG-VIP SQL importieren können.
Browsercontrol selektieren -> in den Eigenschaften rechts auf "Standard URL" klicken und im Dialog dann die URL einfügen.

Hinweis:
Falls Sie nicht die im KB-Artikel beigefügte Ansicht verwenden und ein eigenes Browsercontrol erstellt haben, müssen Sie die Eigenschaften "Navigieren erlauben" und "Formularmodus" auf "Ja" setzen.
Desweiteren ergänzt die beigefügte Ansicht noch zusätzlich an die von ihnen eingefügte URL den Pfad zum Kalender im Abschnitt "Makros beim Laden". Dieses Makro funktionieren nur, wenn das Browsercontrol wie in der angehängten Ansicht den Namen "Browser" besitzt.

Verwendung:
Nachdem nun alles fertig eingerichtet ist, kann die Ansicht verwendet werden.
Beim ersten Aufruf bzw. nach einer Abmeldung im OWA muss sich der Benutzer stets am OWA anmelden.

Bei dieser Neuanmeldung geht die Information verloren, dass man eigtl. den Kalender angezeigt haben möchte.
Daher muss man dies nach einer Anmeldung manuell auswählen.

Danach wird jedoch immer direkt der Kalender angezeigt (bis zur nächsten Anmeldung).

Tipp:
Manchmal reicht eventuell die Bandbreite der Internetverbindung nicht aus um die grafische Darstellung des OWAs schnell anzuzeigen.
Es gibt eine "Light" Version des OWAs welche auf einige grafische Elemente verzichtet.
Diese kann in den Optionen aktiviert werden.

2016-06-24 13:01
Peter Brandt

Outlook 2013/2016 Version 1001/1705 - Problem mit Outlook Hilfsmittel

Beschreibung:
Mit dem Update  Outlook 2013 Version 15.0.4937.1001 und der 2016 Version 1705 ist ein Security Patch integriert worden.

Auswirkung:
Sämtlicher HTML Inhalt der Vorlagen wird beim setzen des Mail-Body in "Nur-Text" umgewandelt wodurch z.B. alle Bilder, Textformate, Links entfernt werden.
Das verwenden von Outlook Vorlagen in Verbindung mit Hilfsmitteln ist somit nicht mehr möglich bzw. muss die erstellte E-Mail immer händisch aufbereitet werden.

Lösung:
Siehe auch folgenden KB-Artikel: Outlook Security Patch verursacht Probleme mit Outlook Hilfsmitteln
Nur wenn es mit diesem Vorgehen und einem Update keine Lösung gibt sind die nachfolgenden Schritte notwendig.

Da es nicht möglich ist das Vorgehen von Outlook zu ändern, bleibt als Lösung nur ein Rollback die vorherige Version.

Anleitung für RollBack auf die Outlook 2013 Version 1000 bzw. Outlook 2016 Version 1704:

1. Die automatischen Office Updates deaktivieren.
-> In Outlook unter "Datei"->"Office Konto" finden Sie "Updateoptionen" in dem Sie die automatischen Updates deaktivieren können.



Falls Sie diesen Schalter nicht in Ihrem Outlook haben sollten, überprüfen Sie ob in den WindowsUpdate-Einstellungen unter "Erweiterte Optionen" der Schalter bei "Updates für andere Microsoft-Produkte bereitsstellen, wenn ein Windows-Update ausgeführt wird" nicht gesetzt ist.

2. Alle Office Produkte schließen/beenden (Outlook, Word, Excel etc.)

3. Eine Eingabeaufforderung mit "Als Administrator ausführen" starten.
-> Auf Windows-Start Symbol klicken und direkt "CMD" eingeben.
-> Anschließend mit der rechten Maustaste auf das angezeigte Ergebnis und mit der linken Maustaste auf "Als Administrator ausführen" klicken.

Hinweis:
Falls Sie die im Punkt "4. RollBack Befehl ausführen" aufgeführte Datei "officec2rclient.exe" nicht auf Ihrem Rechner finden sollten, haben Sie vermutlich eine Volumenlizenz von Office installiert. In diesem Fall wird der Security Patch über die WindowsUpdates installiert und muss dort auch deinstalliert werden.


4. RollBack Befehl ausführen:
-> Dazu nachfolgende Zeile kopieren und mit einem Rechtsklick in der Eingabeaufforderung einfügen und mit Enter bestätigen. 
(Auf manchen Betriebssystem wird direkt beim Einfügen automatisch die Ausführung gestartet)

Outlook 2013:
"C:\Program Files\Microsoft Office 15\ClientX64\officec2rclient.exe" /update user updatetoversion=15.0.4937.1000

Outlook 2016:
"C:\Program Files\Common Files\microsoft shared\ClickToRun\officec2rclient.exe" /update user updatetoversion=16.0.8067.2157

Eine detaillierte Beschreibung zu dem Rollback-Vorgang finden Sie auf der Offiziellen Seite von Microsoft:
https://support.microsoft.com/en-us/help/2770432/how-to-revert-to-an-earlier-version-of-office-2013-or-office-2016-clic

5. Warten bis die Office-Updates abgeschlossen sind (Es wird aus dem Internet die Office 2016 Version 1704 heruntergeladen).
Dies kann einige Minuten dauern (abhängig von der Bandbreite Ihrer Internetverbindung)
Um Komplikationen zu vermeiden, empfehlen wir erst wieder Office zu verwenden wenn der Vorgang abgeschlossen ist, auch wenn Microsoft erwähnt, dass man trotzdem weiterhin Office nutzen könnte.

6. Direkt nach Abschluss des Herunterladens beginnt automatisch die Aktualisierung.

7. Das RollBack Verfahren ist nach verschwinden des Fensters abgeschlossen und kann im Office-Konto überprüft werden.

2021-08-25 08:25
Peter Brandt

Lösung: Outlook Security Patch verursacht Probleme mit Outlook Hilfsmittel

Hinweis:

Dieser Artikel betrifft nur AG-VIP SQL vor der Version 2.01.006. Mit dieser AG-VIP SQL Version wurde das Outlook Addin komplett überarbeitet.

Beschreibung:
Mit dem Update  Outlook 2013 Version 15.0.4937.1001 und der 2016 Version 1705 ist ein Security Patch integriert worden.
Dieser führt dazu, dass die erzeugten E-Mails über ein Outlook Hilfsmittel nicht mehr korrekt dargestellt werden.
In speziellen Fällen können auch Makrofehler auftreten.

Lösung:
In der AG-VIP SQL Version 1.50.005 wurde ein Modul entsprechend erweitert um die durch den Security Patch hervorgerufenen Probleme zu beheben.
Auf Nachfrage kann das Modul auch in der AG-VIP SQL Version 1.50.004 von unserem Support installiert werden (AGVIPCDO.dll muss ausgetauscht werden).

Mit allen älteren Versionen von AG-VIP SQL kann das Problem nur durch ein wie im folgenden KB-Artikel beschriebenen Rollback Vorgang umgangen werden:
https://kb.grutzeck.de/content/29/388/de/outlook-2013_2016-version-1001_1705-_-problem-mit-outlook-hilfsmittel.html

Hilfsmittel Anpassung:
Leider reicht das Modul alleine nicht aus um das Problem zu beheben.
Daher müssen alle Outlook Hilfsmittel im Makrocode angepasst werden.
Folgende Zeile muss angepasst werden:

oItem.Save

Ändern in:

If MailType = 1 Then
   oItem.Save
End If

Falls Sie ausschließlich HTML-Vorlagen (MailType=2) verwenden und keine "Nur-Text" Vorlagen (MailType=1), können Sie die Zeile auch löschen.

Dies können Sie am einfachsten mit "Suchen und Ersetzen" (STRG + H) und betätigen des Schalters "Alle ersetzen":

Anschließend das Hilfsmittel speichern um die Änderung zu übernehmen.

 

Änderungslog:

24.08.2017:

  • Korrektur des zu anpassenden Makrocodes um Abfrage MailType=1

2021-08-25 08:29
Peter Brandt

Excel ODBC Export unter Windows 7, Windows 8.1 Windows 10 schlägt fehl

Nachtrag 21-11-2017:
Für Windows 10 wurde der Fehler mit dem Update KB4048955 behoben, es ist anzunehmen das gleichzeitig auch Update für die anderen Betriebssystem veröffentlicht wurden!

Durch letzte Sicherheitsupdates von Microsoft funktioniert der Excel Export nicht mehr.

 Es kommt zu folgender Fehlermeldung:

Reservierter Fehler (-5016); es gibt keine Meldung für diesen Fehler.
Ungültiges Attribut für die Verbindungszeichenfolge. CREATE_DB
Ungültiges Attribut für die Verbindungszeichenfolge. CREATE_DB
Ungültiges Attribut für die Verbindungszeichenfolge. CREATE_DB
Ungültiges Attribut für die Verbindungszeichenfolge. CREATE_DB
Allgemeine Warnung Registrierungsschlüssel 'Temporary (volatile) Jet DSN for process 0x2c44 Thread 0x37f4 DBC 0x5b84d54 Excel' kann nicht geöffnet werden.
Ungültiges Attribut für die Verbin

Nach aktuellem Informationen wird dies durch die folgenden Sicherheitsupdates verursacht:

Windows 7 SP1 and Windows Server 2008 R2 SP

KB4041681 -- 2017-10 Security Monthly Quality Rollup for Windows 7 for x86-based Systems KB4041678 -- 2017-10 Security Only Quality Update for Windows Embedded Standard 7 for x64-based Systems

Windows 8.1 and Windows Server 2012 R2

KB4041693 -- 2017-10 Security Monthly Quality Rollup for Windows 8.1 for x86-based Systems KB4041687 -- 2017-10 Security Only Quality Update for Windows 8.1 for x86-based Systems

Windows 10 and Windows Server 2016 (version 1607)

KB4041691 -- 2017-10 Cumulative Update for Windows 10 Version 1607 and Windows Server 2016

Windows 10 and Windows Server 2016 (version 1703)

KB4041676 -- 2017-10 Cumulative Update for Windows 10 Version 1703

Aktuell sind uns keine Möglichkeiten bekannt, diesen Fehler zu umgehen, außer den Security Patch zu deinstallieren.

Wir empfehlen grundsätzlich einen Datenexport als CSV-Datei, oder als Textdatei (Tab-getrennt).
Alle diese Formate lassen sich ohne weiteres in Excel öffnen. Zusätzlich haben Sie den Vorteil, dass es nicht zu einem Datenverlust kommt, wenn lange Texte übergeben werden.

 

2021-08-25 08:24
Martin Richter

Lösung zum Outlook Problem nach Fall Creators Update von Windows (Version 1709)

Beschreibung:
Die Outlook Hilfsmittel funktionieren nicht mehr korrekt nach der Installation des Fall Creators Update von Windows (Version 1709).

Ursache:
Das FallCreatorsUpdate hat wichtige "Interface" Einträge in der Registry von Office gelöscht.

Verschiedene Merkmale:
- AG-VIP SQL hängt sich bei der Ausführung des Hilfsmittels auf oder stürzt ab.
- Der E-Mail Inhalt ist leer.
- Es tritt ein Makrofehler auf, bei dem die Meldung "INVALID PARAMETER" angezeigt wird.

Lösung:
Variante 1:
Eine Schnellreparatur an allen betroffenen Rechnern von Microsoft Office behebt das Problem.

Variante 2:
Über folgenden Link kann eine Zip-Datei heruntergeladen werden, welche folgende Dateien enthält:

http://www.dimastr.com/redemption/Outlook_2013_C2R_fix.ZIP
- Outlook2013_C2R.reg
- Outlook2013_C2R_32_on_64.reg
- readme.txt

Wenn Sie Office als 32bit Version installiert haben und Windows als 64bit, verwenden Sie die Datei "Outlook2013_C2R_32_on_64.reg".
Für alle anderen Konstellationen verwenden Sie die "Outlook2013_C2R.reg" Datei.
In der readme.txt Datei ist nochmal beschrieben, wann Sie welche Datei ausführen müssen.

Diese .reg Datei stellt die vom FallCreatorsUpdate gelöschten Registryeinträge wieder her und behebt dadurch das Problem.
Die Datei kann von allen Office Versionen ab 2013 verwendet werden.

2017-12-08 09:03
Peter Brandt

VOIP-Fehler finden und Anwahlprobleme erkennen

Problem:

Oft ist unklar, warum die Anwahl nicht funktioniert oder die Telefoniesoftware in der ein oder anderen Weise reagiert.

Lösung:

Um dem Problem auf die Spur zu kommen, sollte ein VoIP/Telefon-Trace erzeugt werden. Das ist ein Protokoll der Kommunikation zwischen VoIP Wähleinrichtung  und der Telefoniesoftware auf der anderen Seite.

Vorgehensweise: VOIP-Log einsehen

AG-VIP SQL ist per Standard so eingestellt, dass immer ein Trace erzeugt wird.
Der Trace wird automatisch im temporären Verzeichnis des Benutzers gespeichert. Der Trace beginnt bei Programmstart und wird geschlossen, wenn das Programm beendet wird.  Bis zu 10 Logs bleiben erhalten. Jeder weitere Programmstart überschreibt den ältesten AGVIP_Phone.log Trace.

Gehen Sie wie folgt vor um an den Trace zu gelangen, um diese zum Beispiel an den Support zu senden:

  1. Starten Sie AG-VIP SQL
  2. Führen Sie nun die Telefonate, die Probleme machen, z.B. Anwahl einer falschen Telefon-Nr. wird nicht erkannt.
  3. Beenden Sie AG-VIP SQL.
  4. Wählen Sie aus dem Windows-Menü START, AUSFÜHREN und geben %tmp% + ENTER-Taste ein.
  5. Der Windows-Explorer öffnet sich mit dem temporären Benutzer-Verzeichnis. Hier finden Sie die Datei AGVIP_Phone.LOG (vor der Version 2.0 hieß die Datei AGVIP_TAPI.log). Diese Datei können Sie mit jedem Texteditor öffnen. Die erste Spalte zeigt dabei die Uhrzeit in Millisekunden genau an.

Die aktuellen AGVIP_Phone.log können Sie auch direkt aus AG-VIP heraus öffnen.
Klicken Sie dazu auf die Prgramm Informationen (kleines blaues i rechts außen), oder Datei -> Info über AG-VIP SQL. Dort klicken Sie auf System-Info dann auf Telefon-Log. Ihr Editor öffnet isch mit dem aktuellen Telefon Protokoll.

Erweitertes VoIP/SIP Protokoll:

Es gibt noch eine weitere Trace Datei, welche die Verbindung zum SIP Provider dokumentiert.
Gehen Sie die selben Schritte 1 bis 4 durch und ergänzen Sie folgende Schritte:

  1. Wechseln Sie in das übergeordnete Verzeichnis "local" in dem Sie mit der Maus darauf klicken
  2. Wechseln Sie anschließend in das Unterverzeichnis "VoIP Video SIP SDK"
  3. Hier finden Sie die Datei SIPVoipSDKLog_yyyymmdd-hhmmss.txt. Sowie auch eine sipXtapilog_yyyymmdd-hhmmss.txt.
    Diese Dateien können Sie mit jedem Texteditor öffnen.
    Die erste Spalte zeigt dabei die Uhrzeit in Millisekunden genau an.

Wenn Sie einen Fehler protokolliert haben, beenden Sie AG-VIP SQL und sichern Sie beide Trace-Dateien, bevor Sie mit der Arbeit fortfahren.

Schicken Sie beide Dateien an Support@grutzeck.de und beschreiben Sie so genau wie möglich, wie sich das Problem bei Ihnen darstellt.

Standard VoIP Status Code Behandlung

Als Standardeinstellung erwartet AG-VIP SQL folgende SIP-Codes bei entsprechendem Status:

  Status: SIP-Code
  Besetzt (BUSY) 486
  Nicht verbunden (NoConnect) 408
  Falsche Rufnummer (WrongNumber) 301,404

 

Dieses Verhalten kann in AG-VIP SQL in den "Telefonieeinstellungen" im Bereich "Einstellungen" geändert werden.

Dabei ist jedoch zu beachten, dass sobald dort für einen Status etwas eingetragen wird, die Standardeinstellungen überschrieben und somit deaktiviert sind.
Wenn man z.B. den Status Besetzt (BUSY) um den SIP-Code 491 erweitern möchte, so muss man auch zusätzlich den im Standard vorgebenen Wert 486 eintragen, da sonst ausschließlich der SIP-Code 491 für den Status Besetzt (BUSY) verwendet wird.

Hinweis:

Eine Liste der möglichen SIP-Status-Codes (Antwort-/Fehlercodes) finden Sie z.B. bei Wikipedia:
https://de.wikipedia.org/wiki/SIP-Status-Codes

2023-06-22 08:06
Peter Brandt

Fehler beim Anlegen neuer Felder (maximale Datensatzlänge von 8060 Bytes erreicht)

Problem:

Der SQL-Server kann pro SQL-Tabelle eine maximale Datensatzlänge von 8060 Bytes verwalten. Diese Grenze ist im SQL Server festgelegt und kann nicht erweiter werden.

Daher ist die Anzahl an Felder in AG-VIP SQL durch den SQL-Server begrenzt.

Die Anzahl der benötigten Bytes je Spalte in einer Tabelle ist abhängig von dem jeweiligen Datentyp:

Datentyp Größe der Spalte in Bytes im SQL Server
Text Textlänge oder maximal 24 Zeichen
längere Textspalten werden extra Tabellen ausgelagert.
Datum/Zeit 8
Datum 3
Zeit 3
Numerisch 8
Ganzzahl 4
Logisch 1
GUID 8
ID / Kennzeichen 4

 

 

 

 

 

 

Darstellung in AG-VIP SQL:

In der Administration der Adresstabellen, wird bei der jeweiligen Adress-/Projekt-/Zusatztabelle oben rechts die aktuelle Feldanzahl und die genutzte Datensatzlänge angezeigt.

Wird die maximale Größe überschritten, wird die entsprechende Zahl rot und es erfolgt eine Warnung.

Sollte Sie beim Anlegen von Feldern Datensatzlänge die maximale Länge von 8060Bytes überschreiten, kann trotzdem der Benutzer das Risiko eingehen und das Feld anlegen.

Der SQL Server kann sehr effektiv und dynmaisch Spalten in Tabellen verwalten.

Dies kann jedoch dazu führen, dass Inhalte nicht komplett gespeichert werden können und es zu einem SQL Fehler beim Anlegen der Spalten kommt.

Lösung:

Wenn man einmal dieses Limit erreicht hat, reicht es nicht aus entsprechend viele Felder zu löschen, da der SQL-Server nicht automatisch in der Lage ist, den reservierten Speicher für die gelöschten Felder wieder freizugeben.

Beim Löschen von Feldern entstehen in der Datenbank Zeile Lücken, die nicht automatisch durch den SQL Server wiederverwendet werden können.

Um nicht benutzten Platz wieder zugänglich zu machen um evtl. Platz für neue Felder zu schaffen muss noch auf dem SQL-Server direkt über das Management Studio der folgende Befehl ausgeführt werden:

Syntax:

dbcc cleantable ('<Name der Datenbank>','<Name der betroffenen Tabelle>')

Beispiel:

dbcc cleantable ('AGVIP','tblAS0003')

ist die aktuelle Datenbank im Management Studio ausgewählt, kann anstatt des Datenbanknames 0 verwendet werden.

dbcc cleantable (0,'tblAS0003')

Erst durch den cleantable Aufruf wird die Tabelle reorganisiert und nicht mehr benötigte Speicher in der Zeile freigegeben.
Danach können evtl. neue Felder wieder angelegt werden.

Erscheint die Fehlermeldung allerdings wieder, ist vermutlich das physikalische Limit des SQL Servers erreicht und Sie können eine weiteren Spalten anlegen.

2023-09-01 12:41
Peter Brandt

Nach einem Update kommt es zu eigentümlichen Makro Fehlern in allen möglichen Bereichen

Beschreibung:

Es wurde ein Update ausgeführt. Nach einem Update kommt es zu eigentümlichen Makro Fehlern in allen möglichen Bereichen. In keinem der Makros (Hilfsmittel, Ansichten etc.) wurden Änderungen gemacht.

Syntaktisch sind die Befehle korrekt. Dennoch kommt es auf den Client Rehcnern zu diesen Fehlern.

Das Update von AG-VIP SQL war ein Update mit einem großen Versionssprung.

Validierung:

Zu prüfen wäre es ob, die gleichen Abläufe auf dem Server, oder einem neu eingerichteten Rechner funktionieren.

Ursache:

Die Type-Library des Makro Modelles hat sich gravierend geändert.
Damit können die Makrobefehle nicht mehr korrekt ausgeführt werden.
Auf den Clients wurde SetupAGVIPClient.exe nicht ausgeführt, obwohl dies in den Update Informationen beschrieben und angeraten wird.

Lösung:

Auf allen Client Rechner muss SetupAGVIPClient.exe nochmals ausgeführt werden.

Alternativ ist es auch möglich AG-VIP SQL neu zu registrieren. Dies geschieht in dem man in einer Comsole mit administrativen Rechten den folgenden Befehl ausführt:

AGVIP.EXE -Register

2019-09-13 08:05
Martin Richter

Wie kann ich den Mikrofon- und Audio Kanal beim Arbeiten über eine Remote Desktop Verbindung (RDP) genutzt werden?

Was bedeutet Remotedesktop?

Der Begriff Remotedesktop kommt aus dem Englischen und bedeutet übersetzt „Schreibtisch-Fernsteuerung“. Über eine Remotedesktop-Verbindung ist es möglich, den eigenen Computer (Client) mit einem anderen Computer (Server) zu verbinden. Sofern die technischen Voraussetzungen gegeben sind, kann der Nutzer praktisch von überall aus eine Remotedesktop-Sitzung herstellen. Bildlich können Sie es sich so vorstellen: Von Ihrem heimischen Computer aus können Sie auf alle Programme, Dateien und Netzwerkressourcen Ihres Bürocomputers zugreifen. So als würden Sie an Ihrem Arbeitsplatz sitzen.

Windows Remotedesktop am Client einrichten:

Microsoft bietet Remotedesktop-Anwendern ein hauseigenes Netzwerkprotokoll an: Das Remote Desktop Protocol (RDP). Es steuert sowohl den Terminalserver als auch den Terminalclient und regelt so die Übertragung der Bildschirminhalte sowie die Tastatur- und Mauseingaben über das Netzwerk.

Problem:

Wird nur eine Server anegegebn, mit dem man sich verbindet, dann werden die Standardeinstellungen  für eine RDP-Verbindung verwendet. Diese sehen eine Audio Wiedergabe, aber kein Aufzeichnen (Mikrofon) von Audio Signalen vor.

Das heißt Audio Signale (Sound) des Servers werden auf dem Client über den aktuellen primären Audiokanal ausgegeben.
Aber Mikrofone des Clients können am Server nicht für Audioaufzeichnungen benutzt werden. Damit ist eine Nutzung eines VoIP Clients auf dem Server dann nicht möglich, da dieser natürlich auch Audio/Sprache übermitteln muss und nicht nur wiedergeben soll.

Lösung:

1. Geben Sie im Windows Startmenü RDP ein. Für Android- oder iOS-Gerät: Öffnen Sie die Remotedesktop-App (kostenlos im Microsoft Store, in Google Play und Mac App Store verfügbar)
Die Remotedesktop Verbindung wird angezeigt.
Hier wählen Sie den Server aus, mit dem Sie sich verbinden möchten.

Sollten Sie keine Details sehen, klicken Sie auf den Schalter Optionen einblenden

2. Wechseln Sie in den Reiter Lokale Ressourcen.

3. Klicken Sie unter Remoteaudio auf den Schalter Einstellungen

Hier geben Sie das Mikrofon und den Audiokanal zur Übertragung frei. So können Sie die CRM Software AG-VIP auf einem Terminalserver betreiben und das integrierte VoIP Softphone nutzen und trotzdem am Remotearbeitsplatz darüber telefonieren.

4. Wählen Sie im Reiter Allgemein den Schalter Speichern unter, um diese Einstellung dauerhaft zu speichern.

Wenn die Einstellungen nicht gespeichert werden, dann müssen diese für eine neue Sitzung erneut ausgewählt werden.
Beachten Sie bitte auch, dass für die Aufzeichnung und WIedergabe immer nur der primäre ausgewählte Audionakanal am Client benutzt wird. Sollten Sie mehrere Mikrofone oder Lautsprecherausgänge haben (Headset, Lautsprecher, Digital-Audio), dann müssen die primären Kanäle über die Audio Systemsteuerung korrekt eingestellt werden.

Weitere hilfreiche Artikel zur Einrichtung von Remotedesktop:

2019-09-24 08:24
Markus Grutzeck

Fernwartung

Um einen guten Support zu gewährleisten ist in der AG-VIP SQL Installation ein Fernwartungsclient installiert.
Bis zum 31.12.2019 unterstützen und nutzen wir TeamViewer.
Seit Oktober 2019 kommt ausschließlich AnyDesk zum Einsatz. 
In einer Übergangszeit bis Mitte Februar werden wir beide Versionen unterstützen.

Wird der Menüpunkt Fernwartun in AG-VIP SQL angeklickt wird die Datei Support.exe im Programmverzeichnis ausgeführt. Je nach Version wird dann der TeamViewer oder AnyDesk Client gestartet´.

AnyDesk

Ab der Version 2.00.006 unterstützen wir den Support mit AnyDesk.
Folgende Module stehen für den Download zur Verfügung:

Standard Fernwartungsclient (dieser ist als Setup.exe in der Installation enthalten):

https://anydesk.grutzeck.de 
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
In älteren Installationen ist es ohne Probleme möglich den neuen AnyDesk Client unter dieser Adresse herunter zu laden und in der bestehenden älteren AG-VIP SQL Installation zu ersetzen.

Fernwartungsclient, der auch ausgehende Verbindungen erlaubt:

https://get.anydesk.com/6OXM42zN/Support-Full.exe
Diese Version ist identisch zum Standard-Client, erlaubt aber auch ausgehende Verbindung.
Es wird durch dieses Programm keine Installation vorgenommen, bzw. das System wird nicht verändert.
Dieser Client ist von Grutzeck-Software GmbH angepasst und mit unserem Logo versehen.
Auch dieser Client kann den aktuell im Programmverzeichnis installierte Support.exe ersetzen.

Komplette Installation für AnyDesk:

https://get.anydesk.com/rrnBf17n/AnyDesk.msi
Mit dieser Version installieren Sie AnyDesk permanent auf einem Rechner. Die Installation erlaubt ein- und ausgehende Verbindungen.
Dieser Setup ist von Grutzeck-Software angepasst und mit unserem Logo versehen.

Allgemeine AnyDesk Version:

Auf der Seite https://www.anydesk.com/de kann die AnyDesk Standard Version heruntergeladen werden.
Diese finden Sie auch direkt unter dem folgenden Link https://download.anydesk.com/AnyDesk.exe
Diese Programmversion erlaubt es die aktuelle AnyDesk Version nur auszuführen und auch zu installieren. Sie ist nicht angepasst.
Unser Support kann sich mit jeder Ihrer AnyDesk Versionen verbinden.

2020-02-24 12:34
Martin Richter

Datenübernahme aus AG-V.I.P. 5.x Dateien nach AG-VIP SQL ohne eigenständige AG-V.I.P. 5.x Installation

Hintergrund:

Mit dem Programm AGVIP5Import ist es möglich alte AG-V.I.P. 5.x Dateien nach AG-VIP SQL zu importieren. Oft ist allerdings keine alte AG-V.I.P. 5.x Installation mehr verfügbar. Oder die AG-V.I.P. 5.x Versionen laufen auf Rechnern auf denen AG-VIP SQL nicht installiert werden kann, oder umgekehrt, AG-VIP SQL läuft auf Rechnern auf denen AG-V.I.P. 5.x nicht zur Verfügung steht.

Versucht man AGVIP5Import.exe auf einem Rechner ohne alte AG-V.I.P. 5.x Installation zu starten, dann erscheint die Fehlermeldung:

AG-VIP SQL Import Assistent für 5.x Adressendateien
Datenbankmanager Btrieve ist nicht installiert oder konnte nicht geladen werden:
Das angegebene Modul wurde nicht gefunden.
AG-V.I.P. 5.x sollte installiert sein!

Lösung:

Alle benötigten .ADR und KONSTANT.AG Dateien werden auf einen Rechner oder in das Netz kopiert auf dem AG-VIP SQL läuft. Zusätzlich wird die Btrieve DB-Engine auf dem entsprechenden Rechner, auf dem der Import durchgeführt werden soll lauffähig gemacht.

Vorgehensweise:

Für den nachfolgenden Lösungsweg, benötigen Zugriff auf das Programmverzeichnis von AG-VIP SQL und lokale administrative Rechte. Die Anleitung und die Dateien sind für ein 64bit Betriebssystem gedacht.

  1. Laden Sie zuerst die Datei Btrieve32.zip und Btrieve.reg aus dem Anhang herunter. 
  2. Entfernen Sie das Flag für den Download. Datei Eigenschaften -> Abschnitt Sicherheit -> Dort Zulassen anklicken -> OK.
  3. Entpacken Sie nun den Inhalt der Datei Btrieve.zip und Kopieren Sie den gesamten Inhalt in das AG-VIP SQL Programmverzeichnis.
  4. Öffnen SIe nun eine Eingabe Aufforderung (CMD.EXE) als Administrator. (Windows Taste -> CMD.EXE -> Rechte Maustaste -> Als Administrator ausführen)
  5. Wechseln Sie nun in das Programmverzeichnis von AG-VIP SQL. (CD ...)
  6. Führen Sie den folgenden Befehl aus:
    W32MKDE.EXE /register
  7. Starten Sie den Registrierungseditor. Windows-Taste -> Regedit.exe -> OK
  8. Selektieren Sie den Knoten bei einem 64bit System
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies
    Klicken Sie mit der Rechten Maus auf den Knoten und wählen Berechtigungen....
  9. Wählen sie den Eintrag Benutzer aus und selektieren Sie das Recht Vollzugriff und auf OK.
  10. Doppelklicken Sie nun die Datei Btrieve.reg
  11. Starten Sie nun den Importvorgang mit AGVIP5Import.exe.

Achten Sie unbedingt darauf, dass die passende Datei Konstant.AG mit zusammen in dem Verzeichnis liegen in dem auch die ADR Dateien von AG-V.I.P. 5.x liegen.

Weitere Informationen zur Datenübernahme finden Sie im Handbuch.

Alle Maßnahmen in diesem Artikel haben keinen Einfluß auf eine bestehende AG-VIP SQL Installation. Nach dem Import können die Btrieve-Dateien alle wieder entfernt werden. Können aber auch für spätere Importvorgänge in dem Programmverzeichnis liegen bleiben.

Hinweis:

Unter Umständen erhalten Sie die Meldung <20> RECORD MANAGER INACTIVE. 

Kontrollieren Sie in diesem Fall den Eintrag HomeDirectory in der Registry im Ast HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Btrieve Technologies\Microkernel Workstation Engine\Version 6.15\Settings. Der Eintrag sollte auf ein Verzeichnis verweisen auf das alle Benutzer Lese- und Schreiberechte haben, die an diesem PC arbeiten.

Alternativ starten Sie AGVIP5Import als Administrator.

2023-11-03 09:34
Martin Richter

Crash - ATLTHUNK.DLL

Beschreibung:
Auf 64bit Betriebssystem die älter als Windows 10 sind (Server 2012 R2, Windows7, Windows 8, Windows 8.1) kann es bei zuvielen Control-Elementen dazu kommen,
dass AG-VIP SQL oder auch andere Anwendungen abstürzen.

Ursache:
Die im C:\Windows\SysWow64 liegende ATLTHUNK.DLL stellt pro Aufruf 256 Slots bereit um weitere Subklassen zuzuordnen.
Wurden alle 256 Slots genutzt, so wird die ATLTHUNK.DLL erneut geladen und es werden weitere 256 Slots bereitgestellt.
Dies funktioniert jedoch bei den oben aufgeführten Betriebssystemen nicht garantiert.
Microsoft hat dies durch eine von uns gestellte Supportanfrage bereits 2017 als Bug bestätigt.
Allerdings wurde der Bug nur im aktuellen Betriebssystem Windows10 behoben.

Workarround:
Die ATLTHUNK.DLL kann von Windows10 kopiert und in das AG-VIP SQL Installationsverzeichnis kopiert werden.
AG-VIP SQL wird daraufhin diese ATLTHUNK.DLL verwenden und nicht die im C:\Windows\SysWow64 Verzeichnis.
Das Problem wird dadurch behoben, weil die Dateiversion aus Windows10 den Bug nicht enthält.
Nachdem Kopieren der Datei kann ein Serverneustart notwendig werden!

Hinweis:
Der Workarround wurde bislang nur bei einem Server 2012 R2 erfolgreich getestet.

Stackoverflow Beitrag von Martin:
https://stackoverflow.com/questions/41741448/random-crashes-on-windows-10-64bit-with-atl-subclassing

Typische Callstacks bei einem Crash sind:

0ec81585() Unknown No symbols loaded.
user32.dll!__InternalCallWinProc@20() Unknown Symbols loaded.
user32.dll!UserCallWinProcCheckWow() Unknown Symbols loaded.
user32.dll!DispatchClientMessage() Unknown Symbols loaded.
user32.dll!___fnINOUTLPWINDOWPOS@4() Unknown Symbols loaded.
ntdll.dll!_KiUserCallbackDispatcher@12() Unknown Symbols loaded.
mfc140u.dll!CScrollView::ScrollToDevicePosition(tagPOINT ptDev={...}) Line 620 C++ Symbols loaded.

0c831585() Unknown No symbols loaded.
user32.dll!__InternalCallWinProc@20() Unknown Symbols loaded.
user32.dll!UserCallWinProcCheckWow() Unknown Symbols loaded.
user32.dll!DispatchClientMessage() Unknown Symbols loaded.
user32.dll!___fnDWORD@4() Unknown Symbols loaded.
ntdll.dll!_KiUserCallbackDispatcher@12() Unknown Symbols loaded.
user32.dll!SendMessageW() Unknown Symbols loaded.
[Inline Frame] AGVIP.exe!MfxWindow::CSubclassWnd::GetSubclassThunk(HWND__ *) Line 357 C++ Symbols loaded.
AGVIP.exe!MfxWindow::CSubclassWnd::HookWindow(HWND__ * hWnd=0x0004038a) Line 248 C++ Symbols loaded. 

2021-03-17 07:49
Martin Richter

Manuelle Installation von AG-VIP SQL Backend Dienst und AG-VIP SQL Job Scheduler

Hintergrund:

Mit der Installation der Dienste wird eine Standard Konfiguration vorgenommen.
Es kann aber hilfreich sein, die Dienste selber manuell zu konfigurieren. Insbesondere wenn mehrere Dienste zu unterschiedlichen Datenbanken auf einem Server laufen sollen (Möglich ab der Version 2.01.004). Durch die Befehle in der Eingabeanforderung ist auch möglich den Dienst gezielt zu starten und zu beenden. Der der Installation über die Befehlszeile kann auch ein entsprechendes Benutzerkonto definiert werden aber auch eine abweichende AGDB Datei anzugeben oder weitere Parameter an den Dienst zu übergeben.

AG-VIP SQL Backend Service

Der normale Dienstname lautet "AGVIPBackendService". Der Anzeigename (der Name der in der Liste der Dienste angezeigt wird), lautet "AG-VIP SQL Backend Service".
Man beachte, dass Anzeigenamen nicht eindeutig sein müssen. Der Dienstname dagegen ist eindeutig.

AG-VIP SQL Job Scheduler Service

Der normale Dienstname lautet "AGVIPJobSchedulerService". Der Anzeigename (der Name der in der Liste der Dienste angezeigt wird), lautet "AG-VIP SQL Job Scheduler Service".

Nutzung der Befehlszeile

Um die Dienste zu steuern, ist es notwendig auf dem Server eine Eingabeaufforderung mit Administrativen Rechten zu öffnen. (CMD.EXE suchen, rechter Mausklick und "Als Administrator ausführen")
Nun wird dir EXE des Dienstes (AGVIPBackendService.exe bzw. AGVIPJobScheduler.exe) mit entsprechenden Parametern gestartet.
Nachfolgend wird immer der Backendservice beschrieben. Die Funktionen sind für den Job-Scheduler gleichlautend.
Parameter können beginnend mit einem Bindestrich (- ) oder Schrägstrich (/) angegeben werden. Entsprechend sind Parameter wir -install und /install, oder /p:PC\Test oder -p:PC\Test gleichbedeutend.
Sollten im Parameter selbst Leerzeichen vorkommen müssen zusätzlich doppelte Anführungszeichen verwendet werden. Beispiel -p:"Kennword mit Leerzeichen"

Dienstname -SN:ServiceName

Der folgende allgemeinen Parameter ist notwendig, wenn es mehrere Instanzen eines Dienstes auf einer Maschine gibt (Möglich seit der Version 2.01.004). Je Datenbank ist grundsätzlich nur ein Dienst erlaubt. Aber wenn man über mehrere Datenbanken verfügt (unterschiedliche Mandanten, Testdatenbank), dann kann es notwendig sein, mehrere Dienst Instanzen zu installieren.

Mit dem Parameter -SN:AGVIPBackendService wird der eindeutige Dienstname definiert auf den sich der entsprechende Befehl (Start, Stop, Install, Uninstall) bezieht. Der Parameter /SN kann wegelassen werden, wenn es sich um eine Standard-Instanz mit umgeändertem Namen handelt. Der Dienstname sollte keine Leerzeichen und Sonderzeichen beinhalten (es ist zwar erlaubt macht aber das Handling schwieriger).
Der Abweichende Dienstname wird auch für den Namen der Log-Dateien verwendet.

Installation eines Dienstes

Die Installation eines Dienstes erfolgt mit dem Befehl -install.

Syntax:
Dienst.exe -install [-sn:Dienstname] [-sdn:"Anzeigename des Dienstes"] [-sd:"Lange Beschreibung des Dienstes"]
[-auto] [-u:Username -p:"Password" [-EnableServiceLogonRight]] [-scl:"Zusätzliche Befehlszeilen Paramerter"]

-install
Notwendiger Parameter für die Installation.

-sn:ServiceName
Muss angegeben werden, wenn nicht der Standarddienstname benutzt werden soll oder eine zweite Instanz des Dienstes installiert werden so. Es ist evtl. Ratsam bei mehreren Instanzen hier den Datenbanknamen mit zu verwenden.

-sdn:ServiceDisplayName
Der Anzeigename des Dienstes, der in der Verwaltung der Dienste angezeigt werden soll. Auch hier sollte ein entsprechender Name verwendet werden, wenn mehrere Instanzen benutzt werden. Bei Nutzung von Leerzeichen sind Anführungszeichen nötig.

-sd:ServiceDescription
Eine zusätzliche Dienstschreibung, die auch in der Dienste Verwaltung angezeigt wird. Bei Nutzung von Leerzeichen sind Anführungszeichen nötig.

-auto
Wird -auto angegeben, dann wird der Dienst installiert und zum automatischen Start eingerichtet. Die normale Einstellung ist, dass der Dienst zum manuellen Start eingerichtet wird.
Der Dienst wird nicht automatisch nach der Installation gestartet.

Benutzer und Kennwort -u:username, -p:password
Soll ein spezielles Dienstkonto benutzt werden weil zum Beispiel Zugriff auf das Netzwerk nötig wird, dann kann mit den Parametern -u und -p Benutzer und Kennwort angegeben werden. Es ist darauf zu achten, dass der Benutzername Domäne oder Coomputernamen entsprechend einschließt. Beispiel:
-u:Domain\JobAccount -p:"Geheimes Kennwort"

-EnableServiceLogonRight
Wird ein Benutzerkonto bei der Installation angegeben, dann kann man über den Parameter EnableServiceLogonRight sicherstellen, dass der entsprechende Benutzeraccount auch die Rechte hat als "Dienst Ausführen" erhält. Dieses Recht ist nicht automatisch mit jedem Benutzerkonto verknüpft. Es empfiehlt sich diesen Parameter bei der ersten Nutzung eines Kontos anzugeben, wenn dies nicht sichergestellt ist oder unbekannt ist ob dieses Rechte vorhanden ist.

-scl:"ExtendedCommanLine"
Erweiterte Befehlszeile. Mit dem -scl Parameter werden weitere Angaben an den Dienst übergeben, die seine Funktionsweise steuern oder auch definieren wo Logs abgelegt werden müssen. Diese erweiterte Befehlszeile benötigt eine entsprechende Behandlung bzgl. Leerzeichen und Anführungszeichen. Anführungszeichen müssen hier evtl. gedoppelt werden.
Die erweiterten Befehlszeilen Parameter werden weiter unten behandelt. Mögliche Parameter sind hier -log, -conn, -fulldump.

Deinstallation eines Dienstes

Die Deinstallation eines Dienstes erfolgt mit dem Befehl -uninstall.

Syntax:
Dienst.exe -uninstall [-sn:Dienstname] [-sdn:"Anzeigename des Dienstes"]

Die Parameter -sn und -sdn müssen angegeben werden, wenn Sie bei der Installation geändert wurden, oder es sich nicht um die Standard Dienstnamen bzw. Standard Anzeigenamen handelt.

Starten eines Dienstes

Das Starten eines Dienstes erfolgt mit dem Befehl -start.

Syntax:
Dienst.exe -start [-sn:Dienstname]

Die Parameter -sn muss angegeben werden, wenn Sie bei der Installation geändert wurden, oder es sich nicht um die Standard Dienstnamen handelt, der gestartet werden soll.

Stoppen eines Dienstes

Das Stoppen/Beenden eines Dienstes erfolgt mit dem Befehl -stop.

Syntax:
Dienst.exe -stop [-sn:Dienstname]

Die Parameter -sn muss angegeben werden, wenn Sie bei der Installation geändert wurden, oder es sich nicht um die Standard Dienstnamen handelt, der gestartet werden soll.

Testbetrieb eines Dienstes

Es ist möglich auch einen Dienst testweise zu betreiben. Das geschieht mit der Angabe -debug oder console.
Der entsprechende Dienst wird, dann in der Eingabeaufforderung direkt ausgeführt unter den Berechtigungen des aktuellen Benutzers. Alle Ausgaben, die normalerweise nur in die Log-Datei erfolgen werden auf in der Eingabeaufforderung angezeigt.
Für Testzwecke ist dies ein geeigneter Weg um schnell Fehler zu finden.
Der entsprechende Dienst darf anderweitig natürlich nicht gestartet sein.

Syntax:
Dienst.exe -debug

 Erweiterte Befehlszeile

Wenn ein Dienst unter mehreren Instanzen läuft oder auch für die Fehlerfindung sind zusätzliche Startparameter notwendig. Diese können nur bei der Installation über die Befehlszeile eingerichtet werden.
Die Parameter sind:

-conn:AGDBPath
Hier kann ein abweichende AGDB Datei definiert werden. Es muss der komplette Pfadname eingetragen werden. Entsprechende notwendige Leerzeichen müssen in doppelte Anführungszeichen gesetzt werden.

-log:LogPath
Hier wird ein Ausgabepfad definiert in den der Dienst seine Log-Dateien schreiben soll. Der Dienst muss Schreibrechte auf dieses Verzeichnis haben. Der Pfad muss existieren. Entsprechende notwendige Leerzeichen müssen in doppelte Anführungszeichen gesetzt werden.
Für den Job Scheduler Dienst ist die Angabe des Log-Pfades wichtig, um die einzelnen Ausgaben der Jobs von mehreren Instanzen unterscheiden zu können.

-fulldump
Mit dem Parameter -fulldump kann der Dienst angewiesen werden bei einem Crash einen vollen Speicherdump zu erzeigen. Diese Option ist zur Fehlersuche durch den Support manchmal notwendig.

-ini:PfadZuIniDatei
Mit dem Parameter -ini kann der Dienst angewiesen werden, die .INI Datei für die lokalen Diensteinstellungen (Email-Server für JobScheduler u.a.) aus einer anderen Datei oder Verzeichnis zu lesen, als der vorgegebenen INI-Datei. Normalerweise, wird die INI Datei benutzt, die den gleichen Namen wir die ausführbare Datei des Dienstes hat, also AGVIPBackendService.INI oder AGVIPJobScheduler.ini

Anwendungsbeispiel 1:

In der nachfolgenden Befehlszeile wird ein Backendservice installiert, der unter dem Namen AGVIPBackendService-Demo laufen soll. Die Dienstbeschreibung lautet entsprechend.
Es wird eine abweichende AGDB Datei angegeben sowie ein abweichender Pfad für die LOG Ausgabe.
Obwohl keine Leerzeichen in den Pfaden vorhanden sind, wurde hier die Pfade in Anführungszeichen gesetzt zur besseren Verdeutlichung.
Ein abweichendes Konto wurde hier nicht benutzt.

AGVIPBackendService.exe -install /sn:AGVIPBackendService-Demo -sdn:"AG-VIP SQL Backend Service - Demo" -scl:"-conn:""D:\Dev\Root\Projects\Bin\Debug\AGVIP-Demo.agdb"" /log:""D:\Dev\Root\Projects\Bin\Debug\Demo"""

Anwendungsbeispiel 2:

In dem zweiten Beispiel wird ein Job Scheduler unter dem Account des PCs PC-4711 angelegt mit dem entsprechenden Kennwort. Es wird garantiert, dass dieser Account auch als Dienst ausführen darf. Es werden die Standard Dienstnamen verwendet.

AGVIPJobScheduler -install -u:PC-4711\XYZ -p:ahfkdf,1ghj -EnableServiceLogonRight

2020-04-20 11:38
Martin Richter

Beeinflussen der Bearbeitungshistorie und zurückspringen zu vorhergehenden Arbeitsbereichen

Hintergrund:

AG-VIP SQL merkt sich aus welchen aktiven Arbeitsbereichen man in andere Arbeitsbereiche springt.

Wird zum Beispiel eine Adresse bearbeitet und man greift ein Ticket auf, dann kehr AG-VIP SQL nach Bearbeitung des Tickets in die alte Adresse zurück und lädt diese erneut.
Das gleiche passiert, wenn man sich in einer Projektstufe befindet und diese verlässt um fällige Wiedervorlagen zu bearbeiten. Anschließend kehrt man zu der ursprünglichen Stufe zurück. Auch im CRM Modus wird hier diese Bearbeitungshistorie mit geführt. Öffnet man über die CRM Verknüpfungen eine Adresse oder ein Ticket und beendet dort die Bearbeitung, dann kehrt man in den zuvor offnenen Datensatz zurück.

AG-VIP SQL führt eine Historie über die letzten 10 Vorgänge.

Es gibt aber Fälle in denen dieses Verhalten stört oder ungewünscht ist. Wenn zum Beispiel grundsätzlich immer nur von Bearbeitungsstufe zu Bearbeitungsstufe gesprungen wird, dann ist das zurückkehren zum vorherigen Modus ungünstig oder nur hinderlich,

Lösung (ab Version 2.01.002):

  • Man kann in der AGVIP.INI im Abschnitt [Options] den Eintrag MaxPreviousStateHistory=n  ergänzen. Damit begrenzt man das "Gedächtnis" von AG-VIP SQL auf diese Anwahl von Einträgen. Wird hier also 1 eingetragen kann man exakt einmal zurückspringen. Wird dann ein Vorgang abgeschlossen, erscheint AG-VIP mit der Darstellung des Arbeitsbereiches ohne, dass eine Tabelle geöffnet ist.
  • Setzt man den Eintrag gar auf 0, dann wird grundsätzlich niemals ein anderer Arbeitsbereich nach dem Schließen eines vorgehenden Datensatzes geöffnet.
  • Will man die Bearbeitungshistorie behalten, aber in einem bestimmten Moment nicht, das man zurück springt ist es auch möglich die Umschalt-Taste (Shift-Taste) beim Klicken auf den "Schließen-Schalter" in der Projektampel oder auf dem x, rechts oben in der Ecke der Ansichten festzuhalten. AG.VIP SQL leert in diesem Fall die Bearbeitungshistorie und man kehrt in den Modus zurück, in dem AG-VIP keinen Tabellenkontext geöffnet hat (ab Version 2.01.004)

 

2020-02-26 13:50
Martin Richter

SIP/VOIP Telefonie - Gesprächspartner hört mich nicht - "one-way" Problem

Beschreibung:
Wenn Ihr Gesprächspartner Sie nicht hört, Sie jedoch Ihn schon, dann spricht man von einem "one-way" (Einbahnstraße) Problem.
Dieses Problem kann mehrere Ursachen haben, häufig jedoch liegt es an der Konfiguration der eingesetzten Antivirensoftware.

Mögliche Ursache beim Einsatz von Kaspersky Endpoint Secutiry:
Kaspersky Endpoint Security, genauer die Komponente «Programm-Überwachung»,
fügt die AGVIP.exe der Sicherheitsgruppe «Schwach eingeschränkt» hinzu.
Programme, welche sich in dieser Sicherheitsgruppe befinden haben eingeschränkte Rechte auf dem Computer, wie z.B. kein Zugriff auf Aufnahmegeräte (Mikrofon).
Zur Ermittlung einer Sicherheitsgruppe dienen die digitalen Signaturen und die Informationen,
die von den KSN-Teilnehmern (Kaspersky Security Network) zur Verfügung gestellt werden.
KSN ist eine cloudbasierte Wissensdatenbank mit Informationen zur Reputation von Dateien, Internet-Ressourcen und Programmen.

Lösung für Kaspersky Endpoint Security:
Umgangen werden kann das Problem damit, dass die AGVIP.exe manuell der Sicherheitsgruppe «Vertrauenswürdig» hinzugefügt wird.
Dazu muss folgendermassen vorgegangen werden:

- Kaspersky Endpoint Security > Einstellungen > Erweiterter Schutz > Programm-Überwachung
- Schaltfläche «Programme»
- Registerkarte «Rechte für Programme»
- «Hinzufügen» respektive «Ändern» 
- AGVIP.exe in Gruppe «Vertrauenswürdig» hinzufügen respektive verschieben

2020-06-22 09:58
Peter Brandt

Durchführen einer Reparaturinstallation mit Neuinstallation aller AG-VIP SQL Dateien

Hintergrund:

Wird das Installation Programm nach einer bestehenden Installation oder einem bestehenden Update erneut mit der gleichen Version gestartet wird eine Reparaturinstallation ausgeführt.

Reparatur Installation mit dem All-In-One-Installer

Wird der All-InOne-Installer (SetupAVIP.exe auf der CD oder VIP_SQL_xyyzzz.exe) ausgeführt, erfolgt automatisch eine Reparaturinstallation, wenn zuvor die gleicher Version installiert war. Ansonsten erfolgt ein Update.
Downgrades sind ohne Deinstallation nicht erlaubt.

Die Reparaturinstallation ersetzt immer alle Dateien, die zu diesem Setup-Paket gehören.
Im Allgemeinen müssen zuvor keine alten Dateien gelöscht werden.

Es werden garantiert keine Benutzereinstellungen (AGVIP.INI oder AGVIP.AGDB) oder Benutzerdaten (andere Dateien die in den AG-VIP SQL Ordner gelegt wurden verändert oder gelöscht. Auch andere Dateien, die in den Ordner kopiert wurden werden nicht überschrieben, sofern diese nicht den gleichen Namen wie eine AG-VIP SQL Komponente.

Reparaturinstallation mit einem MSI Paket.

Man kann mit den MSI Paketen, die wir ausliefern auch eine Reparaturinstallation ausführen. Dazu muss das MSI Paket mit folgenden Parametern gestartet werden, damit auch in diesem Fall alle Dateien aktualisiert werden

msiexe /I <Pfad auf MSI Datei>] REINSTALL=ALL REINSTALLMODE=vamus

Welche Dateien gehören zur AG-VIP SQL Installation

 Die folgenden Dateien können im Problemfall und auf Anweisung des Support-Teams ohne Probleme gelöscht werden.
Nachfolgend werden die Dateigruppen aufgeführt und erklärt.

  • Ausführbare Dateien: Dateien mit der Endung *.exe, *.dll, *.manifest, *.vsto
  • Dokumentation:  Ordner Docs mit den Endungen *.pdf
  • Reporting-Engine: Ordner LL25 (alle Dateien mit verschiedenen Dateiendungen)
  • VoIPSIP Komponente: Ordner VoIPSIP (alle Dateien mit verschiedenen Dateiendungen)
  • Manueller TAPI Treiber: Ordner TSP (alle Dateien und Unterordner mit verschiedenen Dateiendungen)
  • Daten für Kontonummernprüfung: Ordner Data\Bankcode (alle Dateien mit verschiedenen Dateiendungen)
  • Daten für Rechtschreibprüfung: Ordner Data\Dictonaries (alle Dateien mit verschiedenen Dateiendungen)
  • Hilfedateien: Dateien mit der Endung *.chm
  • Geodaten: AGCountry1.DAT und AGCountry2.DAT
  • Diverse .BAT Dateien

 

2020-07-07 15:52
Martin Richter

Report Verwaltung - Datei oder Assembly nicht gefunden

Beschreibung:
Beim Starten der Report Verwaltung in der Administration "Report Vorlagen" erscheint folgende oder eine ähnliche Fehlermeldung:

Erläuterung der Fehlermeldung:
Diese Meldung sagt, dass es aus Sicherheitsgründen Ihrem Arbeitsplatz nicht erlaubt ist, die Datei aus dem Netzwerk zu verwenden.
Die Quelle (Server), ist in Ihrem Netzwerk nicht als vertrauenswürdig konfiguriert.
Dies bedeutet zugleich, dass diese Meldung nicht auftreten wird, wenn AG-VIP SQL lokal installiert ist.

Darstellung von Sicherheitsproblemen:
Wenn z.B. der Server auf dem AG-VIP SQL installiert ist nicht als vertrauenswürdige Quelle eingetragen ist, erhalten die Clientrechner beim Starten von AG-VIP SQL folgende Warnung:

Lösung:
Es gibt je nach Infrastuktur unterschiedliche Lösungen.
1. Möglichkeit: Internetoptionen am betroffenen Arbeitsplatz anpassen
Zum Anpassen der Einstellungen öffnen wir zuerst die Systemsteuerung und wählen die Internetoptionen aus.
Systemsteuerung Internetoptionen

Im folgenden Fenster ist die Registerkarte Sicherheit zu wählen.
Als Zone klicken wir nun auf Lokales Intranet und anschließend auf den Button Sites

Eigenschaften von Internet

 

In diesem Fenster trifft in der Regel die Einstellung Intranet automatisch ermitteln zu. Mit einem Klick auf Erweitert gelangen wir in das dritte und letzte Fenster.

In dem Feld Diese Website zur Zone hinzufügen tragen wir jetzt die IP-Adresse bzw. den Namen unseres Netzlaufwerkes bzw. NAS ein und fügen es der Liste hinzu. Bitte nicht von dem Begriff Website irritieren lassen, es muss hier kein vorangehendes http:// oder ähnliches eingetragen werden.

Die Einstellungen sollten anschließend wie folgt aussehen:

 Lokales Intranet

 Alle Fenster können anschließend mit Schließen und OK verlassen werden.
Die Einstellungen sind augenblicklich wirksam. Es bedarf keines Neustarts.

Diese Konfiguration kann auch automatisiert über ein Batch-Script oder CMD/Eingabeaufforderung gesetzt werden:

Wer das ganze automatisiert per Batch-Skript oder CMD/Eingabeaufforderung setzen möchte oder muss, kann einen neuen Eintrag wie folgt hinzufügen:

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\192.168.1.2" /V "*" /t REG_DWORD /D 1 /f

Anzupassen ist hier lediglich noch der Hostname bzw, die IP.

Für den manuellen Weg über die Registry öffnen wir den Schlüssel 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

 und erstellen im Schlüssel Domains wiederum für jeden Eintrag einen neuen Schlüssel.
Jeder neu erstellte Schlüssel sollte anschließend einen DWORD-Wert (32-Bit) mit dem Namen * erhalten, dem der Wert 1 zugewiesen ist.

 2. Möglichkeit: Group policies (Gruppenrechte)
Für die Konfiguration der Gruppenrechte verweisen wir auf einen Microsoft Artikel der dies beschreibt:

https://docs.microsoft.com/de-de/archive/blogs/askie/how-to-configure-internet-explorer-security-zone-sites-using-group-polices

 

2020-08-11 10:54
Peter Brandt

Evalanche - Zertifikatsprobleme seit dem 04.01.2021

Problem:
Die Hintergrundprozesse von Evalanche erhalten alle die Meldung, dass das Server bzw. Client Zertifikat für HTTPS nicht ordnungsgemäß mit HTTP.SYS konfiguriert wurde.

Fehlermeldung:

Fehler beim Erstellen der HTTP-Anforderung für https://scnem2.com/soap.php/soap/mandator. Dies ist möglicherweise darauf zurückzuführen, dass das Serverzertifikat im Fall von HTTPS nicht ordnungsgemäß mit HTTP.SYS konfiguriert wurde. Eine andere mögliche Ursache kann eine fehlende Übereinstimmung bei der Sicherheitsbindung zwischen Client und Server sein.

Ursache:
SC-Networks (Hersteller von Evalanche) hat am 04.01.2021 die Unterstützung von TLS1.0 deaktiviert und auf TLS1.2 umgestellt.

Lösung:
Wie im folgenden Microsoft Artikel beschrieben, muss TLS1.2 in der Registry aktiviert werden:
https://docs.microsoft.com/de-de/mem/configmgr/core/plan-design/security/enable-tls-1-2-client

Im Anhang finden Sie eine Zip-Datei, in der eine Reg-Datei ist.
Mit dieser können Sie die erforderlichen Einstellungen per Doppelklick auf dem Rechner einrichten,
auf dem der AG-VIP SQL JobScheduler Service installiert ist.

Speziell für das Betriebssystem "Server 2008 R2":
Führen Sie zusätzlich auf die "Server 2008 R2 - TLS1.2.reg" Datei ebenfalls einen Doppelklick aus.

TLS unterstütztende Betriebssysteme:
- Alle Betriebssysteme ab Server 2008 R2

Weiterer KB-Artikel:
Falls es noch weitere Probleme mit SSL&TLS geben sollte, könnte folgender Artikel weiterhelfen:
https://kb.grutzeck.de/index.php?solution_id=1441 

 

2023-10-24 13:00
Peter Brandt

Evalanche - keine Vertrauensstellung für SSL/TLS

Beschreibung:
Das Zertifikat von SCNEM bzw. SCNEM2 wird nicht als vertrauenswürdig erkannt.

Fehlermeldung:
- Es konnte keine Vertrauensstellung für den sicheren SSL/TLS-Kanal mit Autorität 'SCNEM' eingerichtet werden.
bzw.
- Could not establish secure channel for SSL/TLS with authority 'SCNEM'.

Lösung:
Über die URL https://SCNEM.com bzw. https://SCNEM2.com aufrufen und über den Browser das Zertifikat herunterladen und installieren.

 

2021-01-07 08:32
Peter Brandt

SMTP - Fehler beim Versenden: Unzulässige Attribute

Beschreibung:
Dieser Fehler tritt auf, wenn mit veralteten Betriebssystemen gearbeitet wird, welche nicht die neuen Features von SMTP unterstützen.
Dies kann auf Windows7 oder z.B. auf Server 2008 Betriebssystemen auftreten.

Neuere Betriebssysteme unterstützen die neuen SMTP-Features und haben daher keine Probleme

Fehlerbehebung:
Optimal wäre natürlich, dass veraltete Betriebssystem durch ein aktuelles zu ersetzen.
Da dies oft nicht möglich ist, kann die ältere im Anhang hinterlegte "AGSendMailSMTP.dll" in das Installationsverzeichnis kopiert werden und dadurch die neuere überschrieben werden.
In der älteren werden noch nicht die neuen Features wie z.B. die Unterstützung von Umlauten in E-Mail Adressen unterstützt.

2021-01-14 10:08
Peter Brandt

Einsatz einer älteren WebView2 (Edge) Version in AG-VIP SQL

AG-VIP SQL benutzt den WebView2 (Edge Browser) immer in der aktuellsten Version. Das ist die normale Einstellung.

D.h. wenn Microsoft ein Update für diesen Browser herausgibt, wird auch die WebView2 version, die AG-VIP SQL lädt aktualisiert. Dieser Modus nennt sich "Ever Green Installation".

Wenn es zu Problemen mit diesem Update kommt, kann es günstig sein, auf eine ältere Version zurück zu greifen.

Bitte führen Sie diese Änderungen nach Möglichkeit nur nach Rücksprache mit dem AG-VIP Support durch.

In der nachfolgenden Vorgehensweise wird beschrieben wie man auf die ältere Version "90.0.818.66" zurückspringt. Der Name der Version ist entsprechend anzupassen, wenn eine andere Version genutzt werden soll.

1. Herunterladen der alten Version.

Öffnen der Webseite von Microsoft:
https://developer.microsoft.com/de-de/microsoft-edge/webview2/#download-section 

Wählen Sie Unveränderbare Version, Version 90.0.818.66, Architektur x86

2. Heruntergeladene Datei entpacken

Öffnen sie ein Befehlszeilenfenster (CMD.EXE).
Wechseln Sie in das Download Verzeichnis mit

cd "C:\Users\<username>\Downloads\"

Entpacken Sie die Dateien mit 

expand Microsoft.WebView2.FixedVersionRuntime.90.0.818.66.x86.cab -f:* .

3. Neuen Ordner für die alte Version erzeugen

Erzeugen Sie mit dem Explorer oder CMD:EXE den neuen Ordner:
C:\Program Files (x86)\Microsoft\EdgeWebView\Application\90.0.818.66

3. Den Inhalt des entpackten Ordners in den neuen Ordner komplett kopieren.

Die Dateien und Verzeichnisse werden aus dem folgenden Verzeichnis
C:\Users\<username>\Downloads\Microsoft.WebView2.FixedVersionRuntime.90.0.818.66.x86
nach
C:\Program Files (x86)\Microsoft\EdgeWebView\Application\90.0.818.66
kopiert.

4. AG-VIP Versionen ab 2.05.003: Setzen des Ausführungspfades in der AGVIP.INI

Diese Einstellungen müssen nur vorgenommen werden, wenn Sie AG-VIP SQL 2.05.003 oder neuer einsetzen! Setzen Sie eine ältere Version ein, lesen Sie bitte den nächsten Abschnitt.

Öffnen Sie die AGVIP.INI Datei aus dem Programmverzeichnis in einem Editor.
Ergänzen Sie im Abschnitt [Options], den EintragWebView2ExecutableFolder mit dem Pfad für die entsprechende Edge/WebView 2 Version.

[Options]
WebView2ExecutableFolder=C:\Program Files (x86)\Microsoft\EdgeWebView\Application\90.0.818.66

AG-VIP Versionen bis 2.05.002

Diese Einstellungen und nachfolgenden Schritte müssen nur vorgenommen werden, wenn Sie eine ältere Version als AG-VIP SQL 2.05.003 einsetzen!
Sollten Sie eine Version 2.05.003 oder neuer einsetzen, ändern Sie bitte einfach den Eintrag in der AGVIP.INI Datei.

4.1 Umgebungsvariable WEBVIEW2_BROWSER_EXECUTABLE_FOLDER setzen. 

Durch diese Umgebungsvariable wird gesteuert welche Version des WebView2 verwendet werden soll.
Öffnen Sie die Erweiterte System Einstellungen (Suche "Erweiterte Systemeinstellungen")
Nun die Einstelllungen der Umgebungsvariablen öffnen.
Neue Systemvariable anlegen.

Name: WEBVIEW2_BROWSER_EXECUTABLE_FOLDER
Wert: C:\Program Files (x86)\Microsoft\EdgeWebView\Application\90.0.818.66

Wird die Umgebungsvariable nur für den Benutzer eingerichtet, dann gilt die Einstellung nur für das Profil, des aktuell angemeldeten Benutzers.

Das eignet sich zum gut zum testen. Damit alle Benutzer an diesem Rechner die alternative WebView2 Version verwenden muss die Variable als Systemvariable gesetzt werden.

4.2. Neustart des Rechners.

Die Einstellungen werden erst nach einem Rechnerneustart wirksam.

4.3. Testen der Umgebungsvariable

Die Umgebungs Variable kann wir folgt getestet werden.
Befehlszeilenfenster öffnen (CMD.EXE)
Variable WEBVIEW2_BROWSER_EXECUTABLE_FOLDER anzeigen lassen mit:

set WEBVIEW2_BROWSER_EXECUTABLE_FOLDER

Test auf das korrekte Zielverzeichnis mit:

dir "%WEBVIEW2_BROWSER_EXECUTABLE_FOLDER%"

AG-VIP SQL wird nun diese Version des WebView2 benutzen.

Achtung: Updates des WebView2 werden nicht mehr berücksichtigt. Um wieder die aktuelle Version zu benutzen muss der

Änderungen Rückgangig machen.

Schritt 4.1 muss rückgängig gemacht werden.
Öffnen Sie die Erweiterte System Einstellungen
Löschen Sie die Umgebungsvariable WEBVIEW2_BROWSER_EXECUTABLE_FOLDER.

 

2024-04-16 09:31
Martin Richter

Löschen temporären der Browserdaten für den WebView2 (Edge) Browser

Für die Browserdaten des WebView2 (Edge Browser), die in AG-VIP SQL verwendet werden wird ein eigenes temporäres Verzeichnis verwendet.

Der Inhalt des temporären Verzeichnisses wird bei neueren Windows Versionen automatisch verwaltet und gelöscht. Bei älteren Windows Versionen oder Problemen mit dem WebView2 kann es sinnvoll sein, dieses Verzeichnis gezielt zu löschen.

Beachten, Sie dass hierbei auch alle Cookies (das heißt auch gespeicherte Kennworte) und der gesamte Cache gelöscht werden.

Gehen Sie wie folgt vor:

  1. Schließen Sie AG-VIP SQL
  2. Öffnen Sie den Explorer
  3. Geben Sie in der Adressleiste %TMP%\AG-VIP SQL ein.
  4. Löschen Sie den gesamten Ordner BrowserData
  5. Starten Sie AG-VIP SQL erneut.

 

2021-06-29 10:27
Martin Richter

Grundlagen für die Datensicherung von AG-VIP SQL über den SQL Server

Hintergrund

Datensicherung ist essentiell. Warum?

Nach einer Statistik werden Datenverluste verursacht zu

  • 60% durch Hardware Defekte unterschiedlicher Art
  • 25% durch menschliche Fehler und Fehlbedienung
  • 10% durch Software Fehler
  • 5% durch sonstiges (Viren etc.)

Ein falscher Import, ein falscher Löschvorgang, ein falsches Feld entfernt, eine Änderung an einem Hintergrundprozesse ... und ohne Datensicherung sind Ihrem dem Datenbestand evtl. Informationen verloren gegangen, die nicht wiederherstellbar sind.

Komplette Datensicherungen der entsprechenden Maschinen sind eine häufige Variante. D.h. virtuelle Maschinen oder physische Maschinen werden als Ganzes mit allen Festplatten gesichert. Meistens sind diese bei virtuellen Maschinen einfach einzurichten. Bei physischen Maschinen ist dazu spezielle Software nötig. (Hinweis: Eine SQL-Datenbank die benutzt wird, kann nicht kopiert werden). Der Nachteil ist, dass der Zugriff auf einen bestimmten Bestand zu einer bestimmten Zeit, nicht einfach möglich ist, da solche Sicherungen relativ selten laufen.

Sicherung über den MS SQL-Server sind hier der Beste weg. Über den SQL-Server lassen sich Sicherungen nach allen Möglichkeiten und Varianten einrichten.

Wichtig ist, dass die gesicherten Dateien natürlich auch in eine externe Datensicherung einbezogen werden, um auch gegen elementare Bedrohungen geschützt zu sein. Diese Sicherungen sollten auch außerhalb des Firmenstandortes gelagert werden.

Schutzfunktionen in AG-VIP SQL

Intern in AG-VIP SQL sollten aber auch alle Möglichkeiten genutzt werden, die vor Datenverlust durch Benutzer schützen. Das sind zum einen die eingebaute Papierkorb Funktion in AG-VIP und  das Änderungsprotokoll.

Die Daten im SQL Server

Eine SQL Datenbank besteht physisch gesehen aus mindestens 2 Dateien. Den Datendateien (Endung .mdf) und den sogenannten Transaktionslog-Protokolldateien (Im weiteren nur noch Protokolldateien genannt).

Die Datendateien (.mdf) enthalten die eigentlichen Tabellen und Daten und stellen immer den Zustand zum aktuellen Zeitpunkt dar.

In den Protokolldateien (.ldf) werden alle Transaktionen und Vorgänge protokolliert und mitgeschrieben. Diese Dateien sind essentiell wichtig, wenn man granulare häufige Schnappschüsse des Datenbestandes erreichen möchte. Also z.B. eine stündliche oder gar eine Sicherung alle 15 Minuten.

Wiederherstellungsmodell der Datenbank

Je nach Einstellung wird der Platz in der Protokolldatei sofort nach einer Transaktion wiederverwendet. Oder die Protokolldatei wächst immer weiter bis der Plattenplatz aufgebraucht ist.
Unser Support hat bei Kunden Datenbanken gesehen, bei denen die Datendateien ca. 200 MB groß waren. Aber Protokolldateien in der Größe von 600 GB!

Die Verwendung der Protokolldateien wird durch die Einstellung des Wiederherstellungsmodells in der Datenbank bestimmt. Gleichzeitig muss die Einstellungen für die Protokolldateien auch entsprechend der gewollten Backupstrategie angepasst werden.

Das Wiederherstellungsmodell der Datenbank kann über die Eigenschaften der Datenbank kontrolliert und verändert werden.

Dazu gehen Sie wie folgt vor:

  1. Starten Sie das MS-SQL Management Studio
  2. Wählen Sie die entsprechende Datenbank aus.
  3. Öffnen Sie die Eigenschaften der Datenbank (Rechter Mausklick -> Eigenschaften)
  4. Wählen Sie den Karteireiter Optionen.
  5. Hier werden drei Wiederherstellungsmodelle angeboten: Einfach, Vollständig und Massenprotokolliert. In diesem Artikel betrachte ich nur die Modelle Einfach und Vollständig.

Wiederherstellungsmodell Einfach

Datenbanken, die nach mit der Version 2.03.001 oder später angelegt wurden, werden im Wiederherstellungsmodell Einfach angelegt.

In diesem Modell werden alle Änderungen an der Datenbank im Transaktionsprotokoll aufgezeichnet und am Ende der Operation in die Datenbank übertragen.
Der Platz in der Protokolldatei wird anschließend wieder als verfügbar markiert.

D.h. bei großen Datenänderungen (zum Beispiel einem großen Import, oder einem Datenbankupdate) wächst die Protokolldatei entsprechend an. Die Größe bleibt auch nach der Operation erhalten, aber der Platz in der Datei wird  für die nächste Transaktion wiederverwendet.

Typischerweise haben Protokolldateien eine Größe zwischen 1-250 MB. Diese Protokolldateien können sofort jederzeit verkleinert werden auf eine Größe von ca. 1 MB.

Passende Backupstrategien sind:

  • Komplette Backups
  • Differentielle Backups
  • Kopie-Sicherung

In diesen Backup Modellen benötigen Sie immer nur die Backupdatei der Daten!
Ein separates Backup der Transaktionslog Dateien ist nicht notwendig.

 

Wiederherstellungsmodel Vollständig

Datenbanken die mit einer Version 2.02.002 oder davor angelegt wurden, werden im Wiederherstellungsmodell Vollständig angelegt.

In diesem Modell werden alle Änderungen an der Datenbank im Transaktionsprotokoll aufgezeichnet und am Ende der Operation in die Datenbank übertragen.
Im Unterschied zum Model Einfach wird der Speicherplatz in der Protokolldatei anschließend nicht wieder als verfügbar markiert. D.h. mit der nächsten Transaktion und Datenbankänderung wächst die Protokolldatei weiter. Der Platz in der Protokolldatei wird bei diesem Verfahren erst wieder freigegeben, wenn eine Sicherung des Transaktionsprotokolls durchgeführt wird.

D.h. ohne eine Sicherung des Transaktionsprotokolls wird im Wiederherstellungsmodell Vollständig die Protokolldatei immer weiterwachsen, bis Sie den gesamten Platz auf der Festplatte einnimmt und der SQL Server seinen Betrieb einstellt.

Im Modell Vollständig ist eine Sicherung der Protokolldateien zwingend notwendig.

Passende Backupstrategien sind:

  • Komplette Backups mit regelmäßigen Protokolldatei Sicherungen
  • Differentielle Backups mit evtl. regelmäßigen Protokolldateisicherungen
  • Kopie-Sicherung

In diesen Backup Modellen benötigen Sie immer die Backupdatei der Daten und je nach gewünschtem Wiederherstellungszeitpunkt die passenden Transaktionslog Dateien.

Sicherungsverfahren für die Daten

Unabhängig vom Wiederherstellungsmodell bietet der SQL Server mehrere Sicherungsverfahren an:

  • Vollsicherung,
  • Differentialsicherung,
  • Kopie-Sicherung.

Vollsicherung

Die Vollsicherung ist die Basis für alle Sicherungsformen. Die Vollsicherung enthält den gesamten Datenbestand zu einem bestimmten Zeitpunkt.

Die Vollsicherung ist auch immer der Ausgangspunkt und die Grundlage für alle anderen Sicherungsformen.

Für einen Restore-Vorgang mit einer Vollsicherung benötigen Sie genau eine einzige Datei: Die Datei der Vollsicherung. Der Restore-Vorgang ist einfach: Man gibt nur die Vollsicherung als Medium an, die importiert werden soll.

Differentialsicherung

Bei der Differentialsicherung wird immer zuerst ein vollständiges Backup erzeugt. Anschließend können eine beliebige Anzahl von differenziellen Sicherungen erfolgen.

Nach einer Vollsicherung führt jede Datenänderung an der DB dazu, dass bestimmte Teile der DB als geändert markiert werden. Diese werden dann in die differentielle Sicherung aufgenommen.

Jede nachfolgende differenzielle Sicherung umfasst dann nur noch die geänderten Daten, die seit der letzten Vollsicherung geändert wurden. D.h. jede neue differentielle Sicherung wird je nach Menge der Änderungen größer sein als die Datei zuvor.

Durch eine neue Vollsicherung werden alle Datenseiten wieder als umgeändert markiert.
Führt man also nach einer Vollsicherung direkt eine differenzielle Sicherung aus, dann ist diese Datei nahezu leer.

Wichtig sind immer nur die Vollsicherung und die letzte differenzielle Sicherung. Alle anderen differenziellen Sicherungen können benutzt werden, um Zwischenstände der Datenbank wiederherzustellen.

Für einen Restore-Vorgang benötigen Sie zwei Dateien: zuerst immer die Vollsicherung und die letzte Differentialsicherung. D.h. bei einem Restore-Vorgang muss die Vollsicherung und die Differentialsicherung direkt beim Restore angegeben werden. Der Restore erfolgt nicht nacheinander, sondern in einer Aktion.

Ist die Vollsicherung nicht mehr verfügbar, sind auch alle Differenz-Backupdateien wertlos.

Sicherung Transaktionsprotokolls

Die Sicherung des Transaktionsprotokolls ist nur im Wiederherstellungsmodell Vollständig möglich.

Das Transaktionsprotokoll wird gesichert und der Speicherplatz in der Protokolldatei wird wieder als verfügbar markiert. D.h. die Datei wird nicht verkleinert, aber intern wird eine neue Änderung der Datenbank den verfügbaren Platz wieder verwenden.

Nach der Sicherung des Transaktionsprotokolls lässt sich eine Protokolldatei auch verkleinern.

Die Transaktionslog-Sicherung umfasst nur die Änderungen an der Datenbank seit der letzten Vollsicherung bzw. seit der letzten Protokollsicherung. Die Größe der Sicherung richtet sich also ausschließlich nach der Menge der Datenänderungen.

Um einen Datensicherung zurückzuspielen ist es nötig bei einem restore Vorgang die Vollsicherung anzugeben und dazu alle weiteren Protokollsicherungen, die gemacht wurden. Alle Protokollsicherungen müssen lückenlos vorliegen. Alle Dateien werden im Restore Vorgang gemeinsam angegeben.

Kopie-Sicherung der Daten

Eine Kopie-Sicherung ist nichts anderes als eine Vollsicherung. Mit dem Unterschied, dass die Datenseiten in der Datenbank nicht zurückgesetzt werden und die nächste differenzielle Sicherung wieder die Daten sichert, die seit der letzten "echten" Vollsicherung geändert wurden.

Mit einer Kopie-Sicherung lässt sich also ein Schnappschuss der aktuellen Datenbank erzeugen ohne die Sicherungs-Sequenz selbst zu stören.

Kopie-Sicherung der Protokolldatei

Die Kopie-Sicherung des Transaktionsprotokolls ist nur im Wiederherstellungsmodell Vollständig möglich.

Wie bei der Kopie-Sicherung der Daten wird die Sicherungssequenz nicht gestört. Man erzeugt eine Kopie der Protokolldatei. Der interne Speicherplatz wird aber hierbei nicht freigegeben. Die Datei wird anschließend weiterwachsen, wenn es erneute Änderungen an der Datenbank gibt.

Die Kopie-Sicherung stört nicht die übliche Sequenz einer normalen Protokollsicherung.

Backupstrategien

Ausschließliche Verwendung von Vollsicherungen

Es werden ausschließlich Vollsicherungen erzeugt.
Das Wiederherstellungsmodel ist auf Einfach eingestellt. Eine Sicherung der Transaktionsprotokolle ist nicht notwendig.
Typisches Sicherungsinterval: 1-3 x wöchentlich.

Gut anwendbar:

  • Bei kleinen Datenbeständen
  • Bei Datenbeständen, bei denen eine Sicherung nicht in kurzen Abständen nötig ist.

Vorteile:

  • Einfache Rücksicherung.
  • Einfache Einrichtung.

Nachteile:

  • Wird das Sicherungsintervall kurz, kommen große Datenbestände zusammen.
  • Keine granulare Sicherung (in kurzen Zeitabständen) möglich.

 

Verwendung Vollsicherungen und Differenzialsicherungen

Es werden regelmässig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Einfach eingestellt.
Eine Sicherung der Transaktionsprotokolle ist nicht notwendig.
Typisches Sicherungsinterval: 1 x wöchentlich eine Vollsicherung. 1-2 x täglich eine differenzielle Sicherung.

Gut anwendbar:

  • Bei kleinen bis mittleren Datenbeständen
  • Bei wenigen Datenänderungen
  • Wenn eine schnelle einfache Rücksicherung nötig ist.

Vorteile:

  • Einfache Rücksicherung. (Rücksicherung der letzten Vollsicherung + Rücksicherung der passenden Differenzialsicherung)
  • Übersichtliche Anzahl von Dateien. Nur zwei Dateien werden für eine Rücksicherung benötigt.
  • Oft verwirrend, weil Vollsicherung und Differentialsicherung oft mit der gleichen Dateinamenerweiterung (.bak) erzeugt werden.

Nachteile:

  • Wird das Sicherungsintervall kurz, kommen große Datenbestände zusammen.
  • Keine granulare Sicherung (in kurzen Zeitabständen) möglich bzw. nur mit großem Volumen.
  • Große Datenänderungen am Anfang des Sicherungszyklus vergrößern auch alle folgenden Differentialsicherungen.
  • Die Differentialle Sicherung kann so lange dauern wie ein Vollsicherung (Belastung des SQL Servers ist größer)

 

Verwendung von Vollsicherungen mit Sicherung der Transaktionsprotokollen

Es werden regelmäßig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Vollständig eingestellt.
Typisches Sicherungsintervall: 1 x wöchentlich eine Vollsicherung. Sicherung des Transaktionsprotokolls im 15min - 4 Stunden Zyklen.

Gut anwendbar:

  • Bei jeder Form von Datenbestand
  • Sicherungsvolumen ist klein.
  • Dieses Sicherungsformat ist für alle AG-VIP SQL Nutzer geeignet und wird von uns favorisiert.

Vorteile:

  • Extrem kompaktes Sicherungsformat, da nur die Änderungen seit der letzten Vollsicherung aufgezeichnet werden.
  • Auch sehr kurze Sicherungsintervalle sind möglich (alle 5 Minuten)
  • Belastung des SQL Servers ist extrem gering während des laufenden Betriebes.
  • Damit werden extrem granulare Sicherungen möglich.

Nachteile:

  • Komplexe Rücksicherung. (Rücksicherung der letzten Vollsicherung + Rücksicherung aller notwendigen Transaktionsprotokollen). Bei einem Sicherungsintervall von 15min, können in einer Woche bis zu 400 Dateien zusammenkommen.

 

Verwendung von Vollsicherungen, zusätzlich mit Differenzialsicherungen und mit Sicherung der Transaktionsprotokollen

Es werden regelmäßig Vollsicherungen erzeugt. Das Wiederherstellungsmodel ist auf Vollständig eingestellt.
In regelmässigen Abständen werden zusätzlich Differentialsicherungen erzeugt.
Typisches Sicherungsintervall: 1 x wöchentlich eine Vollsicherung. Differentielle Sicherung 1x täglich, Sicherung des Transaktionprotokolls im 15min - 4 Stunden Zyklen.

Gut anwendbar:

  • Bei jeder Form von Datenbestand
  • Wenn Sicherungsvolumen keine Rolle spielen.

Vorteile:

  • Einfacheres Rückspielen von Datensicherungen durch die Differentialsicherungen (2 Dateien: Voll- und Differentialsicherung, dazu die entsprechenden Transaktionssicherungen)

Nachteile:

  • Komplexe Rücksicherung. 
  • Dateiform Chaos (welche Sicherung ist welche Datei)

 

Weitere Artikel zu dem Thema

 

2023-08-28 12:14
Martin Richter

Abstürze und Programmhänger protokollieren mit Procdump

Hintergrund:

Programmabstürze oder Hänger sind ärgerlich und die Ursachen sind meistens nicht leicht zu ermitteln.

AG-VIP SQL verfügt über Mechanismen um Dumps automatisch zu erzeugen. Leider gibt es bestimmte Arten von Abstürzen, die dennoch nicht protokoliert werden.

Abhilfe kann hier das Programm Procdump schaffen. Microsoft stellt dieses Tool über die SysInternals Tools zur Verfügung:
https://docs.microsoft.com/en-us/sysinternals/downloads/procdump

Procdump sollte nur zum Einsatz kommen, wenn AG-VIP SQL keine eigenen Dump erzeugt.
Oder lange Hänger im Programm analysiert werden sollen.

Anwendung:

Laden Sie Procdump herunter und entpacken Sie die Datei.

  • Starten Sie AG-VIP SQL wie gewohnt.
  • Öffnen Sie nun einen Command Prompt / Eingabeaufforderung
    (Alt+R, CMD.EXE, Eingabetaste, oder über Windowstaste+S, Eingabeaufforderung)
  • Der Command Prompt muss nicht als Admin gestartet werden.
  • Starten Sie nun Procdump aus dem Installationsverzeichnis, dass Sie gewählt haben mit:
    procdump -ma -h -e -n 10 AGVIP.EXE <Pfad für Dump Dateien>

Achtung! Volle Dump Dateien können von 100MB bis zu 800MB groß werden!

Wenn ein Crash oder ein Hänger festgestellt wird, dann wird ein voller Speicherdump erzeugt und in dem Verzeichnis abgelegt.
Notieren Sie unbedingt was zu diesem Dump geführt hat.

Procdump beendet sich automatisch wenn die Anzahl der Dumps erreicht wurde oder AGVIP.EXE beendet wird.

Achtung: Wenn auch AGVIP.EXE einen Dump erzeugt, kommt es vor, dass zeitglich Procdump auch mehrere eigene Dumps erzeugt.

Erläuterung der Programmparameter:

  • -ma instruiert Procdump volle Speicher Dumps zu erzeugen.
  • -h erzeugt Dumps auch wenn das Programm hängt (d.h. länger als 5 Sekunden keine Nachrichten erhält) 
    Achtung: Mit dieser Option werden Dumps auch bei langen Operationen (Kontextwechsel, öffnen vieler Ansichten, langsamer Netzwerkverbindung) erzeugt. Das ist nicht unbedingt gewünscht, aber bei dieser Option nicht zu vermeiden.
  • -e erzeugt Dumps wenn in AG-VIP SQL eine unbehandelte Ausnahme auftritt (üblicherweise ein Crash)
  • -n 10 begrenzt die Anzahl der Dumps auf 10.
  • AGVIP.EXE  ist der zu untersuchende Programmname. Andere Prozesse werden nicht beobachtet.
  • <Pfad für Dump Dateien> Geben Sie hier einen Speicherort für die erzeugten Dumps an.

Was mache ich mit den Dumps?

  1. Schreiben Sie sich zu jedem Dump auf, wie er entstanden ist. D.h. was Sie in AG-VIP SQL gerade gemacht haben. Dazu die genaue Uhrzeit, damit wir diese Aktivität einem Dump zuordnen können.
  2. Packen Sie die Dateien (Zip, 7z, o.ä.)
    Senden Sie diese Dateien nicht per Email! Diese Dateien sind zu groß!
  3. Verwenden Sie OneDrive oder Dropbox oder einen anderen Filesharing Dienst und erzeugen einen Link für unseren Support.
  4. Alternativ kontaktieren Sie unseren Support und Fragen nach einem FTP Upload. Laden Sie die Dateien mit dem Explorer oder einem FTP Programm (FileZilla) hoch.
  5. Senden Sie uns eine Email mit Link auf die Filesharing Plattform und dem Hinweis, dass Sie Dumps fertiggestellt haben. Bitte senden Sie uns auch die Aufstellung der detaillierten Aktionen, die zu den Dumps geführt haben.

 

Siehe auch:

 

2024-01-25 11:50
Martin Richter

WCF-Service - HTTP ERROR 500.19 - 0x800700c1

Problembeschreibung:

Der WCF-Service wurde erfolgreich installiert.
Beim Aufruf der WCF-Service URL tritt jedoch der folgende Fehler auf: HTTP ERROR 500.19 - 0x800700c1

Mögliche Ursache:

Auf dem IIS-Server wurde ein weiterer Service z.B. "WSUS" installiert, welcher in der applicationHost.config zwei neue Module eingetragen hat, welche einen Effekt auf alle Applikationpools im IIS haben und dadurch jede 32bit Anwendung mit dem genannten Fehler nicht ausführbar machen.

Lösung:

In der "C:\Windows\System32\inetsrv\config\applicationHost.config" müssen die folgenden zwei Module im Abschnitt <modules> um das Attribut preCondition="bitness64" erweitert werden:

  • <add name="DynamicCompressionModule"preCondition="bitness64" /> 
  • <add name="StaticCompressionModule"preCondition="bitness64" />

Hinweis: Es gibt auch einen Abschnitt <globalModules>aber die Änderung muss im Abschnitt <modules> getätigt werden!

Anschließend den IIS-Dienst neustarten.

Verweise:

Folgender Supportartikel der Firma GFI LanGuard beschreibt das Problem ausführlich:

https://support.languard.gfi.com/hc/en-us/articles/360015160499-HTTP-error-500-19-with-error-code-0x800700c1-when-synchronizing-with-Central-Management-Server

 

2022-03-17 00:00
Peter Brandt

Wie kann ich die Sound Einstellungen von AG-VIP ändern?

Situation:

AG-VIP gibt akustische Signale beim

  • Starten der Anwendung
  • Schließen der CRM Software
  • wenn eine Aktivität / Wiedervorlage fällig ist

Nicht jedem gefällt das standardmäßig eingestellte Signal. Der ein oder andere möchte auch keinen Sound haben.

Lösung:

  1. Geben Sie in der  Windows Eingabe "Soundeinstellungen" an.
    Windows Sound Einstellungen
  2. Im Dialog rollen Sie etwas nach unten und klicken auf den Punkt "Sound Systemsteuerung".
  3. Im neuen Dialog wechseln Sie den Tab  auf "Sounds".
    Windows Sound - Systemsteuerung
  4. Rollen Sie hier herunter bis zum Abschnitt "AG-VIP".
    Dort finden Sie die Ereignisse, in denen AG-VIP Sounds abspielt.
  5. Markieren Sie das Ereignis und wählen unter Sounds unten die gewünschte Melodie aus, die abgespielt werden soll. Rechts finden Sie den Schalter "Testen", um die Melodie abzuspielen.
    Bei der Auswahl "(Kein)" wird der in AG-VIP SQL hinterlegte Standard (Fanfare) verwendet.
    Wollen Sie keinen Ton beim Aktivitäten-Alarm, gehen Sie wie im unteren Abschnitt "Kein Alarm-Ton" beschrieben vor.
  6. Speichern Sie Ihre Auswahl über den Schalter Übernehmen und OK.
  7. Starten Sie AG-VIP neu. Die Änderungen werden jetzt wirksam.

Kein Alarm-Ton:

Am Ende dieses Artikels können Sie eine WAV-Datei herunterladen die keinen Sound enthält.
Über "Durchsuchen" können Sie diese Datei dann direkt im Media Ordner von Windows einfügen und anschließend auswählen.
Soundseinstellungen

Tipp: Grundsätzlich keine Soundausgabe

Methode 1: Die Befehlszeile

Wenn Sie keinerlei akustisches Signal von AG-VIP möchten, nutzen Sie beim Aufruf von AG-VIP den Parameter -noSound
Diese Einstellung betrifft nur die benutzer, die diese Verknüfung verwenden.

Beispiel:

„C:\Program Files (x86)\AG-VIP\agvip.exe –nosound

Methode 1: Die Registry

Öffnen Sie den Registrierungs Editor REGEIDT. Wechseln Sie in auf 64bit Systemen in den den Pfad:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Grutzeck Software\AG-VIP SQL
Auf 32bit Systemen öffnen Sie den Pfad.
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Grutzeck Software\AG-VIP SQL

Erzeugen Sie einen neuen DWORD-Wert mit dem Namen NoSound und tragen dort den Wert 1 ein.

Die Einstellung ist für alle Benutzer auf diesem Rechner wirksam.

Methode 2: Die AGVIP.INI Datei

Öfffnen Sie Ihre zugehörige AGVIP.INI Datei. Achtung diese Einstellung gilt für alle Benutzer, die diese AGVIP.INI Datei verwenden.

Suchen Sie den Eintrag [Application], sollte dieser nicht existieren erzeugen Sie ihn. Erzeugen Sie einen neuen Eintrag für NoSound oder ändern Sie den bestehenden Eintrag.

[Application]
NoSound=1

 

2024-07-11 11:56
Markus Grutzeck

Hintergrundjob/Dienst kann Excel.Open Befehl nicht ausführen

Beschreibung:
Ein Hintergrundjob der z.B. eine XLSX-Datei öffnet um diese zu verarbeiten schlägt beim Öffnen des Dokumentes mit folgender Fehlermeldung fehl:

Die Open-Eigenschaft des Workbooks-Objektes kann nicht zugeordnet werden.

Ursache:
Excel erzeugt beim Bearbeiten einer Datei eine versteckte temporäre Kopie auf dem Desktop des Benutzers.
Da der Hintergrundjob jedoch seinen eigenen im Dienst hinterlegten Benutzer hat, gibt es das Verzeichnis unter "systemprofile" nicht.

Lösung:
In folgenden beiden Pfaden muss das "Desktop" Verzeichnis angelegt werden, damit dort die temporäre Datei erzeugt werden kann.

  • C:\Windows\SysWow64\config\systemprofile
  • C:\Windows\System32\config\systemprofile

Nun ist es z.B. Excel als 32bit Variante möglich im Pfad
C:\Windows\SysWow64\config\systemprofile\Desktop
oder als 64bit Variante möglich im Pfad
C:\Windows\System32\config\systemprofile\Desktop
die erforderliche temporäre Datei anzulegen.

2022-10-26 12:42
Peter Brandt

AG-VIP SQL bleibt bei Ausführung eines Makros, beim Beenden oder bei Wechsel eines Arbeitsbereiches stehen und zeigt einen Dialog "Server ausgelastet"

Beschreibung:

Beim Arbeiten in AG-VIP SQL kommt es zu langen Watezeiten, speziell nach dem Beenden oder Wechsel eines Arbeitsbereiches. Soll ein Makro oder Hilsmittel ausgeführt werden, erscheint ein Dialog mit dem Titel "Server ausgelastet" und den Schaltern Wechseln zu..., Wiederholen und Abbrechen.

Ursache:

In einer Ansicht, die zuvor in irgendeinem Arbeitsbereich benutzt wurde, kam auch WebView2 / Edge Browser Control zum Einsatz. Beim Beenden des Arbeitsbereiches wurde diese Ansicht zerstört.Als Folge kam es zu einem internen Fehler im Edge Modul. Dieser Fehler blockiert das gesamte COM-Interface von AG-VIP SQL. (Siehe Details im Link am Ende des Artikels)

Dieses Problem tritt auf mit dem Edge Update auf die Version 120.0.2210.61. Die vorhergehende Version 119.0.2151.97 ist davon nicht betroffen.
Ab der Version 120.0.2210.77, aktuelle Veröffentlichung ab dem 18.12.2023, ist dieses Problem auch behoben,

Der Fehler tritt nur auf, wenn in einer oder mehrerer Ansichten ein Edge Browser Control verwendet wird oder wenn über einen Makro ein MTHMLDIalog mit dem Edge Browser erzeugt wird.

Wie erkenne ich, ob ich von dem Fehler betroffen bin?

Öffnen Sie den Explorer. Geben Sie in der Adressleiste den folgenden Text ein %tmp%\AG-VIP SQL\BrowserData\EBWebView, oder kopieren Sie den hier angegeben Pfad in die Adressleiste des Windows Explorers.

In diesem Verzeichnis befindet sich die Datei Last Version. Öffnen Sie diese Datei mit dem Editor (Notepad).
Wenn diese Datei den Text 120.0.2210.61 enthält, ist Ihr Rechner von dem Problem betroffen. Ab der Version 120.0.2210.77 ist das Problem behoben.

Alternativ können Sie auch den Edge Brwoser öffnen und kontrollieren, welche Version hier benutzt wird. (Drei Punkite Menü -> Hilfe und Feedback -> Infos zu Microsoft Edge). Allerdings ist es möglich dass diese Version von der in AG-VIP SQL genutzten Version abweicht. Eine eindeutige Auskungt gibt Ihnen nur der Test des Inhalts des temporären Verzeichnisses.

Problemlösung:

Ein aktueller Workarround ist, Ansichten mit einem Edge Brwoser Control nicht zu verwenden. Evtl. ist es möglich den Code umzuschreiben und ein externes Browser Fenster zu öffnen.

Wenn das nicht vermieden werden kann, kann eine ältere lauffähige Version von WebView2 / Edge installiert werden. Diese Lösung muss aber für jeden Rechner einzeln installiert werden. Das Verzeichnis für die zu installierende Software darf nicht im Netzwerk liegen.

Für die nachfolgenden Schritte sind lokale adminsitrative Rechte notwendig.

1. Laden Sie die folgende Datei herunter, die diie letzte lauffähige Version des WebView2 / Egde  Browsers enthält:

https://download.grutzeck.de/WebView2v119.zip 

Diese Datei enthält den letzten funktionierenden Build 119.0.2151.97 für 32bit/x86.
Die Datei ist auch bei Microsoft als CAB Datei verfügbar. (Fixed Version, 119.0.2151.97, x86) und kann mit einem entsprechenden geigneten Tool entpackt werden.
https://developer.microsoft.com/en-us/microsoft-edge/webview2#download-section

2. Entpacken der Datei in einen geeigneten Ordner

Entpacken Sie die ZIP/CAB Datei in einen Ordner auf dem lokalen Rechner. Beispielsweise in das Installations Verzeichnis von AG-VIP SQL, wenn eine lokale Installation vorhanden sind. "C:\Program Files (x86)\AG-VIP SQL\WebView2".

Nach dem Entpacken muss die Datei "119.0.2151.97.manifest" direkt in dem entsprechenden gewählten Unterordner liegen. 

Das Verzeichnis darf nicht im Netzwerk liegen!

3. Einrichten einer Umlenkung auf die ältere Software Version

Öffnen Sie den Registrierungseditor REGEDIT.EXE.

Wechseln Sie in den Pfad
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder
Ist der Pfad nicht vorhanden, legen Sie den Pfad mit den entsprechenden Verzeichnissen an.

Auf der rechten Seite des Registrierungseditors legen Sie einen neuen Schlüssel an: (Bearbeiten -> Neu -> Zeichenfolge)

Geben Sie dem Eintrag den Namen AGVIP.EXE und weisen als Wert den Verzeichnisnamen zu, in den Sie die WebView2 Dateien entpackt haben.
Beispiel: C:\Program Files (x86)\AG-VIP SQL\WebView2

4. Löschen Sie die alten temporären Dateien

Öffnen Sie den Explorer. Geben Sie in der Adressleiste %TMP% ein.
Löschen Sie nun das gesamte Verzeichnis mit dem Namen AG-VIP SQL.

Das temporäre Verzeichnis für den WebView2 muss gelöscht werden. Sonst kommt es bei der ersten Verwendung eines Browser Controls zu einer Fehlermeldung. Das Verzeichnis wird dann automatisch gelöscht und die nächste Ausführung funktioniert dann. Es ist jedoch ratsam dieses Verzeichns vorher zu löschen.

Weitere Informationen über diesen Fehler

Der Fehler wird auch direkt dem GitHub Kanal für den WebView2 beschrieben (Englisch):
https://github.com/MicrosoftEdge/WebView2Feedback/issues/4226

2023-12-19 08:46
Martin Richter

Beim Starten von AG-VIP SQL kommt die Meldung "WebView2Loader.dll ist entweder nicht für die Ausführung unter Windows vorgesehen oder enthält einen Fehler."

Hintergrund:

Beim Start von AG.VIP SQL erscheint sofort die Fehlermeldung:

AGVIP.exe - Ungültiges Bild
<Pfad>\WebView2Loader.dll ist entweder nicht für die Ausführung unter Windows vorgesehen oder enthält einen Fehler. Installieren Sie das Programm mit den Originalinstallationsmedien erneut. oder wenden Sie sich an den Systemadministrator oder Softwarelieferanten, um Unterstützung zu erhalten. Fehlerstatus 0xc0000428.

Weitere bekannte Umstände (die nicht unbedingt mit dem Fehler zusammenhängen müssen):

  • Diese Meldung mit dem Fehlercode deutet 0xC0000428 deutet darauf hin, dass die Datei zerstört, kompromittiert oder manipuliert wurde.
    Allerdings ist weder die Signatur defekt, noch konnte eine Änderung gegenüber dee gelieferten Orginaldatei festgestellt werden.
  • In den von uns beobachteten Fällen wurde die Datei aus dem Netzwerk geladen.
  • Eine Neuinstallation oder Reparaturinstallation hat keinen Effekt.
  • Der Fehler wird auf manchen Rechner immer ausgegeben. Bei manchen Rechnern genügt ein Neustart und der Fehler ist behoben.
  • Betroffen sind meistens komplett neu installierte Arbeitsplätze mit Windows 11.
  • Die betroffene Datei WebView2Loader.dll hat eine Größe von 109.472 Bytes und datiert auf den 05.01.2022, 10:44. Die interne Version ist 1.0.1072.54.

Anmerkungen / Hintergrund:

  • Dies ist kein Programmfehler in AG-VIP SQL. Der Lader von Windows verweigert es AG-VIP SQL zu starten, weil eine der benötigten Komponeten als defekt erkannt wurde.
  • Der Titel "Ungültiges Bild" ist vollkommen irreführend und falsch. Es ist die vollkommen falsche Übersetzung für "Bad Image", was so viel bedeutet wie "Ungültiges Programmformat".
  • Die Datei WebView2Loader.dll ist eine statische Datei von Microsoft, die dazu dient den Start des WebView2 (Edge Browser Ansicht) vorzubereiten. Die Datei wird in diesem Fall noch nicht benutzt und würde erst bei Nutzung einer Ansicht mit einem Browser Control in Aktion treten.

Lösung:

Durch Ersetzen der Datei WebView2Loader.dll durch eine aktuellere Version konnte das Problem behoben werden.

Die eigentliche interne Ursache ist bisher unbekannt.

  • Laden Sie die neuere Version der Datei herunter. (Version 1.0.2210.55 vom 04.12.2023, Größe 117.312 Bytes) 
  • Bei der herunter geladenen Zip-Datei, setzen Sie in den Dateieigenschaften im Explorer auf dem Reiter Allgemein unter Sicherheit den Hacken Zulassen.
  • Entpacken Sie die Datei.
  • Ersetzen Sie die Datei im Programmverzeichnis, nach dem alle Nutzer das Programm beendet haben, durch die neue Datei.

2024-04-23 09:14
Martin Richter

Entwicklung

Zur Kategorie

Liste der Programmversionen und zugehörigen Datenbankversionen

Die nachfiolgende Liste umfasst alle erzeugten internen und externen AG-VIP SQL Builds und Hotfixes.
Nicht alle Versionen wurden zur Installation freigegeben.

Ofizielle Versionen sind in fett aufgeführt

Nr. Datum Build Anmerkung DB-Version
3186 31.01.2017 08:29 1.45.002.725    
3180 27.01.2017 10:35 1.45.002.724    
3171 20.01.2017 18:29 1.45.002.723    
3167 19.01.2017 09:28 1.45.002.723    
3165 19.01.2017 08:48 1.45.002.721    
3162 11.01.2017 08:10 1.45.002.720    
3155 21.12.2016 11:46 1.45.002.719   2.03
3142 16.12.2016 07:30 1.45.002.718    
3142 16.12.2016 07:30 1.45.002.718    
3136 08.12.2016 15:29 1.45.001.717    
3135 08.12.2016 13:32 1.45.001.716    
3133 08.12.2016 09:03 1.45.001.715    
3124 05.12.2016 12:18 1.45.001.714   2.02
3117 01.12.2016 14:42 1.45.001.713    
3116 01.12.2016 13:14 1.45.001.712   2.01
3096 17.11.2016 08:12 1.45.001.711    
3070 30.09.2016 14:39 1.45.001.711   2.00
3065 27.09.2016 08:16 1.44.003.710    
3063 26.09.2016 08:31 1.44.003.708    
3059 23.09.2016 08:58 1.44.003.708    
3053 14.09.2016 13:47 1.44.003.707    
3049 08.09.2016 08:22 1.44.003.706    
3031 17.08.2016 08:05 1.44.003.705   1.93
3010 22.07.2016 11:20 1.44.003.705    
3006 20.07.2016 14:24 1.44.002.704    
3000 15.07.2016 14:37 1.44.002.703    
2994 08.07.2016 14:23 1.44.002.702    
2991 08.07.2016 09:40 1.44.002.700    
2983 05.07.2016 11:57 1.44.002.699    
2980 01.07.2016 10:10 1.44.002.698    
2974 25.06.2016 09:48 1.44.002.697    
2969 24.06.2016 07:55 1.44.002.696   1.92
2961 15.06.2016 07:56 1.44.002.695    
2953 06.06.2016 09:10 1.44.002.694   1.91
2935 24.05.2016 10:50 1.44.002.694    
2935 24.05.2016 10:50 1.44.002.694    
2932 17.05.2016 10:55 1.44.001.693    
2930 13.05.2016 13:21 1.44.001.692    
2924 03.05.2016 13:12 1.44.001.691    
2920 29.04.2016 12:57 1.44.001.690    
2917 28.04.2016 08:24 1.44.001.689    
2912 27.04.2016 09:12 1.44.001.688    
2906 04.04.2016 17:01 1.44.001.687   1.90
2904 04.04.2016 15:47 1.44.001.687    
2901 18.03.2016 14:23 1.44.000.686    
2897 10.03.2016 12:41 1.44.000.684    
2896 10.03.2016 07:54 1.44.000.683    
2893 08.03.2016 19:37 1.44.000.682    
2885 03.03.2016 13:19 1.44.000.681    
2881 03.03.2016 08:10 1.44.000.680    
2867 18.02.2016 09:25 1.44.000.679    
2853 27.01.2016 19:41 1.43.007.677   1.89
2844 20.01.2016 20:43 1.43.006.676    
2825 08.12.2015 08:52 1.43.005.673    
2817 30.11.2015 09:14 1.43.005.672    
2804 17.11.2015 13:18 1.43.004.669    
2793 05.11.2015 08:39 1.43.004.668    
2791 30.10.2015 14:38 1.43.004.667   1.88
2757 23.09.2015 07:46 1.43.003.659    
2751 09.09.2015 08:09 1.43.003.658    
2748 07.09.2015 14:35 1.43.003.657    
2742 28.08.2015 13:57 1.43.003.656    
2738 24.08.2015 14:54 1.43.003.655    
2703 28.07.2015 08:04 1.43.002.651   1.87
2642 12.05.2015 08:27 1.43.001.639   1.86
2575 24.03.2015 15:46 1.42.004.626   1.85
2549 12.03.2015 15:26 1.42.003.622    
2537 24.02.2015 10:48 1.42.003.621    
2520 09.02.2015 15:43 1.42.003.617    
2515 04.02.2015 15:17 1.42.003.616    
2491 13.01.2015 17:20 1.42.003.612    
2480 18.12.2014 14:39 1.42.003.608    
2476 16.12.2014 14:23 1.42.003.607   1.84
2437 26.11.2014 08:14 1.42.002.600   1.82
2409 06.10.2014 12:55 1.42.001.598    
2364 07.08.2014 10:17 1.41.001.592    
2355 30.07.2014 16:39 1.40.013.591    
2317 01.07.2014 08:51 1.40.012.585    
2298 17.06.2014 09:38 1.40.011.583    
2286 28.05.2014 16:44 1.40.010.581    
2255 01.04.2014 14:37 1.40.009.575    
2253 31.03.2014 16:17 1.40.009.574    
2241 21.03.2014 09:30 1.40.008.571    
2201 28.01.2014 16:06:51 1.40.007.564    
2199 24.01.2014 14:14 1.40.007.563   1.81
2193 13.01.2014 12:08 1.40.007.562    
2136 11.10.2013 09:16 1.40.006.558   1.79 / 1.80
2081 20.08.2013 15:44 1.40.005.546    
2043 05.07.2013 20:36 1.40.004.540   1.78
2012 13.06.2013 14:49 1.40.003.537    
2004 07.06.2013 13:07 1.40.003.536    
1987 23.05.2013 12:24 1.40.002.532    
1906 18.03.2013 09:38 1.40.001.525   1.77
1891 07.03.2013 16:24 1.30.005.492 Hotfix 9  
1872 28.02.2013 14:05 1.40.000.522    
1867 27.02.2013 14:03 1.40.000.521    
1820 30.01.2013 14:52 1.30.005.491 Hotfix 8  
1777 19.12.2012 11:24 1.35.004.506   1.76
1741 14.11.2012 10:35 1.30.005.490 Hotfix 7  
1725 29.10.2012 15:27 1.30.005.489 Hotfix 6  
1718 24.10.2012 12:40 1.30.005.488 Hotfix 5  
1611 30.07.2012 16:18 1.30.005.487 Hotfix 4  
1585 26.06.2012 14:31 1.30.005.486 Hotfix 3  
1577 20.06.2012 13:16 1.35.000.483    
1572 19.06.2012 10:06 1.35.000.482    
1570 18.06.2012 16:44 1.35.000.481   1.70
1444 10.01.2012 15:43 1.30.005.485 Hotfix 2  
1415 02.12.2011 14:36 1.30.005.484 Hotfix 1  
1408 25.11.2011 18:00 1.30.005.483 RTM 1.64
1357 21.10.2011 14:14 1.30.004.482 Hotfix  
1326 05.10.2011 13:45 1.30.004.481   1.63
1308 28.09.2011 12:46 1.30.003.480 Hotfix  
1287 15.09.2011 14:50 1.30.003.479    
1280 12.09.2011 11:23 1.30.002.478   1.62
1252 17.08.2011 13:22 1.30.001.475   1.61
1180 08.07.2011 13:03 1.30.000.466   1.60
1071 08.03.2011 14:56 1.21.004.462    
1010 14.12.2010 10:14 1.21.003.456    
989 22.11.2010 13:54 1.21.002.454    
983 17.11.2010 15:25 1.21.001.453   1.55
947 27.10.2010 14:10 1.21.000.448 Hotfix  
937 22.10.2010 07:55 1.21.000.447   1.54
776 10.06.2010 17:04 1.20.011.434 Hotfix  
772 09.06.2010 11:08 1.20.011.433   1.52
733 06.05.2010 11:41 1.20.010.428   1.49
649 22.01.2010 12:33 1.20.009.419    
637 13.01.2010 08:44 1.20.008.418    
602 18.11.2009 16:26 1.20.007.416    
596 13.11.2009 11:07 1.20.006.415   1.48
506 04.08.2009 16:35 1.20.005.401    
501 03.08.2009 16:34 1.20.005.400    
482 02.07.2009 15:26 1.20.005.399    
460 26.05.2009 14:13 1.20.005.398    
458 12.05.2009 13:08 1.20.005.398    
455 12.05.2009 08:02 1.20.004.397    
446 05.05.2009 15:43 1.20.003.396   1.47
406 17.03.2009 10:54 1.20.002.388    
385 03.03.2009 11:56 1.20.001.385    
284 31.10.2008 13:02 1.10.012.376   1.46
280 30.10.2008 08:45 1.10.011.375    
279 22.10.2008 16:09 1.10.011.374    
275 22.10.2008 12:44 1.10.010.373    
272 22.10.2008 09:08 1.10.009.372   1.45
240 23.09.2008 11:15 1.10.008.367    

2017-02-21 10:22
Martin Richter

Funktionsweise des Papierkorb in AG-VIP SQL (ab Version 2.02.001)

Die Papierkorbfunktion in AG-VIP SQL

Der Papierkorb in AG-VIP SQL ist eine spezielle Datenbank Funktion, die das Löschen von Adressen und Tickets überwacht.
Das Löschen von untergeordneten Datensätzen, wie Zusatztabellen, Kennzeichenlisten und einzelne Eingabefelder werden nicht überwacht.
Die Datensätze werden im Moment der Löschung gesichert und können exakt so wiederhergestellt werden.
Gelöschte Datensätze werden nicht durch AG-VIP SQL bearbeitet. Tickets werden nicht automatisch verschoben. Die Datensätze erscheinen in keiner Auswertung oder Reports.
Wird eine Adresse gelöscht, sind damit auch alle untergeordneten Tickets mit gelöscht. Wird nur ein Ticket gelöscht, bleibt wie bei einem normalen Löschvorgang die Adresse erhalten.

Ein- und Ausschalten des Papierkorbes

Der Papierkorb wird als Funktion über die Globalen Einstellungen ein- bzw. ausgeschaltet.
Ist der Papierkorb ausgeschaltet (Vorhaltezeit = 0 Tage), werden Datensätze sofort und augenblicklich gelöscht. Datensätze, die so gelöscht wurden, können nicht wiederhergestellt werden.
Nach dem Ausschalten des Papierkorbs kann es noch eine Zeit dauern bis alle Datensätze endgültig gelöscht wurden.
Wird eine Vorhaltezeit >=1 Tage eingestellt, so verbleiben die Datensätze für mindestens diesen eingestellten Zeitraum erhalten und können in dem Zustand, in dem Sie bei Löschung vorlagen, wiederhergestellt werden.

Leeren des Papierkorbes

Das Leeren des Papierkorbs geschieht automatisch im Hintergrund in festgesetzten Intervallen. Alle Adressen und Tickets, die länger als die Anzahl der eingestellten Tage im Papierkorb liegen, werden endgültig gelöscht.

Wiederherstellen von Datensätzen

Die Wiederherstellung von Datensätzen finden Sie im Anwenderhandbuch beschrieben.

  1. Öffnen Sie die entsprechende Tabelle im freien Arbeiten.
  2. Wählen Sie die Funktion Papierkorb öffnen.
  3. Nun können Sie auswählen, welchen Papierkorb Sie öffnen wollen (Adressen oder Tickets) und angeben von wem oder in welchem Zeitraum die Daten gelöscht wurden.
  4. Nun ist auch eine Wiederherstellung möglich. 

Datenbank Implementierung
In der Tabelle für Adressen und Tickets existiert ein zusätzliches, nicht sichtbares Feld mit dem Namen IdUserDelete. Ist ein Datensatz aktiv (nicht gelöscht), enthält dieses Feld immer den Wert NULL. Beim Löschen über den Papierkorb wird hier der Benutzer eingetragen, der den Löschvorgang ausgelöst hat.

Alle Abfragen, Reports, Auswertungen und Makros berücksichtigen gelöschte Datensätze. Das heißt diese Datensätze sind zwar in der Tabelle, werden aber nie berücksichtigt.

Um die Behandlung von gelöschten Datensätzen zu erleichtern, wurden Views für alle betroffenen Tabellen eingebaut. Diese Views heißen identisch zu den Datentabellen, nur beginnen Sie nicht mit dem Kürzel tbl, sondern view. Eine Auswertung über diese Views zeigt immer nur aktive Datensätze, die nicht gelöscht wurden.

Eigene SQL Statements

Problematisch sind eigene SQL Statements oder Abfragen, die direkt auf die Tabellen von AG-VIP SQL zugreifen.
Ist die Papierkorb Funktion nicht eingeschaltet, werden alle Datensätze sofort gelöscht und es müssen keine Vorkehrungen getroffen werden.

AG-VIP SQL berücksichtigt bei Makro-Abfragen (Query-Methode) und auch in den Reports bei benutzerdefinierten Abfragen immer auch die gelöschten Datensätze. Hier wird automatisch ein entsprechendes Statement, so umformatiert, dass die eingebauten Views zur Anwendung kommen, die immer Datensätze im Papierkorb berücksichtigen (d.h. diese Datensätze ignorieren).

Bei eingeschalteter Papierkorbfunktion verbleiben gelöschte Datensätze in der gleichen Tabelle. Sie werden nur mit dem Kennzeichen "gelöscht" versehen. Das geschieht durch setzen eines Wertes in das Feld IdUserDelete.

Alle eigenen Abfragen bzw. Statements sollten so gebaut sein, dass die vorgebenenen Views nutzen, damit auch in Tests im SQL Management Studio gleiche Ergebnisse erzielt werden. AG-VIP SQL würde gelöschte Einträge berücksichtigen, aber nicht die Ausführung das Management Studio.  Sie können gelöschte Datensätze ausschließen, indem man die Bedingung [IdUserDelete] IS NULL ergänzt oder die entsprechenden Views benutzt.
Dies ist insbesondere wichtig wenn auch die SQL Integration Services oder SQL Reporting genutzt werden.

2021-09-29 10:27
Martin Richter

Nutzung des Edge/Chrome Browser Controls in AG-VIP SQL

Hintergrund:

Seit der Version 2.02.002 ist es möglich auch Browser-Controls zu erzeugen, die auf Edge (Chrominum) bassieren.

Bisher wurde für Browser Controls in AG-VIP SQL immer nur der Internet Explorer 11 verwendet. Dieser wird aber kaum noch weiterentwickelt und viele Webseiten unterstützen diesen Browser nicht mehr.

Um den Edge Browser anstatt des Internet Explorer zu nutzen wurde eine Option geschaffen, sie es ermöglicht wie bisher Browser Controls vom Typ Internet Explorer als auch vom Typ Edge zu erzeugen.

Vorgehensweise:

Bei den Eigenschaften des Browsercontrols finden Sie eine zusätzliche Eigenschaft Browsertyp.

Wird ein Browser Control erzeugt steht der Standard immer auf Internet Explorer. Auch bestehende Ansichten, die ein Browser Control benutzen verwenden immer den Modus Internet Explorer. Soll also der neue Brwosrtyp verwendet werden müssen die Ansichten geändert werden.

Vorausetzungen:

Damit das Egde Control verwendet werden kann muss auf jedem Rechner auch die Edge WebView 2 Runtime installiert werden.
Die Instalation dieser Runtime durch AG-VIP SQL erfolgt nur, wenn nicht schon eine Version der Runtime installiert wurde.

Die Installation der Runtime erfolgt automatisch bei der Installation über unseren All-In-One Installer oder wenn ein Update über unsere VIP_SQL_abbccc.EXE ausgeführt wird. Die Installation erfolgt auch wenn SetupAGVIPClient.exe ausgeführt wird und noch keine Runtime bisher installiert war.

Wenn die WebView 2 Runtime nicht installiert ist, erscheint eine Fehlermeldung, wenn ein Edge Browser Control erzeugt werden soll.

Das Edge-Browser-Steuerelement konnte nicht erstellt werden!
Bitte wenden Sie sich an Ihren Administrator und installieren Sie die Edge WebView2-Laufzeitumgebung!

Die Runtime, die zum Zeitpunkt des AG-VIP SQL Builds aktuell war, findet sich im Programmverzeichnis unter dem Namen AGVIPWV2Runtime.exe. Diese Datei kann wie die Original Datei von der Microsoft-Webseite auch automatisch installiert werden.
Hinweise finden Sie dazu auf den entsprechenden Microsoft Seiten.

Vor- und Nachteile des Edge (Chromium) Controls:

  • + Das Egde Control ist mit allen modernen Webseiten kompatibel.
  • + Das Edge Control läuft als eigenständiger Prozess in einer Sandbox und ist sehr sicher.
  • - Das Edge Control läuft als eigenständiger Prozess und verbraucht damit extrem viel mehr Systemresourcen als ein eingebettetes IE Control. 
  • - Das Egde Control verfügt über keine COM Schnittstelle und kann nicht extern über Makros gesteuert werden (Zurück, Vorwärts, Neu laden etc.)
  • - Das Egde Control verfügt über kein DOM Interface (Document Object Model) und der Inhalte der Webseite kann nicht über COM einfach analysiert werden. Zugriff ist nur über den kompletten Webseiten Text möglich.

Vor- und Nachteile des Internet Explorer Controls:

  • + Programmierbar über COM und Makros. kompletter Zugriff auf alle internen Interfaces inklusive des DOM (Document Object Model)
  • Im Vergleich zum Edge sehr geringer Speicher- und Ressourcen Verbrauch.
  • Nicht mehr kompatibel zu vielen Webseiten.

Wann sollten Sie das Edge Control verwenden?

  • Immer wenn Sie auf extern Seiten wir Linked-In, Xing oder ähnliches zugreifen wollen, die nur die neueren Browser unterstützen.

Wann sollten Sie das Internet Explorer Control verwenden?

  • Wenn sie einfache HTML Seiten anzeigen, die evtl. auch durch Makros selbst erzeugt wurden.
  • Wenn Sie Zugriff auf das DOM (Document Object Model) benötigen.
  • Wenn Sie sehr viele HTML Controls in AG-VIP SQL nutzen.

Wann sollten Sie das Edge Control nicht verwenden?

  • Wenn Sie nur interne Webseiten anzeigen, die in Ihrer Firma gehostet werden und IE 11 kompatibel sind.
  • Wenn Sie einfache Informationen selbst als HTML Stream erzeugen und das HTML Control als einfaches Control zur formatierten Ausgabe benutzen.
  • Wenn Sie die Kontrolle über den Inhalt der Webseite benötigen. Also auf Auswahlen (Radio-Boxen) und Controls auf der Webseite zugreifen müssen. Also in allen Fällen wo für eine Ansicht eine erweiterte Programmierung der HTML Seite vorgenommen wurde.

 

2020-11-16 10:46
Martin Richter

Archiv

Zur Kategorie

Ändern des sa Kennwortes in der MSDE

Problem: 

Wenn man bestehende MSDE Installationen vorfindet so ist in den meisten Fällen nur die Windows Authentifizierung aktiv und das sa Kennwort ist meistens leer, aber oft auch nicht bekannt.

Es ist dennoch möglich auf dem Rechner selbst, auf dem die MSDE installiert ist eine Verbindung herzustellen, wenn man sich als Administrator an der entsprechenden Maschine anmeldet. Dies liegt daran, dass die Windows Authentifizierung immer möglich ist.

Dies kann man nun ausnutzen das sa Kennwort über das Befehlszeilen-Programm osql zu verändern.

Lösung:

An dem Rechner auf dem die MSDE installiert ist, als Administrator anmelden.

  1. Eingabeaufforderung öffnen (Zubehör), oder Start -> Ausführen   -> cmd.exe
  2. Auf der Befehlszeile den folgenden Befehl eingeben (Achtung: Groß-Kleinschreibung bitte beachten):
    osql -E
  3. Es erscheint "1>" in der Anzeige, oder eine Fehlermeldung, die angibt warum keine Anmeldung möglich war.
  4. Nun die folgende Befehle eingeben (Achtung: Groß-Kleinschreibung auch beim Kennwort bitte beachten):
    sp_password NULL, 'Neues Kennwort', 'sa'
    go
  5. Als Meldung sollte nun "Kennwort geändert" erscheinen. Beenden Sie osql durch Eingabe von:
    quit
  6. Eingabeaufforderung beenden mit exit

2021-08-25 08:47
Martin Richter

Abstürze protokollieren (Windows Debugger Tools)

Hinweis:

Dieser Artikel ist gültig aber veraltet.
Mit der Hilfe des Tools procdump von Sysinternals ist es weitaus einacher Dumps zu erzeugen.

Abstürze protokollieren mit Procdump

Beschreibung:
In seltenen Fällen wird die AGVIP.exe direkt nach dem Start ohne eine Meldung beendet.
Um zu analysieren, welcher Prozess die AGVIP.exe beendet, können die Windows Debugger Tools verwendet werden.

Voraussetzung:

  • mindestens Windows 7
  • Windows Debugger Tools

Installation:
Installieren Sie an einen der betroffenen Rechner diese „Windows Debugger Tools“ welche in der „Windows SDK“ enthalten sind.

Windows SDK Download ab Windows 7:
https://msdn.microsoft.com/en-US/windows/desktop/bg162891

Im letzten Dialog wählen Sie nur „Debugging Tools for Windows“ aus:
Windows Debugger Tools

 

Konfiguration:
Nach erfolgreicher Installation können Sie über den Windows-Start Button die „Global Flags (X86)“ Anwendung unter „Windows Kits“ -> „Debugging Tools for Windows (X86)“ starten.
Global Flags (X86)

Dort tragen Sie dann im Reiter „Silent Process Exit“ im Feld „Image (TAB to refresh)“ -> „AGVIP.exe“ ein und setzen den Haken bei „Enable Silent Process Exit Monitoring“ und „Enable notification
Silent Process Exit

 

Nach der Bestätigung mit „OK“ bzw. „Übernehmen“ erscheinen im Ereignislog Einträge sobald AG-VIP SQL geschlossen wird (bei Absturz und normalen Beenden).

 

 

2021-08-25 08:59
Peter Brandt