Modul 5.9.8.37

Navigation:  Vi Projekt > Neuheiten und Änderungen >

Dieses Thema drucken Vorheriges Thema Zurück zur Themenübersicht Nächstes Thema

Vi Projekt Modul 5.9.8.37

 

WICHTIGER HINWEIS - WICHTIGER HINWEIS - WICHTIGER HINWEIS - WICHTIGER HINWEIS

 

Dieses Modul setzt eine Installation der R4 von DOCUframe voraus

 

WICHTIGER HINWEIS - WICHTIGER HINWEIS - WICHTIGER HINWEIS - WICHTIGER HINWEIS

 

 

Mindestversion DOCUframe: 5.9.8.334

 

Mindestversion DOCU-Warenwirtschaft: aktuelle Version

 

 

Wartung:

 

keine

 

 

Datenaustauschmakro:

 

keines

 

 

Lizenzeinträge

 

Keine

 

 

Sonstiges:

 

Nichts

 

 

Weitere Module:

 

Keine

 

 

Hinweise:

 

Für Pkt. 12: das Register „Artikel“ muss über den Bearbeitungsmodus in den Standard-Lieferantendialog eingebaut werden!

 

 

 

Vi Projekt Modul 5.9.8.xx - Neuerungen

 

 

1.)        Kundenservice – Anpassung Mangelformular

 

 

Beschreibungsfelder für Mängel, Protokolleinträge und Bautätigkeiten sind jetzt mit automatischem Umbruch versehen.

 

 

2.)        Kundenservice - Formularanpassung

 

Das Standard-Formular wurde dahingehend angepasst, dass eine in der Adresse separat erfasste Hausnummer jetzt auch ausgegeben wird.

 

 

3.)        Funktionsberechtigungen

 

Die Berechtigungen zur Ausführung aller folgenden Funktionen ist jetzt erfordern jetzt Benutzern mit Administratorenberechtigung:

 

clip1899

 

 

4.)        Vergabe – Anhangdokumente an Standard- und Lieferantenverzeichnissen

 

Anhangdokumente an Standard- und Lieferantenverzeichnissen werden jetzt aktualisiert, wenn z.B. eines der Vergaberegister gewechselt wird. Damit ist die Anzeige auch bei nachträglichem Ändern der Ordnerinhalte von den zugeordneten Dokumentenordnern aktualisierbar.

 

 

5.)        Erweiterung der Hintergrund-Erzeugung von Excel-Ausgaben aus Listenkonfigurationen

 

Das Datenaustauschmakro für die Hintergrund-Erstellung von Excel-Dateien aus Listenkonfigurationen hat einen weiteren Parameter bekommen, mit dem gesteuert werden kann, ob bereits bestehende, namensgleiche Dateien überschrieben werden sollen.

 

VIframeExportListenkonfiguration( "001", "C:\\Temp\\", TRUE );

 

Der letzte Parameter steuert das Überschreiben bestehender Dateien:

 

-TRUE:                bestehende Dateien werden überschrieben

-FALSE:                bestehende Dateien werden nicht überschrieben

 

 

 

6.)        Erweiterung der Funktion zum Aktivieren von (zuvor deaktivierten Vorgängen)

 

Die Funktion zum Aktivieren von Workflows ab einem Vorgang wurde dahingehend erweitert, dass jetzt auch bereits erledigte Workflows wieder reaktiviert werden können.

 

Dies Funktionalität zum Aktivieren von Workflows ab einem Vorgang ist vor allem in der Einführungsphase für bestehende Projekte gedacht, um je nach Stand eines Bauprojektes nur noch die Workflows aktivieren zu können, die für den weiteren Ablauf relevant sind. Z.B.: Haus ist bereits im Rohbau fertiggestellt, es werden nur noch die Workflows im Bereich „Ausbau“ aktiviert.

 

Die bestehende Funktionalität aktiviert natürlich nur Workflows, die NICHT erledigt sind. In Spezialfällen ist aber auch das Aktivieren bereits erledigter Workflows erforderlich. Dafür wurde die Funktion in diesem Modul um eine spezielle Aufrufvariante erweitert. Alle Funktionen dazu finden sich auf dem Register „Import“ des Projektes.

 

Voraussetzung für das Aktivieren von Workflows ab einen bestimmten Vorgang ist, dass alle Workflows im Projekt deaktiviert wurden.

 

clip1887

 

Dann erst kann man wieder ab einem Vorgang aktivieren:

 

clip1888

 

Dieser Funktionsaufruf gilt für beide Varianten – mit/ohne erledigte Workflows. Ergebnis ist eine Liste der Vorgänge zur Auswahl desjenigen Vorganges, ab dem die Workflows wieder aktiviert werden sollen:

 

clip1889

 

Wird hier ein Vorgang gewählt, erfolgt die Anzeige der Workflows:

 

clip1890

 

Hier gibt es jetzt zwei Funktionen, von denen eine bewusst versteckt ist:

 

-„Workflows aktivieren“                -> aktiviert die Workflows ab dem gewählten Vorgang OHNE

   erledigte Workflows

 

-STRG + „Workflows aktivieren“        -> aktiviert die Workflows ab dem gewählten Vorgang

   INKLUSIVE der erledigten Workflows

 

Diese neue Funktion STRG + „Workflows aktivieren“ ermöglicht dann eben auch das (Re-)Aktivieren erledigter Workflows.

 

Es erfolgt noch eine Sicherheitsabfrage:

 

clip1891

 

Danach erfolgt nur noch die Standard-Abfrage:

 

clip1892

 

Wird dies bestätigt, gibt es kein zurück, auch erledigte Workflows werden wieder reaktiviert!

 

Hinweis: In der Folge werden die reaktivierten Workflows wieder ausgeführt, wenn die Bedingungen erfüllt sind! Es kann also sein, dass Sie nach der Reaktivierung Workflows sehen, die bereits wieder erledigt sind!

 

 

7.)        Zeitgesteuerter Listenversand

 

Es gibt eine Vielzahl von Workflows mit Informationscharakter, also nur zur Info, ohne ein direktes ToDo. Da Workflows immer Einzelnachrichten zu einem Event generieren („Info über den Eingang der Baugenehmigung an den Fachberater“), kann das zu einer Flut von workflowbasierten Meldungen führen. Dazu wurde jetzt mit der Funktion zum zeitgesteuerten Versenden von Listen aus der Listenkonfiguration gegengesteuert (z.B. „Liste der Baugenehmigungseingänge…“) gegengesteuert.

 

Dazu wurde in den Stammdaten der Listenkonfigurationen eine Benutzerliste ergänzt, in der der interne Benutzerkreis für den automatisierten Versand einer Listenkonfiguration definiert werden kann:

 

clip1893

 

Dazu gibt es dann ein Datenaustauschmakro, dass diese Liste zum eingestellten Zeitpunkt anschließend als Dokument versendet.

 

Es wird mit diesem Modul ein Muster-Datenaustauschmakro „VIframe -> Listenkonfiguration versenden“ ausgeliefert. Das Muster-Datenaustauschmakro ist auf die Endanwenderebenen zu kopieren und dann anzupassen.

 

clip1894

 

Dieses ist der Quelltext:

 

----------------------------------------------------------------------------------------------------------------------------------------

INT ImportExport( BOOL Manual )

 

VIframeSendListenkonfiguration( "01" );

 

RETURN( 0 );

----------------------------------------------------------------------------------------------------------------------------------------

 

In diesem Quelltext ist der Wert „01“ durch die Nummer der Listenkonfiguration zu ersetzen.

 

 

8.)        Vergabe – Aktualisierung der Lieferantenanzeige

 

In der Liste der Vergaben (Standard-Leistungsverzeichnisse) wird eine Anzahl möglicher Lieferanten angezeigt. Diese „möglichen Lieferanten“ werden bei der Anlage der Standard-Leistungsverzeichnisse ermittelt und gespeichert.

 

Um Änderungen im Lieferantenstamm (neue oder deaktivierte Lieferanten etc.) in die bestehenden Vergaben zu übernehmen, gibt es eine neue Funktion im rechten Seitenmenü neben der Liste der Standard-Leistungsverzeichnisse:

 

clip1895

 

Achtung, für die Ausführung der Aktion müssen die zu aktualisierenden Standard-Leistungsverzeichnisse markiert sein. Alle Standard-Leistungsverzeichnisse lassen sich in der Liste mit STRG+A markieren.

 

 

9.)        Listenkonfiguration – Zahlungsplandaten

 

Fehlerkorrektur: Bei der Auswertung der Spalten „Zahlbetrag“ und „offener Posten“ wurde der Datenzugriff optimiert, die Spalten liefern jetzt Werte.

 

 

10.)        Neues Druckmakro: Standard-Bankverbindung einer Rolle –

VIframeProjekt_Rolle_Bankverbindung

 

Dieses Druckmakro gibt die Bankverbindung zu einer Adresse in einer Rolle an. Die Rolle muss im Druckmakro als Parameter eingestellt werden. Folglich muss das ausgelieferte Standard-Druckmakro auf die Endanwenderebene kopiert und dort bearbeitet werden.

 

Dieses ist der Quelltext:

 

----------------------------------------------------------------------------------------------------------------------------------------

STRING Print( Druckdaten Daten )

 

STRING RoleNumber = "0100";

BOOL IBAN = TRUE;

BOOL BIC = TRUE;

BOOL Kreditinstitut = TRUE;

BOOL Kontonummer = TRUE;

BOOL BLZ = TRUE;

BOOL Kontoinhaber = TRUE;

BOOL Typ = TRUE;

BOOL Beschreibung = TRUE;

 

Ansprechpartner ASP;

Adresse Adr;

AdresseNr AdrNr;

FunktionelleRolle Role;

STRING Ret;

 

Projekt P;

Vorgang V;

 

VIframeGetProjektFromDruckdaten( Daten, P, V );

 

 Role = P.Vorgang.VIframeGetRole( RoleNumber );

 Adr = Role.VIframeGetAdress();

IF( Adr.IsKindOf( "Ansprechpartner" ) )

   ASP = Adr;

   AdrNr = ASP.Adresse;

ELSE

   AdrNr = Adr;

ENDIF

 Ret = VIframeGetBankverbindungStr( AdrNr.Bankverbindungen, IBAN, BIC, Kreditinstitut, Kontonummer, BLZ, Kontoinhaber, Typ, Beschreibung );

 

RETURN( Ret );

----------------------------------------------------------------------------------------------------------------------------------------

 

In diesem Quelltext ist zunächst der Wert „0100“ im Parameter RoleNumber durch die Nummer der auszuwertenden Rolle zu ersetzen.

 

Das Standard-Druckmakro liefert im Standard eine Ausgabe der Bankverbindung, die zeilenweise die folgenden Daten der Kontoverbindung ausgibt:

 

-IBAN

-BIC

-Kreditinstitut

-Kontonummer

-BLZ

-Kontoinhaber

-Typ

-Beschreibung

 

Wer nur einzelne Daten daraus braucht, muss den Ausgabecode anpassen, kann die einzelnen Ausgabeparameter von „TRUE“ auf „FALSE“ ändern.

 

Um z.B. nur die IBAN auszugeben, sähe der Makro-Code so aus:

 

----------------------------------------------------------------------------------------------------------------------------------------

 

STRING Print( Druckdaten Daten )

 

STRING RoleNumber = "0100";

BOOL IBAN = TRUE;

BOOL BIC = FALSE;

BOOL Kreditinstitut = FALSE;

BOOL Kontonummer = FALSE;

BOOL BLZ = FALSE;

BOOL Kontoinhaber = FALSE;

BOOL Typ = FALSE;

BOOL Beschreibung = FALSE;

 

Ansprechpartner ASP;

Adresse Adr;

AdresseNr AdrNr;

FunktionelleRolle Role;

STRING Ret;

 

Projekt P;

Vorgang V;

 

VIframeGetProjektFromDruckdaten( Daten, P, V );

 

 Role = P.Vorgang.VIframeGetRole( RoleNumber );

 Adr = Role.VIframeGetAdress();

IF( Adr.IsKindOf( "Ansprechpartner" ) )

   ASP = Adr;

   AdrNr = ASP.Adresse;

ELSE

   AdrNr = Adr;

ENDIF

 Ret = VIframeGetBankverbindungStr( AdrNr.Bankverbindungen, IBAN, BIC, Kreditinstitut, Kontonummer, BLZ, Kontoinhaber, Typ, Beschreibung );

 

RETURN( Ret );

 

----------------------------------------------------------------------------------------------------------------------------------------

 

Achtung, die Basis für die Ausgabe der Bankverbindungsdaten sind die Bankverbindungen auf Adress-Ebene. Es sollte IMMER genau eine Bankverbindung als Standard markiert sein, die dann auch ausgegeben wird. Ist dies nicht der Fall, erfolgt als Ausgabe nur „k.A.“.

 

So wäre es korrekt:

 

clip1896

 

 

11.)        Neues Druckmakro: Standard-Bankverbindung zum Projekt-Mandanten/Mandanten

 VIframeProjektBankverbindung

 

Dieses Druckmakro gibt die Standard-Bankverbindung zum Mandanten eines Projektes zurück.

 

Dies ist der Standard-Makro-Text:

 

----------------------------------------------------------------------------------------------------------------------------------------

 

STRING Print( Druckdaten Daten )

 

// Einzelne Felder der Bankverbindung anzeigen (TRUE) oder nicht (FALSE)

BOOL IBAN = TRUE;

BOOL BIC = TRUE;

BOOL Kreditinstitut = TRUE;

BOOL Kontonummer = TRUE;

BOOL BLZ = TRUE;

BOOL Kontoinhaber = TRUE;

BOOL Typ = TRUE;

BOOL Beschreibung = TRUE;

 

// Hier kann die Nummer eines Mandanten vorbelegt werden

STRING MandantNummer = "";

 

STRING Ret;

Projekt P;

Vorgang V;

DBOBJECT Mandant;

BankverbindungSet Bankverbindungen;

 

#MODUL_START( GSD-Fakt )  

xGSDFaktMandanteneinstellung FaktMandant;

 

VIframeGetProjektFromDruckdaten( Daten, P, V );

 

IF( MandantNummer != "" )

   FaktMandant.xGSDFaktGetFromNumber( MandantNummer );

   Mandant = FaktMandant;

ELSE

  VIframeGetMandant( P, Mandant );

ENDIF

 

 Bankverbindungen.Construct();

 Mandant.GetObjectSet( "xGSDFaktBankverbindungen", Bankverbindungen );

 Ret = VIframeGetBankverbindungStr( Bankverbindungen, IBAN, BIC, Kreditinstitut, Kontonummer, BLZ, Kontoinhaber, Typ, Beschreibung );

 

#MODUL_END( GSD-Fakt )  

 

RETURN( Ret );

----------------------------------------------------------------------------------------------------------------------------------------

 

Wenn in diesem Makro im Parameter „MandantNummer“ eine Mandantennumeer vorgegeben wird, so wird diese ermittelt, um die bakverbindungsdaten zu ermitteln. Wird diese nicht vorgegeben, wird die Mandantennummer aus dem Projekt ermittelt.

 

Das Standard-Druckmakro liefert mit den Standard-Einstellungen eine Ausgabe der Bankverbindung, die zeilenweise die folgenden Daten der Kontoverbindung ausgibt:

 

-IBAN

-BIC

-Kreditinstitut

-Kontonummer

-BLZ

-Kontoinhaber

-Typ

-Beschreibung

 

Wer nur einzelne Daten daraus braucht, muss das Standard-makro auf Endanwender-Ebene kopieren und den Ausgabecode anpassen, dazu kann man die einzelnen Ausgabeparameter von „TRUE“ auf „FALSE“ ändern.

 

Um z.B. nur die IBAN auszugeben, sähe der Makro-Code so aus:

 

----------------------------------------------------------------------------------------------------------------------------------------

 

STRING Print( Druckdaten Daten )

 

// Einzelne Felder der Bankverbindung anzeigen (TRUE) oder nicht (FALSE)

BOOL IBAN = TRUE;

BOOL BIC = FALSE;

BOOL Kreditinstitut = FALSE;

BOOL Kontonummer = FALSE;

BOOL BLZ = FALSE;

BOOL Kontoinhaber = FALSE;

BOOL Typ = FALSE;

BOOL Beschreibung = FALSE;

 

// Hier kann die Nummer eines Mandanten vorbelegt werden

STRING MandantNummer = "";

 

STRING Ret;

Projekt P;

Vorgang V;

DBOBJECT Mandant;

BankverbindungSet Bankverbindungen;

 

#MODUL_START( GSD-Fakt )  

xGSDFaktMandanteneinstellung FaktMandant;

 

VIframeGetProjektFromDruckdaten( Daten, P, V );

 

IF( MandantNummer != "" )

   FaktMandant.xGSDFaktGetFromNumber( MandantNummer );

   Mandant = FaktMandant;

ELSE

  VIframeGetMandant( P, Mandant );

ENDIF

 

 Bankverbindungen.Construct();

 Mandant.GetObjectSet( "xGSDFaktBankverbindungen", Bankverbindungen );

 Ret = VIframeGetBankverbindungStr( Bankverbindungen, IBAN, BIC, Kreditinstitut, Kontonummer, BLZ, Kontoinhaber, Typ, Beschreibung );

 

#MODUL_END( GSD-Fakt )  

 

RETURN( Ret );

 

----------------------------------------------------------------------------------------------------------------------------------------

 

 

12.)        Warenwirtschaft – Preispflegefunktion für Artikel

 

Für die Warenwirtschaft gibt es jetzt eine Artikel-Preispflegefunktion.

 

Voraussetzung ist, dass für die Artikel Lieferantenzuordnungen und lieferantebezogene Preis hinterlegt sind, unabhängig davon, ob als Haupt- oder Zusatzlieferanten.

 

clip1897

 

Die Preispflegefunktion zu den Artikeldaten geht vom Lieferanten aus und findet sich daher bei den Lieferanten auf einem Register „Artikel“.

 

Hinweis: dieses Register muss in den Standard-Lieferantendialog eingebaut werden.

 

Der Dialog sieht dann so aus:

 

clip1898

 

Im Dialog finden sich dann folgende Elemente:

 

-links:                Baum der Warengruppen aller Artikel des Lieferanten

-rechts:                Liste der Artikel des Lieferanten, ggfs. eingeschränkt auf eine Warengruppe

         im Warengruppenbaum

-darunter:        Filter „Anzeigen“ für die Anzeigebeschränkung auf aktive/nicht aktive Artikel

-daneben:        Einstellungen für das Preisupdate

oArt der Preisänderung:        prozentual (Erweiterungsmöglichkeit auf „absolut“)

oIn Höhe von:                +/- Wert für den Prozentsatz der Anpassung

oÜbernahme für:        gewählte Positionen/Artikelgruppe/alle Artikel für die

eingestellte Preisanpassung

 

Buttons:

 

-Neu berechnen: Neuberechnung der Preise, nur Anzeige im Dialog (alle Artikel des Lieferanten)

-Speichern: Übernehmen der Preise in die Lieferantenpreise und schreiben eines Preisänderungslogs im Artikel: Benutzer/Datum/alter Preis/neuer Preis. Diese Funktion berücksichtigt die Einstellungen in „Übernahme für“

 

 

Doppelklick in der Liste der Artikel:

 

-Auf Spalte „Artikelnummer“:        Artikelstamm

-Auf Spalte „Artikelbezeichnung“:        Artikelstamm

 

 

Hinweis: Auf dem Artikel kann dann im Änderungsprotokoll auch die Preisentwicklung eingesehen werden.