|
Соединить две даты в запросе | ☑ | ||
---|---|---|---|---|
0
Grand Жучара
24.12.13
✎
13:43
|
Задача следующая: В запросе есть две даты: Дата1 и Дата2. Нужно, чтобы они выводились в одном поле в следующем виде
"Дата1 - Дата2", если они различны "Дата1", если они совпадают без часов, минут, секунд. Пробовал через, ВЫРАЗИТЬ, пытался использовать функцию агрегатную функцию СоединитьСтроки. Может быть можно через пользовательское поле? |
|||
1
PR
24.12.13
✎
13:43
|
Никак.
|
|||
2
Лодырь
24.12.13
✎
13:44
|
(0) СКД? или чистый запрос?
|
|||
3
Ненавижу 1С
гуру
24.12.13
✎
13:45
|
(0) >>Может быть можно через пользовательское поле?
да |
|||
4
Wobland
24.12.13
✎
13:45
|
спорим, не нужно?
|
|||
5
Wobland
24.12.13
✎
13:45
|
(4) *в запросе
|
|||
6
olegves
24.12.13
✎
13:54
|
(0) а кто мешает 2 отдельных поля использовать? Или первое - это разность дат?
|
|||
7
Avganec
24.12.13
✎
13:54
|
(0) выбор в запросе и должно работать
|
|||
8
olegves
24.12.13
✎
13:56
|
(7) только если оба привести к строке, но это преблематично, поскольку в 1-м случае - число
|
|||
9
Wobland
24.12.13
✎
13:57
|
(8) а где ты взял число?
|
|||
10
Maxus43
24.12.13
✎
13:58
|
ничо не понял. В запросах : РазностьДат спёрли? И НачалоПериода тоже спёрли? и ДобавитьКДате тоже спёрли?
|
|||
11
selenat
24.12.13
✎
14:00
|
(10) очевидно урезанный вариант платформы для бедных областей. Сильно урезанный.
|
|||
12
Grand Жучара
24.12.13
✎
14:06
|
(2) СКД, если в чистом виде нельзя
(3) Как?
(6)(10) Никто не мешает. Пожелание пользователя: видеть не Дата1 Дата2 25.06.2013 30.06.2013 15.10.2013 15.10.2013 а: Период 25.06.2013 - 30.06.2013 15.10.2013 (7) ВЫБОР то работает, а вот как две даты склеить в запросе, да чтоб еще и без часов, минут, секунд? |
|||
13
Fragster
гуру
24.12.13
✎
14:08
|
выражение представления
|
|||
14
Fragster
гуру
24.12.13
✎
14:08
|
как вариант попробовать Представление() заюзать
|
|||
15
samozvanec
24.12.13
✎
14:14
|
все не читал. выбор когда тогда предлагали?
|
|||
16
Grand Жучара
24.12.13
✎
14:16
|
(14) Ругается, пишет неверные параметры "+", если писать:
Вот описание функции, которая казалось бы то что нужно! Но никак не пойму как ее используют) СоединитьСтроки (JoinStrings) Предназначена для объединения строк в одну строку. Синтаксис: СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок) Параметры: Значение - выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы; РазделительЭлементов - строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк; РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию "; ". Пример: СоединитьСтроки(ТаблицаЗначений(НомерТелефона, Адрес)); |
|||
17
1Сергей
24.12.13
✎
14:17
|
(14) не взлетит Представление() - возвращает "не совсем" строку :)
|
|||
18
Wobland
24.12.13
✎
14:18
|
(16) попробуй прочитать это что ли..
|
|||
19
Fragster
гуру
24.12.13
✎
14:20
|
(17) а я и не говорю юзать его в запросе. я говорю про выражение представления
|
|||
20
Maxus43
24.12.13
✎
14:23
|
я за запрос, всё там можносделать сразу. СКД конечно предоставляет другие пути
|
|||
21
Wobland
24.12.13
✎
14:23
|
(20) научи
|
|||
22
Maxus43
24.12.13
✎
14:25
|
ДобавитьКДате(это для дата1-дата2) + РазностьДат(это количество дней для добавить к дате) + НачалоПериода (это для без часов-минут)
|
|||
23
MadHead
24.12.13
✎
14:25
|
на сколько я знаю, в запросе не получится преобразовать дату в строку. Когда-то видел через ж вариант.
|
|||
24
MadHead
24.12.13
✎
14:26
|
(22) так автор судя по всему хочет преобразовать даты в строку и провести контантенацию строк
|
|||
25
Maxus43
24.12.13
✎
14:28
|
(24) он хочет неправильно просто, всё решается датами
|
|||
26
Пеппи
24.12.13
✎
14:28
|
тогда уж через вычисляемое поле чтоли попробовать, но я хз :)
|
|||
27
Maxus43
24.12.13
✎
14:30
|
стоп, он хочет просто выводить их? да, не читатель чукча, я думал реально вычитать из даты1 хочет дату2 :)
|
|||
28
ЧеловекДуши
24.12.13
✎
14:37
|
(0) Зачем? Зачем именно вместе и одну строку? :)
|
|||
29
Fragster
гуру
24.12.13
✎
14:38
|
(28) человек делает представление периода
|
|||
30
ЧеловекДуши
24.12.13
✎
14:39
|
+(0)Так и выводи две даты в одну колонку :)
|
|||
31
Fragster
гуру
24.12.13
✎
14:39
|
я бы даже сказал ПредставлениеПериода
|
|||
32
ЧеловекДуши
24.12.13
✎
14:40
|
(29) Ага, увидел :)
Но безумные попытки все сунуть через запрос, как то бредовые... Пользователь все ровно увидит только печатную форму, а не запрос :) |
|||
33
mickey1cx
24.12.13
✎
14:59
|
Если СКД, добавляй вычисляемое поле:
Выбор Когда Дата1 = Дата2 Тогда Формат(Дата1, "ДЛФ=Д") Иначе Формат(Дата1, "ДЛФ=Д") + " - " + Формат(Дата2, "ДЛФ=Д") Конец |
|||
34
bubuh
24.12.13
✎
15:05
|
По идее в запросе допускается контактация строк
посмотрите в сторону Выразить(Дата1 как строка(8))+" - "+Выразить(Дата2 как строка(8)) |
|||
35
PR
24.12.13
✎
15:06
|
(34) По идее не знаешь, не советуй.
|
|||
36
bubuh
24.12.13
✎
15:06
|
строка(10)
|
|||
37
Пеппи
24.12.13
✎
15:07
|
(36) в запросе дату в строку? Никак (
|
|||
38
PR
24.12.13
✎
15:08
|
(37) Только разве через дикий ВЫБОР.
|
|||
39
olegves
24.12.13
✎
15:09
|
(33) только для Дата1 = Дата2 надо добавить НачалоДня
|
|||
40
Пеппи
24.12.13
✎
15:09
|
(38) а вычисляемое поле не сойдет чтоли в СКД ?
|
|||
41
bolobol
24.12.13
✎
15:15
|
Первый столбец: всегда дата
Второй столбец: неопределено, когда даты равны, иначе " - " Третий столбец: неопределено, когда даты равны, иначе вторая дата. Всё просто! Талант +4 )) |
|||
42
bubuh
24.12.13
✎
15:22
|
Сама по себе задача преобразования даты в строку показалась мне не травиальной, вот что у меня получилось, если навернуть туда еще контактацию и условие равности дат получится вобще сложно.
ВЫБРАТЬ ВЫБОР КОГДА д.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА " " КОГДА ДЕНЬ(д.Дата) = 1 ТОГДА "01" КОГДА ДЕНЬ(д.Дата) = 2 ТОГДА "02" КОГДА ДЕНЬ(д.Дата) = 3 ТОГДА "03" КОГДА ДЕНЬ(д.Дата) = 4 ТОГДА "04" КОГДА ДЕНЬ(д.Дата) = 5 ТОГДА "05" КОГДА ДЕНЬ(д.Дата) = 6 ТОГДА "06" КОГДА ДЕНЬ(д.Дата) = 7 ТОГДА "07" КОГДА ДЕНЬ(д.Дата) = 8 ТОГДА "08" КОГДА ДЕНЬ(д.Дата) = 9 ТОГДА "09" КОГДА ДЕНЬ(д.Дата) = 10 ТОГДА "10" КОГДА ДЕНЬ(д.Дата) = 11 ТОГДА "11" КОГДА ДЕНЬ(д.Дата) = 12 ТОГДА "12" КОГДА ДЕНЬ(д.Дата) = 13 ТОГДА "13" КОГДА ДЕНЬ(д.Дата) = 14 ТОГДА "14" КОГДА ДЕНЬ(д.Дата) = 15 ТОГДА "15" КОГДА ДЕНЬ(д.Дата) = 16 ТОГДА "16" КОГДА ДЕНЬ(д.Дата) = 17 ТОГДА "17" КОГДА ДЕНЬ(д.Дата) = 18 ТОГДА "18" КОГДА ДЕНЬ(д.Дата) = 19 ТОГДА "19" КОГДА ДЕНЬ(д.Дата) = 20 ТОГДА "20" КОГДА ДЕНЬ(д.Дата) = 21 ТОГДА "21" КОГДА ДЕНЬ(д.Дата) = 22 ТОГДА "22" КОГДА ДЕНЬ(д.Дата) = 23 ТОГДА "23" КОГДА ДЕНЬ(д.Дата) = 24 ТОГДА "24" КОГДА ДЕНЬ(д.Дата) = 25 ТОГДА "25" КОГДА ДЕНЬ(д.Дата) = 26 ТОГДА "26" КОГДА ДЕНЬ(д.Дата) = 27 ТОГДА "27" КОГДА ДЕНЬ(д.Дата) = 28 ТОГДА "28" КОГДА ДЕНЬ(д.Дата) = 29 ТОГДА "29" КОГДА ДЕНЬ(д.Дата) = 30 ТОГДА "30" КОГДА ДЕНЬ(д.Дата) = 31 ТОГДА "31" КОНЕЦ + "." + ВЫБОР КОГДА д.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА " " КОГДА МЕСЯЦ(д.Дата) = 1 ТОГДА "01" КОГДА МЕСЯЦ(д.Дата) = 2 ТОГДА "02" КОГДА МЕСЯЦ(д.Дата) = 3 ТОГДА "03" КОГДА МЕСЯЦ(д.Дата) = 4 ТОГДА "04" КОГДА МЕСЯЦ(д.Дата) = 5 ТОГДА "05" КОГДА МЕСЯЦ(д.Дата) = 6 ТОГДА "06" КОГДА МЕСЯЦ(д.Дата) = 7 ТОГДА "07" КОГДА МЕСЯЦ(д.Дата) = 8 ТОГДА "08" КОГДА МЕСЯЦ(д.Дата) = 9 ТОГДА "09" КОГДА МЕСЯЦ(д.Дата) = 10 ТОГДА "10" КОГДА МЕСЯЦ(д.Дата) = 11 ТОГДА "11" КОГДА МЕСЯЦ(д.Дата) = 12 ТОГДА "12" КОНЕЦ + "." + ВЫБОР КОГДА д.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА " " КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ = 18 ТОГДА "18" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ = 19 ТОГДА "19" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ = 20 ТОГДА "20" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ = 21 ТОГДА "21" ИНАЧЕ "" КОНЕЦ + ВЫБОР КОГДА д.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА " " КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 0 ТОГДА "0" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 1 ТОГДА "1" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 2 ТОГДА "2" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 3 ТОГДА "3" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 4 ТОГДА "4" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 5 ТОГДА "5" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 6 ТОГДА "6" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 7 ТОГДА "7" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 8 ТОГДА "8" КОГДА ВЫБОР КОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) > (ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 ТОГДА (ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ((ГОД(д.Дата) / 100 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) > ГОД(д.Дата) / 100 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 100 КАК ЧИСЛО(3, 0)) КОНЕЦ) * 10 КАК ЧИСЛО(2, 0)) КОНЕЦ = 9 ТОГДА "9" ИНАЧЕ "" КОНЕЦ + ВЫБОР КОГДА д.Дата = ДАТАВРЕМЯ(1, 1, 1) ТОГДА " " КОГДА (ГОД(д.Дата) / 10 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) > ГОД(д.Дата) / 10 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0)) КОНЕЦ) * 10 = 0 ТОГДА "0" КОГДА (ГОД(д.Дата) / 10 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) > ГОД(д.Дата) / 10 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0)) КОНЕЦ) * 10 = 1 ТОГДА "1" КОГДА (ГОД(д.Дата) / 10 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) > ГОД(д.Дата) / 10 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0)) КОНЕЦ) * 10 = 2 ТОГДА "2" КОГДА (ГОД(д.Дата) / 10 - ВЫБОР КОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) > ГОД(д.Дата) / 10 ТОГДА (ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0))) - 1 ИНАЧЕ ВЫРАЗИТЬ(ГОД(д.Дата) / 10 КАК ЧИСЛО(4, 0)) КОНЕЦ) * 10 = |
|||
43
dj_serega
24.12.13
✎
15:23
|
Ну ты мочишь!
|
|||
44
bolobol
24.12.13
✎
15:24
|
Выносливость +20, не иначе))
|
|||
45
bubuh
24.12.13
✎
15:27
|
А что, если что то очень надо, то можно.
|
|||
46
МихаилМ
24.12.13
✎
15:30
|
(42)
прогрммисты от сохи - это страшно. |
|||
47
Grand Жучара
24.12.13
✎
15:40
|
Господа! Вопрос закрыт
Про результатам обсуждения постановляется, что mickey1cx - красавчик надо завести пользовательское поле типа выражение и в нем прописать и для детальных, и для итоговых записей:
|
|||
48
Grand Жучара
24.12.13
✎
15:41
|
(42) Святые угодники..
|
|||
49
Wobland
24.12.13
✎
16:10
|
(47) можешь не благодарить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |