Добрый день, пишу запрос к регистру накоплений нужно согласно таблице, в закрепе, получить общее число покупателей в категории "из них" за день потом сложить эти категории за день в колонку "Всего" как это сделать не СКД?
Например в категории "Узнавших из других источников" было 3 покупателя в этот день, а в категории "Пришедший по приглашению" 1 покупатель "Всего" сотовляет 4 покупателя в этот день.
---
Да пожалуйста
https://infostart.ru/1c/articles/1124762/?ysclid=lz2cypomu9977015675

нужно использовать СГРУППИРОВАТЬ ПО
---
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, , ) КАК РаботаОбороты";

    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, ДЕНЬ, ) КАК РаботаОбороты";
---
```1c
    СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
    СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;
```

Добавляй

```1c
    СтрокаОтчёта.Параметры.ОбщееКоличествоПришедших = Данные.УзнавшийИзДругихИсточников + Данные.ПришедшийПоПриглашению;
```

Соответственно "ОбщееКоличествоПришедших" - параметр на форме
---
Примерно так. Проверьте в консоли запросов

```1c
    "ВЫБРАТЬ
    | СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
    | СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
    |ИЗ
    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
    |СГРУППИРОВАТЬ ПО
    |РаботаОбороты.Период
```
---
Вот как в (21)

```1c
    "ВЫБРАТЬ
    | СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
    | СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот),
    | РаботаОбороты.Период
    |ИЗ
    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
    |СГРУППИРОВАТЬ ПО
    |РаботаОбороты.Период
```

Только с запросом периода
---
Чудес не бывает. Либо не суммируете оборот, либо в группировке еще что-то, кроме даты, где есть различные значения.
---
в (32) правильно говорит про различные значения - необходимо проверить.
А именно проверяй записи в регистре РегистрНакопления.Работа на наличие дублей за 08.07.
Так же этот запрос запускай в консоли запросов и смотри разность строк.
Ну и текст запроса в студию.
---
Не понимаю, что мешает просто суммировать в дополнительном поле значения из двух (или более) колонок?
---
так как их по дням то разбить?
---
Кажется, я понял. Проблема в том, чтобы записи регистра распределить по колонкам? Делайте через ВЫБОР КОГДА. Если группа у клиента такая - заполняем поле Такое, если другая, заполняем поле Другое. Потом суммируем.
---
Я их распределяю по колонкам. Проблема как их по дням раскидать и в один день может придти несколько категорий их надо сложить и общий результат по категориям получить.
---
Можете свой запрос показать?
---
```1c
    Процедура КнопкаСформироватьНажатие(Кнопка)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РаботаОбороты.УзнавшийИзДругихИсточниковОборот,
    | РаботаОбороты.ПришедшийПоПриглашениюОборот
    |ИЗ
    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, , ) КАК РаботаОбороты";

    Если НЕ Прод.Пустая() Тогда
    Запрос.Текст = Запрос.Текст + "
    |ГДЕ
    | РаботаОбороты.Прод = &Прод";

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

    Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    ВыборкаЗапроса = Запрос.Выполнить().Выбрать();

    ТабДок = Новый ТабличныйДокумент;
    Макет = Отчеты.УчётаРаботы.ПолучитьМакет("МакетОтчёт");
    МакетОтчёт = ЭтотОбъект.ПолучитьМакет(МакетОтчёт);
    МакетОтчёт.Параметры.Дата1 = Формат(Дата1, "ДЛФ=D");
    МакетОтчёт.Параметры.Дата2 = Формат(Дата2, "ДЛФ=D");

    Шапка = Макет.ПолучитьОбласть("Шапка");
    СтрокаОтчёта = Макет.ПолучитьОбласть("Строка");
    Подвал = Макет.ПолучитьОбласть("Подвал");

    Шапка.Параметры.Дата1 = Дата1;
    Шапка.Параметры.Дата2 = Дата2;
    Шапка.Параметры.Продавец = Строка(Прод) + " " + Прод.Отдел;
    ТабДок.Вывести(Шапка);

    Данные = Новый Структура;

    Пока ВыборкаЗапроса.Следующий() Цикл

    Данные.Вставить("УзнавшийИзДругихИсточников", ВыборкаЗапроса.УзнавшийИзДругихИсточниковОборот);
    Данные.Вставить("ПришедшийПоПриглашению", ВыборкаЗапроса.ПришедшийПоПриглашениюОборот);

    Для Каждого ТекущаяСтрока Из Данные Цикл

    СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
    СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;

    КонецЦикла;

    ТабДок.Вывести(СтрокаОтчёта);

    КонецЦикла;

    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R11:R14");
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать("Ведомость за период с " + Формат(Дата1, "ДФ=dd.MM.yyyy") + " по " + Формат(Дата2, "ДФ=dd.MM.yyyy"));

    КонецПроцедуры
```
---
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, , ) КАК РаботаОбороты";

    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, ДЕНЬ, ) КАК РаботаОбороты";
---
Ни чего не изменилось разными строками всё выводиться нужно пришедших в один день категории вывести в одну строку?
---
Сгруппируйте по периоду, а обороты суммируйте.
---
я так не могу понять можно пример в коде?
---
Примерно так. Проверьте в консоли запросов

```1c
    "ВЫБРАТЬ
    | СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
    | СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
    |ИЗ
    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
    |СГРУППИРОВАТЬ ПО
    |РаботаОбороты.Период
```
---
Почему то пишет синтаксическая ошибка ГДЕ
---
ГДЕ вставляйте после ИЗ, группируйте в конце
---
Так оно по условию я в него продавца вставляю и по нему отбор делаю
---
да пробовал и после ГДЕ тоже самое
---
В отладчике откройте полный текст запроса (после всех добавлений) и сюда скопируйте.
---
Запрос с ошибкой сюда напиши. Возможно отбор по дате стоит перенести в ГДЕ
---
(30) Всё разобрался СГРУППИРОВАТЬ ПО надо было ставить после ГДЕ плюс поля добовлять. Но только у меня всё так же как на фото 2 категории пришли 8 числа как их в одну строку вывести?
---
Чудес не бывает. Либо не суммируете оборот, либо в группировке еще что-то, кроме даты, где есть различные значения.
---
А как его может не суммировать я прописал СУММА ?
---
в (32) правильно говорит про различные значения - необходимо проверить.
А именно проверяй записи в регистре РегистрНакопления.Работа на наличие дублей за 08.07.
Так же этот запрос запускай в консоли запросов и смотри разность строк.
Ну и текст запроса в студию.
---
```1c
    Процедура КнопкаСформироватьНажатие(Кнопка)

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

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

    Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
    Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
    ВыборкаЗапроса = Запрос.Выполнить().Выбрать();

    ТабДок = Новый ТабличныйДокумент;
    Макет = Отчеты.УчётаРаботы.ПолучитьМакет("МакетОтчёт");
    МакетОтчёт = ЭтотОбъект.ПолучитьМакет(МакетОтчёт);
    МакетОтчёт.Параметры.Дата1 = Формат(Дата1, "ДЛФ=D");
    МакетОтчёт.Параметры.Дата2 = Формат(Дата2, "ДЛФ=D");

    Шапка = Макет.ПолучитьОбласть("Шапка");
    СтрокаОтчёта = Макет.ПолучитьОбласть("Строка");
    Подвал = Макет.ПолучитьОбласть("Подвал");

    Шапка.Параметры.Дата1 = Дата1;
    Шапка.Параметры.Дата2 = Дата2;
    Шапка.Параметры.Продавец = Строка(Прод) + " " + Прод.Отдел;
    ТабДок.Вывести(Шапка);

    Данные = Новый Структура;

    Пока ВыборкаЗапроса.Следующий() Цикл

    Данные.Вставить("УзнавшийИзДругихИсточников", ВыборкаЗапроса.УзнавшийИзДругихИсточниковОборот);
    Данные.Вставить("ПришедшийПоПриглашению", ВыборкаЗапроса.ПришедшийПоПриглашениюОборот);

    Для Каждого ТекущаяСтрока Из Данные Цикл

    СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
    СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;

    КонецЦикла;

    ТабДок.Вывести(СтрокаОтчёта);

    КонецЦикла;

    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R11:R14");
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать("Ведомость за период с " + Формат(Дата1, "ДФ=dd.MM.yyyy") + " по " + Формат(Дата2, "ДФ=dd.MM.yyyy"));

    КонецПроцедуры
```
---
```1c
    СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
    СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;
```

Добавляй

```1c
    СтрокаОтчёта.Параметры.ОбщееКоличествоПришедших = Данные.УзнавшийИзДругихИсточников + Данные.ПришедшийПоПриглашению;
```

Соответственно "ОбщееКоличествоПришедших" - параметр на форме
---
Да уже ближе вторая часть вопроса если у меня в один день допустим 20.07 пришли 2 категории одновременно и их надо вывести в один день как это сделать? Сейчас у меня выводится всё в разные строки, но те кто пришл в один день по приглашению и узнавший из других источников надо в одну строку вывести.
---
Добавь в запрос дату и группируй по этому полю.
У тебя получается, что пытается сгруппировать по реквизиту, которого нет.
Как выше писали, проверяй запросы в консоли запросов
---
Вот как в (21)

```1c
    "ВЫБРАТЬ
    | СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
    | СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот),
    | РаботаОбороты.Период
    |ИЗ
    | РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
    |СГРУППИРОВАТЬ ПО
    |РаботаОбороты.Период
```

Только с запросом периода
---
Почему то пишет синтаксическая ошибка ГДЕ
---
как их по дням раскидать
группировка по дате в запросе
---
Пример можно?
---
Да пожалуйста
https://infostart.ru/1c/articles/1124762/?ysclid=lz2cypomu9977015675

нужно использовать СГРУППИРОВАТЬ ПО
---
согласно таблице, в закрепе
Можно было бы и формулы написать в таблице для полного понимания)))
---
Если отчет на скд, то в ресурсах создавай поле и пиши выражение, прим: Сумма(ДругойИсточник, Приглашение), потом это поле добавляешь в настройках
---
Нет не СКД.
---
тогда обрабатывай результат запроса в цикле перед заполнением формы