Имя: Пароль:
1C
1С v8
Доп. свойства объекта в одну строку.
0 belas
 
07.03.14
06:54
Коллеги, добрый  день..
Подсобите плиз...

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

Результат  запроса  будет выглядеть так, в  зависимости  от колическа дополнительных свойств..
Номенклатура 1    Свойвсто 1     Значение св-ва 1
Номенклатура 1    Свойвсто 2    Значение св-ва 2
Номенклатура 1    Свойвсто 3    Значение св-ва 3
…..        
Номенклатура 2    Свойвсто 1     Значение св-ва 1
Номенклатура 2    Свойвсто 2    Значение св-ва 2
Номенклатура 2    Свойвсто 3    Значение св-ва 3

Не могу  никак додуматься как ОДНИМ запросом  получить  результат в  таком виде. Подсобите..!:

Номенклатура 1    Свойвсто 1     Значение св-ва 1    Свойвсто 2    Значение св-ва 2    Свойвсто 3    Значение св-ва 3
Номенклатура 2    Свойвсто 1     Значение св-ва 1    Свойвсто 2    Значение св-ва 2    Свойвсто 3    Значение св-ва 3
1 Wobland
 
07.03.14
06:54
а никак
2 SeraFim
 
07.03.14
06:55
Свой в двести! =)
3 belas
 
07.03.14
07:09
(2) Не понял :)
4 Cube
 
07.03.14
07:18
(0) Если свойства для всей номенклатуры одинаковые, то просто: состряпать таблицу свойств (без значений), а потом объединить её с таблицей номенклатуры и таблицами значений свойств.
Если свойства для каждой позиции свои, то по-сложнее, но, думаю, тоже можно.
5 Wobland
 
07.03.14
07:19
(4) пустые пропускать будем?
6 Cube
 
07.03.14
07:19
(0) Я правильно понимаю, что имеется ввиду в одну строку таблицы (в разные ячейки), а не в одну строку ячейки таблицы?
7 Cube
 
07.03.14
07:21
(5) Всё зависит от задачи. Но, при любой реализации этой задачи в запросе, не получится сделать количество свойств динамическим...
8 kosts
 
07.03.14
07:30
Так попробуй

ВЫБРАТЬ
Номенклатура.Ссылка,
Максимум(Выбор когда ДополнительныеСведения.Свойство = &Свойство1 Тогда ДополнительныеСведения.Значение Иначе Неопределено Конец) как Значение1,
Максимум(Выбор когда ДополнительныеСведения.Свойство = &Свойство2 Тогда ДополнительныеСведения.Значение Иначе Неопределено Конец) как Значение2
ИЗ
Справочник.Номенклатура КАК Номенклатура
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
ПО Номенклатура.Ссылка = ДополнительныеСведения.Объект.Ссылка
сгруппировать по Номенклатура.Ссылка
9 belas
 
07.03.14
07:32
(6) да, всё правильно.
(7) а если  количество все-же известно заранее ?
10 belas
 
07.03.14
07:35
(8) а  имя  свойства  как  тогда получить ?
11 kosts
 
07.03.14
07:37
(10) Заранее должно быть известно, уже сказали, что динамически не сделать...
12 Defender aka LINN
 
07.03.14
07:40
(7) СКД
13 Cube
 
07.03.14
07:44
(12) Что "СКД"?
Симметричный ответ - 1С!
14 Defender aka LINN
 
07.03.14
07:45
(13) Тебе - ничего.
15 Cube
 
07.03.14
07:46
(9) "а если  количество все-же известно заранее ?"
Тогда проще. Можно сделать нужное количество соединений в запросе и/или нужное количество ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ
16 Cube
 
07.03.14
07:47
(9) Свойства для всей номенклатуры одинаковые или нет?
17 belas
 
07.03.14
07:49
(16) Свойства  одинаковые.
18 Wobland
 
07.03.14
07:51
(17) это сейчас?
19 Cube
 
07.03.14
07:51
(17) Ну, если свойства одинаковые и количество их заранее известно, то вариант (8) самый простой. Можно заморочиться и сделать выбор ограниченного количества свойств динамически, но надо ли?
20 Cube
 
07.03.14
07:52
(17) Вообще, пора бы озвучить цель - для чего нужна такая выборка? Где она будет использована?
21 belas
 
07.03.14
08:23
(20) Элементарно. В БП 3.0 насоздавал доп. реквизитов и сведений  к справочникам, нужен отчет  в  котором  они  будут  отображены.
Делать  это  хочу  в СКД, поэтому и  нужно  знать как  это  загнать в  запрос.
22 Wobland
 
07.03.14
08:27
а не хочешь узнать, как это сделать в СКД?
23 Cube
 
07.03.14
08:28
(22) +100))
24 Cube
 
07.03.14
08:29
(12) Телепат.
25 belas
 
07.03.14
08:30
(22) очень хочу... расскажешь ? :)
26 Wobland
 
07.03.14
08:31
(25) только после "фу на тебя" за постановку задачи. фу на тебя
27 Wobland
 
07.03.14
08:32
28 belas
 
07.03.14
08:35
(27) :) спасибо.
29 Cube
 
07.03.14
08:43
(27) Что-то ты не то запостил))
30 Cube
 
07.03.14
08:46
(25) Делаешь запрос с колонками:
1. Номенклатура
2. Свойство
3. Значение свойства.

Скармливаешь его СКД.
И в настройках СКД на последней закладке делаешь таблицу:
В группировки строк - номенклатуру
В группировки колонок - свойство
В выбираемые поля - значение свойства.

Значение свойства в ресурсы не забуль запихать...
31 Aprobator
 
07.03.14
09:06
(24) это не телепатия, это опыт.
32 belas
 
07.03.14
14:03
(30) срабатывает только с числовыми значениями свойств.
33 Aprobator
 
12.03.14
10:47
(32) ЗначениеСвойства в ресурсы пихай через формулу Максимум, а не Сумма.
AdBlock убивает бесплатный контент. 1Сергей