Добрый день, пишу запрос к регистру накоплений нужно согласно таблице, в закрепе, получить общее число покупателей в категории "из них" за день потом сложить эти категории за день в колонку "Всего" как это сделать не СКД?
Например в категории "Узнавших из других источников" было 3 покупателя в этот день, а в категории "Пришедший по приглашению" 1 покупатель "Всего" сотовляет 4 покупателя в этот день.
Например в категории "Узнавших из других источников" было 3 покупателя в этот день, а в категории "Пришедший по приглашению" 1 покупатель "Всего" сотовляет 4 покупателя в этот день.
Прикрепленные файлы:
Книга1.xlsx
По теме из базы знаний
Найденные решения
(12) Да пожалуйста
https://infostart.ru/1c/articles/1124762/?ysclid=lz2cypomu9977015675
нужно использовать СГРУППИРОВАТЬ ПО
нужно использовать СГРУППИРОВАТЬ ПО
(14)
Добавляй
Соответственно "ОбщееКоличествоПришедших" - параметр на форме
СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;
Добавляй
СтрокаОтчёта.Параметры.ОбщееКоличествоПришедших = Данные.УзнавшийИзДругихИсточников + Данные.ПришедшийПоПриглашению;
Соответственно "ОбщееКоличествоПришедших" - параметр на форме
(20) Примерно так. Проверьте в консоли запросов
"ВЫБРАТЬ
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
|СГРУППИРОВАТЬ ПО
|РаботаОбороты.Период
(17) Вот как в (21)
Только с запросом периода
"ВЫБРАТЬ
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот),
| РаботаОбороты.Период
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
|СГРУППИРОВАТЬ ПО
|РаботаОбороты.Период
ПоказатьТолько с запросом периода
(31) в (32) правильно говорит про различные значения - необходимо проверить.
А именно проверяй записи в регистре РегистрНакопления.Работа на наличие дублей за 08.07.
Так же этот запрос запускай в консоли запросов и смотри разность строк.
Ну и текст запроса в студию.
А именно проверяй записи в регистре РегистрНакопления.Работа на наличие дублей за 08.07.
Так же этот запрос запускай в консоли запросов и смотри разность строк.
Ну и текст запроса в студию.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10)
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РаботаОбороты.УзнавшийИзДругихИсточниковОборот,
| РаботаОбороты.ПришедшийПоПриглашениюОборот
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата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"));
КонецПроцедуры
Показать
(20) Примерно так. Проверьте в консоли запросов
"ВЫБРАТЬ
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
|СГРУППИРОВАТЬ ПО
|РаботаОбороты.Период
(31) в (32) правильно говорит про различные значения - необходимо проверить.
А именно проверяй записи в регистре РегистрНакопления.Работа на наличие дублей за 08.07.
Так же этот запрос запускай в консоли запросов и смотри разность строк.
Ну и текст запроса в студию.
А именно проверяй записи в регистре РегистрНакопления.Работа на наличие дублей за 08.07.
Так же этот запрос запускай в консоли запросов и смотри разность строк.
Ну и текст запроса в студию.
(33)
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата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"));
КонецПроцедуры
Показать
(14)
Добавляй
Соответственно "ОбщееКоличествоПришедших" - параметр на форме
СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;
Добавляй
СтрокаОтчёта.Параметры.ОбщееКоличествоПришедших = Данные.УзнавшийИзДругихИсточников + Данные.ПришедшийПоПриглашению;
Соответственно "ОбщееКоличествоПришедших" - параметр на форме
(16) Да уже ближе вторая часть вопроса если у меня в один день допустим 20.07 пришли 2 категории одновременно и их надо вывести в один день как это сделать? Сейчас у меня выводится всё в разные строки, но те кто пришл в один день по приглашению и узнавший из других источников надо в одну строку вывести.
(17) Вот как в (21)
Только с запросом периода
"ВЫБРАТЬ
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот),
| РаботаОбороты.Период
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, День , ) КАК РаботаОбороты
|СГРУППИРОВАТЬ ПО
|РаботаОбороты.Период
ПоказатьТолько с запросом периода
(12) Да пожалуйста
https://infostart.ru/1c/articles/1124762/?ysclid=lz2cypomu9977015675
нужно использовать СГРУППИРОВАТЬ ПО
нужно использовать СГРУППИРОВАТЬ ПО
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот