TIME+PLUS
  • Einleitung
  • Datenmodell
    • Screenshots
    • Zusammenhänge
  • Funktionsweise von TIME+PLUS
    • Allgemein
    • TimeTracker
      • Q&A
    • cobra-Addin
    • Tasks
  • Installation
    • Checkliste
  • Datenbanktabellen
    • Adressen-Tabelle
    • Belege-Tabelle
    • Belegpositionen-Tabelle
    • Zeitnachweis-Tabelle
    • Komponenten-Tabelle
    • TicketFilter-Tabelle
    • Zeitbuchung-Tabelle
    • Zeiterfassung-Tabelle
    • Zeiterfassung Automatisch-Tabelle
    • Artikel-Tabelle
    • ArtikelPreise-Tabelle
    • Feiertage-Tabelle
    • Tickets-Tabelle
    • TicketAngebote-Tabelle
    • TicketAngebotPositionen-Tabelle
    • TicketBeobachter-Tabelle
    • TicketDokumente-Tabelle
    • TicketKommentare-Tabelle
  • Auswahllisten
    • Währungen
    • Wochentage
    • Belegarten
    • Buchungsperioden
    • Mandanten
    • Einheiten
    • Bereich
    • Tätigkeitsart
    • Zeiterfassung_Art
    • Warengruppen
    • Abrechnungsart
    • Priorität
    • Ticketstatus
  • Konfigurationsdateien
    • appsettings.json Ticket-Webseite
    • [AdressenAdlName]_TimePlusSettings.json
  • SQL Server Reporting Services
    • Einleitung Reporting Services
    • Installation SSRS
    • Einspielen der bereitgestellten Reports
  • Administratives
    • Bereinigungsskript
Powered by GitBook
On this page
  1. Administratives

Bereinigungsskript

Dieses Skript bereinigt etliche Daten, die dadurch entstehen, wenn nachträglich Adresshierarchien gebildet werden.

-- Rechnungen die bei einer Nebenadresse sind zur Hauptadresse umhängen.
-- dies kann zum Beispiel passieren, wenn man Hierarchie Bilden verwendet 
-- und eine Hauptadresse dabei zur Nebenadresse wird.
print 'Rechnungen von Nebenadressen zur Hauptadresse umhängen'
update View_Belege
set SuperId = a.VNummer
from 
View_Belege b, View_Adressen a 
where a.id = b.SuperId and a.Haupt = 'N' and b.Belegart = 'Ausgangsrechnung'

print 'Bei Tickets, die bei Nebenadressen sind die Nebenadresse als Ansprechpartner setzen'
update View_Tickets
set [Kunde Ansprechpartner] = Kunde
from 
View_Tickets t, View_Adressen a 
where a.id = t.Kunde and a.Haupt = 'N' and t.[Kunde Ansprechpartner] is null

print 'Tickets von Nebenadressen zur Hauptadresse umhängen'
update View_Tickets
set Kunde = a.VNummer
from 
View_Tickets t, View_Adressen a 
where a.id = t.Kunde and a.Haupt = 'N'

-- Betreut von zu den Hauptadressen umhängen
print 'Betreut von Partner von Nebenadressen zur Hauptadresse umhängen'
update View_Adressen
	set [Betreut von Partner] = p.VNummer
from 
	View_Adressen, View_Adressen p
where 
	View_Adressen.[Betreut von Partner] = p.ID and p.Haupt = 'N'

print 'Betreut von Distributor von Nebenadressen zur Hauptadresse umhängen'
update View_Adressen
	set [Betreut von Distributor] = d.VNummer
from 
	View_Adressen, View_Adressen d
where 
	View_Adressen.[Betreut von Distributor] = d.ID and d.Haupt = 'N'

-- Gibt es Leistungen die beim Kunden, als Partner oder Distri nicht bei der Hauptadresse 
-- sondern beim Ansprechpartner liegen? 
-- dies kann zum Beispiel passieren, wenn man Hierarchie Bilden verwendet 
-- und eine Hauptadresse dabei zur Nebenadresse wird.
print 'Leistung von Nebenadressen zur Hauptadresse umhängen'
update View_Leistung
set superid = a.VNummer
from 
View_Leistung l, View_Adressen a 
where a.id = l.SuperId and a.Haupt = 'N'

print 'Leistungspartner von Nebenadressen zur Hauptadresse umhängen'
update View_Leistung
set Partner = a.VNummer
from 
View_Leistung l, View_Adressen a 
where a.id = l.Partner and a.Haupt = 'N'

print 'Leistungsdistributor von Nebenadressen zur Hauptadresse umhängen'
update View_Leistung
set Distributor = a.VNummer
from 
View_Leistung l, View_Adressen a 
where a.id = l.Distributor and a.Haupt = 'N'

Mit Vorsicht prüfen

select * from View_TicketAngebote where not Ticket in (select id from View_Tickets)
select * from View_TicketAngebotPositionen where not TicketAngebot in (select id from View_TicketAngebote)
select * from View_TicketBeobachter where not Ticket in (select id from View_Tickets)
select * from View_TicketDokumente where not Ticket in (select id from View_Tickets)
select * from View_TicketKommentare where not Ticket in (select id from View_Tickets)
select * from View_Zeitbuchung where not Ticket in (select id from View_Tickets)

-- Doppelte Beobachter löschen
delete from View_TicketBeobachter where id in
(
    select min(id) from View_TicketBeobachter group by Benutzer, Ticket having count(*) > 1
)
PreviousEinspielen der bereitgestellten Reports

Last updated 1 year ago