Имя: Пароль:
1C
 
Получить список работающих по договору подряда в запросе 1С ЗУП 2.5
0 Чайник1983
 
08.06.18
03:30
Вопрос возможно простой но отнюдь я на нем повис, нужен запрос который выведет список сотрудников работающий по договору подряда в выбранном месяце.
1 Чайник1983
 
08.06.18
03:31
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Период,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Регистратор,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.ВидДоговора
ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(, ) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
ГДЕ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Организация = &Организация
    И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.ВидДоговора = &ВидДоговора
2 Чайник1983
 
08.06.18
04:33
(1) Вот пока то что есть
3 Mihasya
 
08.06.18
05:09
Можэ так:

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

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизаций.Организация,
    ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
    ПлановыеНачисленияРаботниковОрганизаций.Период,
    ВЫБОР
        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            ТОГДА КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
            ТОГДА КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
        ИНАЧЕ КОНЕЦПЕРИОДА(ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения, ДЕНЬ)
    КОНЕЦ
ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
    ПлановыеНачисленияРаботниковОрганизаций.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
    И ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.ДоговорПодряда)
4 SleepyHead
 
гуру
08.06.18
05:12
(0) Я ЗУП 3.1 занимаюсь, как-то 2.5 мимо меня прошла. А разве в ней нет РС типа "периоды работы по договору", как в ЗУП 3? Более надежный источник данных, я считаю.

Вашим запросом вы выберете только тех, кому запалнировано начисление, а период работы по договору может быть совсем другой.
5 Чайник1983
 
08.06.18
05:42
(3) ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Организация,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник,
    &Период КАК Начало,
    ВЫБОР
        КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            ТОГДА КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
        ИНАЧЕ КОНЕЦПЕРИОДА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения, ДЕНЬ)
    КОНЕЦ КАК Окончания,
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Регистратор
ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
            НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ),
            Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.Подряда)
                И (ПериодЗавершения >= НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                    ИЛИ ПериодЗавершения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизаций.Организация,
    ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
    ПлановыеНачисленияРаботниковОрганизаций.Период,
    ВЫБОР
        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            ТОГДА КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
        КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
            ТОГДА КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
        ИНАЧЕ КОНЕЦПЕРИОДА(ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения, ДЕНЬ)
    КОНЕЦ,
    ПлановыеНачисленияРаботниковОрганизаций.Регистратор
ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
    ПлановыеНачисленияРаботниковОрганизаций.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
    И ПлановыеНачисленияРаботниковОрганизаций.Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.Подряда)
6 Чайник1983
 
08.06.18
05:43
Немного подредактировал
7 Чайник1983
 
08.06.18
05:44
нужно получить в запрос тех кто будет работать после месяца который укажет пользователь.
8 Чайник1983
 
08.06.18
05:50
(4) по сути "ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Период" это начало и "ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения" это конец
9 Чайник1983
 
08.06.18
05:58
По другому: Пользователь указывает конец месяца и должен получить список тех у кого договор еще не закончился.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший