Eingangsrechnungsbuch Zahlungskonditionen aus Lieferantenstamm überschreiben

Mit diesem Job werden die Zahlungsbedingungen im Eingangsrechnungsbuch mit den aktuell hinterlegten Zahlungskonditonen des Lieferanten (Kreditor) aus den KWP Zahlungskonditionen überschrieben solange diese noch nicht an die Finanzbuchhaltung (z.B. Datev) übergeben worden sind.

update rebEinRechnung
set Nettofaelligkeit = r.Eingangsdatum+k.NettoTage,SkontoPrz=k.skonto,skontodatum=r.Eingangsdatum+k.SkontoTage,AbbuchungErstellt=k.Abbuchung,skonto=Skontobasis*(k.Skonto/100)
from rebeinrechnung r left join adradressen a on r.fkAdresse=a.AdrNrGes left join adrkonditionen k on a.ZahlungsKondition=k.KonditionsNr
where r.FibuUebgDatum is Null

Eingangsrechnungsbuch Kost1 und Kost2 füllen neues WW2

Vorgang in rebbuchung – Diese Felder werden mit dem Wert gefüllt
0 = Projekt füllt fkprojnr
2 = Regie füllt Vorgangsnr
4 = Bestell füllt füllt fkBestellnr
5 = Wartungsauftrag füllt Vorgangsnr
9 = Sonstiges NULL

Auf Basis der Checkliste sollten die Informationen zurückkommen, wie im Eingangsrechnungsbuch bei der Datev Schnittstelle die Felder Kost1 und Kost2 gefüllt werden sollen.

select re.id,re.Bezeichnung, rb.fkKonto, rb.fkBestellNr, rb.fkProjNr, rb.vorgang, rb.VorgangsNr, rb.KstKtr,Projekt.ProjNr as pnr,Regie.ProjNr as rnr,
projekt.AbtNr, regie.AbtNr, regie.AnlagenNummer, bestellung.VorgangsNr, bestellung.VorgangsNr2,
case
when rb.vorgang = 0 and rb.fkBestellNr is null then rb.fkProjNr
when rb.Vorgang = 2 and rb.fkBestellNr is null and rb.fkProjNr is null then rb.VorgangsNr
when rB.vorgang = 4 and rb.fkBestellNr is not null then Bestellung.VorgangsNr
when rb.Vorgang = 5 and rB.fkBestellNr is null and rb.fkProjNr is null then rb.VorgangsNr
end as Kostentraeger,
case
when cast(rB.vorgang as nvarchar) = 0 and cast(rb.fkBestellNr as nvarchar) is null then cast(projekt.AbtNr as nvarchar)
when cast(rB.vorgang as nvarchar) = 2 and cast(rb.fkBestellNr as nvarchar) is null and cast(rb.fkProjNr as nvarchar) is null then cast(regie.AbtNr as nvarchar)
when cast(rB.vorgang as nvarchar) = 4 and cast(rb.fkBestellNr as nvarchar) is not null then cast(Bestellung.AbteilungsNr as nvarchar)
–when rb.Vorgang = 5 then regie.AnlagenNummer
when rb.Vorgang = 5 then regie.AbtNr

end as Kost

FROM Bestellung RIGHT OUTER JOIN rebEinRechnung as re RIGHT OUTER JOIN rebBuchung as rb
on re.pkER = rb.fkER LEFT OUTER JOIN Projekt ON rb.fkProjNr = Projekt.ProjNr LEFT OUTER JOIN Regie ON rB.VorgangsNr =
Regie.ProjNr ON Bestellung.BestellNr = rb.fkBestellNr where REDatum > ‚01.04.2024‘



Status Bestellfortschritt Bestellkopf

Datenfeld Bestellfortschritt (int, null)

0=Bestellung angelegt
1=Bestellung erfasst
2=Bestellung gedruckt
3=Teillieferung
4=Lieferung erfolgt
5=zuviel geliefert
6=Rech.teilgeprüft
7=Bestellung abgeschlossen
8=unbek Status
90=Bestellung storniert

Aufzählungen für das Feld Bestellfortschritt in der Tabelle Bestellungen.

SQL zykl. Füllen einer Tabelle für externe Zeiterfassung mit Kostenträgern

1. Teil eine View mit den aktiven Kostenträgern erzeugen

create view [dbo].[v_kostentraeger] as
select ProjNr,rechadr, AuftragStatus, AAuftragStatus, BAuftragStatus, left(ProjBezeichnung,20)as Projbez,AbtNr, Auftragsdatum, CONVERT(varchar(MAX), AuftragsDatum, 104)as Adatum from projekt
where AuftragStatus=7 or AuftragStatus=8 and Kategorie is NULL and (left(Projnr,1)=’1′ or left(Projnr,1)=’2′)
union
select ProjNr,rechadr, Auftragstatus, AAuftragStatus, BAuftragStatus, left(ProjBezeichnung,20),abtnr, createdate, CONVERT(varchar(MAX), Createdate, 104) from regie
where (AuftragStatus=0 and AAuftragStatus=5) or (AuftragStatus=0 and AAuftragStatus=0) and Kategorie is NULL

2. SQL Job füllt in Intervallen die Tabelle ZZ_Timeninfo mit aktiven Kostenträgern

INSERT INTO ZZ_Timeinfo
(ProjNr ,Projbez ,rechadr ,erzeugt)
select projnr, projbez, rechadr,Getdate() from v_kostentraeger
where projnr not in (select projnr from zz_timeinfo)