Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Не отрабатывает запрос в консоли запросов работает,а в коде не работает

Не отрабатывает запрос в консоли запросов работает,а в коде не работает
Я
   1сЮлия
 
27.12.18 - 16:39
Добрый вечер!Автор=ПараметрыСеанса.ТекущийПользователь.Ссылка;

Запрос = Новый Запрос ;
Запрос.УстановитьПараметр("ФИО", Автор); 
Запрос.Текст=
    "ВЫБРАТЬ
    |    Пользователи.Ссылка,
    |    РаботникиОрганизацийСрезПоследних.Должность,
    |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК Подразделение,
    |    ЕСТЬNULL(КонтактнаяИнформация.Представление, """") КАК Телефон
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
    |        ПО СотрудникиОрганизаций.Ссылка = РаботникиОрганизацийСрезПоследних.Сотрудник
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
    |        ПО (ФизическиеЛица.Ссылка = СотрудникиОрганизаций.Физлицо)
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |        ПО СотрудникиОрганизаций.Физлицо = КонтактнаяИнформация.Объект
    |            И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
    |        ПО СотрудникиОрганизаций.Физлицо = Пользователи.ФизЛицо
    |    где Пользователи.Ссылка = &ФИО";


РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
      Должность = РезультатЗапроса.Должность;
КонецЦикла; Что может быть?
 
 
   ДенисЧ
 
1 - 27.12.18 - 16:40
Параметры разные
   Franchiser
 
2 - 27.12.18 - 16:42
Автор=ПараметрыСеанса.ТекущийПользователь.Ссылка;
   VladZ
 
3 - 27.12.18 - 16:42
А почему именно ПараметрыСеанса.ТекущийПользователь ?

Чем не нравится Пользователи.ТекущийПользователь() ?
   Franchiser
 
4 - 27.12.18 - 16:46
1 Ну во первых в БСП есть Пользователи.ТекущийПользователь().
2. Зачем писать ПараметрыСеанса.ТекущийПользователь.Ссылка, когда достаточно ПараметрыСеанса.ТекущийПользователь;
Зачем огород делать?
Ну и проверь что у параметра тип "Справочник.Пользователи"
   Franchiser
 
5 - 27.12.18 - 16:47
Зачем в запросе делать левое соединение, когда в условии написано "где Пользователи.Ссылка = &ФИО"
   Franchiser
 
6 - 27.12.18 - 16:49
И цикл тут не нужен:
Если РезультатЗапроса.Следующий() Тогда
      Должность = РезультатЗапроса.Должность;
КонецЕсли
   1сЮлия
 
7 - 27.12.18 - 16:53
У параметра тип СправочникСсылка.Пользователи,и все равно не работает
   Franchiser
 
8 - 27.12.18 - 17:07
(7) у параметра значение правильное ?
   1сЮлия
 
9 - 27.12.18 - 17:10
Тип СправочникСсылка.Пользователи,я не знаю.
   hhhh
 
10 - 27.12.18 - 17:15
(9) а физлицо задано у этого пользователя?
 
 Рекламное место пустует
   1сЮлия
 
11 - 27.12.18 - 17:17
Да
   Vanilla26
 
12 - 27.12.18 - 18:00
а может оно отрабатывает, а в конце "Должность =" 
другой тип, например не ДолжностьОрганизации, а Должность
   1сЮлия
 
13 - 27.12.18 - 18:21
в регистре РаботникиОрганизацийСрезПоследних.Должность поле Должность,а не ДолжностьОрганизации.
   Доминошник
 
14 - 27.12.18 - 18:41
(0) А в чём, собственно, проблема?
Запрос вообще не возвращает ничего - то есть РезультатЗапроса.Количество()=0?
Или не возвращает только должность?
Если только должность - то для всех пользователей? Для какого-то определённого?

В конце концов - поставить точку останова и посмотреть, что передаётся в запрос в параметре Автор
   МимохожийОднако
 
15 - 27.12.18 - 19:37
Достаточно включить отладчик и посмотреть значение параметра запроса
   Fram
 
16 - 27.12.18 - 19:45
(15) На мисте у телепатов спросить проще ж
   МимохожийОднако
 
17 - 27.12.18 - 19:54
(16) Конечно. У столба светлее искать.
   1сЮлия
 
18 - 28.12.18 - 10:43
параметр Автор возвращает,не возвращает должность,и  подразделение.
   cons24
 
19 - 28.12.18 - 11:29
Переписать весь запрос нафиг.
Начиная с того что идет соединение с виртуальной таблицей РегистрСведений.РаботникиОрганизаций.СрезПоследних без указания параметра, т.е. срез получает для ВСЕХ сотрудников, - и заканчивая тем что отбор на Пользователи, а сам Пользователи в соединении справа.
Надо строить запрос последовательно. Если у вас отбор по Пользователи то цепочка должна быть
Пользователи -> Сотрудники -> Срез.
А вообще переписать все нафиг.
Стаж 6 лет... боже ты мой
   1сЮлия
 
20 - 28.12.18 - 14:58
Почему то ПараметрыСеанса.ТекущийПользователь.ФизЛицо = ПустаяСсылка,дело не в запросе запрос отрабатывает в консоли нормально выдает то что нужно,а вот парамет я текущему полльзователю выбрала физлицо в базе и записала.Но все равно пустая строка,как ещё можно в УПП выбрать ПараметрыСеанса.ТекущийПользователь.Физлицо
   1сЮлия
 
21 - 28.12.18 - 15:00
Запрос то понятно я перепишу,а физлицо,как правильно вытянуть?
   IOANNscrp
 
22 - 28.12.18 - 15:01
Заполнить это одно, а перезайти под этим пользователем?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует