Имя: Пароль:
1C
1С v8
Группировка данных по множеству элементов
,
0 Powerfool
 
20.03.14
06:23
Задача для самых творческих :) или самых опытных Х)
Надо сгруппировать данные по продажам определенной номенклатуры. Но вот "определенная номенклатура" - это не один элемент, а несколько. Тоесть надо получить данные по продажам группы товаров (например, веники вместе с совками, отдельно веники и отдельно совки не рассматриваю) и сделать это в запросе.
1 Beduin
 
20.03.14
06:27
Выбрать
"ОпределеннаяНоменклатура"
ИЗ РегистрНакопления.ОборотыТоваров.Обороты(,,Товар в &СписокНоменклатуры)
2 Powerfool
 
20.03.14
06:32
(1) Тогда я получаю продажу всех товаров в &СписокНоменклатуры всете и по отдельности, а мне надо продажи только когда в течение периода &Период (например квартала) были продажи товаров из &СписокНоменклатуры ВСЕХ ВМЕСТЕ!
Пример:
1 квартал: Продали веники
2 квартал: Продали совки
3 квартал: Продали веники и совки

Надо вывести продажи только за 3 квартал
3 Beduin
 
20.03.14
06:40
(2) Поле "ОпределеннаяНоменклатура" это текст. Там будут аккумулироваться данные из отбора
4 Powerfool
 
20.03.14
06:43
(3) Не понял. напиши как это в виде запроса выглядит. Запрос из (1) - не рабочий, а как выглядит рабочий?
5 Powerfool
 
20.03.14
06:46
Вообще я себе представляю задачу как поиск подмножества в множестве. Есть у нас таблица с продажами: в два столбца - в первом квартал - во втором номенклатура. Надо найти в этой таблице такие элементы, у которых номенклатура целиком из другой таблицы (назовем её &СписокНоменклатуры) а кварталы совпадают
6 Powerfool
 
20.03.14
06:47
(5) Но с условием что размер таблицы &СписокНоменклатуры заранее неизвестен
7 Мутабор
 
20.03.14
06:54
Веники и совки это не по номенклатуре группировка, а по периоду, а есть ли в периоде и то и другое это условие. Только смысл понять что продано 30 веников и совков, если там 29 веников и 1 совок.... Проверяй в условии что в документе есть и то и другое раз уж так хочешь. Но сам отчет полностью тупой, ничего не говорит...
8 Powerfool
 
20.03.14
07:00
(7) В документе не получится, так как веники и совки могли быть проданы в разных документах. А отчет нужен для классификации товарных групп, чтоб маркетологи дальше ценами игрались
9 Powerfool
 
20.03.14
07:02
(7) "а есть ли в периоде и то и другое это условие." Согласен! Только это сложное условие, так как "и то и другое", может состоять не из 2 штук а например из 22
10 Powerfool
 
20.03.14
07:08
вира
11 Powerfool
 
20.03.14
07:19
Что все зубры, которые вечно бьют себя в грудь когда на их компетенции покушаются уже повымерли? Ваш шанс показать класс так и пропадет никому не доставшись
12 ИС-2
 
naïve
20.03.14
07:41
нарисуй в эксле что есть на входе и что надо получить на выходе. В моем понимании задача простая - надо группировку по номенклатуре вывести в одну строки
1 квартал. Веники, совки, лопаты 10 шт
2 квартал. Веники, лопаты 20 шт
3 квартал. Лопаты, совки 20 шт
13 hhhh
 
20.03.14
07:50
(11) 20000
14 Powerfool
 
20.03.14
07:50
на входе регистр с продажами
на выходе информация из этого регистра (например цены) проданных за период групп товаров (веники и совки). При этом на выходе не надо выводить продажи в периоды где не было продаж веников и совков, были продажи только веников и были продажи только совков. на выходе нужны продажи только в те периоды, когда за период были проданы и веники и совки одновременно
15 Powerfool
 
20.03.14
07:50
(13) в драхмах я надеюсь :)
16 Powerfool
 
20.03.14
07:59
(13) Я признаться честно уже кое что придумал, пока обсуждал советы и вопросы остальных, но говорить чего именно пока не стану. Жду что мне кто нибудь расскажет вариант попроще и получше (p.s. 20К - не считается вариантом попроще, ибо эти 20К ещё получить надо, а "чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь не нужное, а у нас денег нет")
17 Мутабор
 
20.03.14
08:03
Группировка период, условие есть лопаты и совки в периоде. Что еще нужно?
18 Powerfool
 
20.03.14
08:04
(14) Ещё один пример:
1 квартал: продали совков на 10 р.
2 квартал: продали веников на 15 р.
3 квартал: продали совков на 12 р. и веников на 18 р.

Итог по продажам группы "Веники и совки":
1 квартал: 0 р.
2 квартал 0 р.
3 квартал 30 р.
19 Powerfool
 
20.03.14
08:04
(17) Нужно чтобы ты прочитал (6) и (9)
20 Мутабор
 
20.03.14
08:11
(19) создавай условие программно. В чем проблема запрос самому создать по условиям.
21 Мутабор
 
20.03.14
08:12
+21 Я две тз кидал в запрос, в тексе писал
#1
#2
и в зависимости от ТЗ заменял их на свое условие.
22 dnab
 
20.03.14
08:15
Вроде ж в 1с есть механизм анализа данных и поиска ассоциаций?
См. объект АнализДанных.
Сам не пользовался
23 Powerfool
 
20.03.14
08:15
(20) Ну вот и я уже так тоже подумал, что надо программно формировать запрос. Только интуиция мне подсказывает что этот способ какой то кривой. Ресурсоемкий он очень, так как мне надо будет лопатить базу каждый раз создавая новый запрос. Я думал, что есть вариант сделать такое прямо внутри запроса (ну встроенными процедурами короче)
24 Powerfool
 
20.03.14
08:16
(22) Есть, но это немного не в ту степь. Я пользовался