SELECT TB.*,
RDB$GET_CONTEXT('USER_TRANSACTION', 'ROW#') AS RECNO,
RDB$SET_CONTEXT('USER_TRANSACTION', 'ROW#', COALESCE(CAST(RDB$GET_CONTEXT('USER_TRANSACTION', 'ROW#') AS INTEGER), 0) + 1)
FROM (SELECT DISTINCT DC.*,
I.REFERENCIA, IC.ACABADO, V.CALIBRE, V.COLOR
FROM CAB_COTIZACION CC
INNER JOIN DET_COTIZACION DC ON (CC.ID_CABCOTIZACION = DC.ID_CABCOTIZACION)
INNER JOIN ITEM_COTIZACION IC ON (DC.ID_DETCOTIZACION = IC.ID_DETCOTIZACION)
INNER JOIN ITEM I ON (IC.ID_ITEM = I.ID_ITEM)
INNER JOIN VIDRIO V ON (V.ID_VIDRIO = DC.VIDRIO)
WHERE CC.ID_CABCOTIZACION =:CAB) AS TB
Saludos!