Kontraktzuweisungen prüfen
Die in der Kontraktzuweisung eingestellten Kontrakttypen sollen beim Speichern eines kontraktes geprüft werden. Für EK-Disposition ist in der Quelle EK erlaubt, im Ziel VK-Dispo (jedoch nicht VK).
Konfiguration
Problem sollte mit dem nächsten Update behoben sein
Kontroll-Statements:
select
ct1.aname,
cv1.aname,
ct2.aname,
cv2.aname,
count(c1.sid) as cnt
from contract c1
inner join ContractType ct1 on ct1.sid=c1.FK_ContractType_SID
inner join ContractVersion cv1 on cv1.sid=c1.FK_ContractVersion_SID
inner join contract c2 on c2.sid=c1.FK_ContractDest_SID
inner join ContractType ct2 on ct2.sid=c2.FK_ContractType_SID
inner join ContractVersion cv2 on cv2.sid=c2.FK_ContractVersion_SID
left outer join ContractActionUsage u on u.FK_RecordState_SID=0 and u.isSource=0
and u.FK_ContractTypeFrom_SID=c1.FK_ContractType_SID
and u.FK_ContractTypeTo_SID=c2.FK_ContractType_SID
and isnull(u.FK_ContractVersionFrom_SID,c1.FK_ContractVersion_SID)=c1.FK_ContractVersion_SID
and isnull(u.FK_ContractVersionTo_SID,c2.FK_ContractVersion_SID)=c2.FK_ContractVersion_SID
where c1.FK_RecordState_SID=0 and c2.FK_RecordState_SID=0 and c1.FK_EnqState_SID<>21 and c2.FK_EnqState_SID<>21
and u.sid is null
group by ct1.aName, cv1.aname, ct2.aName, cv2.aname
select
ct1.aname,
cv1.aname,
ct2.aname,
cv2.aname,
count(c1.sid) as cnt
from contract c1
inner join ContractType ct1 on ct1.sid=c1.FK_ContractType_SID
inner join ContractVersion cv1 on cv1.sid=c1.FK_ContractVersion_SID
inner join contract c2 on c2.sid=c1.FK_ContractSrc_SID
inner join ContractType ct2 on ct2.sid=c2.FK_ContractType_SID
inner join ContractVersion cv2 on cv2.sid=c2.FK_ContractVersion_SID
left outer join ContractActionUsage u on u.FK_RecordState_SID=0 and u.isSource=1
and u.FK_ContractTypeFrom_SID=c1.FK_ContractType_SID
and u.FK_ContractTypeTo_SID=c2.FK_ContractType_SID
and isnull(u.FK_ContractVersionFrom_SID,c1.FK_ContractVersion_SID)=c1.FK_ContractVersion_SID
and isnull(u.FK_ContractVersionTo_SID,c2.FK_ContractVersion_SID)=c2.FK_ContractVersion_SID
where c1.FK_RecordState_SID=0 and c2.FK_RecordState_SID=0 and c1.FK_EnqState_SID<>21 and c2.FK_EnqState_SID<>21
and u.sid is null
group by ct1.aName, cv1.aname, ct2.aName, cv2.aname