Имя: Пароль:
1C
1С v8
Что означают символы в запросе " + ( ?
, ,
0 Ly_Alena
 
10.06.16
12:27
Добрый день!
В запросе такая строка:
|" + ?(ТабличнаяЧасть = Товары, "
Я так понимаю проверка на табличную часть товары? Чем её можно заменить, чтобы открыть запрос в конструкторе?
1 mehfk
 
10.06.16
12:28
Это не в запросе, это текст запроса динамически формируется.
2 Nuobu
 
10.06.16
12:30
(0) Нужно отладчиком добраться до строчки "РезультатЗапроса = Запрос.ВЫполнить();"

Потом зайти в запрос и посмотреть его текст.
3 Ly_Alena
 
10.06.16
12:32
(2) Спасибо! Сейчас попробую!
4 xaozai
 
10.06.16
12:40
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Перем а;
    
    а = "с утра";
    
    Запрос = Новый Запрос("ВЫБРАТЬ
    |    ""Кама" + СтрЗаменить(а, " ", "") + " прямо " + а + "!"" КАК ВотТак");
    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();
    Сообщить(Выборка.ВотТак);
    
КонецПроцедуры
5 GROOVY
 
10.06.16
12:56
(0) Это Конкатенация. Не трогайте конструктор.
6 Ly_Alena
 
10.06.16
13:02
(5) До конструктора еще добраться надо? что значит конкатенация?
Через отладку - там просто название колонок
Мне нужно доработать запрос, а я как баран на новый ворота...
7 Ly_Alena
 
10.06.16
13:03
Знак вопроса - лишний в первом предложении.
8 mehfk
 
10.06.16
13:05
(6) Может ну ее нафик, эту 1С-ку?
9 Ly_Alena
 
10.06.16
13:06
(8) не конструктивно
10 GROOVY
 
10.06.16
13:06
Если Вы не понимаете что такое Конкатенация, то точно не стоит лезть в запросы.
11 Ёпрст
 
10.06.16
13:07
(6) зачем вам конструктор ?
Посмотрите сам текст запроса.. ну и своё допилите.
12 GROOVY
 
10.06.16
13:07
https://ru.wikipedia.org/wiki/Конкатенация
13 Ly_Alena
 
10.06.16
13:08
(11) Слишком много подстановок. (12) Да, посмотрела уже что такое.
14 organizm
 
10.06.16
13:08
(10) в общем-то и в программирование то же...
15 Ёпрст
 
10.06.16
13:10
(13) и ?
Конструктор то зачем ?
16 Мыш
 
10.06.16
13:11
Гусары, прекращайте. Иди борщ доваривайте )))
17 Ёпрст
 
10.06.16
13:11
Если там динамически собираемый текст запроса, то это всего лишь погоня за универсальностью.
18 Ly_Alena
 
10.06.16
13:18
Это понятно все.
Только мне нужно знать что значит символы в запросе
?(
19 Зая Бусечка
 
10.06.16
13:19
(18) В запросе у тебя этих символов нет
20 xaozai
 
10.06.16
13:20
(18)
а = ?(1 = 2, 3, 4);
Сообщить(а);//угадайте, что будет выведено
21 Ёпрст
 
10.06.16
13:21
(18)
Текст запроса - это всегда строка, если че..

У тебя просто текст запроса складывается из нескольких строк, разделенных " + ".. Вопрос со скобочкой - это оператор сравнения. Если выражение истинно, возвращает первый параметр, иначе - второй.
22 Arya Stark
 
10.06.16
13:22
Алена просто нажми конструктор и не слушай этих паразитов. он удалит все лишние строки в твоем запросе. потом нажми ОК
23 Ёпрст
 
10.06.16
13:22
На вот, почитай на ночь:

? (вычислить выражение по условию)
? (вычислить выражение по условию)
Синтаксис:
    ?(<Логическое выражение>, <Выражение 1>, <Выражение 2>)

Параметры:
    <Логическое выражение>
    Логическое выражение, результат вычисления которого определяет одно из результирующих выражений, которые будут вычислены. Если результат его вычисления Истина, то будет вычисляться <Выражение 1>. Если результат Ложь – то <Выражение 2>.

    <Выражение 1>
    Результирующее выражение, которое будет вычисляться, если результат логического выражения Истина.

    <Выражение 2>
    Результирующее выражение, которое будет вычисляться, если результат логического выражения Ложь.

Возвращаемое значение:
Результат вычисления одного из результирующих выражений.

Описание:
Позволяет вычислить одно из двух заданных выражений в зависимости от результата вычисления логического выражения.
24 Зая Бусечка
 
10.06.16
13:23
(23) Злой ты... Такие ужасы на ночь читать...
25 Arya Stark
 
10.06.16
13:24
алена даже кусок твоего текста из запроса - всегда в конструкторе приведет к ";". ДОВЕРЬСЯ КОНСТРУКТОРУ
26 xaozai
 
10.06.16
13:25
(20)
Зверь1 = "Ёж";
Зверь2 = "Хомяк";
Ответ = ?(Зверь1 = Зверь2, Зверь1 + " это " + Зверь2, Зверь1 + " это НЕ " + Зверь2);
Сообщить(Ответ);// )))
27 Arya Stark
 
10.06.16
13:26
ложь
28 Lama12
 
10.06.16
13:26
Как меня радует поколения 90х и позже. Чувствую буду всегда в цене :)
29 Arya Stark
 
10.06.16
13:29
(20) 1с ка и ее внутр компилятор - оптимизированный. он не будет вычислять функции в лодном условии - потому Эж это не Хомяк
30 xaozai
 
10.06.16
13:30
(22)

ТекстЗапросаДоИзмененияКонструктором = "Ёж" + " " + "Хомяк";
ТекстЗапросаПослеИзмененияКонструктором = "Ёж";
Ответ = ?(ТекстЗапросаДоИзменения = ТекстЗапросаПослеИзменения , "всё хорошо!", "спасите, помогите!");
Сообщить(Ответ);
31 Arya Stark
 
10.06.16
13:31
?(Ложь=Неопределено,1,0)
32 Arya Stark
 
10.06.16
13:32
надо быть ближе к 1с ности
33 xaozai
 
10.06.16
13:34
(31) Лучше так: ?(NULL = НЕОПРЕДЕЛЕНО, "Ненавижу 1С", "Всё хорошо ))");
34 Arya Stark
 
10.06.16
13:35
Сообщить (?(0=Неопределено,1,0)+(1=неопределено,1,0));
35 Arya Stark
 
10.06.16
13:36
NULL - присвзяывании таблиц и он не равен неопределено
36 Arya Stark
 
10.06.16
13:37
суммировать с нуллом - жестоко - получишь тоже нулл, но агрегатки - работают
37 Mikeware
 
10.06.16
13:45
(36) а если просуммировать Нулл и Неопределенно - на полученную сумму делить уже можно?
38 Arya Stark
 
10.06.16
14:09
(36) делить что? весь мир? разрушительный вы мой. нулл со всеми операциями кроме агрегатных дает нулл. разделить нулл на 0 - тоже нулл. н ато он и нулл. единственная функция кторой подлчиняется нулл - это проверка на нулл. и агрегатки типа итоговой суммы  - они обходят нулл