Столкнулся с такой ситуацией. Есть самописный документ, ТЧ которого наполняют документами реализация товаров и услуг и затем на их основании выводят печатную форму (что-то типа ТТН-ка внутреннего пользования). Делал его давно и пользовались им успешно. Но вот недавно заведенный пользователь обратился с такой ошибкой:
{Документ.ТТНКорп.Форма.ФормаДокумента.Форма(30)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
Запрос невозможно исполнить
У пользователя на все данные, которые обрабатываются в запросе, реально есть доступ. Проблему решил случайно, переделав запрос с варианта 1 (не рабочего под этим пользователем):
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура.Ссылка КАК Номенклатура
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Товары.Ссылка
ГДЕ
РеализацияТоваровУслуг.Ссылка = &ДокСсылка
На вариант 2 (уже основываясь та текущие навыки, т.к. предыдущий вариант писал еще в самом начале обучения):
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура.Ссылка КАК Номенклатура
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
РеализацияТоваровУслугТовары.Ссылка = &ДокСсылка
После этого пользователь смог выполнить вывод печатной формы.
Я понимаю, что первый запрос был "доступ к яйцам через попу", но как так может быть? Что в 1-м случае что во 2-м обращение идет к одному и тому же документу... хотя учитывая физику данных это в базе разные таблицы - сам документ и его ТЧ, но пользователь же может проводить его, наполнять, почему тогда в запросе так? Нагуглил похожую проблему, но там решения небыло, игрались с правами, ставили в запросе ВЫБРАТЬ РАЗРЕШЕННЫЕ.
Может есть у кого какие идеи?
Спасибо.