Имя: Пароль:
1C
 
Правильность построения запросов.
,
0 Wirtuozzz
 
17.11.15
22:41
Добрый день уважаемые сеньоры  и джельтельмены =)
Скажите пожалуйста, как правильно составлять запрос и почему.

Вариант 1:
Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.ПометкаУдаления,
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Дата,
        |    РеализацияТоваровУслуг.Проведен,
        |    РеализацияТоваровУслуг.Товары.(
        |        Номенклатура,
        |        СтавкаНДС,
        |        Сумма,
        |        СуммаНДС,
        |        Цена
        |    )
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

Вариант 2:
Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслугТовары.Номенклатура,
        |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения,
        |    РеализацияТоваровУслугТовары.Количество,
        |    РеализацияТоваровУслугТовары.КоличествоМест,
        |    РеализацияТоваровУслугТовары.СуммаНДС,
        |    РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления,
        |    РеализацияТоваровУслугТовары.Ссылка.Номер,
        |    РеализацияТоваровУслугТовары.Ссылка.Дата,
        |    РеализацияТоваровУслугТовары.Ссылка.Проведен,
        |    РеализацияТоваровУслугТовары.Ссылка.ВидОперации,
        |    РеализацияТоваровУслугТовары.Ссылка.БанковскийСчетОрганизации,
        |    РеализацияТоваровУслугТовары.Ссылка.ВалютаДокумента
        |ИЗ
        |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары";

Всем спасибо за комментарии.
1 DrShad
 
17.11.15
22:46
Результат разный
2 Wirtuozzz
 
17.11.15
22:46
Пометка, запрос в ПФ.
3 RomanYS
 
17.11.15
22:46
и так и так правильно
Запросы возвращают разные результаты и требуют разной обработки. Второй вариант более применим ИМХО
4 Wirtuozzz
 
17.11.15
22:47
Коллеги, согласен, что конечный результат одинаковый, итог ПФ работает и выводится. А как правильнее? или первый вариант семерочники больше используют?
5 DrShad
 
17.11.15
22:48
Ну смотря для чего, для вывода через СКД первый вариант самое то
6 Wirtuozzz
 
17.11.15
22:49
(5) в печатной форме запрос.
7 DrShad
 
17.11.15
22:49
Да и не коллеги мы
8 Wirtuozzz
 
17.11.15
22:49
СКД нет никакой.
9 RomanYS
 
17.11.15
22:49
(2) ну для ПФ как раз вариант 1 может быть удобнее
(4) результат разный: возьми документ с пустой ТЧ
10 Wirtuozzz
 
17.11.15
22:50
(9) это если шапка есть, то удобнее. А если просто ТЧ и итоги снизу ?
11 Wirtuozzz
 
17.11.15
22:51
(9) Не вижу проблем, пустая ТЧ - Если результат.Пустой() то возврат и все.
12 DrShad
 
17.11.15
22:51
Дата и номер есть вне зависимости от других реквизитов шапки
13 rsv
 
17.11.15
22:52
(0) А какой результат возвращает первый и второй тексты ?
14 Wirtuozzz
 
17.11.15
22:54
(13) Разный. У меня вопрос как правильнее. Как я понял пофик,одинаково оно с точки зрения правильности работает. Хотя жду коммента Льва Михайловича, он человек грамотный.
15 RomanYS
 
17.11.15
22:54
(11) во втором пустой, в первом - нет
(10) не нужна шапка - не бери (тогда вариант 2)
16 rsv
 
17.11.15
22:56
(14) Наверное академически правильнее так :

Документ.РеализацияТоваровУслуг          A

INNER JOIN

Документ.РеализацияТоваровУслуг.Товары   B

ON

A.Ссылка = B.Ссылка
17 rsv
 
17.11.15
23:00
Либо LEFT JOIN . Скорее вернее ибо табличной части (детайл может и не быть)
18 GROOVY
 
17.11.15
23:01
Первый запрос будет еще вложенный результат формировать, загружая сервер 1С, а так пофиг.
19 Wirtuozzz
 
17.11.15
23:01
(15) Смысл что то обрабатывать при пустой ТЧ? Вы много ПФ сделали где не заполняется ТЧ?
20 GROOVY
 
17.11.15
23:02
(19)  Приходилось.
21 Wirtuozzz
 
17.11.15
23:03
(18) Т.е. как я понимаю что если шапка не нужна, то первый вариант более ресурсозатратный.

А можно узнать для чего и в каких целях? Это мне для общего развития =)
22 rsv
 
17.11.15
23:07
(21) ANSI
23 Wirtuozzz
 
17.11.15
23:08
(18) А как я понимаю, во втором случае будет левое соединение с шапкой документа. Что из этого более опасное? Левое соединение или формирование вложенного результата?

(22) Не понял, что ты хочешь до меня донести.
24 RomanYS
 
17.11.15
23:08
(19) достаточно
Плюс существуют ситуации, когда несколько ТЧ и не все они обязательно заполнены.

ИМХО первый вариант это альтернатива ПолучитьОбъект, в нем нельзя например получить итоги по ТЧ. Второй - "классический" запрос со всем функционалом.
25 Wirtuozzz
 
17.11.15
23:10
(24) а какой более ресурснозатратный ии почему, если задачу можно решить как первым так и вторым запросом.
26 rsv
 
17.11.15
23:11
(23) ANSI SQL . Ну если в части общего развития.
27 RomanYS
 
17.11.15
23:13
(25) для ПФ пофиг,
а если очень интересно - сделай замеры и отпишись )
28 rsv
 
17.11.15
23:15
(25) А мы не знаем то в общем самого запроса  то . В (0) прикладная конструкция.
29 Wirtuozzz
 
17.11.15
23:15
(27) Нагрузка на сервер при формировании ПФ минимальны )
30 Wirtuozzz
 
17.11.15
23:17
(28) Выодится: представление номенклатуры, представление ед.изм. потом выводится количество, объем и вес. Потом итоги внизу по числовым показателям.
31 DrShad
 
17.11.15
23:19
Остряк, тебя не об этом спрашивают
32 Wirtuozzz
 
17.11.15
23:21
(31) Тогда не понял вопроса, сори (
33 DrShad
 
17.11.15
23:31
(32) понятие плана запроса о чём-то говорит?
34 John83
 
18.11.15
00:23
лично мне первый вариант как-то не айс..
35 John83
 
18.11.15
00:23
+34 не нравится, когда используют
36 GROOVY
 
18.11.15
00:26
(30) Ты не получаешь представление запросом? Это жесть.
37 Злопчинский
 
18.11.15
01:17
(0) кстати, есть неплохой частный сервис для изучения запросов 1С.
38 Wirtuozzz
 
18.11.15
20:32
(36) я получаю представление запросом. Это не правильно? надо выбирать ссылку?

(37) отлично, можно ссылку? позанимаюсь когда время будет.
39 Wirtuozzz
 
18.11.15
21:27
(27) Замеры сделал. Первый вариант отработал за 0.016 сек, второй за 0,015.
40 Мимохожий Однако
 
18.11.15
21:40
Первый вариант запроса получается, когда используется мастер создания печатной формы. Оценить запрос можно только зная цель.
(39)И что?
41 Wirtuozzz
 
18.11.15
21:50
(40) Ничего. просто писали сделай тест, выложи результаты, вот сделал тест, выложил результаты.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn