|
Прошу помощи с запросом | ☑ | ||
---|---|---|---|---|
0
Rounder
25.02.13
✎
11:52
|
Возможно ли такое вообще сделать с помощью запроса?
Есть справочник Номенклатура, есть план видов характеристик СвойстваОбъектов, есть регистр сведений ЗначенияСвойствОбъектов. Т.о. у каждой номенклатуры есть определенный набор свойств (допустим, что этот набор одинаков для каждой номенклатуры, различны только значения свойств) Как получить список - где в одной плоскости с реквизитами лягут и все свойства номенклатуры: Наименование Вид Код Свойство1 Свойство2 Свойство3 ... |
|||
1
Волшебник
25.02.13
✎
11:53
|
на каждое свойство нужно отдельное левое соединение
|
|||
2
Fragster
гуру
25.02.13
✎
11:53
|
при выводе ты ты можешь таколей получить запросто. а не при выводе оно нафиг не надо
|
|||
3
Волшебник
25.02.13
✎
11:53
|
условие соединения: номенклатура = номенклатура и вид свойства = &нужное
|
|||
4
Kom-off
25.02.13
✎
11:53
|
Если набор свойств известен и заранее определен, то самый простой способ организовать на получение каждого свойства свое левое соединение к РС.ЗначенияСвойствОбъектов. Сколько колонок со свойствами, столько и левых соединений.
|
|||
5
Fragster
гуру
25.02.13
✎
11:55
|
а если свойств 500, то можно запустить отчет и пойти обедать, например
|
|||
6
Тролль главный
25.02.13
✎
11:55
|
а зачем все это?
|
|||
7
Rounder
25.02.13
✎
11:56
|
(6) Нужно для каждого вида номенклатуры иметь свой динамический список.
|
|||
8
IVT_2009
25.02.13
✎
11:58
|
То же самое решал через левосторонний запрос. Надо было в линейку положить емкость , крепость и производителя. Тормознуто как то получилось только.
ПостроительОтчета.Текст = "ВЫБРАТЬ | Номенклатура.Наименование, | Номенклатура.Ссылка |ПОМЕСТИТЬ Товар |ИЗ | Справочник.Номенклатура КАК Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияСвойствОбъектов.Значение, | ЗначенияСвойствОбъектов.Объект.Ссылка |ПОМЕСТИТЬ Емкость |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство.Наименование = ""Емкость"" |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияСвойствОбъектов.Значение, | ЗначенияСвойствОбъектов.Объект.Ссылка |ПОМЕСТИТЬ Крепость |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство.Наименование = ""Крепость"" |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияСвойствОбъектов.Значение, | ЗначенияСвойствОбъектов.Объект.Ссылка |ПОМЕСТИТЬ Производитель |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство.Наименование = ""Производитель"" |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | Штрихкоды.Штрихкод, | Штрихкоды.Владелец.Ссылка |ПОМЕСТИТЬ ШК |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товар.Ссылка.Ссылка КАК Товар, | ВЫРАЗИТЬ(Емкость.Значение как ЧИСЛО(15,2)) как Емкость, | ВЫРАЗИТЬ(Крепость.Значение КАК ЧИСЛО(15,2)) КАК Крепость, | Производитель.Значение КАК Производитель, | ШК.Штрихкод |ИЗ | Товар КАК Товар | ЛЕВОЕ СОЕДИНЕНИЕ Емкость КАК Емкость | ПО Товар.Ссылка = Емкость.ОбъектСсылка | ЛЕВОЕ СОЕДИНЕНИЕ Крепость КАК Крепость | ПО Товар.Ссылка = Крепость.ОбъектСсылка | ЛЕВОЕ СОЕДИНЕНИЕ Производитель КАК Производитель | ПО Товар.Ссылка = Производитель.ОбъектСсылка | ЛЕВОЕ СОЕДИНЕНИЕ ШК КАК ШК | ПО Товар.Ссылка = ШК.ВладелецСсылка"; ПостроительОтчета.Выполнить(); ПостроительОтчета.Вывести(); |
|||
9
Kom-off
25.02.13
✎
11:59
|
(5) Во всем надо знать меру. И вообще, программирование - поиск компромисов.
|
|||
10
Rounder
25.02.13
✎
12:00
|
т.е. иных вариантов нету?
|
|||
11
Web00001
25.02.13
✎
12:01
|
В СКД можно вывести данные в таблицу, то есть сделать макет, который на основании входных данных делает отчет и вывести его в таблицу значений.
|
|||
12
dimannazarov
25.02.13
✎
12:05
|
||||
13
GANR
25.02.13
✎
12:05
|
(0) В запросах СКД есть ХАРАКТЕРИСТИКА, а СКД можно при желании кодом собрать. Как отладить СКД см. сообщение № 5 в ветке v8: СКД: изсчезают ВыранныеПоля. В книге Радченко написано как это сделать с помощью построителя.
|
|||
14
Web00001
25.02.13
✎
12:06
|
(11) СКД -> Вывод в кросстаблицу - сохранение результатов в таблице значений. Макет СКД прикрепить к обработке. У меня так история продаж сделано по всем складам, заранее сказать по каким складам были продажи нельзя ведь. А так получается в каждой колонке отдельный склад, по которому были продажи.
|
|||
15
Fragster
гуру
25.02.13
✎
12:09
|
(13) характеристика, это по сути левое соединение, причем их количество как раз по количеству разных характеристик.
|
|||
16
Rounder
25.02.13
✎
12:12
|
Всем спасибо. Буду пробовать. Не исключено что вернусь к этой теме.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |