|
Конструктор запроса ругается, никак не пойму его | ☑ | ||
---|---|---|---|---|
0
beholder13
10.12.12
✎
16:31
|
Сабж:
ВЫБОР КОГДА ТоварыНаСкладахОбороты.Период is null ТОГДА "Ранее даты начала отчета" КОГДА ГОД(ТоварыНаСкладахОбороты.Период) = ГОД(&КонецПериода) ТОГДА ВЫРАЗИТЬ(МЕСЯЦ(&КонецПериода)-МЕСЯЦ(ТоварыНаСкладахОбороты.Период) КАК СТРОКА)+" мес. назад" ИНАЧЕ (ГОД(&КонецПериода)-ГОД(ТоварыНаСкладахОбороты.Период))+" г. "+ВЫРАЗИТЬ(МЕСЯЦ(&КонецПериода)-МЕСЯЦ(ТоварыНаСкладахОбороты.Период) КАК СТРОКА)+" мес. назад" КОНЕЦ Не ест то, что после слова "иначе", говорит "Неверные параметры '+'". И при этом с радостью кушает тело после второго "когда"... Функция ГОД() чем-то по своей сути радикально отличается от функции МЕСЯЦ()? |
|||
1
NcSteel
10.12.12
✎
16:32
|
+ " г. "+
К числу строку пытаешся прибавить. |
|||
2
France
10.12.12
✎
16:32
|
а разве конкатенация работает?
|
|||
3
shuhard
10.12.12
✎
16:33
|
(0)[(ГОД(&КонецПериода)-ГОД(ТоварыНаСкладахОбороты.Период))+" г. "+ВЫРАЗИТЬ(МЕСЯЦ(&КонецПериода)-МЕСЯЦ(ТоварыНаСкладахОбороты.Период) КАК СТРОКА)+" мес. назад" ]
в 8.4 уже работает такая структура ? |
|||
4
mikecool
10.12.12
✎
16:33
|
(0) нежнее с ним надо, нежнее
|
|||
5
mzelensky
10.12.12
✎
16:33
|
(0) + второй "Конец" забыл.
|
|||
6
beholder13
10.12.12
✎
16:33
|
(3) Ща попробую оО но я на 8.2 =)
|
|||
7
GROOVY
10.12.12
✎
16:33
|
(2) Конкатенация в запросах работает. Но только, естественно, со строками, неявное преобразование, как в объектной модели недопустимо.
|
|||
8
beholder13
10.12.12
✎
16:34
|
(3) не, не знает такого
|
|||
9
beholder13
10.12.12
✎
16:35
|
(7) Так а что же он не ругается на ТОГДА ВЫРАЗИТЬ(МЕСЯЦ(&КонецПериода)-МЕСЯЦ(ТоварыНаСкладахОбороты.Период) КАК СТРОКА)+" мес. назад" ??
|
|||
10
France
10.12.12
✎
16:35
|
(7) та, та, спасибо.... перепроверил))..
|
|||
11
mzelensky
10.12.12
✎
16:35
|
(7) РАЗВЕ???
Т.е. если я возьму число, сделаю через выразить в строку и потом + "ПРИВЕТ", то он схавает??? раньше точно не хавало |
|||
12
beholder13
10.12.12
✎
16:36
|
Если ВЫРАЗИТЬ(<> КАК СТРОКА), пишет "несовместимые типы "ВЫРАЗИТЬ"
|
|||
13
Defender aka LINN
10.12.12
✎
16:37
|
(11) Ну ты для начала сделай число через выразить в строку, потом приходи.
|
|||
14
GLazNik
10.12.12
✎
16:37
|
(11)
"число, сделаю через выразить в строку " не взлетит |
|||
15
beholder13
10.12.12
✎
16:37
|
(5) мож еще брейки прописать, как в сишнике? хД
|
|||
16
ShoGUN
10.12.12
✎
16:37
|
(11)(12) В 1С-ных запросах нет преобразования типов, вам приснилось. Есть только приведение.
|
|||
17
beholder13
10.12.12
✎
16:39
|
И все же, могу ли я как-то из разниц дат получить количество месяцев и вывести строкой из запроса?
|
|||
18
dmpl
10.12.12
✎
16:39
|
(9) Он просто до этого места еще не дошел.
|
|||
19
beholder13
10.12.12
✎
16:40
|
(18) как он может не дойти, если он по стеку проверяет сначала условия, и только при опустошении выходит на "иначе"?
|
|||
20
Kreont
10.12.12
✎
16:41
|
(17) Так?
РАЗНОСТЬДАТ(Дата1, Дата2, "МЕСЯЦ") |
|||
21
GLazNik
10.12.12
✎
16:41
|
(17) как-то возможно и можно.... но это как-то будет не очень красивым решением. Что мешает преобразовать значение вне запроса?
|
|||
22
ShoGUN
10.12.12
✎
16:41
|
(17) РАЗНОСТЬДАТ
|
|||
23
Defender aka LINN
10.12.12
✎
16:41
|
(17) "из разниц дат получить количество месяцев" - да.
"вывести строкой из запроса" - нет. Ну и "количество месяцев" тоже величина условная. Сколко месяцев разницы между 30.11 и 01.12? |
|||
24
beholder13
10.12.12
✎
16:42
|
(20) да, сам тока вспомнил, не успел дописать хД
|
|||
25
ShoGUN
10.12.12
✎
16:42
|
(20) Без кавычек МЕСЯЦ.
|
|||
26
beholder13
10.12.12
✎
16:43
|
(23) номинально - это два разных месяца, тем более у запроса не будет юза на таких малых калибрах
|
|||
27
PCcomCat
10.12.12
✎
16:44
|
Кавычки двойные ставь!!!
"" мес. назад"" |
|||
28
dmpl
10.12.12
✎
16:44
|
(19) Дык проверь - убери ИНАЧЕ.
|
|||
29
beholder13
10.12.12
✎
16:44
|
Всем спасибо большое, затупил, надо больше спать =)
|
|||
30
beholder13
10.12.12
✎
16:44
|
(27) тише, тише, это в конструкторе, не кодом)
|
|||
31
beholder13
10.12.12
✎
16:46
|
(28) блин... 1с - страна чудес, сел, извините, поспать (ага, поспать), ремень исчез... умеет же вогнать в когнитивный диссонанс))
|
|||
32
Defender aka LINN
10.12.12
✎
16:47
|
(26) Ну хорошо. Между 01.11.2011 и 01.12.2012? :)
|
|||
33
Defender aka LINN
10.12.12
✎
16:47
|
+(32) т.е. между 30.11.2011 и 01.12.2012, конечено же :)
|
|||
34
GROOVY
10.12.12
✎
16:48
|
Еще раз про конкатенацию в запросах. Конкатенация работает только со строками, то бишь "ААА" + "БББ" или конкатенация любых строковых реквизитов будет работать на ура.
Преобразование типов значений в запросах не работает. Функция ВЫРАЗИТЬ приводит к значению на этапе пост обработки запроса, таки образом не удастся к дате или числу привязать строку ни в каком виде. Только строка+строка. |
|||
35
beholder13
10.12.12
✎
16:48
|
(32) ну 13 же, или Вы, извините, первых курсов втузов не кончали? оО
|
|||
36
beholder13
10.12.12
✎
16:49
|
(34) плакаю... ='(((
|
|||
37
beholder13
10.12.12
✎
16:50
|
(33) транкуем дни, и остается 12 + 1 оО
|
|||
38
GLazNik
10.12.12
✎
16:51
|
(36) почему нельзя преобразование сделать после выполнения запроса?
На крайний случай сделать временную таблицу с числами от 0 до (сколько надо) и представлением этого числа. джойнить свои данные с этой таблицей и получать представление. |
|||
39
shuhard
10.12.12
✎
16:51
|
(34) выдыхай =)
|
|||
40
beholder13
10.12.12
✎
16:52
|
(33) Особенно когда речь идет, например, не о ноябре и декабре, а о декабре и январе, то конечно это два совершенно разных месяца - в одном период закрывается, а в другом еще аццкий юзверь робко прячет тело мертвого порядка проведения документов
|
|||
41
beholder13
10.12.12
✎
16:53
|
(38) оно у меня прямым курсом в СКД уходит(
|
|||
42
beholder13
10.12.12
✎
16:54
|
ладно, поставлю -1 на ниль и выведу число((( а так хотелось быть плохим парнем и побороть систему!
|
|||
43
France
10.12.12
✎
16:55
|
(39) а чо "выдыхай??
|
|||
44
Sammo
10.12.12
✎
16:57
|
(41) В СКД пользовательские функции
|
|||
45
beholder13
10.12.12
✎
17:00
|
(44) вот потому и не хочу туда выводить, но придется
|
|||
46
France
10.12.12
✎
17:04
|
вот эта хрень "ВЫРАЗИТЬ(МЕСЯЦ(&КонецПериода)-МЕСЯЦ(ТоварыНаСкладахОбороты.Период) КАК СТРОКА)" - работает????
|
|||
47
beholder13
10.12.12
✎
17:06
|
(46) Нет)))
|
|||
48
beholder13
10.12.12
✎
17:07
|
работает вот такое
ВЫБОР КОГДА ТоварыНаСкладахОбороты.Период ЕСТЬ NULL ТОГДА -1 ИНАЧЕ РАЗНОСТЬДАТ(ТоварыНаСкладахОбороты.Период, &КонецПериода, МЕСЯЦ) КОНЕЦ |
|||
49
France
10.12.12
✎
17:07
|
а чо тогда на GROOVY порчу наводили??
|
|||
50
beholder13
10.12.12
✎
17:08
|
(49) только лишь на платформу и ее разрабов, не более того)))
|
|||
51
France
10.12.12
✎
17:10
|
тада, если тебе нужно писать "мес.назад" - левосоединения сделай)) через конструкцию Когда Выбор))
|
|||
52
beholder13
10.12.12
✎
17:12
|
(51) чтоб у мну там все дублями покрылось, как лицо юнца угрями? оО
|
|||
53
beholder13
10.12.12
✎
17:12
|
ВЫБОР
КОГДА ТоварыНаСкладахОбороты.Период ЕСТЬ NULL ТОГДА РАЗНОСТЬДАТ(ТоварыНаСкладахОбороты.Период, &КонецПериода, МЕСЯЦ)+1 ИНАЧЕ РАЗНОСТЬДАТ(ТоварыНаСкладахОбороты.Период, &КонецПериода, МЕСЯЦ) КОНЕЦ Муууууууууууухаххахахаххаааааааааххх |
|||
54
France
10.12.12
✎
17:13
|
правиль сготовь, и не будет угрей??))
|
|||
55
beholder13
10.12.12
✎
17:13
|
ой, не то
|
|||
56
France
10.12.12
✎
17:13
|
Муууууууууууухаххахахаххаааааааааххх (с), beholder13
|
|||
57
beholder13
10.12.12
✎
17:13
|
ВЫБОР
КОГДА ТоварыНаСкладахОбороты.Период ЕСТЬ NULL ТОГДА РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ)+1 ИНАЧЕ РАЗНОСТЬДАТ(ТоварыНаСкладахОбороты.Период, &КонецПериода, МЕСЯЦ) КОНЕЦ Вот он аццкий мелочь))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |