Hello nový Buying = propojení s novým Buy-In2

Tak krátký popis tak významné a relativně složité věci – H3.0 se nyní umí napojit i na novou verzi software Buying nazvanou Buy-In2.
Přepínání je možné v administraci – Administrace/Nastavení/Propojení s ostatními systémy, kde akorát přepnete na Buy-In2, zadáte údaje o databázi a připojení k ní tak jako to bylo dosud o starého Buyingu a poté bude export do Buyingu pracovat s novou databází.
V reálu máme možnost buď klasického napojení s kontrolou toho, zda je dodavatel aktivní (volba “Buy-In2”), nebo podrobnější kontrolou toho, zda je dodavatel schválen v určitém časovém okamžiku (volba “Buy-In2 with validity check).
VOLBA “BUY-IN2”
buyIn2
 
V detailu to pak probíhá včetne query následovně:

1) lezu do Datamedia a mam ICO

SELECT Nazev, ICO, ID_SUB
FROM SUBJEKTY
WHERE (deleted=0) and (ICO=…)

vyjede mi treba nekolik radek .. u tech beru ID_SUB a pro kazdou z nich:

2) lezu do Buying DB a overuju zda je ID_SUB aktivni

SELECT MT.IsActive
from del.MAF_Media M
inner join del.MAF_MediaTranslate MT on M.Id = MT.MediaId
WHERE M.DataMediaId = ID_SUB

dokud mi vyleze aspon v jedne vysledkove radce to MT.IsActive jako = 1 , potom:

3) lezu zase do Datamedia a zjistuju si podle toho ID_SUB jeste ID_HLAV, ktery pak davam do toho importu pro Buying

SELECT ID_HLAV FROM PREVODY WHERE ID_SUB = <vybrané ID_SUB>

 
VOLBA “BUY-IN2 WITH VALIDITY CHECK”
pak probíhá velmi podobně, pouze krok 2 je nahrazen podrobnější query viz níže, která kontroluje platnost v časovém okamžiku:
SELECT MT.IsActive, ml.main as HlavniDodavatelMediaTrueFalse,
ml.AvailabilityFrom as VazbaMediaKDodavateliOd,
ml.AvailabilityTo as VazbaMediaKDodavateliDo,
cr.AvailabilityFrom as PlatnostSmluvnichVztahuOd,
cr.AvailabilityTo as PlatnostSmluvnichVztahuDo
from del.MAF_Media M
inner join del.MAF_MediaTranslate MT on M.Id = MT.MediaId
inner join del.PaS_Supplier_Media_Link ml on mt.MediaId = ml.MediaId
inner join del.CR_ContractualRelationshipSupplierheader crsh on ml.SupplierId = crsh.SupplierId
inner join del.CR_ContractualRelationshipSupplier crs on crsh.id = crs.ContractualRelationshipSupplierHeaderId
inner join del.CR_ContractualRelationship cr on crs.ContractualRelationshipId = cr.id
inner join del.CR_ContractualRelationshipHeader crh on crsh.ContractualRelationshipHeaderId = crh.id
WHERE (M.DataMediaId = ID_SUB) AND
(DATEFROMPARTS (2018,1,31) between ml.AvailabilityFrom and ml.AvailabilityTo) AND
(DATEFROMPARTS (2018,1,31) between cr.AvailabilityFrom and cr.AvailabilityTo)
…kde ty datumy v posledních dvou řádkách jsou platnost od a do a ID_SUB je ID dodavatele získané v prvním kroce.