Имя: Пароль:
1C
1С v8
Вопрос по выборке данных
, ,
0 r1000
 
19.01.18
18:27
Есть потребность в хитрой выборке данных. Не могу понять как сделать. Помогите пжлста.
Есть регистр, в котором на группы номенклатуры ставим вносятся наценки, НО только на группы.
И вот нужно в отчете вывести значения наценок не только на эти группы, но и на все вложенные группы и элементы. Я могу соеденить 2 таблицы (РС и справочник), но понятно, что наценки будут показаны только для тех группы, которые есть в РС. А как вот вычислить наценки для вложенных элементов. Накидал пример в экселе, как мне нужно сделать.
https://ibb.co/dfTnOb
1 Вафель
 
19.01.18
18:28
соедини еще раз со справочником по полю родитель
2 r1000
 
19.01.18
18:31
через "или" ? пробовал, но тогда значения наценок выдает от "фанаря", т.к. условия соединения могут выполняться одновременно.
3 r1000
 
19.01.18
18:33
ПО СпрНоменклатура.Ссылка = Наценки.Номенклатура ИЛИ СпрНоменклатура.Ссылка.Родитель = Наценки.Номенклатура ИЛИ ...
4 breezee
 
19.01.18
20:51
(0) А как пробовали? Сложно в уме прикинуть, но я бы вывел элемент и штук 5 родителей(по рекомендации 1С) а потом сделал 5 запросов через ОБЪЕДИНИТЬ (без ВСЕ) где связывал по родителю в 1 запросе, по родителю родителя во 2 и т.д. Через ИЛИ лучше не делать, там индекс(ВРОДЕ) не отрабатывает и запрос медленно будет работать
5 breezee
 
19.01.18
20:52
(2) АААА, типо у вас есть
   родитель 50%
     родитель2 20%
          номенклатура -
Вот так? То есть скидки надо брать на последнюю группу, где установлена наценка внутри иерархии?
6 r1000
 
22.01.18
09:18
(5)Да. Именно так. Приоритет имеет скидка, которая установлена для вложенного элемента.
7 r1000
 
22.01.18
09:23
Может быть выгрузить в дерево и потом обойти ? Только вот номенклатуры у нас порядка 30 тыс элементов. долго...
8 r1000
 
22.01.18
10:51
Подниму. Может быть есть идеи ?
9 Darych
 
22.01.18
11:00
в иерархии по элементу РС номенклатура.родитель - получаешь процент
10 Darych
 
22.01.18
11:00
*по группе из РС
11 SpellKeeper
 
22.01.18
11:02
А если при заведении данных по наценкам сразу анализировать, на какую номенклатуру она распространяется и записывать эти данные в регистр.
Тогда в запросе все становится проще.
Не вариант?
12 r1000
 
22.01.18
11:06
(11)Вариант конечно, но уж слишком кривой. Просто не хочется хранить в регистре тысячи записей, да потом еще и ворошить при изменениях.
13 SpellKeeper
 
22.01.18
11:09
А чем он кривой?
Тысячи не миллионы.
А так будешь дрючиться с хитровывернутым запросом. У него еще и скорость будет никакая.
14 r1000
 
22.01.18
11:09
(10)В этом случае не показывает вложенных в группу элементов. Просто группу выводит со скидкой, без элементов.
15 Darych
 
22.01.18
11:12
(12) в условии ж .родитель в иерархии
16 Darych
 
22.01.18
11:12
(15)->(14)
17 r1000
 
22.01.18
11:14
(15)Да. Но нужны еще элементы все.
18 Darych
 
22.01.18
11:14
(17) а.. понял.. думал по опр группам
19 r1000
 
22.01.18
11:16
Ну да. получается что основной запрос нужно сделать к справочнику, чтобы получить всех. А дальше уже пристыковать...
20 LordCMEPTb
 
22.01.18
11:17
В свое время делал похожее через программное формирование запроса.
Сначала получал в 1ю ВТ нужные группы, далее по http://catalog.mista.ru/public/158512/ для полученных групп выбирал элементы.
21 Borteg
 
22.01.18
11:18
(0) Посмотри как сделано в БП3.0 Счета учета
22 r1000
 
22.01.18
11:21
(21)Что именно смотреть ?
23 Borteg
 
22.01.18
11:30
(22) там тоже можно для группы номенклатуры счета учета задавать, для номенклатуры, у счетов учета для номенклатуры приоритет выше. Есть модуль счетаучета где выполняется как раз иерархическое получение счетов учета для группы,  для вложенных групп для номенклатуры и в зависимости от приоритетов выбираются те счета, которые надо подставить.
24 r1000
 
22.01.18
18:55
(23)Да. Нормально получилось. Спасибо.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс