Имя: Пароль:
1C
1С v8
Штатное Расписание (прошлых периодов в ЗУП)
0 Ser_Vlad
 
17.09.14
10:42
День добрый , сформировал отчет  , так называемое Штатное расписание,
вот такой
ВЫБРАТЬ РАЗЛИЧНЫЕ
    РаботникиОрганизацийСрезПоследних.Период,
    РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    РаботникиОрганизацийСрезПоследних.Должность,
    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    РаботникиОрганизацийСрезПоследних.Сотрудник,
    РаботникиОрганизацийСрезПоследних.Сотрудник.Актуальность,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 КАК Показатель1
ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&date, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&date, Организация = &Организация) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
        ПО РаботникиОрганизацийСрезПоследних.Сотрудник = ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник
ГДЕ
    РаботникиОрганизацийСрезПоследних.Сотрудник.Актуальность = &Актуальность
    И РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок <> 0
    И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 <> 0
    //И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 <> 1

ИТОГИ
    СУММА(ЗанимаемыхСтавок),
    СУММА(Показатель1)
ПО
    РаботникиОрганизацийСрезПоследних.Организация,
    ПодразделениеОрганизации

ПРОБЛЕМА в том что если сотрудник в Указанный момент времени находиться в "Отпуск для ухода за ребенком" у него оклад 1 а тот что по регламенту был до  того как он ушел в Отпуск для ухода за ребенком.
ПОСТАВИЛИ задачу отобразить оклады .
1 piter3
 
17.09.14
10:48
вы сделали на дату,а вам нужно идти в сторону таблицы сотров и дат(периодов).а потом уже вытаскивать оклады
2 Ser_Vlad
 
17.09.14
11:02
понятно , отож мысль в голове крутиться а как ее оформить, если не трудно, более подробно пожалуста (у меня мысля такая задать условие если оклад не оклад, тогда смотреть в предидущий период а как реализовать это в одном запросе?) интересно ваше мнение
3 vicof
 
17.09.14
11:20
(2) русская не мой родная языка?
4 Gogger
 
17.09.14
11:58
делай запрос к срезу по плановым начислениям и отбором по виду начисления "Оклад"...
5 Ser_Vlad
 
17.09.14
12:09
(Gogger) пробовал, тогда получается что количество уменьшается на то количество декретных (на словах 100 актуальных сотрудников из них 10 в декрете, тогда по окладам напишет 90 шт.)
6 Ser_Vlad
 
17.09.14
12:10
нужно как то вывернуться с периодами а как?
7 Gogger
 
17.09.14
12:38
(6) по декретницам нужен отдельный запрос к плановым начислениям (без среза) с отбором по виду начисления "оклад".
потом надо сгруппировать полученную таблицу по максимальному периоду.
8 Ser_Vlad
 
17.09.14
13:11
Сейчас попробую
9 Ser_Vlad
 
17.09.14
13:14
а с помощью временных таблиц это можно забацать?
10 piter3
 
17.09.14
13:14
(9)даже стоит
11 Ser_Vlad
 
17.09.14
13:15
океечки ща буду пробовать
12 Ser_Vlad
 
17.09.14
13:40
фуух вроде онно, буду тестить и если что с меня Огромная благодарность
13 Ser_Vlad
 
17.09.14
13:48
осталось придумать как просуммировать Фонд зп , то есть сколько по подразделениям и должностям итого денег выплачивается. я уже был обрадовался , ну ниче буду бороться ....
вдруг чего вот мое творенье (может как то можно оптимизоровать?) да кстати попробую теперь в скд может там удастца сгруппировкками поиграться чтоб фонд зп просуммировать

ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизаций.Период,
    ПлановыеНачисленияРаботниковОрганизаций.Показатель1,
    ПлановыеНачисленияРаботниковОрганизаций.Актуальность,
    ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета,
    ПлановыеНачисленияРаботниковОрганизаций.Сотрудник
ПОМЕСТИТЬ Декретн
ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
    ПлановыеНачисленияРаботниковОрганизаций.Организация = &Организация
;

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

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

СГРУППИРОВАТЬ ПО
    РаботникиИПлановНачСрезПоследн.Организация,
    РаботникиИПлановНачСрезПоследн.ПодразделениеОрганизации,
    РаботникиИПлановНачСрезПоследн.Должность,
    РаботникиИПлановНачСрезПоследн.ДолжностьКодКП,
    Декретн.Показатель1,
    Декретн.ВидРасчета
ИТОГИ
    СУММА(ЗанимаемыхСтавок),
    СУММА(Показатель1)
ПО
    Организация,
    ПодразделениеОрганизации
14 Gogger
 
17.09.14
14:57
(13) если без СКД, то загнать конечные данные в результирующий запрос и группировать по нужным полям (подразделения/должности и т.п.), а оклады - суммировать.
15 Ser_Vlad
 
17.09.14
16:19
а что  за фигня, я только зарегился на сайте и чтоб прочитать следующее сообщение приходиться перезаходить каждый раз? или это так надо
16 Ser_Vlad
 
17.09.14
16:19
буду в скд добивать
17 Ser_Vlad
 
17.09.14
17:27
Добил только пришлось оставить колонку Виды Начислений (так правильные итоги по группировкам) подозреваю что некоторых сотрудников не совсем корректно оформили в программе.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.