|
Запрос для получение основного сотрудника в ЗУП | ☑ | ||
---|---|---|---|---|
0
КатринСС
26.08.11
✎
15:55
|
Необходимо построить список сотрудников так, чтобы там каждое физ.лицо было один раз. Сотрудника нужно выбрать основного или последнего уволившегося. Вот такой запрос в 1С не хочет выполняться:
Выбрать ФЛ.Ссылка, ( ВЫБРАТЬ первые 1 Сотр.Ссылка ИЗ Справочник.СотрудникиОрганизаций как Сотр Где (Сотр.Физлицо=ФЛ.Ссылка)и(Сотр.ДатаПриемаНаРаботу<>ДатаВремя(1,1,1)) Упорядочить по (Выбор Когда Сотр.ДатаУвольнения=ДатаВремя(1,1,1) Тогда ДатаВремя(2100,1,1) Иначе Сотр.ДатаУвольнения Конец) Убыв, (Выбор Когда Сотр.ВидЗанятости=Значение(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) Тогда 2 Иначе (Выбор Когда Сотр.ВидЗанятости=Значение(Перечисление.ВидыЗанятостиВОрганизации.Совместительство) Тогда 1 Иначе 0 Конец) Конец) Убыв, Сотр.ДатаПриемаНаРаботу Убыв ) как Сотр Из Справочник.ФизическиеЛица как ФЛ |
|||
1
КатринСС
26.08.11
✎
16:03
|
1С просто не хочет выполнять вложенный запрос, как поменять запрос, чтоб получить нужный результат?
|
|||
2
almar
26.08.11
✎
16:04
|
Я бы таки делал запрос к РС РаботникиОрганизаций
|
|||
3
КатринСС
26.08.11
✎
16:10
|
(2) и что? Там тоже все совместители есть и основные, а надо угадать "самого" основного в том числе и среди уволившихся
|
|||
4
IamAlexy
26.08.11
✎
16:11
|
я может что то не понимаю, но любая группировка по сотрудникорганизации.физлицо даст ровно одно физлицо..
ибо сколько бы у вас не было совместителей и повторнопринятых - физлицо будет только одно... |
|||
5
IamAlexy
26.08.11
✎
16:11
|
+(4) если конечно у вас не помойка в учете..
|
|||
6
КатринСС
26.08.11
✎
16:16
|
По сотруднику получить физ.лицо не проблема, проблема по физ.лицу получить основного
|
|||
7
GenV
26.08.11
✎
16:18
|
(2)+ <> ВнутреннееСовместительство и ПричинаИзмененияСостояния <> Увольнение
|
|||
8
GenV
26.08.11
✎
16:19
|
(2)+ ВидЗанятости <> ВнутреннееСовместительство и ПричинаИзмененияСостояния <> Увольнение
|
|||
9
IamAlexy
26.08.11
✎
16:19
|
проверить условие что сотрудник актуален и не совместитель?
|
|||
10
КатринСС
26.08.11
✎
16:21
|
если сотрудник совсем уволился, то получить того который последний раз уволился
|
|||
11
IamAlexy
26.08.11
✎
16:23
|
сделать таблицу сотрудник/физлицо/дата увольнения
причем если дата увольнения пустая проставить туда что то типа 3999,12,12 типа - невозможнобольшая дата :) затем отсортировать его по дате по убыванию и выбрать первое значение... вот тебе и последниее соостояние.. хочешь убрать отсюда совместителей - карты в руки.. условие нарисуй на заполнение таблицы.. |
|||
12
GenV
26.08.11
✎
16:23
|
(10) Ну так написал )
|
|||
13
IamAlexy
26.08.11
✎
16:23
|
ничего сложного :)
|
|||
14
GenV
26.08.11
✎
16:23
|
12+ только срез последних
|
|||
15
IamAlexy
26.08.11
✎
16:24
|
да можно вообще по справочнику сотрудники запрос сделать :)
|
|||
16
IamAlexy
26.08.11
✎
16:24
|
один
|
|||
17
КатринСС
26.08.11
✎
16:25
|
(15,16) какой?
|
|||
18
КатринСС
26.08.11
✎
16:25
|
в (11) я так понимаю речь на о запросе?
|
|||
19
КатринСС
26.08.11
✎
16:25
|
в (11) я так понимаю речь не о запросе?
|
|||
20
IamAlexy
26.08.11
✎
16:26
|
(18) как раз речь о запросе по справочнику
|
|||
21
GenV
26.08.11
✎
16:27
|
мы не ищем легкий путей )
|
|||
22
КатринСС
26.08.11
✎
16:29
|
(20) хотя бы приблизительно текст такого запроса?
|
|||
23
IamAlexy
26.08.11
✎
16:29
|
(22) хз.. ща набросаю :)
|
|||
24
КатринСС
26.08.11
✎
16:53
|
вот такая муть получилась, вроде то что нужно, но как-то сложно:
//Работающие Выбрать Сотр.Ссылка, Сотр.Физлицо как Физлицо Из Справочник.СотрудникиОрганизаций как Сотр Где (Сотр.ДатаУвольнения=ДатаВремя(1,1,1))и(Сотр.ВидЗанятости<>Значение(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) объединить все //уволенные Выбрать Сотр.Ссылка, УволенныеСДатой.Ссылка как Физлицо Из Справочник.СотрудникиОрганизаций как Сотр внутреннее соединение (Выбрать Уволенные.Ссылка, Max(Сотр.ДатаУвольнения) как ДатаУвольнения Из ( Выбрать ФЛ.Ссылка Из Справочник.ФизическиеЛица как ФЛ Где ФЛ.Ссылка not in ( Выбрать Сотр.Физлицо как Физлицо Из Справочник.СотрудникиОрганизаций как Сотр Где (Сотр.ДатаУвольнения=ДатаВремя(1,1,1))и(Сотр.ВидЗанятости<>Значение(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) ) ) как Уволенные внутреннее соединение Справочник.СотрудникиОрганизаций как Сотр по Сотр.Физлицо=Уволенные.Ссылка Где Сотр.ВидЗанятости<>Значение(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) Сгруппировать по Уволенные.Ссылка ) как УволенныеСДатой по (Сотр.Физлицо=УволенныеСДатой.Ссылка)и(Сотр.ДатаУвольнения=УволенныеСДатой.ДатаУвольнения) Где Сотр.ВидЗанятости<>Значение(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) |
|||
25
КатринСС
26.08.11
✎
16:55
|
текст запроса при вставке в форум еще и искарежился :(
|
|||
26
NDN
26.08.11
✎
17:07
|
ВЫБРАТЬ
ФизическиеЛица.Ссылка, ВложенныйЗапрос.Сотрудник ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникФизлицо ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаСреза, ) КАК РаботникиОрганизацийСрезПоследних ГДЕ РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок > &Ноль И РаботникиОрганизацийСрезПоследних.Сотрудник.ВидЗанятости = &ВидЗанятости) КАК ВложенныйЗапрос ПО ФизическиеЛица.Ссылка = ВложенныйЗапрос.СотрудникФизлицо |
|||
27
NDN
26.08.11
✎
17:08
|
Ноль = 0
ВидЗанятости = Основное место работы |
|||
28
КатринСС
26.08.11
✎
17:25
|
(26) не по всем физ.лицам заполнена колонка Сотрудник
|
|||
29
NDN
26.08.11
✎
17:27
|
(28) Дык уволенных-то не должно быть
|
|||
30
КатринСС
26.08.11
✎
17:27
|
а если убрать условие ЗанимаемыхСтавок > 0, то попадают в список лица не являющиеся сотрудниками, но выполнявшие работы по договорам
|
|||
31
КатринСС
26.08.11
✎
17:28
|
(29) не уволенные должны быть! (а если не должны, то зачем левое соединение делал?)
|
|||
32
NDN
26.08.11
✎
17:30
|
Чтоб уволенных вывести - убери условие на ЗанимаемыхСтавок
Чтоб подрядчиков убрать - поставь условие на ВидДоговора Делов-то |
|||
33
КатринСС
26.08.11
✎
17:41
|
(32) такой запрос все-таки некоторых физ.лиц по несколько раз выводит
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |