Помогите с отчётом на СКД, как правильно сделать группировки и сортировки

1. user817897 2 05.04.19 09:42 Сейчас в теме
Доброе утро всем. Помогите с отчётом на СКД, как правильно сделать группировки и сортировки,я так понимаю что можно обойтись этим.
Ситуация такая, нарисовал в Excel как должно выглядеть, то есть,здесь отображаются заказы новых контрагентов по месяцам,в последнем месяце отображаются новые клиенты(Дима).
Код запроса брал из универсального отчёта, в УТ 10.3 работаю.Я так понимаю что можно добиться такого результата с помощью сортировок и группировок,или можно какими-то данными вытянуть стандартными?
Вторая картинка на 1С как предварительно получилось у меня.
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
25. dhurricane 05.04.19 13:00 Сейчас в теме +0.01 $m
(24) Мне жаль, но у меня нет хорошего решения Вашей задачи. Чтобы ее решить, требуется получить период первой детальной записи для каждого контрагента. Т.е. источник данных для периодов в строках и в колонках один (запрос), но тем не менее это должны быть разные поля.

Чтобы не бросать Вас наедине с проблемным отчетом, могу предложить кое-какое решение. Вам нужен еще один набор данных, который для каждого контрагента вернет дату начала заказов. По уму это должен быть тот же запрос к регистру "Продажи", что и в основном наборе, только с выборкой минимального периода. Однако далее я покажу более топорное решение, надеясь, что оно Вам подойдет. Если нет, возможно на основе его Вы сделаете нечто более стоящее.

Итак, добавьте второй набор-запрос со следующим текстом:
ВЫБРАТЬ
   Заказы.Контрагент КАК Контрагент,
   МИНИМУМ(Заказы.Дата) КАК ДатаНачалаЗаказов
ИЗ
   Документ.ЗаказПокупателя КАК Заказы
ГДЕ
   Заказы.Проведен
   И Заказы.Контрагент В(&МассивКонтрагентов)
   // какой-то еще отбор, например по периоду
   
СГРУППИРОВАТЬ ПО
	Заказы.Контрагент
Показать

Перейдите на закладку связей наборов, добавьте новую связь основного набора к вновь добавленному, связав их по контрагенту. В колонке "Параметр" выберите "МассивКонтрагентов" и поставьте рядом флажок "СписокПараметров".

Далее перейдите на закладку СКД "Параметры", найдите там автоматически добавленный параметр "МассивКонтрагентов". Поставьте ему флажок "Доступен список значений", убедитесь что флажок "Ограничение доступности" также установлен.

На закладке "Настройки" СКД в группировке строк таблицы вместо ранее добавленного "Периода" используйте новое поле "ДатаНачалаЗаказов". Настройте оформление нового поля.
user817897; +1 Ответить
53. dhurricane 05.04.19 18:27 Сейчас в теме
(52) Так Вы все верно стали делать. Выражение вычисляемого поля:
ВЫБОР
   КОГДА РАЗНОСТЬДАТ(Период, ДатаНачалаЗаказов, "МЕСЯЦ") = 0
   ТОГДА Стоимость
   ИНАЧЕ 0
КОНЕЦ
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 05.04.19 09:57 Сейчас в теме
(1) Прошу прощения, но представленный отчет на рис. 2 не соответствует структуре, показанной на рис. 3. По условию задачи не понятно, что за даты в колонках и строках рис. 1? Не могли бы Вы дать больше информации, чего именно Вы хотите добиться и какими данными оперируете?
3. user817897 2 05.04.19 10:07 Сейчас в теме
(2)очень извиняюсь,заскринил и потом скорректировал.скинул ниже как правильнее.
Даты в колонке это год-месяц
Даты в строках тоже год-месяц.
Хочу видеть отчёт по контрагентам, чтобы в каждом месяце видеть кто новый контрагент, и на сколько у его была отгрузка.
из примера excel видно что:
Коля,Вася2,Вася3 новые контрагенты и впервые сделали покупку в феврале месяца,а Дима новый контрагент в марте месяце и у его была отгрузка на 150руб к примеру
Прикрепленные файлы:
7. majoram 11 05.04.19 10:21 Сейчас в теме
(3) чтобы даты были и в строках, нужно сделать в строках Группировку как в колонках (Период месяц) и вложить в неё Заказ покупателя контрагент
9. user817897 2 05.04.19 10:31 Сейчас в теме
(7)так же не получится сделать,будет выдавать такую ошибку :
по причине:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Группировка по полям - периодам должна выполняться в последовательности нумерации периодов
11. majoram 11 05.04.19 10:34 Сейчас в теме
(9) использовать в группировках Период.ЧастиДат.НазваниеМесяца, Период.ЧастиДат.Год
Прикрепленные файлы:
13. user817897 2 05.04.19 10:46 Сейчас в теме
(11)так получилось сделать группировки по месяцам,попробовал
8. dhurricane 05.04.19 10:27 Сейчас в теме
(3) Период в колонках - дата отгрузки, период в строках - дата создания контрагента? Или это одни и те же даты?
10. user817897 2 05.04.19 10:33 Сейчас в теме
(8)да,всё верно.В колонках дата отгрузки, в строках-создание(только период месяц).
12. dhurricane 05.04.19 10:44 Сейчас в теме
(10) А теперь вернемся к исходной задаче. Вам нужно сгруппировать контрагентов по дате создания. У Вас в отчете есть поле, отвечающее за него? Или Вы не знаете, как эту дату получить?
14. user817897 2 05.04.19 10:46 Сейчас в теме
(12) какое поле,даты его первого заказа? нету(
15. dhurricane 05.04.19 10:52 Сейчас в теме
(14) Стало быть в качестве периода в строках выступает дата первого документа "ЗаказПокупателя" для контрагента?
16. user817897 2 05.04.19 10:54 Сейчас в теме
(15)ну,я думал да.по дате первого ЗаказаПокупателя как-то формировать,есть какой-то другой может вариант?
18. dhurricane 05.04.19 11:43 Сейчас в теме
(16) Вы меня таки запутали. :) Извините, если соображаю туго.

Давайте поступим так. Как я понимаю, таки в строках и колонках у Вас одни и те же периоды - даты заказа. Назовем это поле "Период". Тогда добавьте в колонки группировку "Период.ДатыНачала.НачалоМесяца". В строки добавьте ту же группировку "Период.ДатыНачала.НачалоМесяца", а ей в подчинение еще одну - "Контрагент". Перейдите к закладке условного оформления, добавьте один элемент. В качестве оформляемых полей укажите "Период.ДатыНачала.НачалоМесяца", в настройках оформления задайте формат "ДФ=yyyy-MM". Сформируйте отчет и скажите, получилось ли у Вас то, что нужно?
19. user817897 2 05.04.19 12:09 Сейчас в теме
(18) в итоге получилось что-то похожее,но немного не так, надо чтобы
в строке 2019-03 отображались только клиенты которые брали в этом месяце впервые
в строке 2019-02 отображались только клиенты которые брали в 2019-02 и естественно если были отгрузки то и отображаться будут и в 2019-03(так как период отчёта на сегодняшний день)
в строке 2019-01 отображались только клиенты которые брали в 2019-01 и естественно если были отгрузки то и отображаться будут и в 2019-03 и 2019-02(так как период отчёта на сегодняшний день)
и т.д.
Прикрепленные файлы:
20. dhurricane 05.04.19 12:21 Сейчас в теме
(19) Наконец в моей голове начинает складываться картинка. :) Сейчас подумаю. Не могли бы Вы дать мне текст запроса для отчета?
21. user817897 2 05.04.19 12:22 Сейчас в теме
22. user817897 2 05.04.19 12:23 Сейчас в теме
(20)
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВложенныйЗапрос.Организация КАК Организация,
	ВложенныйЗапрос.Проект КАК Проект,
	ВложенныйЗапрос.Подразделение КАК Подразделение,
	ВложенныйЗапрос.Покупатель КАК Покупатель,
	ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
	ВложенныйЗапрос.Номенклатура КАК Номенклатура,
	ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
	ВложенныйЗапрос.Регистратор КАК Регистратор,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация) КАК ОрганизацияПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Проект) КАК ПроектПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Подразделение) КАК ПодразделениеПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Покупатель) КАК ПокупательПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДоговорПокупателя) КАК ДоговорПокупателяПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ЗаказПокупателя) КАК ЗаказПокупателяПредставление,
	ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление,
	ВложенныйЗапрос.Период КАК Период,
	ВложенныйЗапрос.ПериодДень КАК ПериодДень,
	ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя,
	ВложенныйЗапрос.ПериодДекада КАК ПериодДекада,
	ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц,
	ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал,
	ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие,
	ВложенныйЗапрос.ПериодГод КАК ПериодГод,
	ВложенныйЗапрос.Количество КАК Количество,
	ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов,
	ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц,
	ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС,
	ВложенныйЗапрос.НДС КАК НДС,
	ВложенныйЗапрос.Стоимость КАК Стоимость,
	ВложенныйЗапрос.Себестоимость КАК Себестоимость,
	ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль,
	ВложенныйЗапрос.Эффективность КАК Эффективность,
	ВложенныйЗапрос.Рентабельность КАК Рентабельность,
	ВложенныйЗапрос.Стоимость КАК СтоимостьМинска
{ВЫБРАТЬ
	Организация.*,
	Проект.*,
	Подразделение.*,
	Покупатель.*,
	ДоговорПокупателя.*,
	Номенклатура.*,
	ХарактеристикаНоменклатуры.*,
	ЗаказПокупателя.*,
	Регистратор.*,
	Период,
	ПериодДень,
	ПериодНеделя,
	ПериодДекада,
	ПериодМесяц,
	ПериодКвартал,
	ПериодПолугодие,
	ПериодГод,
	Количество,
	КоличествоЕдиницОтчетов,
	КоличествоБазовыхЕдиниц,
	СтоимостьБезНДС,
	НДС,
	Стоимость,
	Себестоимость,
	ВаловаяПрибыль,
	Эффективность,
	Рентабельность}
ИЗ
	(ВЫБРАТЬ
		ВложенныйЗапрос.Организация КАК Организация,
		ВложенныйЗапрос.Проект КАК Проект,
		ВложенныйЗапрос.Подразделение КАК Подразделение,
		ВложенныйЗапрос.Покупатель КАК Покупатель,
		ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя,
		ВложенныйЗапрос.Номенклатура КАК Номенклатура,
		ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
		ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя,
		ВложенныйЗапрос.Регистратор КАК Регистратор,
		ВложенныйЗапрос.Период КАК Период,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
		НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод,
		СУММА(ВложенныйЗапрос.Количество) КАК Количество,
		СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов,
		СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц,
		СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС,
		СУММА(ВложенныйЗапрос.НДС) КАК НДС,
		СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость,
		СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость,
		ВЫБОР
			КОГДА &НеВключатьНДСВСтоимостьПартий
				ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
			ИНАЧЕ СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
		КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль,
		100 * ВЫБОР
			КОГДА &НеВключатьНДСВСтоимостьПартий
				ТОГДА ВЫБОР
						КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
							ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
						ИНАЧЕ 0
					КОНЕЦ
			ИНАЧЕ ВЫБОР
					КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0
						ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость)
					ИНАЧЕ 0
				КОНЕЦ
		КОНЕЦ КАК Эффективность,
		100 * ВЫБОР
			КОГДА &НеВключатьНДСВСтоимостьПартий
				ТОГДА ВЫБОР
						КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0
							ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
						ИНАЧЕ 0
					КОНЕЦ
			ИНАЧЕ ВЫБОР
					КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0
						ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьБезНДС) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
					ИНАЧЕ 0
				КОНЕЦ
		КОНЕЦ КАК Рентабельность
	{ВЫБРАТЬ
		Организация,
		Проект,
		Подразделение,
		Покупатель,
		ДоговорПокупателя,
		Номенклатура,
		ХарактеристикаНоменклатуры,
		ЗаказПокупателя,
		Регистратор,
		Период,
		ПериодДень,
		ПериодНеделя,
		ПериодДекада,
		ПериодМесяц,
		ПериодКвартал,
		ПериодПолугодие,
		ПериодГод}
	ИЗ
		(ВЫБРАТЬ
			ПродажиОбороты.Проект КАК Проект,
			ПродажиОбороты.Подразделение КАК Подразделение,
			ПродажиОбороты.Контрагент КАК Покупатель,
			ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя,
			ПродажиОбороты.Номенклатура КАК Номенклатура,
			ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
			ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
			ПродажиОбороты.Организация КАК Организация,
			ПродажиОбороты.Регистратор КАК Регистратор,
			ПродажиОбороты.Период КАК Период,
			ПродажиОбороты.КоличествоОборот КАК Количество,
			ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов,
			ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц,
			ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС,
			ПродажиОбороты.НДСОборот КАК НДС,
			ПродажиОбороты.СтоимостьОборот КАК Стоимость,
			ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость
		ИЗ
			РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Организация).* КАК Организация, (Проект).* КАК Проект, (Подразделение).* КАК Подразделение, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя}) КАК ПродажиОбороты
				ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
					ПродажиСебестоимость.Номенклатура КАК Номенклатура,
					ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
					ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
					ВЫБОР
						КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
							ТОГДА ПродажиСебестоимость.ДокументДвижения
						ИНАЧЕ ПродажиСебестоимость.Регистратор
					КОНЕЦ КАК Регистратор,
					СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
				ИЗ
					РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
				ГДЕ
					ПродажиСебестоимость.Период МЕЖДУ &НачалоПериода И &КонецПериода
				{ГДЕ
					ПродажиСебестоимость.Проект.* КАК Проект,
					ПродажиСебестоимость.Подразделение.* КАК Подразделение,
					ПродажиСебестоимость.Номенклатура.* КАК Номенклатура,
					ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
					ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя}
				
				СГРУППИРОВАТЬ ПО
					ПродажиСебестоимость.Номенклатура,
					ПродажиСебестоимость.ХарактеристикаНоменклатуры,
					ПродажиСебестоимость.ЗаказПокупателя,
					ВЫБОР
						КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
							ТОГДА ПродажиСебестоимость.ДокументДвижения
						ИНАЧЕ ПродажиСебестоимость.Регистратор
					КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость
				ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура)
					И (ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
					И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя)
					И ТаблицаРегистраПродажиСебестоимость.Регистратор = ТаблицаРегистраПродажиСебестоимость.Регистратор) КАК ВложенныйЗапрос
	
	СГРУППИРОВАТЬ ПО
		ВложенныйЗапрос.Организация,
		ВложенныйЗапрос.Проект,
		ВложенныйЗапрос.Подразделение,
		ВложенныйЗапрос.Покупатель,
		ВложенныйЗапрос.ДоговорПокупателя,
		ВложенныйЗапрос.Номенклатура,
		ВложенныйЗапрос.ХарактеристикаНоменклатуры,
		ВложенныйЗапрос.ЗаказПокупателя,
		ВложенныйЗапрос.Регистратор,
		ВложенныйЗапрос.Период
	
	ИМЕЮЩИЕ
		(СУММА(ВложенныйЗапрос.Количество) <> 0
			ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0
			ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0)) <> 0)) КАК ВложенныйЗапрос
{ГДЕ
	ВложенныйЗапрос.Регистратор.*,
	ВложенныйЗапрос.Период,
	ВложенныйЗапрос.ПериодДень,
	ВложенныйЗапрос.ПериодНеделя,
	ВложенныйЗапрос.ПериодДекада,
	ВложенныйЗапрос.ПериодМесяц,
	ВложенныйЗапрос.ПериодКвартал,
	ВложенныйЗапрос.ПериодПолугодие,
	ВложенныйЗапрос.ПериодГод,
	ВложенныйЗапрос.Количество,
	ВложенныйЗапрос.КоличествоЕдиницОтчетов,
	ВложенныйЗапрос.КоличествоБазовыхЕдиниц,
	ВложенныйЗапрос.СтоимостьБезНДС,
	ВложенныйЗапрос.НДС,
	ВложенныйЗапрос.Стоимость,
	ВложенныйЗапрос.Себестоимость,
	ВложенныйЗапрос.ВаловаяПрибыль,
	ВложенныйЗапрос.Эффективность,
	ВложенныйЗапрос.Рентабельность}
Показать
23. user817897 2 05.04.19 12:23 Сейчас в теме
(20)я его брал из Универсального отчёта.
24. user817897 2 05.04.19 12:26 Сейчас в теме
(20)вот группировки как визуально получились после (18) сообщения
Прикрепленные файлы:
25. dhurricane 05.04.19 13:00 Сейчас в теме +0.01 $m
(24) Мне жаль, но у меня нет хорошего решения Вашей задачи. Чтобы ее решить, требуется получить период первой детальной записи для каждого контрагента. Т.е. источник данных для периодов в строках и в колонках один (запрос), но тем не менее это должны быть разные поля.

Чтобы не бросать Вас наедине с проблемным отчетом, могу предложить кое-какое решение. Вам нужен еще один набор данных, который для каждого контрагента вернет дату начала заказов. По уму это должен быть тот же запрос к регистру "Продажи", что и в основном наборе, только с выборкой минимального периода. Однако далее я покажу более топорное решение, надеясь, что оно Вам подойдет. Если нет, возможно на основе его Вы сделаете нечто более стоящее.

Итак, добавьте второй набор-запрос со следующим текстом:
ВЫБРАТЬ
   Заказы.Контрагент КАК Контрагент,
   МИНИМУМ(Заказы.Дата) КАК ДатаНачалаЗаказов
ИЗ
   Документ.ЗаказПокупателя КАК Заказы
ГДЕ
   Заказы.Проведен
   И Заказы.Контрагент В(&МассивКонтрагентов)
   // какой-то еще отбор, например по периоду
   
СГРУППИРОВАТЬ ПО
	Заказы.Контрагент
Показать

Перейдите на закладку связей наборов, добавьте новую связь основного набора к вновь добавленному, связав их по контрагенту. В колонке "Параметр" выберите "МассивКонтрагентов" и поставьте рядом флажок "СписокПараметров".

Далее перейдите на закладку СКД "Параметры", найдите там автоматически добавленный параметр "МассивКонтрагентов". Поставьте ему флажок "Доступен список значений", убедитесь что флажок "Ограничение доступности" также установлен.

На закладке "Настройки" СКД в группировке строк таблицы вместо ранее добавленного "Периода" используйте новое поле "ДатаНачалаЗаказов". Настройте оформление нового поля.
user817897; +1 Ответить
26. user817897 2 05.04.19 14:04 Сейчас в теме
(25) очень круто и чётко описано,вроде всё сделал как надо,но при формировании отчёта выкидывает ошибку:
по причине:
Ошибка исполнения отчета
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка

Сейчас скину скрины как вышло всё,может я что-то не доуказал?
27. user817897 2 05.04.19 14:10 Сейчас в теме
(25)
Прикрепленные файлы:
28. user817897 2 05.04.19 14:10 Сейчас в теме
(25) я может что-то не указал?))
29. dhurricane 05.04.19 14:16 Сейчас в теме
(28) Выражение-источник на закладке связей.
30. user817897 2 05.04.19 14:19 Сейчас в теме
(29)а что там выбрать? ЗаказПокупателя?
31. dhurricane 05.04.19 14:20 Сейчас в теме
(30) Нет, контрагента. Добавьте его в запрос.
32. user817897 2 05.04.19 14:26 Сейчас в теме
(31)вроде отобразилась информация, а группировки правильные на фото?
Прикрепленные файлы:
33. dhurricane 05.04.19 14:30 Сейчас в теме
(32) Да, похоже на правду. Можно еще от даты начала заказов взять начало месяца.
35. user817897 2 05.04.19 14:31 Сейчас в теме
(33) хочу так сделать,но пишет такую ошибку

по причине:
Ошибка исполнения отчета
по причине:
Поле "Дата начала заказов" не может быть использовано в группировке "Дата начала заказов.Даты начала.Начало месяца"
36. user817897 2 05.04.19 14:31 Сейчас в теме
(35)ссори,не дочитал ошибку,убрал поле
37. dhurricane 05.04.19 14:33 Сейчас в теме
(35) Вы где-то добавили поле "Дата начала заказов" в отчет, а группируете по началу месяца. Так нельзя делать.
38. user817897 2 05.04.19 14:38 Сейчас в теме
(37)да,извините,не заметил.
Сформировал отчёт,воооообще круууто ,всё как и хотел,осталось только ззапомнить как это сделали и пойти купить книгу для обучения СКД)))
Спасибо огромное Вам!!!,у меня ещё один отчёт есть,надо его как-то ещё наклепать,буду пробовать брать за основу этого отчёта))Он с такими же вытекающими данными,сейчас ниже прилажу фото
прикрепляю скрин как получилось в этом отчёте)
Прикрепленные файлы:
39. user817897 2 05.04.19 14:45 Сейчас в теме
(37)вот такой сейчас буду пробовать делать,получится на основе этого отчёта?Думаю что получится,просто изменить оформление отчёта
Прикрепленные файлы:
40. user817897 2 05.04.19 14:48 Сейчас в теме
(37)а подскажите ещё пожалуйста, может вы знаете, как в отчёте СКД сделать график шире,а то они очень короткие и когда много точек то вообще каша получается ,не красивый график становится
Прикрепленные файлы:
41. dhurricane 05.04.19 14:55 Сейчас в теме
(40) К несчастью, с графиками работать не приходилось.
42. user817897 2 05.04.19 15:02 Сейчас в теме
(41)а я у кого как ни спрошу,чёт никто не подсказывает как расширить график(*(
UberElder; +1 Ответить
43. user817897 2 05.04.19 15:20 Сейчас в теме
(41) подскажи пожалуйста как мне как в (39) поступить?
Мне создать вычисляемые поля? или как?
44. dhurricane 05.04.19 15:25 Сейчас в теме
(43) А что за данные в "ПродажиНовымПокупателям" и "ПродажиСтарымПокупателям"?
45. user817897 2 05.04.19 15:35 Сейчас в теме
(44)новые это как раз то что мы видим из списка отчёта которые делали(то есть те что ниже те и новые),тобишь справа в углу сумма это сумма новых покупателей.
Прикрепленные файлы:
46. dhurricane 05.04.19 15:38 Сейчас в теме
(45) Тогда думаю, что все получится и на основе сделанного отчета.
47. user817897 2 05.04.19 15:39 Сейчас в теме
(46) то есть вычисляемые поля создавать не нужно?
48. dhurricane 05.04.19 15:41 Сейчас в теме
(47) Для разделения на старых и новых конечно же нужно.
49. user817897 2 05.04.19 15:47 Сейчас в теме
(48)Для новых контрагентов : Выбор когда Датаначалазаказов.Датыначала.Началомесяца = Период.Датыначала.Началомесяца тогда стоимость иначе 0 Конец
Для старых контрагентов: ?
Или вообще бред пишу?
или можно как-то проще ?
51. dhurricane 05.04.19 16:00 Сейчас в теме
(49) К сожалению, через точку так не получится. Это работает для выбранных полей.

Нужно либо в запросе сразу получить дату как начало месяца:
НачалоПериода(Период, Месяц)

либо уже в вычисляемом поле приводит к началу:
НачалоПериода(Период, "Месяц")

либо в вычисляемом поле можно посчитать разницу в месяцах и сравнить ее с 0:
РазностьДат(Период, ДатаНачалаЗаказов, "Месяц")
52. user817897 2 05.04.19 16:40 Сейчас в теме
(51)как лучше решить эту задачу?
53. dhurricane 05.04.19 18:27 Сейчас в теме
(52) Так Вы все верно стали делать. Выражение вычисляемого поля:
ВЫБОР
   КОГДА РАЗНОСТЬДАТ(Период, ДатаНачалаЗаказов, "МЕСЯЦ") = 0
   ТОГДА Стоимость
   ИНАЧЕ 0
КОНЕЦ
54. user817897 2 09.04.19 14:42 Сейчас в теме
(53)Супер,спасибо огромнейшее,так получилось вывести как раз))
50. user817897 2 05.04.19 15:55 Сейчас в теме
(48)или можно просто взять и развернуть этот отчёт как-то по другому чтобы получился новый?)
34. user817897 2 05.04.19 14:30 Сейчас в теме
(31)надо сгруппировать как-то правильно дата начала заказа
55. user817897 2 09.04.19 16:26 Сейчас в теме
(25)спасибо огромное за помощь)
17. user817897 2 05.04.19 11:28 Сейчас в теме
(15)что в итоге можно придумать?
5. user817897 2 05.04.19 10:10 Сейчас в теме
(2)У меня такое ощущение что нужно создать вычисляемое поле и вычислять там наверно последнюю отгрузку контрагента и потом как-то выводить в отчёт?!
4. Shurik_M 2 05.04.19 10:07 Сейчас в теме
Попробуйте при создании нового Клиента в комментариях написать дату регистрации и в отчете попробуйте сортировать по комментарием (т.е. по возр. или по убыв.).
6. user817897 2 05.04.19 10:11 Сейчас в теме
(4) вообще не вариант,у меня уже создано нн-ое количество контрагентов,и мне нет возможности каждому сейчас перепрописать комментарий
56. user817897 2 10.11.20 13:35 Сейчас в теме
Спасибо всем, Тема закрыта.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот