Имя: Пароль:
1C
1С v8
В детальных записях есть поле, которое нужно только в итогах
0 Очень Любознательная
 
11.05.20
10:53
Доброе утро. Вопрос сам по себе может ерундовый, но у меня в последнее время такая ситуация была несколько раз.
Есть такой запрос:
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КадровыеДанные.ГоловнойСотрудник КАК ГоловнойСотрудник,
    |    КадровыеДанные.Должность КАК Должность,
    |    КадровыеДанные.КоличествоСтавок КАК КоличествоСтавок
    |ПОМЕСТИТЬ ВТ_КадровыеДанные
    |ИЗ
    |    &КадровыеДанные КАК КадровыеДанные
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Сотрудник КАК Сотрудник,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов1 КАК Часов1,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов2 КАК Часов2,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов3 КАК Часов3,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов4 КАК Часов4,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов5 КАК Часов5,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов6 КАК Часов6,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов7 КАК Часов7,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов8 КАК Часов8,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов9 КАК Часов9,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов10 КАК Часов10,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов11 КАК Часов11,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов12 КАК Часов12,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов13 КАК Часов13,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов14 КАК Часов14,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов15 КАК Часов15,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов16 КАК Часов16,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов17 КАК Часов17,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов18 КАК Часов18,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов19 КАК Часов19,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов20 КАК Часов20,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов21 КАК Часов21,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов22 КАК Часов22,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов23 КАК Часов23,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов24 КАК Часов24,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов25 КАК Часов25,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов26 КАК Часов26,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов27 КАК Часов27,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов28 КАК Часов28,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов29 КАК Часов29,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов30 КАК Часов30,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Часов31 КАК Часов31,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени1 КАК ВидВремени1,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени2 КАК ВидВремени2,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени3 КАК ВидВремени3,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени4 КАК ВидВремени4,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени5 КАК ВидВремени5,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени6 КАК ВидВремени6,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени7 КАК ВидВремени7,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени8 КАК ВидВремени8,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени9 КАК ВидВремени9,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени10 КАК ВидВремени10,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени11 КАК ВидВремени11,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени12 КАК ВидВремени12,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени13 КАК ВидВремени13,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени14 КАК ВидВремени14,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени15 КАК ВидВремени15,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени16 КАК ВидВремени16,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени17 КАК ВидВремени17,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени18 КАК ВидВремени18,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени19 КАК ВидВремени19,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени20 КАК ВидВремени20,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени21 КАК ВидВремени21,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени22 КАК ВидВремени22,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени23 КАК ВидВремени23,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени24 КАК ВидВремени24,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени25 КАК ВидВремени25,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени26 КАК ВидВремени26,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени27 КАК ВидВремени27,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени28 КАК ВидВремени28,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени29 КАК ВидВремени29,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени30 КАК ВидВремени30,
    |    ТабельУчетаРабочегоВремениДанныеОВремени.ВидВремени31 КАК ВидВремени31,
    |    ВТ_КадровыеДанные.Должность КАК Должность,
    |    ЕСТЬNULL(ВТ_КадровыеДанные.КоличествоСтавок, 0) КАК КоличествоСтавок
    |ИЗ
    |    Документ.ТабельУчетаРабочегоВремени.ДанныеОВремени КАК ТабельУчетаРабочегоВремениДанныеОВремени
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КадровыеДанные КАК ВТ_КадровыеДанные
    |        ПО ТабельУчетаРабочегоВремениДанныеОВремени.Сотрудник = ВТ_КадровыеДанные.ГоловнойСотрудник
    |ГДЕ
    |    ТабельУчетаРабочегоВремениДанныеОВремени.Ссылка = &Ссылка
    |ИТОГИ ПО
    |    Сотрудник";

    Запрос.УстановитьПараметр("КадровыеДанные", КадровыеДанные);
    Запрос.УстановитьПараметр("Ссылка", Ссылка);

Здесь есть поля должность и количество ставок. Мне они нужны только при обходе запроса по группировке Сотрудники. То есть, есть вариант заполнять переменные Должность и КоличествоСтавок при первой итерации выборки по детальным записям, либо же просто в выборке по детальным записям делать Должность = ВыборкаДетальныеЗаписи.Должность столько раз,
сколько будет их. Насколько это плохо с точки зрения качества кода? Просто оно глаз задевает, честно говоря.
Может, есть способ получить эти поля на уровне итогов?
1 Вафель
 
11.05.20
10:59
максимум
2 Очень Любознательная
 
11.05.20
11:14
(1) Да, то,что нужно, получилось! Спасибо огромное!!!
3 lodger
 
11.05.20
11:14
либо не суй ТЗ в запрос.
первый цикл по ТЗ. вложенный по выборка.найтипозначению(ТЗ.сотрудник)
Ошибка? Это не ошибка, это системная функция.