Имя: Пароль:
1C
1С v8
Запрос номенклатура+свойства из планов характеристик
0 Дурындина
 
23.04.14
12:21
И снова здравствуйте! Я все еще не оставляю попыток постигнуть тайный мир программирования в 1с!
Мне нужен запрос, который выводит номенклатуру и все свойства из планов Видов характеристик, примерно так
номенклатура1
   свойство1
   св2
   св3
номенклатура1
   свойство1
   св2
   св3
1 Рэйв
 
23.04.14
12:34
не оно?

//------
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Объект КАК Объект,
    ЗначенияСвойствОбъектов.Свойство,
    ЗначенияСвойствОбъектов.Значение
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ЗначенияСвойствОбъектов.Свойство = &Свойство
    И ЗначенияСвойствОбъектов.Значение = &Значение

УПОРЯДОЧИТЬ ПО
    Объект
2 Рэйв
 
23.04.14
12:35
условие можно убрать
3 Wobland
 
23.04.14
12:35
(2) изменить. где объект ссылка номенклатура
4 Рэйв
 
23.04.14
12:37
(3)Ну да. Это я из своей древней обработки скопипастил
5 Дурындина
 
23.04.14
12:41
да, это вполне себе так, но если значение свойства пустое, то записи не будут выведены, а мне нужно чтобы выводилась номенклатура со свойством и пустым значением
6 Wobland
 
23.04.14
12:42
(5) это кто такое придумал? Нина Добрев?
7 Wobland
 
23.04.14
12:43
(6) я про "но если значение свойства пустое, то записи не будут выведены"
8 МойКодУныл
 
23.04.14
12:43
(5) Соединить еще со списком всех свойств номенклатуры.
9 МойКодУныл
 
23.04.14
12:44
(7) Не пусто, а отсутсвует:) - телепатирую
10 Wobland
 
23.04.14
12:44
(9) фублинёлыпалы )
11 Дурындина
 
23.04.14
12:50
МойКодУныл, это примерно как соединить со списком всех свойств номенклатуры?
12 Wobland
 
23.04.14
12:51
(11) это в точности соединить со списком всех свойств номенклатуры
13 Дурындина
 
23.04.14
12:52
а пример?
14 Wobland
 
23.04.14
12:53
(13) а конструктор хотя б?
15 Wobland
 
23.04.14
12:54
Запрос.Текст = "ВЫБРАТЬ
                   |    СвойстваОбъектов.Наименование
                   |ИЗ
                   |    ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
                   |ГДЕ
                   |    СвойстваОбъектов.НазначениеСвойства = &НазначениеСвойства";
                  
    Запрос.УстановитьПараметр("НазначениеСвойства",ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
16 Дурындина
 
23.04.14
13:33
нет все не так, разобралась сама, достачно было запроса
ВЫБРАТЬ
    Номенклатура.Ссылка,
    ЗначенияСвойствОбъектов.Свойство,
    ЗначенияСвойствОбъектов.Значение
    
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО Номенклатура.Ссылка = ЗначенияСвойствОбъектов.Объект
ГДЕ
    ЗначенияСвойствОбъектов.Свойство = &Свойство

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Номенклатура.Ссылка,
    0,
    0
ИЗ
    Справочник.Номенклатура КАК Номенклатура
17 Дурындина
 
23.04.14
13:34
выводятся все записи номенклатуры, и со свойством, и без
18 Wobland
 
23.04.14
13:54
красотень-то какая
19 Wobland
 
23.04.14
13:54
так сразу и не догадаешься, что здесь выводятся все записи номенклатуры, и со свойством, и без
20 Дурындина
 
23.04.14
14:07
ага))))))))))
21 Дурындина
 
23.04.14
14:08
вот что же вы судари мне этого не подсказали то?
22 Дурындина
 
23.04.14
14:08
али сиськи малые поставила на аватар? может нужно больше?
23 Asmody
 
23.04.14
14:17
(22) так это ты снималась в "Дневниках вампиров"?!
24 Wobland
 
23.04.14
14:25
(22) нужно правдивее
25 Ёпрст
 
23.04.14
14:28
Если тёлка говорит за свои сиськи - то она бородатый мужик.
26 Kalambur
 
23.04.14
14:38
(22) кстати у актрисы уже нормальные сиськи
27 Wobland
 
23.04.14
14:42
(25) или гладко выбритый мужчинка
28 Ёпрст
 
23.04.14
15:12
(27) не исключено
29 МойКодУныл
 
23.04.14
15:34
Видимо вопрос не так понял:(. Хреново Вангую пока. Тогда нужно соединение с таблицой номенклатуры. и ЕСТЬNULL.


(16)А как же заводнения? Не появляются?
Номенклатура со свойствами 2 раза выведена. Хоть бы группировочку по номенклатуре...
30 Дурындина
 
24.04.14
09:46
МойКодУныл, да, сплошные заводнения((((сначала выводится вся номенклатура с пустым свойство, а потом только свойство с пустой номенклатурой(((
31 Дурындина
 
24.04.14
09:46
а все так хорошо выглядело...
32 Дурындина
 
24.04.14
13:08
вот рабочий запрос пытаюсь объединить, почему выводятся не правильно, хны хны






"ВЫБРАТЬ
                   |    Номенклатура.Ссылка,
                   |    Номенклатура.ВидНоменклатуры,
                   |    Номенклатура.ксэВидРазъема,
                   |    Номенклатура.НоменклатурнаяГруппа,
                   |    NULL КАК Значение
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.ВидНоменклатуры = &Вид
                   |    И Номенклатура.НоменклатурнаяГруппа = &Группа
                   |    И Номенклатура.ксэВидРазъема = &Разъем
                   |
                   |ОБЪЕДИНИТЬ Все
                   |
                   |ВЫБРАТЬ
                   |    Номенклатура.Ссылка,
                   |    Номенклатура.ВидНоменклатуры,
                   |    Номенклатура.ксэВидРазъема,
                   |    Номенклатура.НоменклатурнаяГруппа,
                   |    ЗначенияСвойствОбъектов.Значение
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                   |        ПО Номенклатура.Ссылка = ЗначенияСвойствОбъектов.Объект
                   |            И (ЗначенияСвойствОбъектов.Свойство = &Свойство)
                   |ГДЕ
                   |    Номенклатура.ВидНоменклатуры = &Вид
                   |    И Номенклатура.НоменклатурнаяГруппа = &Группа
                   |    И Номенклатура.ксэВидРазъема = &Разъем";
33 Дурындина
 
24.04.14
13:10
выглядит так рекв1 рекв 2  рекв 3   null
             рекв1 рекв 2  рекв 3   null
             рекв1 рекв 2  рекв 3   св1
             рекв1 рекв 2  рекв 3   св2
34 Ёпрст
 
24.04.14
13:15
занафига так то ?

Просто один запрос и левое соединение с регистром сведений.
Усё.
35 Ёпрст
 
24.04.14
13:17
короче, в коде в (16) выкинуть юнион + заменить Где на И ..
наслаждайсО
36 Ёпрст
 
24.04.14
13:18
если чо, это так:
ВЫБРАТЬ
    Номенклатура.Ссылка,
    ЗначенияСвойствОбъектов.Свойство,
    ЗначенияСвойствОбъектов.Значение
    
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО Номенклатура.Ссылка = ЗначенияСвойствОбъектов.Объект И    ЗначенияСвойствОбъектов.Свойство = &Свойство
37 Ёпрст
 
24.04.14
13:19
можешь еще и наченияСвойствОбъектов.Свойство и ЗначенияСвойствОбъектов.Значение

обернуть в ЕстьNULL .. чтоб "нормальные" показания были, заместо null, ежели свойства нема
38 Дурындина
 
24.04.14
14:52
Ёпрст , да да кажется именно мне это и надо, но почему то слабо представляю обертку в естьнулл.....
39 Дурындина
 
24.04.14
14:52
подскажи, а?  Ну пожалуйста, ну подмогни, а?
40 Wobland
 
24.04.14
14:52
(38) ты хочешь почитать об этом?
41 Ёпрст
 
24.04.14
14:56
(39)
ну дык

ВЫБРАТЬ
    Номенклатура.Ссылка,
    ЕстьNull(ЗначенияСвойствОбъектов.Свойство,"сюда что угодно, хоть справочникнужныйПустаяссылка() пихай") как Свойство
42 Ёпрст
 
24.04.14
14:57
+41 грубо, это просто замена null на что-то более пригодное, напрмер, на пустую ссылку справочника или 0, если значение числовое или "" для строки..
43 Дурындина
 
24.04.14
15:09
да епрст....все гениальное просто)))))
44 Wobland
 
24.04.14
15:13
можешь не благодарить
45 Дурындина
 
24.04.14
15:16
я еще пока что не попробовала)))
46 Дурындина
 
24.04.14
15:43
епрст!вы душка!все работает! пусть вам бог сегодня пошлет всяких плюшек!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.