SELECT A.ID
FROM ServiceDocuments A
LEFT JOIN Firms F1 ON F1.ID = A.Firm_ID
LEFT JOIN Firms F2 ON F2.ID = A.PayerFirm_ID
WHERE
(A.ObjectKind = :KIND) and
(
(Upper(F1.Name collate PXW_CSY) LIKE Upper('{SEARCHFIRM}') ESCAPE '~') OR
(Upper(F2.Name collate PXW_CSY) LIKE Upper('{SEARCHFIRM}') ESCAPE '~') OR
((:WithAncestors='A') AND
(
(A.Firm_ID in
(SELECT F11.ID FROM Firms F11
WHERE
(A.Firm_ID = F11.ID) and
(F11.Firm_ID in
(SELECT F111.ID FROM Firms F111
where (Upper(F111.Name collate PXW_CSY) LIKE Upper('{SEARCHFIRM}') ESCAPE '~')
)
)
)
) OR
(A.PayerFirm_ID in
(SELECT F21.ID FROM Firms F21
WHERE
(A.PayerFirm_ID = F21.ID) and
(F21.Firm_ID in
(SELECT F211.ID FROM Firms F211
where (Upper(F211.Name collate PXW_CSY) LIKE Upper('{SEARCHFIRM}') ESCAPE '~')
)
)
)
)
)
)
)
ORDER BY
A.DocDate$DATE desc, A.OrdNumber descGenerated by ABRA Software a.s. 27.10.2021 16:35:46