Показать сообщение отдельно
Старый 11.02.2010, 14:16   #5  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Цитата:
Сообщение от BOAL Посмотреть сообщение
Это стандартный отчет? Он с карточки клиента вызывается?
Как связан клиент с таблицей накладных по рекид? (с чего эта связь вообще есть)
Если РЛС на клиента и он виден, то в отчет попадут все строки по нему, на накладных же нет рлс?

Куда копать - вырубить рлс, проверить, что без него все ок
Изучить состав рлса - там может быть чит, когда на рекИд вешают условие по ИЛИ, потому РекИд и перекрыт
Наверное, нужно уточнить, что отчет не стандартный, по-сути, печатная форма документа, в шапку которого попадает информация из выделенной строки в журнале CustInvoiceTrans (соответственно, в отчет передается recId), и табличной части (приходит по join, но это нас сейчас не волнует).
Если RLS не включено, то все работает.

Вот как выглядит запрос после применения RLS (я еще добавил пустой Range в Query запроса, а в методе init добавляется значение этого Range):
X++:
SELECT * FROM CustInvoiceTable WHERE (((CustInvoiceTable.JuridicalPersonId!="XXXXXXXX") && (CustInvoiceTable.JuridicalPersonId!="XXXXXXXX")) OR 
(RecId = 5637147356)) JOIN * FROM CustInvoiceLine WHERE 
CustInvoiceTable.RecId = CustInvoiceLine.ParentRecId
На чит похоже? Или так и должно быть?