Имя: Пароль:
1C
 
Получение значения свойства запросом из документа
0 sweeex
 
20.08.14
12:35
Добрый день. Есть документ например РТУ которое имеет свойство(Тип булево). Например в отчете нужно выводить: Ссылку и значение свойства.Подскажите как правильно составить запрос. Спасибо.
1 Dmitriy_76
 
20.08.14
12:36
РС значение свойств объектов ?
2 MSII
 
20.08.14
12:36
(0) Соединением с таблицей, в которой хранятся значения свойств (например, РС Значения свойств объектов).
3 sweeex
 
20.08.14
12:39
(1) Да, РС
4 salvator
 
20.08.14
12:43
(0) Открываешь конструктор, выбираешь две таблицы: РТУ и РС. За закладке "связи" соединяешь РТУ и РС по ссылке документа. Ставишь галочку "Все" напротив таблицы РТУ.
5 sweeex
 
20.08.14
12:47
(4) Вот)) Скорей всего у меня не получалось из того что я не ставил "галочку "Все"". Сейчас проверю.
6 User_Agronom
 
20.08.14
12:56
(4) Ужас!
7 sweeex
 
20.08.14
12:59
(6) а почему ужас?
8 sf
 
20.08.14
13:01
(6) +1
9 sweeex
 
20.08.14
13:02
какой то висяк получается...
10 1Сергей
 
20.08.14
13:02
(5) скорее всего не так ПВХ нюхаешь
11 sweeex
 
20.08.14
13:07
(10) Вот так делать не правильно?
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    ЗначенияСвойствОбъектов.Объект,
    ЗначенияСвойствОбъектов.Свойство,
    ЗначенияСвойствОбъектов.Значение
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО РеализацияТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов.Объект.Ссылка
ГДЕ
    РеализацияТоваровУслуг.Дата > &Дата
    И ЗначенияСвойствОбъектов.Свойство.Код = "00000000001"
12 1Сергей
 
20.08.14
13:12
(11) Да, неправильно
13 sweeex
 
20.08.14
13:13
(12) а мог сказать почему и как правильно?
14 Crush
 
20.08.14
13:20
(13) Как минимум поставь условие на свойство и на тип Объекта
15 Crush
 
20.08.14
13:21
+ (14) и помоему у этого РС еще есть какие то измерения для фильтрации выборки
16 Dmitriy_76
 
20.08.14
13:22
(14) на свойстов стоит в (11) ...
а на тип.. не треба.. и так отсееет так как соединение ЛЕВОЕ...
17 sf
 
20.08.14
13:44
(16) в (11)
ЗначенияСвойствОбъектов.Объект.Ссылка
ЗначенияСвойствОбъектов.Свойство.Код

а так да, работает, конечно. но (6)
18 User_Agronom
 
20.08.14
13:52
(7) Руками такое пишется в разы быстрее
19 sf
 
20.08.14
13:53
(18) руками? на листочке?
20 sweeex
 
20.08.14
13:57
(19) если "но ужас" как тогда правильно писать? можешь скорректировать запрос?
21 Crush
 
20.08.14
13:59
(16) в (11) условие тормозное очень Свойство.Код = "00000000001"
При большом количестве записей будет существенное приимущество у Свойство=&Свойство
22 sf
 
20.08.14
14:02
(20) для начала: 2 точки - зло. практически всегда.

условие надо поменять хотя бы РеализацияТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов.Объект

+ см (21)
23 sweeex
 
20.08.14
14:09
(22) 1. Поменял условие на РеализацияТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов.Объект - быстрей стал запрос выполнятся.
2.Отбор Свойство=&Свойство - это уже как параметр получается нужно делать?
24 Crush
 
20.08.14
14:09
Попробуй так

ПО ЗначенияСвойствОбъектов.Объект Ссылка Документ.РеализацияТоваровУслуг
И ЗначенияСвойствОбъектов.Свойство = &Свойство
И РеализацияТоваровУслуг.Ссылка = ЗначенияСвойствОбъектов.Объект.Ссылка

и еще поэксперементируй с временными таблицами:
Сначала талицу с документами (условие дата)
Потом таблицу значений свойств (условие тип и свойство)
Ну и левое соединение документов со свойствами.
25 sf
 
20.08.14
14:10
(23) да, верной дорогой идешь.
(24) ЗначенияСвойствОбъектов.Объект.Ссылка
это вызовет соединение со всеми таблицами типа.
26 Crush
 
20.08.14
14:11
(23) Выбрать Ссылка поместить втСвойства из Спр.Свойства где Код="00011";



...


Где Свойство В (выбрать Ссылка из втСвойства как вт)
27 Crush
 
20.08.14
14:13
(25) Да, не обратил внимания, но..
Условие
ЗначенияСвойствОбъектов.Объект Ссылка Документ.РеализацияТоваровУслуг
Если ложь, то следующие условия не должны проверяться (ИМХО)
Ошибка? Это не ошибка, это системная функция.