Имя: Пароль:
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) Да, не обратил внимания, но..
Условие
ЗначенияСвойствОбъектов.Объект Ссылка Документ.РеализацияТоваровУслуг
Если ложь, то следующие условия не должны проверяться (ИМХО)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший