Всем здрасьте!
| Период с НачПериода по КонПериода;
| Сотрудник = Справочник.Сотрудники.ТекущийЭлемент;
| СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица;
| ПодразделениеСотр= Справочник.Сотрудники.ОсновнойЭлемент.МестоРаботы.Подразделение.Родитель;
| Группировка Сотрудник без групп;
| Условие (Подразделение = ПодразделениеСотр);
| Условие (СостояниеФизлица = Перечисление.СостояниеФизлица.СотрудникОсновной);
сделал так
| Сотрудник = Справочник.Сотрудники.ТекущийЭлемент;
| ПодразделениеСотр= Справочник.Сотрудники.ОсновнойЭлемент.МестоРаботы.Подразделение.Родитель;
| Группировка Сотрудник без групп;
| Условие (Подразделение = ПодразделениеСотр);
...
Пока Запрос.Группировка(1) = 1 Цикл
дта01 = ВыбНачПериода;
дта31 = ВыбКонПериода;
дта__ = дта01 - 1;
былОсновнымХотябыОдинДень = "нет";
Пока дта__ < дта31 Цикл
дта__ = дта__ + 1;
Если (Запрос.Сотрудник.СостояниеФизлица.Получить(дта__) = Перечисление.СостояниеФизлица.СотрудникОсновной)
и (Запрос.Сотрудник.Ставка.Получить(дта__) > 0) Тогда
былОсновнымХотябыОдинДень = "Да"; // берём только основных сотрудников
КонецЕсли;
КонецЦикла;
Если былОсновнымХотябыОдинДень = "нет" Тогда
Продолжить
КонецЕсли;
...
выбирает правильно, правда несколько медленно
может быть у Вас есть нормальные варианты
подскажите пожалуйста
Спасибо.
В запросе не получится. В ЗиКе же несколько мест где проверяется, был ли сотрудник штатным /сколько дней в месяце работал. (Например в отчете "Среднесписочная численность")
Что-то вроде
Если ШтатныйНаНачало ИЛИ ШтатныйнаКонец Тогда
Работал
Иначе
Периодический + ВыбратьЗначения