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

1С:Предприятие ::

Метки: 

СКД условие в запросе

Я
   _Дайвер_
 
26.09.17 - 14:28
В СКД поставил условие для выборки документов по пользователям. Устанавливаю параметр для сотрудников, с ними все норм, а вот если я буду под администратором формировать запрос, он ведь мне ничего не даст))) Как обойти эту схему в коде после ИНАЧЕ? Или как нибудь по другому.
    Если НЕ РольДоступна("Администратор") Тогда
        ОтветственныйМенеджер = ПараметрыСеанса.ТекущийПользователь.Ссылка;
        Запрос2 = Новый Запрос;
        Запрос2.Текст ="ВЫБРАТЬ ПЕРВЫЕ 1
        |    СотрудникиПользователя.Сотрудник
        |ИЗ
        |    РегистрСведений.СотрудникиПользователя КАК СотрудникиПользователя
        |ГДЕ
        |    СотрудникиПользователя.Сотрудник = &ОтветственныйМенеджер";
        Запрос.УстановитьПараметр("ОтветственныйМенеджер", ОтветственныйМенеджер);
    Иначе
        Запрос.УстановитьПараметр("ОтветственныйМенеджер", ******); 
    КонецЕсли;
 
 
   bplmeddy
 
1 - 26.09.17 - 14:31
(0) Пользователь указывается вручную или задаётся автоматически (ПользователиИнформационнойБазы.ТекущийПользователь().Имя) ?
   vicof
 
2 - 26.09.17 - 14:32
Другой запрос напиши
   _Дайвер_
 
3 - 26.09.17 - 14:33
(1) Он при входе в базу указывается
   _Дайвер_
 
4 - 26.09.17 - 14:34
(2) Думал запрос второй написать, но может есть что!?)
   vicof
 
5 - 26.09.17 - 14:34
За это руки отрывать надо: ПараметрыСеанса.ТекущийПользователь.Ссылка
   bplmeddy
 
6 - 26.09.17 - 14:37
(0) Запрос на выборку документа предоставь пожалуйста. Тот запрос который ты показал - на выборку пользователя.
   _Дайвер_
 
7 - 26.09.17 - 14:37
(5) В продакшн это не попадет, копировал кусок кода, и еще не поправил, пока что думаю над темой)
   _Дайвер_
 
8 - 26.09.17 - 14:39
(6)
ВЫБРАТЬ
    ПродажиОбороты.Организация,
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.Документ.Контрагент КАК Контрагент,
    ПродажиОбороты.Ответственный,
    ПродажиОбороты.Характеристика,
    ПродажиОбороты.Документ,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество,
    СУММА(ПродажиОбороты.СуммаОборот) КАК Сумма,
    СУММА(ПродажиОбороты.СуммаНДСОборот) КАК СуммаНДС,
    СУММА(ПродажиОбороты.СебестоимостьОборот) КАК Себестоимость,
    СУММА(ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот) КАК ВаловаяПрибыль,
    ВЫБОР
        КОГДА &ОбъектАнализа = "Покупатель"
            ТОГДА ПродажиОбороты.Документ.Контрагент
        КОГДА &ОбъектАнализа = "Менеджер"
            ТОГДА ПродажиОбороты.Ответственный
        КОГДА &ОбъектАнализа = "Номенклатура"
            ТОГДА ПродажиОбороты.Номенклатура
        ИНАЧЕ NULL
    КОНЕЦ КАК ОбъектАнализа
ИЗ
    РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
ГДЕ
    ПродажиОбороты.Документ.Организация <> &Брак
    И ПродажиОбороты.Документ.Ответственный = &ОтветственныйМенеджер

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Организация,
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Ответственный,
    ПродажиОбороты.Характеристика,
    ПродажиОбороты.Документ,
    ВЫБОР
        КОГДА &ОбъектАнализа = "Покупатель"
            ТОГДА ПродажиОбороты.Документ.Контрагент
        КОГДА &ОбъектАнализа = "Менеджер"
            ТОГДА ПродажиОбороты.Ответственный
        КОГДА &ОбъектАнализа = "Номенклатура"
            ТОГДА ПродажиОбороты.Номенклатура
        ИНАЧЕ NULL
    КОНЕЦ,
    ПродажиОбороты.Документ.Контрагент
   bplmeddy
 
9 - 26.09.17 - 14:42
(8) Так в чём собственно проблема ? Я так понимаю "Ответственный" у тебя реквизит документа? И  в то же время измерение регистра продаж, верно ?
   bplmeddy
 
10 - 26.09.17 - 14:44
(8) (9) Ещё подскажи: реквизит "Ответственный" в документе как заполняется у тебя?
 
 
   fedoss
 
11 - 26.09.17 - 14:44
|ГДЕ
        |    СотрудникиПользователя.Сотрудник = &ОтветственныйМенеджер;
        |    ИЛИ &НеОтбиратьПоМенеджеру;
   _Дайвер_
 
12 - 26.09.17 - 15:01
Все походу куда проще, чем я думал)
    Если НЕ РольДоступна("Администратор") Тогда
        Запрос.УстановитьПараметр("ОтветственныйМенеджер", ОтветственныйМенеджер);
    Иначе
        Запрос.Параметры.Удалить("ОтветственныйМенеджер");
    КонецЕсли;
   breezee
 
13 - 26.09.17 - 15:19
(12) Зачем? Зачем вы решили что администраторам интересны продажи менеджеров?
   _Дайвер_
 
14 - 26.09.17 - 15:24
(13) Я Администратор, я решаю что мне смотреть, а что нет)
А если серьезно, то есть пользователи которые имеют административные права(типа главный менеджер), которым нужно смотреть продажи менеджеров + по всем вопросам в учете к кому вопросы идут? Правильно, к администратору! А администратор смотрит отчет и смотрит что да как.
   _Дайвер_
 
15 - 26.09.17 - 15:53
(11) Забыл поблагодорить..., спасибо)
ГДЕ
    ПродажиОбороты.Документ.Организация <> &Брак
    И (&ПоВсем
            ИЛИ ПродажиОбороты.Ответственный = &ОтветственныйМенеджер)


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