Есть два пользователя. Роли у них абсолютно совпадают. Разделение доступа на уровне записей не активно. Оба пользователя в одной группе.
Есть внешний отчет. Запросом выбираются документы и их реквизиты выводятся в табличный документ.
У одного пользователя - всё работает нормально.
У второго - результат запроса - пустой. (Смотрел в отладчике).
В модулях этого внешнего отчета нигде не анализируется пользователь или его роль - да и запрос один и тот же...
Этот же запрос в консоле нормально отрабатывает у обоих пользователей...
Кеш тоже ни причем. Выгрузил базу и загрузил на другом компьютере, т.е. там "профилей" этих пользователей точно не было...
"Крышу сорвало"...
ХЕЛП! СОС! ПЛЗ!
Приветствуются самые - самые ... идеи и советы...
(1) AnryMc, как вариант, В модуле отчета, событие "ПриКомпоновкеРезультата" ? Там могут текущие настройки компоновки меняться.
Ну и да, переделать на программное формирование, и смотреть текущие настройки компоновки и, как результат, запрос набора данных у макета компоновки.
Или Скуль)
(37) Allexe8.1,
Отчет не СКДешный.
Форма - сохраняемых реквизитов нет. В модуле тоже нет сохранения/восстановления.
Просто запрос: выбирает по условию банковские документы (их реквизиты).
Затем обход результата и вывод в табличный документ.
ИТОГО:
1) СКДшные "приколы" не могут влиять на данную ситуацию 2) Настройки формы и пользователя - не сохраняются/восстанавливаются (т.е. регистр Настроек, кеш, и пр.) это тоже не то 3) В запросе нет "РАЗРЕШЕННЫЕ" но нет "ругани" о недоступности данных и в СКД-консоли "проблемный" пользователь получает эти данные - т.е. на эти данные для него нет "запрета" 4) Процедуры и функции из общих модулей вроде в отчете не используются. (Весь код отчета я не смотрел - только часть выполнения запроса)
(10) karpik666,
У всех создаваемых (новых) пользователей - результат запроса пустой.
Если копировать пользователя у которого всё работает - результат запроса пустой.
Есть результаты только у пользователей - которые введены давно.
Запрос выбирает 4 документа (их реквизиты) платежное поручение / мемориальный ордер - входящий / исходящий
Т.е. что то типа реестра платежей, потом выбирается курсы валют и потом уже при выводе результата по разным правилам вычисляются управленческие данные...
(22) ладно, друг, давай по серьёзному тогда:
- открываем профайлер SQL, и начинаем слушать
- отправляем запрос от имени "робочего" юзака
- отправляем запрос от имени новичка
- сравниваем
- одинаковый? тогда сравниваем параметры? опять одинаково не может быть
Согласен, но такое "копание" не для моей компетентности в данной области :-(
ЗЫ С Серверами баз данных (программами) сталкиваюсь периодически и в основном на уровне установки, настройки и пр. (администрирование) поэтому с языком запросов к ним не особо знаком и с их консолями тоже...
Хотя "поковыряться" в таблицах и иногда их "подправить" могу, но с трассировкой запроса нет.
ЗЫЫ Если дадите ссылку на "ликбез" или "для чайника" по этому вопросу - буду признателен...
Повторяю: В консоле запросов запрос отрабатывает нормально под обеими пользователями...
В запросе не используется "ВЫБРАТЬ РАЗРЕШЕННЫЕ" - но ругани на недоступность данных нет...
У меня еще была проблема когда у пользователя стояла галка "Открывать сохраненные настройки", тоже убил кучу времени пока не снял и не пере открыл отчет.
(34) ture, а так будет гарантия, что и новый пользователь и старый лишатся всех настроек и будут на равных.
Мое дело предложить, тем более сделать это совсем не сложно.
Попробуй новому пользователю "Полные права" назначить.
Отчет которым у тебя пользуются пользователи выполнен на СКД , возможно проблема заключается в настройке схемы СКД и недостаточными правами пользователей на какие нибудь поля используемые СКД.
В консоле запросов при этом запрос может выполнятся нормально.
Посмотри в РС "Сохраненные настройки" есть записи для этого отчета? Если есть попробуй удалить и запустить отчет сначала от пользователя у которого не формируется отчет. Ну и кэш чистил?