|
Как запросом получить срез (РегистрСведений с датой начала и датой окончания). | ☑ | ||
---|---|---|---|---|
0
budnik
28.08.12
✎
16:29
|
ЗИК РегистрСведений.РаботникиОрганизаций .
Люди работают по графику.Указывает период-дата возврата. 1-10 1смена 11- 2 смена 13-17 1смена т.е. 14 будет 2 смена. |
|||
1
Нуф-Нуф
28.08.12
✎
16:29
|
запросом
|
|||
2
Wobland
28.08.12
✎
16:34
|
кто понял ТС?
|
|||
3
ILM
гуру
28.08.12
✎
16:35
|
Или выросли люди которые общались с помощью пейджера, или русский язык поменялся, но уже который пост усиленно силюсь понять, что имел ввиду и что сказал ТС.
|
|||
4
budnik
28.08.12
✎
16:42
|
Извинияюсь.
Нужно запросом получить состояние работника на указаную дату из регистра сведений,в котором помимо реквизита(состояния),есть реквизит завершения действия. Пример. с 1 по 10 работник работает в 1 смену с 11 и далее по 2 смене с 13 по 17 по 1смена все записи какая смена на 14 число |
|||
5
NDN
28.08.12
✎
16:43
|
Срез последних на дату
|
|||
6
Ненавижу 1С
гуру
28.08.12
✎
16:43
|
(4) и какая же?
|
|||
7
ILM
гуру
28.08.12
✎
16:44
|
ВЫБОР
КОГДА ..... ТОГДА 1 КОГДА ..... ТОГДА 2 КОГДА ..... ТОГДА 1 КОНЕЦ |
|||
8
Wobland
28.08.12
✎
16:52
|
с 11 и далее
... с 13 по 17 как завуалировал ;) |
|||
9
budnik
29.08.12
✎
08:21
|
Проблема в том что делая срез на 18 число
я получаю с 13 по 17 будет 1 смена и надо делать срез выше 13 и т.д. |
|||
10
Wobland
29.08.12
✎
08:29
|
(9) проблема с русским языком, а не "делая срез"
|
|||
11
WebberNSK
29.08.12
✎
08:44
|
для затравки - запрос, получающий периоды работы сотрудников:
1 строка, сотр, подр, должность, ставка, дата начала, дата окончания ВЫБРАТЬ РаботникиНаНачалоПериода.Сотрудник КАК Сотрудник, РаботникиНаНачалоПериода.Организация КАК Организация, &НачалоПериода КАК Период, ВЫБОР КОГДА РаботникиНаНачалоПериода.ПериодЗавершения <= &НачалоПериода И РаботникиНаНачалоПериода.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиНаНачалоПериода.ПодразделениеОрганизацииЗавершения ИНАЧЕ РаботникиНаНачалоПериода.ПодразделениеОрганизации КОНЕЦ КАК ПодразделениеОрганизации, ВЫБОР КОГДА РаботникиНаНачалоПериода.ПериодЗавершения <= &НачалоПериода И РаботникиНаНачалоПериода.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиНаНачалоПериода.ДолжностьЗавершения ИНАЧЕ РаботникиНаНачалоПериода.Должность КОНЕЦ КАК Должность, ВЫБОР КОГДА РаботникиНаНачалоПериода.ПериодЗавершения <= &НачалоПериода И РаботникиНаНачалоПериода.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиНаНачалоПериода.ЗанимаемыхСтавокЗавершения ИНАЧЕ РаботникиНаНачалоПериода.ЗанимаемыхСтавок КОНЕЦ КАК ЗанимаемыхСтавок ПОМЕСТИТЬ ВТ_РаботникиНаНачалоПериода ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НачалоПериода, Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) {(Сотрудник).* КАК Сотрудник, (Организация).* КАК Организация}) КАК РаботникиНаНачалоПериода ГДЕ ВЫБОР КОГДА РаботникиНаНачалоПериода.ПериодЗавершения <= &НачалоПериода И РаботникиНаНачалоПериода.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиНаНачалоПериода.ПричинаИзмененияСостоянияЗавершения ИНАЧЕ РаботникиНаНачалоПериода.ПричинаИзмененияСостояния КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) {ГДЕ (ВЫБОР КОГДА РаботникиНаНачалоПериода.ПериодЗавершения <= &НачалоПериода И РаботникиНаНачалоПериода.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиНаНачалоПериода.ПодразделениеОрганизацииЗавершения ИНАЧЕ РаботникиНаНачалоПериода.ПодразделениеОрганизации КОНЕЦ).* КАК ПодразделениеОрганизации, (ВЫБОР КОГДА РаботникиНаНачалоПериода.ПериодЗавершения <= &НачалоПериода И РаботникиНаНачалоПериода.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиНаНачалоПериода.ДолжностьЗавершения ИНАЧЕ РаботникиНаНачалоПериода.Должность КОНЕЦ).* КАК Должность} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РаботникиОрганизаций.Период КАК Период, РаботникиОрганизаций.Сотрудник КАК Сотрудник, РаботникиОрганизаций.Организация КАК Организация, РаботникиОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации, РаботникиОрганизаций.Должность КАК Должность, РаботникиОрганизаций.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок, РаботникиОрганизаций.ПричинаИзмененияСостояния КАК ПричинаИзмененияСостояния ПОМЕСТИТЬ ВТ_ДвиженияРаботниковЗаПериод ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ГДЕ РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) И РаботникиОрганизаций.Период > &НачалоПериода И РаботникиОрганизаций.Период <= &КонецПериода И РаботникиОрганизаций.Активность {ГДЕ РаботникиОрганизаций.Сотрудник.*, РаботникиОрганизаций.Организация.*} ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ РаботникиОрганизаций.ПериодЗавершения, РаботникиОрганизаций.Сотрудник, РаботникиОрганизаций.Организация, РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения, РаботникиОрганизаций.ДолжностьЗавершения, РаботникиОрганизаций.ЗанимаемыхСтавокЗавершения, РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ГДЕ РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) И РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) И РаботникиОрганизаций.ПериодЗавершения > &НачалоПериода И РаботникиОрганизаций.ПериодЗавершения <= &КонецПериода И (НЕ 1 В (ВЫБРАТЬ 1 ИЗ РегистрСведений.РаботникиОрганизаций КАК ПерекрывающиесяПериоды ГДЕ ПерекрывающиесяПериоды.Сотрудник = РаботникиОрганизаций.Сотрудник И ПерекрывающиесяПериоды.Период > РаботникиОрганизаций.Период И ПерекрывающиесяПериоды.Период <= РаботникиОрганизаций.ПериодЗавершения)) И РаботникиОрганизаций.Активность {ГДЕ РаботникиОрганизаций.Сотрудник.*, РаботникиОрганизаций.Организация.*} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РаботникиНаНачалоПериода.Сотрудник КАК Сотрудник, РаботникиНаНачалоПериода.Организация КАК Организация, РаботникиНаНачалоПериода.Период КАК Период, РаботникиНаНачалоПериода.ПодразделениеОрганизации КАК ПодразделениеОрганизации, РаботникиНаНачалоПериода.Должность КАК Должность, РаботникиНаНачалоПериода.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок ПОМЕСТИТЬ ВТ_РаботникиОрганизации ИЗ ВТ_РаботникиНаНачалоПериода КАК РаботникиНаНачалоПериода ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДвиженияРаботников.Сотрудник, ДвиженияРаботников.Организация, ДвиженияРаботников.Период, ДвиженияРаботников.ПодразделениеОрганизации, ДвиженияРаботников.Должность, ДвиженияРаботников.ЗанимаемыхСтавок ИЗ ВТ_ДвиженияРаботниковЗаПериод КАК ДвиженияРаботников ИНДЕКСИРОВАТЬ ПО Сотрудник, Период ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПериодыРаботыСотрудников.Сотрудник КАК Сотрудник, ПериодыРаботыСотрудников.Организация КАК Организация, ПериодыРаботыСотрудников.ПодразделениеОрганизации КАК ПодразделениеОрганизации, ПериодыРаботыСотрудников.Должность КАК Должность, ПериодыРаботыСотрудников.НачалоПериода как НачалоПериода, ПериодыРаботыСотрудников.КонецПериода как КонецПериода, ПериодыРаботыСотрудников.ЗанимаемыхСтавок * (РАЗНОСТЬДАТ(ПериодыРаботыСотрудников.НачалоПериода, ПериодыРаботыСотрудников.КонецПериода, ДЕНЬ) + 1) КАК КоличествоДней ИЗ (ВЫБРАТЬ РаботникиНачало.Сотрудник КАК Сотрудник, РаботникиНачало.Организация КАК Организация, РаботникиНачало.ПодразделениеОрганизации КАК ПодразделениеОрганизации, РаботникиНачало.Должность КАК Должность, РаботникиНачало.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок, РаботникиНачало.Период КАК НачалоПериода, МИНИМУМ(ЕСТЬNULL(ДОБАВИТЬКДАТЕ(РаботникиКонец.Период, ДЕНЬ, -1), &КонецПериода)) КАК КонецПериода ИЗ ВТ_РаботникиОрганизации КАК РаботникиНачало ЛЕВОЕ СОЕДИНЕНИЕ ВТ_РаботникиОрганизации КАК РаботникиКонец ПО РаботникиНачало.Сотрудник = РаботникиКонец.Сотрудник И РаботникиНачало.Период < РаботникиКонец.Период {ГДЕ РаботникиНачало.ПодразделениеОрганизации.*, РаботникиНачало.Должность.*} СГРУППИРОВАТЬ ПО РаботникиНачало.Сотрудник, РаботникиНачало.Организация, РаботникиНачало.ПодразделениеОрганизации, РаботникиНачало.Должность, РаботникиНачало.ЗанимаемыхСтавок, РаботникиНачало.Период) КАК ПериодыРаботыСотрудников |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |