Имя: Пароль:
1C
1С v8
В запросе к табличной части не проходит часть реквизитов ((
0 Анастасия Изотова
 
18.12.15
03:14
День добрый. У меня 1С8.1. Подскажите, что может быть не так с запросом ?
У меня на форме табличная часть. построчно сотрудники, и данные по ним.
нужно вывести в печатную форму, но сгруппировать по первым трем столбцам:
ОООРомашка Администрация ПервыйРазряд Иванов
ОООРомашка Администрация ПервыйРазряд Петров
ОООРомашка Администрация ПервыйРазряд Сидоров
ОООРомашка Администрация ВторойРазряд Степанов
ОООРомашка Администрация ТретийРазряд Киселев

В запросе после ВЫБРАТЬ, первые три строки, ошибок не дают, а стоит добавить остальные поля (Сотрудник, Оклад, Премия ... )
1 Анастасия Изотова
 
18.12.15
03:15
Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    |        ТабличнаяЧасть.Организация,
    |        ТабличнаяЧасть.Категория,
    |        ТабличнаяЧасть.Специализация,
    |        ТабличнаяЧасть.Сотрудник,
    |        ТабличнаяЧасть.Печать,
    |        ТабличнаяЧасть.Специализация2,
    |        ТабличнаяЧасть.Трудоустр,
    |        ТабличнаяЧасть.Ставка,
    |        ТабличнаяЧасть.Премия,
    |        ТабличнаяЧасть.КолЧасов,
    |        ТабличнаяЧасть.Оклад,
    |        ТабличнаяЧасть.ОплатаЗаЧасы,
    |        ТабличнаяЧасть.ИтогоОплата
    |ИЗ
    |        Документ.ТабельРабочегоВремени.ТабельКонс КАК ТабличнаяЧасть
    |СГРУППИРОВАТЬ ПО
    |        ТабличнаяЧасть.Организация,
    |        ТабличнаяЧасть.Категория,
    |        ТабличнаяЧасть.Специализация
    |УПОРЯДОЧИТЬ ПО
    |        Категория";

    //    Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
    Результат = Запрос.Выполнить().Выбрать();
    
     Пока Результат.Следующий() цикл
        Область.Параметры.Организация=Результат.Организация;
        Область.Параметры.Категория=Результат.Категория;
        Область.Параметры.Специализация=Результат.Специализация;
         ТабДок.Вывести(Область);
    КонецЦикла;
2 Анастасия Изотова
 
18.12.15
03:15
{Документ.ТабельРабочегоВремени.Форма.ФормаДокумента(347)}: Ошибка при вызове метода контекста (Выполнить): {(5, 6)}: Поле не входит в группу "ТабличнаяЧасть.Сотрудник"
<<?>>ТабличнаяЧасть.Сотрудник,
    Результат = Запрос.Выполнить().Выбрать();
по причине:
{(5, 6)}: Поле не входит в группу "ТабличнаяЧасть.Сотрудник"
<<?>>ТабличнаяЧасть.Сотрудник,
3 SeraFim
 
18.12.15
03:40
Не путай "СГРУППИРОВАТЬ" и "УПОРЯДОЧИТЬ"
4 mehfk
 
18.12.15
04:40
(0) Предлагаювоспользоваться конструктором запросов.
5 Анастасия Изотова
 
18.12.15
07:02
Там столько закладок в конструкторе, что я теряюсь ((

Получается что если мне надо сделать как в образце в первом посте, надо поменять Сгрупировать и Упорядочить, местами ?

а почему запрос РАБОТАЕТ, если в ВЫБРАТЬ стоит только три реквизита, а ставлю КЛИЕНТА (и все что после него), начинает валиться эта ошибка **
6 БукинГена
 
18.12.15
07:05
(5) Зачем идти по сложному пути? Что тут сложного в конструкторе? Он 10 раз облегчает написания запроса.
7 cw014
 
18.12.15
07:17
Помести новые добавленные поля в конструкцию СГРУППИРОВАТЬ
8 runoff_runoff
 
18.12.15
07:18
все остальные поля вот так
МИНИМУМ(ТабличнаяЧасть.Сотрудник) КАК Сотрудник
9 ЛисИзЛеса
 
18.12.15
07:23
Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    |        ТабличнаяЧасть.Организация,
    |        ТабличнаяЧасть.Категория,
    |        ТабличнаяЧасть.Специализация,
    |        Минимум(ТабличнаяЧасть.Сотрудник) КАК Сотрудник,
    |        Минимум(ТабличнаяЧасть.Печать) КАК Печать,
    |        Минимум(ТабличнаяЧасть.Специализация2) Как Специализация2,
    |        Минимум(ТабличнаяЧасть.Трудоустр) КАК Трудоустр,
    |        Сумма(ТабличнаяЧасть.Ставка) КАК Ставка,
    |        Сумма(ТабличнаяЧасть.Премия) КАК Премия,
    |        Сумма(ТабличнаяЧасть.КолЧасов) КАК КолЧасов,
    |        Сумма(ТабличнаяЧасть.Оклад) КАК Оклад,
    |        Сумма(ТабличнаяЧасть.ОплатаЗаЧасы) КАК ОплатаЗаЧасы,
    |        Сумма(ТабличнаяЧасть.ИтогоОплата) КАК ИтогоОплата
    |ИЗ
    |        Документ.ТабельРабочегоВремени.ТабельКонс КАК ТабличнаяЧасть
    |СГРУППИРОВАТЬ ПО
    |        ТабличнаяЧасть.Организация,
    |        ТабличнаяЧасть.Категория,
    |        ТабличнаяЧасть.Специализация
    |УПОРЯДОЧИТЬ ПО
    |        Категория";

Как-то так. (И все-таки посмотрите Вашу почту)
10 ЛисИзЛеса
 
18.12.15
07:25
Конфигурация типовая или самописанная?
11 Анастасия Изотова
 
18.12.15
08:12
Конфигурация была когда то 1С 81 Уму. но ее столько раз переделывали, что всего и не упомнишь. я выложила в облако конфигурацию .. Ошибка, да, исчезла ....  но какая-то странность - печатная форма помнит данные, не обновляясь ... это у меня в глазах темнеет. или такое и правда возможно ?
12 Анастасия Изотова
 
18.12.15
08:12
А что значит в запросе эти МИНИМУМ, СУММА ?  я же не с цифрами работаю, просто построчно вывожу данные в печатную форму ?*?
13 пипец
 
18.12.15
08:24
при поиске по номеру ICQ ТС - гугл выдает "не однозначные" результаты
14 ЛисИзЛеса
 
18.12.15
08:37
(11) ссылку пожалуста
15 User_Agronom
 
18.12.15
08:42
(1) Телепаты в отпуску. Без телепатов что-то можно сказать, лишь увидев объект Документ.ТабельРабочегоВремени в дереве конфигурации.
16 Лефмихалыч
 
18.12.15
08:46
(0) "ИТОГИ ПО Организация, Категория, Специализация" вместо Сгрупировать.

Далее в обходе выборки


Результат = Запрос.Выполнить();
ВыборкаОрганизации = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГрупировкам);
Пока ВыборкаОрганизации.Следующий() Цикл
  ВыборкаИТакДалее = ВыборкаОрганизации.Выбрать(ОбходРезультатаЗапроса.ПоГрупировкам);
17 ibreiter
 
18.12.15
08:53
(12) То и значат...просто построчно будет без секции сгруппировать
18 Анастасия Изотова
 
18.12.15
08:57
https://cloud.mail.ru/public/2mif/9iGCho6hb    вот ссылка!
19 Анастасия Изотова
 
18.12.15
08:57
это я сюда конфигурацию положила()
20 ibreiter
 
18.12.15
08:59
(19) Вам уже все подсказали как делать
21 salvator
 
18.12.15
09:03
Все ж провангую, что автору все же надо итогами выводить отчет.
22 Анастасия Изотова
 
18.12.15
09:34
Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    |        ТабличнаяЧасть.Организация,
    |        ТабличнаяЧасть.Категория,
    |        ТабличнаяЧасть.Специализация,
    |        Минимум(ТабличнаяЧасть.Сотрудник) КАК Сотрудник,
    |        Минимум(ТабличнаяЧасть.Печать) КАК Печать,
    |        Минимум(ТабличнаяЧасть.Специализация2) Как Специализация2,
    |        Минимум(ТабличнаяЧасть.Трудоустр) КАК Трудоустр,
    |        Сумма(ТабличнаяЧасть.Ставка) КАК Ставка,
    |        Сумма(ТабличнаяЧасть.Премия) КАК Премия,
    |        Сумма(ТабличнаяЧасть.КолЧасов) КАК КолЧасов,
    |        Сумма(ТабличнаяЧасть.Оклад) КАК Оклад,
    |        Сумма(ТабличнаяЧасть.ОплатаЗаЧасы) КАК ОплатаЗаЧасы,
    |        Сумма(ТабличнаяЧасть.ИтогоОплата) КАК ИтогоОплата
    |ИЗ
    |        Документ.ТабельРабочегоВремени.ТабельКонс КАК ТабличнаяЧасть
    |ИТОГИ ПО
    |        ТабличнаяЧасть.Организация,
    |        ТабличнаяЧасть.Категория,
    |        ТабличнаяЧасть.Специализация
    |";
    
    Результат = Запрос.Выполнить().Выбрать();
    
    ВыборкаОрганизации = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГрупировкам);
    Пока ВыборкаОрганизации.Следующий() Цикл
    ВыборкаИТакДалее = ВыборкаОрганизации.Выбрать(ОбходРезультатаЗапроса.ПоГрупировкам);
     КонецЦикла;



так да ?
то есть, СГРУППИРОВАТЬ я убираю ?

ошибка:

{Документ.ТабельРабочегоВремени.Форма.ФормаДокумента(375)}: Ошибка при вызове метода контекста (Выполнить): {(2, 9)}: Поле не входит в группу "ТабличнаяЧасть.Организация"
<<?>>ТабличнаяЧасть.Организация,
    Результат = Запрос.Выполнить().Выбрать()
23 ibreiter
 
18.12.15
10:29
В таком варианте сгруппировать оставляете или убираете агрегатные функции