Вход | Регистрация


О жизни... ::

Метки: 

OFF: Двухпартийная система для 1Сников

↓ [Волшебник, 23.01.18 - 18:29]
Я
   Dzenn
 
23.01.18 - 16:37
2. Моя партия — \"Сначала текст запроса\"86% (30)
1. Моя партия — \"Сначала параметры\"14% (5)
Всего мнений: 35

Привет всем. При написании запроса есть два варианта подхода

1) сначала установить параметры, потом текст запроса, потом вызвать:

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВыручкаОтРеализацииОбороты.Номенклатура КАК Номенклатура,
    |    ВыручкаОтРеализацииОбороты.СуммаОборот КАК СуммаОборот
    |ИЗ
    |    РегистрНакопления.ВыручкаОтРеализации.Обороты(, , , Номенклатура = &Номенклатура) КАК ВыручкаОтРеализацииОбороты";
    
    Результат = Запрос.Выполнить();



2) сначала текст запроса, а перед вызовом установить параметры:

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВыручкаОтРеализацииОбороты.Номенклатура КАК Номенклатура,
    |    ВыручкаОтРеализацииОбороты.СуммаОборот КАК СуммаОборот
    |ИЗ
    |    РегистрНакопления.ВыручкаОтРеализации.Обороты(, , , Номенклатура = &Номенклатура) КАК ВыручкаОтРеализацииОбороты";
    
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Результат = Запрос.Выполнить();


Какой вариант предпочитаете Вы? Двухпартийность!
 
  Рекламное место пустует
   Fragster
 
1 - 23.01.18 - 16:37
не пятница же?

2. Моя партия — \"Сначала текст запроса\"
   BeerHelpsMeWin
 
2 - 23.01.18 - 16:38
Предлагаешь каждый раз переделывать после конструктора?

2. Моя партия — \"Сначала текст запроса\"
   Vadim_37
 
3 - 23.01.18 - 16:38
Отличная партия

2. Моя партия — \"Сначала текст запроса\"
   Быдло замкадное
 
4 - 23.01.18 - 16:38
открой конструктор запроса с обработкой результата

2. Моя партия — \"Сначала текст запроса\"
   Масянька
 
5 - 23.01.18 - 16:38
А разница?
   Dzenn
 
6 - 23.01.18 - 16:39
Мне кажется, красивее сначала параметры

1. Моя партия — \"Сначала параметры\"
   Fish
 
7 - 23.01.18 - 16:40
(6) Твоя партия явно в меньшинстве.

2. Моя партия — \"Сначала текст запроса\"
   kubik_live
 
8 - 23.01.18 - 16:41
(5) +1
Монопенисуально кажись, хотя я за 2 вариант

2. Моя партия — \"Сначала текст запроса\"
   azernot
 
9 - 23.01.18 - 16:41
Параметры устанавливаю перед "Выполнить"

2. Моя партия — \"Сначала текст запроса\"
   aka AMIGO
 
10 - 23.01.18 - 16:41
(6) Нелогично. Когда человек читает такой код, вначале с недоумением видит параметры ("к чему они?!") и только потом приходит понимание, куда их можно пристроить.

2. Моя партия — \"Сначала текст запроса\"
 
  Рекламное место пустует
   Asmody
 
11 - 23.01.18 - 16:43
Я вот так пишу:

Выборка = __.НовыйЗапрос(
  ТекстЗапроса,
  Новый Структура("Параметр1, Параметр2",
    Параметр1,
    Параметр2
  ))
  .Выполнить()
  .Выбрать();
   Bober
 
12 - 23.01.18 - 16:44
параметры после текста запроса

2. Моя партия — \"Сначала текст запроса\"
   Вафель
 
13 - 23.01.18 - 16:44
в типовый чаще используют выриант

1. Моя партия — \"Сначала параметры\"
   Dzenn
 
14 - 23.01.18 - 16:44
(11) а это законно?)
   Asmody
 
15 - 23.01.18 - 16:45
(14) Это работает
   Масянька
 
17 - 23.01.18 - 16:45
(6) Понятно... Ты из партии "В глаза смотреть!" :))))))
   Fragster
 
18 - 23.01.18 - 16:45
(11) отвратительно
   Bober
 
19 - 23.01.18 - 16:46
(11) побольше обвеса на такую простую операцию. как к цыгану в машину сел.
   Fish
 
20 - 23.01.18 - 16:46
(16) Накручиваешь? :))
   Fragster
 
21 - 23.01.18 - 16:46
отлаживать как?
   Asmody
 
22 - 23.01.18 - 16:46
(18) Это с непривычки
   Fragster
 
23 - 23.01.18 - 16:46
(22) От(ОъектТипаЗапрос)
   Fragster
 
24 - 23.01.18 - 16:46
такую штуку не пробовал?
   Asmody
 
25 - 23.01.18 - 16:47
(21) Чего тут отлаживать?! Для отладки запросов есть другие инструменты.
   Вафель
 
26 - 23.01.18 - 16:47
(20) после ответа галочка не снимается
   Fragster
 
27 - 23.01.18 - 16:47
в толстом клиенте прям консоль запросов открывается в клиенте
   Bober
 
28 - 23.01.18 - 16:47
(25) угу, сообщить()
   Fragster
 
29 - 23.01.18 - 16:48
   ejikbeznojek
 
30 - 23.01.18 - 16:48
привык -

2. Моя партия — \"Сначала текст запроса\"
   Злопчинский
 
31 - 23.01.18 - 16:49
потому что

2. Моя партия — \"Сначала текст запроса\"
   Вафель
 
32 - 23.01.18 - 16:49
(27) какие толстые клиенты, ты что
   Fragster
 
33 - 23.01.18 - 16:50
(32) в тонком/на сервере - кладет в справочник, включая все параметры. потом можно открыть в толстом и поковырять по временным таблицам.
 
  Рекламное место пустует
   Мандалай
 
35 - 23.01.18 - 16:51
ой блин

2. Моя партия — \"Сначала текст запроса\"
   Мандалай
 
36 - 23.01.18 - 16:52
как удалить? (34)
   Timon1405
 
37 - 23.01.18 - 16:52
+1 к (23)

2. Моя партия — \"Сначала текст запроса\"
   se85
 
38 - 23.01.18 - 16:56
Мне так удобней и привычней

2. Моя партия — \"Сначала текст запроса\"
   lodger
 
39 - 23.01.18 - 16:56
Nuff said

2. Моя партия — \"Сначала текст запроса\"
   Aleksey
 
40 - 23.01.18 - 16:56
Когда выполняешь запрос в цикле, то удобно сначало описать текст запроса, а потом в цикле только подставлять параметры

2. Моя партия — \"Сначала текст запроса\"
   Глобальный_Поиск
 
41 - 23.01.18 - 16:57
Перебор в цикле!
   NorthWind
 
42 - 23.01.18 - 17:04
Как-то так

2. Моя партия — \"Сначала текст запроса\"
   MrCoffin
 
43 - 23.01.18 - 17:04
Уж лучше блокчейн...
   vis_tmp
 
44 - 23.01.18 - 17:04
.

1. Моя партия — \"Сначала параметры\"
   lodger
 
45 - 23.01.18 - 17:15
(40) неужели нет такого запроса, который бы эти мельтешения не выполнил одним пакетом?
   X Leshiy
 
46 - 23.01.18 - 17:15
Ну логично же.

2. Моя партия — \"Сначала текст запроса\"
   SanGvin
 
47 - 23.01.18 - 17:16
так

2. Моя партия — \"Сначала текст запроса\"
   Джинн
 
48 - 23.01.18 - 17:16
Без базара

2. Моя партия — \"Сначала текст запроса\"
   pavig
 
49 - 23.01.18 - 17:17
(0)
Сначала - конструктор запроса с обработкой результата.
Он сам устанавливает параметры и создаёт код выборки.
Шах и мат, партийцы.

3. Свой вариант.
 
  Рекламное место пустует
   Fragster
 
50 - 23.01.18 - 17:17
(45) бывает нужно - например обход разных метаданных с разным набором полей, как в http://catalog.mista.ru/public/197614/
   pavig
 
51 - 23.01.18 - 17:17
(40)
Сжечь его.
   Мандалай
 
52 - 23.01.18 - 17:21
(51)А мне кажется просто на кол, и табличку прибить за что.
   X Leshiy
 
53 - 23.01.18 - 17:21
(51) (52) Можно подумать, у вас самих ладошки не волосатые)
   Fragster
 
54 - 23.01.18 - 17:23
(51) есть один случай - много запросов остатки и обороты для правильного дополнения периода в коде без извращений
для таблицы остатков и оборотов. Иначе оно конечные остатки по субконто не на каждый период выдает, а только на самый конец.

МассивТекстов = Новый Массив;
МассивТекстов.Добавить(мОбъектЗапроса.Текст);
Для Сч = 2 По 12 Цикл
    мОбъектЗапроса.Параметры.Вставить("Д" + Сч, ДобавитьМесяц(Параметры.Д1, Сч-1));
    МассивТекстов.Добавить(СтрЗаменить(мОбъектЗапроса.Текст, "&Д1", "&Д" + Сч))
КонецЦикла;
мОбъектЗапроса.Текст = СтроковыеФункцииКлиентСервер.ПолучитьСтрокуИзМассиваПодстрок(МассивТекстов, "
|Объединить все
|")
   pavig
 
55 - 23.01.18 - 17:23
(53)
В этой жизни можно ВСЁ. Главное без палева))
   Мандалай
 
56 - 23.01.18 - 17:24
(53)В детстве у меня даже пяточки были волосатые, а с тех пор как первичные половые признаки появились, я больше одной "." в строке не пишу. А вне запроса, так и вовсе без точек обхожусь!
   X Leshiy
 
57 - 23.01.18 - 17:26
(56) 1с-ников послушать, так я тут один запросы в циклах пишу, ага)
   lubitelxml
 
58 - 23.01.18 - 17:27
обычно так, редко когда наоборот

2. Моя партия — \"Сначала текст запроса\"
   kittystark
 
59 - 23.01.18 - 17:46
(11) Выборка = __.НовыйЗапрос( >>

"__"  это имя своего модуля что-ли ?
   kittystark
 
60 - 23.01.18 - 17:47
ах да, вот так

2. Моя партия — \"Сначала текст запроса\"
   DexterMorgan
 
61 - 23.01.18 - 17:47
Лучший ответ в (40)

2. Моя партия — \"Сначала текст запроса\"
   Asmody
 
62 - 23.01.18 - 17:55
(59) ага
   rphosts
 
63 - 23.01.18 - 17:56
я из этих.... подумать и отказаться от написания запроса убедив юзера что им это не надо
   Локи-13
 
64 - 23.01.18 - 18:03
(40) +100500

2. Моя партия — \"Сначала текст запроса\"
   breezee
 
65 - 23.01.18 - 18:07
Сейчас модно 1 вариант, но я ко 2 привык

2. Моя партия — \"Сначала текст запроса\"
   Сильф
 
66 - 23.01.18 - 18:08
(6) Но как-то не очень логично же - устанавливаить параметры того, что ещё не объявлено?

2. Моя партия — \"Сначала текст запроса\"
   Dzenn
 
67 - 23.01.18 - 18:10
Я был уверен, что "Сначала параметры" будут в подавляющем большинстве. Странно......
   dumb851
 
68 - 23.01.18 - 18:17
так делает конструктор запросов в конфигураторе,
так что априори

2. Моя партия — \"Сначала текст запроса\"
   Вафель
 
69 - 23.01.18 - 18:28
А вот такой вопрос:
Запрос.УстановитьПараметр
или
Запрос.Параметры.Вставить
   Волшебник
 
Модератор
70 - 23.01.18 - 18:29
До пятницы ещё далеко
   Sun_Lin
 
71 - 23.01.18 - 20:56
всегда

1. Моя партия — \"Сначала параметры\"
   Casey1984
 
72 - 23.01.18 - 23:18
А где мой вариант?

ТекстЗапроса =
"...

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("...
   tesseract
 
73 - 23.01.18 - 23:22
А где партия - "Мы умеем пользоваться СКД" ?
   VladZ
 
74 - 24.01.18 - 05:30
(0) Ага. Встречал в коде вариант вида "сначала параметры, потом запрос". Первая мысль: что за бред?

ИМХО, сначала текст запроса, потом параметры. Потому как параметры запроса зависят от текста запроса.

2. Моя партия — \"Сначала текст запроса\"
   Ненавижу 1С
 
75 - 24.01.18 - 08:16
(72) создаем нашу партию, я тоже так пишу
   Helldown
 
76 - 24.01.18 - 10:02
Как то привык уже.

2. Моя партия — \"Сначала текст запроса\"
   Zolberg
 
77 - 24.01.18 - 13:47
Исповедую обе религии, но предпочитаю первый вариант

1. Моя партия — \"Сначала параметры\"
   1Сергей
 
78 - 24.01.18 - 13:50
Если конструктор делает так, значит разработчики 1С подразумевали такой подход

2. Моя партия — \"Сначала текст запроса\"



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует