СКД: Кол-во продаж номенклатуры

1. XelOla 17 29.05.17 07:11 Сейчас в теме
Здравствуйте!
как можно сделать следующее, пусть есть заказ покупателя со статусом Новый и Выполнен, в нем есть номенклатура.
Надо посчитать, сколько раз за выбранный период заказывали номенклатуру.
Нулевое - единожды вообще в базе. Один раз - один раз за выбранный период. Много - более одного раза за выбранный период. Ну и по статусам раскидать.
Конфа самописная.
Зачем надо лучше не спрашивать.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user731414 42 29.05.17 07:40 Сейчас в теме
Пишешь запрос в котором находишь количество номенклатуры, которая содержится за этот период. Потом в СКД создаешь вычисляемое поле, где в зависимости от условий в него выводишь нужное значение(0,1 или много)
+
3. XelOla 17 29.05.17 09:30 Сейчас в теме
(2)
не поняла.
ведь количество будет целым за период, как потом вычислить, сколько заказано в периоде, единожды или много?
+
4. user731414 42 29.05.17 09:36 Сейчас в теме
Пример:
Вот вы получили из запроса за январь такие строки
1) Номенклатура 1 - 7 раз
2) Номенклатура 2 - 1 раз
3) Номенклатура 3 - 2 раза

В вычисляемом поле в строке с номенклатурой 1 будет значение "Много"
В вычисляемом поле в строке с номенклатурой 2 будет значение "Один раз"
В вычисляемом поле в строке с номенклатурой 3 будет значение "Много"
+
5. XelOla 17 29.05.17 09:40 Сейчас в теме
6. user731414 42 30.05.17 07:55 Сейчас в теме
7. XelOla 17 06.06.17 17:03 Сейчас в теме
(6)
нет)
ни как не разберусь
Значит у меня регистр сведений
ВЫБРАТЬ
	ВЫБОР
		КОГДА НЕ РСЗаказы.ДокументВыполнения = НЕОПРЕДЕЛЕНО
							ТОГДА РСЗаказы.Клиент
	КОНЕЦ КАК Клиент,
	СУММА(ВЫБОР
			КОГДА НЕ РСЗаказы.ДокументВыполнения = НЕОПРЕДЕЛЕНО
					
				ТОГДА 1
		КОНЕЦ) КАК Поле1
ИЗ
	РегистрСведений.Заказы КАК РСЗаказы
Показать

если заказ выполнен, то документвыполенения (2разных значения) заполнен
РСЗаказы = никакущий, непериодический и независимый
Еще есть ДатаВыполнения в регистре.
Как посчитать, если дата выполнения единожды по клиенту, то нулевой, если дат выполнения одна за период ( на форме выбирать) то первичный, если дата выполнения дважды,3-4-5 и тд то повторный в периоде. Период - год календарный.
+
8. herfis 498 06.06.17 17:09 Сейчас в теме
ВЫБРАТЬ 
     Заказы.Номенклатура,
     КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР КОГДА Заказы.ДокументВыполнения <> НЕОПРЕДЕЛЕНО ТОГДА Заказы.ДокументВыполнения ИНАЧЕ NULL КОНЕЦ) КАК КвоЗаказов
.........
СГРУППИРОВАТЬ ПО Заказы.Номенклатура
+
10. XelOla 17 06.06.17 21:46 Сейчас в теме
(8)
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР КОГДА Заказы.ДокументВыполнения <> НЕОПРЕДЕЛЕНО ТОГДА Заказы.ДокументВыполнения ИНАЧЕ NULL КОНЕЦ) КАК КвоЗаказов

отлично,
но во первых, есть "пустые" клиенты, когда документа выполнения нет
во вторых, а как посчитать, сколько раз клиент в документах выполнения.
+
12. herfis 498 07.06.17 09:19 Сейчас в теме
(10)
1) я не в курсе вашей специфики. И как нужно в этом случае считать?
2) ну так по группировке "клиент" ресурс и покажет искомое
+
9. herfis 498 06.06.17 17:17 Сейчас в теме
Ежели в СКД, то формула ресурса такая и будет, а нужное представление через формулу представления сделать.
+
11. kot30688 3 07.06.17 06:24 Сейчас в теме
Добрый день! А опишите что там в регистре Заказы у вас? И еще вот это поясните:
если дата выполнения единожды по клиенту, то нулевой, если дат выполнения одна за период ( на форме выбирать) то первичный
- не понятно, что значит единожды и одна за период (не одно и то же?). Тут поможет функция в запросе
Количество(Различные ДатаВыполнения) 
Что-то типа
Выбор когда Количество(Различные ДатаВыполнения)  = 0 Тогда "Нулевой"
Когда Количество(Различные ДатаВыполнения)  = 1 Тогда "Первичный"
Иначе "Вотричный" Конец 
+
13. XelOla 17 07.06.17 12:27 Сейчас в теме
(11)
Выбор когда Количество(Различные ДатаВыполнения) = 0 Тогда "Нулевой"
Когда Количество(Различные ДатаВыполнения) = 1 Тогда "Первичный"
Иначе "Вотричный" Конец

нулевой - разово вообще в жизни базы,
первичный - один раз за выбранный на форме период,
вторичный - более одного раза за выбранный на форме период.

что в рег.сведений Заказы - непериодический, независимый
Измерения - уник.идентификаторЗаказа
Реквизиты - До-тВыполнения, Клиент, Датавыполнения ну и остальное, вообще к задаче неимеющее отношения.
+
14. kot30688 3 08.06.17 03:05 Сейчас в теме
(13)
нулевой - разово вообще в жизни базы,
первичный - один раз за выбранный на форме период,
вторичный - более одного раза за выбранный на форме период.

Ну, собственно, то что и написал поможет. Можно, да наверно и лучше, сделать вот как:
ВЫБРАТЬ
	тчТовары.Номенклатура,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Заказы.ДатаВыполнения) КАК ДатаВыполнения,
ИЗ
	Документ.ЗаказКлиента.Товары КАК тчТовары
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Заказы КАК Заказы
		ПО тчТовары.Номенклатура = Заказы.Номенклатура

СГРУППИРОВАТЬ ПО
	тчТовары.Номенклатура
ГДЕ
	тчТовары.Ссылка = &Ссылка 
Показать

Этот запрос поможет посчитать сколько раз заказывали номенклатуру в определенном заказе.
Думаю дальше сами поймете как прикрутить сюда статусы, клиентов и прочую инфо
+
Внимание! Тема сдана в архив

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