передать параметры в функцию #808412


#0 by dft2014
На форме отчета есть два реквизита: Сотрудник и Подразделение. Если пользователь указал Сотрудника или Подразделение, то отчет должен сформироваться с отбором по Сотруднику или Подразделению. Если отбор на форме не указан, то отчет должен формироваться по всем Сотрудникам  или всем Подразделениям. Проблема в том, что в отчете я использую типовую функцию. Условие с отбором по сотруднику срабатывает верно. Но не получается передать правильно параметры в эту функцию, чтобы выполнялись условия: - если не задан сотрудник, то формировать по всем сотрудникам; - если задано подразделение, то формировать только по этому  подразделению; - если не задано подразделение, то формировать по всем. Помогите пож-та, ниже код:
#1 by Ёпрст
передавай пустой список сотрудников
#2 by Ёпрст
ну и в функции не видно, как там и чего фильтруется и как ты туда подразделения свои передаешь
#3 by dft2014
Как передать пустой список (массив) сотрудников? Отборы передаются в пятом параметре функции: Функция КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт
#4 by Ёпрст
СписокСотрудников = Новый СписокЗначений;
#5 by dft2014
Отбор по сотруднику я передала во ВТОРОМ параметре, все отлично сработало: А вот остальные условия не удается сделать...
#6 by dft2014
Сейчас попробую...
#7 by dft2014
Написала, если нет отбора по сотруднику, но отчет ничего не вернул:
#8 by Ёпрст
покажи текст функции целиком
#9 by breezee
Может на СКД можно сформировать? Она умеет в пусты параметры через "{}"
#10 by dft2014
Вот исходник:
#11 by dft2014
#12 by dft2014
Ап!
#13 by Ёпрст
судя по - никак не сделаешь. Только лили переделывать код процы СоздатьНаДатуВТКадровыеДанныеСотрудников или передавать массив всех сотрудников. А так, в своём коде не используй эту функцию вообще.
#14 by Ёпрст
напиши свою, которая вернёт что надо о и как надо.
#15 by dft2014
А как передать массив всех сотрудников? Мне надо использовать типовую, она уже готовая и возвращает то, что мне надо.
#16 by Ёпрст
1. не надо этого делать 2. не надо использовать типовую
#17 by dft2014
Типовая функция, помимо этого: ЧтоИщу = "Подразделение, Должность, ТабельныйНомер, ФИО, Состояние"; тянет еще около 15-ти показателей, которые я просто не указала. Т.е. если писать свои функции, то это очень много времени займет. А тут все тянется с помощью одной типовой  функции!!!
#18 by h-sp
посмотрите в типовой как в других местах вызывается эта функция, перенесите к себе
#19 by Ёпрст
как скажешь Запрос = Новый Запрос("выбрать ссылка из СправочникюСотрудники");
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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