Имя: Пароль:
1C
1С v8
Как вывести сотрудников, которые не уволены в период
0 Zend
 
31.01.13
09:46
Подскажите условие в запрос, которое бы отобрало сотрудников которые ещё работают в указанный период. Что то вообще туплю...
Т.е. нужно отбросить тех кто уволился до ДатыНачала
Нужно отбросить тех кто уволился до ДатыОкончания.

Если написать Сотрудник.ДатаУвольнения < ДатыОкончания
то выведет всех кто сотрудников, которые работают но и тех, которые уволились раньше ДатыОкончания. Что дописать нужно?
1 nerkadry
 
31.01.13
09:54
работают на дату? или работали в период с .. по ..
2 Serg_1960
 
31.01.13
09:57
:)

Выбрать сотрудников, кто работал на дату окончания периода ИЗ тех, кто работал на начало периода.
3 Zend
 
31.01.13
10:01
(1) Которые работали в период с .. по ..
(2) Как условие такое в запросе написать?)))
4 nerkadry
 
31.01.13
10:11
(3) которые работали хотя бы 1 день или весь период
5 ale-sarin
 
31.01.13
10:15
Сотрудник.ДатаУвольнения Между &ДатаНачала и &ДатаОкончанния ИЛИ Сотрудник.ДатаУвольнения = ДатаВремя(1,1,1)
Как-то так.
6 ale-sarin
 
31.01.13
10:15
+5 Ступил. Не так.
7 Zend
 
31.01.13
10:19
(4) Нужно тех, кто числился не уволенным на ДатуНачала и которые не уволились в период с ДатыНачала-ДатыКонца

Блин, я ещё больше запутался...)
8 almar
 
31.01.13
10:22
(7) А еще бывают те, кто принят после ДатыНачала
9 ale-sarin
 
31.01.13
10:22
(7) Может так: Приняты до даты начала и не уволены до даты окончания?
10 Zend
 
31.01.13
10:26
(9) А если его приняли после ДатыНачала, ну т.е. в этот период как раз.
11 de Bug
 
31.01.13
10:26
Есои речь идет о тех, кто работал в определенный период, то:

Сотрудник.ДатаПриемаНаРаботу <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И Сотрудник.ДатаПриемаНаРаботу <= &ДатаОкончания
И (Сотрудник.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ИЛИ Сотрудник.ДатаУвольнения >= &ДатаНачала)
12 k1us181b
 
31.01.13
10:30
(11) а что может быть Сотрудник.ДатаПриемаНаРаботу = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)?
13 Zend
 
31.01.13
10:34
(11) Кто работал, но если человек в этот период был уволен, то его тоже помещать не нужно.
14 Serg_1960
 
31.01.13
10:34
(11) В последней строке "...>= &ДатаОкончания". Иначе проскочит сотрудник, принятый после даты начала и уволенный до даты окончания - что противоречит "... не уволены в период"(0)
15 k1us181b
 
31.01.13
10:35
Сотрудник.ДатаУвольнения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) И
Сотрудник.ДатаПриемаНаРаботу <= &ДатаОкончания
16 de Bug
 
31.01.13
10:37
(12) Не принятый на работу. Договорник.
17 k1us181b
 
31.01.13
10:47
(15) поправка
Сотрудник.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И Сотрудник.ДатаПриемаНаРаботу <= &ДатаОкончания
18 Serg_1960
 
31.01.13
11:09
Вообще-то, я прикалываюсь. Ибо у тс проблема - он некорректно сформулировал задачу.Поэтому и проблемы с условием.

Можно сказать "работали в указанный период", но нельзя сказать "ещё работают в указанный период". Так не говорят. "Ещё работают" - это применительно только к конкретной дате, а не к периоду.