Имя: Пароль:
1C
 
СКД выражение в вычисляемых полях
0 pmb
 
09.09.10
11:45
Вроде для вычисляемых полей ВЫРАЖЕНИЕ описывается на языке 1С, а не языке запросов. Есть ли там какие нибудь ограничения?

В запросе есть Поле - Поле1, не могу в поле выражение написать следующий код:

?(Поле1 = 1, 1, 2)

где ошибка?
1 avtodor
 
09.09.10
11:47
в запросе есть конструкция
ВЫБОР
КОГТА
ТОГДА

как-то так
2 shuhard
 
09.09.10
11:47
(0) [Вроде для вычисляемых полей ВЫРАЖЕНИЕ описывается на языке 1С,]
нет
3 avtodor
 
09.09.10
11:48
могу дать пример со своего запроса, если хочешь
4 pmb
 
09.09.10
11:49
(2) тогда почему прокатывает выражение Лев(Поле2, 2)? это же не язык запросов
5 shuhard
 
09.09.10
11:50
(4) прочесть в хэлпе описание расширения языка запросов СКД религия не позволяет ?
6 avtodor
 
09.09.10
11:51
(4) не знаю.
Вот пример из моего запроса, если я правильно понял что тебе нужно

ВЫБРАТЬ
КАК ЦенаФ,
КАК БрусЛага,
ВЫБОР
КОГДА ВложенныйЗапрос.СтатьяЗатрат В (&СЗ)
ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * СпецификацииНоменклатурыИсходныеКомплектующие.Количество * СпецификацииНоменклатурыИсходныеКомплектующие.ЕдиницаИзмерения.Коэффициент * &Объем
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена * СпецификацииНоменклатурыИсходныеКомплектующие.Количество * СпецификацииНоменклатурыИсходныеКомплектующие.ЕдиницаИзмерения.Коэффициент
КОНЕЦ КАК ЦенаМ,
0 КАК ЦенаЭ,
7 pmb
 
09.09.10
11:55
(5) прочитал бы, но а 8.1 не могу найти в хелпе
8 shuhard
 
09.09.10
11:56
(7) Встроенные функции языка выражений системы компоновки данных
9 pmb
 
09.09.10
12:06
(8) ну нет такого в синтаксис-попщнике
10 IronDemon
 
09.09.10
12:18
(9) F1
11 IronDemon
 
09.09.10
12:20
file:///C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm#_Toc176167738
12 pmb
 
09.09.10
12:26
(11) спасибо, нашел :)
13 el-gamberro
 
09.09.10
12:34
(11) не нашел там Лев()
14 IronDemon
 
09.09.10
12:37
(13) Разве кто-то обещал?
15 el-gamberro
 
09.09.10
12:38
(14) см (4) говорит что у него прокатывает.
16 magosh
 
09.09.10
12:40
(0) "Нельзя сравнивать поля неограниченной длины и поля несовместимых типов"
Посмоти как у тебя формируется в запросе Поле1. Попробуй добавить
естьNull(Выразить(<то что выбрал> как число), 0)
17 magosh
 
09.09.10
12:44
(16) Вернее   Выразить(естьNull(<то что выбрал>, 0) как число)
18 pmb
 
09.09.10
12:47
(14) В конструкторе в выражении вычисляемого поля можно написать Лев()
При выполнении отчета появляется ошибка
19 shuhard
 
09.09.10
12:51
(18) написать можно любую ху.йню
20 Rabajaba
 
09.09.10
12:58
(0) Можно в вычислимых полях даже вызывать свои методы, а не только язык выражений.
21 shuhard
 
09.09.10
13:00
(20) ты готов вызвать Лев без общего модуля ?
код в студию
22 Rabajaba
 
09.09.10
13:01
(21) а кто сказал, что без общего модуля?
Внимательнее надо быть - я писал "_вызывать_ свои методы", а не реализовывать.
Основная теорема систематики: Новые системы плодят новые проблемы.