0
skaparez
28.09.12
✎
17:57
|
Может кому нибудь пригодится, извращение 80-лвл преобразование параметр число от 1 до 999 на выходе тоже но в строке:
ВЫБРАТЬ
ВЫБОР
КОГДА &Параметр <= 9
ТОГДА ВТЦифры.Поле1
КОГДА &Параметр > 9
И &Параметр <= 99
ТОГДА ВТЦифры.Поле1 + ВТДоп.Поле1
ИНАЧЕ ВТЦифры.Поле1 + ВТДоп.Поле1 + ВТДопДоп.Поле1
КОНЕЦ КАК Поле1
ИЗ
(ВЫБРАТЬ
"0" КАК Поле1,
0 КАК Поле2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"1",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"2",
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"3",
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"4",
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"5",
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"6",
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"7",
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"8",
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"9",
9) КАК ВТЦифры
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВЫБОР
КОГДА &Параметр <= 9
ТОГДА ВТЦифры.Поле1
КОГДА &Параметр > 9
И &Параметр <= 99
ТОГДА ВТЦифры.Поле1
ИНАЧЕ ВТЦифры.Поле1
КОНЕЦ КАК Поле1
ИЗ
(ВЫБРАТЬ
"0" КАК Поле1,
0 КАК Поле2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"1",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"2",
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"3",
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"4",
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"5",
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"6",
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"7",
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"8",
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"9",
9) КАК ВТЦифры
ГДЕ
ВЫБОР
КОГДА &Параметр <= 9
ТОГДА ВТЦифры.Поле2 = &Параметр
КОГДА &Параметр > 9
И &Параметр <= 99
ТОГДА ВТЦифры.Поле2 = &Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) * 10 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))
КОНЕЦ * 10
ИНАЧЕ ВТЦифры.Поле2 = (&Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ * 100 - (&Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) * 10 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))
КОНЕЦ * 10)) / 10
КОНЕЦ) КАК ВТДоп
ПО (ИСТИНА)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ВЫБОР
КОГДА &Параметр <= 9
ТОГДА ВТЦифры.Поле1
КОГДА &Параметр > 9
И &Параметр <= 99
ТОГДА ВТЦифры.Поле1
ИНАЧЕ ВТЦифры.Поле1
КОНЕЦ КАК Поле1
ИЗ
(ВЫБРАТЬ
"0" КАК Поле1,
0 КАК Поле2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"1",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"2",
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"3",
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"4",
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"5",
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"6",
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"7",
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"8",
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"9",
9) КАК ВТЦифры
ГДЕ
ВЫБОР
КОГДА &Параметр <= 9
ТОГДА ВТЦифры.Поле2 = &Параметр
КОГДА &Параметр > 9
И &Параметр <= 99
ТОГДА ВТЦифры.Поле2 = &Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) * 10 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))
КОНЕЦ * 10
ИНАЧЕ ВТЦифры.Поле2 = &Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ((&Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ * 100) / 10 КАК ЧИСЛО(2, 0))) * 10 > &Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ * 100
ТОГДА (ВЫРАЗИТЬ((&Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ * 100) / 10 КАК ЧИСЛО(2, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ((&Параметр - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ * 100) / 10 КАК ЧИСЛО(2, 0))
КОНЕЦ * 10 - ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ * 100
КОНЕЦ) КАК ВТДопДоп
ПО (ИСТИНА)
ГДЕ
ВЫБОР
КОГДА &Параметр <= 9
ТОГДА ВТЦифры.Поле2 = &Параметр
КОГДА &Параметр > 9
И &Параметр <= 99
ТОГДА ВТЦифры.Поле2 = ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) * 10 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 10 КАК ЧИСЛО(2, 0))
КОНЕЦ
ИНАЧЕ ВТЦифры.Поле2 = ВЫБОР
КОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) * 100 > &Параметр
ТОГДА (ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(&Параметр / 100 КАК ЧИСЛО(3, 0))
КОНЕЦ
КОНЕЦ
|
|