Имя: Пароль:
1C
 
Что означает символ & в запросах 8.1-8.2?
0 Начинающий Программер
 
04.07.11
12:59
Начал разбираться с восьмеркой, и увидел использование символа & в запросах. В синтакс-помощнике не нашел про это, разжуйте, пожалуйста, что это и как работает? Пример фрагмента кода:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    ЕСТЬNULL(ОстаткиТоваровОстатки1.КоличествоОстаток, 0) КАК КоличествоОстаток1,
|    ЕСТЬNULL(ОстаткиТоваровОстатки2.КоличествоОстаток, 0) КАК КоличествоОстаток2
|ИЗ
|    РегистрНакопления.ОстаткиТоваров.Остатки(
|    &Дата,
|    Номенклатура = &Номенклатура И МестоХранения = &МестоХранения1) КАК ОстаткиТоваровОстатки2,


Что есть &Номенклатура и &Дата? Это часть запроса по табличной части документа.
1 Amra
 
04.07.11
12:59
Это параметры запроса
2 Начинающий Программер
 
04.07.11
13:04
&Номенклатура - это то, что указано в строке табличной части?
3 Любопытная
 
04.07.11
13:06
Это название параметра. Чтобы потом в запрос на это место можно было подсунуть любую информацию, которая тебе в голову взбредет
4 vmv
 
04.07.11
13:08
это указатель на адресное пространство начиная с которого можно извлечь значение параметра запроса
5 rs_trade
 
04.07.11
13:09
(2) ниже же написано Запрос.УстановитьПараметр(
6 Maxus43
 
04.07.11
13:09
зря в понедельник начал разбираться... тяжёлый день
7 Wist
 
04.07.11
13:09
(2) Запрос.УстановитьПараметр("Номенклатура", КорзинаПеченья);
8 Deon
 
04.07.11
13:10
(4) Класс )
9 Wist
 
04.07.11
13:10
(6) +1
10 Reset
 
04.07.11
13:11
(6) Я бы сократил - "зря начал разбираться"
11 H A D G E H O G s
 
04.07.11
13:11
(8) Ага.
Феерично.
12 Wist
 
04.07.11
13:12
(0) Кстати, у тебя запрос кривой, вот этой таблицы нет: ОстаткиТоваровОстатки1
13 Pro-tone
 
04.07.11
13:15
(7) Запрос.УстановитьПараметр("Номенклатура", Справочники.Номенклатура.НайтиПоНаименованию("КорзинаПеченья"));
14 Начинающий Программер
 
04.07.11
13:16
(12) Она не включена во фрагмент.
15 Начинающий Программер
 
04.07.11
13:17
Что иронизируете-то? Будто все сразу начали на уровне УПП писать.
16 Maxus43
 
04.07.11
13:17
(15) мы тут такие, мерзкие одинэсники )
17 Любопытная
 
04.07.11
13:18
Просто не со всеми вопросами на форум шли. Иногда немного читали книги. Ну или хотя бы код вдумчиво
18 ИС-2
 
04.07.11
13:19
(1) Читай радченко
19 Адинэснег
 
04.07.11
13:20
(0)чота ты рано запросы стал постигать, молод еще...
20 rinatru
 
04.07.11
13:21
<<Что иронизируете-то?
мы не издеваемся. мы поражаемся. это же азы. в любой книге про запросы рассказывают про структуру

ВЫБРАТЬ <Список полей >|*
[ИЗ <Список таблиц-источников>]
[ГДЕ <Список условий>]

С. А. Митичкин.
Разработка в системе "1С:Предприятие 8.0".
глава 6. Запросы
21 PLUT
 
гуру
04.07.11
13:21
следующая тема будет - что означают символы { } в запросе
22 Начинающий Программер
 
04.07.11
13:21
(19) На что спрос есть - то и постигаю)
23 Ненавижу 1С
 
гуру
04.07.11
13:22
(21) чем ВЫБОР от ВЫБРАТЬ отличается ))
24 Maxus43
 
04.07.11
13:23
почему никто не предлагал продать СП?
25 Начинающий Программер
 
04.07.11
13:23
(20) Нет у меня книги под рукой. А в интернетах не смог найти ответ на вопрос:-)
26 rinatru
 
04.07.11
13:24
иронизируем дальше..
1. 23.05.2009     Стаж: 2 г. 1 мес.   - куда больше..
2. а если найду? (я про ЕСИС к примеру в гугле? )
27 Поручик
 
04.07.11
13:26
Хренеть уровень вопросов пошёл
v8: что значит строка - Штрихкод = "";
28 hhhh
 
04.07.11
13:27
(25) тогда ответ в (10)
29 Поручик
 
04.07.11
13:28
(19) Не рано, а поздно уже.
30 Начинающий Программер
 
04.07.11
13:36
(26) Я только на семерке программировал ранее)
31 Maxus43
 
04.07.11
13:36
(30) Забыва1 7-ку, она скорее вредит
32 МишельЛагранж
 
04.07.11
14:11
А на самом деле - никто не знает, что он значит.
Просто 1С - такая "среда", где нужно выучить "ставим амперсанд когда здесь хотим получить значение параметра".
И при обработке идет поиск в тексте запроса, и все с "&" заменяется на значение параметра.
Или не так.
Потому как в 1С главное - работает или не работает. А логика и стройность - это лишнее.
________________________________
ну а после этого поста - начинается теорема БЖ
33 Любопытная
 
04.07.11
14:26
(32) Ну как бы конечному потребителю действительно пофиг стройность, главное, чтобы работало
34 Песец
 
04.07.11
14:37
(24) Описания языка запросов в СП действительно нет. Надо нажимать F1, а не Ctrl+F1.
35 Maxus43
 
04.07.11
14:41
(34) я его и хотел продать, F1 который. Он же СП, только полный
36 Doomer
 
04.07.11
14:46
У нас на форуме часто бывает дядя GROOVY. Он, наверное, самый известный в сети специалист по обучению 1С-ников. Так вот он устраивает вебинары. Некоторые вебинары бесплатные. Но самое интересное, что в сети можно найти записи курсов обучения вышеуказанного автора. Для того чтобы сильно не пинали на этом форуме настоятельно рекомендую ознакомится с данными материалами. 90% вопросов отпадет. Ну а дальше уж на поклон сюда.
37 MatrosoV AleXXXand_R
 
04.07.11
14:47
Ветку в пятничный выпуск?
38 МишельЛагранж
 
04.07.11
14:54
(33) ну вот кое-как оно все у всех и работает ))
Шаг влево-вправо - и вылезает изнанка: стройности и последовательности (логики) ведь нет....
39 Maxus43
 
04.07.11
14:57
(38) Всё там логично в языке запросов, не надо
40 McNamara
 
04.07.11
16:33
(21) а что значат символы {} в запросе?  Объясни в стиле (4)
41 poligraf
 
04.07.11
16:36
(21) (40) это 7-ка же? в 7.7 уже можно было не писать. В 7.5 не уверен. В 7.0 точно надо было
42 McNamara
 
04.07.11
16:36
это 8-ка же
43 Maxus43
 
04.07.11
16:37
(41) для построителя и СКД используется
44 poligraf
 
04.07.11
16:40
(43) ешкин кот! спалился:)
с построителем давно работал, а в СКД как-то пока без него обхожусь:)
45 Maxus43
 
04.07.11
16:42
(44) в конструкторе запроса закладка построитель, если там выбирать поля и т.д. - появится в тексте {} :)
46 poligraf
 
04.07.11
16:44
(45) да я в курсе. Просто вылетело с головы:)
Чего-то на 7-ку переклинило, хотя уже не помню когда там параметры так объявлял
47 Мигрень
 
04.07.11
16:46
А в SQL как параметры описываюся?
48 Maxus43
 
04.07.11
17:03
(47) например:

_AccumRegTotals20._Fld18RRef AS f_1,
_AccumRegTotals20._Fld19 AS _Fld19Balance

FROM
_AccumRegTotals20 WITH(NOLOCK)
WHERE

_AccumRegTotals20._Period = '3999-11-01 00:00:00:000' AND _AccumRegTotals20._Fld18RRef = 0x00000000000000000000000000000000 AND _AccumRegTotals20._Fld19 <> CAST(0 AS NUMERIC(1,0))
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс