Имя: Пароль:
1C
1С v8
Запрос к дополнительным реквизитам документа
0 ildary
 
11.05.17
09:33
Уважаемые специалисты, скажите пожалуйста, возможно ли написать запрос, который возвращает несколько доп. реквизитов документа в свернутом по документе виде? А именно вместо таблицы

Документ1 Свойство1 ЗначениеСвойства1
Документ1 Свойство2 ЗначениеСвойства2

получилась таблица

Документ1 ЗначениеСвойства1 ЗначениеСвойства2

а если у Документ1 Свойство2 не заполнено, то должно получиться

Документ1 ЗначениеСвойства1 ""

Я пробовал сделать что-то вроде

ВЫБРАТЬ
   ЗакКлиента.Ссылка КАК Ссылка,
   ВЫБОР
   КОГДА ЗаказДопРекв.Свойство = &СвойствоВремяСборки
      ТОГДА ЗаказДопРекв.Значение
      ИНАЧЕ ""
   КОНЕЦ КАК ВремяСборки

но это не то - когда у документа несколько свойств заполнено - строка ЗакКлиента.Ссылка дублируется.

Пробовал сделать 2 запроса с объединением - документ тоже дублируется.
1 catena
 
11.05.17
09:37
Выводить основной таблицей документ и присоединять к нему свойства.
2 sFAQer
 
11.05.17
09:37
(0) ЛЕВОЕ СОЕДИНЕНИЕ ?
3 lodger
 
11.05.17
09:39
ну так сделайте пакетный запрос.
1) собрать
Документ1 Свойство1 ЗначениеСвойства1
Документ2 Свойство1 ЗначениеСвойства1
Документ3 Свойство1 ЗначениеСвойства2
поместить в вт1
2) собрать
Документ1 Свойство2 ЗначениеСвойства2
Документ3 Свойство2 ЗначениеСвойства2
поместить в вт2
3) из вт1 и вт2 с соединением по документ
документ,
ЗначениеСвойства1,
ЕСТЬNULL(ЗначениеСвойства2,"")
4 ildary
 
11.05.17
09:43
(2) я сейчас сделал через левое соединение и все работает, но - меня смущает, что количество доп реквизитов растет и скорость работы запроса будет падать. Хотелось бы разово выдрать эти реквизиты и потом прикрутить их к заказу.

(3) Спасибо за идею, но ВТ не получится - это запрос для динамического списка и ВТ в ней пока не работают.
5 pessok
 
11.05.17
09:45
(4) давно уже ВТ в дин.списке работает
6 ildary
 
11.05.17
09:47
(5) в УТ11.1 - не работает.
7 sFAQer
 
11.05.17
09:49
(4) ПО
8 sFAQer
 
11.05.17
09:50
(7) ПО
    ТаблицаДопРеквизитов.ДопРеквзит В (&СписокДопРеквизитов)
9 ildary
 
11.05.17
10:07
(8) извините, но эта строка отсеет ненужные реквизиты, но нужные в одну строку не сведёт. То есть таблица

Документ1 Свойство1 ЗначениеСвойства1
Документ1 Свойство2 ЗначениеСвойства2

не превратится в таблицу

Документ1 ЗначениеСвойства1 ЗначениеСвойства2
или
Документ1 ЗначениеСвойства1 ""
10 mikecool
 
11.05.17
10:14
(6) подними релиз платформы, заработают
11 ildary
 
11.05.17
10:21
(10) то есть я правильно понял - единственный рабочий способ - через ВТ? Ну или через кучу левых соединений как сделал сейчас.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.