[РЕШЕНО] Получение базы для расчета запросом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем sergus, 17 июл 2014.

  1. TopicStarter Overlay
    sergus
    Offline

    sergus

    Регистрация:
    19 мар 2013
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Добрый день! Просьба помочь!

    Ситуация такая : для вида расчета "Командировка", находящегося в ПВР "ОсновныеНачисления", базовыми видами расчета являются "Оклад",находящийся в том же ПВР, и "Премия", ноходящийся в ПВР "ДополнительныеНачисления". Сумма "Командировки " и "Оклада" накапливается в регистре расчета "НачисленияСотрудников". Сумма "Премии" накапливается в регистре расчета "ДопНачисления". Регистры расчета "НачисленияСотрудников" и "ДопНачисления" имеют одинаковое измерение "Сотрудник".

    Проблема в следующем: Для расчета суммы "Командировки", запросом получаю базу, но база формируется только суммированием "Оклада", сумма "Премии" в базу почему то не входит, хотя она является начисленной, в указываемом базовом периоде и указана вместе с "Окладом" как базовые виды расчета для "Командировки", т.е. база должна формироваться суммированием ресурса "Сумма" по 2-м регистрам расчета, а у меня только по одному. Не могу понять, что делаю не так, текст запроса прилагаю. Заранее признателен.

    Код:
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МВТ;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ДанныеДляРасчета.НомерСтроки,
                   |    ДанныеДляРасчета.ВидРасчета,
                   |    ДанныеДляРасчета.Сотрудник,
                   |    ДанныеДляРасчета.Подразделение,
                   |    ДанныеДляРасчета.НормаЧасов,
                   |    ЕСТЬNULL(ДанныеДляРасчета.ФактЧасов, 0) КАК ФактЧасов,
                   |    ДанныеДляРасчета.БазаЧасов,
                   |    ДанныеДляРасчета.СотрудникСрезПерв,
                   |    ДанныеДляРасчета.ПодразделениеСрезПерв,
                   |    ДанныеДляРасчета.ОкладСрезПерв,
                   |    ДанныеДляРасчета.СотрудникСрезПосл,
                   |    ДанныеДляРасчета.ПодразделениеСрезПосл,
                   |    ДанныеДляРасчета.ОкладСрезПосл,
                   |    ЕСТЬNULL(НачисленияСотрудниковБазаНачисленияСотрудников.СуммаБаза, 0) КАК СуммаБаза
                   |ИЗ
                   |    ДанныеДляРасчета КАК ДанныеДляРасчета
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.НачисленияСотрудников.БазаНачисленияСотрудников
                   |       (&МассивИзмер, &МассивИзмер, , Регистратор = &Регистратор)
                   |        КАК НачисленияСотрудниковБазаНачисленияСотрудников
                   |        ПО ДанныеДляРасчета.НомерСтроки =
                   |        НачисленияСотрудниковБазаНачисленияСотрудников.НомерСтроки";
                 
    МассивИзмер = Новый Массив(1);
    МассивИзмер[0] = "Сотрудник";
    Запрос.УстановитьПараметр("МассивИзмер",МассивИзмер);
    Запрос.УстановитьПараметр("Регистратор",Регистратор);
    
    Результат = Запрос.Выполнить();
    Последнее редактирование: 17 июл 2014
  2. TopicStarter Overlay
    sergus
    Offline

    sergus

    Регистрация:
    19 мар 2013
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Проблема решена !!! Забыл добавить в запрос таблицу, хранящую базу по 2-му регистру. Добавил, теперь всё заработало как надо ))

Поделиться этой страницей