СКД. Отбор по выбранному сотруднику или текущему пользователю #786335


#0 by Shaman1C
Отчет на СКД. На форму выведены отборы. Один отбор называется "Сотрудник". Хотят чтобы если этот отбор заполнен, то в запрос передавался он и делался соответствующий отбор "В данных записях ищем по ФИО сотрудника, по которому задана настройка отчета", иначе "В данных записях ищем по ФИО сотрудника, текущего пользователя 1С, который формирует отчет". Можно ли как-то передать этот отбор в запрос СКД или как-то по другому можно? Как это вообще делается?
#1 by torgm
Выведи реквизит, по факту формирования заполняй отбор.
#2 by DCKiller
Отбор параметром сделай, и в запросе по его заполненности строй условие.
#3 by Rio_1c
В первом случае это справочник Сотрудники, во втором ПараметрыСеанса.ТекущийПользователь, правда тут нужно сопоставить текущего пользователя и справочник Сотрудники
#4 by Guk
в процедуре ПриКомпоновкеРезультата анализируй отбор и заполняй его чем надо...
#5 by Креатив
Посмотри видео Гилёва по СКД или другую матчасть. А если по теме, то сказать, чтобы не выёживались и выбирали сотрудника всегда.
#6 by torgm
и тему как бы по правильному бы называть.
#7 by Shaman1C
как связать тогда параметр с полем запроса по которому будет отбор?
#8 by SergTheGreat
В СКД сделай отбор (недоступный пользователю). В отчете создай реквизит типа "Сотрудник" и именно для него добавь элемент на форму. В модуле объекта создай обработку события ПриКомпоновкеРезультата, в ней анализируй реквизит отчета и заполняй отбор СКД. И учти замечание - пользователю может соответствовать несколько сотрудников.
#9 by Guk
а в чем проблема проанализировать соответствующее поле отбора и если оно не заполнено, заполнить его сотрудником с ФИО текущего пользователя?...
#10 by Shaman1C
Хотелось бы сделать без обработок на форме и программного кода...
#11 by aleks_default
Проблема в том чтобы определить заполнен он или не заполнен. Что вообще означает "заполнен"? Его вручную заполнили? или он подтянулся из последних сохраненных пользовательских настроек? В какой момент определять "заполненность" поля? В общем тупая формулировка задачи.
#12 by aleks_default
Я бы сделал булевый параметр "Отбор по текущему сотруднику включен/выключен"
#13 by SergTheGreat
Вы что же и есть за меня будете? © Сделай обязательный параметр типа "Сотрудник". В запросе создай временную таблицу с одноименным полем и везде ставь условие по вхождению в эту таблицу. А заполняй эту таблицу в зависимости от параметра. Если он заполнен, то добавляй его значение во временную таблицу. Если нет, то ищи сотрудников, соответствующих текущему пользователю и уже их пихай в эту таблицу. Гемор, зато без программного кода.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С