1С 8.2 ЗУП Список работающих в заданный период сотрудников

1. alex.xandro 18.07.13 13:40 Сейчас в теме
Здравствуйте! Есть у меня проблема. Нужно запросом получить список работающих сотрудников в рамках определенного периода( т.е. которые были уволены в период, приняты в период и уже работали в этот период) вот мой запрос:

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


Но он как-то неправильно отрабатывает, например не показывает принятых в течении периода на работу людей...и т.д.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. M.Flint 18.07.13 13:43 Сейчас в теме
Я делала двойной запрос к регистру: срез последних на конец и на начало периода.
Виновата, сейчас посмотрела: это я обращалась к регистру плановых начислений. Здесь достаточно сделать срез последних на конец периода.
3. alex.xandro 18.07.13 13:46 Сейчас в теме
(2) M.Flint, Проблема в том, что я запросы недавно ковырять начал, и 1С вообще не моя основная специальность, но сделать надо...Я даже не предстваляю как делается двойной запрос :) Все что могу это в конструкторе простенький вот такой накидать (( Если сделать СрезПоследних на конец периода, то выпадут уволенные в ТЕЧЕНИЕ ЭТОГО ПЕРИОДА при этом запросе
4. revril 18.07.13 15:09 Сейчас в теме
может поставить условие Период между НачПериода И КонПериода?
5. ssa 18.07.13 18:31 Сейчас в теме
Можно так:
ВЫБРАТЬ
	РаботникиОрганизацийСрезПоследних.Сотрудник
ПОМЕСТИТЬ РаботающиеНаНачало
ИЗ
	РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НачалоПериода, ) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
	РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	РаботникиОрганизаций.Сотрудник
ПОМЕСТИТЬ ПринятыеВПериоде
ИЗ
	РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
	РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
	И РаботникиОрганизаций.Период МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	РаботающиеНаНачало.Сотрудник
ИЗ
	РаботающиеНаНачало КАК РаботающиеНаНачало

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ПринятыеВПериоде.Сотрудник
ИЗ
	ПринятыеВПериоде КАК ПринятыеВПериоде
Показать
6. M.Flint 19.07.13 08:51 Сейчас в теме
Если нужен просто список работающих, то его можно сделать и по справочнику сотрудников, там есть дата приема и дата увольнения.
7. OksDallas 22 01.07.14 07:55 Сейчас в теме
Уже, наверное, поздно, но сама искала такой запрос. В результате накропала сама:
	Запрос = Новый Запрос();
	Запрос.УстановитьПараметр("НачалоПериода", НачПериода);
	Запрос.УстановитьПараметр("КонецПериода",  КонПериода);
	Запрос.УстановитьПараметр("Подразделение", Подразделение);
	Запрос.УстановитьПараметр("ПустаяДата",    Дата(1,1,1,0,0,0));
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
	|	РаботникиОрганизацийСрезПоследних.Период,
	|	РаботникиОрганизацийСрезПоследних.Должность,
	|	РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния,
	|	РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения
	|ИЗ
	|	РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецПериода, ПодразделениеОрганизации В ИЕРАРХИИ (&Подразделение)) КАК РаботникиОрганизацийСрезПоследних
	|ГДЕ
	|	(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения = &ПустаяДата
	|			ИЛИ РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения >= &НачалоПериода)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Сотрудник
	|АВТОУПОРЯДОЧИВАНИЕ";
	
	ТаблЗапрос = Запрос.Выполнить().Выгрузить();
Показать


Проверила, работает.
Kometa; johny1987; Gaffer; Darklight; marlonix; us; Brook; JohnConnor; Alexey_Gru; hedg.r52; whoo; odin-7610; laf; dicwork; Cool_vsi; vladir; speleolog; VOA2009; Salavat; +19 Ответить
20. odin-7610 12.12.15 15:24 Сейчас в теме
(7) OksDallas, Спасибо воспользовался вашим кодом - респект и уважуха
22. woozee 48 19.02.16 16:29 Сейчас в теме
(20) odin-7610, неправильный запрос. Нельзя ориентироваться на Сотрудник.ДатаУвольнения. В коде стандартных конфигураций разработчики ориентируются на РаботникиОрганизаций.ПериодЗавершения.
Для примера разберите Функцию Автозаполнение() в модуле документа "Табель учета рабочего времени организации"
А дата увольнения относиться к трудовому договору. У меня не всегда корректно работал запрос при отборе по данному реквизиту.
8. chmv 01.07.14 08:47 Сейчас в теме
Срез на начало месяца+ срез на конец месяца+ приемы на работы
9. miniogn 23 01.07.14 10:30 Сейчас в теме
Сдается мне, что нужно использовать другой регистр. Припоминаю что-то вроде такого должен быть
РаботникиОрганизацийПоОсновномуМестуРаботы
10. laf 11.10.14 01:56 Сейчас в теме
OksDallas , Вы просто умница, коротко и четко , то, что нужно, Спасибо.
Научите ставить "+", не знаю как.
11. vovchiksir 05.05.15 14:19 Сейчас в теме
OksDallas воспользовался вашим кодом спасибо
12. laf 06.05.15 03:23 Сейчас в теме
Еще бы сделать отбор по подразделениям. По одному у меня получилось, а по нескольким не могу сделать.
13. ZergKRSK 129 06.05.15 05:58 Сейчас в теме
(12) laf, в запросе всё нормально с отбором по нескольким подразделениям. Вы как задаете покажите картинку.
15. laf 06.05.15 08:57 Сейчас в теме
(13) ZergKRSK, я и не знаю какой реквизит поместить на форму диалога отчета (внешний отчет), чтобы добавлять нужные подразделения по условию "или", как в отчетах на СКД.
Для отбора по одному подразделению я просто вывела на форму поле ввода для выбора из справочника подразделений.
16. ZergKRSK 129 06.05.15 09:54 Сейчас в теме
(15) laf, сделайте отчет на СКД используя запрос, в параметрах СКД укажете что подразделение может принимать список значений и всё.
17. laf 06.05.15 11:11 Сейчас в теме
(16) ZergKRSK, на СКД я не умею. Там еще результирующую таблицу надо "переработать", объединить строчки по сотруднику, и т. д. Я взяла этот запрос, как вспомогательный к отчету по наградам. В 7.7 всю жизнь программировала, никак не переучусь
18. ZergKRSK 129 06.05.15 11:20 Сейчас в теме
(17) laf, пытаюсь забыть 7.7 как страшный сон
19. laf 06.05.15 12:27 Сейчас в теме
(18) ZergKRSK, может сон и страшный, но мне понятен больше. Завидую, кто легко перешел. Я чего-то "не догоняю". СКД -это для меня этот самый страшный сон. Уже и Хрусталеву читала. Но, кажется, пока без толку.
21. Maxim833 05.02.16 11:13 Сейчас в теме
(19) laf, и не будет толка без очного курса, только будете мучатся.
14. OksDallas 22 06.05.15 08:53 Сейчас в теме
Просто в строке
Запрос.УстановитьПараметр("Подразделение", Подразделение);

надо иметь в виду, что Подразделение будет списком подразделений
23. tusv 211 19.02.16 17:19 Сейчас в теме
Дамы и господа. А стандартными отчетами воспользоваться не пробовали? Список сотрудников на пример
Правый нижний угол. Зырим на гаечный ключ. Там и настройка структуры и вывод пользовательских полей на форму, а если на дискетку нажать, то о боже. Оно на верхней панели отобразится. Если речь идет о ЗУП 2.5
24. OksDallas 22 24.02.16 03:10 Сейчас в теме
(23) tusv,
Ситуации разные бывают, Список сотрудников обычно настраивается на работающих на заданную дату, а не работающих в заданный период. И обработка требовалась для нестандартного отчета.
26. belka23 30.08.18 09:05 Сейчас в теме
(24)здравствуйте. Можно вас попросить прикрепить файл вашей обработки. Спасибо!
27. OksDallas 22 04.09.18 04:16 Сейчас в теме
(26) , забирайте в прикрепленном файле. Он немного видоизменился за последнее время. Работает вроде нормально.
Прикрепленные файлы:
СписокСотрудниковЗаПериод.erf
28. belka23 05.09.18 07:02 Сейчас в теме
25. Vasvas05 22 17.11.17 20:42 Сейчас в теме
(23)
рхней панели отобразится.
За период пришлите файл настройки, если такие умные
29. laf 11.09.18 09:27 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот