Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 01:14

Запрос в СКД

Автор Новенькая, 22 апр 2014, 11:55

0 Пользователей и 1 гость просматривают эту тему.

Новенькая

Никак не получается верное составить запрос, только изучаю, тяжеловато дается.
Вот, что пока получилось:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
МАКСИМУМ(ПрогнозПерсоналаСрезПоследних.Период) КАК Период,
ПрогнозПерсоналаСрезПоследних.Месяц КАК Месяц,
ПрогнозПерсоналаСрезПоследних.Должность КАК Должность,
СУММА(ПрогнозПерсоналаСрезПоследних.Количество) КАК Прогноз,
ПрогнозПерсоналаСрезПоследних.Должность.РабочийСлужащий КАК РабочийСлужащий,
NULL КАК ФактПоТабелям,
СУММА(ПрогнозПерсоналаСрезПоследних.Количество) - КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПериодыРаботыСотрудниковСрезПоследних.Сотрудник) КАК РазницаПрогнозФакт,
NULL КАК ФактПоКДП
ИЗ
РегистрСведений.ПрогнозПерсонала.СрезПоследних КАК ПрогнозПерсоналаСрезПоследних
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПериодыРаботыСотрудников.СрезПоследних(
    &Период,
    НЕ Сотрудник.Уволен
     И ПричинаИзмененияСостояния <> &ПричинаИзмененияСостояния) КАК ПериодыРаботыСотрудниковСрезПоследних
  ПО ПрогнозПерсоналаСрезПоследних.Должность = ПериодыРаботыСотрудниковСрезПоследних.ДолжностьОрганизаций.ДолжностьКомпании
ГДЕ
ПрогнозПерсоналаСрезПоследних.Месяц > &Период
И ПрогнозПерсоналаСрезПоследних.Месяц МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, 1), МЕСЯЦ) И ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, &КоличествоМесяцев)
СГРУППИРОВАТЬ ПО
ПрогнозПерсоналаСрезПоследних.Месяц,
ПрогнозПерсоналаСрезПоследних.Должность,
ПрогнозПерсоналаСрезПоследних.Должность.РабочийСлужащий
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
NULL,
ПериодыРаботыСотрудниковСрезПоследних.ДолжностьОрганизаций.ДолжностьКомпании,
NULL,
ПериодыРаботыСотрудниковСрезПоследних.ДолжностьОрганизаций.ДолжностьКомпании.РабочийСлужащий,
NULL,
NULL,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПериодыРаботыСотрудниковСрезПоследних.Сотрудник)
ИЗ
РегистрСведений.ПериодыРаботыСотрудников.СрезПоследних(&Период, ) КАК ПериодыРаботыСотрудниковСрезПоследних
ГДЕ
НЕ ПериодыРаботыСотрудниковСрезПоследних.Сотрудник.Уволен
И ПериодыРаботыСотрудниковСрезПоследних.ПричинаИзмененияСостояния <> &ПричинаИзмененияСостояния
СГРУППИРОВАТЬ ПО
ПериодыРаботыСотрудниковСрезПоследних.ДолжностьОрганизаций.ДолжностьКомпании,
ПериодыРаботыСотрудниковСрезПоследних.ДолжностьОрганизаций.ДолжностьКомпании.РабочийСлужащий
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
NULL,
РабочееВремяСотрудниковОрганизацииОбороты.Сотрудник.ДолжностьВКомпании,
NULL,
РабочееВремяСотрудниковОрганизацииОбороты.Сотрудник.ДолжностьВКомпании.РабочийСлужащий,
КОЛИЧЕСТВО(РабочееВремяСотрудниковОрганизацииОбороты.Сотрудник.ДолжностьВКомпании),
NULL,
NULL
ИЗ
РегистрНакопления.РабочееВремяСотрудниковОрганизации.Обороты(&НачалоПериода, &КонецПериода, , ) КАК РабочееВремяСотрудниковОрганизацииОбороты
СГРУППИРОВАТЬ ПО
РабочееВремяСотрудниковОрганизацииОбороты.Сотрудник.ДолжностьВКомпании,
РабочееВремяСотрудниковОрганизацииОбороты.Сотрудник.ДолжностьВКомпании.РабочийСлужащий

Задача: 1. Вывести прогноз по должности помесячно, вывести количество должностей на которых работают сотрудники на текущую дату из регистра ПериодыРаботы, и вывести количество должностей исходя из табелей рабочего времени за предыдущий месяц. Сейчас иногда задваивает количества в прогнозе, наверное из-за того что там сумма, но как от этого уйти не знаю( Подскажите что-нибудь, пожалуйста...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск