Имя: Пароль:
1C
1С v8
Помогите разобраться с регистром расчета, как это работает
0 VladSt
 
06.11.18
14:05
Добрый день
Народ, я кое-то не понимаю, как работают запросы к регистру расчета с базой, поэтому прошу вашей помощи.
Есть документ НачислениеОтпуска, при расчете среднего происходит предварительное создание движений по регистру расчета Начисление без сумм, просто периоды для расчета по среднему. Я делаю запрос, чтобы получить базу, вот текст запроса:

ВЫБРАТЬ
    ЕСТЬNULL(СУММА(База.РезультатБаза), 0) КАК РезультатБаза,
    База.НомерСтроки КАК НомерСтроки,
    База.БазовыйПериодНачало КАК БазовыйПериодНачало,
    База.ВидРасчета
ИЗ
    (ВЫБРАТЬ
        НачисленияРаботниковБаза.РезультатБаза КАК РезультатБаза,
        НачисленияРаботниковБаза.НомерСтроки КАК НомерСтроки,
        НачисленияРаботниковБаза.БазовыйПериодНачало КАК БазовыйПериодНачало,
        НачисленияРаботниковБаза.ВидРасчета КАК ВидРасчета
    ИЗ
        РегистрРасчета.НачисленияРаботников.БазаНачисленияРаботников(
                &парамИзмерения,
                &парамИзмерения,
                &парамРазрезы,
                Регистратор = &парамРегистратор
                    И ВидРасчета В (&парамЗаработок)) КАК НачисленияРаботниковБаза) КАК База

СГРУППИРОВАТЬ ПО
    База.НомерСтроки,
    База.БазовыйПериодНачало,
    База.ВидРасчета

все отлично, база для среднего получена, т.к. в запросе есть параметр к этим движениям регистратора
Регистратор = &парамРегистратор

но теперь я хочу получить тот же результат, но без привязки к предварительным движениям этого документа, т.е. без этого кода в запросе и без предварительных движений по периоду, вот новый код запроса:

ВЫБРАТЬ
    НачисленияРаботниковБаза.РезультатБаза КАК РезультатБаза,
    НачисленияРаботниковБаза.НомерСтроки КАК НомерСтроки,
    НачисленияРаботниковБаза.БазовыйПериодНачало КАК БазовыйПериодНачало,
    НачисленияРаботниковБаза.ВидРасчета КАК ВидРасчета
ИЗ
    РегистрРасчета.НачисленияРаботников.БазаНачисленияРаботников(
            &парамИзмерения,
            &парамИзмерения,
            ,
            ФизЛицо = &ФизЛицо
                И БазовыйПериодНачало >= &НачБазовогоПериода
                И БазовыйПериодКонец <= &КонБазовогоПериода
                И ВидРасчета = &ВидРасчетаБаза
                ) КАК НачисленияРаботниковБаза

Итог: пусто.
1 H A D G E H O G s
 
06.11.18
14:10
(0) Никто не понимает, но многие - Специалисты 1С :-)
2 VladSt
 
06.11.18
14:10
причем, что интересно, если я все-таки сделаю предварительные движения с пустыми суммами для расчета среднего и выполню 2-й запрос, то итог правильный

Как получить базу без этих предварительных движений?
3 VladSt
 
06.11.18
14:18
заремливаю код: //И ВидРасчета = &ВидРасчетаБаза

база возвращается, но только по премии, а не по среднему
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn