Имя: Пароль:
1C
1С v8
Выбрать свойства номенклатуры в запросе
,
0 Kalina
 
30.03.21
12:31
Добрый день, никак не соображу как выбрать все свойства Номенклатуры Запросом
чтобы результат был вида
Номенклатура Свойство1 Свойство2 Свойство3 Свойство4
Буду признателен за подробный, разжеваный ответ :)
С Уважением Kalina
1 mikecool
 
30.03.21
12:34
Используй СКД, Люк!
2 dka80
 
30.03.21
12:38
(1) в СКД так ты тоже не выведешь. Будет иерархия
3 mikecool
 
30.03.21
12:40
(2) почему?
4 dka80
 
30.03.21
12:41
Потому что ТС хочет вывести в виде таблицы. Тогда и в СКД нужно выводить таблицу. В строки ты поместишь Номенклатуру, а в колонки и ресурсы что?
5 Kassern
 
30.03.21
12:43
(4) А зачем тебе ресурсы? Номенклатура, Артикул, материал, страна производитель и т.д. все в строки, в чем проблема?
6 dka80
 
30.03.21
12:47
(5) т.е. ТС хочет вывести не допсвойства, а реквизиты объекта?
7 Kassern
 
30.03.21
13:13
(6) даже если это будут доп реквизиты из ТЧ, то если список не огромный, можно через левое соединение с номенклатурой их вывести, предварительно отобрав по нужному свойству в соединении
8 dka80
 
30.03.21
13:46
(8) вообщем, вопросов много. Поэтому и способы реализации могут быть разными
9 Kalina
 
30.03.21
15:02
(8) Мне б один какой-нибудь, желательно по-проще, я думал что-то типа вложенного запроса - выбрать сначала все из РС ЗначенияСвойствОбъектов, но как потом это по Свойствам разложить - никак не соображу, чтобы одной записью получилось
10 dka80
 
30.03.21
15:13
(9) у тебя предопределенное количество свойств?
11 Cthulhu
 
30.03.21
15:15
(9): сначала бы от тебя постановку (описание проблемы) попроще (поадекватнее).
это реквизиты справочника? или допюсвойства? или реквизиты таб.састи? или доб.свойства строки таб.части? а если допюсвойства - см. характеристики и/или регистр сведений - какие?
12 mikecool
 
30.03.21
15:52
выбрать список свойств, засунуть в ВТ
выбрать номенклатуру, полное соединение с ВТ свойств
левое соединение со значениями свойсв - повторить по кол-ву свойств
профит
13 Kassern
 
30.03.21
15:59
(9) Как вариант что-то типа такого, только по каждому свойству:
ВЫБРАТЬ
    Товары.Ссылка КАК Номенклатура,
    НоменклатураДополнительныеРеквизиты.Значение КАК Сезон
ИЗ
    Справочник.Номенклатура КАК Товары
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО Товары.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка
            И (НоменклатураДополнительныеРеквизиты.Свойство = &СвойствоСезон)
14 Kalina
 
30.03.21
16:20
(11) Есть Справочник Номенклатура, в нем Элементы (ПленкаБОПП), у каждого Элемента 3 свойства, Толщина, Ширина, Вид, все известно и все статично, нужно получить табличку, где каждая строка имеет вид - Номенклатура.Наименование, Толщина, Ширина, Вид
потом эту таблицу в Excel, потом в Весы
вот и вся задача :)
15 программистище
 
30.03.21
16:23
(14) делай как (13) сказал и будет счастье
16 Kassern
 
30.03.21
16:24
(14) я тебе расписал как это сделать, еще и пример скинул в (13) Поменяй Справочник.Номенклатура.ДополнительныеРеквизиты на твой регистр ЗначенияСвойствОбъектов и добавь еще 2 такие таблички но с разными свойствами. Я так понял у тебя 10ая торговля и эти свойства все в ЗначенияСвойствОбъектов
17 Kalina
 
30.03.21
16:39
(16) у меня КА 1.1, не очень понятно куда такие таблички добавлять,  как в (13) - выбирается только одно Свойство, которое в &СвойствоСезон, как то их объединить с остальными х.з. ?
18 Kassern
 
30.03.21
16:41
(17) смотри фокус, дальше надеюсь ты сам...
ВЫБРАТЬ
    Товары.Ссылка КАК Номенклатура,
    НоменклатураДополнительныеРеквизиты.Значение КАК Сезон,
    НоменклатураДополнительныеРеквизиты1.Значение КАК Вид
ИЗ
    Справочник.Номенклатура КАК Товары
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО Товары.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка
            И (НоменклатураДополнительныеРеквизиты.Свойство = &СвойствоСезон)
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты1
        ПО Товары.Ссылка = НоменклатураДополнительныеРеквизиты1.Ссылка
            И (НоменклатураДополнительныеРеквизиты1.Свойство = &СвойствоВид)
19 dka80
 
30.03.21
16:41
(17)
ВЫБРАТЬ
    Товары.Ссылка КАК Номенклатура,
    НоменклатураДополнительныеРеквизиты.Значение КАК Сезон,
    НоменклатураДополнительныеРеквизиты.Значение КАК Сезон2
ИЗ
    Справочник.Номенклатура КАК Товары
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ПО Товары.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка
            И (НоменклатураДополнительныеРеквизиты.Свойство = &СвойствоСезон)
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты2
        ПО Товары.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка
            И (НоменклатураДополнительныеРеквизиты.Свойство = &СвойствоСезон2)
20 Kassern
 
30.03.21
16:43
(19) только не НоменклатураДополнительныеРеквизиты.Значение КАК Сезон2, а НоменклатураДополнительныеРеквизиты2.Значение КАК Сезон2
21 dka80
 
30.03.21
16:45
(20) в данном контексте это существенное замечание. Иначе следующий вопрос был бы "не работает!" ))
22 Kassern
 
30.03.21
16:45
(21) ага, мол почему свойство задваивается))
23 Temai
 
30.03.21
16:46
Делать надо через СКД, добавляешь 2 набора данных и связываешь через закладку "Связи наборов данных". Значения свойств кидаешь в ресурс. вроде так
24 Kassern
 
30.03.21
16:49
(23) и какой будет итог по ресурсу свойства вид?
25 Kalina
 
30.03.21
16:53
(22) Спасибо, завтра попробую,
26 youalex
 
30.03.21
16:58
если у тебя прописаны характеристики в объекте метаданных (или в скд-шном запросе) то в СКД можно вывести доп. свойства как обычные реквизиты от Ссылка.
27 Temai
 
30.03.21
16:58
Ошибся, через закладку характеристики делается.
Почитайте эту статью:
https://its.1c.ru/db/metod8dev/content/1795/hdoc
28 Kassern
 
30.03.21
17:00
(27) и видим мы там такую табличку
Номенклатура     ВидСвойства     Свойство
Лазерный принтер 5250197-203 Minolta-QMS     Ширина     630
Лазерный принтер 5250197-203 Minolta-QMS     Высота     320
Лазерный принтер 5250197-203 Minolta-QMS     Масса     5 800
Лазерный принтер Canon LBP-810     Масса     4 300
Лазерный принтер Canon LBP-810     Ширина     470
Лазерный принтер Canon LBP-810     Высота     31

а ТС нужно каждое свойство отдельной колонкой...
29 Temai
 
30.03.21
17:03
(28) Коллега, еще раз, надо делать через закладку характеристики и значение свойства кидать в ресурс и тогда выводится в отдельную колонку, сам недавно такой отчет делал
30 Temai
 
30.03.21
17:04
Могу где то ошибиться, но точно через 2 набора данных и эту закладку
31 Kassern
 
31.03.21
09:39
(30) Будет круто, если скинешь рабочий пример хотя бы для 2х доп реквизитов для номенклатуры, в виде таблицы, а не списка, где ресурсами будут свойства.
32 Temai
 
31.03.21
09:55
(31) Без проблем, почту открой
33 Kassern
 
31.03.21
10:07
(32) открыл
34 Temai
 
31.03.21
10:14
(33) Отправил)
35 Kassern
 
31.03.21
10:26
(34) Спасибо, действительно канает) Даж интересно стало, какой отчет быстрее сформируется, через связи наборов, или тупо обычным запросом с отборами.
36 Temai
 
31.03.21
10:33
(35) Не за что. Просто если свойств больше чем 2, зае**** писать отборы)
37 Kassern
 
31.03.21
10:51
(36) По факту реально удобно, если свойств дохера, буду знать спасибо)
вот что замер производительности говорит:
1) Вариант через наборы. ОбщийМодуль.ВариантыОтчетов.Модуль    1 748    ОтчетОбъект.СкомпоноватьРезультат(Результат.ТабличныйДокумент, Результат.Расшифровка);    1    0,093514    61,44
2)Вариант через запрос.  ОбщийМодуль.ВариантыОтчетов.Модуль    1 748    ОтчетОбъект.СкомпоноватьРезультат(Результат.ТабличныйДокумент, Результат.Расшифровка);    1    0,033675    35,24
П.С. Единственное, что наименование свое для каждой колонки и разные размеры врятли удастся задать, но это мелочи