Имя: Пароль:
1C
1С v8
Всем известная в запросе -"Поле не входит в группу". Растолкуйте пож-та.
,
0 Обработка
 
16.12.13
08:30
Вроде бы погуглил тут и вроде бы ясно. Но все равно не могу понять как мне суммировать по организации и по периодам?

Запрос = Новый Запрос;
    Запрос.Текст ="    ВЫБРАТЬ
            |    ПитаниеСотрудников.Сотрудник,
            |    ПитаниеСотрудников.ПериодПитания,
            |    1 КАК Количество,
            |    РаботникиОрганизацийСрезПоследних.Организация
            |ИЗ
            |    РегистрСведений.ПитаниеСотрудников КАК ПитаниеСотрудников
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
            |        ПО ПитаниеСотрудников.Сотрудник = РаботникиОрганизацийСрезПоследних.Физлицо
            |ГДЕ
            |    ПитаниеСотрудников.Период МЕЖДУ &Начало И &Окончание
            |Сгруппировать по
            |    РаботникиОрганизацийСрезПоследних.Организация,
            |    ПитаниеСотрудников.ПериодПитания";
            
    Запрос.УстановитьПараметр("Начало", НачалоМесяца(Объект.Дата));
    Запрос.УстановитьПараметр("Окончание", КонецМесяца(Объект.Дата));
1 Defender aka LINN
 
16.12.13
08:32
(0) Чтобы суммировать - надо хоть сто-то суммировать, как ни крути.
2 Defender aka LINN
 
16.12.13
08:32
*хоть что-то
3 Обработка
 
16.12.13
08:33
(2) Мне нужно Количество питаний по организациям и по периодам питания...
4 Wobland
 
16.12.13
08:34
ну или кроличество считать
5 Wobland
 
16.12.13
08:34
(3) количество напитавшихся сотрудников?
6 Defender aka LINN
 
16.12.13
08:37
(3) Ты не поверишь, до какой степени нам без разницы, что именно тебе нужно. Запросу, кстати, еще более без разницы. Эта бесчувственная скотина искренне не понимает, что надо сделать с полями "1" и "ПитаниеСотрудников.Сотрудник".
Взять минимум от 1 и сложить сотрудников? Ладно, там Петя+Маша еще как-то сложить можно? А если Петя+Вася? Это уже какбе не пропаганда получается.
7 Обработка
 
16.12.13
08:38
(5) Сколько в целом по организациям покушали по периодам питания
8 Лодырь
 
16.12.13
08:38
Мож стоит задуматься о агрегатной функции?
9 Wobland
 
16.12.13
08:39
(7) так количество сотрудников или нет?
10 Oleg_ka
 
16.12.13
08:40
Мне кажется или я ... вижу ошибку проектировки БД?
РегистрСведений.ПитаниеСотрудников <---???
В (7) "Сколько в целом по организациям покушали по периодам питания"
11 Обработка
 
16.12.13
08:41
(9) Нет. А сколько всего сотрудников с разных организации....
В базе как минимум 10 ораганизаций.
13 Wobland
 
16.12.13
08:43
(10) кажется. ну вот захотел человек увидеть картинку в общем
14 Обработка
 
16.12.13
08:44
(12) Ребята понимаю что вы все знаете...
Я на снеговик перешел недавно и все еще хромаю в запросах.

пробовал так

ВЫБРАТЬ
            |    ПитаниеСотрудников.Сотрудник,
            |    ПитаниеСотрудников.ПериодПитания,
            |    1 КАК Количество,
            |    РаботникиОрганизацийСрезПоследних.Организация
            |ИЗ
            |    РегистрСведений.ПитаниеСотрудников КАК ПитаниеСотрудников
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
            |        ПО ПитаниеСотрудников.Сотрудник = РаботникиОрганизацийСрезПоследних.Физлицо
            |ГДЕ
            |    ПитаниеСотрудников.Период МЕЖДУ &Начало И &Окончание
            |ИТОГИ
            |    СУММА(Количество)
            | по
            |    РаботникиОрганизацийСрезПоследних.Организация,
            |    ПитаниеСотрудников.ПериодПитания";
15 МишКа
 
16.12.13
08:45
(14) КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПитаниеСотрудников.Сотрудник)
16 Defender aka LINN
 
16.12.13
08:47
(14) Идешь в любой книжный магазин. Ищешь там книгу по SQL, покупаешь и читаешь. Что может быть проще?
17 Wobland
 
16.12.13
08:50
(16) сходить не скажу куда и вставить в поиск строку (дарю!) "ицик бен-ган"
18 Обработка
 
16.12.13
08:53
(16) ДА есть у меня литература.
(17) По поиску почитал 4-5 тем тут.
Ни там ни там не видел подобное.
Все равно хочу понять четкто как при обединении двух таблиц вытащить итоги.
19 Defender aka LINN
 
16.12.13
08:54
(17) Это я какбе прямо из личного опыта
20 Defender aka LINN
 
16.12.13
08:54
(18) Иди выспись уже. То ему итоги нужны, то группировка...
21 Wobland
 
16.12.13
08:55
(18) для начала надо понять, что такое объединение, соединение, итоги и группировка
(19) аналогично ;)
22 Обработка
 
16.12.13
08:55
В СКД все на ура у меня получается потому ч то там группировка делается уже настройками варианта
23 Defender aka LINN
 
16.12.13
08:59
(22) Вот за это хочется, конечно, авторов платформы забить дубинами...
Группировка в СКД и "СГРУППИРОВАТЬ ПО" в запросе - ни разу не родственники и даже не знакомы.
24 Обработка
 
16.12.13
09:00
Еще раз. Постановка ТЗ.

Есть РС "Питание сотрудников"
Измерение -Сотрудник (спр - физ лица)
          -Период питание перечисление (Завтрак, Обед, Ужин)
Чтобы узнать В какой организации работает сотр обащаюсь в РС Работнуки оранизации.

Мне нужно вытащить Организация, Периодпитания , количество питаний.

Пример "ООО Иврус"---- завтрак --- 140
итп
25 Wobland
 
16.12.13
09:02
наконец-то количество. спроси у (15)
26 dmpl
 
16.12.13
09:15
(18) Конструктор запроса придумали трусы? Пользуй его - и все будет как надо.
27 dmpl
 
16.12.13
09:17
(24) Конфигурация какая? В типовых организация в сотруднике уже есть.
28 Обработка
 
16.12.13
09:19
(15) (25) (26)

Ура получилось. Почему же скопипастенное из скд не рабоатет а если писать констктормо получается хотя все одно и то же?

(((

Я пробовал как (15) Не получалось...
29 Wobland
 
16.12.13
09:26
(28) а это руки. всё дело в руках
30 Serg_1960
 
16.12.13
09:46
(24) "Есть РС "Питание сотрудников"
Измерение - Сотрудник (спр - физ лица)"...

Проблему неопределенности вижу в реализации для типовых конфигурациях. Не будет там корректно работать запрос - одно физ.лицо может быть работником в нескольких организациях.
31 Lama12
 
16.12.13
09:53
(0) Если в первом запросе все остальное тебя устраивает, то замени строку
|    1 КАК Количество,
на
|    Сумма(1) КАК Количество,
32 Обработка
 
16.12.13
10:02
(30) Знаю в курсе. Просто пренебрегаем это редкость.
(31)
Вот решение:

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПитаниеСотрудников.Сотрудник) КАК Количество,
        |    ПитаниеСотрудников.ПериодПитания,
        |    РаботникиОрганизацийСрезПоследних.Организация
        |ИЗ
        |    РегистрСведений.ПитаниеСотрудников КАК ПитаниеСотрудников
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
        |        ПО ПитаниеСотрудников.Сотрудник = РаботникиОрганизацийСрезПоследних.Физлицо
        |ГДЕ
        |    ПитаниеСотрудников.Период МЕЖДУ &Начало И &Окончание
        |
        |СГРУППИРОВАТЬ ПО
        |    РаботникиОрганизацийСрезПоследних.Организация,
        |    ПитаниеСотрудников.ПериодПитания";

    Запрос.УстановитьПараметр("Начало", НачалоМесяца(Объект.Дата));
    Запрос.УстановитьПараметр("Окончание", КонецМесяца(Объект.Дата));


    Объект.ТЧ.Загрузить(Запрос.Выполнить().Выгрузить());
33 Обработка
 
16.12.13
11:34
Подымаю тему заново!

Облом не те значения вышли.
Мне нужно было за месяц а данные выходят как будто бы за день... ((((

Может быть "КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПитаниеСотрудников.Сотрудник) КАК Количество"  

не уместно здесь????
34 Wobland
 
16.12.13
11:38
ну убери различные
35 Обработка
 
16.12.13
11:43
Усе осилил... (((

|    Сумма (1) КАК Количество,

Все-таки вначале все верно писал...оказывается.
36 Wobland
 
16.12.13
11:49
ну или так
37 AaNnDdRrEeYy
 
16.12.13
12:02
условие из ГДЕ надо в соединение перенести, вот так

    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
        |        ПО ПитаниеСотрудников.Сотрудник = РаботникиОрганизацийСрезПоследних.Физлицо
        И   ПитаниеСотрудников.Период МЕЖДУ &Начало И &Окончание
38 AaNnDdRrEeYy
 
16.12.13
12:04
(37)+ твой запрос в (0) будет весь регистр внутренним соединением фигачить а потом после долгой и крапотливой работы по соединению отберет только те записи которые МЕЖДУ &Начало И &Окончание, она надо? сразу ему сказать какие записи соединять что бы не мучался
39 Обработка
 
16.12.13
12:12
(38) Спасибо понял замечание.
40 hhhh
 
16.12.13
12:19
(39) НАЧАЛОПЕРИОДА(ПитаниеСотрудников.ПериодПитания, МЕСЯЦ)

и СГРУППИРОВАТЬ ПО

НАЧАЛОПЕРИОДА(ПитаниеСотрудников.ПериодПитания, МЕСЯЦ)
41 m-serg74
 
16.12.13
12:24
(40) ПериодПитания - это не дата...