![]() |
![]() |
|
Как в запросе организовать переменную=константа? Ø |
☑ | ||
---|---|---|---|---|
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) Имхо, с "Нету" не получится...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |