Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрос не выполняется под ограниченной учетной записью
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
jonson_r
Доброго времени суток всем!
Столкнулся с такой ситуацией. Есть самописный документ, ТЧ которого наполняют документами реализация товаров и услуг и затем на их основании выводят печатную форму (что-то типа ТТН-ка внутреннего пользования). Делал его давно и пользовались им успешно. Но вот недавно заведенный пользователь обратился с такой ошибкой:

{Документ.ТТНКорп.Форма.ФормаДокумента.Форма(30)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
Запрос невозможно исполнить

У пользователя на все данные, которые обрабатываются в запросе, реально есть доступ. Проблему решил случайно, переделав запрос с варианта 1 (не рабочего под этим пользователем):
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура.Ссылка КАК Номенклатура
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Товары.Ссылка
ГДЕ
    РеализацияТоваровУслуг.Ссылка = &ДокСсылка

На вариант 2 (уже основываясь та текущие навыки, т.к. предыдущий вариант писал еще в самом начале обучения):
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура.Ссылка КАК Номенклатура
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка = &ДокСсылка

После этого пользователь смог выполнить вывод печатной формы.
Я понимаю, что первый запрос был "доступ к яйцам через попу", но как так может быть? Что в 1-м случае что во 2-м обращение идет к одному и тому же документу... хотя учитывая физику данных это в базе разные таблицы - сам документ и его ТЧ, но пользователь же может проводить его, наполнять, почему тогда в запросе так? Нагуглил похожую проблему, но там решения небыло, игрались с правами, ставили в запросе ВЫБРАТЬ РАЗРЕШЕННЫЕ.

Может есть у кого какие идеи?

Спасибо.
alex040269
В первом запросе выбирались все данные из всех табличных частей "Документ.РеализацияТоваровУслуг.Товары"

замените в первом запросе соединение на внутреннее и "о шайтан. оно работает" smile.gif
Цитата(jonson_r @ 31.10.13, 19:28) необходимо зарегистрироваться для просмотра ссылки
Запрос невозможно исполнить


здесь нет проблем с правами smile.gif
Ardi
Цитата(alex040269 @ 31.10.13, 20:40) необходимо зарегистрироваться для просмотра ссылки
замените в первом запросе соединение на внутреннее

Оно бы всё равно сначала выбрала ВСЕ данные из обоих таблиц, а уже потом наложило условие.

А во втором запросе условие накладывается сразу.
jonson_r
Цитата(alex040269 @ 31.10.13, 19:40) необходимо зарегистрироваться для просмотра ссылки
В первом запросе выбирались все данные из всех табличных частей "Документ.РеализацияТоваровУслуг.Товары"

замените в первом запросе соединение на внутреннее и "о шайтан. оно работает" smile.gif


здесь нет проблем с правами smile.gif

Спасибо за дельный совет!

Цитата(alex040269 @ 31.10.13, 19:40) необходимо зарегистрироваться для просмотра ссылки
здесь нет проблем с правами smile.gif

П.С. но почему тогда под полными правами отрабатывало корректно, а с ограниченными (кроме ресурсов к которым идети обращение) - вываливалось в такую ошибку?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.