|
Запрос по родительским группам с приоритетом | ☑ | ||
---|---|---|---|---|
0
Kozitsyn
07.12.16
✎
10:02
|
Всем привет!
Подскажите, пожалуйста, есть простой запрос по остаткам товаров на складах через СКД, пришил к нему доп. колонку "Опция", которая должна отобразить последнее значение из регистра "УстановкаПроектовДляНоменклатуры", но проблема в том, что это значение Опции может быть установлено как непосредственно у самой номенклатуры, так и у любой её родительской группы. Задача стоит в том, чтобы вывести последюю Опцию, но с приоритетом последнего значения, которое установлено в группе по иерархии ближе к номенклатуры или в самой номенклатуре. Сделал что-то типа такого (но такой запрос дублирует номенклатуру, если Опция встречается как у самой номенклатуры, так и у ее ближайшего родителя, не говоря еще том, чтобы запрос смотрел на всю иерархию, а очень нужно..): ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад, ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения, ТоварыНаСкладахОстатки.КоличествоОстаток, УстановкаПроектовДляНоменклатурыСрезПоследних.Сумма_ЦПВ КАК Опция ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних КАК УстановкаПроектовДляНоменклатурыСрезПоследних ПО (ТоварыНаСкладахОстатки.Номенклатура = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта ИЛИ ТоварыНаСкладахОстатки.Номенклатура.Родитель = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта) |
|||
1
Мимохожий Однако
07.12.16
✎
10:07
|
Сделай объединение запросов по номенклатуре и родителям.
|
|||
2
Kozitsyn
07.12.16
✎
10:24
|
Пробую капать в сторону объединения, но теперь он всё дублирует )) направьте, пожалуйста, на путь истинный
ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад, ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения, ТоварыНаСкладахОстатки.КоличествоОстаток, УстановкаПроектовДляНоменклатурыСрезПоследних.Сумма_ЦПВ КАК Опция ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних КАК УстановкаПроектовДляНоменклатурыСрезПоследних ПО ТоварыНаСкладахОстатки.Номенклатура = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад, ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура.БазоваяЕдиницаИзмерения, ТоварыНаСкладахОстатки.КоличествоОстаток, УстановкаПроектовДляНоменклатурыСрезПоследних.Сумма_ЦПВ ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних КАК УстановкаПроектовДляНоменклатурыСрезПоследних ПО ТоварыНаСкладахОстатки.Номенклатура.Родитель = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта |
|||
3
DrShad
07.12.16
✎
11:00
|
так тебе не регистр с регистром объединять надо
|
|||
4
МихаилМ
07.12.16
✎
11:30
|
https://yandex.ru/yandsearch?text=получить%20родителей%20запрос&site=forum.mista.ru&lr=213&redircnt=1481099298.1
но сама концепция неправильная . храните однозначные соответствия . лучше в отдельно стоячей таблице (регистре) |
|||
5
Kozitsyn
07.12.16
✎
12:02
|
(4) Да, вы правы, проще всего сделать отдельный регистр где уже будут все нужные соответствия, а отчетом просто брать от туда данные. И отчет будет быстро формироваться. Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |