Имя: Пароль:
1C
 
Как в запросе организовать переменную=константа?
Ø
0 WalterN
 
14.03.06
10:30
Как можно в запросе организовать переменную, заполняемую значением-константой, а не указателем на конкретный реквизит (измерение, ресурс)?
1 Him
 
14.03.06
10:32
А смысл ?
2 Дурочка 1С ®
 
14.03.06
10:33
Сделать ее внешней ...
3 Uho
 
14.03.06
10:54
Если тебе нужно условие, то
...
|Условие(МояПеременная=Константа.НужнаяМнеКонстанта);
....
  
Или я не понял, что тебе нужно?
4 WalterN
 
14.03.06
11:02
Смысл в том, чтобы использовать существующий алгоритм обработки запроса без его анализа и изменения. Ситуация: была рабочая процедура с запросом и его обработкой. Из конфигурации удалили реквизит, а в запросе и последующей обработке результата он остался. Хотелось бы заполнить переменную, которая ранее заполнялась удалённым реквизитом, значением-константой.
Синтаксис запроса:
ИмяПеременной = ОписаниеПеременной[, ОписаниеПеременной...];
ИмяПеременной - имя объявляемой внутренней переменной;
ОписаниеПеременной - указывает на конкретный реквизит документа, справочника, измерение или ресурс регистра.
Т.е. напрямую переменной запроса присвоить значение-константу нельзя.
5 WalterN
 
14.03.06
11:05
Мне нужно, чтобы сработала конструкция:
|СтатусНеРезидента = 0;
6 Uho
 
14.03.06
11:17
(5) Сделай одноименную функцию
  
|Функция СтатусНеРезидента=Сумма(0);
7 КонецЦикла
 
14.03.06
11:24
2(4) Не проще ли исправить запрос? Если удалили реквизит - в любом случае - с чем его сравнивать?
Напиши БывшаяКонстанта = 0 перед запросом или что-то еще, а потом простое условие как в (3)
8 Fox100M
 
14.03.06
11:33
(0) Проще исправить запрос, удалив оттуда етот реквизит, а в обработке запроса подставить вместо него значение константы. ИМХО, лучше создать в форме диалога поле и заполнить его из константы, значение брать из этого реквизита диалога.
9 Uho
 
14.03.06
11:41
(7,8) Имхо, у (0) там по всему коду (+в таблицах) потом встречается Запрос.СтатусНеРезидента, и он хочет поставить что-то типа заглушки
10 WalterN
 
14.03.06
11:44
Запрос исправить можно, но я не хочу делать дальнейший анализ использования переменной, т.к. в она используется во многих местах, а значение которое для неё должно быть я знаю.
Вариант ответа Uho интересен, а как это сделать для строки, т.е. |СтатусНеРезидента = "Нету";
11 КонецЦикла
 
14.03.06
11:50
2(9) По мне так лучше в ячейке писать готовое выражение (быстрее будет), просто Статус
А функции эти - дополнительные тормоза
12 Fox100M
 
14.03.06
11:50
А поиск по тексту для чего? Ищешь "Запрос.СтатусНеРезидента" f3 - ctrl-v (вставка другого выражения). Делов то на 2 минуты без всякого анализа.
13 Дурочка 1С ®
 
14.03.06
11:56
Например, для типовой бухгалтерии можно попробовать так:
 
|СтатусНеРезидента=Справочник.Цены.Код;
14 WalterN
 
14.03.06
12:04
Уважаемый Fox100M, если было бы проще сделать поиск и заменить значения, я бы так и поступил. Если абстрагироваться от конкретной ситуации, то хочется получить универсальное решение.
15 Uho
 
14.03.06
12:05
(10) Имхо, с "Нету" не получится...
Ошибка? Это не ошибка, это системная функция.